text: (function(root,factory){if(typeof define==="function"&&define.amd){define([],factory)}else if(typeof exports==="object"){module.exports=factory()}else{root.alasql=factory()}})(this,function(){var alasql=function(sql,params,cb,scope){if(typeof importScripts!="function"&&alasql.webworker){var id=alasql.lastid++;alasql.buffer[id]=cb;alasql.webworker.postMessage({id:id,sql:sql,params:params})}else{if(arguments.length==0){return new yy.Select({columns:[new yy.Column({columnid:"*"})],from:[new yy.ParamValue({param:0})]})}else if(arguments.length==1&&typeof sql=="object"&&sql instanceof Array){var select=new yy.Select({columns:[new yy.Column({columnid:"*"})],from:[new yy.ParamValue({param:0})]});select.preparams=[sql];return select}else{if(typeof sql=="string"&&sql[0]=="#"&&typeof document=="object"){sql=document.querySelector(sql).textContent}else if(typeof sql=="object"&&sql instanceof HTMElement){sql=sql.textContent}else if(typeof sql=="function"){sql=sql.toString().slice(14,-3)}return alasql.exec(sql,params,cb,scope)}}};alasql.version="0.0.36";var parser=function(){var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,11],$V1=[1,6],$V2=[1,35],$V3=[1,61],$V4=[1,80],$V5=[1,70],$V6=[1,68],$V7=[1,78],$V8=[1,54],$V9=[1,57],$Va=[1,52],$Vb=[1,49],$Vc=[1,56],$Vd=[1,50],$Ve=[1,58],$Vf=[1,51],$Vg=[1,55],$Vh=[1,67],$Vi=[1,62],$Vj=[1,69],$Vk=[1,71],$Vl=[1,72],$Vm=[1,65],$Vn=[1,66],$Vo=[1,64],$Vp=[1,73],$Vq=[1,74],$Vr=[1,75],$Vs=[1,76],$Vt=[1,77],$Vu=[1,53],$Vv=[1,63],$Vw=[1,60],$Vx=[1,82],$Vy=[1,83],$Vz=[8,9,11,201],$VA=[8,9,11,201,205],$VB=[1,138],$VC=[1,139],$VD=[1,103],$VE=[1,114],$VF=[1,111],$VG=[1,110],$VH=[1,128],$VI=[1,124],$VJ=[1,125],$VK=[1,129],$VL=[1,130],$VM=[1,131],$VN=[1,132],$VO=[1,133],$VP=[1,134],$VQ=[1,135],$VR=[1,136],$VS=[1,137],$VT=[1,112],$VU=[1,113],$VV=[1,115],$VW=[1,116],$VX=[1,121],$VY=[1,122],$VZ=[1,117],$V_=[1,118],$V$=[1,119],$V01=[1,120],$V11=[1,123],$V21=[1,109],$V31=[1,108],$V41=[1,107],$V51=[1,127],$V61=[1,140],$V71=[1,151],$V81=[4,5],$V91=[8,9,11,65,97,124,125,135,136,137,138,144,201,205],$Va1=[1,167],$Vb1=[1,175],$Vc1=[1,174],$Vd1=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],$Ve1=[1,206],$Vf1=[1,199],$Vg1=[4,5,64,96,151,154,165,166,167,169,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,194,195,196,197,198,208,209,228,314,318],$Vh1=[2,74],$Vi1=[1,220],$Vj1=[4,5,64,75,78,79,88,96,151,154,165,166,167,169,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,194,195,196,197,198,208,209,228,314,318],$Vk1=[1,236],$Vl1=[1,232],$Vm1=[1,233],$Vn1=[1,234],$Vo1=[1,235],$Vp1=[1,237],$Vq1=[1,238],$Vr1=[1,239],$Vs1=[1,240],$Vt1=[1,241],$Vu1=[1,242],$Vv1=[1,243],$Vw1=[1,244],$Vx1=[1,245],$Vy1=[1,246],$Vz1=[1,247],$VA1=[1,248],$VB1=[1,249],$VC1=[1,250],$VD1=[1,252],$VE1=[1,253],$VF1=[1,255],$VG1=[1,254],$VH1=[1,256],$VI1=[1,257],$VJ1=[1,258],$VK1=[1,259],$VL1=[2,193],$VM1=[1,263],$VN1=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,191,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,246,250,258,263,274,275,278,279,291,292,294,295,299,301,303,304,309,311,312,320,322,328,330,331,333,334,335,336,337,339,342,343,355],$VO1=[2,251],$VP1=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,120,122,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,191,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,246,250,258,263,274,275,278,279,291,292,294,295,299,301,303,304,309,311,312,320,322,328,330,331,333,334,335,336,337,339,342,343,355],$VQ1=[1,271],$VR1=[1,281],$VS1=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,320,322,328,330,331,333,334,335,336,337,339,342,343,355],$VT1=[1,297],$VU1=[4,5,8,9,11,45,59,61,63,64,65,78,80,86,91,96,97,102,104,106,112,113,114,115,116,117,118,119,120,122,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,191,195,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,244,246,250,257,258,259,263,274,275,276,278,279,287,288,291,292,294,295,296,297,298,299,300,301,303,304,305,309,311,312,320,322,327,328,330,331,333,334,335,336,337,339,342,343,355],$VV1=[1,304],$VW1=[1,305],$VX1=[2,364],$VY1=[1,310],$VZ1=[8,9,11,61,201,205],$V_1=[2,416],$V$1=[1,321],$V02=[8,9,11,65,124,125,135,136,137,138,144,201,205],$V12=[8,9,11,61,65,102,104,112,113,114,115,116,117,118,119,120,122,124,125,135,136,137,138,144,201,205],$V22=[2,110],$V32=[1,349],$V42=[61,80],$V52=[8,9,11,61,65,191,201,205,228,246,258,274,275,278,279,291],$V62=[79,235,236],$V72=[1,414],$V82=[1,420],$V92=[1,421],$Va2=[1,431],$Vb2=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,206,207,208,209,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],$Vc2=[2,266],$Vd2=[1,438],$Ve2=[201,203,205],$Vf2=[61,322],$Vg2=[61,320,322],$Vh2=[1,445],$Vi2=[61,320],$Vj2=[4,5,96,190],$Vk2=[8,9,11,65,125,135,136,137,138,144,201,205],$Vl2=[8,9,11,65,91,97,124,125,135,136,137,138,144,201,205],$Vm2=[1,512],$Vn2=[8,9,11,61,65,91,97,124,125,135,136,137,138,144,201,205],$Vo2=[2,176],$Vp2=[1,514],$Vq2=[1,515],$Vr2=[8,9,11,61,65,91,97,124,125,135,136,137,138,144,149,150,201,205],$Vs2=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,206,207,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],$Vt2=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,201,203,204,205,206,207,208,209,210,211,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],$Vu2=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,214,215,216,217,218,219,220,221,222,223,226,227,231,232,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],$Vv2=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,227,231,232,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],$Vw2=[4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,191,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,246,250,258,263,274,275,278,279,291,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],$Vx2=[1,537],$Vy2=[61,65],$Vz2=[2,191],$VA2=[1,577],$VB2=[8,9,11,65,135,136,137,138,144,201,205],$VC2=[8,9,11,61,65,124,125,135,136,137,138,144,201,205],$VD2=[1,592],$VE2=[1,593],$VF2=[1,595],$VG2=[1,596],$VH2=[1,597],$VI2=[1,598],$VJ2=[1,599],$VK2=[1,600],$VL2=[1,601],$VM2=[1,602],$VN2=[1,606],$VO2=[1,617],$VP2=[8,9,11,61,124,201,203,205,355],$VQ2=[1,625],$VR2=[1,624],$VS2=[2,229],$VT2=[1,646],$VU2=[2,433],$VV2=[1,667],$VW2=[1,679],$VX2=[8,9,11,61,201,203,205,355],$VY2=[1,682],$VZ2=[8,9,11,61,65,102,104,112,113,114,115,116,117,118,119,124,125,135,136,137,138,144,201,205],$V_2=[8,9,11,65,135,136,137,144,201,205],$V$2=[8,9,11,65,102,104,112,113,114,115,116,117,118,119,124,125,135,136,137,138,144,201,205],$V03=[1,696],$V13=[1,698],$V23=[4,5,64,192,194,195,196,197],$V33=[8,9,11,201,203,205,355],$V43=[213,218],$V53=[1,738],$V63=[8,9,11,61,65,201,205],$V73=[1,754],$V83=[8,9,11,65,135,136,137,201,205],$V93=[1,773],$Va3=[1,774],$Vb3=[1,775],$Vc3=[8,9,11,65,102,104,112,113,114,115,116,117,118,119,120,122,124,125,135,136,137,138,144,201,205],$Vd3=[1,805],$Ve3=[1,818],$Vf3=[1,819],$Vg3=[1,817],$Vh3=[1,815],$Vi3=[1,821],$Vj3=[1,812],$Vk3=[1,813],$Vl3=[1,814],$Vm3=[1,816],$Vn3=[1,825],$Vo3=[1,830],$Vp3=[1,831],$Vq3=[1,832],$Vr3=[1,833],$Vs3=[78,86,274,275,276,278],$Vt3=[2,376],$Vu3=[1,838],$Vv3=[8,9,11,65,201,205],$Vw3=[1,851],$Vx3=[8,9,11,61,65,134,135,136,137,138,144,201,205],$Vy3=[1,868],$Vz3=[1,867],$VA3=[8,9,11,201,205,246,257,258,259],$VB3=[1,918],$VC3=[8,9,11,61,65,135,136,137,144,201,205],$VD3=[1,935];var parser={trace:function trace(){},yy:{},symbols_:{error:2,Literal:3,LITERAL:4,BRALITERAL:5,main:6,Statements:7,EOF:8,SEMICOLON:9,AStatement:10,GO:11,ExplainStatement:12,EXPLAIN:13,QUERY:14,PLAN:15,Statement:16,If:17,AlterTable:18,AttachDatabase:19,CreateDatabase:20,CreateIndex:21,CreateTable:22,CreateView:23,Declare:24,Delete:25,DetachDatabase:26,DropDatabase:27,DropIndex:28,DropTable:29,DropView:30,Insert:31,RenameTable:32,Select:33,Merge:34,WithSelect:35,ShowCreateTable:36,ShowColumns:37,ShowDatabases:38,ShowIndex:39,ShowTables:40,TruncateTable:41,BeginTransaction:42,CommitTransaction:43,RollbackTransaction:44,EndTransaction:45,UseDatabase:46,Update:47,Help:48,JavaScript:49,Source:50,Assert:51,While:52,Continue:53,Break:54,BeginEnd:55,Print:56,Require:57,SetVariable:58,WITH:59,WithTablesList:60,COMMA:61,WithTable:62,AS:63,LPAR:64,RPAR:65,SelectClause:66,IntoClause:67,FromClause:68,WhereClause:69,GroupClause:70,OrderClause:71,LimitClause:72,UnionClause:73,SelectModifier:74,DISTINCT:75,TopClause:76,ResultColumns:77,UNIQUE:78,ALL:79,SELECT:80,VALUE:81,ROW:82,COLUMN:83,MATRIX:84,TEXTSTRING:85,INDEX:86,RECORDSET:87,TOP:88,NumValue:89,PERCENT:90,INTO:91,Table:92,FuncValue:93,ParamValue:94,VarValue:95,STRING:96,FROM:97,FromTablesList:98,FromTable:99,JoinTablesList:100,ApplyClause:101,CROSS:102,APPLY:103,OUTER:104,FromString:105,DOT:106,JoinTable:107,JoinMode:108,JoinTableAs:109,OnClause:110,JoinModeMode:111,NATURAL:112,JOIN:113,INNER:114,LEFT:115,RIGHT:116,FULL:117,SEMI:118,ANTI:119,ON:120,Expression:121,USING:122,ColumnsList:123,WHERE:124,GROUP:125,BY:126,GroupExpressionsList:127,HavingClause:128,GroupExpression:129,GROUPING:130,SETS:131,ROLLUP:132,CUBE:133,HAVING:134,UNION:135,EXCEPT:136,INTERSECT:137,ORDER:138,OrderExpressionsList:139,OrderExpression:140,DIRECTION:141,COLLATE:142,NOCASE:143,LIMIT:144,OffsetClause:145,OFFSET:146,ResultColumn:147,TDTH:148,TD:149,TH:150,NUMBER:151,StringValue:152,Star:153,STAR:154,Column:155,AggrValue:156,Op:157,LogicValue:158,NullValue:159,ExistsValue:160,CaseValue:161,CastClause:162,Json:163,NewClause:164,JAVASCRIPT:165,NEW:166,CAST:167,ColumnType:168,CONVERT:169,PrimitiveValue:170,CURRENT_TIMESTAMP:171,Aggregator:172,OverClause:173,OVER:174,OverPartitionClause:175,OverOrderByClause:176,PARTITION:177,SUM:178,COUNT:179,MIN:180,MAX:181,AVG:182,FIRST:183,LAST:184,AGGR:185,ARRAY:186,ExprList:187,TRUE:188,FALSE:189,NSTRING:190,NULL:191,AT:192,EXISTS:193,DOLLAR:194,COLON:195,QUESTION:196,BRAQUESTION:197,CASE:198,WhensList:199,ElseClause:200,END:201,When:202,WHEN:203,THEN:204,ELSE:205,LIKE:206,NOT_LIKE:207,PLUS:208,MINUS:209,SLASH:210,MODULO:211,CARET:212,ARROW:213,GT:214,GE:215,LT:216,LE:217,EQ:218,EQEQ:219,EQEQEQ:220,NE:221,NEEQEQ:222,NEEQEQEQ:223,CondOp:224,AllSome:225,AND:226,OR:227,NOT:228,IN:229,ColFunc:230,BETWEEN:231,NOT_BETWEEN:232,IS:233,DOUBLECOLON:234,SOME:235,ANY:236,UPDATE:237,SET:238,SetColumnsList:239,SetColumn:240,DELETE:241,INSERT:242,Into:243,VALUES:244,ValuesListsList:245,DEFAULT:246,ValuesList:247,Value:248,DateValue:249,CREATE:250,TABLE:251,IfNotExists:252,CreateTableDefClause:253,CreateTableOptionsClause:254,CreateTableOptions:255,CreateTableOption:256,ENGINE:257,AUTO_INCREMENT:258,CHARSET:259,TemporaryClause:260,TEMPORARY:261,TEMP:262,IF:263,ColumnDefsList:264,ConstraintsList:265,Constraint:266,ConstraintName:267,PrimaryKey:268,ForeignKey:269,UniqueKey:270,IndexKey:271,Check:272,CONSTRAINT:273,CHECK:274,PRIMARY:275,KEY:276,ColsList:277,FOREIGN:278,REFERENCES:279,OnForeignKeyClause:280,OnDeleteClause:281,OnUpdateClause:282,NO:283,ACTION:284,ColumnDef:285,ColumnConstraintsClause:286,ColumnConstraints:287,ENUM:288,ColumnConstraintsList:289,ColumnConstraint:290,IDENTITY:291,DROP:292,IfExists:293,ALTER:294,RENAME:295,TO:296,ADD:297,MODIFY:298,ATTACH:299,DATABASE:300,DETACH:301,AsClause:302,USE:303,SHOW:304,DATABASES:305,TABLES:306,COLUMNS:307,VIEW:308,HELP:309,ExpressionStatement:310,SOURCE:311,ASSERT:312,JsonObject:313,ATLBRA:314,JsonArray:315,JsonValue:316,JsonPrimitiveValue:317,LCUR:318,JsonPropertiesList:319,RCUR:320,JsonElementsList:321,RBRA:322,JsonProperty:323,OnOff:324,SetPropsList:325,SetProp:326,OFF:327,COMMIT:328,TRANSACTION:329,ROLLBACK:330,BEGIN:331,ElseStatement:332,WHILE:333,CONTINUE:334,BREAK:335,PRINT:336,REQUIRE:337,StringValuesList:338,DECLARE:339,DeclaresList:340,DeclareItem:341,TRUNCATE:342,MERGE:343,MergeInto:344,MergeUsing:345,MergeOn:346,MergeMatchedList:347,OutputClause:348,MergeMatched:349,MergeNotMatched:350,MATCHED:351,MergeMatchedAction:352,MergeNotMatchedAction:353,TARGET:354,OUTPUT:355,$accept:0,$end:1},terminals_:{2:"error",4:"LITERAL",5:"BRALITERAL",8:"EOF",9:"SEMICOLON",11:"GO",13:"EXPLAIN",14:"QUERY",15:"PLAN",45:"EndTransaction",59:"WITH",61:"COMMA",63:"AS",64:"LPAR",65:"RPAR",75:"DISTINCT",78:"UNIQUE",79:"ALL",80:"SELECT",81:"VALUE",82:"ROW",83:"COLUMN",84:"MATRIX",85:"TEXTSTRING",86:"INDEX",87:"RECORDSET",88:"TOP",90:"PERCENT",91:"INTO",96:"STRING",97:"FROM",102:"CROSS",103:"APPLY",104:"OUTER",106:"DOT",112:"NATURAL",113:"JOIN",114:"INNER",115:"LEFT",116:"RIGHT",117:"FULL",118:"SEMI",119:"ANTI",120:"ON",122:"USING",124:"WHERE",125:"GROUP",126:"BY",130:"GROUPING",131:"SETS",132:"ROLLUP",133:"CUBE",134:"HAVING",135:"UNION",136:"EXCEPT",137:"INTERSECT",138:"ORDER",141:"DIRECTION",142:"COLLATE",143:"NOCASE",144:"LIMIT",146:"OFFSET",149:"TD",150:"TH",151:"NUMBER",154:"STAR",165:"JAVASCRIPT",166:"NEW",167:"CAST",169:"CONVERT",171:"CURRENT_TIMESTAMP",174:"OVER",177:"PARTITION",178:"SUM",179:"COUNT",180:"MIN",181:"MAX",182:"AVG",183:"FIRST",184:"LAST",185:"AGGR",186:"ARRAY",188:"TRUE",189:"FALSE",190:"NSTRING",191:"NULL",192:"AT",193:"EXISTS",194:"DOLLAR",195:"COLON",196:"QUESTION",197:"BRAQUESTION",198:"CASE",201:"END",203:"WHEN",204:"THEN",205:"ELSE",206:"LIKE",207:"NOT_LIKE",208:"PLUS",209:"MINUS",210:"SLASH",211:"MODULO",212:"CARET",213:"ARROW",214:"GT",215:"GE",216:"LT",217:"LE",218:"EQ",219:"EQEQ",220:"EQEQEQ",221:"NE",222:"NEEQEQ",223:"NEEQEQEQ",226:"AND",227:"OR",228:"NOT",229:"IN",231:"BETWEEN",232:"NOT_BETWEEN",233:"IS",234:"DOUBLECOLON",235:"SOME",236:"ANY",237:"UPDATE",238:"SET",241:"DELETE",242:"INSERT",244:"VALUES",246:"DEFAULT",249:"DateValue",250:"CREATE",251:"TABLE",257:"ENGINE",258:"AUTO_INCREMENT",259:"CHARSET",261:"TEMPORARY",262:"TEMP",263:"IF",273:"CONSTRAINT",274:"CHECK",275:"PRIMARY",276:"KEY",278:"FOREIGN",279:"REFERENCES",283:"NO",284:"ACTION",287:"ColumnConstraints",288:"ENUM",291:"IDENTITY",292:"DROP",294:"ALTER",295:"RENAME",296:"TO",297:"ADD",298:"MODIFY",299:"ATTACH",300:"DATABASE",301:"DETACH",303:"USE",304:"SHOW",305:"DATABASES",306:"TABLES",307:"COLUMNS",308:"VIEW",309:"HELP",311:"SOURCE",312:"ASSERT",314:"ATLBRA",318:"LCUR",320:"RCUR",322:"RBRA",327:"OFF",328:"COMMIT",329:"TRANSACTION",330:"ROLLBACK",331:"BEGIN",333:"WHILE",334:"CONTINUE",335:"BREAK",336:"PRINT",337:"REQUIRE",339:"DECLARE",342:"TRUNCATE",343:"MERGE",351:"MATCHED",354:"TARGET",355:"OUTPUT"},productions_:[0,[3,1],[3,1],[6,2],[7,3],[7,3],[7,1],[7,1],[12,2],[12,4],[10,1],[16,0],[16,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],[16,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],[16,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],[16,1],[16,1],[16,1],[35,3],[60,3],[60,1],[62,5],[33,8],[66,4],[66,4],[66,4],[66,3],[74,1],[74,2],[74,2],[74,2],[74,2],[74,2],[74,2],[74,2],[76,2],[76,4],[76,3],[76,0],[67,0],[67,2],[67,2],[67,2],[67,2],[67,2],[68,2],[68,3],[68,0],[101,6],[101,7],[101,6],[101,7],[98,1],[98,3],[99,4],[99,5],[99,3],[99,2],[99,3],[99,1],[99,2],[99,3],[99,1],[99,1],[99,2],[99,3],[99,1],[99,2],[99,3],[99,1],[99,2],[99,3],[105,1],[92,3],[92,1],[100,2],[100,2],[100,1],[100,1],[107,3],[109,1],[109,2],[109,3],[109,2],[109,3],[109,4],[109,5],[109,1],[109,2],[109,3],[109,1],[109,2],[109,3],[108,1],[108,2],[111,1],[111,2],[111,2],[111,3],[111,2],[111,3],[111,2],[111,3],[111,2],[111,2],[111,2],[110,2],[110,2],[110,0],[69,0],[69,2],[70,0],[70,4],[127,1],[127,3],[129,5],[129,4],[129,4],[129,1],[128,0],[128,2],[73,0],[73,2],[73,3],[73,2],[73,2],[71,0],[71,3],[139,1],[139,3],[140,1],[140,2],[140,3],[140,4],[72,0],[72,3],[145,0],[145,2],[77,4],[77,2],[148,0],[148,2],[148,2],[148,4],[147,3],[147,2],[147,3],[147,2],[147,3],[147,2],[147,1],[153,5],[153,3],[153,1],[155,5],[155,3],[155,3],[155,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,3],[121,1],[49,1],[164,2],[164,2],[162,6],[162,8],[162,6],[162,8],[170,1],[170,1],[170,1],[170,1],[170,1],[170,1],[170,1],[156,5],[156,6],[156,6],[173,0],[173,4],[173,4],[173,5],[175,3],[176,3],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[93,4],[93,3],[187,1],[187,3],[89,1],[158,1],[158,1],[152,1],[152,1],[159,1],[95,2],[160,4],[94,2],[94,2],[94,1],[94,1],[161,5],[161,4],[199,2],[199,1],[202,4],[200,2],[200,0],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,5],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,3],[157,6],[157,6],[157,3],[157,3],[157,2],[157,2],[157,2],[157,3],[157,5],[157,6],[157,5],[157,6],[157,4],[157,5],[157,3],[157,4],[157,3],[157,3],[157,3],[157,3],[230,1],[230,1],[230,4],[224,1],[224,1],[224,1],[224,1],[224,1],[224,1],[225,1],[225,1],[225,1],[47,6],[47,4],[239,1],[239,3],[240,3],[25,5],[25,3],[31,5],[31,5],[31,8],[31,4],[31,7],[243,0],[243,1],[245,3],[245,1],[245,1],[245,5],[245,3],[245,3],[247,1],[247,3],[248,1],[248,1],[248,1],[248,1],[248,1],[248,1],[123,1],[123,3],[22,8],[22,4],[254,0],[254,1],[255,2],[255,1],[256,1],[256,3],[256,3],[256,3],[260,0],[260,1],[260,1],[252,0],[252,3],[253,3],[253,1],[253,2],[265,1],[265,3],[266,2],[266,2],[266,2],[266,2],[266,2],[267,0],[267,2],[272,4],[268,5],[269,11],[280,0],[280,2],[281,4],[282,4],[270,1],[271,5],[271,5],[277,1],[277,1],[277,3],[277,3],[264,1],[264,3],[285,3],[285,2],[285,1],[168,6],[168,4],[168,1],[168,4],[286,0],[286,1],[289,2],[289,1],[290,2],[290,7],[290,5],[290,1],[290,6],[290,1],[290,2],[290,1],[290,2],[290,1],[29,4],[293,0],[293,2],[18,6],[18,6],[18,6],[18,8],[18,6],[32,5],[19,4],[19,7],[19,6],[19,9],[26,3],[20,4],[20,6],[20,9],[20,6],[302,0],[302,2],[46,3],[46,2],[27,4],[27,5],[27,5],[21,8],[21,9],[28,3],[38,2],[38,4],[38,3],[38,5],[40,2],[40,4],[40,4],[40,6],[37,4],[37,6],[39,4],[39,6],[36,4],[36,6],[23,9],[23,6],[30,4],[48,2],[48,1],[310,1],[50,2],[51,2],[51,2],[51,4],[163,4],[163,2],[163,2],[163,2],[163,2],[163,1],[163,2],[163,2],[316,1],[316,1],[317,1],[317,1],[317,1],[317,1],[317,1],[317,1],[317,1],[317,3],[313,3],[313,4],[313,2],[315,2],[315,3],[315,1],[319,3],[319,1],[323,3],[323,3],[323,3],[321,3],[321,1],[58,3],[58,5],[58,6],[325,3],[325,2],[326,1],[326,1],[326,3],[324,1],[324,1],[43,2],[44,2],[42,2],[17,4],[17,3],[332,2],[52,3],[53,1],[54,1],[55,3],[56,2],[56,2],[57,2],[338,3],[338,1],[24,2],[340,1],[340,3],[341,3],[341,4],[341,5],[341,6],[41,3],[34,6],[344,1],[344,2],[345,2],[346,2],[347,2],[347,2],[347,1],[347,1],[349,4],[349,6],[352,1],[352,3],[350,5],[350,7],[350,7],[350,9],[350,7],[350,9],[353,3],[353,6],[353,3],[353,6],[348,0],[348,2],[348,5],[348,4],[348,7]],performAction:function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:if(yy.casesensitive)this.$=$$[$0];else this.$=$$[$0].toLowerCase();break;case 2:this.$=doubleq($$[$0].substr(1,$$[$0].length-2));break;case 3:return new yy.Statements({statements:$$[$0-1]});break;case 4:case 5:this.$=$$[$0-2];if($$[$0])$$[$0-2].push($$[$0]);break;case 6:case 7:case 56:case 88:case 113:case 114:case 149:case 164:case 246:case 263:case 323:case 336:case 337:case 341:case 349:case 388:case 389:case 497:case 502:case 522:case 524:case 538:case 539:this.$=[$$[$0]];break;case 8:this.$=$$[$0];$$[$0].explain=true;break;case 9:this.$=$$[$0];$$[$0].explain=true;break;case 10:this.$=$$[$0];if(yy.exists)this.$.exists=yy.exists;delete yy.exists;if(yy.queries)this.$.queries=yy.queries;delete yy.queries;break;case 11:case 63:case 74:case 83:case 144:case 145:case 147:case 155:case 157:case 162:case 170:case 172:case 225:case 266:case 361:case 364:case 376:case 381:case 382:case 416:this.$=undefined;break;case 54:this.$=new yy.WithSelect({withs:$$[$0-1],select:$$[$0]});break;case 55:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 57:this.$={name:$$[$0-4],select:$$[$0-1]};break;case 58:yy.extend(this.$,$$[$0-7]);yy.extend(this.$,$$[$0-6]);yy.extend(this.$,$$[$0-5]);yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);this.$=$$[$0-7];break;case 59:this.$=new yy.Select({columns:$$[$0],distinct:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 60:this.$=new yy.Select({columns:$$[$0],distinct:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 61:this.$=new yy.Select({columns:$$[$0],all:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 62:this.$=new yy.Select({columns:$$[$0]});yy,extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);break;case 64:this.$={modifier:"VALUE"};break;case 65:this.$={modifier:"ROW"};break;case 66:this.$={modifier:"COLUMN"};break;case 67:this.$={modifier:"MATRIX"};break;case 68:this.$={modifier:"TEXTSTRING"};break;case 69:this.$={modifier:"INDEX"};break;case 70:this.$={modifier:"RECORDSET"};break;case 71:this.$={top:$$[$0]};break;case 72:this.$={top:$$[$0-1]};break;case 73:this.$={top:$$[$0-1],percent:true};break;case 75:case 229:case 383:case 384:this.$=undefined;break;case 76:case 77:case 78:case 79:this.$={into:$$[$0]};break;case 80:var s=$$[$0];s=s.substr(1,s.length-2);var x3=s.substr(-3).toUpperCase();var x4=s.substr(-4).toUpperCase();if(s[0]=="#"){this.$={into:new yy.FuncValue({funcid:"HTML",args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}else if(x3=="XLS"||x3=="CSV"||x3=="TAB"){this.$={into:new yy.FuncValue({funcid:x3,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}else if(x4=="XLSX"||x4=="JSON"){this.$={into:new yy.FuncValue({funcid:x4,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}break;case 81:this.$={from:$$[$0]};break;case 82:this.$={from:[$$[$0-1]],joins:$$[$0]};break;case 84:this.$=new yy.Apply({select:$$[$0-2],applymode:"CROSS",as:$$[$0]});break;case 85:this.$=new yy.Apply({select:$$[$0-3],applymode:"CROSS",as:$$[$0]});break;case 86:this.$=new yy.Apply({select:$$[$0-2],applymode:"OUTER",as:$$[$0]});break;case 87:this.$=new yy.Apply({select:$$[$0-3],applymode:"OUTER",as:$$[$0]});break;case 89:case 150:case 324:case 390:case 391:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 90:this.$=$$[$0-2];this.$.as=$$[$0];break;case 91:this.$=$$[$0-3];this.$.as=$$[$0];break;case 92:this.$=$$[$0-1];this.$.as="default";break;case 93:this.$=$$[$0-1];$$[$0-1].as=$$[$0];break;case 94:this.$=$$[$0-2];$$[$0-2].as=$$[$0];break;case 95:case 154:case 186:case 194:case 195:case 196:case 197:case 198:case 199:case 200:case 201:case 202:case 203:case 204:case 205:case 206:case 207:case 209:case 219:case 220:case 221:case 222:case 223:case 224:case 265:case 312:case 313:case 314:case 315:case 316:case 317:case 377:case 402:case 404:case 471:case 472:case 473:case 474:case 475:case 476:case 480:case 482:case 483:case 492:case 503:case 504:this.$=$$[$0];break;case 96:case 100:case 103:case 106:this.$=$$[$0-1];$$[$0-1].as=$$[$0];break;case 97:case 101:case 104:case 107:this.$=$$[$0-2];$$[$0-2].as=$$[$0];break;case 98:case 99:case 102:case 105:this.$=$$[$0];$$[$0].as="default";break;case 108:var s=$$[$0];s=s.substr(1,s.length-2);var x3=s.substr(-3).toUpperCase();var x4=s.substr(-4).toUpperCase();var r;if(s[0]=="#"){r=new yy.FuncValue({funcid:"HTML",args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else if(x3=="XLS"||x3=="CSV"||x3=="TAB"){r=new yy.FuncValue({funcid:x3,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else if(x4=="XLSX"||x4=="JSON"){r=new yy.FuncValue({funcid:x4,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else{throw new Error("Unknown string in FROM clause")};this.$=r;break;case 109:this.$=new yy.Table({databaseid:$$[$0-2],tableid:$$[$0]});break;case 110:this.$=new yy.Table({tableid:$$[$0]});break;case 111:case 112:this.$=$$[$0-1];$$[$0-1].push($$[$0]);break;case 115:this.$=new yy.Join($$[$0-2]);yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);break;case 116:this.$={table:$$[$0]};break;case 117:this.$={table:$$[$0-1],as:$$[$0]};break;case 118:this.$={table:$$[$0-2],as:$$[$0]};break;case 119:this.$={param:$$[$0-1],as:$$[$0]};break;case 120:this.$={param:$$[$0-2],as:$$[$0]};break;case 121:this.$={select:$$[$0-3],as:$$[$0]};break;case 122:this.$={select:$$[$0-4],as:$$[$0]};break;case 123:this.$={funcid:$$[$0],as:"default"};break;case 124:this.$={funcid:$$[$0-1],as:$$[$0]};break;case 125:this.$={funcid:$$[$0-2],as:$$[$0]};break;case 126:this.$={variable:$$[$0],as:"default"};break;case 127:this.$={variable:$$[$0-1],as:$$[$0]};break;case 128:this.$={variable:$$[$0-2],as:$$[$0]};break;case 129:this.$={joinmode:$$[$0]};break;case 130:this.$={joinmode:$$[$0-1],natural:true};break;case 131:case 132:this.$="INNER";break;case 133:case 134:this.$="LEFT";break;case 135:case 136:this.$="RIGHT";break;case 137:case 138:this.$="OUTER";break;case 139:this.$="SEMI";break;case 140:this.$="ANTI";break;case 141:this.$="CROSS";break;case 142:this.$={on:$$[$0]};break;case 143:case 534:this.$={using:$$[$0]};break;case 146:this.$={where:new yy.Expression({expression:$$[$0]})};break;case 148:this.$={group:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 151:this.$=new yy.GroupExpression({type:"GROUPING SETS",group:$$[$0-1]});break;case 152:this.$=new yy.GroupExpression({type:"ROLLUP",group:$$[$0-1]});break;case 153:this.$=new yy.GroupExpression({type:"CUBE",group:$$[$0-1]});break;case 156:this.$={having:$$[$0]};break;case 158:this.$={union:$$[$0]};break;case 159:this.$={unionall:$$[$0]};break;case 160:this.$={except:$$[$0]};break;case 161:this.$={intersect:$$[$0]};break;case 163:this.$={order:$$[$0]};break;case 165:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 166:this.$=new yy.Expression({expression:$$[$0],direction:"ASC"});break;case 167:this.$=new yy.Expression({expression:$$[$0-1],direction:$$[$0].toUpperCase()});break;case 168:this.$=new yy.Expression({expression:$$[$0-2],direction:"ASC",nocase:true});break;case 169:this.$=new yy.Expression({expression:$$[$0-3],direction:$$[$0].toUpperCase(),nocase:true});break;case 171:this.$={limit:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 173:this.$={offset:$$[$0]};break;case 174:yy.extend($$[$0-1],$$[$0]);$$[$0-3].push($$[$0-1]);this.$=$$[$0-3];break;case 175:yy.extend($$[$0-1],$$[$0]);this.$=[$$[$0-1]];break;case 176:this.$=undefined;break;case 177:this.$={td:$$[$0]};break;case 178:this.$={th:$$[$0]};break;case 179:this.$={th:$$[$0-2],td:$$[$0]};break;case 180:case 182:case 184:$$[$0-2].as=$$[$0];this.$=$$[$0-2];break;case 181:case 183:case 185:$$[$0-1].as=$$[$0];this.$=$$[$0-1];break;case 187:this.$=new yy.Column({columid:$$[$0],tableid:$$[$0-2],databaseid:$$[$0-4]});break;case 188:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2]});break;case 189:this.$=new yy.Column({columnid:$$[$0]});break;case 190:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2],databaseid:$$[$0-4]});break;case 191:case 192:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2]});break;case 193:this.$=new yy.Column({columnid:$$[$0]});break;case 208:this.$=new yy.Json({value:$$[$0]});break;case 210:if(!yy.queries)yy.queries=[];yy.queries.push($$[$0-1]);$$[$0-1].queriesidx=yy.queries.length;this.$=$$[$0-1];break;case 211:this.$=$$[$0];break;case 212:this.$=new yy.JavaScript({value:$$[$0].substr(2,$$[$0].length-4)});break;case 213:this.$=new yy.FuncValue({funcid:$$[$0],newid:true});break;case 214:this.$=$$[$0];yy.extend(this.$,{newid:true});break;case 215:this.$=new yy.Convert({expression:$$[$0-3]});yy.extend(this.$,$$[$0-1]);break;case 216:this.$=new yy.Convert({expression:$$[$0-5],style:$$[$0-1]});yy.extend(this.$,$$[$0-3]);break;case 217:this.$=new yy.Convert({expression:$$[$0-1]});yy.extend(this.$,$$[$0-3]);break;case 218:this.$=new yy.Convert({expression:$$[$0-3],style:$$[$0-1]});yy.extend(this.$,$$[$0-5]);break;case 226:this.$=new yy.AggrValue({aggregatorid:$$[$0-4].toUpperCase(),expression:$$[$0-2],over:$$[$0]});break;case 227:this.$=new yy.AggrValue({aggregatorid:$$[$0-5].toUpperCase(),expression:$$[$0-2],distinct:true,over:$$[$0]});break;case 228:this.$=new yy.AggrValue({aggregatorid:$$[$0-5].toUpperCase(),expression:$$[$0-2],over:$$[$0]});break;case 230:case 231:this.$=new yy.Over;yy.extend(this.$,$$[$0-1]);break;case 232:this.$=new yy.Over;yy.extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);break;case 233:this.$={partition:$$[$0]};break;case 234:this.$={order:$$[$0]};break;case 235:this.$="SUM";break;case 236:this.$="COUNT";break;case 237:this.$="MIN";break;case 238:this.$="MAX";break;case 239:this.$="AVG";break;case 240:this.$="FIRST";break;case 241:this.$="LAST";break;case 242:this.$="AGGR";break;case 243:this.$="ARRAY";break;case 244:if(alasql.aggr[$$[$0-3]]){this.$=new yy.AggrValue({aggregatorid:"REDUCE",funcid:$$[$0-3],expression:$$[$0-1].pop()})}else{this.$=new yy.FuncValue({funcid:$$[$0-3],args:$$[$0-1]})};break;case 245:this.$=new yy.FuncValue({funcid:$$[$0-2]});break;case 247:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 248:this.$=new yy.NumValue({value:+$$[$0]});break;case 249:this.$=new yy.LogicValue({value:true});break;case 250:this.$=new yy.LogicValue({value:false});break;case 251:this.$=new yy.StringValue({value:$$[$0].substr(1,$$[$0].length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});break;case 252:this.$=new yy.StringValue({value:$$[$0].substr(2,$$[$0].length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});break;case 253:this.$=new yy.NullValue({value:undefined});break;case 254:this.$=new yy.VarValue({variable:$$[$0]});break;case 255:if(!yy.exists)yy.exists=[];this.$=new yy.ExistsValue({value:$$[$0-1],existsidx:yy.exists.length});yy.exists.push($$[$0-1]);break;case 256:case 257:this.$=new yy.ParamValue({param:$$[$0]});break;case 258:if(typeof yy.question=="undefined")yy.question=0;this.$=new yy.ParamValue({param:yy.question++});break;case 259:if(typeof yy.question=="undefined")yy.question=0;this.$=new yy.ParamValue({param:yy.question++,array:true});break;case 260:this.$=new yy.CaseValue({expression:$$[$0-3],whens:$$[$0-2],elses:$$[$0-1]});break;case 261:this.$=new yy.CaseValue({whens:$$[$0-2],elses:$$[$0-1]});
  break;case 262:case 536:case 537:this.$=$$[$0-1];this.$.push($$[$0]);break;case 264:this.$={when:$$[$0-2],then:$$[$0]};break;case 267:this.$=new yy.Op({left:$$[$0-2],op:"LIKE",right:$$[$0]});break;case 268:this.$=new yy.Op({left:$$[$0-2],op:"NOT LIKE",right:$$[$0]});break;case 269:this.$=new yy.Op({left:$$[$0-2],op:"+",right:$$[$0]});break;case 270:this.$=new yy.Op({left:$$[$0-2],op:"-",right:$$[$0]});break;case 271:this.$=new yy.Op({left:$$[$0-2],op:"*",right:$$[$0]});break;case 272:this.$=new yy.Op({left:$$[$0-2],op:"/",right:$$[$0]});break;case 273:this.$=new yy.Op({left:$$[$0-2],op:"%",right:$$[$0]});break;case 274:this.$=new yy.Op({left:$$[$0-2],op:"^",right:$$[$0]});break;case 275:case 276:case 278:this.$=new yy.Op({left:$$[$0-2],op:"->",right:$$[$0]});break;case 277:this.$=new yy.Op({left:$$[$0-4],op:"->",right:$$[$0-1]});break;case 279:this.$=new yy.Op({left:$$[$0-2],op:">",right:$$[$0]});break;case 280:this.$=new yy.Op({left:$$[$0-2],op:">=",right:$$[$0]});break;case 281:this.$=new yy.Op({left:$$[$0-2],op:"<",right:$$[$0]});break;case 282:this.$=new yy.Op({left:$$[$0-2],op:"<=",right:$$[$0]});break;case 283:this.$=new yy.Op({left:$$[$0-2],op:"=",right:$$[$0]});break;case 284:this.$=new yy.Op({left:$$[$0-2],op:"==",right:$$[$0]});break;case 285:this.$=new yy.Op({left:$$[$0-2],op:"===",right:$$[$0]});break;case 286:this.$=new yy.Op({left:$$[$0-2],op:"!=",right:$$[$0]});break;case 287:this.$=new yy.Op({left:$$[$0-2],op:"!==",right:$$[$0]});break;case 288:this.$=new yy.Op({left:$$[$0-2],op:"!===",right:$$[$0]});break;case 289:if(!yy.queries)yy.queries=[];this.$=new yy.Op({left:$$[$0-5],op:$$[$0-4],allsome:$$[$0-3],right:$$[$0-1],queriesidx:yy.queries.length});yy.queries.push($$[$0-1]);break;case 290:this.$=new yy.Op({left:$$[$0-5],op:$$[$0-4],allsome:$$[$0-3],right:$$[$0-1]});break;case 291:this.$=new yy.Op({left:$$[$0-2],op:"AND",right:$$[$0]});break;case 292:this.$=new yy.Op({left:$$[$0-2],op:"OR",right:$$[$0]});break;case 293:this.$=new yy.UniOp({op:"NOT",right:$$[$0]});break;case 294:this.$=new yy.UniOp({op:"-",right:$$[$0]});break;case 295:this.$=new yy.UniOp({op:"+",right:$$[$0]});break;case 296:this.$=new yy.UniOp({right:$$[$0-1]});break;case 297:if(!yy.queries)yy.queries=[];this.$=new yy.Op({left:$$[$0-4],op:"IN",right:$$[$0-1],queriesidx:yy.queries.length});yy.queries.push($$[$0-1]);break;case 298:if(!yy.queries)yy.queries=[];this.$=new yy.Op({left:$$[$0-5],op:"NOT IN",right:$$[$0-1],queriesidx:yy.queries.length});yy.queries.push($$[$0-1]);break;case 299:this.$=new yy.Op({left:$$[$0-4],op:"IN",right:$$[$0-1]});break;case 300:this.$=new yy.Op({left:$$[$0-5],op:"NOT IN",right:$$[$0-1]});break;case 301:this.$=new yy.Op({left:$$[$0-3],op:"IN",right:[]});break;case 302:this.$=new yy.Op({left:$$[$0-4],op:"NOT IN",right:[]});break;case 303:this.$=new yy.Op({left:$$[$0-2],op:"IN",right:$$[$0]});break;case 304:this.$=new yy.Op({left:$$[$0-3],op:"NOT IN",right:$$[$0]});break;case 305:this.$=new yy.Op({left:$$[$0-2],op:"BETWEEN",right:$$[$0]});break;case 306:this.$=new yy.Op({left:$$[$0-2],op:"NOT BETWEEN",right:$$[$0]});break;case 307:this.$=new yy.Op({op:"IS",left:$$[$0-2],right:$$[$0]});break;case 308:this.$=new yy.Convert({expression:$$[$0-2]});yy.extend(this.$,$$[$0]);break;case 309:case 310:this.$=$$[$0];break;case 311:this.$=$$[$0-1];break;case 318:this.$="ALL";break;case 319:this.$="SOME";break;case 320:this.$="ANY";break;case 321:this.$=new yy.Update({table:$$[$0-4],columns:$$[$0-2],where:$$[$0]});break;case 322:this.$=new yy.Update({table:$$[$0-2],columns:$$[$0]});break;case 325:this.$=new yy.SetColumn({columnid:$$[$0-2],expression:$$[$0]});break;case 326:this.$=new yy.Delete({table:$$[$0-2],where:$$[$0]});break;case 327:this.$=new yy.Delete({table:$$[$0]});break;case 328:this.$=new yy.Insert({into:$$[$0-2],values:$$[$0]});break;case 329:this.$=new yy.Insert({into:$$[$0-2],"default":true});break;case 330:this.$=new yy.Insert({into:$$[$0-5],columns:$$[$0-3],values:$$[$0]});break;case 331:this.$=new yy.Insert({into:$$[$0-1],select:$$[$0]});break;case 332:this.$=new yy.Insert({into:$$[$0-4],columns:$$[$0-2],select:$$[$0]});break;case 335:this.$=[$$[$0-1]];break;case 338:this.$=$$[$0-4];$$[$0-4].push($$[$0-1]);break;case 339:case 340:case 342:case 350:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 351:this.$=new yy.CreateTable({table:$$[$0-4]});yy.extend(this.$,$$[$0-5]);yy.extend(this.$,$$[$0-2]);break;case 352:this.$=new yy.CreateTable({table:$$[$0]});break;case 362:case 363:this.$={temporary:true};break;case 365:this.$={ifnotexists:true};break;case 366:this.$={columns:$$[$0-2],constraints:$$[$0]};break;case 367:this.$={columns:$$[$0]};break;case 368:this.$={as:$$[$0]};break;case 369:case 392:this.$=[$$[$0]];break;case 370:case 393:case 496:case 501:case 521:case 525:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 371:case 372:case 373:case 374:case 375:$$[$0].constraintid=$$[$0-1];this.$=$$[$0];break;case 378:this.$={type:"CHECK",expression:$$[$0-1]};break;case 379:this.$={type:"PRIMARY KEY",columns:$$[$0-1]};break;case 380:this.$={type:"FOREIGN KEY",columns:$$[$0-7],fktableid:$$[$0-4],fkcolumns:$$[$0-2]};break;case 394:this.$=new yy.ColumnDef({columnid:$$[$0-2]});yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);break;case 395:this.$=new yy.ColumnDef({columnid:$$[$0-1]});yy.extend(this.$,$$[$0]);break;case 396:this.$=new yy.ColumnDef({columnid:$$[$0],dbtypeid:""});break;case 397:this.$={dbtypeid:$$[$0-5],dbsize:+$$[$0-3],dbprecision:+$$[$0-1]};break;case 398:this.$={dbtypeid:$$[$0-3],dbsize:+$$[$0-1]};break;case 399:this.$={dbtypeid:$$[$0]};break;case 400:this.$={dbtypeid:"ENUM",enumvalues:$$[$0-1]};break;case 401:this.$=undefined;break;case 403:yy.extend($$[$0-1],$$[$0]);this.$=$$[$0-1];break;case 405:this.$={primarykey:true};break;case 406:case 407:this.$={foreignkey:{tableid:$$[$0-3],columnid:$$[$0-1]}};break;case 408:this.$={auto_increment:true};break;case 409:this.$={identity:[$$[$0-3],$$[$0-1]]};break;case 410:this.$={identity:[1,1]};break;case 411:this.$={"default":$$[$0]};break;case 412:this.$={"null":true};break;case 413:this.$={notnull:true};break;case 414:this.$=$$[$0];break;case 415:this.$=new yy.DropTable({table:$$[$0]});yy.extend(this.$,$$[$0-1]);break;case 417:this.$={ifexists:true};break;case 418:this.$=new yy.AlterTable({table:$$[$0-3],renameto:$$[$0]});break;case 419:this.$=new yy.AlterTable({table:$$[$0-3],addcolumn:$$[$0]});break;case 420:this.$=new yy.AlterTable({table:$$[$0-3],modifycolumn:$$[$0]});break;case 421:this.$=new yy.AlterTable({table:$$[$0-5],renamecolumn:$$[$0-2],to:$$[$0]});break;case 422:this.$=new yy.AlterTable({table:$$[$0-3],dropcolumn:$$[$0]});break;case 423:this.$=new yy.AlterTable({table:$$[$0-2],renameto:$$[$0]});break;case 424:this.$=new yy.AttachDatabase({databaseid:$$[$0],engineid:$$[$0-2].toUpperCase()});break;case 425:this.$=new yy.AttachDatabase({databaseid:$$[$0-3],engineid:$$[$0-5].toUpperCase(),args:$$[$0-1]});break;case 426:this.$=new yy.AttachDatabase({databaseid:$$[$0-2],engineid:$$[$0-4].toUpperCase(),as:$$[$0]});break;case 427:this.$=new yy.AttachDatabase({databaseid:$$[$0-5],engineid:$$[$0-7].toUpperCase(),as:$$[$0],args:$$[$0-3]});break;case 428:this.$=new yy.DetachDatabase({databaseid:$$[$0]});break;case 429:this.$=new yy.CreateDatabase({databaseid:$$[$0]});yy.extend(this.$,$$[$0]);break;case 430:this.$=new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),databaseid:$$[$0-1],as:$$[$0]});yy.extend(this.$,$$[$0-2]);break;case 431:this.$=new yy.CreateDatabase({engineid:$$[$0-7].toUpperCase(),databaseid:$$[$0-4],args:$$[$0-2],as:$$[$0]});yy.extend(this.$,$$[$0-5]);break;case 432:this.$=new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),as:$$[$0],args:[$$[$0-1]]});yy.extend(this.$,$$[$0-2]);break;case 433:this.$=undefined;break;case 434:case 467:case 485:case 488:case 505:this.$=$$[$0-1];break;case 435:case 436:this.$=new yy.UseDatabase({databaseid:$$[$0]});break;case 437:this.$=new yy.DropDatabase({databaseid:$$[$0]});yy.extend(this.$,$$[$0-1]);break;case 438:case 439:this.$=new yy.DropDatabase({databaseid:$$[$0],engineid:$$[$0-3].toUpperCase()});yy.extend(this.$,$$[$0-1]);break;case 440:this.$=new yy.CreateIndex({indexid:$$[$0-5],table:$$[$0-3],columns:$$[$0-1]});break;case 441:this.$=new yy.CreateIndex({indexid:$$[$0-5],table:$$[$0-3],columns:$$[$0-1],unique:true});break;case 442:this.$=new yy.DropIndex({indexid:$$[$0]});break;case 443:this.$=new yy.ShowDatabases;break;case 444:this.$=new yy.ShowDatabases({like:$$[$0]});break;case 445:this.$=new yy.ShowDatabases({engineid:$$[$0-1].toUpperCase()});break;case 446:this.$=new yy.ShowDatabases({engineid:$$[$0-3].toUpperCase(),like:$$[$0]});break;case 447:this.$=new yy.ShowTables;break;case 448:this.$=new yy.ShowTables({like:$$[$0]});break;case 449:this.$=new yy.ShowTables({databaseid:$$[$0]});break;case 450:this.$=new yy.ShowTables({like:$$[$0],databaseid:$$[$0-2]});break;case 451:this.$=new yy.ShowColumns({table:$$[$0]});break;case 452:this.$=new yy.ShowColumns({table:$$[$0-2],databaseid:$$[$0]});break;case 453:this.$=new yy.ShowIndex({table:$$[$0]});break;case 454:this.$=new yy.ShowIndex({table:$$[$0-2],databaseid:$$[$0]});break;case 455:this.$=new yy.ShowCreateTable({table:$$[$0]});break;case 456:this.$=new yy.ShowCreateTable({table:$$[$0-2],databaseid:$$[$0]});break;case 457:this.$=new yy.CreateTable({table:$$[$0-5],view:true,select:$$[$0],viewcolumns:$$[$0-3]});yy.extend(this.$,$$[$0-6]);break;case 458:this.$=new yy.CreateTable({table:$$[$0-2],view:true,select:$$[$0]});break;case 459:this.$=new yy.DropTable({table:$$[$0],view:true});yy.extend(this.$,$$[$0-1]);break;case 460:this.$=new yy.Help({subject:$$[$0].value.toUpperCase()});break;case 461:this.$=new yy.Help;break;case 462:this.$=new yy.ExpressionStatement({expression:$$[$0]});break;case 463:this.$=new yy.Source({url:$$[$0].value});break;case 464:this.$=new yy.Assert({value:$$[$0]});break;case 465:this.$=new yy.Assert({value:$$[$0].value});break;case 466:this.$=new yy.Assert({value:$$[$0],message:$$[$0-2]});break;case 468:case 479:case 481:this.$=$$[$0].value;break;case 469:case 477:this.$=+$$[$0].value;break;case 470:this.$=!!$$[$0].value;break;case 478:this.$=""+$$[$0].value;break;case 484:this.$=$$[$0-1];break;case 486:case 489:this.$=$$[$0-2];break;case 487:this.$={};break;case 490:this.$=[];break;case 491:yy.extend($$[$0-2],$$[$0]);this.$=$$[$0-2];break;case 493:this.$={};this.$[$$[$0-2].substr(1,$$[$0-2].length-2)]=$$[$0];break;case 494:case 495:this.$={};this.$[$$[$0-2]]=$$[$0];break;case 498:this.$=new yy.SetVariable({variable:$$[$0-1].toLowerCase(),value:$$[$0]});break;case 499:this.$=new yy.SetVariable({variable:$$[$0-2],expression:$$[$0]});break;case 500:this.$=new yy.SetVariable({variable:$$[$0-3],props:$$[$0-2],expression:$$[$0]});break;case 506:this.$=true;break;case 507:this.$=false;break;case 508:this.$=new yy.CommitTransaction;break;case 509:this.$=new yy.RollbackTransaction;break;case 510:this.$=new yy.BeginTransaction;break;case 511:this.$=new yy.If({expression:$$[$0-2],thenstat:$$[$0-1],elsestat:$$[$0]});if($$[$0-1].exists)this.$.exists=$$[$0-1].exists;if($$[$0-1].queries)this.$.queries=$$[$0-1].queries;break;case 512:this.$=new yy.If({expression:$$[$0-1],thenstat:$$[$0]});break;case 513:this.$=$$[$0];break;case 514:this.$=new yy.While({expression:$$[$0-1],loopstat:$$[$0]});if($$[$0].exists)this.$.exists=$$[$0].exists;if($$[$0].queries)this.$.queries=$$[$0].queries;break;case 515:this.$=new yy.Continue;break;case 516:this.$=new yy.Break;break;case 517:this.$=new yy.BeginEnd({statements:$$[$0-1]});break;case 518:case 519:this.$=new yy.Print({statement:$$[$0]});break;case 520:this.$=new yy.Require({paths:$$[$0]});break;case 523:this.$=new yy.Declare({declares:$$[$0]});break;case 526:this.$={variable:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 527:this.$={variable:$$[$0-2]};yy.extend(this.$,$$[$0]);break;case 528:this.$={variable:$$[$0-3],expression:$$[$0]};yy.extend(this.$,$$[$0-2]);break;case 529:this.$={variable:$$[$0-4],expression:$$[$0]};yy.extend(this.$,$$[$0-2]);break;case 530:this.$=new yy.TruncateTable({table:$$[$0]});break;case 531:this.$=new yy.Merge;yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]);yy.extend(this.$,{matches:$$[$0-1]});yy.extend(this.$,$$[$0]);break;case 532:case 533:this.$={into:$$[$0]};break;case 535:this.$={on:$$[$0]};break;case 540:this.$={matched:true,action:$$[$0]};break;case 541:this.$={matched:true,expr:$$[$0-2],action:$$[$0]};break;case 542:this.$={"delete":true};break;case 543:this.$={update:$$[$0]};break;case 544:case 545:this.$={matched:false,bytarget:true,action:$$[$0]};break;case 546:case 547:this.$={matched:false,bytarget:true,expr:$$[$0-2],action:$$[$0]};break;case 548:this.$={matched:false,bysource:true,action:$$[$0]};break;case 549:this.$={matched:false,bysource:true,expr:$$[$0-2],action:$$[$0]};break;case 550:this.$={insert:true,values:$$[$0]};break;case 551:this.$={insert:true,values:$$[$0],columns:$$[$0-3]};break;case 552:this.$={insert:true,defaultvalues:true};break;case 553:this.$={insert:true,defaultvalues:true,columns:$$[$0-3]};break;case 555:this.$={output:{columns:$$[$0]}};break;case 556:this.$={output:{columns:$$[$0-3],intovar:$$[$0]}};break;case 557:this.$={output:{columns:$$[$0-2],intotable:$$[$0]}};break;case 558:this.$={output:{columns:$$[$0-5],intotable:$$[$0-3],intocolumns:$$[$0-1]}};break}},table:[o([8,9,11],$V0,{6:1,7:2,10:3,12:4,16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,13:$V1,45:$V2,59:$V3,80:$V4,165:$V5,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),{1:[3]},{8:[1,81],9:$Vx,11:$Vy},o($Vz,[2,6]),o($Vz,[2,7]),o($VA,[2,10]),o($Vz,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,10:84,14:[1,85],45:$V2,59:$V3,80:$V4,165:$V5,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),o($VA,[2,12]),o($VA,[2,13]),o($VA,[2,14]),o($VA,[2,15]),o($VA,[2,16]),o($VA,[2,17]),o($VA,[2,18]),o($VA,[2,19]),o($VA,[2,20]),o($VA,[2,21]),o($VA,[2,22]),o($VA,[2,23]),o($VA,[2,24]),o($VA,[2,25]),o($VA,[2,26]),o($VA,[2,27]),o($VA,[2,28]),o($VA,[2,29]),o($VA,[2,30]),o($VA,[2,31]),o($VA,[2,32]),o($VA,[2,33]),o($VA,[2,34]),o($VA,[2,35]),o($VA,[2,36]),o($VA,[2,37]),o($VA,[2,38]),o($VA,[2,39]),o($VA,[2,40]),o($VA,[2,41]),o($VA,[2,42]),o($VA,[2,43]),o($VA,[2,44]),o($VA,[2,45]),o($VA,[2,46]),o($VA,[2,47]),o($VA,[2,48]),o($VA,[2,49]),o($VA,[2,50]),o($VA,[2,51]),o($VA,[2,52]),o($VA,[2,53]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:86,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{251:[1,141]},{3:142,4:$VB,5:$VC},{3:144,4:$VB,5:$VC,78:[1,146],86:[1,145],251:[1,147],300:[1,143],308:[1,148]},{192:$V71,340:149,341:150},{97:[1,152]},{300:[1,153]},{3:155,4:$VB,5:$VC,86:[1,156],251:[1,157],300:[1,154],308:[1,158]},o($V81,[2,333],{243:159,91:[1,160]}),{251:[1,161]},o($V91,[2,75],{67:162,91:[1,163]}),{3:173,4:$VB,5:$VC,64:$Va1,91:[1,166],92:168,93:170,94:169,95:171,96:$Vb1,99:165,105:172,192:$Vc1,194:$VZ,195:$V_,196:$V$,197:$V01,344:164},{3:178,4:$VB,5:$VC,60:176,62:177},{3:182,4:$VB,5:$VC,86:[1,183],250:[1,179],305:[1,181],306:[1,184],307:[1,180]},{251:[1,185]},o([9,11,201],$V0,{10:3,12:4,16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,7:187,13:$V1,45:$V2,59:$V3,80:$V4,165:$V5,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,329:[1,186],330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),{329:[1,188]},{329:[1,189]},{3:191,4:$VB,5:$VC,300:[1,190]},{3:193,4:$VB,5:$VC,92:192},o($VA,[2,461],{152:194,96:$VE,190:$VV}),o($Vd1,[2,212]),{96:$VE,152:195,190:$VV},{3:207,4:$VB,5:$VC,89:200,93:205,94:204,96:[1,198],151:$VF,152:201,158:202,159:203,163:196,170:197,171:$Ve1,188:$VT,189:$VU,190:$VV,191:$VW,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:208,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VA,[2,515]),o($VA,[2,516]),{3:106,4:$VB,5:$VC,33:209,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:211,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,310:210,313:126,314:$V51,318:$V61},{96:$VE,152:213,190:$VV,338:212},{3:214,4:$VB,5:$VC,192:[1,215]},o($Vg1,$Vh1,{76:219,75:[1,216],78:[1,217],79:[1,218],88:$Vi1}),o($Vj1,[2,63],{81:[1,221],82:[1,222],83:[1,223],84:[1,224],85:[1,225],86:[1,226],87:[1,227]}),{1:[2,3]},o($Vz,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,10:228,45:$V2,59:$V3,80:$V4,165:$V5,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),o($Vz,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,10:229,45:$V2,59:$V3,80:$V4,165:$V5,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),o($Vz,[2,8]),{15:[1,230]},o($VA,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,10:231,224:251,45:$V2,59:$V3,80:$V4,154:$Vk1,165:$V5,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),o($Vd1,[2,194]),o($Vd1,[2,195]),o($Vd1,[2,196]),o($Vd1,[2,197]),o($Vd1,[2,198]),o($Vd1,[2,199]),o($Vd1,[2,200]),o($Vd1,[2,201]),o($Vd1,[2,202]),o($Vd1,[2,203]),o($Vd1,[2,204]),o($Vd1,[2,205]),o($Vd1,[2,206]),o($Vd1,[2,207]),o($Vd1,[2,208]),o($Vd1,[2,209]),{3:106,4:$VB,5:$VC,33:260,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:261,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vd1,[2,211]),{64:[1,262]},o($Vd1,$VL1,{64:$VM1,106:[1,264]}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:265,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:266,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:267,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vd1,[2,189]),o([4,5,8,9,11,45,59,61,63,64,65,80,90,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,146,149,150,151,154,165,166,167,169,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,194,195,196,197,198,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,246,250,257,258,259,263,274,275,278,279,291,292,294,295,299,301,303,304,309,311,312,314,318,320,322,328,330,331,333,334,335,336,337,339,342,343,355],[2,248]),o($VN1,[2,249]),o($VN1,[2,250]),o($VN1,$VO1),o($VN1,[2,252]),o($VN1,[2,253]),{3:268,4:$VB,5:$VC},{3:269,4:$VB,5:$VC},o($VP1,[2,258]),o($VP1,[2,259]),{3:270,4:$VB,5:$VC,64:$VQ1,89:273,94:275,96:$VE,151:$VF,152:272,158:274,188:$VT,189:$VU,190:$VV,194:$VZ,195:$V_,196:$V$,197:$V01,313:276,318:$V61},{64:[1,277]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:278,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,199:279,202:280,203:$VR1,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{64:[1,282]},{64:[1,283]},o($VS1,[2,472]),{3:298,4:$VB,5:$VC,64:$VT1,89:290,93:296,94:295,96:$VE,151:$VF,152:291,155:293,158:292,159:294,163:288,188:$VT,189:$VU,190:$VV,191:$VW,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,313:126,314:$V51,315:284,316:287,317:289,318:$V61,321:285,322:[1,286]},{3:299,4:$VB,5:$VC,93:300},{64:[2,235]},{64:[2,236]},{64:[2,237]},{64:[2,238]},{64:[2,239]},{64:[2,240]},{64:[2,241]},{64:[2,242]},{64:[2,243]},o($VU1,[2,1]),o($VU1,[2,2]),{3:306,4:$VB,5:$VC,96:$VV1,151:$VW1,319:301,320:[1,302],323:303},{3:193,4:$VB,5:$VC,92:307},{300:[1,308]},o($V81,$VX1,{252:309,263:$VY1}),{300:[1,311]},{3:312,4:$VB,5:$VC},{86:[1,313]},o($V81,$VX1,{252:314,263:$VY1}),o($V81,$VX1,{252:315,263:$VY1}),o($VA,[2,523],{61:[1,316]}),o($VZ1,[2,524]),{3:317,4:$VB,5:$VC},{3:193,4:$VB,5:$VC,92:318},{3:319,4:$VB,5:$VC},o($V81,$V_1,{293:320,263:$V$1}),{300:[1,322]},{3:323,4:$VB,5:$VC},o($V81,$V_1,{293:324,263:$V$1}),o($V81,$V_1,{293:325,263:$V$1}),{3:193,4:$VB,5:$VC,92:326},o($V81,[2,334]),{3:193,4:$VB,5:$VC,92:327},o($V02,[2,83],{68:328,97:[1,329]}),{3:173,4:$VB,5:$VC,92:330,93:331,94:332,95:333,96:[1,334],192:$Vc1,194:$VZ,195:$V_,196:$V$,197:$V01},{122:[1,336],345:335},{122:[2,532]},{3:173,4:$VB,5:$VC,64:$Va1,92:168,93:170,94:169,95:171,96:$Vb1,99:337,105:172,192:$Vc1,194:$VZ,195:$V_,196:$V$,197:$V01},{33:338,66:59,74:79,80:$V4},o($V12,[2,95],{3:339,4:$VB,5:$VC,63:[1,340]}),o($V12,[2,98],{3:341,4:$VB,5:$VC,63:[1,342]}),o($V12,[2,99],{3:343,4:$VB,5:$VC,63:[1,344]}),o($V12,[2,102],{3:345,4:$VB,5:$VC,63:[1,346]}),o($V12,[2,105],{3:347,4:$VB,5:$VC,63:[1,348]}),o([4,5,8,9,11,61,63,65,97,102,104,112,113,114,115,116,117,118,119,120,122,124,125,135,136,137,138,144,201,205],$V22,{64:$VM1,106:$V32}),{3:270,4:$VB,5:$VC},o([4,5,8,9,11,61,63,65,102,104,112,113,114,115,116,117,118,119,120,122,124,125,135,136,137,138,144,201,205],[2,108]),{33:350,61:[1,351],66:59,74:79,80:$V4},o($V42,[2,56]),{63:[1,352]},{251:[1,353]},{97:[1,354]},o($VA,[2,443],{206:[1,355]}),{305:[1,356]},{97:[1,357]},o($VA,[2,447],{97:[1,359],206:[1,358]}),{3:193,4:$VB,5:$VC,92:360},o($VA,[2,510]),{9:$Vx,11:$Vy,201:[1,361]},o($VA,[2,508]),o($VA,[2,509]),{3:362,4:$VB,5:$VC},o($VA,[2,436]),{238:[1,363]},o([8,9,11,63,64,80,97,124,201,205,238,244,246,292,295,296,297,298],$V22,{106:$V32}),o($VA,[2,460]),o($VA,[2,463]),o($VA,[2,464]),o($VA,[2,465]),o($VA,$VO1,{61:[1,364]}),{64:$VQ1,89:273,94:275,96:$VE,151:$VF,152:272,158:274,188:$VT,189:$VU,190:$VV,194:$VZ,195:$V_,196:$V$,197:$V01,313:276,318:$V61},o($V52,[2,219]),o($V52,[2,220]),o($V52,[2,221]),o($V52,[2,222]),o($V52,[2,223]),o($V52,[2,224]),o($V52,[2,225]),{64:$VM1},o($VA,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,224:251,10:365,45:$V2,59:$V3,80:$V4,154:$Vk1,165:$V5,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),o($VA,[2,518]),o($VA,[2,519]),o($VA,[2,462],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($VA,[2,520],{61:[1,366]}),o($VZ1,[2,522]),{120:[1,368],324:367,327:[1,369]},{3:370,4:$VB,5:$VC},o($Vg1,$Vh1,{76:371,88:$Vi1}),o($Vg1,$Vh1,{76:372,88:$Vi1}),o($Vg1,$Vh1,{76:373,88:$Vi1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,77:374,89:92,93:88,94:96,95:97,96:$VE,121:376,147:375,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{64:[1,378],89:377,151:$VF},o($Vj1,[2,64]),o($Vj1,[2,65]),o($Vj1,[2,66]),o($Vj1,[2,67]),o($Vj1,[2,68]),o($Vj1,[2,69]),o($Vj1,[2,70]),o($Vz,[2,4]),o($Vz,[2,5]),o($Vz,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,10:379,45:$V2,59:$V3,80:$V4,165:$V5,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),o($Vz,[2,512],{332:380,205:[1,381]}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:382,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:383,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:384,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:385,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:386,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:387,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:388,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:389,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:390,4:$VB,5:$VC,64:[1,392],89:391,93:393,151:$VF},o($V62,[2,312],{156:87,93:88,157:89,155:90,153:91,89:92,158:93,152:94,159:95,94:96,95:97,160:98,161:99,162:100,163:101,164:102,49:104,172:105,3:106,313:126,121:394,4:$VB,5:$VC,64:$VD,96:$VE,151:$VF,154:$VG,165:$V5,166:$VH,167:$VI,169:$VJ,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,314:$V51,318:$V61}),o($V62,[2,313],{156:87,93:88,157:89,155:90,153:91,89:92,158:93,152:94,159:95,94:96,95:97,160:98,161:99,162:100,163:101,164:102,49:104,172:105,3:106,313:126,121:395,4:$VB,5:$VC,64:$VD,96:$VE,151:$VF,154:$VG,165:$V5,166:$VH,167:$VI,169:$VJ,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,314:$V51,318:$V61}),o($V62,[2,314],{156:87,93:88,157:89,155:90,153:91,89:92,158:93,152:94,159:95,94:96,95:97,160:98,161:99,162:100,163:101,164:102,49:104,172:105,3:106,313:126,121:396,4:$VB,5:$VC,64:$VD,96:$VE,151:$VF,154:$VG,165:$V5,166:$VH,167:$VI,169:$VJ,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,314:$V51,318:$V61}),o($V62,[2,315],{156:87,93:88,157:89,155:90,153:91,89:92,158:93,152:94,159:95,94:96,95:97,160:98,161:99,162:100,163:101,164:102,49:104,172:105,3:106,313:126,121:397,4:$VB,5:$VC,64:$VD,96:$VE,151:$VF,154:$VG,165:$V5,166:$VH,167:$VI,169:$VJ,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,314:$V51,318:$V61}),o($V62,[2,316],{156:87,93:88,157:89,155:90,153:91,89:92,158:93,152:94,159:95,94:96,95:97,160:98,161:99,162:100,163:101,164:102,49:104,172:105,3:106,313:126,121:398,4:$VB,5:$VC,64:$VD,96:$VE,151:$VF,154:$VG,165:$V5,166:$VH,167:$VI,169:$VJ,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,314:$V51,318:$V61}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:399,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:400,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($V62,[2,317],{156:87,93:88,157:89,155:90,153:91,89:92,158:93,152:94,159:95,94:96,95:97,160:98,161:99,162:100,163:101,164:102,49:104,172:105,3:106,313:126,121:401,4:$VB,5:$VC,64:$VD,96:$VE,151:$VF,154:$VG,165:$V5,166:$VH,167:$VI,169:$VJ,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,314:$V51,318:$V61}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:402,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:403,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{79:[1,405],225:404,235:[1,406],236:[1,407]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:408,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:409,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:298,4:$VB,5:$VC,64:[1,410],93:413,155:412,192:$V72,230:411},{229:[1,415]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:416,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:417,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:418,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{4:$V82,168:419,288:$V92},{65:[1,422]},{65:[1,423],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{3:106,4:$VB,5:$VC,49:104,64:$VD,75:[1,425],79:[1,426],89:92,93:88,94:96,95:97,96:$VE,121:424,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,65:[1,428],89:92,93:88,94:96,95:97,96:$VE,121:429,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,187:427,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:430,4:$VB,5:$VC,81:$Va2,154:[1,432]},o([4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],[2,293],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,233:$VJ1}),o($Vb2,[2,294],{224:251,154:$Vk1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1}),o($Vb2,[2,295],{224:251,154:$Vk1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1}),o($VP1,[2,256]),o($VP1,[2,257]),o([4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,120,122,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],[2,254]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:433,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VS1,[2,468]),o($VS1,[2,469]),o($VS1,[2,470]),o($VS1,[2,471]),o($VS1,[2,473]),{33:434,66:59,74:79,80:$V4},{154:$Vk1,199:435,202:280,203:$VR1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{200:436,201:$Vc2,202:437,203:$VR1,205:$Vd2},o($Ve2,[2,263]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:439,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:440,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{4:$V82,168:441,288:$V92},o($VS1,[2,474]),{61:[1,443],322:[1,442]},o($VS1,[2,490]),o($Vf2,[2,497]),o($Vg2,[2,475]),o($Vg2,[2,476]),o($Vg2,[2,477]),o($Vg2,[2,478]),o($Vg2,[2,479]),o($Vg2,[2,480]),o($Vg2,[2,481]),o($Vg2,[2,482]),o($Vg2,[2,483]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:444,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VS1,$VL1,{64:$VM1,106:$Vh2}),o($Vd1,[2,213],{64:$VM1}),o($Vd1,[2,214]),{61:[1,447],320:[1,446]},o($VS1,[2,487]),o($Vi2,[2,492]),{195:[1,448]},{195:[1,449]},{195:[1,450]},{292:[1,454],295:[1,451],297:[1,452],298:[1,453]},{3:455,4:$VB,5:$VC},{3:456,4:$VB,5:$VC},{228:[1,457]},o($Vj2,$VX1,{252:458,263:$VY1}),{120:[1,459]},{3:460,4:$VB,5:$VC},{3:193,4:$VB,5:$VC,92:461},{3:193,4:$VB,5:$VC,92:462},{192:$V71,341:463},{4:$V82,63:[1,465],168:464,288:$V92},o($VA,[2,327],{124:[1,466]}),o($VA,[2,428]),{3:467,4:$VB,5:$VC},{193:[1,468]},o($Vj2,$V_1,{293:469,263:$V$1}),o($VA,[2,442]),{3:193,4:$VB,5:$VC,92:470},{3:193,4:$VB,5:$VC,92:471},{33:475,64:[1,474],66:59,74:79,80:$V4,244:[1,472],246:[1,473]},{296:[1,476]},o($Vk2,[2,145],{69:477,124:[1,478]}),{3:173,4:$VB,5:$VC,64:$Va1,92:168,93:170,94:169,95:171,96:$Vb1,98:479,99:480,105:172,192:$Vc1,194:$VZ,195:$V_,196:$V$,197:$V01},o($V91,[2,76]),o($V91,[2,77]),o($V91,[2,78]),o($V91,[2,79]),o($V91,[2,80]),{120:[1,482],346:481},{3:173,4:$VB,5:$VC,64:$Va1,92:168,93:170,94:169,95:171,96:$Vb1,99:483,105:172,192:$Vc1,194:$VZ,195:$V_,196:$V$,197:$V01},{122:[2,533]},{65:[1,484]},o($V12,[2,93]),{3:485,4:$VB,5:$VC},o($V12,[2,96]),{3:486,4:$VB,5:$VC},o($V12,[2,100]),{3:487,4:$VB,5:$VC},o($V12,[2,103]),{3:488,4:$VB,5:$VC},o($V12,[2,106]),{3:489,4:$VB,5:$VC},{3:490,4:$VB,5:$VC},o($VA,[2,54]),{3:178,4:$VB,5:$VC,62:491},{64:[1,492]},{3:193,4:$VB,5:$VC,92:493},{3:193,4:$VB,5:$VC,92:494},{96:$VE,152:495,190:$VV},o($VA,[2,445],{206:[1,496]}),{3:193,4:$VB,5:$VC,92:497},{96:$VE,152:498,190:$VV},{3:499,4:$VB,5:$VC},o($VA,[2,530]),o($VA,[2,517]),o($VA,[2,435]),{3:503,4:$VB,5:$VC,155:502,239:500,240:501},{163:504,192:$Vf1,313:126,314:$V51,318:$V61},o($VA,[2,514]),{96:$VE,152:505,190:$VV},o($VA,[2,498]),o($VA,[2,506]),o($VA,[2,507]),{213:[1,508],218:[1,506],325:507},{3:106,4:$VB,5:$VC,49:104,64:$VD,77:509,89:92,93:88,94:96,95:97,96:$VE,121:376,147:375,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,77:510,89:92,93:88,94:96,95:97,96:$VE,121:376,147:375,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,77:511,89:92,93:88,94:96,95:97,96:$VE,121:376,147:375,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vl2,[2,62],{61:$Vm2}),o($Vn2,$Vo2,{148:513,149:$Vp2,150:$Vq2}),o($Vr2,[2,186],{224:251,3:517,152:519,4:$VB,5:$VC,63:[1,516],96:$VE,151:[1,518],154:$Vk1,190:$VV,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($Vg1,[2,71],{90:[1,520]}),{89:521,151:$VF},o($Vz,[2,9]),o($VA,[2,511]),o($VA,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,46:36,47:37,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,66:59,74:79,10:522,45:$V2,59:$V3,80:$V4,165:$V5,237:$V6,238:$V7,241:$V8,242:$V9,250:$Va,263:$Vb,292:$Vc,294:$Vd,295:$Ve,299:$Vf,301:$Vg,303:$Vh,304:$Vi,309:$Vj,311:$Vk,312:$Vl,328:$Vm,330:$Vn,331:$Vo,333:$Vp,334:$Vq,335:$Vr,336:$Vs,337:$Vt,339:$Vu,342:$Vv,343:$Vw}),o($Vs2,[2,267],{224:251,154:$Vk1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1}),o($Vs2,[2,268],{224:251,154:$Vk1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1}),o($Vb2,[2,269],{224:251,154:$Vk1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1}),o($Vb2,[2,270],{224:251,154:$Vk1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1}),o($Vt2,[2,271],{224:251,212:$Vr1,213:$Vs1}),o($Vt2,[2,272],{224:251,212:$Vr1,213:$Vs1}),o($Vt2,[2,273],{224:251,212:$Vr1,213:$Vs1}),o([4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,154,165,190,201,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],[2,274],{224:251,213:$Vs1}),o($Vd1,[2,275],{64:$VM1}),o($Vd1,[2,276]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:523,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vd1,[2,278]),o($Vu2,[2,279],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,280],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,281],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,282],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,283],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,284],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,285],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,286],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,287],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),o($Vu2,[2,288],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,228:$VF1,229:$VG1,233:$VJ1}),{64:[1,524]},{64:[2,318]},{64:[2,319]},{64:[2,320]},o([4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,226,227,231,232,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],[2,291],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,228:$VF1,229:$VG1,233:$VJ1}),o([4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,227,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],[2,292],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1}),{3:106,4:$VB,5:$VC,33:525,49:104,64:$VD,65:[1,527],66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:429,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,187:526,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vd1,[2,303]),o($Vd1,[2,309]),o($Vd1,[2,310]),{64:[1,528]},{3:298,4:$VB,5:$VC,64:[1,529],93:413,155:412,192:$V72,230:530},o($Vv2,[2,305],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,228:$VF1,229:$VG1,233:$VJ1}),o($Vv2,[2,306],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,228:$VF1,229:$VG1,233:$VJ1}),o([4,5,8,9,11,45,59,61,63,65,80,91,96,97,102,104,112,113,114,115,116,117,118,119,124,125,134,135,136,137,138,141,142,144,149,150,151,165,190,201,203,204,205,214,215,216,217,218,219,220,221,222,223,226,227,228,229,231,232,233,234,237,238,241,242,250,263,292,294,295,299,301,303,304,309,311,312,328,330,331,333,334,335,336,337,339,342,343,355],[2,307],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1}),o($Vd1,[2,308]),o($Vw2,[2,399],{64:[1,531]}),{64:[1,532]},o($Vd1,[2,210]),o($Vd1,[2,296]),{65:[1,533],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:534,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:535,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{61:$Vx2,65:[1,536]},o($VP1,[2,245]),o($Vy2,[2,246],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($Vd1,$Vz2,{106:[1,538]}),o($VS1,[2,192]),o($Vd1,[2,188]),{65:[1,539],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{65:[1,540]},{200:541,201:$Vc2,202:437,203:$VR1,205:$Vd2},{201:[1,542]},o($Ve2,[2,262]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:543,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{154:$Vk1,204:[1,544],206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{63:[1,545],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{61:[1,546]},o($VS1,[2,488]),{3:298,4:$VB,5:$VC,64:$VT1,89:290,93:296,94:295,96:$VE,151:$VF,152:291,155:293,158:292,159:294,163:288,188:$VT,189:$VU,190:$VV,191:$VW,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,313:126,314:$V51,316:548,317:289,318:$V61,322:[1,547]},{65:[1,549],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{3:550,4:$VB,5:$VC,81:$Va2},o($VS1,[2,485]),{3:306,4:$VB,5:$VC,96:$VV1,151:$VW1,320:[1,551],323:552},{3:298,4:$VB,5:$VC,64:$VT1,89:290,93:296,94:295,96:$VE,151:$VF,152:291,155:293,158:292,159:294,163:288,188:$VT,189:$VU,190:$VV,191:$VW,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,313:126,314:$V51,316:553,317:289,318:$V61},{3:298,4:$VB,5:$VC,64:$VT1,89:290,93:296,94:295,96:$VE,151:$VF,152:291,155:293,158:292,159:294,163:288,188:$VT,189:$VU,190:$VV,191:$VW,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,313:126,314:$V51,316:554,317:289,318:$V61},{3:298,4:$VB,5:$VC,64:$VT1,89:290,93:296,94:295,96:$VE,151:$VF,152:291,155:293,158:292,159:294,163:288,188:$VT,189:$VU,190:$VV,191:$VW,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,313:126,314:$V51,316:555,317:289,318:$V61},{83:[1,557],296:[1,556]},{83:[1,558]},{83:[1,559]},{83:[1,560]},o($VA,[2,424],{63:[1,562],64:[1,561]}),o($VA,[2,429]),{193:[1,563]},{3:564,4:$VB,5:$VC,96:$VE,152:565,190:$VV},{3:193,4:$VB,5:$VC,92:566},{120:[1,567]},o($VA,[2,352],{64:[1,568]}),{63:[1,570],64:[1,569]},o($VZ1,[2,525]),o($VZ1,[2,526],{218:[1,571]}),{4:$V82,168:572,288:$V92},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:573,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VA,[2,437]),o($Vj2,[2,417]),{3:574,4:$VB,5:$VC,96:$VE,152:575,190:$VV},o($VA,[2,415]),o($VA,[2,459]),{64:$VA2,94:579,163:578,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,245:576,313:126,314:$V51,318:$V61},{244:[1,580]},{3:503,4:$VB,5:$VC,123:581,155:582},o($VA,[2,331]),{3:583,4:$VB,5:$VC},o($VB2,[2,147],{70:584,125:[1,585]}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:586,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($V02,[2,81],{61:[1,587]}),o($VC2,[2,88],{100:588,107:589,101:590,108:591,111:594,102:$VD2,104:$VE2,112:$VF2,113:$VG2,114:$VH2,115:$VI2,116:$VJ2,117:$VK2,118:$VL2,119:$VM2}),{203:$VN2,347:603,349:604,350:605},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:607,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{120:[2,534]},o($V12,[2,92],{3:608,4:$VB,5:$VC,63:[1,609]}),o($V12,[2,94]),o($V12,[2,97]),o($V12,[2,101]),o($V12,[2,104]),o($V12,[2,107]),o([4,5,8,9,11,61,63,64,65,80,97,102,104,112,113,114,115,116,117,118,119,120,122,124,125,135,136,137,138,144,201,205,238,244,246,292,295,296,297,298],[2,109]),o($V42,[2,55]),{33:610,66:59,74:79,80:$V4},o($VA,[2,455],{97:[1,611]}),o($VA,[2,451],{97:[1,612]}),o($VA,[2,444]),{96:$VE,152:613,190:$VV},o($VA,[2,453],{97:[1,614]}),o($VA,[2,448]),o($VA,[2,449],{206:[1,615]}),o($VA,[2,322],{61:$VO2,124:[1,616]}),o($VP2,[2,323]),{218:[1,618]},o([8,9,11,61,65,102,104,112,113,114,115,116,117,118,119,124,125,135,136,137,138,144,201,205,218],$VL1,{106:$Vh2}),o($VA,[2,466]),o($VZ1,[2,521]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:619,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{213:[1,621],218:[1,620]},{3:623,4:$VB,5:$VC,64:$VQ2,151:$VR2,326:622},o($Vl2,[2,59],{61:$Vm2}),o($Vl2,[2,60],{61:$Vm2}),o($Vl2,[2,61],{61:$Vm2}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:376,147:626,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vn2,[2,175]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:627,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:628,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:629,4:$VB,5:$VC,96:$VE,151:[1,630],152:631,190:$VV},o($Vr2,[2,181]),o($Vr2,[2,183]),o($Vr2,[2,185]),o($Vg1,[2,73]),{65:[1,632]},o($VA,[2,513]),{65:[1,633],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{3:106,4:$VB,5:$VC,33:634,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:429,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,187:635,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{65:[1,636]},{61:$Vx2,65:[1,637]},o($Vd1,[2,301]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:638,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,33:639,49:104,64:$VD,65:[1,641],66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:429,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,187:640,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vd1,[2,304]),{151:[1,642]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:644,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,247:643,313:126,314:$V51,318:$V61},o($Vd1,$VS2,{173:645,174:$VT2}),{65:[1,647],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{65:[1,648],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},o($VP1,[2,244]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:649,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:650,4:$VB,5:$VC,154:[1,651]},o($VS1,[2,467]),o($Vd1,[2,255]),{201:[1,652]},o($Vd1,[2,261]),{154:$Vk1,201:[2,265],206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:653,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{4:$V82,168:654,288:$V92},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:655,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VS1,[2,489]),o($Vf2,[2,496]),o($Vg2,[2,484]),o($VS1,$Vz2,{106:[1,656]}),o($VS1,[2,486]),o($Vi2,[2,491]),o($Vi2,[2,493]),o($Vi2,[2,494]),o($Vi2,[2,495]),{3:657,4:$VB,5:$VC},{3:658,4:$VB,5:$VC},{3:660,4:$VB,5:$VC,285:659},{3:660,4:$VB,5:$VC,285:661},{3:662,4:$VB,5:$VC},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:429,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,187:663,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:664,4:$VB,5:$VC},o($Vj2,[2,365]),o($VA,$VU2,{302:665,63:$VV2,64:[1,666]}),o($VA,$VU2,{302:668,63:$VV2}),{64:[1,669]},{3:193,4:$VB,5:$VC,92:670},{3:660,4:$VB,5:$VC,63:[1,673],253:671,264:672,285:674},{3:503,4:$VB,5:$VC,123:675,155:582},{33:676,66:59,74:79,80:$V4},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:677,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VZ1,[2,527],{218:[1,678]}),o($VA,[2,326],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($VA,[2,438]),o($VA,[2,439]),o($VA,[2,328],{61:$VW2}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:644,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,247:680,313:126,314:$V51,318:$V61},o($VX2,[2,336]),o($VX2,[2,337]),o($VA,[2,329]),{61:$VY2,65:[1,681]},o($VZ2,[2,349]),o($VA,[2,423]),o($V_2,[2,162],{71:683,138:[1,684]}),{126:[1,685]},o($Vk2,[2,146],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{3:173,4:$VB,5:$VC,64:$Va1,92:168,93:170,94:169,95:171,96:$Vb1,99:686,105:172,192:$Vc1,194:$VZ,195:$V_,196:$V$,197:$V01},o($V02,[2,82],{108:591,111:594,107:687,101:688,102:$VD2,104:$VE2,112:$VF2,113:$VG2,114:$VH2,115:$VI2,116:$VJ2,117:$VK2,118:$VL2,119:$VM2}),o($V$2,[2,113]),o($V$2,[2,114]),{3:173,4:$VB,5:$VC,64:[1,692],92:690,93:693,94:691,95:694,109:689,192:$Vc1,194:$VZ,195:$V_,196:$V$,197:$V01},{103:[1,695],113:$V03},{103:[1,697],113:$V13},o($V23,[2,129]),{102:[1,701],104:[1,700],111:699,113:$VG2,114:$VH2,115:$VI2,116:$VJ2,117:$VK2,118:$VL2,119:$VM2},o($V23,[2,131]),{113:[1,702]},{104:[1,704],113:[1,703]},{104:[1,706],113:[1,705]},{104:[1,707]},{113:[1,708]},{113:[1,709]},o($VA,[2,554],{348:710,349:711,350:712,203:$VN2,355:[1,713]}),o($V33,[2,538]),o($V33,[2,539]),{228:[1,715],351:[1,714]},{154:$Vk1,203:[2,535],206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},o($V12,[2,90]),{3:716,4:$VB,5:$VC},{65:[1,717]},{3:718,4:$VB,5:$VC},{3:719,4:$VB,5:$VC},o($VA,[2,446]),{3:720,4:$VB,5:$VC},{96:$VE,152:721,190:$VV},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:722,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:503,4:$VB,5:$VC,155:502,240:723},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:724,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VA,[2,499],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:725,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:623,4:$VB,5:$VC,64:$VQ2,151:$VR2,326:726},o($V43,[2,502]),o($V43,[2,503]),o($V43,[2,504]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:727,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vn2,$Vo2,{148:728,149:$Vp2,150:$Vq2}),o($Vn2,[2,177],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($Vn2,[2,178],{224:251,149:[1,729],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($Vr2,[2,180]),o($Vr2,[2,182]),o($Vr2,[2,184]),o($Vg1,[2,72]),o($Vd1,[2,277]),{65:[1,730]},{61:$Vx2,65:[1,731]},o($Vd1,[2,297]),o($Vd1,[2,299]),{65:[1,732],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{65:[1,733]},{61:$Vx2,65:[1,734]},o($Vd1,[2,302]),{61:[1,735],65:[1,736]},{61:$V53,65:[1,737]},o($Vy2,[2,341],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($Vd1,[2,226]),{64:[1,739]},o($Vd1,$VS2,{173:740,174:$VT2}),o($Vd1,$VS2,{173:741,174:$VT2}),o($Vy2,[2,247],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($VS1,[2,190]),o($Vd1,[2,187]),o($Vd1,[2,260]),o($Ve2,[2,264],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{61:[1,743],65:[1,742]},{61:[1,745],65:[1,744],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{3:650,4:$VB,5:$VC},o($VA,[2,418]),{296:[1,746]},o($VA,[2,419]),o($V63,[2,396],{168:747,4:$V82,287:[1,748],288:$V92}),o($VA,[2,420]),o($VA,[2,422]),{61:$Vx2,65:[1,749]},o($VA,[2,426]),o($VA,[2,430]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:429,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,187:750,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:751,4:$VB,5:$VC},o($VA,[2,432]),{3:753,4:$VB,5:$VC,96:$V73,277:752},{64:[1,755]},{65:[1,756]},{61:[1,757],65:[2,367]},{33:758,66:59,74:79,80:$V4},o($Vy2,[2,392]),{61:$VY2,65:[1,759]},o($VA,[2,458]),o($VZ1,[2,528],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:760,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{64:[1,761],94:763,163:762,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,313:126,314:$V51,318:$V61},{61:$V53,65:[1,764]},{33:766,66:59,74:79,80:$V4,244:[1,765]},{3:503,4:$VB,5:$VC,155:767},o($V83,[2,170],{72:768,144:[1,769]}),{126:[1,770]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:776,127:771,129:772,130:$V93,132:$Va3,133:$Vb3,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VC2,[2,89]),o($V$2,[2,111]),o($V$2,[2,112]),o($V$2,[2,144],{110:777,120:[1,778],122:[1,779]}),o($Vc3,[2,116],{3:780,4:$VB,5:$VC,63:[1,781]}),{3:782,4:$VB,5:$VC,63:[1,783]},{33:784,66:59,74:79,80:$V4},o($Vc3,[2,123],{3:785,4:$VB,5:$VC,63:[1,786]}),o($Vc3,[2,126],{3:787,4:$VB,5:$VC,63:[1,788]}),{64:[1,789]},o($V23,[2,141]),{64:[1,790]},o($V23,[2,137]),o($V23,[2,130]),{113:$V13},{113:$V03},o($V23,[2,132]),o($V23,[2,133]),{113:[1,791]},o($V23,[2,135]),{113:[1,792]},{113:[1,793]},o($V23,[2,139]),o($V23,[2,140]),o($VA,[2,531]),o($V33,[2,536]),o($V33,[2,537]),{3:106,4:$VB,5:$VC,49:104,64:$VD,77:794,89:92,93:88,94:96,95:97,96:$VE,121:376,147:375,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{204:[1,795],226:[1,796]},{351:[1,797]},o($V12,[2,91]),o($V42,[2,57]),o($VA,[2,456]),o($VA,[2,452]),o($VA,[2,454]),o($VA,[2,450]),o($VA,[2,321],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($VP2,[2,324]),o($VP2,[2,325],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($VA,[2,500],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($V43,[2,501]),{65:[1,798],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},o($Vn2,[2,174]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:799,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vd1,[2,289]),o($Vd1,[2,290]),o($Vd1,[2,311]),o($Vd1,[2,298]),o($Vd1,[2,300]),{151:[1,800]},o($Vw2,[2,398]),o($Vw2,[2,400]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:801,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{138:$Vd3,175:802,176:803,177:[1,804]},o($Vd1,[2,227]),o($Vd1,[2,228]),o($Vd1,[2,215]),{151:[1,806]},o($Vd1,[2,217]),{151:[1,807]},{3:808,4:$VB,5:$VC},o($V63,[2,401],{286:809,289:810,290:811,272:820,191:$Ve3,228:$Vf3,246:$Vg3,258:$Vh3,274:$Vi3,275:$Vj3,278:$Vk3,279:$Vl3,291:$Vm3}),o($V63,[2,395]),o($VA,[2,425],{63:[1,822]}),{61:$Vx2,65:[1,823]},o($VA,[2,434]),{61:$Vn3,65:[1,824]},o($Vy2,[2,388]),o($Vy2,[2,389]),{3:753,4:$VB,5:$VC,96:$V73,277:826},o($VA,[2,353],{254:827,255:828,256:829,246:$Vo3,257:$Vp3,258:$Vq3,259:$Vr3}),o($Vs3,$Vt3,{3:660,265:834,285:835,266:836,267:837,4:$VB,5:$VC,273:$Vu3}),{65:[2,368]},{63:[1,839]},o($VZ1,[2,529],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:644,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,247:840,313:126,314:$V51,318:$V61},o($VX2,[2,339]),o($VX2,[2,340]),o($VX2,[2,335]),{64:$VA2,94:579,163:578,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,245:841,313:126,314:$V51,318:$V61},o($VA,[2,332]),o($VZ2,[2,350]),o($Vv3,[2,157],{73:842,135:[1,843],136:[1,844],137:[1,845]}),{89:846,151:$VF},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:849,139:847,140:848,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VB2,[2,155],{128:850,61:$Vw3,134:[1,852]}),o($Vx3,[2,149]),{131:[1,853]},{64:[1,854]},{64:[1,855]},o($Vx3,[2,154],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($V$2,[2,115]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:856,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:503,4:$VB,5:$VC,123:857,155:582},o($Vc3,[2,117]),{3:858,4:$VB,5:$VC},o($Vc3,[2,119]),{3:859,4:$VB,5:$VC},{65:[1,860]},o($Vc3,[2,124]),{3:861,4:$VB,5:$VC},o($Vc3,[2,127]),{3:862,4:$VB,5:$VC},{33:863,66:59,74:79,80:$V4},{33:864,66:59,74:79,80:$V4},o($V23,[2,134]),o($V23,[2,136]),o($V23,[2,138]),o($VA,[2,555],{61:$Vm2,91:[1,865]}),{237:$Vy3,241:$Vz3,352:866},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:869,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{126:[1,871],204:[1,870],226:[1,872]},o($V43,[2,505]),o($Vn2,[2,179],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{65:[1,873]},o($Vy2,[2,342],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{65:[1,874],138:$Vd3,176:875},{65:[1,876]},{126:[1,877]},{126:[1,878]},{65:[1,879]},{65:[1,880]},o($VA,[2,421]),o($V63,[2,394]),o($V63,[2,402],{272:820,290:881,191:$Ve3,228:$Vf3,246:$Vg3,258:$Vh3,274:$Vi3,275:$Vj3,278:$Vk3,279:$Vl3,291:$Vm3}),o($V52,[2,404]),{276:[1,882]},{276:[1,883]},{3:884,4:$VB,5:$VC},o($V52,[2,408]),o($V52,[2,410],{64:[1,885]}),{3:207,4:$VB,5:$VC,89:200,93:205,94:204,96:$VE,151:$VF,152:201,158:202,159:203,170:886,171:$Ve1,188:$VT,189:$VU,190:$VV,191:$VW,194:$VZ,195:$V_,196:$V$,197:$V01},o($V52,[2,412]),{191:[1,887]},o($V52,[2,414]),{64:[1,888]},{3:889,4:$VB,5:$VC},o($VA,$VU2,{302:890,63:$VV2}),o($VA,[2,440]),{3:891,4:$VB,5:$VC,96:[1,892]},{61:$Vn3,65:[1,893]},o($VA,[2,351]),o($VA,[2,354],{256:894,246:$Vo3,257:$Vp3,258:$Vq3,259:$Vr3}),o($VA3,[2,356]),o($VA3,[2,357]),{218:[1,895]},{218:[1,896]},{218:[1,897]},{61:[1,898],65:[2,366]},o($Vy2,[2,393]),o($Vy2,[2,369]),{78:[1,906],86:[1,907],268:899,269:900,270:901,271:902,272:903,274:$Vi3,275:[1,904],276:[1,908],278:[1,905]},{3:909,4:$VB,5:$VC},{33:910,66:59,74:79,80:$V4},{61:$V53,65:[1,911]},o($VA,[2,330],{61:$VW2}),o($Vv3,[2,58]),{33:912,66:59,74:79,79:[1,913],80:$V4},{33:914,66:59,74:79,80:$V4},{33:915,66:59,74:79,80:$V4},o($V83,[2,172],{145:916,146:[1,917]}),o($V_2,[2,163],{61:$VB3}),o($VC3,[2,164]),o($VC3,[2,166],{224:251,141:[1,919],142:[1,920],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($VB2,[2,148]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:776,129:921,130:$V93,132:$Va3,133:$Vb3,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:922,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{64:[1,923]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:776,127:924,129:772,130:$V93,132:$Va3,133:$Vb3,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:776,127:925,129:772,130:$V93,132:$Va3,133:$Vb3,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($V$2,[2,142],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),o($V$2,[2,143],{61:$VY2}),o($Vc3,[2,118]),o($Vc3,[2,120]),{3:926,4:$VB,5:$VC,63:[1,927]},o($Vc3,[2,125]),o($Vc3,[2,128]),{65:[1,928]},{65:[1,929]},{3:193,4:$VB,5:$VC,92:931,192:[1,930]},o($V33,[2,540]),o($V33,[2,542]),{238:[1,932]},{154:$Vk1,204:[1,933],206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},{242:$VD3,353:934},{311:[1,937],354:[1,936]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:938,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vw2,[2,397]),o($Vd1,[2,230]),{65:[1,939]},o($Vd1,[2,231]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:776,127:940,129:772,130:$V93,132:$Va3,133:$Vb3,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:849,139:941,140:848,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($Vd1,[2,216]),o($Vd1,[2,218]),o($V52,[2,403]),o($V52,[2,405]),{279:[1,942]},{64:[1,943]},{89:944,151:$VF},o($V52,[2,411]),o($V52,[2,413]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:945,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VA,[2,427]),o($VA,[2,431]),o($Vy2,[2,390]),o($Vy2,[2,391]),o($VA,[2,441]),o($VA3,[2,355]),{3:946,4:$VB,5:$VC},{89:947,151:$VF},{3:948,4:$VB,5:$VC},o($Vs3,$Vt3,{267:837,266:949,273:$Vu3}),o($Vy2,[2,371]),o($Vy2,[2,372]),o($Vy2,[2,373]),o($Vy2,[2,374]),o($Vy2,[2,375]),{276:[1,950]},{276:[1,951]},o($Vy2,[2,385]),{3:952,4:$VB,5:$VC},{3:953,4:$VB,5:$VC},o($Vs3,[2,377]),o($VA,[2,457]),o($VX2,[2,338]),o($Vv3,[2,158]),{33:954,66:59,74:79,80:$V4},o($Vv3,[2,160]),o($Vv3,[2,161]),o($V83,[2,171]),{89:955,151:$VF},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:849,140:956,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},o($VC3,[2,167]),{143:[1,957]},o($Vx3,[2,150]),o($VB2,[2,156],{224:251,154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:776,127:958,129:772,130:$V93,132:$Va3,133:$Vb3,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{61:$Vw3,65:[1,959]},{61:$Vw3,65:[1,960]},o($Vc3,[2,121]),{3:961,4:$VB,5:$VC},{3:962,4:$VB,5:$VC,63:[1,963]},{3:964,4:$VB,5:$VC,63:[1,965]},{3:966,4:$VB,5:$VC},o($VA,[2,557],{64:[1,967]}),{3:503,4:$VB,5:$VC,155:502,239:968,240:501},{237:$Vy3,241:$Vz3,352:969},o($V33,[2,544]),{64:[1,971],244:[1,970],246:[1,972]},{204:[1,973],226:[1,974]},{204:[1,975],226:[1,976]},{154:$Vk1,204:[1,977],206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},o($Vd1,[2,232]),o([65,138],[2,233],{61:$Vw3}),{61:$VB3,65:[2,234]},{3:978,4:$VB,5:$VC},{3:979,4:$VB,5:$VC},{61:[1,980]},{65:[1,981],154:$Vk1,206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},o($VA3,[2,358]),o($VA3,[2,359]),o($VA3,[2,360]),o($Vy2,[2,370]),{64:[1,982]},{64:[1,983]},{64:[1,984]},{64:[1,985]},o($Vv3,[2,159]),o($V83,[2,173]),o($VC3,[2,165]),o($VC3,[2,168],{141:[1,986]}),{61:$Vw3,65:[1,987]},o($Vx3,[2,152]),o($Vx3,[2,153]),o($Vc3,[2,122]),o($V$2,[2,84]),{3:988,4:$VB,5:$VC},o($V$2,[2,86]),{3:989,4:$VB,5:$VC},o($VA,[2,556]),{3:503,4:$VB,5:$VC,123:990,155:582},o($V33,[2,543],{61:$VO2}),o($V33,[2,541]),{64:$VA2,94:579,163:578,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,245:991,313:126,314:$V51,318:$V61},{3:503,4:$VB,5:$VC,123:992,155:582},{244:[1,993]},{242:$VD3,353:994},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:995,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{242:$VD3,353:996},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:997,151:$VF,152:94,153:91,154:$VG,155:90,156:87,157:89,158:93,159:95,160:98,161:99,162:100,163:101,164:102,165:$V5,166:$VH,167:$VI,169:$VJ,172:105,178:$VK,179:$VL,180:$VM,181:$VN,182:$VO,183:$VP,184:$VQ,185:$VR,186:$VS,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,209:$V31,228:$V41,313:126,314:$V51,318:$V61},{242:$VD3,353:998},{64:[1,999]},{65:[1,1e3]},{89:1001,151:$VF},o($V52,[2,378]),{3:753,4:$VB,5:$VC,96:$V73,277:1002},{3:753,4:$VB,5:$VC,96:$V73,277:1003},{3:503,4:$VB,5:$VC,123:1004,155:582},{3:503,4:$VB,5:$VC,123:1005,155:582},o($VC3,[2,169]),o($Vx3,[2,151]),o($V$2,[2,85]),o($V$2,[2,87]),{61:$VY2,65:[1,1006]},o($V33,[2,550],{61:$VW2}),{61:$VY2,65:[1,1007]},o($V33,[2,552]),o($V33,[2,545]),{154:$Vk1,204:[1,1008],206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},o($V33,[2,548]),{154:$Vk1,204:[1,1009],206:$Vl1,207:$Vm1,208:$Vn1,209:$Vo1,210:$Vp1,211:$Vq1,212:$Vr1,213:$Vs1,214:$Vt1,215:$Vu1,216:$Vv1,217:$Vw1,218:$Vx1,219:$Vy1,220:$Vz1,221:$VA1,222:$VB1,223:$VC1,224:251,226:$VD1,227:$VE1,228:$VF1,229:$VG1,231:$VH1,232:$VI1,233:$VJ1,234:$VK1},o($V33,[2,546]),{3:1010,4:$VB,5:$VC},o($V52,[2,407]),{65:[1,1011]},{61:$Vn3,65:[1,1012]},{61:$Vn3,65:[1,1013]},{61:$VY2,65:[1,1014]},{61:$VY2,65:[1,1015]},o($VA,[2,558]),{244:[1,1016],246:[1,1017]},{242:$VD3,353:1018},{237:$Vy3,241:$Vz3,352:1019},{65:[1,1020]},o($V52,[2,409]),o($Vy2,[2,379]),{279:[1,1021]},o($Vy2,[2,386]),o($Vy2,[2,387]),{64:$VA2,94:579,163:578,192:$Vf1,194:$VZ,195:$V_,196:$V$,197:$V01,245:1022,313:126,314:$V51,318:$V61},{244:[1,1023]},o($V33,[2,547]),o($V33,[2,549]),o($V52,[2,406]),{3:1024,4:$VB,5:$VC},o($V33,[2,551],{61:$VW2}),o($V33,[2,553]),{64:[1,1025]},{3:753,4:$VB,5:$VC,96:$V73,277:1026},{61:$Vn3,65:[1,1027]},o($Vy2,[2,381],{280:1028,281:1029,120:[1,1030]}),o($Vy2,[2,380]),{120:[1,1032],282:1031},{241:[1,1033]},o($Vy2,[2,382]),{237:[1,1034]},{283:[1,1035]},{283:[1,1036]},{284:[1,1037]},{284:[1,1038]},{120:[2,383]},o($Vy2,[2,384])],defaultActions:{81:[2,3],129:[2,235],130:[2,236],131:[2,237],132:[2,238],133:[2,239],134:[2,240],135:[2,241],136:[2,242],137:[2,243],165:[2,532],337:[2,533],405:[2,318],406:[2,319],407:[2,320],483:[2,534],758:[2,368],1037:[2,383]},parseError:function parseError(str,hash){if(hash.recoverable){this.trace(str)
  }else{throw new Error(str)}},parse:function parse(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,recovering=0,TERROR=2,EOF=1;var args=lstack.slice.call(arguments,1);var lexer=Object.create(this.lexer);var sharedState={yy:{}};for(var k in this.yy){if(Object.prototype.hasOwnProperty.call(this.yy,k)){sharedState.yy[k]=this.yy[k]}}lexer.setInput(input,sharedState.yy);sharedState.yy.lexer=lexer;sharedState.yy.parser=this;if(typeof lexer.yylloc=="undefined"){lexer.yylloc={}}var yyloc=lexer.yylloc;lstack.push(yyloc);var ranges=lexer.options&&lexer.options.ranges;if(typeof sharedState.yy.parseError==="function"){this.parseError=sharedState.yy.parseError}else{this.parseError=Object.getPrototypeOf(this).parseError}function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n;lstack.length=lstack.length-n}_token_stack:function lex(){var token;token=lexer.lex()||EOF;if(typeof token!=="number"){token=self.symbols_[token]||token}return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol===null||typeof symbol=="undefined"){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){var errStr="";expected=[];for(p in table[state]){if(this.terminals_[p]&&p>TERROR){expected.push("'"+this.terminals_[p]+"'")}}if(lexer.showPosition){errStr="Parse error on line "+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'"}else{errStr="Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==EOF?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'")}this.parseError(errStr,{text:lexer.match,token:this.terminals_[symbol]||symbol,line:lexer.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}switch(action[0]){case 1:stack.push(symbol);vstack.push(lexer.yytext);lstack.push(lexer.yylloc);stack.push(action[1]);symbol=null;if(!preErrorSymbol){yyleng=lexer.yyleng;yytext=lexer.yytext;yylineno=lexer.yylineno;yyloc=lexer.yylloc;if(recovering>0){recovering--}}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:len=this.productions_[action[1]][1];yyval.$=vstack[vstack.length-len];yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column};if(ranges){yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]}r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args));if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len);lstack=lstack.slice(0,-1*len)}stack.push(this.productions_[action[1]][0]);vstack.push(yyval.$);lstack.push(yyval._$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:return true}}return true}};var lexer=function(){var lexer={EOF:1,parseError:function parseError(str,hash){if(this.yy.parser){this.yy.parser.parseError(str,hash)}else{throw new Error(str)}},setInput:function(input,yy){this.yy=yy||this.yy||{};this._input=input;this._more=this._backtrack=this.done=false;this.yylineno=this.yyleng=0;this.yytext=this.matched=this.match="";this.conditionStack=["INITIAL"];this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0};if(this.options.ranges){this.yylloc.range=[0,0]}this.offset=0;return this},input:function(){var ch=this._input[0];this.yytext+=ch;this.yyleng++;this.offset++;this.match+=ch;this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno++;this.yylloc.last_line++}else{this.yylloc.last_column++}if(this.options.ranges){this.yylloc.range[1]++}this._input=this._input.slice(1);return ch},unput:function(ch){var len=ch.length;var lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input;this.yytext=this.yytext.substr(0,this.yytext.length-len);this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1);this.matched=this.matched.substr(0,this.matched.length-1);if(lines.length-1){this.yylineno-=lines.length-1}var r=this.yylloc.range;this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len};if(this.options.ranges){this.yylloc.range=[r[0],r[0]+this.yyleng-len]}this.yyleng=this.yytext.length;return this},more:function(){this._more=true;return this},reject:function(){if(this.options.backtrack_lexer){this._backtrack=true}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;if(next.length<20){next+=this._input.substr(0,20-next.length)}return(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput();var c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},test_match:function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer){backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done};if(this.options.ranges){backup.yylloc.range=this.yylloc.range.slice(0)}}lines=match[0].match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno+=lines.length}this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length};this.yytext+=match[0];this.match+=match[0];this.matches=match;this.yyleng=this.yytext.length;if(this.options.ranges){this.yylloc.range=[this.offset,this.offset+=this.yyleng]}this._more=false;this._backtrack=false;this._input=this._input.slice(match[0].length);this.matched+=match[0];token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]);if(this.done&&this._input){this.done=false}if(token){return token}else if(this._backtrack){for(var k in backup){this[k]=backup[k]}return false}return false},next:function(){if(this.done){return this.EOF}if(!this._input){this.done=true}var token,match,tempMatch,index;if(!this._more){this.yytext="";this.match=""}var rules=this._currentRules();for(var i=0;i<rules.length;i++){tempMatch=this._input.match(this.rules[rules[i]]);if(tempMatch&&(!match||tempMatch[0].length>match[0].length)){match=tempMatch;index=i;if(this.options.backtrack_lexer){token=this.test_match(tempMatch,rules[i]);if(token!==false){return token}else if(this._backtrack){match=false;continue}else{return false}}else if(!this.options.flex){break}}}if(match){token=this.test_match(match,rules[index]);if(token!==false){return token}return false}if(this._input===""){return this.EOF}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}},lex:function lex(){var r=this.next();if(r){return r}else{return this.lex()}},begin:function begin(condition){this.conditionStack.push(condition)},popState:function popState(){var n=this.conditionStack.length-1;if(n>0){return this.conditionStack.pop()}else{return this.conditionStack[0]}},_currentRules:function _currentRules(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules}else{return this.conditions["INITIAL"].rules}},topState:function topState(n){n=this.conditionStack.length-1-Math.abs(n||0);if(n>=0){return this.conditionStack[n]}else{return"INITIAL"}},pushState:function pushState(condition){this.begin(condition)},stateStackSize:function stateStackSize(){return this.conditionStack.length},options:{"case-insensitive":true},performAction:function anonymous(yy,yy_,$avoiding_name_collisions,YY_START){var YYSTATE=YY_START;switch($avoiding_name_collisions){case 0:return 165;break;case 1:return 197;break;case 2:return 314;break;case 3:return 5;break;case 4:return 5;break;case 5:return 190;break;case 6:return 190;break;case 7:return 96;break;case 8:return 96;break;case 9:return;break;case 10:return;break;case 11:break;case 12:return 227;break;case 13:return 226;break;case 14:return"ABSOLUTE";break;case 15:return 284;break;case 16:return 297;break;case 17:return 185;break;case 18:return 79;break;case 19:return 294;break;case 20:return 226;break;case 21:return 119;break;case 22:return 236;break;case 23:return 103;break;case 24:return 186;break;case 25:return 63;break;case 26:return 312;break;case 27:return 141;break;case 28:return 299;break;case 29:return 258;break;case 30:return 258;break;case 31:return 182;break;case 32:return 331;break;case 33:return 231;break;case 34:return 335;break;case 35:return 232;break;case 36:return 207;break;case 37:return 126;break;case 38:return 198;break;case 39:return 167;break;case 40:return 259;break;case 41:return 274;break;case 42:return"CLOSE";break;case 43:return 142;break;case 44:return"COLUMN";break;case 45:return"COLUMNS";break;case 46:return"COMMIT";break;case 47:return"CONSTRAINT";break;case 48:return"CONTINUE";break;case 49:return"CONVERT";break;case 50:return"COUNT";break;case 51:return 250;break;case 52:return"CROSS";break;case 53:return 133;break;case 54:return"CURRENT_TIMESTAMP";break;case 55:return"CURSOR";break;case 56:return 300;break;case 57:return 305;break;case 58:return 339;break;case 59:return 246;break;case 60:return 241;break;case 61:return"DELETED";break;case 62:return 141;break;case 63:return 301;break;case 64:return 75;break;case 65:return 292;break;case 66:return 201;break;case 67:return 257;break;case 68:return 288;break;case 69:return 205;break;case 70:return 136;break;case 71:return 193;break;case 72:return 13;break;case 73:return 189;break;case 74:return"FETCH";break;case 75:return 183;break;case 76:return 278;break;case 77:return 97;break;case 78:return 11;break;case 79:return 125;break;case 80:return 130;break;case 81:return 134;break;case 82:return 309;break;case 83:return 263;break;case 84:return 291;break;case 85:return 233;break;case 86:return 229;break;case 87:return 86;break;case 88:return 114;break;case 89:return 242;break;case 90:return"INSERTED";break;case 91:return 137;break;case 92:return 91;break;case 93:return 113;break;case 94:return 276;break;case 95:return 184;break;case 96:return 115;break;case 97:return 206;break;case 98:return 144;break;case 99:return 311;break;case 100:return"MATCHED";break;case 101:return 84;break;case 102:return"MAX";break;case 103:return"MERGE";break;case 104:return"MIN";break;case 105:return"EXCEPT";break;case 106:return"MODIFY";break;case 107:return 112;break;case 108:return"NEXT";break;case 109:return 166;break;case 110:return 143;break;case 111:return 283;break;case 112:return 228;break;case 113:return 191;break;case 114:return 327;break;case 115:return 120;break;case 116:return 146;break;case 117:return"OPEN";break;case 118:return 227;break;case 119:return 138;break;case 120:return 104;break;case 121:return 174;break;case 122:return 177;break;case 123:return 90;break;case 124:return 15;break;case 125:return 275;break;case 126:return 336;break;case 127:return"PRIOR";break;case 128:return 14;break;case 129:return 87;break;case 130:return"REDUCE";break;case 131:return 279;break;case 132:return"RELATIVE";break;case 133:return 295;break;case 134:return 337;break;case 135:return"RESTORE";break;case 136:return 116;break;case 137:return 330;break;case 138:return 132;break;case 139:return 82;break;case 140:return 300;break;case 141:return 305;break;case 142:return 80;break;case 143:return 118;break;case 144:return 238;break;case 145:return 131;break;case 146:return 304;break;case 147:return 235;break;case 148:return"STORE";break;case 149:return"SUM";break;case 150:return 251;break;case 151:return 306;break;case 152:return 354;break;case 153:return 149;break;case 154:return 85;break;case 155:return 150;break;case 156:return 204;break;case 157:return 296;break;case 158:return 88;break;case 159:return"TRAN";break;case 160:return 329;break;case 161:return 188;break;case 162:return 342;break;case 163:return 135;break;case 164:return 78;break;case 165:return 237;break;case 166:return 303;break;case 167:return 122;break;case 168:return 81;break;case 169:return 244;break;case 170:return 308;break;case 171:return 203;break;case 172:return 124;break;case 173:return 333;break;case 174:return 59;break;case 175:return 329;break;case 176:return 151;break;case 177:return 151;break;case 178:return 213;break;case 179:return 208;break;case 180:return 209;break;case 181:return 154;break;case 182:return 210;break;case 183:return 211;break;case 184:return 223;break;case 185:return 220;break;case 186:return 222;break;case 187:return 219;break;case 188:return 215;break;case 189:return 214;break;case 190:return 217;break;case 191:return 221;break;case 192:return 216;break;case 193:return 218;break;case 194:return 221;break;case 195:return 64;break;case 196:return 65;break;case 197:return 192;break;case 198:return 318;break;case 199:return 320;break;case 200:return 322;break;case 201:return 106;break;case 202:return 61;break;case 203:return 234;break;case 204:return 195;break;case 205:return 9;break;case 206:return 194;break;case 207:return 196;break;case 208:return 212;break;case 209:return 4;break;case 210:return 8;break;case 211:return"INVALID";break}},rules:[/^(?:``([^\`])+``)/i,/^(?:\[\?\])/i,/^(?:@\[)/i,/^(?:\[([^\]])*?\])/i,/^(?:`([^\`])*?`)/i,/^(?:N(['](\\.|[^']|\\')*?['])+)/i,/^(?:X(['](\\.|[^']|\\')*?['])+)/i,/^(?:(['](\\.|[^']|\\')*?['])+)/i,/^(?:(["](\\.|[^"]|\\")*?["])+)/i,/^(?:\/\*(.*?)\*\/)/i,/^(?:--(.*?)($|\r\n|\r|\n))/i,/^(?:\s+)/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:ABSOLUTE\b)/i,/^(?:ACTION\b)/i,/^(?:ADD\b)/i,/^(?:AGGR\b)/i,/^(?:ALL\b)/i,/^(?:ALTER\b)/i,/^(?:AND\b)/i,/^(?:ANTI\b)/i,/^(?:ANY\b)/i,/^(?:APPLY\b)/i,/^(?:ARRAY\b)/i,/^(?:AS\b)/i,/^(?:ASSERT\b)/i,/^(?:ASC\b)/i,/^(?:ATTACH\b)/i,/^(?:AUTOINCREMENT\b)/i,/^(?:AUTO_INCREMENT\b)/i,/^(?:AVG\b)/i,/^(?:BEGIN\b)/i,/^(?:BETWEEN\b)/i,/^(?:BREAK\b)/i,/^(?:NOT\s+BETWEEN\b)/i,/^(?:NOT\s+LIKE\b)/i,/^(?:BY\b)/i,/^(?:CASE\b)/i,/^(?:CAST\b)/i,/^(?:CHARSET\b)/i,/^(?:CHECK\b)/i,/^(?:CLOSE\b)/i,/^(?:COLLATE\b)/i,/^(?:COLUMN\b)/i,/^(?:COLUMNS\b)/i,/^(?:COMMIT\b)/i,/^(?:CONSTRAINT\b)/i,/^(?:CONTINUE\b)/i,/^(?:CONVERT\b)/i,/^(?:COUNT\b)/i,/^(?:CREATE\b)/i,/^(?:CROSS\b)/i,/^(?:CUBE\b)/i,/^(?:CURRENT_TIMESTAMP\b)/i,/^(?:CURSOR\b)/i,/^(?:DATABASE\b)/i,/^(?:DATABASES\b)/i,/^(?:DECLARE\b)/i,/^(?:DEFAULT\b)/i,/^(?:DELETE\b)/i,/^(?:DELETED\b)/i,/^(?:DESC\b)/i,/^(?:DETACH\b)/i,/^(?:DISTINCT\b)/i,/^(?:DROP\b)/i,/^(?:END\b)/i,/^(?:ENGINE\b)/i,/^(?:ENUM\b)/i,/^(?:ELSE\b)/i,/^(?:EXCEPT\b)/i,/^(?:EXISTS\b)/i,/^(?:EXPLAIN\b)/i,/^(?:FALSE\b)/i,/^(?:FETCH\b)/i,/^(?:FIRST\b)/i,/^(?:FOREIGN\b)/i,/^(?:FROM\b)/i,/^(?:GO\b)/i,/^(?:GROUP\b)/i,/^(?:GROUPING\b)/i,/^(?:HAVING\b)/i,/^(?:HELP\b)/i,/^(?:IF\b)/i,/^(?:IDENTITY\b)/i,/^(?:IS\b)/i,/^(?:IN\b)/i,/^(?:INDEX\b)/i,/^(?:INNER\b)/i,/^(?:INSERT\b)/i,/^(?:INSERTED\b)/i,/^(?:INTERSECT\b)/i,/^(?:INTO\b)/i,/^(?:JOIN\b)/i,/^(?:KEY\b)/i,/^(?:LAST\b)/i,/^(?:LEFT\b)/i,/^(?:LIKE\b)/i,/^(?:LIMIT\b)/i,/^(?:SOURCE\b)/i,/^(?:MATCHED\b)/i,/^(?:MATRIX\b)/i,/^(?:MAX\b)/i,/^(?:MERGE\b)/i,/^(?:MIN\b)/i,/^(?:MINUS\b)/i,/^(?:MODIFY\b)/i,/^(?:NATURAL\b)/i,/^(?:NEXT\b)/i,/^(?:NEW\b)/i,/^(?:NOCASE\b)/i,/^(?:NO\b)/i,/^(?:NOT\b)/i,/^(?:NULL\b)/i,/^(?:OFF\b)/i,/^(?:ON\b)/i,/^(?:OFFSET\b)/i,/^(?:OPEN\b)/i,/^(?:OR\b)/i,/^(?:ORDER\b)/i,/^(?:OUTER\b)/i,/^(?:OVER\b)/i,/^(?:PARTITION\b)/i,/^(?:PERCENT\b)/i,/^(?:PLAN\b)/i,/^(?:PRIMARY\b)/i,/^(?:PRINT\b)/i,/^(?:PRIOR\b)/i,/^(?:QUERY\b)/i,/^(?:RECORDSET\b)/i,/^(?:REDUCE\b)/i,/^(?:REFERENCES\b)/i,/^(?:RELATIVE\b)/i,/^(?:RENAME\b)/i,/^(?:REQUIRE\b)/i,/^(?:RESTORE\b)/i,/^(?:RIGHT\b)/i,/^(?:ROLLBACK\b)/i,/^(?:ROLLUP\b)/i,/^(?:ROW\b)/i,/^(?:SCHEMA\b)/i,/^(?:SCHEMAS\b)/i,/^(?:SELECT\b)/i,/^(?:SEMI\b)/i,/^(?:SET\b)/i,/^(?:SETS\b)/i,/^(?:SHOW\b)/i,/^(?:SOME\b)/i,/^(?:STORE\b)/i,/^(?:SUM\b)/i,/^(?:TABLE\b)/i,/^(?:TABLES\b)/i,/^(?:TARGET\b)/i,/^(?:TD\b)/i,/^(?:TEXTSTRING\b)/i,/^(?:TH\b)/i,/^(?:THEN\b)/i,/^(?:TO\b)/i,/^(?:TOP\b)/i,/^(?:TRAN\b)/i,/^(?:TRANSACTION\b)/i,/^(?:TRUE\b)/i,/^(?:TRUNCATE\b)/i,/^(?:UNION\b)/i,/^(?:UNIQUE\b)/i,/^(?:UPDATE\b)/i,/^(?:USE\b)/i,/^(?:USING\b)/i,/^(?:VALUE\b)/i,/^(?:VALUES\b)/i,/^(?:VIEW\b)/i,/^(?:WHEN\b)/i,/^(?:WHERE\b)/i,/^(?:WHILE\b)/i,/^(?:WITH\b)/i,/^(?:WORK\b)/i,/^(?:(\d*[.])?\d+[eE]\d+)/i,/^(?:(\d*[.])?\d+)/i,/^(?:->)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:\^)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],inclusive:true}}};return lexer}();parser.lexer=lexer;function Parser(){this.yy={}}Parser.prototype=parser;parser.Parser=Parser;return new Parser}();if(typeof require!=="undefined"&&typeof exports!=="undefined"){exports.parser=parser;exports.Parser=parser.Parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){if(!args[1]){console.log("Usage: "+args[0]+" FILE");process.exit(1)}var source=require("fs").readFileSync(require("path").normalize(args[1]),"utf8");return exports.parser.parse(source)};if(typeof module!=="undefined"&&require.main===module){exports.main(process.argv.slice(1))}}alasql.prettyflag=false;alasql.pretty=function(sql,flag){var pf=alasql.prettyflag;alasql.prettyflag=!flag;var s=alasql.parse(sql).toString();alasql.prettyflag=pf;return s};function K(s){if(alasql.prettyflag){return'<b style="color:blue">'+s.toUpperCase()+"</b>"}else{return s}}function P(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function L(s){if(alasql.prettyflag){return'<span style="color:red">'+s+"</span>"}else{return s}}function N(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function S(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function NL(){if(alasql.prettyflag){return"<br/>"}else{return" "}}function ID(){if(alasql.prettyflag){return"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"}else{return""}}var utils=alasql.utils={};function returnTrue(){return true}function returnUndefined(){}var escapeq=utils.escapeq=function(s){return s.replace(/\'/g,"\\'")};var escapeqq=utils.undoubleq=function(s){return s.replace(/(\')/g,"''")};var doubleq=utils.doubleq=function(s){return s.replace(/(\'\')/g,"\\'")};var doubleqq=utils.doubleqq=function(s){return s.replace(/\'/g,"'")};var cutbom=function(s){if(s[0]==String.fromCharCode(65279))s=s.substr(1);return s};var loadFile=utils.loadFile=function(path,asy,success,error){if(typeof exports=="object"){var fs=require("fs");if(!path){var buff="";process.stdin.setEncoding("utf8");process.stdin.on("readable",function(){var chunk=process.stdin.read();if(chunk!==null){buff+=chunk.toString()}});process.stdin.on("end",function(){success(cutbom(buff))})}else{if(asy){fs.readFile(path,function(err,data){if(err){throw err}success(cutbom(data.toString()))})}else{var data=fs.readFileSync(path);success(cutbom(data.toString()))}}}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){fileEntry.file(function(file){var fileReader=new FileReader;fileReader.onloadend=function(e){success(cutbom(this.result))};fileReader.readAsText(file)})})})}else{if(typeof path=="string"){if(path.substr(0,1)=="#"&&typeof document!="undefined"){var data=document.querySelector(path).textContent;success(data)}else{var xhr=new XMLHttpRequest;xhr.onreadystatechange=function(){if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){if(success)success(cutbom(xhr.responseText))}else{if(error)error(xhr)}}};xhr.open("GET",path,asy);xhr.send()}}else if(path instanceof Event){var files=path.target.files;var reader=new FileReader;var name=files[0].name;reader.onload=function(e){var data=e.target.result;success(cutbom(data))};reader.readAsText(files[0])}}};var loadBinaryFile=utils.loadBinaryFile=function(path,asy,success,error){if(typeof exports=="object"){var fs=require("fs");if(asy){fs.readFile(path,function(err,data){if(err){throw err}var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))})}else{var data=fs.readFileSync(path);var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))}}else{if(typeof path=="string"){var xhr=new XMLHttpRequest;xhr.open("GET",path,asy);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))};xhr.send()}else if(path instanceof Event){var files=path.target.files;var reader=new FileReader;var name=files[0].name;reader.onload=function(e){var data=e.target.result;success(data)};reader.readAsBinaryString(files[0])}}};var removeFile=utils.removeFile=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.remove(path,cb)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){fileEntry.remove(cb);if(cb)cb()},function(){if(cb)cb()})})}else{throw new Error("You can remove files only in Node.js and Apache Cordova")}};var deleteFile=utils.deleteFile=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.unlink(path,cb)}};var fileExists=utils.fileExists=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.exists(path,cb)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){cb(true)},function(){cb(false)})})}else{throw new Error("You can use exists() only in Node.js or Apach Cordova")}};var saveFile=utils.saveFile=function(path,data,cb){if(!path){alasql.options.stdout=true;console.log(data);if(cb)cb()}else{if(typeof exports=="object"){var fs=require("fs");var data=fs.writeFileSync(path,data);if(cb)cb()}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:true},function(fileEntry){fileEntry.createWriter(function(fileWriter){fileWriter.onwriteend=function(){if(cb)cb()};fileWriter.write(data)})})})}else{var blob=new Blob([data],{type:"text/plain;charset=utf-8"});saveAs(blob,path);if(cb)cb()}}};var hash=utils.hash=function hash(str){var h=0;if(str.length==0)return h;for(var i=0;i<str.length;i++){h=(h<<5)-h+str.charCodeAt(i);h=h&h}return h};var arrayUnion=utils.arrayUnion=function(a,b){var r=b.slice(0);a.forEach(function(i){if(r.indexOf(i)<0)r.push(i)});return r};var arrayDiff=utils.arrayDiff=function(a,b){return a.filter(function(i){return b.indexOf(i)<0})};var arrayIntersect=utils.arrayIntersect=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||ai==bi});if(found){r.push(ai)}});return r};var arrayUnionDeep=utils.arrayUnionDeep=function(a,b){var r=b.slice(0);a.forEach(function(ai){var found=false;r.forEach(function(ri){found=found||deepEqual(ai,ri)});if(!found){r.push(ai)}});return r};var arrayExceptDeep=utils.arrayExceptDeep=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||deepEqual(ai,bi)});if(!found){r.push(ai)}});return r};var arrayIntersectDeep=utils.arrayIntersectDeep=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||deepEqual(ai,bi,true)});if(found){r.push(ai)}});return r};var cloneDeep=utils.cloneDeep=function cloneDeep(obj){if(obj==null||typeof obj!="object")return obj;var temp=obj.constructor();for(var key in obj){if(obj.hasOwnProperty(key)){temp[key]=cloneDeep(obj[key])}}return temp};var equalDeep=utils.equalDeep=function equalDeep(x,y,deep){if(deep){if(x==y)return true;var p;for(p in y){if(typeof x[p]=="undefined"){return false}}for(p in y){if(y[p]){switch(typeof y[p]){case"object":if(!equalDeep(y[p],x[p])){return false}break;case"function":if(typeof x[p]=="undefined"||p!="equals"&&y[p].toString()!=x[p].toString())return false;break;default:if(y[p]!=x[p]){return false}}}else{if(x[p])return false}}for(p in x){if(typeof y[p]=="undefined"){return false}}return true}return x==y};var deepEqual=utils.deepEqual=function(x,y){if(typeof x=="object"&&x!=null&&(typeof y=="object"&&y!=null)){if(Object.keys(x).length!=Object.keys(y).length)return false;for(var prop in x){if(y.hasOwnProperty(prop)){if(!deepEqual(x[prop],y[prop]))return false}else return false}return true}else if(x!==y)return false;else return true};var extend=utils.extend=function extend(a,b){if(typeof a=="undefined")a={};for(key in b){if(b.hasOwnProperty(key)){a[key]=b[key]}}return a};var flatArray=utils.flatArray=function(a){if(!a||a.length==0)return[];var key=Object.keys(a[0])[0];if(typeof key=="undefined")return[];return a.map(function(ai){return ai[key]})};var arrayOfArrays=utils.arrayOfArrays=function(a){return a.map(function(aa){var ar=[];for(var key in aa)ar.push(aa[key]);return ar})};var xlsnc=utils.xlsnc=function(i){var addr=String.fromCharCode(65+i%26);if(i>=26){i=(i/26|0)-1;addr=String.fromCharCode(65+i%26)+addr;if(i>26){i=(i/26|0)-1;addr=String.fromCharCode(65+i%26)+addr}}return addr};var xlscn=utils.xlscn=function(s){var n=s.charCodeAt(0)-65;if(s.length>1){n=(n+1)*26+s.charCodeAt(1)-65;if(s.length>2){n=(n+1)*26+s.charCodeAt(2)-65}}return n};var domEmptyChildren=utils.domEmptyChildren=function(container){var len=container.childNodes.length;while(len--){container.removeChild(container.lastChild)}};alasql.utils.uncomment=function uncomment(str){str=("__"+str+"__").split("");var quote=false,quoteSign,blockComment=false,lineComment=false;for(var i=0,l=str.length;i<l;i++){var unescaped=str[i-1]!=="\\"||str[i-2]==="\\";if(quote){if(str[i]===quoteSign&&unescaped)quote=false}else if(blockComment){if(str[i]==="*"&&str[i+1]==="/"){str[i]=str[i+1]="";blockComment=false;i++}else{str[i]=""}}else if(lineComment){if(str[i+1]=="\n"||str[i+1]=="\r")lineComment=false;str[i]=""}else{if(str[i]=='"'||str[i]=="'"){quote=true;quoteSign=str[i]}else if(str[i]=="["&&str[i-1]!="@"){quote=true;quoteSign="]"}else if(str[i]==="/"&&str[i+1]==="*"){str[i]="";blockComment=true}}}str=str.join("").slice(2,-2);return str};alasql.parser=parser;alasql.parse=function(sql){return parser.parse(alasql.utils.uncomment(sql))};alasql.engines={};alasql.databases={};alasql.databasenum=0;alasql.options={};alasql.options.errorlog=false;alasql.options.valueof=false;alasql.options.dropifnotexists=false;alasql.options.datetimeformat="sql";alasql.options.casesensitive=true;alasql.options.logtarget="output";alasql.options.logprompt=true;alasql.vars={};alasql.declares={};alasql.options.autocommit=true;alasql.options.cache=true;alasql.prompthistory=[];alasql.from={};alasql.into={};alasql.fn={};alasql.aggr={};alasql.busy=0;alasql.MAXSQLCACHESIZE=1e4;alasql.DEFAULTDATABASEID="alasql";alasql.lastid=0;alasql.buffer={};alasql.use=function(databaseid){if(!databaseid)databaseid=alasql.DEFAULTDATABASEID;if(alasql.useid==databaseid)return;alasql.useid=databaseid;var db=alasql.databases[alasql.useid];alasql.tables=db.tables;db.resetSqlCache()};alasql.exec=function(sql,params,cb,scope){delete alasql.error;if(alasql.options.errorlog){try{return alasql.dexec(alasql.useid,sql,params,cb,scope)}catch(err){alasql.error=err;if(cb)cb(null,alasql.error)}}else{return alasql.dexec(alasql.useid,sql,params,cb,scope)}};alasql.dexec=function(databaseid,sql,params,cb,scope){var db=alasql.databases[databaseid];if(alasql.options.cache){var hh=hash(sql);var statement=db.sqlCache[hh];if(statement&&db.dbversion==statement.dbversion){return statement(params,cb)}}var ast=alasql.parse(sql);if(!ast.statements)return;if(ast.statements.length==0)return 0;else if(ast.statements.length==1){if(ast.statements[0].compile){var statement=ast.statements[0].compile(databaseid);if(!statement)return;statement.sql=sql;statement.dbversion=db.dbversion;if(alasql.options.cache){if(db.sqlCacheSize>alasql.MAXSQLCACHESIZE){db.resetSqlCache()}db.sqlCacheSize++;db.sqlCache[hh]=statement}var res=alasql.res=statement(params,cb,scope);return res}else{alasql.precompile(ast.statements[0],alasql.useid,params);var res=alasql.res=ast.statements[0].execute(databaseid,params,cb,scope);return res}}else{if(cb){alasql.adrun(databaseid,ast,params,cb,scope)}else{return alasql.drun(databaseid,ast,params,cb,scope)}}};alasql.drun=function(databaseid,ast,params,cb,scope){var useid=alasql.useid;if(useid!=databaseid)alasql.use(databaseid);var res=[];for(var i=0,ilen=ast.statements.length;i<ilen;i++){if(ast.statements[i]){if(ast.statements[i].compile){var statement=ast.statements[i].compile(alasql.useid);res.push(alasql.res=statement(params,null,scope))}else{alasql.precompile(ast.statements[i],alasql.useid,params);res.push(alasql.res=ast.statements[i].execute(alasql.useid,params))}}}if(useid!=databaseid)alasql.use(useid);if(cb)cb(res);alasql.res=res;return res};alasql.adrun=function(databaseid,ast,params,cb,scope){var useid=alasql.useid;if(useid!=databaseid)alasql.use(databaseid);var res=[];adrunone();function adrunone(data){if(typeof data!="undefined")res.push(data);var astatement=ast.statements.shift();if(!astatement){if(useid!=databaseid)alasql.use(useid);cb(res)}else{if(astatement.compile){var statement=astatement.compile(alasql.useid);statement(params,adrunone,scope)}else{alasql.precompile(ast.statements[0],alasql.useid,params);astatement.execute(alasql.useid,params,adrunone)}}}};alasql.compile=function(sql,databaseid){if(!databaseid)databaseid=alasql.useid;var ast=alasql.parse(sql);if(ast.statements.length==1){return ast.statements[0].compile(databaseid)}else{throw new Error("Cannot compile, because number of statments in SQL is not equal to 1")
  }};var Database=alasql.Database=function(databaseid){var self=this;if(self===alasql){if(databaseid){self=alasql.databases[databaseid];if(!self){throw new Error('Database "'+databaseid+'" not found')}}else{self=alasql.databases.alasql}}if(!databaseid){databaseid="db"+alasql.databasenum++}self.databaseid=databaseid;alasql.databases[databaseid]=self;self.tables={};self.views={};self.indices={};self.resetSqlCache();self.dbversion=0;return self};Database.prototype.resetSqlCache=function(){this.sqlCache={};this.sqlCacheSize=0};Database.prototype.exec=function(sql,params,cb){return alasql.dexec(this.databaseid,sql,params,cb)};Database.prototype.transaction=function(cb){var tx=new alasql.Transaction(this.databaseid);var res=cb(tx);return res};var Transaction=alasql.Transaction=function(databaseid){this.transactionid=Date.now();this.databaseid=databaseid;this.commited=false;this.dbversion=alasql.databases[databaseid].dbversion;this.bank=JSON.stringify(alasql.databases[databaseid]);return this};Transaction.prototype.commit=function(){this.commited=true;alasql.databases[this.databaseid].dbversion=Date.now();delete this.bank};Transaction.prototype.rollback=function(){if(!this.commited){alasql.databases[this.databaseid]=JSON.parse(this.bank);delete this.bank}else{throw new Error("Transaction already commited")}};Transaction.prototype.exec=function(sql,params,cb){return alasql.dexec(this.databaseid,sql,params,cb)};Transaction.prototype.executeSQL=Transaction.prototype.exec;var Table=alasql.Table=function(params){this.columns=[];this.xcolumns={};this.data=[];this.inddefs={};this.indices={};this.uniqs={};this.uniqdefs={};extend(this,params)};Table.prototype.indexColumns=function(){var self=this;self.xcolumns={};self.columns.forEach(function(col){self.xcolumns[col.columnid]=col})};var View=alasql.View=function(params){this.columns=[];this.xcolumns={};this.query=[];extend(this,params)};var Query=alasql.Query=function(params){this.alasql=alasql;this.columns=[];this.xcolumns={};this.selectGroup=[];this.groupColumns={};extend(this,params)};var Recordset=alasql.Recordset=function(params){extend(this,params)};var yy=parser.yy={};yy.extend=extend;yy.casesensitive=alasql.options.casesensitive;var Base=yy.Base=function(params){return yy.extend(this,params)};Base.prototype.toString=function(){};Base.prototype.toType=function(){};Base.prototype.toJavaScript=function(){};Base.prototype.compile=returnUndefined;Base.prototype.exec=function(){};Base.prototype.compile=returnUndefined;Base.prototype.exec=function(){};yy.Statements=function(params){return yy.extend(this,params)};yy.Statements.prototype.toString=function(){return this.statements.map(function(st){return st.toString()}).join(";"+NL())};yy.Statements.prototype.compile=function(db){var statements=this.statements.map(function(st){return st.compile(db)});if(statements.length==1){return statements[0]}else{return function(params,cb){var res=statements.map(function(st){return st(params)});if(cb)cb(res);return res}}};function queryfn(query,oldscope,cb,A,B){var ms;query.sourceslen=query.sources.length;var slen=query.sourceslen;query.query=query;query.A=A;query.B=B;query.cb=cb;query.oldscope=oldscope;if(query.queriesfn){query.sourceslen+=query.queriesfn.length;slen+=query.queriesfn.length;query.queriesdata=[];query.queriesfn.forEach(function(q,idx){q.query.params=query.params;if(false){queryfn(q.query,query.oldscope,queryfn2,-idx-1,query)}else{queryfn2([],-idx-1,query)}})}var scope;if(!oldscope)scope={};else scope=cloneDeep(oldscope);query.scope=scope;var result;query.sources.forEach(function(source,idx){source.query=query;var rs=source.datafn(query,query.params,queryfn2,idx,alasql);if(typeof rs!=undefined){if((query.intofn||query.intoallfn)&&rs instanceof Array)rs=rs.length;result=rs}source.queriesdata=query.queriesdata});if(slen==0)result=queryfn3(query);return result}function queryfn2(data,idx,query){if(idx>=0){var source=query.sources[idx];source.data=data;if(typeof source.data=="function"){source.getfn=source.data;source.dontcache=source.getfn.dontcache;if(source.joinmode=="OUTER"||source.joinmode=="RIGHT"||source.joinmode=="ANTI"){source.dontcache=false}source.data={}}}else{query.queriesdata[-idx-1]=flatArray(data)}query.sourceslen--;if(query.sourceslen>0)return;return queryfn3(query)}function queryfn3(query){var scope=query.scope;preIndex(query);query.data=[];query.xgroups={};query.groups=[];var h=0;doJoin(query,scope,h);if(query.groupfn){query.data=[];if(query.groups.length==0){var g={};if(query.selectGroup.length>0){query.selectGroup.forEach(function(sg){if(sg.aggregatorid=="COUNT"||sg.aggregatorid=="SUM"){g[sg.nick]=0}else{g[sg.nick]=undefined}})}query.groups=[g]}for(var i=0,ilen=query.groups.length;i<ilen;i++){var g=query.groups[i];if(!query.havingfn||query.havingfn(g,query.params,alasql)){var d=query.selectgfn(g,query.params,alasql);query.data.push(d)}}}doDistinct(query);if(query.unionallfn){query.data=query.data.concat(query.unionallfn(query.params))}else if(query.unionfn){query.data=arrayUnionDeep(query.data,query.unionfn(query.params))}else if(query.exceptfn){query.data=arrayExceptDeep(query.data,query.exceptfn(query.params))}else if(query.intersectfn){query.data=arrayIntersectDeep(query.data,query.intersectfn(query.params))}if(query.orderfn){if(query.explain)var ms=Date.now();query.data=query.data.sort(query.orderfn);if(query.explain){query.explaination.push({explid:query.explid++,description:"QUERY BY",ms:Date.now()-ms})}}doLimit(query);var removeKeys=query.removeKeys;if(typeof angular!="undefined")removeKeys.push("$$hashKey");var jlen=removeKeys.length;if(jlen>0){for(var i=0,ilen=query.data.length;i<ilen;i++){for(var j=0;j<jlen;j++)delete query.data[i][removeKeys[j]]}}if(query.intoallfn){var res=query.intoallfn(query.columns,query.cb,query.alasql);return res}else if(query.intofn){for(var i=0,ilen=query.data.length;i<ilen;i++){query.intofn(query.data[i],i,query.params,query.alasql)}if(query.cb)query.cb(query.data.length,query.A,query.B);return query.data.length}else{var res=query.data;if(query.cb)res=query.cb(query.data,query.A,query.B);return res}}function doLimit(query){if(query.limit){var offset=0;if(query.offset)offset=(query.offset|0)-1||0;var limit;if(query.percent){limit=(query.data.length*query.limit/100|0)+offset}else{limit=(query.limit|0)+offset}query.data=query.data.slice(offset,limit)}}function doDistinct(query){if(query.distinct){var uniq={};for(var i=0,ilen=query.data.length;i<ilen;i++){var uix=Object.keys(query.data[i]).map(function(k){return query.data[i][k]}).join("`");uniq[uix]=query.data[i]}query.data=[];for(var key in uniq)query.data.push(uniq[key])}}preIndex=function(query){for(var k=0,klen=query.sources.length;k<klen;k++){var source=query.sources[k];if(k>0&&source.optimization=="ix"&&source.onleftfn&&source.onrightfn){if(source.databaseid&&alasql.databases[source.databaseid].tables[source.tableid]){if(!alasql.databases[source.databaseid].tables[source.tableid].indices)query.database.tables[source.tableid].indices={};var ixx=alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns+"`"+source.srcwherefns)];if(!alasql.databases[source.databaseid].tables[source.tableid].dirty&&ixx){source.ix=ixx}}if(!source.ix){source.ix={};var scope={};var i=0;var ilen=source.data.length;var dataw;while((dataw=source.data[i])||source.getfn&&(dataw=source.getfn(i))||i<ilen){if(source.getfn&&!source.dontcache)source.data[i]=dataw;scope[source.alias||source.tableid]=dataw;if(source.srcwherefn(scope,query.params,alasql)){var addr=source.onrightfn(scope,query.params,alasql);var group=source.ix[addr];if(!group){group=source.ix[addr]=[]}group.push(dataw)}i++}if(source.databaseid&&alasql.databases[source.databaseid].tables[source.tableid]){alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns+"`"+source.srcwherefns)]=source.ix}}}else if(source.wxleftfn){if(!alasql.databases[source.databaseid].engineid){var ixx=alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.wxleftfns+"`")]}if(!alasql.databases[source.databaseid].tables[source.tableid].dirty&&ixx){source.ix=ixx;source.data=source.ix[source.wxrightfn(null,query.params,alasql)]}else{source.ix={};var scope={};var i=0;var ilen=source.data.length;var dataw;while((dataw=source.data[i])||source.getfn&&(dataw=source.getfn(i))||i<ilen){if(source.getfn&&!source.dontcache)source.data[i]=dataw;scope[source.alias||source.tableid]=source.data[i];var addr=source.wxleftfn(scope,query.params,alasql);var group=source.ix[addr];if(!group){group=source.ix[addr]=[]}group.push(source.data[i]);i++}if(!alasql.databases[source.databaseid].engineid){alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.wxleftfns+"`")]=source.ix}}if(source.srcwherefns){if(source.data){var scope={};source.data=source.data.filter(function(r){scope[source.alias]=r;return source.srcwherefn(scope,query.params,alasql)})}else{source.data=[]}}}else if(source.srcwherefns&&!source.dontcache){if(source.data){var scope={};source.data=source.data.filter(function(r){scope[source.alias]=r;return source.srcwherefn(scope,query.params,alasql)});var scope={};var i=0;var ilen=source.data.length;var dataw;var res=[];while((dataw=source.data[i])||source.getfn&&(dataw=source.getfn(i))||i<ilen){if(source.getfn&&!source.dontcache)source.data[i]=dataw;scope[source.alias]=dataw;if(source.srcwherefn(scope,query.params,alasql))res.push(dataw);i++}source.data=res}else{source.data=[]}}if(source.databaseid&&alasql.databases[source.databaseid].tables[source.tableid]){}else{}}};function doJoin(query,scope,h){if(h>=query.sources.length){if(query.wherefn(scope,query.params,alasql)){if(query.groupfn){query.groupfn(scope,query.params,query.alasql)}else{query.data.push(query.selectfn(scope,query.params,alasql))}}}else if(query.sources[h].applyselect){var source=query.sources[h];source.applyselect(query.params,function(data){if(data.length>0){for(var i=0;i<data.length;i++){scope[source.alias]=data[i];doJoin(query,scope,h+1)}}else{if(source.applymode=="OUTER"){scope[source.alias]={};doJoin(query,scope,h+1)}}},scope)}else{var source=query.sources[h];var nextsource=query.sources[h+1];if(true){var tableid=source.alias||source.tableid;var pass=false;var data=source.data;var opt=false;if(!source.getfn||source.getfn&&!source.dontcache){if(source.joinmode!="RIGHT"&&source.joinmode!="OUTER"&&source.joinmode!="ANTI"&&source.optimization=="ix"){data=source.ix[source.onleftfn(scope,query.params,alasql)]||[];opt=true}}var i=0;var ilen=data.length;var dataw;while((dataw=data[i])||!opt&&(source.getfn&&(dataw=source.getfn(i)))||i<ilen){if(!opt&&source.getfn&&!source.dontcache)data[i]=dataw;scope[tableid]=dataw;if(!source.onleftfn||source.onleftfn(scope,query.params,alasql)==source.onrightfn(scope,query.params,alasql)){if(source.onmiddlefn(scope,query.params,alasql)){if(source.joinmode!="SEMI"&&source.joinmode!="ANTI"){doJoin(query,scope,h+1)}if(source.joinmode!="LEFT"&&source.joinmode!="INNER"){dataw._rightjoin=true}pass=true}}i++}if((source.joinmode=="LEFT"||source.joinmode=="OUTER"||source.joinmode=="SEMI")&&!pass){scope[tableid]={};doJoin(query,scope,h+1)}}if(h+1<query.sources.length){if(nextsource.joinmode=="OUTER"||nextsource.joinmode=="RIGHT"||nextsource.joinmode=="ANTI"){scope[source.alias]={};var j=0;var jlen=nextsource.data.length;var dataw;while((dataw=nextsource.data[j])||nextsource.getfn&&(dataw=nextsource.getfn(j))||j<jlen){if(nextsource.getfn&&!nextsource.dontcache)nextsource.data[j]=dataw;if(!dataw._rightjoin){scope[nextsource.alias]=dataw;doJoin(query,scope,h+2)}else{delete dataw._rightjoin}j++}}}scope[tableid]=undefined}}function swapSources(query,h){var source=query.sources[h];var nextsource=query.sources[h+1];var onleftfn=source.onleftfn;var onleftfns=source.onleftfns;var onrightfn=source.onrightfn;var onrightfns=source.onrightfns;var optimization=source.optimization;source.onleftfn=nextsource.onrightfn;source.onleftfns=nextsource.onrightfns;source.onrightfn=nextsource.onleftfn;source.onrightfns=nextsource.onleftfns;source.optimization=nextsource.optimization;nextsource.onleftfn=onleftfn;nextsource.onleftfns=onleftfns;nextsource.onrightfn=onrightfn;nextsource.onrightfns=onrightfns;nextsource.optimization=optimization;query.sources[h]=nextsource;query.sources[h+1]=source}yy.Select=function(params){return yy.extend(this,params)};yy.Select.prototype.toString=function(){var s="";if(this.explain)s+=K("EXPLAIN")+" ";s+=K("SELECT")+" ";if(this.modifier)s+=K(this.modifier)+" ";if(this.top){s+=K("TOP")+" "+N(this.top.value)+" ";if(this.percent)s+=K("PERCENT")+" "}s+=this.columns.map(function(col){var s=col.toString();if(typeof col.as!="undefined")s+=" "+K("AS")+" "+L(col.as);return s}).join(", ");if(this.from){s+=NL()+ID()+K("FROM")+" "+this.from.map(function(f){var ss=f.toString();if(f.as)ss+=" "+K("AS")+" "+f.as;return ss}).join(",")}if(this.joins){s+=this.joins.map(function(jn){var ss=NL()+ID();if(jn.joinmode)ss+=K(jn.joinmode)+" ";if(jn.table)ss+=K("JOIN")+" "+jn.table.toString();else if(jn instanceof yy.Apply)ss+=jn.toString();else{throw new Error("Wrong type in JOIN mode")}if(jn.using)ss+=" "+K("USING")+" "+jn.using.toString();if(jn.on)ss+=" "+K("ON")+" "+jn.on.toString();return ss})}if(this.where)s+=NL()+ID()+K("WHERE")+" "+this.where.toString();if(this.group&&this.group.length>0){s+=NL()+ID()+K("GROUP BY")+" "+this.group.map(function(grp){return grp.toString()}).join(", ")}if(this.having)s+=NL()+ID()+K("HAVING")+" "+this.having.toString();if(this.order&&this.order.length>0){s+=NL()+ID()+K("ORDER BY")+" "+this.order.map(function(ord){return ord.toString()}).join(", ")}if(this.limit)s+=NL()+ID()+K("LIMIT")+" "+this.limit.value;if(this.offset)s+=NL()+ID()+K("OFFSET")+" "+this.offset.value;if(this.union)s+=NL()+K("UNION")+NL()+this.union.toString();if(this.unionall)s+=NL()+K("UNION ALL")+NL()+this.unionall.toString();if(this.except)s+=NL()+K("EXCEPT")+NL()+this.except.toString();if(this.intersect)s+=NL()+K("INTERSECT")+NL()+this.intersect.toString();return s};yy.Select.prototype.toJavaScript=function(context,tableid,defcols){var s="alasql.utils.flatArray(this.queriesfn["+(this.queriesidx-1)+"](this.params,null,p))[0]";return s};yy.Select.prototype.compile=function(databaseid){var db=alasql.databases[databaseid];var query=new Query;query.removeKeys=[];query.explain=this.explain;query.explaination=[];query.explid=1;query.modifier=this.modifier;query.database=db;this.compileWhereExists(query);this.compileQueries(query);query.defcols=this.compileDefCols(query,databaseid);query.fromfn=this.compileFrom(query);if(this.joins)this.compileJoins(query);this.compileSelectGroup0(query);if(this.group||query.selectGroup.length>0){query.selectgfns=this.compileSelectGroup1(query)}else{query.selectfns=this.compileSelect1(query)}if(this.where)this.compileWhereJoins(query);query.wherefn=this.compileWhere(query);if(this.group||query.selectGroup.length>0)query.groupfn=this.compileGroup(query);if(this.having)query.havingfn=this.compileHaving(query);if(this.group||query.selectGroup.length>0){query.selectgfn=this.compileSelectGroup2(query)}else{query.selectfn=this.compileSelect2(query)}query.distinct=this.distinct;if(this.order)query.orderfn=this.compileOrder(query);if(this.top){query.limit=this.top.value}else if(this.limit){query.limit=this.limit.value;if(this.offset){query.offset=this.offset.value}}query.percent=this.percent;if(this.union){query.unionfn=this.union.compile(databaseid);if(this.union.order){query.orderfn=this.union.compileOrder(query)}else{query.orderfn=null}}else if(this.unionall){query.unionallfn=this.unionall.compile(databaseid);if(this.unionall.order){query.orderfn=this.unionall.compileOrder(query)}else{query.orderfn=null}}else if(this.except){query.exceptfn=this.except.compile(databaseid);if(this.except.order){query.orderfn=this.except.compileOrder(query)}else{query.orderfn=null}}else if(this.intersect){query.intersectfn=this.intersect.compile(databaseid);if(this.intersect.order){query.intersectfn=this.intersect.compileOrder(query)}else{query.orderfn=null}}if(this.into){if(this.into instanceof yy.Table){if(alasql.options.autocommit&&alasql.databases[this.into.databaseid||databaseid].engineid){query.intoallfns='return alasql.engines["'+alasql.databases[this.into.databaseid||databaseid].engineid+'"]'+'.intoTable("'+(this.into.databaseid||databaseid)+'","'+this.into.tableid+'",this.data, columns, cb);'}else{query.intofns="alasql.databases['"+(this.into.databaseid||databaseid)+"'].tables"+"['"+this.into.tableid+"'].data.push(r);"}}else if(this.into instanceof yy.VarValue){query.intoallfns='alasql.vars["'+this.into.variable+'"]=this.data;res=1;if(cb)res=cb(res);return res;'}else if(this.into instanceof yy.FuncValue){var qs="alasql.into['"+this.into.funcid.toUpperCase()+"'](";if(this.into.args&&this.into.args.length>0){qs+=this.into.args[0].toJavaScript()+",";if(this.into.args.length>1){qs+=this.into.args[1].toJavaScript()+","}else{qs+="null,"}}else{qs+="null, null,"}query.intoallfns=qs+"this.data,columns,cb)"}else if(this.into instanceof yy.ParamValue){query.intofns="params['"+this.into.param+"'].push(r)"}if(query.intofns){query.intofn=new Function("r,i,params,alasql",query.intofns)}if(query.intoallfns){query.intoallfn=new Function("columns,cb,alasql",query.intoallfns)}}var statement=function(params,cb,oldscope){query.params=params;var res1=queryfn(query,oldscope,function(res){var res2=modify(query,res);if(cb)cb(res2);return res2});return res1};statement.query=query;return statement};function modify(query,res){if(query.modifier=="VALUE"){if(res.length>0){var key;if(query.columns&&query.columns.length>0)key=query.columns[0].columnid;else key=Object.keys(res[0])[0];res=res[0][key]}else{res=undefined}}if(query.modifier=="ROW"){if(res.length>0){var key;if(query.columns&&query.columns.length>0)key=query.columns[0].columnid;else key=Object.keys(res[0])[0];var a=[];for(var key in res[0]){a.push(res[0][key])}res=a}else{res=undefined}}if(query.modifier=="COLUMN"){var ar=[];if(res.length>0){var key;if(query.columns&&query.columns.length>0)key=query.columns[0].columnid;else key=Object.keys(res[0])[0];for(var i=0,ilen=res.length;i<ilen;i++){ar.push(res[i][key])}}res=ar}if(query.modifier=="MATRIX"){res=arrayOfArrays(res)}if(query.modifier=="INDEX"){var ar={};var key,val;if(query.columns&&query.columns.length>0){key=query.columns[0].columnid;val=query.columns[1].columnid}else{var okeys=Object.keys(res[0]);key=okeys[0];val=okeys[1]}for(var i=0,ilen=res.length;i<ilen;i++){ar[res[i][key]]=res[i][val]}res=ar}if(query.modifier=="RECORDSET"){res=new alasql.Recordset({data:res,columns:query.columns})}if(query.modifier=="TEXTSTRING"){var key;if(query.columns&&query.columns.length>0)key=query.columns[0].columnid;else key=Object.keys(res[0])[0];var s="";for(var i=0,ilen=res.length;i<ilen;i++){res[i]=res[i][key]}res=res.join("\n")}return res}yy.Select.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.ExistsValue=function(params){return yy.extend(this,params)};yy.ExistsValue.prototype.toString=function(){return"EXISTS("+this.value.toString()+")"};yy.ExistsValue.prototype.toType=function(){return"boolean"};yy.ExistsValue.prototype.toJavaScript=function(){return"this.existsfn["+this.existsidx+"](params,null,p).length"};yy.Select.prototype.compileWhereExists=function(query){if(!this.exists)return;query.existsfn=this.exists.map(function(ex){return ex.compile(query.database.databaseid)})};yy.Select.prototype.compileQueries=function(query){if(!this.queries)return;query.queriesfn=this.queries.map(function(q){return q.compile(query.database.databaseid)})};alasql.precompile=function(statement,databaseid,params){if(!statement)return;statement.params=params;if(statement.queries){statement.queriesfn=statement.queries.map(function(q){return q.compile(databaseid||statement.database.databaseid)})}if(statement.exists){statement.existsfn=statement.exists.map(function(ex){return ex.compile(databaseid||statement.database.databaseid)})}};yy.Select.prototype.compileFrom=function(query){var self=this;query.sources=[];query.aliases={};if(!self.from)return;self.from.forEach(function(tq){var alias=tq.as||tq.tableid;if(tq instanceof yy.Table){query.aliases[alias]={tableid:tq.tableid,databaseid:tq.databaseid||query.database.databaseid,type:"table"}}else if(tq instanceof yy.Select){query.aliases[alias]={type:"subquery"}}else if(tq instanceof yy.ParamValue){query.aliases[alias]={type:"paramvalue"}}else if(tq instanceof yy.FuncValue){query.aliases[alias]={type:"funcvalue"}}else if(tq instanceof yy.VarValue){query.aliases[alias]={type:"varvalue"}}else if(tq instanceof yy.FromData){query.aliases[alias]={type:"fromdata"}}else{throw new Error("Wrong table at FROM")}var source={alias:alias,databaseid:tq.databaseid||query.database.databaseid,tableid:tq.tableid,joinmode:"INNER",onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};if(tq instanceof yy.Table){if(alasql.options.autocommit&&alasql.databases[source.databaseid].engineid){source.datafn=function(query,params,cb,idx,alasql){return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(source.databaseid,source.tableid,cb,idx,query)}}else if(alasql.databases[source.databaseid].tables[source.tableid].view){source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].select(params);if(cb)res=cb(res,idx,query);return res}}else{source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].data;if(cb)res=cb(res,idx,query);return res}}}else if(tq instanceof yy.Select){source.subquery=tq.compile(query.database.databaseid);source.datafn=function(query,params,cb,idx,alasql){var res;source.subquery(query.params,function(data){if(cb)res=cb(data,idx,query);return data});return res}}else if(tq instanceof yy.ParamValue){var ps="var res = alasql.prepareFromData(params['"+tq.param+"']";if(tq.array)ps+=",true";ps+=");if(cb)res=cb(res,idx,query);return res";source.datafn=new Function("query,params,cb,idx,alasql",ps)}else if(tq instanceof yy.VarValue){var ps="var res = alasql.prepareFromData(alasql.vars['"+tq.variable+"']";if(tq.array)ps+=",true";ps+=");if(cb)res=cb(res,idx,query);return res";source.datafn=new Function("query,params,cb,idx,alasql",ps)}else if(tq instanceof yy.FuncValue){var s="var res=alasql.from['"+tq.funcid.toUpperCase()+"'](";if(tq.args&&tq.args.length>0){if(tq.args[0]){s+=tq.args[0].toJavaScript("query.oldscope")+","}else{s+="null,"}if(tq.args[1]){s+=tq.args[1].toJavaScript("query.oldscope")+","}else{s+="null,"}}else{s+="null,null,"}s+="cb,idx,query";s+=");/*if(cb)res=cb(res,idx,query);*/return res";source.datafn=new Function("query, params, cb, idx, alasql",s)}else if(tq instanceof yy.FromData){source.datafn=function(query,params,cb,idx,alasql){var res=tq.data;if(cb)res=cb(res,idx,query);return res}}else{throw new Error("Wrong table at FROM")}query.sources.push(source)});query.defaultTableid=query.sources[0].alias};alasql.prepareFromData=function(data,array){var res=data;if(typeof data=="string"){res=data.split(/\r?\n/);if(array){for(var i=0,ilen=res.length;i<ilen;i++){res[i]=[res[i]]}}}else if(array){res=[];for(var i=0,ilen=data.length;i<ilen;i++){res.push([data[i]])}}else if(typeof data=="object"&&!(data instanceof Array)){res=[];for(var key in data){if(data.hasOwnProperty(key))res.push([key,data[key]])}}return res};yy.Select.prototype.compileJoins=function(query){var self=this;this.joins.forEach(function(jn){if(jn.joinmode=="CROSS"){if(jn.using||jn.on){throw new Error("CROSS JOIN cannot have USING or ON clauses")}else{jn.joinmode=="INNER"}}var source;var tq;if(jn instanceof yy.Apply){source={alias:jn.as,applymode:jn.applymode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};source.applyselect=jn.select.compile(query.database.databaseid);source.datafn=function(query,params,cb,idx,alasql){var res;if(cb)res=cb(res,idx,query);return res};query.sources.push(source)}else{if(jn.table){tq=jn.table;source={alias:jn.as||tq.tableid,databaseid:tq.databaseid||query.database.databaseid,tableid:tq.tableid,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};if(!alasql.databases[source.databaseid].tables[source.tableid]){throw new Error("Table '"+source.tableid+"' is not exists in database '"+source.databaseid)+"'"}if(alasql.options.autocommit&&alasql.databases[source.databaseid].engineid){source.datafn=function(query,params,cb,idx,alasql){return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(source.databaseid,source.tableid,cb,idx,query)}}else if(alasql.databases[source.databaseid].tables[source.tableid].view){source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].select(params);if(cb)res=cb(res,idx,query);return res}}else{source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].data;if(cb)res=cb(res,idx,query);return res}}query.aliases[source.alias]={tableid:tq.tableid,databaseid:tq.databaseid||query.database.databaseid}}else if(jn.select){var tq=jn.select;source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};source.subquery=tq.compile(query.database.databaseid);source.datafn=function(query,params,cb,idx,alasql){return source.subquery(query.params,null,cb,idx)};query.aliases[source.alias]={type:"subquery"}}else if(jn.param){source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};var jnparam=jn.param.param;var ps="var res=alasql.prepareFromData(params['"+jnparam+"']";if(jn.array)ps+=",true";ps+=");if(cb)res=cb(res, idx, query);return res";source.datafn=new Function("query,params,cb,idx, alasql",ps);query.aliases[source.alias]={type:"paramvalue"}}else if(jn.variable){source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};var ps="var res=alasql.prepareFromData(alasql.vars['"+jn.variable+"']";if(jn.array)ps+=",true";ps+=");if(cb)res=cb(res, idx, query);return res";source.datafn=new Function("query,params,cb,idx, alasql",ps);query.aliases[source.alias]={type:"varvalue"}}else if(jn.funcid){source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};var s="var res=alasql.from['"+js.funcid.toUpperCase()+"'](";if(jn.args&&jn.args.length>0){if(jn.args[0]){s+=jn.args[0].toJavaScript("query.oldscope")+","}else{s+="null,"}if(jn.args[1]){s+=jn.args[1].toJavaScript("query.oldscope")+","}else{s+="null,"}}else{s+="null,null,"}s+="cb,idx,query";s+=");/*if(cb)res=cb(res,idx,query);*/return res";source.datafn=new Function("query, params, cb, idx, alasql",s);query.aliases[source.alias]={type:"funcvalue"}}var alias=source.alias;if(jn.natural){if(jn.using||jn.on){throw new Error("NATURAL JOIN cannot have USING or ON clauses")}else{if(query.sources.length>0){var prevSource=query.sources[query.sources.length-1];var prevTable=alasql.databases[prevSource.databaseid].tables[prevSource.tableid];var table=alasql.databases[source.databaseid].tables[source.tableid];if(prevTable&&table){var c1=prevTable.columns.map(function(col){return col.columnid});var c2=table.columns.map(function(col){return col.columnid});jn.using=arrayIntersect(c1,c2).map(function(colid){return{columnid:colid}})}else{throw new Error("In this version of Alasql NATURAL JOIN "+"works for tables with predefined columns only")}}}}if(jn.using){var prevSource=query.sources[query.sources.length-1];source.onleftfns=jn.using.map(function(col){return"p['"+(prevSource.alias||prevSource.tableid)+"']['"+col.columnid+"']"}).join('+"`"+');source.onleftfn=new Function("p,params,alasql","return "+source.onleftfns);source.onrightfns=jn.using.map(function(col){return"p['"+(source.alias||source.tableid)+"']['"+col.columnid+"']"}).join('+"`"+');source.onrightfn=new Function("p,params,alasql","return "+source.onrightfns);source.optimization="ix"}else if(jn.on){if(jn.on instanceof yy.Op&&jn.on.op=="="&&!jn.on.allsome){source.optimization="ix";var lefts="";var rights="";var middles="";var middlef=false;var ls=jn.on.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=jn.on.right.toJavaScript("p",query.defaultTableid,query.defcols);if(ls.indexOf("p['"+alias+"']")>-1&&!(rs.indexOf("p['"+alias+"']")>-1)){if((ls.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){rights=ls}else{middlef=true}}else if(!(ls.indexOf("p['"+alias+"']")>-1)&&rs.indexOf("p['"+alias+"']")>-1){if((rs.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){lefts=ls}else{middlef=true}}else{middlef=true}if(rs.indexOf("p['"+alias+"']")>-1&&!(ls.indexOf("p['"+alias+"']")>-1)){if((rs.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){rights=rs}else{middlef=true}}else if(!(rs.indexOf("p['"+alias+"']")>-1)&&ls.indexOf("p['"+alias+"']")>-1){if((ls.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){lefts=rs}else{middlef=true}}else{middlef=true}if(middlef){rights="";lefts="";middles=jn.on.toJavaScript("p",query.defaultTableid,query.defcols);source.optimization="no"}source.onleftfns=lefts;source.onrightfns=rights;source.onmiddlefns=middles||"true";source.onleftfn=new Function("p,params,alasql","return "+source.onleftfns);source.onrightfn=new Function("p,params,alasql","return "+source.onrightfns);source.onmiddlefn=new Function("p,params,alasql","return "+source.onmiddlefns)}else{source.optimization="no";source.onmiddlefns=jn.on.toJavaScript("p",query.defaultTableid,query.defcols);source.onmiddlefn=new Function("p,params,alasql","return "+jn.on.toJavaScript("p",query.defaultTableid,query.defcols))}}query.sources.push(source)}})};yy.Select.prototype.compileWhere=function(query){if(this.where){if(typeof this.where=="function"){return this.where}else{s=this.where.toJavaScript("p",query.defaultTableid,query.defcols);query.wherefns=s;return new Function("p,params,alasql","return "+s)}}else return function(){return true}};yy.Select.prototype.compileWhereJoins=function(query){return;optimizeWhereJoin(query,this.where.expression);query.sources.forEach(function(source){if(source.srcwherefns){source.srcwherefn=new Function("p,params,alasql","return "+source.srcwherefns)}if(source.wxleftfns){source.wxleftfn=new Function("p,params,alasql","return "+source.wxleftfns)}if(source.wxrightfns){source.wxrightfn=new Function("p,params,alasql","return "+source.wxrightfns)}})};function optimizeWhereJoin(query,ast){if(!ast)return false;if(!(ast instanceof yy.Op))return;if(ast.op!="="&&ast.op!="AND")return;if(ast.allsome)return;var s=ast.toJavaScript("p",query.defaultTableid,query.defcols);var fsrc=[];query.sources.forEach(function(source,idx){if(source.tableid){if(s.indexOf("p['"+source.alias+"']")>-1)fsrc.push(source)}});if(fsrc.length==0){return}else if(fsrc.length==1){if(!(s.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+fsrc[0].alias+"']"})){return}var src=fsrc[0];src.srcwherefns=src.srcwherefns?src.srcwherefns+"&&"+s:s;if(ast instanceof yy.Op&&(ast.op=="="&&!ast.allsome)){if(ast.left instanceof yy.Column){var ls=ast.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=ast.right.toJavaScript("p",query.defaultTableid,query.defcols);if(rs.indexOf("p['"+fsrc[0].alias+"']")==-1){fsrc[0].wxleftfns=ls;fsrc[0].wxrightfns=rs}}if(ast.right instanceof yy.Column){var ls=ast.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=ast.right.toJavaScript("p",query.defaultTableid,query.defcols);if(ls.indexOf("p['"+fsrc[0].alias+"']")==-1){fsrc[0].wxleftfns=rs;fsrc[0].wxrightfns=ls}}}ast.reduced=true;return}else{if(ast.op="AND"){optimizeWhereJoin(query,ast.left);optimizeWhereJoin(query,ast.right)}}}yy.Select.prototype.compileGroup=function(query){var self=this;var tableid=query.sources[0].alias;var defcols=query.defcols;var allgroup=[[]];if(this.group){allgroup=decartes(this.group,query)
  }var allgroups=[];allgroup.forEach(function(a){allgroups=arrayUnion(allgroups,a)});query.allgroups=allgroups;if(false){allgroups.forEach(function(col2){if(query.selectColumns[colid]){}else{var tmpid="default";if(query.sources.length>0)tmpid=query.sources[0].alias;if(Object.keys(query.selectColumns).length!=0)query.removeKeys.push(colid);query.selectfns+="r['"+escapeq(colid)+"']="+new yy.Column({columnid:colid}).toJavaScript("p",tmpid)+";"}})}var s="";allgroup.forEach(function(agroup){s+="var g=this.xgroups[";var rg=agroup.map(function(col2){var columnid=col2.split("	")[0];var coljs=col2.split("	")[1];if(columnid=="")return"1";else return coljs});if(rg.length==0)rg=["''"];s+=rg.join('+"`"+');s+="];if(!g) {this.groups.push((g=this.xgroups[";s+=rg.join('+"`"+');s+="] = {";s+=agroup.map(function(col2){var columnid=col2.split("	")[0];var coljs=col2.split("	")[1];if(columnid=="")return"";else return"'"+columnid+"':"+coljs+","}).join("");var neggroup=arrayDiff(allgroups,agroup);s+=neggroup.map(function(col2){var columnid=col2.split("	")[0];var coljs=col2.split("	")[1];return"'"+columnid+"':null,"}).join("");var aft="";s+=query.selectGroup.map(function(col,idx){var colexp=col.expression.toJavaScript("p",tableid,defcols);var colas=col.nick;if(col instanceof yy.AggrValue){if(col.distinct){aft+=",g['$$_VALUES_"+colas+"']={},g['$$_VALUES_"+colas+"']["+colexp+"]=true"}if(col.aggregatorid=="SUM"||col.aggregatorid=="MIN"||col.aggregatorid=="MAX"||col.aggregatorid=="FIRST"||col.aggregatorid=="LAST"){return"'"+colas+"':"+colexp+","}else if(col.aggregatorid=="ARRAY"){return"'"+colas+"':["+colexp+"],"}else if(col.aggregatorid=="COUNT"){if(col.expression.columnid=="*"){return"'"+colas+"':1,"}else{return"'"+colas+"':(typeof "+colexp+' != "undefined")?1:0,'}}else if(col.aggregatorid=="AVG"){query.removeKeys.push("_SUM_"+colas);query.removeKeys.push("_COUNT_"+colas);return"'"+colas+"':"+colexp+",'_SUM_"+colas+"':"+colexp+",'_COUNT_"+colas+"':1,"}else if(col.aggregatorid=="AGGR"){aft+=",g['"+colas+"']="+col.expression.toJavaScript("g",-1);return""}else if(col.aggregatorid=="REDUCE"){return"'"+colas+"':alasql.aggr['"+col.funcid+"']("+colexp+"),"}return""}else return""}).join("");s+="}"+aft+",g));} else {";s+=query.selectGroup.map(function(col,idx){var colas=col.nick;var colexp=col.expression.toJavaScript("p",tableid,defcols);if(col instanceof yy.AggrValue){if(col.distinct){var pre="if(typeof "+colexp+'!="undefined" && (!g[\'$$_VALUES_'+colas+"']["+colexp+"])) 				 		 {";var post="g['$$_VALUES_"+colas+"']["+colexp+"]=true;}"}else{var pre="",post=""}if(col.aggregatorid=="SUM"){return pre+"g['"+colas+"']+="+colexp+";"+post}else if(col.aggregatorid=="COUNT"){if(col.expression.columnid=="*")return pre+"g['"+colas+"']++;"+post;else{return pre+"if(typeof "+colexp+'!="undefined") g[\''+colas+"']++;"+post}}else if(col.aggregatorid=="ARRAY"){return pre+"g['"+colas+"'].push("+colexp+");"+post}else if(col.aggregatorid=="MIN"){return pre+"g['"+colas+"']=Math.min(g['"+colas+"'],"+colexp+");"+post}else if(col.aggregatorid=="MAX"){return pre+"g['"+colas+"']=Math.max(g['"+colas+"'],"+colexp+");"+post}else if(col.aggregatorid=="FIRST"){return""}else if(col.aggregatorid=="LAST"){return pre+"g['"+colas+"']="+colexp+";"+post}else if(col.aggregatorid=="AVG"){return pre+"g['_SUM_"+colas+"']+="+colexp+";"+"g['_COUNT_"+colas+"']++;"+"g['"+colas+"']=g['_SUM_"+colas+"']/g['_COUNT_"+colas+"'];"+post}else if(col.aggregatorid=="AGGR"){return pre+"g['"+colas+"']="+col.expression.toJavaScript("g",-1)+";"+post}else if(col.aggregatorid=="REDUCE"){return pre+"g['"+colas+"']=alasql.aggr."+col.funcid+"("+colexp+",g['"+colas+"']);"+post}return""}else return""}).join("");s+="}"});return new Function("p,params,alasql",s)};function compileSelectStar(query,alias){var s="",sp="",ss=[];if(query.aliases[alias].tableid){var columns=alasql.databases[query.aliases[alias].databaseid].tables[query.aliases[alias].tableid].columns}if(columns&&columns.length>0){columns.forEach(function(tcol){ss.push("'"+tcol.columnid+"':p['"+alias+"']['"+tcol.columnid+"']");query.selectColumns[escapeq(tcol.columnid)]=true;var coldef={columnid:tcol.columnid,dbtypeid:tcol.dbtypeid,dbsize:tcol.dbsize,dbprecision:tcol.dbprecision,dbenum:tcol.dbenum};query.columns.push(coldef);query.xcolumns[coldef.columnid]=coldef})}else{sp+='var w=p["'+alias+'"];for(var k in w){r[k]=w[k]};';query.dirtyColumns=true}return{s:ss.join(","),sp:sp}}yy.Select.prototype.compileSelect1=function(query){var self=this;query.columns=[];query.xcolumns={};query.selectColumns={};query.dirtyColumns=false;var s="var r={";var sp="";var ss=[];this.columns.forEach(function(col){if(col instanceof yy.Column){if(col.columnid=="*"){if(col.func){sp+="r=params['"+col.param+"'](p['"+query.sources[0].alias+"'],p,params,alasql);"}else if(col.tableid){var ret=compileSelectStar(query,col.tableid);if(ret.s)ss=ss.concat(ret.s);sp+=ret.sp}else{for(var alias in query.aliases){var ret=compileSelectStar(query,alias);if(ret.s)ss=ss.concat(ret.s);sp+=ret.sp}}}else{var tbid=col.tableid;var dbid=col.databaseid||query.sources[0].databaseid||query.database.databaseid;if(!tbid)tbid=query.defcols[col.columnid];if(!tbid)tbid=query.defaultTableid;if(col.columnid!="_"){ss.push("'"+escapeq(col.as||col.columnid)+"':p['"+tbid+"']['"+col.columnid+"']")}else{ss.push("'"+escapeq(col.as||col.columnid)+"':p['"+tbid+"']")}query.selectColumns[escapeq(col.as||col.columnid)]=true;if(query.aliases[tbid]&&query.aliases[tbid].type=="table"){if(!alasql.databases[dbid].tables[query.aliases[tbid].tableid]){throw new Error("Table '"+tbid+"' does not exists in database")}var columns=alasql.databases[dbid].tables[query.aliases[tbid].tableid].columns;var xcolumns=alasql.databases[dbid].tables[query.aliases[tbid].tableid].xcolumns;if(xcolumns&&columns.length>0){var tcol=xcolumns[col.columnid];var coldef={columnid:col.as||col.columnid,dbtypeid:tcol.dbtypeid,dbsize:tcol.dbsize,dbpecision:tcol.dbprecision,dbenum:tcol.dbenum};query.columns.push(coldef);query.xcolumns[coldef.columnid]=coldef}else{query.dirtyColumns=true}}else{}}}else if(col instanceof yy.AggrValue){if(!self.group){self.group=[""]}if(!col.as)col.as=escapeq(col.toString());if(col.aggregatorid=="SUM"||col.aggregatorid=="MAX"||col.aggregatorid=="MIN"||col.aggregatorid=="FIRST"||col.aggregatorid=="LAST"||col.aggregatorid=="AVG"||col.aggregatorid=="ARRAY"||col.aggregatorid=="REDUCE"){ss.push("'"+escapeq(col.as)+"':"+col.expression.toJavaScript("p",query.defaultTableid,query.defcols))}else if(col.aggregatorid=="COUNT"){ss.push("'"+escapeq(col.as)+"':1")}query.selectColumns[col.aggregatorid+"("+escapeq(col.expression.toString())+")"]=thtd}else{ss.push("'"+escapeq(col.as||col.columnid||col.toString())+"':"+col.toJavaScript("p",query.defaultTableid,query.defcols));query.selectColumns[escapeq(col.as||col.columnid||col.toString())]=true}});s+=ss.join(",")+"};"+sp;return s};yy.Select.prototype.compileSelect2=function(query){var s=query.selectfns;return new Function("p,params,alasql",s+"return r")};yy.Select.prototype.compileSelectGroup0=function(query){var self=this;self.columns.forEach(function(col,idx){if(col instanceof yy.Column&&col.columnid=="*"){}else{var colas;if(col instanceof yy.Column){colas=escapeq(col.columnid)}else{colas=escapeq(col.toString())}for(var i=0;i<idx;i++){if(colas==self.columns[i].nick){colas=self.columns[i].nick+":"+idx;break}}col.nick=colas}});this.columns.forEach(function(col){if(col.findAggregator)col.findAggregator(query)});if(this.having){if(this.having.findAggregator)this.having.findAggregator(query)}};yy.Select.prototype.compileSelectGroup1=function(query){var self=this;var s="var r = {};";self.columns.forEach(function(col,idx){if(col instanceof yy.Column&&col.columnid=="*"){s+="for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};"}else{var colas=col.as;if(typeof colas=="undefined"){if(col instanceof yy.Column)colas=escapeq(col.columnid);else colas=col.nick}query.groupColumns[colas]=col.nick;s+="r['"+colas+"']=";s+=col.toJavaScript("g","")+";";for(var i=0;i<query.removeKeys.length;i++){if(query.removeKeys[i]==colas){query.removeKeys.splice(i,1);break}}}});return s};yy.Select.prototype.compileSelectGroup2=function(query){var s=query.selectgfns;return new Function("g,params,alasql",s+"return r")};yy.Select.prototype.compileHaving=function(query){if(this.having){s=this.having.toJavaScript("g",-1);query.havingfns=s;return new Function("g,params,alasql","return "+s)}else return function(){return true}};yy.Select.prototype.compileOrder=function(query){var self=this;if(this.order){if(this.order&&this.order.length==1&&this.order[0].expression&&typeof this.order[0].expression=="function"){var func=this.order[0].expression;return function(a,b){var ra=func(a),rb=func(b);if(ra>rb)return 1;if(ra==rb)return 0;return-1}}var s="";var sk="";this.order.forEach(function(ord,idx){var dg="";if(ord.expression instanceof yy.NumValue){ord.expression=self.columns[ord.expression.value-1]}if(ord.expression instanceof yy.Column){var columnid=ord.expression.columnid;if(query.xcolumns[columnid]){var dbtypeid=query.xcolumns[columnid].dbtypeid;if(dbtypeid=="DATE"||dbtypeid=="DATETIME")dg=".valueOf()"}else{if(alasql.options.valueof)dg=".valueOf()"}if(ord.nocase)dg+=".toUpperCase()";s+="if(a['"+columnid+"']"+dg+(ord.direction=="ASC"?">":"<")+"b['"+columnid+"']"+dg+")return 1;";s+="if(a['"+columnid+"']"+dg+"==b['"+columnid+"']"+dg+"){"}else{dg=".valueOf()";if(ord.nocase)dg+=".toUpperCase()";s+="if("+ord.toJavaScript("a","")+dg+(ord.direction=="ASC"?">":"<")+ord.toJavaScript("b","")+dg+")return 1;";s+="if("+ord.toJavaScript("a","")+dg+"=="+ord.toJavaScript("b","")+dg+"){"}sk+="}"});s+="return 0;";s+=sk+"return -1";query.orderfns=s;return new Function("a,b",s)}};var rollup=function(a,query){var rr=[];var mask=0;var glen=a.length;for(var g=0;g<glen+1;g++){var ss=[];for(var i=0;i<glen;i++){if(a[i]instanceof yy.Column){a[i].nick=escapeq(a[i].columnid);query.groupColumns[escapeq(a[i].columnid)]=a[i].nick;var aaa=a[i].nick+"	"+a[i].toJavaScript("p",query.sources[0].alias,query.defcols)}else{query.groupColumns[escapeq(a[i].toString())]=escapeq(a[i].toString());var aaa=escapeq(a[i].toString())+"	"+a[i].toJavaScript("p",query.sources[0].alias,query.defcols)}if(mask&1<<i)ss.push(aaa)}rr.push(ss);mask=(mask<<1)+1}return rr};var cube=function(a,query){var rr=[];var glen=a.length;for(var g=0;g<1<<glen;g++){var ss=[];for(var i=0;i<glen;i++){if(g&1<<i)ss=ss.concat(decartes(a[i],query))}rr.push(ss)}return rr};var groupingsets=function(a,query){return a.reduce(function(acc,d){acc=acc.concat(decartes(d,query));return acc},[])};var cartes=function(a1,a2){var rrr=[];for(var i1=0;i1<a1.length;i1++){for(var i2=0;i2<a2.length;i2++){rrr.push(a1[i1].concat(a2[i2]))}}return rrr};function decartes(gv,query){if(gv instanceof Array){var res=[[]];for(var t=0;t<gv.length;t++){if(gv[t]instanceof yy.Column){gv[t].nick=escapeq(gv[t].columnid);query.groupColumns[gv[t].nick]=gv[t].nick;res=res.map(function(r){return r.concat(gv[t].nick+"	"+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}else if(gv[t]instanceof yy.FuncValue){query.groupColumns[escapeq(gv[t].toString())]=escapeq(gv[t].toString());res=res.map(function(r){return r.concat(escapeq(gv[t].toString())+"	"+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}else if(gv[t]instanceof yy.GroupExpression){if(gv[t].type=="ROLLUP")res=cartes(res,rollup(gv[t].group,query));else if(gv[t].type=="CUBE")res=cartes(res,cube(gv[t].group,query));else if(gv[t].type=="GROUPING SETS")res=cartes(res,groupingsets(gv[t].group,query));else throw new Error("Unknown grouping function")}else if(gv[t]===""){res=[["1	1"]]}else{res=res.map(function(r){query.groupColumns[escapeq(gv[t].toString())]=escapeq(gv[t].toString());return r.concat(escapeq(gv[t].toString())+"	"+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}}return res}else if(gv instanceof yy.FuncValue){query.groupColumns[escapeq(gv.toString())]=escapeq(gv.toString());return[gv.toString()+"	"+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}else if(gv instanceof yy.Column){gv.nick=escapeq(gv.columnid);query.groupColumns[gv.nick]=gv.nick;return[gv.nick+"	"+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}else{query.groupColumns[escapeq(gv.toString())]=escapeq(gv.toString());return[escapeq(gv.toString())+"	"+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}}yy.Select.prototype.compileDefCols=function(query,databaseid){var defcols={};if(this.from){this.from.forEach(function(fr){if(fr instanceof yy.Table){var alias=fr.as||fr.tableid;var table=alasql.databases[fr.databaseid||databaseid].tables[fr.tableid];if(table.columns){table.columns.forEach(function(col){if(defcols[col.columnid]){defcols[col.columnid]="-"}else{defcols[col.columnid]=alias}})}}else if(fr instanceof yy.Select){}else if(fr instanceof yy.ParamValue){}else if(fr instanceof yy.VarValue){}else if(fr instanceof yy.FuncValue){}else if(fr instanceof yy.FromData){}else{throw new Error("Unknown type of FROM clause")}})}if(this.joins){this.joins.forEach(function(jn){if(jn.table){var alias=jn.table.tableid;if(jn.as)alias=jn.as;var alias=jn.as||jn.table.tableid;var table=alasql.databases[jn.table.databaseid||databaseid].tables[jn.table.tableid];if(table.columns){table.columns.forEach(function(col){if(defcols[col.columnid]){defcols[col.columnid]="-"}else{defcols[col.columnid]=alias}})}}else if(jn.select){}else if(jn.param){}else if(jn.func){}else{throw new Error("Unknown type of FROM clause")}})}return defcols};yy.Union=function(params){return yy.extend(this,params)};yy.Union.prototype.toString=function(){return K("UNION")};yy.Union.prototype.compile=function(tableid){return null};yy.Apply=function(params){return yy.extend(this,params)};yy.Apply.prototype.toString=function(){var s=K(this.applymode)+" "+K("APPLY")+" (";s+=this.select.toString()+")";if(this.as)s+=" "+K("AS")+" "+L(this.as);return s};yy.Over=function(params){return yy.extend(this,params)};yy.Over.prototype.toString=function(){var s=K("OVER")+" (";if(this.partition){s+=K("PARTITION")+" "+K("BY")+" "+this.partition.toString();if(this.order)s+=" "}if(this.order){s+=K("ORDER")+" "+K("BY")+" "+this.order.toString()}s+=")";return s};yy.ExpressionStatement=function(params){return yy.extend(this,params)};yy.ExpressionStatement.prototype.toString=function(){return this.expression.toString()};yy.ExpressionStatement.prototype.execute=function(databaseid,params,cb){if(this.expression){var expr=new Function("params,alasql,p","return "+this.expression.toJavaScript("","",null));var res=expr(params,alasql);if(cb)res=cb(res);return res}};yy.Expression=function(params){return yy.extend(this,params)};yy.Expression.prototype.toString=function(){var s=this.expression.toString();if(this.order)s+=" "+this.order.toString();if(this.nocase)s+=" "+K("COLLATE")+" "+K("NOCASE");return s};yy.Expression.prototype.findAggregator=function(query){if(this.expression.findAggregator)this.expression.findAggregator(query)};yy.Expression.prototype.toJavaScript=function(context,tableid,defcols){if(this.expression.reduced)return"true";return this.expression.toJavaScript(context,tableid,defcols)};yy.Expression.prototype.compile=function(context,tableid,defcols){if(this.reduced)return returnTrue();return new Function("p","return "+this.toJavaScript(context,tableid,defcols))};yy.JavaScript=function(params){return yy.extend(this,params)};yy.JavaScript.prototype.toString=function(){var s="``"+this.value+"``";return s};yy.JavaScript.prototype.toJavaScript=function(context,tableid,defcols){return"("+this.value+")"};yy.JavaScript.prototype.execute=function(databaseid,params,cb){var res=1;var expr=new Function("params,alasql,p",this.value);expr(params,alasql);if(cb)res=cb(res);return res};yy.Literal=function(params){return yy.extend(this,params)};yy.Literal.prototype.toString=function(){var s=this.value;if(this.value1)s=this.value1+"."+s;return L(s)};yy.Join=function(params){return yy.extend(this,params)};yy.Join.prototype.toString=function(){var s=NL()+ID();if(this.joinmode)s+=K(this.joinmode)+" ";s+=K("JOIN")+this.table.toString();return s};yy.Table=function(params){return yy.extend(this,params)};yy.Table.prototype.toString=function(){var s=this.tableid;if(this.databaseid)s=this.databaseid+"."+s;return L(s)};yy.View=function(params){return yy.extend(this,params)};yy.View.prototype.toString=function(){var s=this.viewid;if(this.databaseid)s=this.databaseid+"."+s;return L(s)};yy.Op=function(params){return yy.extend(this,params)};yy.Op.prototype.toString=function(){if(this.op=="IN"||this.op=="NOT IN"){return this.left.toString()+" "+P(this.op)+" ("+this.right.toString()+")"}if(this.allsome){return this.left.toString()+" "+P(this.op)+" "+this.allsome+" ("+this.right.toString()+")"}if(this.op=="->"){var s=this.left.toString()+"->";if(typeof this.right!="string"&&typeof this.right!="number")s+="(";s+=this.right.toString();if(typeof this.right!="string"&&typeof this.right!="number")s+=")";return s}return this.left.toString()+" "+P(this.op)+" "+(this.allsome?this.allsome+" ":"")+this.right.toString()};yy.Op.prototype.findAggregator=function(query){if(this.left&&this.left.findAggregator)this.left.findAggregator(query);if(this.right&&this.right.findAggregator&&!this.allsome){this.right.findAggregator(query)}};yy.Op.prototype.toType=function(tableid){if(["-","*","/","%","^"].indexOf(this.op)>-1)return"number";if(this.op=="+"){if(this.left.toType(tableid)=="string"||this.right.toType(tableid)=="string")return"string";if(this.left.toType(tableid)=="number"||this.right.toType(tableid)=="number")return"number"}if(["AND","OR","NOT","=","==","===","!=","!==","!===",">",">=","<","<=","IN","NOT IN","LIKE","NOT LIKE"].indexOf(this.op)>-1)return"boolean";if(this.op=="BETWEEN"||this.op=="NOT BETWEEN"||this.op=="IS NULL"||this.op=="IS NOT NULL")return"boolean";if(this.allsome)return"boolean";if(!this.op)return this.left.toType();return"unknown"};yy.Op.prototype.toJavaScript=function(context,tableid,defcols){var op=this.op;if(this.op=="=")op="===";else if(this.op=="<>")op="!=";else if(this.op=="OR")op="||";if(this.op=="->"){if(typeof this.right=="string"){return this.left.toJavaScript(context,tableid,defcols)+'["'+this.right+'"]'}else if(typeof this.right=="number"){return this.left.toJavaScript(context,tableid,defcols)+"["+this.right+"]"}else if(this.right instanceof yy.FuncValue){ss=[];if(!this.right.args||this.right.args.length==0){}else{var ss=this.right.args.map(function(arg){return arg.toJavaScript(context,tableid,defcols)})}return this.left.toJavaScript(context,tableid,defcols)+"['"+this.right.funcid+"']("+ss.join(",")+")"}else{return this.left.toJavaScript(context,tableid,defcols)+"["+this.right.toJavaScript(context,tableid,defcols)+"]"}}if(this.op=="IS"){return"((typeof "+this.left.toJavaScript(context,tableid,defcols)+"=='undefined') == "+"(typeof "+this.right.toJavaScript(context,tableid,defcols)+"=='undefined'))"}if(this.op=="=="){return"alasql.utils.deepEqual("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+")"}if(this.op=="==="){return"(("+this.left.toJavaScript(context,tableid,defcols)+").valueOf()===("+this.right.toJavaScript(context,tableid,defcols)+".valueOf()))"}if(this.op=="!==="){return"!(("+this.left.toJavaScript(context,tableid,defcols)+").valueOf()===("+this.right.toJavaScript(context,tableid,defcols)+".valueOf()))"}if(this.op=="!=="){return"(!alasql.utils.deepEqual("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+"))"}if(this.op=="LIKE"){var s="("+this.left.toJavaScript(context,tableid,defcols)+"+'')"+".toUpperCase().match(new RegExp('^'+("+this.right.toJavaScript(context,tableid,defcols)+").replace(/\\%/g,'.*').toUpperCase()+'$','g'))";return s}if(this.op=="NOT LIKE"){var s="!(("+this.left.toJavaScript(context,tableid,defcols)+"+'')"+".toUpperCase().match(new RegExp('^'+("+this.right.toJavaScript(context,tableid,defcols)+").replace(/\\%/g,'.*').toUpperCase()+'$','g')))";return s}if(this.op=="BETWEEN"){if(this.right instanceof yy.Op&&this.right.op=="AND"){return"(("+this.right.left.toJavaScript(context,tableid,defcols)+"<="+this.left.toJavaScript(context,tableid,defcols)+")&&"+"("+this.left.toJavaScript(context,tableid,defcols)+"<="+this.right.right.toJavaScript(context,tableid,defcols)+"))"}else{throw new Error("Wrong BETWEEN operator without AND part")}}if(this.op=="NOT BETWEEN"){if(this.right instanceof yy.Op&&this.right.op=="AND"){return"!(("+this.right.left.toJavaScript(context,tableid,defcols)+"<="+this.left.toJavaScript(context,tableid,defcols)+")&&"+"("+this.left.toJavaScript(context,tableid,defcols)+"<="+this.right.right.toJavaScript(context,tableid,defcols)+"))"}else{throw new Error("Wrong NOT BETWEEN operator without AND part")}}if(this.op=="IN"){if(this.right instanceof yy.Select){var s="(";s+="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}else if(this.right instanceof Array){var s="(["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}else{var s="("+this.right.toJavaScript(context,tableid,defcols)+".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}}if(this.op=="NOT IN"){if(this.right instanceof yy.Select){var s="(";s+="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")<0)";return s}else if(this.right instanceof Array){var s="(["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")<0)";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.allsome=="ALL"){if(this.right instanceof yy.Select){var s="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".every(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else if(this.right instanceof Array){var s="["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].every(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.allsome=="SOME"||this.allsome=="ANY"){if(this.right instanceof yy.Select){var s="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".some(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else if(this.right instanceof Array){var s="["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].some(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.op=="AND"){if(this.left.reduced){if(this.right.reduced){return"true"}else{return this.right.toJavaScript(context,tableid,defcols)}}else if(this.right.reduced){return this.left.toJavaScript(context,tableid,defcols)}op="&&"}if(this.op=="^"){return"Math.pow("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+")"}return"("+this.left.toJavaScript(context,tableid,defcols)+op+this.right.toJavaScript(context,tableid,defcols)+")"};yy.VarValue=function(params){return yy.extend(this,params)};yy.VarValue.prototype.toString=function(){return"@"+L(this.variable)};yy.VarValue.prototype.toType=function(){return"unknown"};yy.VarValue.prototype.toJavaScript=function(){return"alasql.vars['"+this.variable+"']"};yy.NumValue=function(params){return yy.extend(this,params)};yy.NumValue.prototype.toString=function(){return N(this.value.toString())};yy.NumValue.prototype.toType=function(){return"number"};yy.NumValue.prototype.toJavaScript=function(){return""+this.value};yy.StringValue=function(params){return yy.extend(this,params)};yy.StringValue.prototype.toString=function(){return"'"+S(this.value.toString())+"'"};yy.StringValue.prototype.toType=function(){return"string"};yy.StringValue.prototype.toJavaScript=function(){return"'"+escapeq(this.value)+"'"};yy.LogicValue=function(params){return yy.extend(this,params)};yy.LogicValue.prototype.toString=function(){return this.value?"TRUE":"FALSE"};yy.LogicValue.prototype.toType=function(){return"boolean"};yy.LogicValue.prototype.toJavaScript=function(){return this.value?"true":"false"};yy.NullValue=function(params){return yy.extend(this,params)};yy.NullValue.prototype.toString=function(){return"NULL"};yy.NullValue.prototype.toJavaScript=function(){return"undefined"};yy.ParamValue=function(params){return yy.extend(this,params)};yy.ParamValue.prototype.toString=function(){return"$"+this.param};yy.ParamValue.prototype.toJavaScript=function(){if(typeof this.param=="string")return"params['"+this.param+"']";else return"params["+this.param+"]"};yy.UniOp=function(params){return yy.extend(this,params)};yy.UniOp.prototype.toString=function(){if(this.op=="-")return this.op+this.right.toString();if(this.op=="+")return this.op+this.right.toString();if(this.op=="NOT")return this.op+"("+this.right.toString()+")";else if(this.op==null)return"("+this.right.toString()+")"};yy.UniOp.prototype.findAggregator=function(query){if(this.right.findAggregator)this.right.findAggregator(query)};yy.UniOp.prototype.toType=function(tableid){if(this.op=="-")return"number";if(this.op=="+")return"number";if(this.op=="NOT")return"boolean"};yy.UniOp.prototype.toJavaScript=function(context,tableid,defcols){if(this.op=="-")return"(-("+this.right.toJavaScript(context,tableid,defcols)+"))";if(this.op=="+")return"("+this.right.toJavaScript(context,tableid,defcols)+")";if(this.op=="NOT")return"!("+this.right.toJavaScript(context,tableid,defcols)+")";else if(this.op==null)return"("+this.right.toJavaScript(context,tableid,defcols)+")"};yy.Column=function(params){return yy.extend(this,params)};yy.Column.prototype.toString=function(){var s;if(this.columnid==+this.columnid){s="["+this.columnid+"]"}else{s=this.columnid}if(this.tableid){if(+this.columnid==this.columnid){s=this.tableid+s}else{s=this.tableid+"."+s}if(this.databaseid){s=this.databaseid+"."+s}}return s};yy.Column.prototype.toJavaScript=function(context,tableid,defcols){var s="";if(!this.tableid&&tableid==""&&!defcols){if(this.columnid!="_"){s=context+"['"+this.columnid+"']"}else{if(context=="g"){s="g['_']"}else{s=context}}}else{if(context=="g"){s="g['"+this.nick+"']"}else if(this.tableid){if(this.columnid!="_"){s=context+"['"+this.tableid+"']['"+this.columnid+"']"}else{if(context=="g"){s="g['_']"}else{s=context+"['"+this.tableid+"']"}}}else if(defcols){var tbid=defcols[this.columnid];if(tbid=="-"){throw new Error('Cannot resolve column "'+this.columnid+'" because it exists in two source tables')}else if(tbid){if(this.columnid!="_"){s=context+"['"+tbid+"']['"+this.columnid+"']"}else{s=context+"['"+tbid+"']"}}else{if(this.columnid!="_"){s=context+"['"+(this.tableid||tableid)+"']['"+this.columnid+"']"}else{s=context+"['"+(this.tableid||tableid)+"']"}}}else if(tableid==-1){s=context+"['"+this.columnid+"']"}else{if(this.columnid!="_"){s=context+"['"+(this.tableid||tableid)+"']['"+this.columnid+"']"}else{s=context+"['"+(this.tableid||tableid)+"']"}}}return s};yy.AggrValue=function(params){return yy.extend(this,params)};yy.AggrValue.prototype.toString=function(){var s="";if(this.aggregatorid=="REDUCE")s+=L(this.funcid)+"(";else s+=this.aggregatorid+"(";if(this.distinct)s+=K("DISTINCT")+" ";if(this.expression)s+=this.expression.toString();s+=")";if(this.over)s+=" "+this.over.toString();return s};yy.AggrValue.prototype.findAggregator=function(query){var colas=escapeq(this.toString())+":"+query.selectGroup.length;var found=false;if(!found){if(!this.nick){this.nick=colas;var found=false;for(var i=0;i<query.removeKeys.length;i++){if(query.removeKeys[i]==colas){found=true;break}}if(!found)query.removeKeys.push(colas)}query.selectGroup.push(this)}return};yy.AggrValue.prototype.toType=function(){if(["SUM","COUNT","AVG","MIN","MAX","AGGR","VAR","STDDEV"].indexOf(this.aggregatorid)>-1)return"number";if(["ARRAY"].indexOf(this.aggregatorid)>-1)return"array";if(["FIRST","LAST"].indexOf(this.aggregatorid)>-1)return this.expression.toType()};yy.AggrValue.prototype.toJavaScript=function(context,tableid,defcols){var colas=this.nick;if(typeof colas=="undefined")colas=this.toString();return"g['"+colas+"']"};yy.OrderExpression=function(params){return yy.extend(this,params)};yy.OrderExpression.prototype.toString=function(){var s=this.expression.toString();if(this.order)s+=" "+this.order.toString();if(this.nocase)s+=" "+K("COLLATE")+" "+K("NOCASE");return s};yy.GroupExpression=function(params){return yy.extend(this,params)};yy.GroupExpression.prototype.toString=function(){return this.type+"("+this.group.toString()+")"};yy.ColumnDef=function(params){return yy.extend(this,params)};yy.ColumnDef.prototype.toString=function(){var s=this.columnid;if(this.dbtypeid)s+=" "+this.dbtypeid;if(this.dbsize){s+="("+this.dbsize;if(this.dbprecision)s+=","+this.dbprecision;s+=")"}if(this.primarykey)s+=" PRIMARY KEY";if(this.notnull)s+=" NOT NULL";return s};yy.FromData=function(params){return yy.extend(this,params)};yy.FromData.prototype.toString=function(){if(this.data)return K("DATA")+"("+(Math.random()*1e16|0)+")";else return"?"};yy.FromData.prototype.toJavaScript=function(){};yy.Select.prototype.exec=function(params,cb){if(this.preparams)params=this.preparams.concat(params);var databaseid=alasql.useid;db=alasql.databases[databaseid];var sql=this.toString();var hh=hash(sql);var statement=this.compile(databaseid);if(!statement)return;statement.sql=sql;statement.dbversion=db.dbversion;if(db.sqlCacheSize>alasql.MAXSQLCACHESIZE){db.resetSqlCache()}db.sqlCacheSize++;db.sqlCache[hh]=statement;var res=alasql.res=statement(params,cb);return res};yy.Select.prototype.Select=function(){var self=this;var agrs=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments)}else if(arguments.length==1){if(arguments[0]instanceof Array){args=arguments[0]}else{args=[arguments[0]]}}else{throw new Error("Wrong number of arguments of Select() function")}self.columns=[];args.forEach(function(arg){if(typeof arg=="string"){self.columns.push(new yy.Column({columnid:arg}))}else if(typeof arg=="function"){var pari=0;if(self.preparams){pari=self.preparams.length}else{self.preparams=[]}self.preparams.push(arg);self.columns.push(new yy.Column({columnid:"*",func:arg,param:pari}))}else{}});return self};yy.Select.prototype.From=function(tableid){var self=this;if(!self.from)self.from=[];if(tableid instanceof Array){var pari=0;if(self.preparams){pari=self.preparams.length}else{self.preparams=[]}self.preparams.push(tableid);self.from.push(new yy.ParamValue({param:pari}))}else if(typeof tableid=="string"){self.from.push(new yy.Table({tableid:tableid}))}else{throw new Error("Unknown arguments in From() function")}return self};yy.Select.prototype.OrderBy=function(){var self=this;var agrs=[];self.order=[];if(arguments.length==0){args=["_"]}else if(arguments.length>1){args=Array.prototype.slice.call(arguments)}else if(arguments.length==1){if(arguments[0]instanceof Array){args=arguments[0]}else{args=[arguments[0]]}}else{throw new Error("Wrong number of arguments of Select() function")}if(args.length>0){args.forEach(function(arg){var expr=new yy.Column({columnid:arg});if(typeof arg=="function"){expr=arg}self.order.push(new yy.OrderExpression({expression:expr,direction:"ASC"}))})}return self};yy.Select.prototype.Top=function(topnum){var self=this;self.top=new yy.NumValue({value:topnum});return self};yy.Select.prototype.GroupBy=function(){var self=this;var agrs=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments)}else if(arguments.length==1){if(arguments[0]instanceof Array){args=arguments[0]
  }else{args=[arguments[0]]}}else{throw new Error("Wrong number of arguments of Select() function")}self.group=[];args.forEach(function(arg){var expr=new yy.Column({columnid:arg});self.group.push(expr)});return self};yy.Select.prototype.Where=function(expr){var self=this;if(typeof expr=="function"){self.where=expr}return self};yy.FuncValue=function(params){return yy.extend(this,params)};yy.FuncValue.prototype.toString=function(){var s="";if(alasql.fn[this.funcid])s+=this.funcid;else if(alasql.aggr[this.funcid])s+=this.funcid;else if(alasql.stdlib[this.funcid.toUpperCase()]||alasql.stdfn[this.funcid.toUpperCase()])s+=this.funcid.toUpperCase();s+="(";if(this.args&&this.args.length>0){s+=this.args.map(function(arg){return arg.toString()}).join(",")}s+=")";if(this.as)s+=" AS "+this.as.toString();return s};yy.FuncValue.prototype.findAggregator=function(query){if(this.args&&this.args.length>0){this.args.forEach(function(arg){if(arg.findAggregator)arg.findAggregator(query)})}};yy.FuncValue.prototype.toJavaScript=function(context,tableid,defcols){var s="";var funcid=this.funcid;if(alasql.fn[funcid]){if(this.newid)s+="new ";s+="alasql.fn."+this.funcid+"(";if(this.args&&this.args.length>0){s+=this.args.map(function(arg){return arg.toJavaScript(context,tableid,defcols)}).join(",")}s+=")"}else if(alasql.stdlib[funcid.toUpperCase()]){if(this.args&&this.args.length>0){s+=alasql.stdlib[funcid.toUpperCase()].apply(this,this.args.map(function(arg){return arg.toJavaScript(context,tableid)}))}else{s+=alasql.stdlib[funcid.toUpperCase()]()}}else if(alasql.stdfn[funcid.toUpperCase()]){if(this.newid)s+="new ";s+="alasql.stdfn."+this.funcid.toUpperCase()+"(";if(this.args&&this.args.length>0){s+=this.args.map(function(arg){return arg.toJavaScript(context,tableid,defcols)}).join(",")}s+=")"}else{}return s};var stdlib=alasql.stdlib={};var stdfn=alasql.stdfn={};stdlib.ABS=function(a){return"Math.abs("+a+")"};stdlib.CLONEDEEP=function(a){return"alasql.utils.cloneDeep("+a+")"};stdlib.IIF=function(a,b,c){if(arguments.length==3){return"(("+a+")?("+b+"):("+c+"))"}else{throw new Error("Number of arguments of IFF is not equals to 3")}};stdlib.IFNULL=function(a,b){return"("+a+"||"+b+")"};stdlib.INSTR=function(s,p){return"(("+s+").indexOf("+p+")+1)"};stdlib.LEN=stdlib.LENGTH=function(s){return"("+s+'+"").length'};stdlib.LOWER=stdlib.LCASE=function(s){return"("+s+").toLowerCase()"};stdlib.GREATEST=function(){return"Math.max("+Array.prototype.join.call(arguments,",")+")"};stdlib.LEAST=function(){return"Math.min("+Array.prototype.join.call(arguments,",")+")"};stdlib.MID=function(a,b,c){if(arguments.length==2)return"("+a+").substr("+b+"-1)";else if(arguments.length==3)return"("+a+").substr("+b+"-1,"+c+")"};stdlib.NULLIF=function(a,b){return"("+a+"=="+b+"?null:"+a+")"};stdlib.POWER=function(a,b){return"Math.pow("+a+","+b+")"};stdlib.RANDOM=function(r){if(arguments.length==0){return"Math.random()"}else{return"(Math.random()*("+r+")|0)"}};stdlib.ROUND=function(s,d){if(arguments.length==2){return"Math.round("+s+"*Math.pow(10,"+d+"))/Math.pow(10,"+d+")"}else{return"Math.round("+s+")"}};stdlib.SQRT=function(s){return"Math.sqrt("+s+")"};stdlib.TRIM=function(s){return s+".trim()"};stdlib.UPPER=stdlib.UCASE=function(s){return"("+s+").toUpperCase()"};alasql.aggr.GROUP_CONCAT=function(v,s){if(typeof s=="undefined")return v;else return s+","+v};yy.CaseValue=function(params){return yy.extend(this,params)};yy.CaseValue.prototype.toString=function(){var s="CASE ";if(this.expression)s+=this.expression.toString();if(this.whens){s+=this.whens.map(function(w){return" WHEN "+w.when.toString()+" THEN "+w.then.toString()}).join()}s+=" END";return s};yy.CaseValue.prototype.findAggregator=function(query){if(this.expression&&this.expression.findAggregator)this.expression.findAggregator(query);if(this.whens&&this.whens.length>0){this.whens.forEach(function(w){if(w.when.findAggregator)w.when.findAggregator(query);if(w.then.findAggregator)w.then.findAggregator(query)})}};yy.CaseValue.prototype.toJavaScript=function(context,tableid,defcols){var s="(function("+context+",params,alasql){var r;";if(this.expression){s+="v="+this.expression.toJavaScript(context,tableid,defcols)+";";s+=(this.whens||[]).map(function(w){return" if(v=="+w.when.toJavaScript(context,tableid,defcols)+") {r="+w.then.toJavaScript(context,tableid,defcols)+"}"}).join(" else ");if(this.elses)s+=" else {r="+this.elses.toJavaScript(context,tableid,defcols)+"}"}else{s+=(this.whens||[]).map(function(w){return" if("+w.when.toJavaScript(context,tableid,defcols)+") {r="+w.then.toJavaScript(context,tableid,defcols)+"}"}).join(" else ");if(this.elses)s+=" else {r="+this.elses.toJavaScript(context,tableid,defcols)+"}"}s+="return r;})("+context+",params,alasql)";return s};yy.Json=function(params){return yy.extend(this,params)};yy.Json.prototype.toString=function(){var s="@";s+=JSONtoString(this.value);s+="";return s};var JSONtoString=alasql.utils.JSONtoString=function(obj){var s="";if(typeof obj=="string")s='"'+obj+'"';else if(typeof obj=="number")s=obj;else if(typeof obj=="boolean")s=obj;else if(typeof obj=="object"){if(obj instanceof Array){s+="["+obj.map(function(b){return JSONtoString(b)}).join(",")+"]"}else if(!obj.toJavaScript||obj instanceof yy.Json){s="{";var ss=[];for(var k in obj){var s1="";if(typeof k=="string")s1+='"'+k+'"';else if(typeof k=="number")s1+=k;else if(typeof k=="boolean")s1+=k;else{throw new Error("THis is not ES6... no expressions on left side yet")}s1+=":"+JSONtoString(obj[k]);ss.push(s1)}s+=ss.join(",")+"}"}else if(obj.toString){s=obj.toString()}else{throw new Error("1Can not show JSON object "+JSON.stringify(obj))}}else{throw new Error("2Can not show JSON object "+JSON.stringify(obj))}return s};function JSONtoJavaScript(obj,context,tableid,defcols){var s="";if(typeof obj=="string")s='"'+obj+'"';else if(typeof obj=="number")s="("+obj+")";else if(typeof obj=="boolean")s=obj;else if(typeof obj=="object"){if(obj instanceof Array){s+="["+obj.map(function(b){return JSONtoJavaScript(b,context,tableid,defcols)}).join(",")+"]"}else if(!obj.toJavaScript||obj instanceof yy.Json){s="{";var ss=[];for(var k in obj){var s1="";if(typeof k=="string")s1+='"'+k+'"';else if(typeof k=="number")s1+=k;else if(typeof k=="boolean")s1+=k;else{throw new Error("THis is not ES6... no expressions on left side yet")}s1+=":"+JSONtoJavaScript(obj[k],context,tableid,defcols);ss.push(s1)}s+=ss.join(",")+"}"}else if(obj.toJavaScript){s=obj.toJavaScript(context,tableid,defcols)}else{throw new Error("1Can not parse JSON object "+JSON.stringify(obj))}}else{throw new Error("2Can not parse JSON object "+JSON.stringify(obj))}return s}yy.Json.prototype.toJavaScript=function(context,tableid,defcols){return JSONtoJavaScript(this.value,context,tableid,defcols)};yy.Convert=function(params){return yy.extend(this,params)};yy.Convert.prototype.toString=function(){var s="CONVERT(";s+=this.dbtypeid;if(typeof this.dbsize!="undefined"){s+="("+this.dbsize;if(this.dbprecision)s+=","+dbprecision;s+=")"}s+=","+this.expression.toString();if(this.style)s+=","+this.style;s+=")";return s};yy.Convert.prototype.toJavaScript=function(context,tableid,defcols){return"alasql.stdfn.CONVERT("+this.expression.toJavaScript(context,tableid,defcols)+',{dbtypeid:"'+this.dbtypeid+'",dbsize:'+this.dbsize+",style:"+this.style+"})";throw new Error("There is not such type conversion for "+this.toString())};alasql.stdfn.CONVERT=function(value,args){var val=value;if(args.style){var t;if(/\d{8}/.test(val))t=new Date(+val.substr(0,4),+val.substr(4,2)-1,+val.substr(6,2));else t=new Date(val);if(args.style==1){val=("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)+"/"+("0"+t.getYear()).substr(-2)}else if(args.style==2){val=("0"+t.getYear()).substr(-2)+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+("0"+t.getDate()).substr(-2)}else if(args.style==3){val=("0"+t.getDate()).substr(-2)+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getYear()).substr(-2)}else if(args.style==4){val=("0"+t.getDate()).substr(-2)+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+("0"+t.getYear()).substr(-2)}else if(args.style==5){val=("0"+t.getDate()).substr(-2)+"-"+("0"+(t.getMonth()+1)).substr(-2)+"-"+("0"+t.getYear()).substr(-2)}else if(args.style==6){val=("0"+t.getDate()).substr(-2)+" "+t.toString().substr(4,3).toLowerCase()+" "+("0"+t.getYear()).substr(-2)}else if(args.style==7){val=t.toString().substr(4,3)+" "+("0"+t.getDate()).substr(-2)+","+("0"+t.getYear()).substr(-2)}else if(args.style==8){val=("0"+t.getHours()).substr(-2)+":"+("0"+(t.getMinutes()+1)).substr(-2)+":"+("0"+t.getSeconds()).substr(-2)}else if(args.style==10){val=("0"+(t.getMonth()+1)).substr(-2)+"-"+("0"+t.getDate()).substr(-2)+"-"+("0"+t.getYear()).substr(-2)}else if(args.style==11){val=("0"+t.getYear()).substr(-2)+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)}else if(args.style==12){val=("0"+t.getYear()).substr(-2)+("0"+(t.getMonth()+1)).substr(-2)+("0"+t.getDate()).substr(-2)}else if(args.style==101){val=("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)+"/"+t.getFullYear()}else if(args.style==102){val=t.getFullYear()+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+("0"+t.getDate()).substr(-2)}else if(args.style==103){val=("0"+t.getDate()).substr(-2)+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+t.getFullYear()}else if(args.style==104){val=("0"+t.getDate()).substr(-2)+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+t.getFullYear()}else if(args.style==105){val=("0"+t.getDate()).substr(-2)+"-"+("0"+(t.getMonth()+1)).substr(-2)+"-"+t.getFullYear()}else if(args.style==106){val=("0"+t.getDate()).substr(-2)+" "+t.toString().substr(4,3).toLowerCase()+" "+t.getFullYear()}else if(args.style==107){val=t.toString().substr(4,3)+" "+("0"+t.getDate()).substr(-2)+","+t.getFullYear()}else if(args.style==108){val=("0"+t.getHours()).substr(-2)+":"+("0"+(t.getMinutes()+1)).substr(-2)+":"+("0"+t.getSeconds()).substr(-2)}else if(args.style==110){val=("0"+(t.getMonth()+1)).substr(-2)+"-"+("0"+t.getDate()).substr(-2)+"-"+t.getFullYear()}else if(args.style==111){val=t.getFullYear()+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)}else if(args.style==112){val=t.getFullYear()+("0"+(t.getMonth()+1)).substr(-2)+("0"+t.getDate()).substr(-2)}else{throw new Error("The CONVERT style "+args.style+" is not realized yet.")}}if(args.dbtypeid=="Date"){return new Date(val)}else if(args.dbtypeid.toUpperCase()=="DATE"){var d=new Date(val);var s=d.getFullYear()+"."+("0"+(d.getMonth()+1)).substr(-2)+"."+("0"+d.getDate()).substr(-2);return s}else if(args.dbtypeid=="DATETIME"){var d=new Date(val);var s=d.getFullYear()+"."+("0"+(d.getMonth()+1)).substr(-2)+"."+("0"+d.getDate()).substr(-2);s+=" "+("0"+d.getHours()).substr(-2)+":"+("0"+d.getMinutes()).substr(-2)+":"+("0"+d.getSeconds()).substr(-2);s+="."+("00"+d.getMilliseconds()).substr(-3);return s}else if(args.dbtypeid.toUpperCase()=="STRING"){return""+val}else if(args.dbtypeid.toUpperCase()=="NUMBER"||args.dbtypeid=="FLOAT"){return+val}else if(args.dbtypeid.toUpperCase()=="MONEY"){var m=+val;return(m|0)+m*100%100/100}else if(args.dbtypeid.toUpperCase()=="BOOLEAN"){return!!val}else if(args.dbtypeid.toUpperCase()=="INT"){return val|0}else if(args.dbtypeid.toUpperCase()=="VARCHAR"||args.dbtypeid=="NVARCHAR"){if(args.dbsize)return(""+val).substr(0,args.dbsize);else return""+val}else if(args.dbtypeid.toUpperCase()=="CHAR"||args.dbtypeid=="NCHAR"){return(val+new Array(args.dbsize+1).join(" ")).substr(0,args.dbsize)}};yy.ColumnDef=function(params){return yy.extend(this,params)};yy.ColumnDef.prototype.toString=function(){var s=this.columnid;if(this.dbtypeid)s+=" "+this.dbtypeid;if(this.dbsize){s+="("+this.dbsize;if(this.dbprecision)s+=","+this.dbprecision;s+=")"}if(this.primarykey)s+=" PRIMARY KEY";if(this.notnull)s+=" NOT NULL";return s};yy.CreateTable=function(params){return yy.extend(this,params)};yy.CreateTable.prototype.toString=function(){var s=K("CREATE");if(this.temporary)s+=" "+K("TEMPORARY");if(this.view)s+=" "+K("VIEW");else s+=" "+K("TABLE");if(this.ifnotexists)s+=" "+K("IF")+" "+K("NOT")+" "+K("EXISTS");s+=" "+this.table.toString();if(this.viewcolumns){s+="("+this.viewcolumns.map(function(vcol){return vcol.toString()}).join(",")+")"}if(this.as)s+=" "+K("AS")+" "+L(this.as);else{var ss=this.columns.map(function(col){return col.toString()});s+=" ("+NL()+ID()+ss.join(","+NL()+ID())+")"}if(this.view&&this.select){s+=" AS "+this.select.toString()}return s};yy.CreateTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.table.databaseid||databaseid];var tableid=this.table.tableid;if(!tableid){throw new Error("Table name is not defined")}var columns=this.columns;var constraints=this.constraints||[];if(this.ifnotexists&&db.tables[tableid])return 0;if(db.tables[tableid]){throw new Error("Can not create table '"+tableid+"', because it already exists in the database '"+db.databaseid+"'")}var table=db.tables[tableid]=new alasql.Table;var ss=[];if(this.columns){this.columns.forEach(function(col){var dbtypeid=col.dbtypeid;if(!alasql.fn[dbtypeid])dbtypeid=dbtypeid.toUpperCase();var newcol={columnid:col.columnid,dbtypeid:dbtypeid};if(col.default){ss.push("'"+col.columnid+"':"+col.default.toJavaScript())}table.columns.push(newcol);table.xcolumns[newcol.columnid]=newcol;if(col.primarykey){var pk=table.pk={};pk.columns=[col.columnid];pk.onrightfns="r['"+col.columnid+"']";pk.onrightfn=new Function("r","return "+pk.onrightfns);pk.hh=hash(pk.onrightfns);table.indices[pk.hh]={}}})}table.defaultfns=ss.join(",");constraints.forEach(function(con){if(con.type=="PRIMARY KEY"){if(table.pk){throw new Error("Primary key already exists")}var pk=table.pk={};pk.columns=con.columns;pk.onrightfns=pk.columns.map(function(columnid){return"r['"+columnid+"']"}).join("+'`'+");pk.onrightfn=new Function("r","return "+pk.onrightfns);pk.hh=hash(pk.onrightfns);table.indices[pk.hh]={}}});if(this.view&&this.viewcolumns){var self=this;this.viewcolumns.forEach(function(vcol,idx){self.select.columns[idx].as=vcol.columnid})}if(db.engineid){return alasql.engines[db.engineid].createTable(this.table.databaseid||databaseid,tableid,this.ifnotexists,cb)}table.insert=function(r){if(this.pk){var pk=this.pk;var addr=pk.onrightfn(r);if(typeof this.indices[pk.hh][addr]!="undefined"){throw new Error("Cannot insert record, because it already exists in primary key")}else{table.data.push(r);this.indices[pk.hh][addr]=r}}else{table.data.push(r)}};table.delete=function(i){if(this.pk){var r=this.data[i];var pk=this.pk;var addr=pk.onrightfn(r);if(typeof this.indices[pk.hh][addr]=="undefined"){throw new Error("Something wrong with index on table")}else{this.indices[pk.hh][addr]=undefined}}};table.deleteall=function(){this.data.length=0;if(this.pk){this.indices[this.pk.hh]={}}};table.update=function(assignfn,i,params){if(this.pk){var r=this.data[i];var pk=this.pk;var addr=pk.onrightfn(r,params);if(typeof this.indices[pk.hh][addr]=="undefined"){throw new Error("Something wrong with index on table")}else{this.indices[pk.hh][addr]=undefined;assignfn(r,params,alasql);var newaddr=pk.onrightfn(r);if(typeof this.indices[pk.hh][newaddr]!="undefined"){throw new Error("Record already exists")}else{this.indices[pk.hh][newaddr]=r}}}else{assignfn(this.data[i],params,alasql)}};if(this.view&&this.select){table.view=true;table.select=this.select.compile(this.table.databaseid||databaseid)}if(cb)cb(1);return 1};alasql.fn.Date=Object;alasql.fn.Date=Date;alasql.fn.Number=Number;alasql.fn.String=String;alasql.fn.Boolean=Boolean;stdfn.EXTEND=alasql.utils.extend;stdfn.CHAR=String.fromCharCode.bind(String);stdfn.ASCII=function(a){return a.charCodeAt(0)};stdfn.COALESCE=function(){for(var i=0;i<arguments.length;i++){if(typeof arguments[i]=="undefined")continue;if(typeof arguments[i]=="number"&&isNaN(arguments[i]))continue;return arguments[i]}return undefined};stdfn.OBJECT_ID=function(objid){return!!alasql.tables[objid]};stdfn.DATE=function(d){if(/\d{8}/.test(d))return new Date(+d.substr(0,4),+d.substr(4,2)-1,+d.substr(6,2));return new Date(d)};stdfn.NOW=function(){var d=new Date;var s=d.getFullYear()+"."+("0"+(d.getMonth()+1)).substr(-2)+"."+("0"+d.getDate()).substr(-2);s+=" "+("0"+d.getHours()).substr(-2)+":"+("0"+d.getMinutes()).substr(-2)+":"+("0"+d.getSeconds()).substr(-2);s+="."+("00"+d.getMilliseconds()).substr(-3);return s};stdfn.GETDATE=stdfn.NOW;stdfn.SECOND=function(d){d=new Date(d);return d.getSeconds()};stdfn.MINUTE=function(d){d=new Date(d);return d.getMinutes()};stdfn.HOUR=function(d){d=new Date(d);return d.getHours()};stdfn.DAYOFWEEK=stdfn.WEEKDAY=function(d){d=new Date(d);return d.getDay()};stdfn.DAY=stdfn.DAYOFMONTH=function(d){d=new Date(d);return d.getDate()};stdfn.MONTH=function(d){d=new Date(d);return d.getMonth()+1};stdfn.YEAR=function(d){d=new Date(d);return d.getFullYear()};yy.DropTable=function(params){return yy.extend(this,params)};yy.DropTable.prototype.toString=function(){var s=K("DROP")+" ";if(this.view)s+=K("VIEW");else s+=K("TABLE");if(this.ifexists)s+=" "+K("IF")+" "+K("EXISTS");s+=" "+this.table.toString();return s};yy.DropTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.table.databaseid||databaseid];var tableid=this.table.tableid;if(db.engineid){return alasql.engines[db.engineid].dropTable(this.table.databaseid||databaseid,tableid,this.ifexists,cb)}if(!this.ifexists||this.ifexists&&db.tables[tableid]){if(!db.tables[tableid]){if(!alasql.options.dropifnotexists){throw new Error("Can not drop table '"+this.table.tableid+"', because it does not exist in the database.")}}else{delete db.tables[tableid];return 1}}return 0};yy.TruncateTable=function(params){return yy.extend(this,params)};yy.TruncateTable.prototype.toString=function(){var s=K("TRUNCATE")+" "+K("TABLE");s+=" "+this.table.toString();return s};yy.TruncateTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.table.databaseid||databaseid];var tableid=this.table.tableid;if(db.engineid){return alasql.engines[db.engineid].truncateTable(this.table.databaseid||databaseid,tableid,this.ifexists,cb)}if(db.tables[tableid]){db.tables[tableid].data=[]}else{throw new Error("Cannot truncate table becaues it does not exist")}return 0};yy.AlterTable=function(params){return yy.extend(this,params)};yy.AlterTable.prototype.toString=function(){var s="ALTER TABLE "+this.table.toString();if(this.renameto)s+=" RENAME TO "+this.renameto;return s};yy.AlterTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[databaseid];db.dbversion=Date.now();if(this.renameto){var oldtableid=this.table.tableid;var newtableid=this.renameto;var res=1;if(db.tables[newtableid]){throw new Error("Can not rename a table '"+oldtableid+"' to '"+newtableid+"', because the table with this name already exists")}else if(newtableid==oldtableid){throw new Error("Can not rename a table '"+oldtableid+"' to itself")}else{db.tables[newtableid]=db.tables[oldtableid];delete db.tables[oldtableid];res=1}if(cb)cb(res);return res}else if(this.addcolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.addcolumn.columnid;if(table.xcolumns[columnid]){throw new Error('Cannot add column "'+columnid+'", because it already exists in the table "'+tableid+'"')}var col={columnid:columnid,dbtypeid:this.dbtypeid,dbsize:this.dbsize,dbprecision:this.dbprecision,dbenum:this.dbenum,defaultfns:null};var defaultfn=function(){};table.columns.push(col);table.xcolumns[columnid]=col;for(var i=0,ilen=table.data.length;i<ilen;i++){table.data[i][columnid]=defaultfn()}return 1}else if(this.modifycolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.modifycolumn.columnid;if(!table.xcolumns[columnid]){throw new Error('Cannot modify column "'+columnid+'", because it was not found in the table "'+tableid+'"')}var col=table.xcolumns[columnid];col.dbtypeid=this.dbtypeid;col.dbsize=this.dbsize;col.dbprecision=this.dbprecision;col.dbenum=this.dbenum;return 1}else if(this.renamecolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.renamecolumn;var tocolumnid=this.to;var col;if(!table.xcolumns[columnid]){throw new Error('Column "'+columnid+'" is not found in the table "'+tableid+'"')}if(table.xcolumns[tocolumnid]){throw new Error('Column "'+tocolumnid+'" already exists in the table "'+tableid+'"')}if(columnid!=tocolumnid){for(var j=0;j<table.columns.length;j++){if(table.columns[j].columnid==columnid){table.columns[j].columnid=tocolumnid}}table.xcolumns[tocolumnid]=table.xcolumns[columnid];delete table.xcolumns[columnid];for(var i=0,ilen=table.data.length;i<ilen;i++){table.data[i][tocolumnid]=table.data[i][columnid];delete table.data[i][columnid]}return table.data.length}else return 0}else if(this.dropcolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.dropcolumn;var found=false;for(var j=0;j<table.columns.length;j++){if(table.columns[j].columnid==columnid){found=true;table.columns.splice(j,1);break}}if(!found){throw new Error('Cannot drop column "'+columnid+'", because it was not found in the table "'+tableid+'"')}delete table.xcolumns[columnid];for(var i=0,ilen=table.data.length;i<ilen;i++){delete table.data[i][columnid]}return table.data.length}else{throw Error("Unknown ALTER TABLE method")}};yy.CreateIndex=function(params){return yy.extend(this,params)};yy.CreateIndex.prototype.toString=function(){var s="CREATE";if(this.unique)s+=" UNIQUE";s+=" INDEX "+this.indexid+" ON "+this.table.toString();s+="("+this.columns.toString()+")";return s};yy.CreateIndex.prototype.execute=function(databaseid){var db=alasql.databases[databaseid];var tableid=this.table.tableid;var table=db.tables[tableid];var indexid=this.indexid;if(this.unique){var rightfns=this.columns.map(function(colid){return"r['"+colid+"']"}).join("+'`'+");table.uniqdefs[indexid]={rightfns:rightfns};var ux=table.uniqs[indexid]={};if(table.data.length>0){for(var i=0,ilen=table.data.length;i<ilen;i++){var addr=rightfns(table.data[i]);if(!ux[addr]){ux[addr]={num:0}}ux[addr].num++}}}else{var rightfns=this.columns.map(function(colid){return"r['"+colid+"']"}).join("+'`'+");var hh=hash(rightfns);table.inddefs[indexid]={rightfns:rightfns,hh:hh};table.indices[hh]={};var ix=table.indices[hh]={};if(table.data.length>0){for(var i=0,ilen=table.data.length;i<ilen;i++){var addr=rightfns(table.data[i]);if(!ix[addr]){ix[addr]=[]}ix[addr].push(table.data[i])}}}};yy.DropIndex=function(params){return yy.extend(this,params)};yy.DropIndex.prototype.toString=function(){return"INDEX TABLE"+this.indexid};yy.DropIndex.prototype.compile=function(db){var indexid=this.indexid;return function(){return 1}};yy.WithSelect=function(params){return yy.extend(this,params)};yy.WithSelect.prototype.toString=function(){var s=K("WITH")+" ";s+=this.withs.map(function(w){return L(w.name)+" "+K("AS")+" ("+w.select.toString()+")"}).join(",")+" ";s+=this.select.toString();return s};yy.WithSelect.prototype.execute=function(databaseid,params,cb){var self=this;var savedTables=[];self.withs.forEach(function(w){savedTables.push(alasql.databases[databaseid].tables[w.name]);var tb=alasql.databases[databaseid].tables[w.name]=new Table({tableid:w.name});tb.data=w.select.execute(databaseid,params)});var res=1;res=this.select.execute(databaseid,params,function(data){self.withs.forEach(function(w,idx){if(savedTables[idx])alasql.databases[databaseid].tables[w.name]=savedTables[idx];else delete alasql.databases[databaseid].tables[w.name]});if(cb)data=cb(data);return data});return res};yy.If=function(params){return yy.extend(this,params)};yy.If.prototype.toString=function(){var s=K("IF")+" ";s+=this.expression.toString();s+=" "+this.thenstat.toString();if(this.elsestat)s+=" "+K("ELSE")+NL()+ID()+this.thenstat.toString();return s};yy.If.prototype.execute=function(databaseid,params,cb){var res;var fn=new Function("params,alasql,p","return "+this.expression.toJavaScript()).bind(this);if(fn(params,alasql))res=this.thenstat.execute(databaseid,params,cb);else{if(this.elsestat)res=this.elsestat.execute(databaseid,params,cb);else{if(cb)res=cb(res)}}return res};yy.While=function(params){return yy.extend(this,params)};yy.While.prototype.toString=function(){var s="WHILE ";s+=this.expression.toString();s+=" "+this.loopstat.toString();return s};yy.While.prototype.execute=function(databaseid,params,cb){var self=this;var res=[];var fn=new Function("params,alasql,p","return "+this.expression.toJavaScript());if(cb){var first=false;loop();function loop(data){if(first){res.push(data)}else{first=true}setTimeout(function(){if(fn(params,alasql)){self.loopstat.execute(databaseid,params,loop)}else{res=cb(res)}},0)}}else{while(fn(params,alasql)){var res1=self.loopstat.execute(databaseid,params);res.push(res1)}}return res};yy.Break=function(params){return yy.extend(this,params)};yy.Break.prototype.toString=function(){var s=K("BREAK");return s};yy.Break.prototype.execute=function(databaseid,params,cb,scope){var res=1;if(cb)res=cb(res);return res};yy.Continue=function(params){return yy.extend(this,params)};yy.Continue.prototype.toString=function(){var s=K("CONTINUE");return s};yy.Continue.prototype.execute=function(databaseid,params,cb,scope){var res=1;if(cb)res=cb(res);return res};yy.BeginEnd=function(params){return yy.extend(this,params)};yy.BeginEnd.prototype.toString=function(){var s=K("BEGIN")+" "+this.statements.toString()+" "+K("END");return s};yy.BeginEnd.prototype.execute=function(databaseid,params,cb,scope){var self=this;var res=[];var idx=0;runone();function runone(){self.statements[idx].execute(databaseid,params,function(data){res.push(data);idx++;if(idx<self.statements.length)return runone();if(cb)res=cb(res)})}return res};yy.Insert=function(params){return yy.extend(this,params)};yy.Insert.prototype.toString=function(){var s="INSERT INTO "+this.into.toString();if(this.columns)s+="("+this.columns.toString()+")";if(this.values)s+=" VALUES "+this.values.toString();if(this.select)s+=" "+this.select.toString();return s};yy.Insert.prototype.compile=function(databaseid){var self=this;databaseid=self.into.databaseid||databaseid;var db=alasql.databases[databaseid];var tableid=self.into.tableid;var table=db.tables[tableid];var s="";var sw="";var s3="var a,aa=[];";var s33;if(this.values){self.values.forEach(function(values){var ss=[];if(self.columns){self.columns.forEach(function(col,idx){var q="'"+col.columnid+"':";if(table.xcolumns&&table.xcolumns[col.columnid]){if(["INT","FLOAT","NUMBER","MONEY"].indexOf(table.xcolumns[col.columnid].dbtypeid)>=0){q+="+"+values[idx].toJavaScript()}else if(alasql.fn[table.xcolumns[col.columnid].dbtypeid]){q+="(new "+table.xcolumns[col.columnid].dbtypeid+"(";q+=values[idx].toJavaScript();q+="))"}else{q+=values[idx].toJavaScript()}}else{q+=values[idx].toJavaScript()}ss.push(q)})}else{if(values instanceof Array&&table.columns&&table.columns.length>0){table.columns.forEach(function(col,idx){var q="'"+col.columnid+"':";if(["INT","FLOAT","NUMBER","MONEY"].indexOf(col.dbtypeid)>=0){q+="+"+values[idx].toJavaScript()}else if(alasql.fn[col.dbtypeid]){q+="(new "+col.dbtypeid+"(";q+=values[idx].toJavaScript();q+="))"}else{q+=values[idx].toJavaScript()}ss.push(q)})}else{sw=JSONtoJavaScript(values)}}if(db.tables[tableid].defaultfns)ss.unshift(db.tables[tableid].defaultfns);if(sw){s+="a="+sw+";"}else{s+="a={"+ss.join(",")+"};"}if(db.tables[tableid].insert){s+="alasql.databases['"+databaseid+"'].tables['"+tableid+"'].insert(a);"}else{s+="aa.push(a);"}});s33=s3+s;if(db.tables[tableid].insert){}else{s+="alasql.databases['"+databaseid+"'].tables['"+tableid+"'].data="+"alasql.databases['"+databaseid+"'].tables['"+tableid+"'].data.concat(aa);"}s+="return "+self.values.length;var insertfn=new Function("db, params, alasql",s3+s)}else if(this.select){selectfn=this.select.compile(databaseid);if(db.engineid&&alasql.engines[db.engineid].intoTable){var statement=function(params,cb){var aa=selectfn(params);var res=alasql.engines[db.engineid].intoTable(db.databaseid,tableid,aa,null,cb);return res};return statement}else{var insertfn=function(db,params,alasql){var res=selectfn(params);db.tables[tableid].data=db.tables[tableid].data.concat(res);return res.length}}}else if(this.default){var insertfns="db.tables['"+tableid+"'].data.push({"+table.defaultfns+"});return 1;";var insertfn=new Function("db,params,alasql",insertfns)}else{throw new Error("Wrong INSERT parameters")}if(db.engineid&&alasql.engines[db.engineid].intoTable&&alasql.options.autocommit){var statement=function(params,cb){var aa=new Function("db,params",s33+"return aa;")(db,params);var res=alasql.engines[db.engineid].intoTable(db.databaseid,tableid,aa,null,cb);return res}}else{var statement=function(params,cb){var db=alasql.databases[databaseid];if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var res=insertfn(db,params,alasql);if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(res);return res}}return statement};yy.Insert.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.Delete=function(params){return yy.extend(this,params)};yy.Delete.prototype.toString=function(){var s="DELETE FROM "+this.table.toString();if(this.where)s+=" WHERE "+this.where.toString();return s};yy.Delete.prototype.compile=function(databaseid){databaseid=this.table.databaseid||databaseid;var tableid=this.table.tableid;var statement;var db=alasql.databases[databaseid];if(this.where){wherefn=new Function("r,params","return ("+this.where.toJavaScript("r","")+")");statement=function(params,cb){if(db.engineid&&alasql.engines[db.engineid].deleteFromTable){return alasql.engines[db.engineid].deleteFromTable(databaseid,tableid,wherefn,params,cb)}if(alasql.options.autocommit&&db.engineid&&db.engineid=="LOCALSTORAGE"){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var table=db.tables[tableid];var orignum=table.data.length;var newtable=[];for(var i=0,ilen=table.data.length;i<ilen;i++){if(wherefn(table.data[i],params)){if(table.delete){table.delete(i)}else{}}else newtable.push(table.data[i])}table.data=newtable;var res=orignum-table.data.length;if(alasql.options.autocommit&&db.engineid&&db.engineid=="LOCALSTORAGE"){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(res);return res}}else{statement=function(params,cb){if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var table=db.tables[tableid];table.dirty=true;var orignum=db.tables[tableid].data.length;table.deleteall();if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(orignum);return orignum}}return statement};yy.Delete.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.Update=function(params){return yy.extend(this,params)};yy.Update.prototype.toString=function(){var s="UPDATE "+this.table.toString();if(this.columns)s+=" SET "+this.columns.toString();if(this.where)s+=" WHERE "+this.where.toString();return s};yy.SetColumn=function(params){return yy.extend(this,params)};yy.SetColumn.prototype.toString=function(){return this.columnid.toString()+"="+this.expression.toString()};yy.Update.prototype.compile=function(databaseid){databaseid=this.table.databaseid||databaseid;var tableid=this.table.tableid;if(this.where){var wherefn=new Function("r,params,alasql","return "+this.where.toJavaScript("r",""))}var s="";this.columns.forEach(function(col){s+="r['"+col.columnid+"']="+col.expression.toJavaScript("r","")+";"});var assignfn=new Function("r,params,alasql",s);var statement=function(params,cb){var db=alasql.databases[databaseid];
  if(db.engineid&&alasql.engines[db.engineid].updateTable){return alasql.engines[db.engineid].updateTable(databaseid,tableid,assignfn,wherefn,params,cb)}if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var table=db.tables[tableid];if(!table){throw new Error("Table '"+tableid+"' not exists")}var numrows=0;for(var i=0,ilen=table.data.length;i<ilen;i++){if(!wherefn||wherefn(table.data[i],params,alasql)){if(table.update){table.update(assignfn,i,params)}else{assignfn(table.data[i],params,alasql)}numrows++}}if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(numrows);return numrows};return statement};yy.Update.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.Merge=function(params){return yy.extend(this,params)};yy.Merge.prototype.toString=function(){var s=K("MERGE")+" ";s+=L(this.into.tableid)+" ";if(this.into.as)s+=K("AS")+" "+L(this.into.as)+" ";s+=K("USING")+" "+L(this.using.tableid)+" ";if(this.using.as)s+=K("AS")+" "+L(this.using.as)+" ";s+=K("ON")+" "+this.on.toString()+" ";this.matches.forEach(function(m){s+=K("WHEN")+" ";if(!m.matched)s+=K("NOT")+" ";s+=K("MATCHED")+" ";if(m.bytarget)s+=K("BY")+" "+K("TARGET")+" ";if(m.bysource)s+=K("BY")+" "+K("SOURCE")+" ";if(m.expr)s+=K("AND")+" "+m.expr.toString()+" ";s+=K("THEN")+" ";if(m.action.delete)s+=K("DELETE")+" ";if(m.action.insert){s+=K("INSERT")+" ";if(m.action.columns)s+="("+m.action.columns.toString()+") ";if(m.action.values)s+=K("VALUES")+" ("+m.action.values.toString()+") ";if(m.action.defaultvalues)s+=K("DEFAULT")+" "+K("VALUES")+" "}if(m.action.update){s+=K("UPDATE")+" ";s+=m.action.update.map(function(u){return u.toString()}).join(",")+" "}});return s};yy.Merge.prototype.execute=function(databaseid,params,cb){var res=1;if(cb)res=cb(res);return res};yy.CreateDatabase=function(params){return yy.extend(this,params)};yy.CreateDatabase.prototype.toString=function(){var s=K("CREATE");if(this.engineid)s+=" "+L(this.engineid);s+=" "+K("DATABASE");if(this.ifnotexists)s+=" "+K("IF")+" "+K("NOT")+" "+K("EXISTS");s+=" "+L(this.databaseid);if(this.args&&this.args.length>0){s+="("+this.args.map(function(arg){return arg.toString()}).join(", ")+")"}if(this.as)s+=" "+K("AS")+" "+L(this.as);return s};yy.CreateDatabase.prototype.execute=function(databaseid,params,cb){var args;if(this.args&&this.args.length>0){args=this.args.map(function(arg){return new Function("params","return "+arg.toJavaScript())(params)})}if(this.engineid){var res=alasql.engines[this.engineid].createDatabase(this.databaseid,this.args,this.ifnotexists,this.as,cb);return res}else{var dbid=this.databaseid;if(alasql.databases[dbid]){throw new Error("Database '"+dbid+"' already exists")}var a=new alasql.Database(dbid);var res=1;if(cb)return cb(res);return res}};yy.AttachDatabase=function(params){return yy.extend(this,params)};yy.AttachDatabase.prototype.toString=function(){var s=K("ATTACH");if(this.engineid)s+=" "+L(this.engineid);s+=" "+K("DATABASE")+" "+L(this.databaseid);if(args){s+="(";if(args.length>0){s+=args.map(function(arg){return arg.toJavaScript()}).join(", ")}s+=")"}if(this.as)s+=" "+K("AS")+" "+L(this.as);return s};yy.AttachDatabase.prototype.execute=function(databaseid,params,cb){if(!alasql.engines[this.engineid]){throw new Error('Engine "'+this.engineid+'" is not defined.')}var res=alasql.engines[this.engineid].attachDatabase(this.databaseid,this.as,this.args,cb);return res};yy.DetachDatabase=function(params){return yy.extend(this,params)};yy.DetachDatabase.prototype.toString=function(){var s=K("DETACH");s+=" "+K("DATABASE")+" "+L(this.databaseid);return s};yy.DetachDatabase.prototype.execute=function(databaseid,params,cb){if(!alasql.databases[this.databaseid].engineid){throw new Error('Cannot detach database "'+this.engineid+'", because it was not attached.')}var res;var dbid=this.databaseid;if(dbid==alasql.DEFAULTDATABASEID){throw new Error("Drop of default database is prohibited")}if(!alasql.databases[dbid]){if(!this.ifexists){throw new Error("Database '"+dbid+"' does not exist")}else{res=0}}else{delete alasql.databases[dbid];if(dbid==alasql.useid){alasql.use()}res=1}if(cb)cb(res);return res};yy.UseDatabase=function(params){return yy.extend(this,params)};yy.UseDatabase.prototype.toString=function(){return K("USE")+" "+K("DATABASE")+" "+L(this.databaseid)};yy.UseDatabase.prototype.execute=function(databaseid,params,cb){var dbid=this.databaseid;if(!alasql.databases[dbid]){throw new Error("Database '"+dbid+"' does not exist")}alasql.use(dbid);var res=1;if(cb)cb(res);return res};yy.DropDatabase=function(params){return yy.extend(this,params)};yy.DropDatabase.prototype.toString=function(){var s=K("DROP");if(this.ifexists)s+=" "+K("IF")+" "+K("EXISTS");s+=" "+K("DATABASE")+" "+L(this.databaseid);return s};yy.DropDatabase.prototype.execute=function(databaseid,params,cb){if(this.engineid){return alasql.engines[this.engineid].dropDatabase(this.databaseid,this.ifexists,cb)}var res;var dbid=this.databaseid;if(dbid==alasql.DEFAULTDATABASEID){throw new Error("Drop of default database is prohibited")}if(!alasql.databases[dbid]){if(!this.ifexists){throw new Error("Database '"+dbid+"' does not exist")}else{res=0}}else{if(alasql.databases[dbid].engineid){throw new Error("Cannot drop database '"+dbid+"', because it is attached. Detach it.")}delete alasql.databases[dbid];if(dbid==alasql.useid){alasql.use()}res=1}if(cb)cb(res);return res};yy.Declare=function(params){return yy.extend(this,params)};yy.Declare.prototype.toString=function(){var s=K("DECLARE")+" ";if(this.declares&&this.declares.length>0){s=this.declares.map(function(declare){var s="";s+="@"+L(declare.variable)+" ";s+=declare.dbtypeid;if(this.dbsize)s+="("+N(this.dbsize);if(this.dbprecision)s+=","+N(this.dbprecision);s+=")";if(declare.expression)s+=" = "+declare.expression.toString();return s}).join(",")}return s};yy.Declare.prototype.execute=function(databaseid,params,cb){var res=1;if(this.declares&&this.declares.length>0){this.declares.map(function(declare){var dbtypeid=declare.dbtypeid;if(!alasql.fn[dbtypeid])dbtypeid=dbtypeid.toUpperCase();alasql.declares[declare.variable]={dbtypeid:dbtypeid,dbsize:declare.dbsize,dbprecision:declare.dbprecision};if(declare.expression){alasql.vars[declare.variable]=new Function("params,alasql","return "+declare.expression.toJavaScript("","",null))(params,alasql);if(alasql.declares[declare.variable]){alasql.vars[declare.variable]=alasql.stdfn.CONVERT(alasql.vars[declare.variable],alasql.declares[declare.variable])}}})}if(cb)res=cb(res);return res};yy.ShowDatabases=function(params){return yy.extend(this,params)};yy.ShowDatabases.prototype.toString=function(){var s=K("SHOW")+" "+K("DATABASES");if(this.like)s+="LIKE "+this.like.toString();return s};yy.ShowDatabases.prototype.execute=function(databaseid,params,cb){if(this.engineid){return alasql.engines[this.engineid].showDatabases(this.like,cb)}else{var self=this;var res=[];for(dbid in alasql.databases){res.push({databaseid:dbid})}if(self.like&&res&&res.length>0){res=res.filter(function(d){return d.databaseid.match(new RegExp(self.like.value.replace(/\%/g,".*"),"g"))})}if(cb)cb(res);return res}};yy.ShowTables=function(params){return yy.extend(this,params)};yy.ShowTables.prototype.toString=function(){var s=K("SHOW")+" "+K("TABLES");if(this.databaseid)s+=" FROM "+this.databaseid;if(this.like)s+=" "+K("LIKE")+" "+this.like.toString();return s};yy.ShowTables.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.databaseid||databaseid];var self=this;var res=[];for(tableid in db.tables){res.push({tableid:tableid})}if(self.like&&res&&res.length>0){res=res.filter(function(d){return d.tableid.match(new RegExp(self.like.value.replace(/\%/g,".*"),"g"))})}if(cb)cb(res);return res};yy.ShowColumns=function(params){return yy.extend(this,params)};yy.ShowColumns.prototype.toString=function(){var s=K("SHOW")+" "+K("COLUMNS");if(this.table.tableid)s+=" "+K("FROM")+" "+this.table.tableid;if(this.databaseid)s+=" "+K("FROM")+" "+this.databaseid;return s};yy.ShowColumns.prototype.execute=function(databaseid){var db=alasql.databases[this.databaseid||databaseid];var table=db.tables[this.table.tableid];var self=this;if(table&&table.columns){var res=table.columns.map(function(col){return{columnid:col.columnid,dbtypeid:col.dbtypeid,dbsize:col.dbsize}});return res}else{return[]}};yy.ShowIndex=function(params){return yy.extend(this,params)};yy.ShowIndex.prototype.toString=function(){var s=K("SHOW")+" "+K("INDEX");if(this.table.tableid)s+=" "+K("FROM")+" "+this.table.tableid;if(this.databaseid)s+=" "+K("FROM")+" "+this.databaseid;return s};yy.ShowIndex.prototype.execute=function(databaseid){var db=alasql.databases[this.databaseid||databaseid];var table=db.tables[this.table.tableid];var self=this;var res=[];if(table&&table.indices){for(var ind in table.indices){res.push({hh:ind,len:Object.keys(table.indices[ind]).length})}}return res};yy.ShowCreateTable=function(params){return yy.extend(this,params)};yy.ShowCreateTable.prototype.toString=function(){var s=K("SHOW")+" "+K("CREATE")+" "+K("TABLE")+" "+L(this.table.tableid);if(this.databaseid)s+=" "+K("FROM")+" "+L(this.databaseid);return s};yy.ShowCreateTable.prototype.execute=function(databaseid){var db=alasql.databases[this.databaseid||databaseid];var table=db.tables[this.table.tableid];var self=this;if(table){var s=K("CREATE")+" "+K("TABLE")+" "+L(this.table.tableid)+" (";var ss=[];if(table.columns){table.columns.forEach(function(col){var a=L(col.columnid)+" "+K(col.dbtypeid);if(col.dbsize)a+="("+N(col.dbsize)+")";if(col.primarykey)a+=" "+K("PRIMARY")+" "+K("KEY");ss.push(a)});s+=ss.join(", ")}s+=")";return s}else{throw new Error('There is no such table "'+this.table.tableid+'"')}};yy.SetVariable=function(params){return yy.extend(this,params)};yy.SetVariable.prototype.toString=function(){var s=K("SET")+" ";if(typeof this.value!="undefined")s+=K(this.variable.toUpperCase())+" "+(this.value?"ON":"OFF");if(this.expression)s+="@"+L(this.variable)+" = "+this.expression.toString();return s};yy.SetVariable.prototype.execute=function(databaseid,params,cb){if(typeof this.value!="undefined"){var val=this.value;if(val=="ON")val=true;else if(val=="OFF")val=false;alasql.options[this.variable]=val}else if(this.expression){var res=new Function("params,alasql","return "+this.expression.toJavaScript("","",null))(params,alasql);if(alasql.declares[this.variable]){res=alasql.stdfn.CONVERT(res,alasql.declares[this.variable])}if(this.props&&this.props.length>0){var fs="alasql.vars['"+this.variable+"']";fs+=this.props.map(function(prop){if(typeof prop=="string"){return"['"+prop+"']"}else if(typeof prop=="number"){return"["+prop+"]"}else{return"["+prop.toJavaScript()+"]"}}).join();new Function("value,alasql",fs+"=value")(res,alasql)}else{alasql.vars[this.variable]=res}}var res=1;if(cb)res=cb(res);return res};alasql.test=function(name,times,fn){if(arguments.length==0){alasql.log(alasql.con.results);return}else if(arguments.length==1){var tm=Date.now();fn();alasql.con.log(Date.now()-tm);return}if(arguments.length==2){fn=times;times=1}var tm=Date.now();for(var i=0;i<times;i++)fn();alasql.con.results[name]=Date.now()-tm};alasql.log=function(sql,params){var olduseid=alasql.useid;var target=alasql.options.logtarget;if(typeof exports=="object"){target="console"}var res;if(typeof sql=="string"){res=alasql(sql,params)}else{res=sql}if(target=="console"||typeof exports=="object"){if(typeof sql=="string"&&alasql.options.logprompt)console.log(olduseid+">",sql);if(res instanceof Array){if(console.table){console.table(res)}else{console.log(JSONtoString(res))}}else{console.log(JSONtoString(res))}}else{var el;if(target=="output"){el=document.getElementsByTagName("output")[0]}else{if(typeof target=="string"){el=document.getElementById(target)}else{el=target}}var s="";if(typeof sql=="string"&&alasql.options.logprompt){s+="<pre><code>"+alasql.pretty(sql)+"</code></pre>"}if(res instanceof Array){if(res.length==0){s+="<p>[ ]</p>"}else if(typeof res[0]!="object"||res[0]instanceof Array){for(var i=0,ilen=res.length;i<ilen;i++){s+="<p>"+loghtml(res[i])+"</p>"}}else{s+=loghtml(res)}}else{s+=loghtml(res)}el.innerHTML+=s}};alasql.clear=function(){var target=alasql.options.logtarget;if(typeof exports=="object"){target="console"}if(target=="console"||typeof exports=="object"){if(console.clear){console.clear()}else{}}else{var el;if(target=="output"){el=document.getElementsByTagName("output")[0]}else{if(typeof target=="string"){el=document.getElementById(target)}else{el=target}}el.innerHTML=""}};alasql.write=function(s){var target=alasql.options.logtarget;if(typeof exports=="object"){target="console"}if(target=="console"||typeof exports=="object"){if(console.log){console.log(s)}else{}}else{var el;if(target=="output"){el=document.getElementsByTagName("output")[0]}else{if(typeof target=="string"){el=document.getElementById(target)}else{el=target}}el.innerHTML+=s}};function loghtml(res){var s="";if(typeof res=="undefined"){s+="undefined"}else if(res instanceof Array){s+="<style>";s+="table {border:1px black solid; border-collapse: collapse; border-spacing: 0px;}";s+="td,th {border:1px black solid; padding-left:5px; padding-right:5px}";s+="th {background-color: #EEE}";s+="</style>";s+="<table>";var cols=[];for(colid in res[0]){cols.push(colid)}s+="<tr><th>#";cols.forEach(function(colid){s+="<th>"+colid});for(var i=0,ilen=res.length;i<ilen;i++){s+="<tr><th>"+(i+1);cols.forEach(function(colid){s+="<td> ";if(+res[i][colid]==+res[i][colid]){s+='<div style="text-align:right">';if(typeof res[i][colid]=="undefined")s+="NULL";else s+=res[i][colid];s+="</div>"}else{if(typeof res[i][colid]=="undefined"){s+="NULL"}else if(typeof res[i][colid]=="string"){s+=res[i][colid]}else s+=JSONtoString(res[i][colid])}})}s+="</table>"}else{s+="<p>"+JSONtoString(res)+"</p>"}return s}function scrollTo(element,to,duration){if(duration<=0)return;var difference=to-element.scrollTop;var perTick=difference/duration*10;setTimeout(function(){if(element.scrollTop==to)return;element.scrollTop=element.scrollTop+perTick;scrollTo(element,to,duration-10)},10)}alasql.prompt=function(el,useidel,firstsql){if(typeof exports=="object"){throw new Error("The functionality of prompt is not realized for Node.js")}var prompti=0;if(typeof el=="string")el=document.getElementById(el);if(typeof useidel=="string")useidel=document.getElementById(useidel);useidel.textContent=alasql.useid;if(firstsql){alasql.prompthistory.push(firstsql);prompti=alasql.prompthistory.length;try{var tm=Date.now();alasql.log(firstsql);alasql.write('<p style="color:blue">'+(Date.now()-tm)+" ms</p>")}catch(err){alasql.write("<p>"+olduseid+"&gt;&nbsp;<b>"+sql+"</b></p>");alasql.write('<p style="color:red">'+err+"<p>")}}var y=el.getBoundingClientRect().top+document.getElementsByTagName("body")[0].scrollTop;scrollTo(document.getElementsByTagName("body")[0],y,500);el.onkeydown=function(event){if(event.which==13){var sql=el.value;var olduseid=alasql.useid;el.value="";alasql.prompthistory.push(sql);prompti=alasql.prompthistory.length;try{var tm=Date.now();alasql.log(sql);alasql.write('<p style="color:blue">'+(Date.now()-tm)+" ms</p>")}catch(err){alasql.write("<p>"+olduseid+"&gt;&nbsp;"+alasql.pretty(sql,false)+"</p>");alasql.write('<p style="color:red">'+err+"<p>")}el.focus();useidel.textContent=alasql.useid;var y=el.getBoundingClientRect().top+document.getElementsByTagName("body")[0].scrollTop;scrollTo(document.getElementsByTagName("body")[0],y,500)}else if(event.which==38){prompti--;if(prompti<0)prompti=0;if(alasql.prompthistory[prompti]){el.value=alasql.prompthistory[prompti];event.preventDefault()}}else if(event.which==40){prompti++;if(prompti>=alasql.prompthistory.length){prompti=alasql.prompthistory.length;el.value=""}else if(alasql.prompthistory[prompti]){el.value=alasql.prompthistory[prompti];event.preventDefault()}}}};yy.BeginTransaction=function(params){return yy.extend(this,params)};yy.BeginTransaction.prototype.toString=function(){return K("BEGIN")+" "+K("TRANSACTION")};yy.BeginTransaction.prototype.execute=function(databaseid,params,cb){var res=1;if(alasql.databases[databaseid].engineid){return alasql.engines[alasql.databases[alasql.useid].engineid].begin(databaseid,cb)}else{}if(cb)cb(res);return res};yy.CommitTransaction=function(params){return yy.extend(this,params)};yy.CommitTransaction.prototype.toString=function(){return K("COMMIT")+" "+K("TRANSACTION")};yy.CommitTransaction.prototype.execute=function(databaseid,params,cb){var res=1;if(alasql.databases[databaseid].engineid){return alasql.engines[alasql.databases[alasql.useid].engineid].commit(databaseid,cb)}else{}if(cb)cb(res);return res};yy.RollbackTransaction=function(params){return yy.extend(this,params)};yy.RollbackTransaction.prototype.toString=function(){return K("ROLLBACK")+" "+K("TRANSACTION")};yy.RollbackTransaction.prototype.execute=function(databaseid,params,cb){var res=1;if(alasql.databases[databaseid].engineid){return alasql.engines[alasql.databases[databaseid].engineid].rollback(databaseid,cb)}else{}if(cb)cb(res);return res};alasql.into.SQL=function(filename,opts,data,columns,cb){var res;if(typeof filename=="object"){opts=filename;filename=""}var opt={};alasql.utils.extend(opt,opts);if(typeof opt.tableid=="undefined"){throw new Error("Table for INSERT TO is not defined.")}var s="";if(columns.length==0){if(typeof data[0]=="object"){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}else{}}for(var i=0,ilen=data.length;i<ilen;i++){s+="INSERT INTO "+opts.tableid+"(";s+=columns.map(function(col){return col.columnid}).join(",");s+=") VALUES (";s+=columns.map(function(col){var val=data[i][col.columnid];if(col.typeid){if(col.typeid=="STRING"||col.typeid=="VARCHAR"||col.typeid=="NVARCHAR"||col.typeid=="CHAR"||col.typeid=="NCHAR"){val="'"+escapeqq(val)+"'"}}else{if(typeof val=="string"){val="'"+escapeqq(val)+"'"}}return val});s+=");\n"}res=alasql.utils.saveFile(filename,s);if(cb)res=cb(res);return res};alasql.into.HTML=function(selector,opts,data,columns,cb){var res=1;if(typeof exports!="object"){var opt={};alasql.utils.extend(opt,opts);var sel=document.querySelector(selector);if(!sel){throw new Error("Selected HTML element is not found")}if(columns.length==0){if(typeof data[0]=="object"){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}else{}}var tbe=document.createElement("table");var thead=document.createElement("thead");tbe.appendChild(thead);if(opt.headers){var tre=document.createElement("tr");for(var i=0;i<columns.length;i++){var the=document.createElement("th");the.textContent=columns[i].columnid;tre.appendChild(the)}thead.appendChild(tre)}var tbody=document.createElement("tbody");tbe.appendChild(tbody);for(var j=0;j<data.length;j++){var tre=document.createElement("tr");for(var i=0;i<columns.length;i++){var the=document.createElement("td");the.textContent=data[j][columns[i].columnid];tre.appendChild(the)}tbody.appendChild(tre)}alasql.utils.domEmptyChildren(sel);sel.appendChild(tbe)}if(cb)res=cb(res);return res};alasql.into.JSON=function(filename,opts,data,columns,cb){var res=1;var s=JSON.stringify(data);alasql.utils.saveFile(filename,s,function(){if(cb)res=cb(res)});return res};alasql.into.TXT=function(filename,opts,data,columns,cb){if(columns.length==0&&data.length>0){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}if(typeof filename=="object"){opts=filename;filename=null}var res=data.length;var s="";if(data.length>0){var key=columns[0].columnid;s+=data.map(function(d){return d[key]}).join("\n")}alasql.utils.saveFile(filename,s);if(cb)res=cb(res);return res};alasql.into.TAB=alasql.into.TSV=function(filename,opts,data,columns,cb){var opt={};alasql.utils.extend(opt,opts);opt.separator="	";return alasql.into.CSV(filename,opt,data,columns,cb)};alasql.into.CSV=function(filename,opts,data,columns,cb){if(columns.length==0&&data.length>0){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}if(typeof filename=="object"){opts=filename;filename=null}var opt={};opt.separator=",";opt.quote='"';alasql.utils.extend(opt,opts);var res=data.length;var s="";if(opt.headers){s+=columns.map(function(col){return col.columnid}).join(opt.separator)+"\n"}data.forEach(function(d,idx){s+=columns.map(function(col){var s=d[col.columnid];s=(s+"").replace(new RegExp("\\"+opt.quote,"g"),'""');if((s+"").indexOf(opt.separator)>-1||(s+"").indexOf(opt.quote)>-1)s=opt.quote+s+opt.quote;return s}).join(opt.separator)+"\n"});if(filename){alasql.utils.saveFile(filename,s)}else{console.log(s)}if(cb)res=cb(res);return res};alasql.into.XLSX=function(filename,opts,data,columns,cb){if(columns.length==0&&data.length>0){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}if(typeof exports=="object"){var XLSX=require("xlsx")}else{var XLSX=window.XLSX}var opt={sheetid:"Sheet1",headers:true};alasql.utils.extend(opt,opts);var res=data.length;var wb={SheetNames:[],Sheets:{}};if(opt.sourcefilename){alasql.utils.loadBinaryFile(opt.sourcefilename,!!cb,function(data){wb=XLSX.read(data,{type:"binary"});doExport()})}else{doExport()}function doExport(){var cells={};if(wb.SheetNames.indexOf(opt.sheetid)>-1){cells=wb.Sheets[opt.sheetid]}else{wb.SheetNames.push(opt.sheetid);wb.Sheets[opt.sheetid]={};cells=wb.Sheets[opt.sheetid]}var range="A1";if(opt.range)range=opt.range;var col0=alasql.utils.xlscn(range.match(/[A-Z]+/)[0]);var row0=+range.match(/[0-9]+/)[0]-1;if(wb.Sheets[opt.sheetid]["!ref"]){var rangem=wb.Sheets[opt.sheetid]["!ref"];var colm=alasql.utils.xlscn(rangem.match(/[A-Z]+/)[0]);var rowm=+rangem.match(/[0-9]+/)[0]-1}else{var colm=1,rowm=1}var colmax=Math.max(col0+columns.length,colm);var rowmax=Math.max(row0+data.length+2,rowm);var i=row0+1;wb.Sheets[opt.sheetid]["!ref"]="A1:"+alasql.utils.xlsnc(colmax)+rowmax;if(opt.headers){columns.forEach(function(col,idx){cells[alasql.utils.xlsnc(col0+idx)+""+i]={v:col.columnid}});i++}for(var j=0;j<data.length;j++){columns.forEach(function(col,idx){cells[alasql.utils.xlsnc(col0+idx)+""+i]={v:data[j][col.columnid]}});i++}if(typeof exports=="object"){XLSX.writeFile(wb,filename)}else{var wopts={bookType:"xlsx",bookSST:false,type:"binary"};var wbout=XLSX.write(wb,wopts);function s2ab(s){var buf=new ArrayBuffer(s.length);var view=new Uint8Array(buf);for(var i=0;i!=s.length;++i)view[i]=s.charCodeAt(i)&255;return buf}saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}),filename)}if(cb)res=cb(res);return res}};alasql.from.TABLETOP=function(key,opts,cb,idx,query){var res=[];var opt={headers:true,simpleSheet:true,key:key};alasql.utils.extend(opt,opts);opt.callback=function(data){res=data;if(cb)res=cb(res,idx,query)};Tabletop.init(opt);return res};alasql.from.HTML=function(selector,opts,cb,idx,query){var opt={};alasql.utils.extend(opt,opts);var sel=document.querySelector(selector);if(!sel&&sel.tagName!="TABLE"){throw new Error("Selected HTML element is not a TABLE")}var res=[];var headers=opt.headers;if(headers&&!(headers instanceof Array)){headers=[];var ths=sel.querySelector("thead tr").children;for(var i=0;i<ths.length;i++){if(!(ths.item(i).style&&ths.item(i).style.display=="none"&&opt.skipdisplaynone)){headers.push(ths.item(i).textContent)}else{headers.push(undefined)}}}var trs=sel.querySelectorAll("tbody tr");for(var j=0;j<trs.length;j++){var tds=trs.item(j).children;var r={};for(var i=0;i<tds.length;i++){if(!(tds.item(i).style&&tds.item(i).style.display=="none"&&opt.skipdisplaynone)){if(headers){r[headers[i]]=tds.item(i).textContent}else{r[i]=tds.item(i).textContent}}}res.push(r)}if(cb)res=cb(res,idx,query);return res};alasql.from.RANGE=function(start,finish,cb,idx,query){var res=[];for(i=start;i<=finish;i++)res.push(i);if(cb)res=cb(res,idx,query);return res};alasql.from.FILE=function(filename,opts,cb,idx,query){if(typeof filename=="string"){fname=filename}else if(filename instanceof Event){fname=filename.target.files[0].name}else{throw new Error("Wrong usage of FILE() function")}var parts=fname.split(".");var ext=parts[parts.length-1].toUpperCase();if(alasql.from[ext]){return alasql.from[ext](filename,opts,cb,idx,query)}else{throw new Error("Cannot recognize file type for loading")}};alasql.from.JSON=function(filename,opts,cb,idx,query){var res;alasql.utils.loadFile(filename,!!cb,function(data){res=JSON.parse(data);if(cb)res=cb(res,idx,query)});return res};alasql.from.TXT=function(filename,opts,cb,idx,query){var res;alasql.utils.loadFile(filename,!!cb,function(data){res=data.split(/\r?\n/);for(var i=0,ilen=res.length;i<ilen;i++){if(res[i]==+res[i])res[i]=+res[i];res[i]=[res[i]]}if(cb)res=cb(res,idx,query)});return res};alasql.from.TAB=alasql.from.TSV=function(filename,opts,cb,idx,query){if(!opts)opts={};opts.separator="	";return alasql.from.CSV(filename,opts,cb,idx,query)};alasql.from.CSV=function(filename,opts,cb,idx,query){var opt={separator:",",quote:'"'};alasql.utils.extend(opt,opts);var res;alasql.utils.loadFile(filename,!!cb,function(text){var delimiterCode=opt.separator.charCodeAt(0);var quoteCode=opt.quote.charCodeAt(0);var EOL={},EOF={},rows=[],N=text.length,I=0,n=0,t,eol;function token(){if(I>=N)return EOF;if(eol)return eol=false,EOL;var j=I;if(text.charCodeAt(j)===quoteCode){var i=j;while(i++<N){if(text.charCodeAt(i)===quoteCode){if(text.charCodeAt(i+1)!==quoteCode)break;++i}}I=i+2;var c=text.charCodeAt(i+1);if(c===13){eol=true;if(text.charCodeAt(i+2)===10)++I}else if(c===10){eol=true}return text.substring(j+1,i).replace(/""/g,'"')}while(I<N){var c=text.charCodeAt(I++),k=1;if(c===10)eol=true;else if(c===13){eol=true;if(text.charCodeAt(I)===10)++I,++k}else if(c!==delimiterCode)continue;return text.substring(j,I-k)}return text.substring(j)}while((t=token())!==EOF){var a=[];while(t!==EOL&&t!==EOF){a.push(t);t=token()}if(opt.headers){if(n==0){if(typeof opt.headers=="boolean"){hs=a}else if(opt.headers instanceof Array){hs=opt.headers;var r={};hs.forEach(function(h,idx){r[h]=a[idx];if(typeof r[h]!="undefined"&&r[h].trim()==+r[h])r[h]=+r[h]});rows.push(r)}}else{var r={};hs.forEach(function(h,idx){r[h]=a[idx];if(typeof r[h]!="undefined"&&r[h].trim()==+r[h])r[h]=+r[h]});rows.push(r)}n++}else{rows.push(a)}}res=rows;if(opt.headers){if(query&&query.sources&&query.sources[idx]){var columns=query.sources[idx].columns=[];hs.forEach(function(h){columns.push({columnid:h})})}}if(cb)res=cb(res,idx,query)});return res};alasql.from.XLS=function(filename,opts,cb,idx,query){if(typeof exports==="object"){var X=require("xlsjs")}else{var X=window.XLS;if(!X){throw new Error("XLS library is not attached")}}return XLSXLSX(X,filename,opts,cb,idx,query)};alasql.from.XLSX=function(filename,opts,cb,idx,query){if(typeof exports==="object"){var X=require("xlsx")}else{var X=window.XLSX;if(!X){throw new Error("XLSX library is not attached")}}return XLSXLSX(X,filename,opts,cb,idx,query)};function XLSXLSX(X,filename,opts,cb,idx,query){var opt={};if(!opts)opts={};alasql.utils.extend(opt,opts);var res;alasql.utils.loadBinaryFile(filename,!!cb,function(data){var workbook=X.read(data,{type:"binary"});var sheetid;if(typeof opt.sheetid=="undefined"){sheetid=workbook.SheetNames[0]}else{sheetid=opt.sheetid}var range;if(typeof opt.range=="undefined"){range=workbook.Sheets[sheetid]["!ref"]}else{range=opt.range;if(workbook.Sheets[sheetid][range])range=workbook.Sheets[sheetid][range]}var rg=range.split(":");var col0=rg[0].match(/[A-Z]+/)[0];var row0=+rg[0].match(/[0-9]+/)[0];var col1=rg[1].match(/[A-Z]+/)[0];var row1=+rg[1].match(/[0-9]+/)[0];var hh={};for(var j=alasql.utils.xlscn(col0);j<=alasql.utils.xlscn(col1);j++){var col=alasql.utils.xlsnc(j);if(opt.headers){if(workbook.Sheets[sheetid][col+""+row0]){hh[col]=workbook.Sheets[sheetid][col+""+row0].v}else{hh[col]=col}}else{hh[col]=col}}var res=[];if(opt.headers)row0++;for(var i=row0;i<=row1;i++){var row={};for(var j=alasql.utils.xlscn(col0);j<=alasql.utils.xlscn(col1);j++){var col=alasql.utils.xlsnc(j);if(workbook.Sheets[sheetid][col+""+i]){row[hh[col]]=workbook.Sheets[sheetid][col+""+i].v}}res.push(row)}if(cb)res=cb(res,idx,query)},function(err){throw err});return res}yy.Help=function(params){return yy.extend(this,params)};yy.Help.prototype.toString=function(){var s=K("HELP");if(this.subject)s+=" "+L(this.subject);return s};helpdocs=[{command:"ALTER TABLE table RENAME TO table"},{command:"ALTER TABLE table ADD COLUMN column coldef"},{command:"ALTER TABLE table MODIFY COLUMN column coldef"},{command:"ALTER TABLE table RENAME COLUMN column TO column"},{command:"ALTER TABLE table DROP column"},{command:"ATTACH engine DATABASE database"},{command:"ASSERT value"},{command:"BEGIN [TRANSACTION]"},{command:"COMMIT [TRANSACTION]"},{command:"CREATE [engine] DATABASE [IF NOT EXISTS] database"},{command:"CREATE TABLE [IF NOT EXISTS] table (column definitions)"},{command:"DELETE FROM table [WHERE expression]"},{command:"DETACH DATABASE database"},{command:"DROP [engine] DATABASE [IF EXISTS] database"},{command:"DROP TABLE [IF EXISTS] table"},{command:"INSERT INTO table VALUES value,..."},{command:"INSERT INTO table DEFAULT VALUES"},{command:"INSERT INTO table SELECT select"},{command:"HELP [subject]"},{command:"ROLLBACK [TRANSACTION]"},{command:"SELECT [modificator] columns [INTO table] [FROM table,...] [[mode] JOIN [ON] [USING]] [WHERE ] [GROUP BY] [HAVING] [ORDER BY] "},{command:"SET option value"},{command:"SHOW [engine] DATABASES"},{command:"SHOW TABLES"},{command:"SHOW CREATE TABLE table"},{command:"UPDATE table SET column1 = expression1, ... [WHERE expression]"},{command:"USE [DATABASE] database"},{command:"expression"},{command:'See also <a href="http://github/agershun/alasq">http://github/agershun/alasq</a> for more information'}];yy.Help.prototype.execute=function(databaseid,params,cb){var ss=[];if(!this.subject){ss=helpdocs}else{ss.push('See also <a href="http://github/agershun/alasq">http://github/agershun/alasq</a> for more information')}if(cb)ss=cb(ss);return ss};yy.Print=function(params){return yy.extend(this,params)};yy.Print.prototype.toString=function(){var s=K("PRINT");if(this.statement)s+=" "+this.statement.toString();return s};yy.Print.prototype.execute=function(databaseid,params,cb){var res,s;if(this.statement){s=this.statement.execute(databaseid,params)}else{s=""}s=JSONtoString(s);console.log(s);if(cb)res=cb(res);return res};yy.Source=function(params){return yy.extend(this,params)};yy.Source.prototype.toString=function(){var s=K("SOURCE");if(this.url)s+=" "+S("'"+this.url+"'");return s};yy.Source.prototype.execute=function(databaseid,params,cb){var res;loadFile(this.url,!!cb,function(data){res=alasql(data);if(cb)res=cb(res);return res},function(err){throw err});return res};yy.Require=function(params){return yy.extend(this,params)};yy.Require.prototype.toString=function(){var s=K("REQUIRE");if(this.paths&&this.paths.length>0){s+=this.paths.map(function(path){return path.toString()}).join(",")}return s};yy.Require.prototype.execute=function(databaseid,params,cb){var self=this;var res=0;var ss="";if(this.paths.length>0){this.paths.forEach(function(path){loadFile(path.value,!!cb,function(data){res++;ss+=data;if(res<self.paths.length)return;new Function("params,alasql",ss)(params,alasql);if(cb)res=cb(res)})})}if(this.paths.length==0&&cb)res=cb(res);return res};yy.Assert=function(params){return yy.extend(this,params)};yy.Source.prototype.toString=function(){var s=K("ASSERT");if(this.value)s+=" "+JSON.stringify(this.value);return s};yy.Assert.prototype.execute=function(databaseid){if(!deepEqual(alasql.res,this.value)){throw new Error((this.message||"Assert wrong")+": "+JSON.stringify(alasql.res)+" == "+JSON.stringify(this.value))}return 1};var WEBSQL=alasql.engines.WEBSQL=function(){};WEBSQL.createDatabase=function(wdbid,args,dbid,cb){var res=1;var wdb=openDatabase(wdbid,args[0],args[1],args[2]);if(this.dbid){var db=alasql.createDatabase(this.dbid);db.engineid="WEBSQL";db.wdbid=wdbid;sb.wdb=db}if(!wdb){throw new Error('Cannot create WebSQL database "'+databaseid+'"')
  }if(cb)cb(res);return res};WEBSQL.dropDatabase=function(databaseid){throw new Error("This is impossible to drop WebSQL database.")};WEBSQL.attachDatabase=function(databaseid,dbid,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}alasqlopenDatabase(databaseid,args[0],args[1],args[2]);return res};var IDB=alasql.engines.INDEXEDDB=function(){};IDB.showDatabases=function(like,cb){var request=indexedDB.webkitGetDatabaseNames();request.onsuccess=function(event){var dblist=event.target.result;var res=[];if(like){var relike=new RegExp(like.value.replace(/\%/g,".*"),"g")}for(var i=0;i<dblist.length;i++){if(!like||dblist[i].match(relike)){res.push({databaseid:dblist[i]})}}cb(res)}};IDB.createDatabase=function(ixdbid,args,ifnotexists,dbid,cb){var request1=indexedDB.webkitGetDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(dblist.contains(ixdbid)){if(ifnotexists){cb(0);return}else{throw new Error('IndexedDB: Cannot create new database "'+ixdbid+'" because it already exists')}}var request2=window.indexedDB.open(ixdbid,1);request2.onsuccess=function(event){event.target.result.close();cb(1)}}};IDB.dropDatabase=function(ixdbid,ifexists,cb){var request1=indexedDB.webkitGetDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){if(ifexists){cb(0);return}else{throw new Error('IndexedDB: Cannot drop new database "'+ixdbid+'" because it does not exist')}}var request2=indexedDB.deleteDatabase(ixdbid);request2.onsuccess=function(event){if(cb)cb(1)}}};IDB.attachDatabase=function(ixdbid,dbid,args,cb){var request1=indexedDB.webkitGetDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){throw new Error('IndexedDB: Cannot attach database "'+ixdbid+'" because it does not exist')}var request2=indexedDB.open(ixdbid);request2.onsuccess=function(event){var ixdb=event.target.result;var db=new alasql.Database(dbid||ixdbid);db.engineid="INDEXEDDB";db.ixdbid=ixdbid;db.tables=[];var tblist=ixdb.objectStoreNames;for(var i=0;i<tblist.length;i++){db.tables[tblist[i]]={}}event.target.result.close();cb(1)}}};IDB.createTable=function(databaseid,tableid,ifnotexists,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request1=indexedDB.webkitGetDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){throw new Error('IndexedDB: Cannot create table in database "'+ixdbid+'" because it does not exist')}var request2=indexedDB.open(ixdbid);request2.onversionchange=function(event){event.target.result.close()};request2.onsuccess=function(event){var version=event.target.result.version;event.target.result.close();var request3=indexedDB.open(ixdbid,version+1);request3.onupgradeneeded=function(event){var ixdb=event.target.result;var store=ixdb.createObjectStore(tableid,{autoIncrement:true})};request3.onsuccess=function(event){event.target.result.close();cb(1)};request3.onerror=function(event){throw event};request3.onblocked=function(event){throw new Error('Cannot create table "'+tableid+'" because database "'+databaseid+'"  is blocked')}}}};IDB.dropTable=function(databaseid,tableid,ifexists,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request1=indexedDB.webkitGetDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){throw new Error('IndexedDB: Cannot drop table in database "'+ixdbid+'" because it does not exist')}var request2=indexedDB.open(ixdbid);request2.onversionchange=function(event){event.target.result.close()};request2.onsuccess=function(event){var version=event.target.result.version;event.target.result.close();var request3=indexedDB.open(ixdbid,version+1);request3.onupgradeneeded=function(event){var ixdb=event.target.result;if(ixdb.objectStoreNames.contains(tableid)){ixdb.deleteObjectStore(tableid);delete alasql.databases[databaseid].tables[tableid]}else{if(!ifexists){throw new Error('IndexedDB: Cannot drop table "'+tableid+'" because it is not exist')}}};request3.onsuccess=function(event){event.target.result.close();cb(1)};request3.onerror=function(event){throw event};request3.onblocked=function(event){throw new Error('Cannot drop table "'+tableid+'" because database "'+databaseid+'" is blocked')}}}};IDB.intoTable=function(databaseid,tableid,value,columns,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request1=indexedDB.open(ixdbid);request1.onsuccess=function(event){var ixdb=event.target.result;var tx=ixdb.transaction([tableid],"readwrite");var tb=tx.objectStore(tableid);for(var i=0,ilen=value.length;i<ilen;i++){tb.add(value[i])}tx.oncomplete=function(){ixdb.close();cb(ilen)}}};IDB.fromTable=function(databaseid,tableid,cb,idx,query){var ixdbid=alasql.databases[databaseid].ixdbid;var request=window.indexedDB.open(ixdbid);request.onsuccess=function(event){var res=[];var ixdb=event.target.result;var tx=ixdb.transaction([tableid]);var store=tx.objectStore(tableid);var cur=store.openCursor();cur.onblocked=function(event){};cur.onerror=function(event){};cur.onsuccess=function(event){var cursor=event.target.result;if(cursor){res.push(cursor.value);cursor.continue()}else{ixdb.close();cb(res,idx,query)}}}};IDB.deleteFromTable=function(databaseid,tableid,wherefn,params,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request=window.indexedDB.open(ixdbid);request.onsuccess=function(event){var res=[];var ixdb=event.target.result;var tx=ixdb.transaction([tableid],"readwrite");var store=tx.objectStore(tableid);var cur=store.openCursor();var num=0;cur.onblocked=function(event){};cur.onerror=function(event){};cur.onsuccess=function(event){var cursor=event.target.result;if(cursor){if(!wherefn||wherefn(cursor.value,params)){cursor.delete();num++}cursor.continue()}else{ixdb.close();cb(num)}}}};IDB.updateTable=function(databaseid,tableid,assignfn,wherefn,params,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request=window.indexedDB.open(ixdbid);request.onsuccess=function(event){var res=[];var ixdb=event.target.result;var tx=ixdb.transaction([tableid],"readwrite");var store=tx.objectStore(tableid);var cur=store.openCursor();var num=0;cur.onblocked=function(event){};cur.onerror=function(event){};cur.onsuccess=function(event){var cursor=event.target.result;if(cursor){if(!wherefn||wherefn(cursor.value,params)){var r=cursor.value;assignfn(r,params);cursor.update(r);num++}cursor.continue()}else{ixdb.close();cb(num)}}}};var LS=alasql.engines.LOCALSTORAGE=function(){};LS.get=function(key){var s=localStorage.getItem(key);if(typeof s=="undefined")return;var v=undefined;try{v=JSON.parse(s)}catch(err){throw new Error("Cannot parse JSON "+s)}return v};LS.set=function(key,value){if(typeof value=="undefined")localStorage.removeItem(key);else localStorage.setItem(key,JSON.stringify(value))};LS.createDatabase=function(lsdbid,args,ifnotexists,dbid,cb){var res=1;var ls=LS.get("alasql");if(!(ifnotexists&&ls&&ls.databases&&ls.databases[lsdbid])){if(!ls)ls={databases:{}};if(ls.databases&&ls.databases[lsdbid]){throw new Error('localStorage: Cannot create new database "'+lsdbid+'" because it already exists')}ls.databases[lsdbid]=true;LS.set("alasql",ls);LS.set(lsdbid,{databaseid:lsdbid,tables:{}})}else{res=0}if(cb)cb(res);return res};LS.dropDatabase=function(lsdbid,ifexists,cb){var res=1;var ls=LS.get("alasql");if(!(ifexists&&ls&&ls.databases&&!ls.databases[lsdbid])){if(!ls){if(!ifexists){throw new Error("There are no alasql databases in localStorage")}else{return 0}}if(ls.databases&&!ls.databases[lsdbid]){throw new Error('localStorage: Cannot drop database "'+lsdbid+'" because there is no such database')}delete ls.databases[lsdbid];LS.set("alasql",ls);var db=LS.get(lsdbid);for(var tableid in db.tables){localStorage.removeItem(lsdbid+"."+tableid)}localStorage.removeItem(lsdbid)}else{res=0}if(cb)cb(res);return res};LS.attachDatabase=function(lsdbid,dbid,args,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}var db=new alasql.Database(dbid||lsdbid);db.engineid="LOCALSTORAGE";db.lsdbid=lsdbid;db.tables=LS.get(lsdbid).tables;if(!alasql.options.autocommit){if(db.tables){for(var tbid in db.tables){db.tables[tbid].data=LS.get(db.lsdbid+"."+tbid)}}}if(cb)res=cb(res);return res};LS.showDatabases=function(like,cb){var res=[];var ls=LS.get("alasql");if(like){var relike=new RegExp(like.value.replace(/\%/g,".*"),"g")}if(ls&&ls.databases){for(dbid in ls.databases){res.push({databaseid:dbid})}if(like&&res&&res.length>0){res=res.filter(function(d){return d.databaseid.match(relike)})}}if(cb)cb(res);return res};LS.createTable=function(databaseid,tableid,ifnotexists,cb){var lsdbid=alasql.databases[databaseid].lsdbid;var tb=LS.get(lsdbid+"."+tableid);var res=1;if(tb&&!ifnotexists){throw new Error('Table "'+tableid+'" alsready exists in localStorage database "'+lsdbid+'"')}var lsdb=LS.get(lsdbid);var table=alasql.databases[databaseid].tables[tableid];lsdb.tables[tableid]={columns:table.columns};LS.set(lsdbid,lsdb);LS.set(lsdbid+"."+tableid,[]);if(cb)cb(res);return res};LS.dropTable=function(databaseid,tableid,ifexists,cb){var res=1;var lsdbid=alasql.databases[databaseid].lsdbid;var lsdb=LS.get(lsdbid);if(!ifexists&&!lsdb.tables[tableid]){throw new Error('Cannot drop table "'+tableid+'" in localStorage, because it does not exist')}delete lsdb.tables[tableid];LS.set(lsdbid,lsdb);localStorage.removeItem(lsdbid+"."+tableid);if(cb)cb(res);return res};LS.fromTable=function(databaseid,tableid,cb,idx,query){var lsdbid=alasql.databases[databaseid].lsdbid;var res=LS.get(lsdbid+"."+tableid);if(cb)res=cb(res,idx,query);return res};LS.intoTable=function(databaseid,tableid,value,columns,cb){var lsdbid=alasql.databases[databaseid].lsdbid;var res=value.length;var tb=LS.get(lsdbid+"."+tableid);if(!tb)tb=[];tb=tb.concat(value);LS.set(lsdbid+"."+tableid,tb);if(cb)cb(res);return res};LS.loadTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];var lsdbid=alasql.databases[databaseid].lsdbid;db.tables[tableid].data=LS.get(lsdbid+"."+tableid)};LS.saveTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];var lsdbid=alasql.databases[databaseid].lsdbid;LS.set(lsdbid+"."+tableid,db.tables[tableid].data);db.tables[tableid].data=null};LS.commit=function(databaseid,cb){var db=alasql.databases[databaseid];var lsdbid=alasql.databases[databaseid].lsdbid;var lsdb={databaseid:lsdbid,tables:{}};if(db.tables){for(var tbid in db.tables){lsdb.tables[tbid]={columns:db.tables[tbid].columns};LS.set(lsdbid+"."+tbid,db.tables[tbid].data)}}LS.set(lsdbid,lsdb);return 1};LS.begin=LS.commit;LS.rollback=function(databaseid,cb){var db=alasql.databases[databaseid];db.dbversion++;var lsdbid=alasql.databases[databaseid].lsdbid;var lsdb=LS.get(lsdbid);if(lsdb.tables){for(var tbid in lsdb.tables){var tb=new alasql.Table({columns:db.tables[tbid].columns});extend(tb,lsdb.tables[tbid]);lsdb.tables[tbid]=tb;if(!alasql.options.autocommit){lsdb.tables[tbid].data=LS.get(db.lsdbid+"."+tbid)}lsdb.tables[tbid].indexColumns()}}delete alasql.databases[databaseid];alasql.databases[databaseid]=new alasql.Database(databaseid);extend(alasql.databases[databaseid],lsdb);alasql.databases[databaseid].databaseid=databaseid;alasql.databases[databaseid].engineid="LOCALSTORAGE"};var SQLITE=alasql.engines.SQLITE=function(){};SQLITE.createDatabase=function(wdbid,args,ifnotexists,dbid,cb){throw new Error("Connot create SQLITE database in memory. Attach it.")};SQLITE.dropDatabase=function(databaseid){throw new Error("This is impossible to drop SQLite database. Detach it.")};SQLITE.attachDatabase=function(sqldbid,dbid,args,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}if(args[0]&&args[0]instanceof yy.StringValue){alasql.utils.loadBinaryFile(args[0].value,true,function(data){var db=new alasql.Database(dbid||sqldbid);db.engineid="SQLITE";db.sqldbid=sqldbid;var sqldb=db.sqldb=new SQL.Database(data);db.tables=[];var tables=sqldb.exec("SELECT * FROM sqlite_master WHERE type='table'")[0].values;tables.forEach(function(tbl){db.tables[tbl[1]]={};var columns=db.tables[tbl[1]].columns=[];var ast=alasql.parse(tbl[4]);var coldefs=ast.statements[0].columns;if(coldefs&&coldefs.length>0){coldefs.forEach(function(cd){columns.push(cd)})}});cb(1)},function(err){throw new Error('Cannot open SQLite database file "'+args[0].value+'"')});return res}else{throw new Error("Cannot attach SQLite database without a file")}return res};SQLITE.fromTable=function(databaseid,tableid,cb,idx,query){var data=alasql.databases[databaseid].sqldb.exec("SELECT * FROM "+tableid);var columns=query.sources[idx].columns=[];if(data[0].columns.length>0){data[0].columns.forEach(function(columnid){columns.push({columnid:columnid})})}var res=[];if(data[0].values.length>0){data[0].values.forEach(function(d){var r={};columns.forEach(function(col,idx){r[col.columnid]=d[idx]});res.push(r)})}if(cb)cb(res,idx,query)};SQLITE.intoTable=function(databaseid,tableid,value,columns,cb){var sqldb=alasql.databases[databaseid].sqldb;for(var i=0,ilen=value.length;i<ilen;i++){var s="INSERT INTO "+tableid+" (";var d=value[i];var keys=Object.keys(d);s+=keys.join(",");s+=") VALUES (";s+=keys.map(function(k){v=d[k];if(typeof v=="string")v="'"+v+"'";return v}).join(",");s+=")";sqldb.exec(s)}var res=ilen;if(cb)cb(res);return res};var FS=alasql.engines.FILESTORAGE=alasql.engines.FILE=function(){};FS.createDatabase=function(fsdbid,args,ifnotexists,dbid,cb){var res=1;var filename=args[0].value;alasql.utils.fileExists(filename,function(fex){if(fex){if(ifnotexists){res=0;if(cb)res=cb(res);return res}else{throw new Error("Cannot create new database file, because it alreagy exists")}}else{var data={tables:{}};alasql.utils.saveFile(filename,JSON.stringify(data),function(data){if(cb)res=cb(res)})}});return res};FS.dropDatabase=function(fsdbid,ifexists,cb){var res;var filename=fsdbid.value;alasql.utils.fileExists(filename,function(fex){if(fex){res=1;alasql.utils.deleteFile(filename,function(){res=1;if(cb)res=cb(res)})}else{if(!ifexists){throw new Error("Cannot drop database file, because it does not exist")}res=0;if(cb)res=cb(res)}});return res};FS.attachDatabase=function(fsdbid,dbid,args,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}var db=new alasql.Database(dbid||fsdbid);db.engineid="FILESTORAGE";db.filename=args[0].value;loadFile(db.filename,!!cb,function(s){try{db.data=JSON.parse(s)}catch(err){throw new Error("Data in FileStorage database are corrupted")}db.tables=db.data.tables;if(!alasql.options.autocommit){if(db.tables){for(var tbid in db.tables){db.tables[tbid].data=db.data[tbid]}}}if(cb)res=cb(res)});return res};FS.createTable=function(databaseid,tableid,ifnotexists,cb){var db=alasql.databases[databaseid];var tb=db.data[tableid];var res=1;if(tb&&!ifnotexists){throw new Error('Table "'+tableid+'" alsready exists in the database "'+fsdbid+'"')}var table=alasql.databases[databaseid].tables[tableid];db.data.tables[tableid]={columns:table.columns};db.data[tableid]=[];FS.updateFile(databaseid);if(cb)cb(res);return res};FS.updateFile=function(databaseid){var db=alasql.databases[databaseid];if(db.issaving){db.postsave=true;return}db.issaving=true;db.postsave=false;alasql.utils.saveFile(db.filename,JSON.stringify(db.data),function(){db.issaving=false;if(db.postsave){setTimeout(function(){FS.updateFile(databaseid)},50)}})};FS.dropTable=function(databaseid,tableid,ifexists,cb){var res=1;var db=alasql.databases[databaseid];if(!ifexists&&!db.tables[tableid]){throw new Error('Cannot drop table "'+tableid+'" in fileStorage, because it does not exist')}delete db.tables[tableid];delete db.data.tables[tableid];delete db.data[tableid];FS.updateFile(databaseid);if(cb)cb(res);return res};FS.fromTable=function(databaseid,tableid,cb,idx,query){var db=alasql.databases[databaseid];var res=db.data[tableid];if(cb)res=cb(res,idx,query);return res};FS.intoTable=function(databaseid,tableid,value,columns,cb){var db=alasql.databases[databaseid];var res=value.length;var tb=db.data[tableid];if(!tb)tb=[];db.data[tableid]=tb.concat(value);FS.updateFile(databaseid);if(cb)cb(res);return res};FS.loadTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];db.tables[tableid].data=db.data[tableid]};FS.saveTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];db.data[tableid]=db.tables[tableid].data;db.tables[tableid].data=null;FS.updateFile(databaseid)};FS.commit=function(databaseid,cb){var db=alasql.databases[databaseid];var fsdb={tables:{}};if(db.tables){for(var tbid in db.tables){db.data.tables[tbid]={columns:db.tables[tbid].columns};db.data[tbid]=db.tables[tbid].data}}FS.updateFile(databaseid);return 1};FS.begin=FS.commit;FS.rollback=function(databaseid,cb){var res=1;var db=alasql.databases[databaseid];db.dbversion++;wait();function wait(){setTimeout(function(){if(db.issaving){return wait()}else{alasql.loadFile(db.filename,!!cb,function(data){db.data=data;db.tables={};for(var tbid in db.data.tables){var tb=new alasql.Table({columns:db.data.tables[tbid].columns});extend(tb,db.data.tables[tbid]);db.tables[tbid]=tb;if(!alasql.options.autocommit){db.tables[tbid].data=db.data[tbid]}db.tables[tbid].indexColumns()}delete alasql.databases[databaseid];alasql.databases[databaseid]=new alasql.Database(databaseid);extend(alasql.databases[databaseid],db);alasql.databases[databaseid].engineid="FILESTORAGE";alasql.databases[databaseid].filename=db.filename;if(cb)res=cb(res)})}},100)}};if(typeof exports!="object"&&typeof importScripts!="function"&&typeof document=="object"){var saveAs=saveAs||typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(view){"use strict";if(typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link="download"in save_link,click=function(node){var event=doc.createEvent("MouseEvents");event.initMouseEvent("click",true,false,view,0,0,0,0,0,false,false,false,false,0,null);node.dispatchEvent(event)},webkit_req_fs=view.webkitRequestFileSystem,req_fs=view.requestFileSystem||webkit_req_fs||view.mozRequestFileSystem,throw_outside=function(ex){(view.setImmediate||view.setTimeout)(function(){throw ex},0)},force_saveable_type="application/octet-stream",fs_min_size=0,arbitrary_revoke_timeout=500,revoke=function(file){var revoker=function(){if(typeof file==="string"){get_URL().revokeObjectURL(file)}else{file.remove()}};if(view.chrome){revoker()}else{setTimeout(revoker,arbitrary_revoke_timeout)}},dispatch=function(filesaver,event_types,event){event_types=[].concat(event_types);var i=event_types.length;while(i--){var listener=filesaver["on"+event_types[i]];if(typeof listener==="function"){try{listener.call(filesaver,event||filesaver)}catch(ex){throw_outside(ex)}}}},FileSaver=function(blob,name){var filesaver=this,type=blob.type,blob_changed=false,object_url,target_view,dispatch_all=function(){dispatch(filesaver,"writestart progress write writeend".split(" "))},fs_error=function(){if(blob_changed||!object_url){object_url=get_URL().createObjectURL(blob)}if(target_view){target_view.location.href=object_url}else{var new_tab=view.open(object_url,"_blank");if(new_tab==undefined&&typeof safari!=="undefined"){view.location.href=object_url}}filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url)},abortable=function(func){return function(){if(filesaver.readyState!==filesaver.DONE){return func.apply(this,arguments)}}},create_if_not_found={create:true,exclusive:false},slice;filesaver.readyState=filesaver.INIT;if(!name){name="download"}if(can_use_save_link){object_url=get_URL().createObjectURL(blob);save_link.href=object_url;save_link.download=name;click(save_link);filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url);return}if(view.chrome&&type&&type!==force_saveable_type){slice=blob.slice||blob.webkitSlice;blob=slice.call(blob,0,blob.size,force_saveable_type);blob_changed=true}if(webkit_req_fs&&name!=="download"){name+=".download"}if(type===force_saveable_type||webkit_req_fs){target_view=view}if(!req_fs){fs_error();return}fs_min_size+=blob.size;req_fs(view.TEMPORARY,fs_min_size,abortable(function(fs){fs.root.getDirectory("saved",create_if_not_found,abortable(function(dir){var save=function(){dir.getFile(name,create_if_not_found,abortable(function(file){file.createWriter(abortable(function(writer){writer.onwriteend=function(event){target_view.location.href=file.toURL();filesaver.readyState=filesaver.DONE;dispatch(filesaver,"writeend",event);revoke(file)};writer.onerror=function(){var error=writer.error;if(error.code!==error.ABORT_ERR){fs_error()}};"writestart progress write abort".split(" ").forEach(function(event){writer["on"+event]=filesaver["on"+event]});writer.write(blob);filesaver.abort=function(){writer.abort();filesaver.readyState=filesaver.DONE};filesaver.readyState=filesaver.WRITING}),fs_error)}),fs_error)};dir.getFile(name,{create:false},abortable(function(file){file.remove();save()}),abortable(function(ex){if(ex.code===ex.NOT_FOUND_ERR){save()}else{fs_error()}}))}),fs_error)}),fs_error)},FS_proto=FileSaver.prototype,saveAs=function(blob,name){return new FileSaver(blob,name)};FS_proto.abort=function(){var filesaver=this;filesaver.readyState=filesaver.DONE;dispatch(filesaver,"abort")};FS_proto.readyState=FS_proto.INIT=0;FS_proto.WRITING=1;FS_proto.DONE=2;FS_proto.error=FS_proto.onwritestart=FS_proto.onprogress=FS_proto.onwrite=FS_proto.onabort=FS_proto.onerror=FS_proto.onwriteend=null;return saveAs}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module!==null){module.exports=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!=null){define([],function(){return saveAs})}alasql.utils.saveAs=saveAs}new Database("alasql");alasql.use("alasql");return alasql});if(typeof importScripts==="function"){}else if(typeof exports!="object"){alasql.worker=function(path,paths,cb){if(path===true)path=undefined;if(typeof path=="undefined"){var sc=document.getElementsByTagName("script");for(var i=0;i<sc.length;i++){if(sc[i].src.substr(-16).toLowerCase()=="alasql-worker.js"){path=sc[i].src.substr(0,sc[i].src.length-16)+"alasql.js";break}else if(sc[i].src.substr(-20).toLowerCase()=="alasql-worker.min.js"){path=sc[i].src.substr(0,sc[i].src.length-20)+"alasql.min.js";break}else if(sc[i].src.substr(-9).toLowerCase()=="alasql.js"){path=sc[i].src;break}else if(sc[i].src.substr(-13).toLowerCase()=="alasql.min.js"){path=sc[i].src.substr(0,sc[i].src.length-13)+"alasql.min.js";break}}}if(typeof path=="undefined"){throw new Error("Path to alasql.js is not specified")}else if(path!==false){var js="importScripts('";js+=path;js+="');		self.onmessage = function(event) {		alasql(event.data.sql,event.data.params, function(data){		postMessage({id:event.data.id, data:data});		});		}";var blob=new Blob([js],{type:"text/plain"});alasql.webworker=new Worker(URL.createObjectURL(blob));alasql.webworker.onmessage=function(event){var id=event.data.id;alasql.buffer[id](event.data.data);delete alasql.buffer[id]};alasql.webworker.onerror=function(e){throw e};if(arguments.length>1){var sql="REQUIRE "+paths.map(function(p){return'"'+p+'"'}).join(",");alasql(sql,[],cb)}}else if(path===false){delete alasql.webworker;return}}}