-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathalasql.js
8 lines (8 loc) · 300 KB
/
alasql.js
1
2
3
4
5
6
7
8
(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,137],$VC=[1,138],$VD=[1,103],$VE=[1,113],$VF=[1,110],$VG=[1,109],$VH=[1,127],$VI=[1,123],$VJ=[1,124],$VK=[1,128],$VL=[1,129],$VM=[1,130],$VN=[1,131],$VO=[1,132],$VP=[1,133],$VQ=[1,134],$VR=[1,135],$VS=[1,136],$VT=[1,111],$VU=[1,112],$VV=[1,114],$VW=[1,115],$VX=[1,120],$VY=[1,121],$VZ=[1,116],$V_=[1,117],$V$=[1,118],$V01=[1,119],$V11=[1,122],$V21=[1,108],$V31=[1,107],$V41=[1,126],$V51=[1,139],$V61=[1,150],$V71=[4,5],$V81=[8,9,11,65,97,124,125,135,136,137,138,144,201,205],$V91=[1,166],$Va1=[1,174],$Vb1=[1,173],$Vc1=[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,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],$Vd1=[1,205],$Ve1=[1,198],$Vf1=[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,227,312,316],$Vg1=[2,74],$Vh1=[1,219],$Vi1=[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,227,312,316],$Vj1=[1,234],$Vk1=[1,231],$Vl1=[1,232],$Vm1=[1,233],$Vn1=[1,235],$Vo1=[1,236],$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,250],$VC1=[1,251],$VD1=[1,253],$VE1=[1,252],$VF1=[1,254],$VG1=[1,255],$VH1=[1,256],$VI1=[2,193],$VJ1=[1,260],$VK1=[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,225,226,227,228,230,231,232,235,236,239,240,244,248,256,261,272,273,276,277,289,290,292,293,297,299,301,302,307,309,310,318,320,326,328,329,331,332,333,334,335,337,340,341,353],$VL1=[2,251],$VM1=[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,225,226,227,228,230,231,232,235,236,239,240,244,248,256,261,272,273,276,277,289,290,292,293,297,299,301,302,307,309,310,318,320,326,328,329,331,332,333,334,335,337,340,341,353],$VN1=[1,267],$VO1=[1,277],$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,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,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,318,320,326,328,329,331,332,333,334,335,337,340,341,353],$VQ1=[1,293],$VR1=[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,225,226,227,228,230,231,232,235,236,239,240,242,244,248,255,256,257,261,272,273,274,276,277,285,286,289,290,292,293,294,295,296,297,298,299,301,302,303,307,309,310,318,320,325,326,328,329,331,332,333,334,335,337,340,341,353],$VS1=[1,300],$VT1=[1,301],$VU1=[2,359],$VV1=[1,306],$VW1=[8,9,11,61,201,205],$VX1=[2,410],$VY1=[1,317],$VZ1=[8,9,11,65,124,125,135,136,137,138,144,201,205],$V_1=[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],$V$1=[2,110],$V02=[1,345],$V12=[61,80],$V22=[8,9,11,61,65,191,201,205,227,244,256,272,273,276,277,289],$V32=[79,233,234],$V42=[1,409],$V52=[1,423],$V62=[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,213,214,215,216,217,218,219,220,221,222,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],$V72=[2,266],$V82=[1,430],$V92=[201,203,205],$Va2=[1,434],$Vb2=[1,435],$Vc2=[61,320],$Vd2=[61,318,320],$Ve2=[1,439],$Vf2=[61,318],$Vg2=[4,5,96,190],$Vh2=[8,9,11,65,125,135,136,137,138,144,201,205],$Vi2=[8,9,11,65,91,97,124,125,135,136,137,138,144,201,205],$Vj2=[1,506],$Vk2=[8,9,11,61,65,91,97,124,125,135,136,137,138,144,201,205],$Vl2=[2,176],$Vm2=[1,508],$Vn2=[1,509],$Vo2=[8,9,11,61,65,91,97,124,125,135,136,137,138,144,149,150,201,205],$Vp2=[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,213,214,215,216,217,218,219,220,221,222,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],$Vq2=[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,213,214,215,216,217,218,219,220,221,222,225,226,230,231,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],$Vr2=[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,230,231,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],$Vs2=[1,528],$Vt2=[61,65],$Vu2=[2,191],$Vv2=[8,9,11,61,65,191,201,205,217,227,244,256,272,273,276,277,289],$Vw2=[1,570],$Vx2=[8,9,11,65,135,136,137,138,144,201,205],$Vy2=[8,9,11,61,65,124,125,135,136,137,138,144,201,205],$Vz2=[1,585],$VA2=[1,586],$VB2=[1,588],$VC2=[1,589],$VD2=[1,590],$VE2=[1,591],$VF2=[1,592],$VG2=[1,593],$VH2=[1,594],$VI2=[1,595],$VJ2=[1,599],$VK2=[1,610],$VL2=[8,9,11,61,124,201,203,205,353],$VM2=[1,618],$VN2=[1,617],$VO2=[2,229],$VP2=[1,635],$VQ2=[2,427],$VR2=[1,659],$VS2=[1,671],$VT2=[8,9,11,61,201,203,205,353],$VU2=[1,674],$VV2=[8,9,11,61,65,102,104,112,113,114,115,116,117,118,119,124,125,135,136,137,138,144,201,205],$VW2=[8,9,11,65,135,136,137,144,201,205],$VX2=[8,9,11,65,102,104,112,113,114,115,116,117,118,119,124,125,135,136,137,138,144,201,205],$VY2=[1,688],$VZ2=[1,690],$V_2=[4,5,64,192,194,195,196,197],$V$2=[8,9,11,201,203,205,353],$V03=[212,217],$V13=[1,737],$V23=[1,746],$V33=[8,9,11,65,135,136,137,201,205],$V43=[1,765],$V53=[1,766],$V63=[1,767],$V73=[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],$V83=[1,795],$V93=[8,9,11,61,65,201,205],$Va3=[1,810],$Vb3=[1,811],$Vc3=[1,809],$Vd3=[1,807],$Ve3=[1,813],$Vf3=[1,804],$Vg3=[1,805],$Vh3=[1,806],$Vi3=[1,808],$Vj3=[1,817],$Vk3=[1,822],$Vl3=[1,823],$Vm3=[1,824],$Vn3=[1,825],$Vo3=[78,86,272,273,274,276],$Vp3=[2,371],$Vq3=[1,830],$Vr3=[8,9,11,65,201,205],$Vs3=[1,843],$Vt3=[8,9,11,61,65,134,135,136,137,138,144,201,205],$Vu3=[1,860],$Vv3=[1,859],$Vw3=[8,9,11,201,205,244,255,256,257],$Vx3=[1,910],$Vy3=[8,9,11,61,65,135,136,137,144,201,205],$Vz3=[1,927];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,PLUS:207,MINUS:208,SLASH:209,MODULO:210,CARET:211,ARROW:212,GT:213,GE:214,LT:215,LE:216,EQ:217,EQEQ:218,EQEQEQ:219,NE:220,NEEQEQ:221,NEEQEQEQ:222,CondOp:223,AllSome:224,AND:225,OR:226,NOT:227,IN:228,ColFunc:229,BETWEEN:230,NOT_BETWEEN:231,IS:232,SOME:233,ANY:234,UPDATE:235,SET:236,SetColumnsList:237,SetColumn:238,DELETE:239,INSERT:240,Into:241,VALUES:242,ValuesListsList:243,DEFAULT:244,ValuesList:245,Value:246,DateValue:247,CREATE:248,TABLE:249,IfNotExists:250,CreateTableDefClause:251,CreateTableOptionsClause:252,CreateTableOptions:253,CreateTableOption:254,ENGINE:255,AUTO_INCREMENT:256,CHARSET:257,TemporaryClause:258,TEMPORARY:259,TEMP:260,IF:261,ColumnDefsList:262,ConstraintsList:263,Constraint:264,ConstraintName:265,PrimaryKey:266,ForeignKey:267,UniqueKey:268,IndexKey:269,Check:270,CONSTRAINT:271,CHECK:272,PRIMARY:273,KEY:274,ColsList:275,FOREIGN:276,REFERENCES:277,OnForeignKeyClause:278,OnDeleteClause:279,OnUpdateClause:280,NO:281,ACTION:282,ColumnDef:283,ColumnConstraintsClause:284,ColumnConstraints:285,ENUM:286,ColumnConstraintsList:287,ColumnConstraint:288,IDENTITY:289,DROP:290,IfExists:291,ALTER:292,RENAME:293,TO:294,ADD:295,MODIFY:296,ATTACH:297,DATABASE:298,DETACH:299,AsClause:300,USE:301,SHOW:302,DATABASES:303,TABLES:304,COLUMNS:305,VIEW:306,HELP:307,ExpressionStatement:308,SOURCE:309,ASSERT:310,JsonObject:311,ATLBRA:312,JsonArray:313,JsonValue:314,JsonPrimitiveValue:315,LCUR:316,JsonPropertiesList:317,RCUR:318,JsonElementsList:319,RBRA:320,JsonProperty:321,OnOff:322,SetPropsList:323,SetProp:324,OFF:325,COMMIT:326,TRANSACTION:327,ROLLBACK:328,BEGIN:329,ElseStatement:330,WHILE:331,CONTINUE:332,BREAK:333,PRINT:334,REQUIRE:335,StringValuesList:336,DECLARE:337,DeclaresList:338,DeclareItem:339,TRUNCATE:340,MERGE:341,MergeInto:342,MergeUsing:343,MergeOn:344,MergeMatchedList:345,OutputClause:346,MergeMatched:347,MergeNotMatched:348,MATCHED:349,MergeMatchedAction:350,MergeNotMatchedAction:351,TARGET:352,OUTPUT:353,$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:"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",225:"AND",226:"OR",227:"NOT",228:"IN",230:"BETWEEN",231:"NOT_BETWEEN",232:"IS",233:"SOME",234:"ANY",235:"UPDATE",236:"SET",239:"DELETE",240:"INSERT",242:"VALUES",244:"DEFAULT",247:"DateValue",248:"CREATE",249:"TABLE",255:"ENGINE",256:"AUTO_INCREMENT",257:"CHARSET",259:"TEMPORARY",260:"TEMP",261:"IF",271:"CONSTRAINT",272:"CHECK",273:"PRIMARY",274:"KEY",276:"FOREIGN",277:"REFERENCES",281:"NO",282:"ACTION",285:"ColumnConstraints",286:"ENUM",289:"IDENTITY",290:"DROP",292:"ALTER",293:"RENAME",294:"TO",295:"ADD",296:"MODIFY",297:"ATTACH",298:"DATABASE",299:"DETACH",301:"USE",302:"SHOW",303:"DATABASES",304:"TABLES",305:"COLUMNS",306:"VIEW",307:"HELP",309:"SOURCE",310:"ASSERT",312:"ATLBRA",316:"LCUR",318:"RCUR",320:"RBRA",325:"OFF",326:"COMMIT",327:"TRANSACTION",328:"ROLLBACK",329:"BEGIN",331:"WHILE",332:"CONTINUE",333:"BREAK",334:"PRINT",335:"REQUIRE",337:"DECLARE",340:"TRUNCATE",341:"MERGE",349:"MATCHED",352:"TARGET",353:"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,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,3],[157,5],[157,6],[157,5],[157,6],[157,3],[157,4],[157,3],[157,3],[157,3],[229,1],[229,1],[229,4],[223,1],[223,1],[223,1],[223,1],[223,1],[223,1],[224,1],[224,1],[224,1],[47,6],[47,4],[237,1],[237,3],[238,3],[25,5],[25,3],[31,5],[31,5],[31,8],[31,4],[31,7],[241,0],[241,1],[243,3],[243,1],[243,1],[243,5],[243,3],[243,3],[245,1],[245,3],[246,1],[246,1],[246,1],[246,1],[246,1],[246,1],[123,1],[123,3],[22,8],[22,4],[252,0],[252,1],[253,2],[253,1],[254,1],[254,3],[254,3],[254,3],[258,0],[258,1],[258,1],[250,0],[250,3],[251,3],[251,1],[251,2],[263,1],[263,3],[264,2],[264,2],[264,2],[264,2],[264,2],[265,0],[265,2],[270,4],[266,5],[267,11],[278,0],[278,2],[279,4],[280,4],[268,1],[269,5],[269,5],[275,1],[275,1],[275,3],[275,3],[262,1],[262,3],[283,3],[283,2],[168,6],[168,4],[168,1],[168,4],[284,0],[284,1],[287,2],[287,1],[288,2],[288,7],[288,5],[288,1],[288,6],[288,1],[288,2],[288,1],[288,2],[288,1],[29,4],[291,0],[291,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],[300,0],[300,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],[308,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],[314,1],[314,1],[315,1],[315,1],[315,1],[315,1],[315,1],[315,1],[315,1],[315,3],[311,3],[311,4],[311,2],[313,2],[313,3],[313,1],[317,3],[317,1],[321,3],[321,3],[321,3],[319,3],[319,1],[58,3],[58,5],[58,6],[323,3],[323,2],[324,1],[324,1],[324,3],[322,1],[322,1],[43,2],[44,2],[42,2],[17,4],[17,3],[330,2],[52,3],[53,1],[54,1],[55,3],[56,2],[56,2],[57,2],[336,3],[336,1],[24,2],[338,1],[338,3],[339,3],[339,4],[339,5],[339,6],[41,3],[34,6],[342,1],[342,2],[343,2],[344,2],[345,2],[345,2],[345,1],[345,1],[347,4],[347,6],[350,1],[350,3],[348,5],[348,7],[348,7],[348,9],[348,7],[348,9],[351,3],[351,6],[351,3],[351,6],[346,0],[346,2],[346,5],[346,4],[346,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 318:case 331:case 332:case 336:case 344:case 383:case 384:case 491:case 496:case 516:case 518:case 532:case 533: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 356:case 359:case 371:case 376:case 377:case 410: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 378:case 379: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 319:case 385:case 386: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 307:case 308:case 309:case 310:case 311:case 312:case 372:case 396:case 398:case 465:case 466:case 467:case 468:case 469:case 470:case 474:case 476:case 477:case 486:case 497:case 498: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 528: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 530:case 531: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:"+",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:case 275:case 277:this.$=new yy.Op({left:$$[$0-2],op:"->",right:$$[$0]});break;case 276:this.$=new yy.Op({left:$$[$0-4],op:"->",right:$$[$0-1]});break;case 278:this.$=new yy.Op({left:$$[$0-2],op:">",right:$$[$0]});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: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 289:this.$=new yy.Op({left:$$[$0-5],op:$$[$0-4],allsome:$$[$0-3],right:$$[$0-1]});break;case 290:this.$=new yy.Op({left:$$[$0-2],op:"AND",right:$$[$0]});break;case 291:this.$=new yy.Op({left:$$[$0-2],op:"OR",right:$$[$0]});break;case 292:this.$=new yy.UniOp({op:"NOT",right:$$[$0]});break;case 293:this.$=new yy.UniOp({op:"-",right:$$[$0]});break;case 294:this.$=new yy.UniOp({right:$$[$0-1]});break;case 295: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 296: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 297:this.$=new yy.Op({left:$$[$0-4],op:"IN",right:$$[$0-1]});break;case 298:this.$=new yy.Op({left:$$[$0-5],op:"NOT IN",right:$$[$0-1]});break;case 299:this.$=new yy.Op({left:$$[$0-2],op:"IN",right:$$[$0]});break;case 300:this.$=new yy.Op({left:$$[$0-3],op:"NOT IN",right:$$[$0]});break;case 301:this.$=new yy.Op({left:$$[$0-2],op:"BETWEEN",right:$$[$0]});break;case 302:this.$=new yy.Op({left:$$[$0-2],op:"NOT BETWEEN",right:$$[$0]});break;case 303:this.$=new yy.Op({op:"IS",left:$$[$0-2],right:$$[$0]});break;case 304:case 305:this.$=$$[$0];break;case 306:this.$=$$[$0-1];break;case 313:this.$="ALL";break;case 314:this.$="SOME";break;case 315:this.$="ANY";break;case 316:this.$=new yy.Update({table:$$[$0-4],columns:$$[$0-2],where:$$[$0]});break;case 317:this.$=new yy.Update({table:$$[$0-2],columns:$$[$0]});break;case 320:this.$=new yy.SetColumn({columnid:$$[$0-2],expression:$$[$0]});break;case 321:this.$=new yy.Delete({table:$$[$0-2],where:$$[$0]});break;case 322:this.$=new yy.Delete({table:$$[$0]});break;case 323:this.$=new yy.Insert({into:$$[$0-2],values:$$[$0]});break;case 324:this.$=new yy.Insert({into:$$[$0-2],"default":true});break;case 325:this.$=new yy.Insert({into:$$[$0-5],columns:$$[$0-3],values:$$[$0]});break;case 326:this.$=new yy.Insert({into:$$[$0-1],select:$$[$0]});break;case 327:this.$=new yy.Insert({into:$$[$0-4],columns:$$[$0-2],select:$$[$0]});break;case 330:this.$=[$$[$0-1]];break;case 333:this.$=$$[$0-4];$$[$0-4].push($$[$0-1]);break;case 334:case 335:case 337:case 345:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 346:this.$=new yy.CreateTable({table:$$[$0-4]});yy.extend(this.$,$$[$0-5]);yy.extend(this.$,$$[$0-2]);break;case 347:this.$=new yy.CreateTable({table:$$[$0]});break;case 357:case 358:this.$={temporary:true};break;case 360:this.$={ifnotexists:true};break;case 361:this.$={columns:$$[$0-2],constraints:$$[$0]};break;case 362:this.$={columns:$$[$0]};break;case 363:this.$={as:$$[$0]};break;case 364:case 387:this.$=[$$[$0]];break;case 365:case 388:case 490:case 495:case 515:case 519:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 366:case 367:case 368:case 369:case 370:$$[$0].constraintid=$$[$0-1];this.$=$$[$0];break;case 373:this.$={type:"CHECK",expression:$$[$0-1]};break;case 374:this.$={type:"PRIMARY KEY",columns:$$[$0-1]};break;case 375:this.$={type:"FOREIGN KEY",columns:$$[$0-7],fktableid:$$[$0-4],fkcolumns:$$[$0-2]};break;case 389:this.$=new yy.ColumnDef({columnid:$$[$0-2]});yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);break;case 390:this.$=new yy.ColumnDef({columnid:$$[$0-1]});yy.extend(this.$,$$[$0]);break;case 391:this.$={dbtypeid:$$[$0-5],dbsize:+$$[$0-3],dbprecision:+$$[$0-1]};break;case 392:this.$={dbtypeid:$$[$0-3],dbsize:+$$[$0-1]};break;case 393:this.$={dbtypeid:$$[$0]};break;case 394:this.$={dbtypeid:"ENUM",enumvalues:$$[$0-1]};break;case 395:this.$=undefined;break;case 397:yy.extend($$[$0-1],$$[$0]);this.$=$$[$0-1];break;case 399:this.$={primarykey:true};break;case 400:case 401:this.$={foreignkey:{tableid:$$[$0-3],columnid:$$[$0-1]}};break;case 402:this.$={auto_increment:true};break;case 403:this.$={identity:[$$[$0-3],$$[$0-1]]};break;case 404:this.$={identity:[1,1]};break;case 405:this.$={"default":$$[$0]};break;case 406:this.$={"null":true};break;case 407:this.$={notnull:true};break;case 408:this.$=$$[$0];break;case 409:this.$=new yy.DropTable({table:$$[$0]});yy.extend(this.$,$$[$0-1]);break;case 411:this.$={ifexists:true};break;case 412:this.$=new yy.AlterTable({table:$$[$0-3],renameto:$$[$0]});break;case 413:this.$=new yy.AlterTable({table:$$[$0-3],addcolumn:$$[$0]});break;case 414:this.$=new yy.AlterTable({table:$$[$0-3],modifycolumn:$$[$0]});break;case 415:this.$=new yy.AlterTable({table:$$[$0-5],renamecolumn:$$[$0-2],to:$$[$0]});break;case 416:this.$=new yy.AlterTable({table:$$[$0-3],dropcolumn:$$[$0]});break;case 417:this.$=new yy.AlterTable({table:$$[$0-2],renameto:$$[$0]});break;case 418:this.$=new yy.AttachDatabase({databaseid:$$[$0],engineid:$$[$0-2].toUpperCase()});break;case 419:this.$=new yy.AttachDatabase({databaseid:$$[$0-3],engineid:$$[$0-5].toUpperCase(),args:$$[$0-1]});break;case 420:this.$=new yy.AttachDatabase({databaseid:$$[$0-2],engineid:$$[$0-4].toUpperCase(),as:$$[$0]});break;case 421:this.$=new yy.AttachDatabase({databaseid:$$[$0-5],engineid:$$[$0-7].toUpperCase(),as:$$[$0],args:$$[$0-3]});break;case 422:this.$=new yy.DetachDatabase({databaseid:$$[$0]});break;case 423:this.$=new yy.CreateDatabase({databaseid:$$[$0]});yy.extend(this.$,$$[$0]);break;case 424:this.$=new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),databaseid:$$[$0-1],as:$$[$0]});yy.extend(this.$,$$[$0-2]);break;case 425:this.$=new yy.CreateDatabase({engineid:$$[$0-7].toUpperCase(),databaseid:$$[$0-4],args:$$[$0-2],as:$$[$0]});yy.extend(this.$,$$[$0-5]);break;case 426:this.$=new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),as:$$[$0],args:[$$[$0-1]]});yy.extend(this.$,$$[$0-2]);break;case 427:this.$=undefined;break;case 428:case 461:case 479:case 482:case 499:this.$=$$[$0-1];break;case 429:case 430:this.$=new yy.UseDatabase({databaseid:$$[$0]});break;case 431:this.$=new yy.DropDatabase({databaseid:$$[$0]});yy.extend(this.$,$$[$0-1]);break;case 432:case 433:this.$=new yy.DropDatabase({databaseid:$$[$0],engineid:$$[$0-3].toUpperCase()});yy.extend(this.$,$$[$0-1]);break;case 434:this.$=new yy.CreateIndex({indexid:$$[$0-5],table:$$[$0-3],columns:$$[$0-1]});break;case 435:this.$=new yy.CreateIndex({indexid:$$[$0-5],table:$$[$0-3],columns:$$[$0-1],unique:true});break;case 436:this.$=new yy.DropIndex({indexid:$$[$0]});break;case 437:this.$=new yy.ShowDatabases;break;case 438:this.$=new yy.ShowDatabases({like:$$[$0]});break;case 439:this.$=new yy.ShowDatabases({engineid:$$[$0-1].toUpperCase()});break;case 440:this.$=new yy.ShowDatabases({engineid:$$[$0-3].toUpperCase(),like:$$[$0]});break;case 441:this.$=new yy.ShowTables;break;case 442:this.$=new yy.ShowTables({like:$$[$0]});break;case 443:this.$=new yy.ShowTables({databaseid:$$[$0]});break;case 444:this.$=new yy.ShowTables({like:$$[$0],databaseid:$$[$0-2]});break;case 445:this.$=new yy.ShowColumns({table:$$[$0]});break;case 446:this.$=new yy.ShowColumns({table:$$[$0-2],databaseid:$$[$0]});break;case 447:this.$=new yy.ShowIndex({table:$$[$0]});break;case 448:this.$=new yy.ShowIndex({table:$$[$0-2],databaseid:$$[$0]});break;case 449:this.$=new yy.ShowCreateTable({table:$$[$0]});break;case 450:this.$=new yy.ShowCreateTable({table:$$[$0-2],databaseid:$$[$0]});break;case 451:this.$=new yy.CreateTable({table:$$[$0-5],view:true,select:$$[$0],viewcolumns:$$[$0-3]});yy.extend(this.$,$$[$0-6]);break;case 452:this.$=new yy.CreateTable({table:$$[$0-2],view:true,select:$$[$0]});break;case 453:this.$=new yy.DropTable({table:$$[$0],view:true});yy.extend(this.$,$$[$0-1]);break;case 454:this.$=new yy.Help({subject:$$[$0].value.toUpperCase()});break;case 455:this.$=new yy.Help;break;case 456:this.$=new yy.ExpressionStatement({expression:$$[$0]});break;case 457:this.$=new yy.Source({url:$$[$0].value});break;case 458:this.$=new yy.Assert({value:$$[$0]});break;case 459:this.$=new yy.Assert({value:$$[$0].value});break;case 460:this.$=new yy.Assert({value:$$[$0],message:$$[$0-2]});break;case 462:case 473:case 475:this.$=$$[$0].value;break;case 463:case 471:this.$=+$$[$0].value;break;case 464:this.$=!!$$[$0].value;break;case 472:this.$=""+$$[$0].value;break;case 478:this.$=$$[$0-1];break;case 480:case 483:this.$=$$[$0-2];break;case 481:this.$={};break;case 484:this.$=[];break;case 485:yy.extend($$[$0-2],$$[$0]);this.$=$$[$0-2];break;case 487:this.$={};this.$[$$[$0-2].substr(1,$$[$0-2].length-2)]=$$[$0];break;case 488:case 489:this.$={};this.$[$$[$0-2]]=$$[$0];break;case 492:this.$=new yy.SetVariable({variable:$$[$0-1].toLowerCase(),value:$$[$0]});break;case 493:this.$=new yy.SetVariable({variable:$$[$0-2],expression:$$[$0]});break;case 494:this.$=new yy.SetVariable({variable:$$[$0-3],props:$$[$0-2],expression:$$[$0]});break;case 500:this.$=true;break;case 501:this.$=false;break;case 502:this.$=new yy.CommitTransaction;break;case 503:this.$=new yy.RollbackTransaction;break;case 504:this.$=new yy.BeginTransaction;break;case 505: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 506:this.$=new yy.If({expression:$$[$0-1],thenstat:$$[$0]});break;case 507:this.$=$$[$0];break;case 508: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 509:this.$=new yy.Continue;break;case 510:this.$=new yy.Break;break;case 511:this.$=new yy.BeginEnd({statements:$$[$0-1]});break;case 512:case 513:this.$=new yy.Print({statement:$$[$0]});break;case 514:this.$=new yy.Require({paths:$$[$0]});break;case 517:this.$=new yy.Declare({declares:$$[$0]});break;case 520:this.$={variable:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 521:this.$={variable:$$[$0-2]};yy.extend(this.$,$$[$0]);break;case 522:this.$={variable:$$[$0-3],expression:$$[$0]};yy.extend(this.$,$$[$0-2]);break;case 523:this.$={variable:$$[$0-4],expression:$$[$0]};yy.extend(this.$,$$[$0-2]);break;case 524:this.$=new yy.TruncateTable({table:$$[$0]});break;case 525: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 526:case 527:this.$={into:$$[$0]};break;case 529:this.$={on:$$[$0]};break;case 534:this.$={matched:true,action:$$[$0]};break;case 535:this.$={matched:true,expr:$$[$0-2],action:$$[$0]};break;case 536:this.$={"delete":true};break;case 537:this.$={update:$$[$0]};break;case 538:case 539:this.$={matched:false,bytarget:true,action:$$[$0]};break;case 540:case 541:this.$={matched:false,bytarget:true,expr:$$[$0-2],action:$$[$0]};break;case 542:this.$={matched:false,bysource:true,action:$$[$0]};break;case 543:this.$={matched:false,bysource:true,expr:$$[$0-2],action:$$[$0]};break;case 544:this.$={insert:true,values:$$[$0]};break;case 545:this.$={insert:true,values:$$[$0],columns:$$[$0-3]};break;case 546:this.$={insert:true,defaultvalues:true};break;case 547:this.$={insert:true,defaultvalues:true,columns:$$[$0-3]};break;case 549:this.$={output:{columns:$$[$0]}};break;case 550:this.$={output:{columns:$$[$0-3],intovar:$$[$0]}};break;case 551:this.$={output:{columns:$$[$0-2],intotable:$$[$0]}};break;case 552: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,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$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,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$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,227:$V31,311:125,312:$V41,316:$V51},{249:[1,140]},{3:141,4:$VB,5:$VC},{3:143,4:$VB,5:$VC,78:[1,145],86:[1,144],249:[1,146],298:[1,142],306:[1,147]},{192:$V61,338:148,339:149},{97:[1,151]},{298:[1,152]},{3:154,4:$VB,5:$VC,86:[1,155],249:[1,156],298:[1,153],306:[1,157]},o($V71,[2,328],{241:158,91:[1,159]}),{249:[1,160]},o($V81,[2,75],{67:161,91:[1,162]}),{3:172,4:$VB,5:$VC,64:$V91,91:[1,165],92:167,93:169,94:168,95:170,96:$Va1,99:164,105:171,192:$Vb1,194:$VZ,195:$V_,196:$V$,197:$V01,342:163},{3:177,4:$VB,5:$VC,60:175,62:176},{3:181,4:$VB,5:$VC,86:[1,182],248:[1,178],303:[1,180],304:[1,183],305:[1,179]},{249:[1,184]},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:186,13:$V1,45:$V2,59:$V3,80:$V4,165:$V5,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,327:[1,185],328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$Vw}),{327:[1,187]},{327:[1,188]},{3:190,4:$VB,5:$VC,298:[1,189]},{3:192,4:$VB,5:$VC,92:191},o($VA,[2,455],{152:193,96:$VE,190:$VV}),o($Vc1,[2,212]),{96:$VE,152:194,190:$VV},{3:206,4:$VB,5:$VC,89:199,93:204,94:203,96:[1,197],151:$VF,152:200,158:201,159:202,163:195,170:196,171:$Vd1,188:$VT,189:$VU,190:$VV,191:$VW,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:207,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,227:$V31,311:125,312:$V41,316:$V51},o($VA,[2,509]),o($VA,[2,510]),{3:106,4:$VB,5:$VC,33:208,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:210,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,227:$V31,308:209,311:125,312:$V41,316:$V51},{96:$VE,152:212,190:$VV,336:211},{3:213,4:$VB,5:$VC,192:[1,214]},o($Vf1,$Vg1,{76:218,75:[1,215],78:[1,216],79:[1,217],88:$Vh1}),o($Vi1,[2,63],{81:[1,220],82:[1,221],83:[1,222],84:[1,223],85:[1,224],86:[1,225],87:[1,226]}),{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:227,45:$V2,59:$V3,80:$V4,165:$V5,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$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:228,45:$V2,59:$V3,80:$V4,165:$V5,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$Vw}),o($Vz,[2,8]),{15:[1,229]},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:230,223:249,45:$V2,59:$V3,80:$V4,154:$Vj1,165:$V5,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$Vw}),o($Vc1,[2,194]),o($Vc1,[2,195]),o($Vc1,[2,196]),o($Vc1,[2,197]),o($Vc1,[2,198]),o($Vc1,[2,199]),o($Vc1,[2,200]),o($Vc1,[2,201]),o($Vc1,[2,202]),o($Vc1,[2,203]),o($Vc1,[2,204]),o($Vc1,[2,205]),o($Vc1,[2,206]),o($Vc1,[2,207]),o($Vc1,[2,208]),o($Vc1,[2,209]),{3:106,4:$VB,5:$VC,33:257,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:258,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,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[2,211]),{64:[1,259]},o($Vc1,$VI1,{64:$VJ1,106:[1,261]}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:262,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:263,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,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[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,225,226,227,228,230,231,232,235,236,239,240,244,248,255,256,257,261,272,273,276,277,289,290,292,293,297,299,301,302,307,309,310,312,316,318,320,326,328,329,331,332,333,334,335,337,340,341,353],[2,248]),o($VK1,[2,249]),o($VK1,[2,250]),o($VK1,$VL1),o($VK1,[2,252]),o($VK1,[2,253]),{3:264,4:$VB,5:$VC},{3:265,4:$VB,5:$VC},o($VM1,[2,258]),o($VM1,[2,259]),{3:266,4:$VB,5:$VC,64:$VN1,89:269,94:271,96:$VE,151:$VF,152:268,158:270,188:$VT,189:$VU,190:$VV,194:$VZ,195:$V_,196:$V$,197:$V01,311:272,316:$V51},{64:[1,273]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:274,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:275,202:276,203:$VO1,208:$V21,227:$V31,311:125,312:$V41,316:$V51},{64:[1,278]},{64:[1,279]},o($VP1,[2,466]),{3:294,4:$VB,5:$VC,64:$VQ1,89:286,93:292,94:291,96:$VE,151:$VF,152:287,155:289,158:288,159:290,163:284,188:$VT,189:$VU,190:$VV,191:$VW,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,311:125,312:$V41,313:280,314:283,315:285,316:$V51,319:281,320:[1,282]},{3:295,4:$VB,5:$VC,93:296},{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($VR1,[2,1]),o($VR1,[2,2]),{3:302,4:$VB,5:$VC,96:$VS1,151:$VT1,317:297,318:[1,298],321:299},{3:192,4:$VB,5:$VC,92:303},{298:[1,304]},o($V71,$VU1,{250:305,261:$VV1}),{298:[1,307]},{3:308,4:$VB,5:$VC},{86:[1,309]},o($V71,$VU1,{250:310,261:$VV1}),o($V71,$VU1,{250:311,261:$VV1}),o($VA,[2,517],{61:[1,312]}),o($VW1,[2,518]),{3:313,4:$VB,5:$VC},{3:192,4:$VB,5:$VC,92:314},{3:315,4:$VB,5:$VC},o($V71,$VX1,{291:316,261:$VY1}),{298:[1,318]},{3:319,4:$VB,5:$VC},o($V71,$VX1,{291:320,261:$VY1}),o($V71,$VX1,{291:321,261:$VY1}),{3:192,4:$VB,5:$VC,92:322},o($V71,[2,329]),{3:192,4:$VB,5:$VC,92:323},o($VZ1,[2,83],{68:324,97:[1,325]}),{3:172,4:$VB,5:$VC,92:326,93:327,94:328,95:329,96:[1,330],192:$Vb1,194:$VZ,195:$V_,196:$V$,197:$V01},{122:[1,332],343:331},{122:[2,526]},{3:172,4:$VB,5:$VC,64:$V91,92:167,93:169,94:168,95:170,96:$Va1,99:333,105:171,192:$Vb1,194:$VZ,195:$V_,196:$V$,197:$V01},{33:334,66:59,74:79,80:$V4},o($V_1,[2,95],{3:335,4:$VB,5:$VC,63:[1,336]}),o($V_1,[2,98],{3:337,4:$VB,5:$VC,63:[1,338]}),o($V_1,[2,99],{3:339,4:$VB,5:$VC,63:[1,340]}),o($V_1,[2,102],{3:341,4:$VB,5:$VC,63:[1,342]}),o($V_1,[2,105],{3:343,4:$VB,5:$VC,63:[1,344]}),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],$V$1,{64:$VJ1,106:$V02}),{3:266,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:346,61:[1,347],66:59,74:79,80:$V4},o($V12,[2,56]),{63:[1,348]},{249:[1,349]},{97:[1,350]},o($VA,[2,437],{206:[1,351]}),{303:[1,352]},{97:[1,353]},o($VA,[2,441],{97:[1,355],206:[1,354]}),{3:192,4:$VB,5:$VC,92:356},o($VA,[2,504]),{9:$Vx,11:$Vy,201:[1,357]},o($VA,[2,502]),o($VA,[2,503]),{3:358,4:$VB,5:$VC},o($VA,[2,430]),{236:[1,359]},o([8,9,11,63,64,80,97,124,201,205,236,242,244,290,293,294,295,296],$V$1,{106:$V02}),o($VA,[2,454]),o($VA,[2,457]),o($VA,[2,458]),o($VA,[2,459]),o($VA,$VL1,{61:[1,360]}),{64:$VN1,89:269,94:271,96:$VE,151:$VF,152:268,158:270,188:$VT,189:$VU,190:$VV,194:$VZ,195:$V_,196:$V$,197:$V01,311:272,316:$V51},o($V22,[2,219]),o($V22,[2,220]),o($V22,[2,221]),o($V22,[2,222]),o($V22,[2,223]),o($V22,[2,224]),o($V22,[2,225]),{64:$VJ1},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,223:249,10:361,45:$V2,59:$V3,80:$V4,154:$Vj1,165:$V5,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$Vw}),o($VA,[2,512]),o($VA,[2,513]),o($VA,[2,456],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VA,[2,514],{61:[1,362]}),o($VW1,[2,516]),{120:[1,364],322:363,325:[1,365]},{3:366,4:$VB,5:$VC},o($Vf1,$Vg1,{76:367,88:$Vh1}),o($Vf1,$Vg1,{76:368,88:$Vh1}),o($Vf1,$Vg1,{76:369,88:$Vh1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,77:370,89:92,93:88,94:96,95:97,96:$VE,121:372,147:371,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,227:$V31,311:125,312:$V41,316:$V51},{64:[1,374],89:373,151:$VF},o($Vi1,[2,64]),o($Vi1,[2,65]),o($Vi1,[2,66]),o($Vi1,[2,67]),o($Vi1,[2,68]),o($Vi1,[2,69]),o($Vi1,[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:375,45:$V2,59:$V3,80:$V4,165:$V5,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$Vw}),o($Vz,[2,506],{330:376,205:[1,377]}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:378,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:379,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:380,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:381,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,227:$V31,311:125,312:$V41,316:$V51},{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,227:$V31,311:125,312:$V41,316:$V51},{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,227:$V31,311:125,312:$V41,316:$V51},{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,227:$V31,311:125,312:$V41,316:$V51},{3:385,4:$VB,5:$VC,64:[1,387],89:386,93:388,151:$VF},o($V32,[2,307],{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,311:125,121:389,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,227:$V31,312:$V41,316:$V51}),o($V32,[2,308],{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,311:125,121:390,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,227:$V31,312:$V41,316:$V51}),o($V32,[2,309],{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,311:125,121:391,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,227:$V31,312:$V41,316:$V51}),o($V32,[2,310],{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,311:125,121:392,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,227:$V31,312:$V41,316:$V51}),o($V32,[2,311],{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,311:125,121:393,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,227:$V31,312:$V41,316:$V51}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:394,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:395,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,227:$V31,311:125,312:$V41,316:$V51},o($V32,[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,311:125,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,227:$V31,312:$V41,316:$V51}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:397,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:398,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,227:$V31,311:125,312:$V41,316:$V51},{79:[1,400],224:399,233:[1,401],234:[1,402]},{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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:404,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,227:$V31,311:125,312:$V41,316:$V51},{3:294,4:$VB,5:$VC,64:[1,405],93:408,155:407,192:$V42,229:406},{228:[1,410]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:411,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:412,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:413,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,227:$V31,311:125,312:$V41,316:$V51},{65:[1,414]},{65:[1,415],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{3:106,4:$VB,5:$VC,49:104,64:$VD,75:[1,417],79:[1,418],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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,65:[1,420],89:92,93:88,94:96,95:97,96:$VE,121:421,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:419,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,227:$V31,311:125,312:$V41,316:$V51},{3:422,4:$VB,5:$VC,81:$V52,154:[1,424]},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,213,214,215,216,217,218,219,220,221,222,225,226,227,228,230,231,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],[2,292],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,232:$VH1}),o($V62,[2,293],{223:249,154:$Vj1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1}),o($VM1,[2,256]),o($VM1,[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,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],[2,254]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:425,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,227:$V31,311:125,312:$V41,316:$V51},o($VP1,[2,462]),o($VP1,[2,463]),o($VP1,[2,464]),o($VP1,[2,465]),o($VP1,[2,467]),{33:426,66:59,74:79,80:$V4},{154:$Vj1,199:427,202:276,203:$VO1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{200:428,201:$V72,202:429,203:$VO1,205:$V82},o($V92,[2,263]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:431,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:432,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,227:$V31,311:125,312:$V41,316:$V51},{4:$Va2,168:433,286:$Vb2},o($VP1,[2,468]),{61:[1,437],320:[1,436]},o($VP1,[2,484]),o($Vc2,[2,491]),o($Vd2,[2,469]),o($Vd2,[2,470]),o($Vd2,[2,471]),o($Vd2,[2,472]),o($Vd2,[2,473]),o($Vd2,[2,474]),o($Vd2,[2,475]),o($Vd2,[2,476]),o($Vd2,[2,477]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:438,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,227:$V31,311:125,312:$V41,316:$V51},o($VP1,$VI1,{64:$VJ1,106:$Ve2}),o($Vc1,[2,213],{64:$VJ1}),o($Vc1,[2,214]),{61:[1,441],318:[1,440]},o($VP1,[2,481]),o($Vf2,[2,486]),{195:[1,442]},{195:[1,443]},{195:[1,444]},{290:[1,448],293:[1,445],295:[1,446],296:[1,447]},{3:449,4:$VB,5:$VC},{3:450,4:$VB,5:$VC},{227:[1,451]},o($Vg2,$VU1,{250:452,261:$VV1}),{120:[1,453]},{3:454,4:$VB,5:$VC},{3:192,4:$VB,5:$VC,92:455},{3:192,4:$VB,5:$VC,92:456},{192:$V61,339:457},{4:$Va2,63:[1,459],168:458,286:$Vb2},o($VA,[2,322],{124:[1,460]}),o($VA,[2,422]),{3:461,4:$VB,5:$VC},{193:[1,462]},o($Vg2,$VX1,{291:463,261:$VY1}),o($VA,[2,436]),{3:192,4:$VB,5:$VC,92:464},{3:192,4:$VB,5:$VC,92:465},{33:469,64:[1,468],66:59,74:79,80:$V4,242:[1,466],244:[1,467]},{294:[1,470]},o($Vh2,[2,145],{69:471,124:[1,472]}),{3:172,4:$VB,5:$VC,64:$V91,92:167,93:169,94:168,95:170,96:$Va1,98:473,99:474,105:171,192:$Vb1,194:$VZ,195:$V_,196:$V$,197:$V01},o($V81,[2,76]),o($V81,[2,77]),o($V81,[2,78]),o($V81,[2,79]),o($V81,[2,80]),{120:[1,476],344:475},{3:172,4:$VB,5:$VC,64:$V91,92:167,93:169,94:168,95:170,96:$Va1,99:477,105:171,192:$Vb1,194:$VZ,195:$V_,196:$V$,197:$V01},{122:[2,527]},{65:[1,478]},o($V_1,[2,93]),{3:479,4:$VB,5:$VC},o($V_1,[2,96]),{3:480,4:$VB,5:$VC},o($V_1,[2,100]),{3:481,4:$VB,5:$VC},o($V_1,[2,103]),{3:482,4:$VB,5:$VC},o($V_1,[2,106]),{3:483,4:$VB,5:$VC},{3:484,4:$VB,5:$VC},o($VA,[2,54]),{3:177,4:$VB,5:$VC,62:485},{64:[1,486]},{3:192,4:$VB,5:$VC,92:487},{3:192,4:$VB,5:$VC,92:488},{96:$VE,152:489,190:$VV},o($VA,[2,439],{206:[1,490]}),{3:192,4:$VB,5:$VC,92:491},{96:$VE,152:492,190:$VV},{3:493,4:$VB,5:$VC},o($VA,[2,524]),o($VA,[2,511]),o($VA,[2,429]),{3:497,4:$VB,5:$VC,155:496,237:494,238:495},{163:498,192:$Ve1,311:125,312:$V41,316:$V51},o($VA,[2,508]),{96:$VE,152:499,190:$VV},o($VA,[2,492]),o($VA,[2,500]),o($VA,[2,501]),{212:[1,502],217:[1,500],323:501},{3:106,4:$VB,5:$VC,49:104,64:$VD,77:503,89:92,93:88,94:96,95:97,96:$VE,121:372,147:371,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,77:504,89:92,93:88,94:96,95:97,96:$VE,121:372,147:371,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,77:505,89:92,93:88,94:96,95:97,96:$VE,121:372,147:371,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,227:$V31,311:125,312:$V41,316:$V51},o($Vi2,[2,62],{61:$Vj2}),o($Vk2,$Vl2,{148:507,149:$Vm2,150:$Vn2}),o($Vo2,[2,186],{223:249,3:511,152:513,4:$VB,5:$VC,63:[1,510],96:$VE,151:[1,512],154:$Vj1,190:$VV,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($Vf1,[2,71],{90:[1,514]}),{89:515,151:$VF},o($Vz,[2,9]),o($VA,[2,505]),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:516,45:$V2,59:$V3,80:$V4,165:$V5,235:$V6,236:$V7,239:$V8,240:$V9,248:$Va,261:$Vb,290:$Vc,292:$Vd,293:$Ve,297:$Vf,299:$Vg,301:$Vh,302:$Vi,307:$Vj,309:$Vk,310:$Vl,326:$Vm,328:$Vn,329:$Vo,331:$Vp,332:$Vq,333:$Vr,334:$Vs,335:$Vt,337:$Vu,340:$Vv,341:$Vw}),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,206,213,214,215,216,217,218,219,220,221,222,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],[2,267],{223:249,154:$Vj1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1}),o($V62,[2,268],{223:249,154:$Vj1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1}),o($V62,[2,269],{223:249,154:$Vj1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1}),o($Vp2,[2,270],{223:249,211:$Vp1,212:$Vq1}),o($Vp2,[2,271],{223:249,211:$Vp1,212:$Vq1}),o($Vp2,[2,272],{223:249,211:$Vp1,212:$Vq1}),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,213,214,215,216,217,218,219,220,221,222,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],[2,273],{223:249,212:$Vq1}),o($Vc1,[2,274],{64:$VJ1}),o($Vc1,[2,275]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:517,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,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[2,277]),o($Vq2,[2,278],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,279],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,280],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,281],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,282],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,283],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,284],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,285],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,286],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),o($Vq2,[2,287],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,227:$VD1,228:$VE1,232:$VH1}),{64:[1,518]},{64:[2,313]},{64:[2,314]},{64:[2,315]},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,225,226,230,231,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],[2,290],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,227:$VD1,228:$VE1,232:$VH1}),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,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],[2,291],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{3:106,4:$VB,5:$VC,33:519,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:421,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:520,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[2,299]),o($Vc1,[2,304]),o($Vc1,[2,305]),{64:[1,521]},{3:294,4:$VB,5:$VC,64:[1,522],93:408,155:407,192:$V42,229:523},o($Vr2,[2,301],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,227:$VD1,228:$VE1,232:$VH1}),o($Vr2,[2,302],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,227:$VD1,228:$VE1,232:$VH1}),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,213,214,215,216,217,218,219,220,221,222,225,226,227,228,230,231,232,235,236,239,240,248,261,290,292,293,297,299,301,302,307,309,310,326,328,329,331,332,333,334,335,337,340,341,353],[2,303],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1}),o($Vc1,[2,210]),o($Vc1,[2,294]),{65:[1,524],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:525,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:526,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,227:$V31,311:125,312:$V41,316:$V51},{61:$Vs2,65:[1,527]},o($VM1,[2,245]),o($Vt2,[2,246],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($Vc1,$Vu2,{106:[1,529]}),o($VP1,[2,192]),o($Vc1,[2,188]),{65:[1,530],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{65:[1,531]},{200:532,201:$V72,202:429,203:$VO1,205:$V82},{201:[1,533]},o($V92,[2,262]),{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,227:$V31,311:125,312:$V41,316:$V51},{154:$Vj1,204:[1,535],206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{63:[1,536],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{61:[1,537]},o($Vv2,[2,393],{64:[1,538]}),{64:[1,539]},o($VP1,[2,482]),{3:294,4:$VB,5:$VC,64:$VQ1,89:286,93:292,94:291,96:$VE,151:$VF,152:287,155:289,158:288,159:290,163:284,188:$VT,189:$VU,190:$VV,191:$VW,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,311:125,312:$V41,314:541,315:285,316:$V51,320:[1,540]},{65:[1,542],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{3:543,4:$VB,5:$VC,81:$V52},o($VP1,[2,479]),{3:302,4:$VB,5:$VC,96:$VS1,151:$VT1,318:[1,544],321:545},{3:294,4:$VB,5:$VC,64:$VQ1,89:286,93:292,94:291,96:$VE,151:$VF,152:287,155:289,158:288,159:290,163:284,188:$VT,189:$VU,190:$VV,191:$VW,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,311:125,312:$V41,314:546,315:285,316:$V51},{3:294,4:$VB,5:$VC,64:$VQ1,89:286,93:292,94:291,96:$VE,151:$VF,152:287,155:289,158:288,159:290,163:284,188:$VT,189:$VU,190:$VV,191:$VW,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,311:125,312:$V41,314:547,315:285,316:$V51},{3:294,4:$VB,5:$VC,64:$VQ1,89:286,93:292,94:291,96:$VE,151:$VF,152:287,155:289,158:288,159:290,163:284,188:$VT,189:$VU,190:$VV,191:$VW,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,311:125,312:$V41,314:548,315:285,316:$V51},{83:[1,550],294:[1,549]},{83:[1,551]},{83:[1,552]},{83:[1,553]},o($VA,[2,418],{63:[1,555],64:[1,554]}),o($VA,[2,423]),{193:[1,556]},{3:557,4:$VB,5:$VC,96:$VE,152:558,190:$VV},{3:192,4:$VB,5:$VC,92:559},{120:[1,560]},o($VA,[2,347],{64:[1,561]}),{63:[1,563],64:[1,562]},o($VW1,[2,519]),o($VW1,[2,520],{217:[1,564]}),{4:$Va2,168:565,286:$Vb2},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:566,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,227:$V31,311:125,312:$V41,316:$V51},o($VA,[2,431]),o($Vg2,[2,411]),{3:567,4:$VB,5:$VC,96:$VE,152:568,190:$VV},o($VA,[2,409]),o($VA,[2,453]),{64:$Vw2,94:572,163:571,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,243:569,311:125,312:$V41,316:$V51},{242:[1,573]},{3:497,4:$VB,5:$VC,123:574,155:575},o($VA,[2,326]),{3:576,4:$VB,5:$VC},o($Vx2,[2,147],{70:577,125:[1,578]}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:579,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,227:$V31,311:125,312:$V41,316:$V51},o($VZ1,[2,81],{61:[1,580]}),o($Vy2,[2,88],{100:581,107:582,101:583,108:584,111:587,102:$Vz2,104:$VA2,112:$VB2,113:$VC2,114:$VD2,115:$VE2,116:$VF2,117:$VG2,118:$VH2,119:$VI2}),{203:$VJ2,345:596,347:597,348:598},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:600,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,227:$V31,311:125,312:$V41,316:$V51},{120:[2,528]},o($V_1,[2,92],{3:601,4:$VB,5:$VC,63:[1,602]}),o($V_1,[2,94]),o($V_1,[2,97]),o($V_1,[2,101]),o($V_1,[2,104]),o($V_1,[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,236,242,244,290,293,294,295,296],[2,109]),o($V12,[2,55]),{33:603,66:59,74:79,80:$V4},o($VA,[2,449],{97:[1,604]}),o($VA,[2,445],{97:[1,605]}),o($VA,[2,438]),{96:$VE,152:606,190:$VV},o($VA,[2,447],{97:[1,607]}),o($VA,[2,442]),o($VA,[2,443],{206:[1,608]}),o($VA,[2,317],{61:$VK2,124:[1,609]}),o($VL2,[2,318]),{217:[1,611]},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,217],$VI1,{106:$Ve2}),o($VA,[2,460]),o($VW1,[2,515]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:612,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,227:$V31,311:125,312:$V41,316:$V51},{212:[1,614],217:[1,613]},{3:616,4:$VB,5:$VC,64:$VM2,151:$VN2,324:615},o($Vi2,[2,59],{61:$Vj2}),o($Vi2,[2,60],{61:$Vj2}),o($Vi2,[2,61],{61:$Vj2}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:372,147: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,227:$V31,311:125,312:$V41,316:$V51},o($Vk2,[2,175]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:620,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:621,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,227:$V31,311:125,312:$V41,316:$V51},{3:622,4:$VB,5:$VC,96:$VE,151:[1,623],152:624,190:$VV},o($Vo2,[2,181]),o($Vo2,[2,183]),o($Vo2,[2,185]),o($Vf1,[2,73]),{65:[1,625]},o($VA,[2,507]),{65:[1,626],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{3:106,4:$VB,5:$VC,33:627,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:421,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:628,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,227:$V31,311:125,312:$V41,316:$V51},{65:[1,629]},{61:$Vs2,65:[1,630]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:631,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,33:632,49:104,64:$VD,66:59,74:79,80:$V4,89:92,93:88,94:96,95:97,96:$VE,121:421,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:633,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[2,300]),o($Vc1,$VO2,{173:634,174:$VP2}),{65:[1,636],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{65:[1,637],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},o($VM1,[2,244]),{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,227:$V31,311:125,312:$V41,316:$V51},{3:639,4:$VB,5:$VC,154:[1,640]},o($VP1,[2,461]),o($Vc1,[2,255]),{201:[1,641]},o($Vc1,[2,261]),{154:$Vj1,201:[2,265],206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:642,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,227:$V31,311:125,312:$V41,316:$V51},{4:$Va2,168:643,286:$Vb2},{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,227:$V31,311:125,312:$V41,316:$V51},{151:[1,645]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:647,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,227:$V31,245:646,311:125,312:$V41,316:$V51},o($VP1,[2,483]),o($Vc2,[2,490]),o($Vd2,[2,478]),o($VP1,$Vu2,{106:[1,648]}),o($VP1,[2,480]),o($Vf2,[2,485]),o($Vf2,[2,487]),o($Vf2,[2,488]),o($Vf2,[2,489]),{3:649,4:$VB,5:$VC},{3:650,4:$VB,5:$VC},{3:652,4:$VB,5:$VC,283:651},{3:652,4:$VB,5:$VC,283:653},{3:654,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:421,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:655,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,227:$V31,311:125,312:$V41,316:$V51},{3:656,4:$VB,5:$VC},o($Vg2,[2,360]),o($VA,$VQ2,{300:657,63:$VR2,64:[1,658]}),o($VA,$VQ2,{300:660,63:$VR2}),{64:[1,661]},{3:192,4:$VB,5:$VC,92:662},{3:652,4:$VB,5:$VC,63:[1,665],251:663,262:664,283:666},{3:497,4:$VB,5:$VC,123:667,155:575},{33:668,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:669,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,227:$V31,311:125,312:$V41,316:$V51},o($VW1,[2,521],{217:[1,670]}),o($VA,[2,321],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VA,[2,432]),o($VA,[2,433]),o($VA,[2,323],{61:$VS2}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:647,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,227:$V31,245:672,311:125,312:$V41,316:$V51},o($VT2,[2,331]),o($VT2,[2,332]),o($VA,[2,324]),{61:$VU2,65:[1,673]},o($VV2,[2,344]),o($VA,[2,417]),o($VW2,[2,162],{71:675,138:[1,676]}),{126:[1,677]},o($Vh2,[2,146],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{3:172,4:$VB,5:$VC,64:$V91,92:167,93:169,94:168,95:170,96:$Va1,99:678,105:171,192:$Vb1,194:$VZ,195:$V_,196:$V$,197:$V01},o($VZ1,[2,82],{108:584,111:587,107:679,101:680,102:$Vz2,104:$VA2,112:$VB2,113:$VC2,114:$VD2,115:$VE2,116:$VF2,117:$VG2,118:$VH2,119:$VI2}),o($VX2,[2,113]),o($VX2,[2,114]),{3:172,4:$VB,5:$VC,64:[1,684],92:682,93:685,94:683,95:686,109:681,192:$Vb1,194:$VZ,195:$V_,196:$V$,197:$V01},{103:[1,687],113:$VY2},{103:[1,689],113:$VZ2},o($V_2,[2,129]),{102:[1,693],104:[1,692],111:691,113:$VC2,114:$VD2,115:$VE2,116:$VF2,117:$VG2,118:$VH2,119:$VI2},o($V_2,[2,131]),{113:[1,694]},{104:[1,696],113:[1,695]},{104:[1,698],113:[1,697]},{104:[1,699]},{113:[1,700]},{113:[1,701]},o($VA,[2,548],{346:702,347:703,348:704,203:$VJ2,353:[1,705]}),o($V$2,[2,532]),o($V$2,[2,533]),{227:[1,707],349:[1,706]},{154:$Vj1,203:[2,529],206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},o($V_1,[2,90]),{3:708,4:$VB,5:$VC},{65:[1,709]},{3:710,4:$VB,5:$VC},{3:711,4:$VB,5:$VC},o($VA,[2,440]),{3:712,4:$VB,5:$VC},{96:$VE,152:713,190:$VV},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:714,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,227:$V31,311:125,312:$V41,316:$V51},{3:497,4:$VB,5:$VC,155:496,238:715},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:716,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,227:$V31,311:125,312:$V41,316:$V51},o($VA,[2,493],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:717,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,227:$V31,311:125,312:$V41,316:$V51},{3:616,4:$VB,5:$VC,64:$VM2,151:$VN2,324:718},o($V03,[2,496]),o($V03,[2,497]),o($V03,[2,498]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:719,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,227:$V31,311:125,312:$V41,316:$V51},o($Vk2,$Vl2,{148:720,149:$Vm2,150:$Vn2}),o($Vk2,[2,177],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($Vk2,[2,178],{223:249,149:[1,721],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($Vo2,[2,180]),o($Vo2,[2,182]),o($Vo2,[2,184]),o($Vf1,[2,72]),o($Vc1,[2,276]),{65:[1,722]},{61:$Vs2,65:[1,723]},o($Vc1,[2,295]),o($Vc1,[2,297]),{65:[1,724],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{65:[1,725]},{61:$Vs2,65:[1,726]},o($Vc1,[2,226]),{64:[1,727]},o($Vc1,$VO2,{173:728,174:$VP2}),o($Vc1,$VO2,{173:729,174:$VP2}),o($Vt2,[2,247],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VP1,[2,190]),o($Vc1,[2,187]),o($Vc1,[2,260]),o($V92,[2,264],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{61:[1,731],65:[1,730]},{61:[1,733],65:[1,732],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{61:[1,734],65:[1,735]},{61:$V13,65:[1,736]},o($Vt2,[2,336],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{3:639,4:$VB,5:$VC},o($VA,[2,412]),{294:[1,738]},o($VA,[2,413]),{4:$Va2,168:739,285:[1,740],286:$Vb2},o($VA,[2,414]),o($VA,[2,416]),{61:$Vs2,65:[1,741]},o($VA,[2,420]),o($VA,[2,424]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:421,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:742,188:$VT,189:$VU,190:$VV,191:$VW,192:$VX,193:$VY,194:$VZ,195:$V_,196:$V$,197:$V01,198:$V11,208:$V21,227:$V31,311:125,312:$V41,316:$V51},{3:743,4:$VB,5:$VC},o($VA,[2,426]),{3:745,4:$VB,5:$VC,96:$V23,275:744},{64:[1,747]},{65:[1,748]},{61:[1,749],65:[2,362]},{33:750,66:59,74:79,80:$V4},o($Vt2,[2,387]),{61:$VU2,65:[1,751]},o($VA,[2,452]),o($VW1,[2,522],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:752,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,227:$V31,311:125,312:$V41,316:$V51},{64:[1,753],94:755,163:754,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,311:125,312:$V41,316:$V51},{61:$V13,65:[1,756]},{33:758,66:59,74:79,80:$V4,242:[1,757]},{3:497,4:$VB,5:$VC,155:759},o($V33,[2,170],{72:760,144:[1,761]}),{126:[1,762]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:768,127:763,129:764,130:$V43,132:$V53,133:$V63,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,227:$V31,311:125,312:$V41,316:$V51},o($Vy2,[2,89]),o($VX2,[2,111]),o($VX2,[2,112]),o($VX2,[2,144],{110:769,120:[1,770],122:[1,771]}),o($V73,[2,116],{3:772,4:$VB,5:$VC,63:[1,773]}),{3:774,4:$VB,5:$VC,63:[1,775]},{33:776,66:59,74:79,80:$V4},o($V73,[2,123],{3:777,4:$VB,5:$VC,63:[1,778]}),o($V73,[2,126],{3:779,4:$VB,5:$VC,63:[1,780]}),{64:[1,781]},o($V_2,[2,141]),{64:[1,782]},o($V_2,[2,137]),o($V_2,[2,130]),{113:$VZ2},{113:$VY2},o($V_2,[2,132]),o($V_2,[2,133]),{113:[1,783]},o($V_2,[2,135]),{113:[1,784]},{113:[1,785]},o($V_2,[2,139]),o($V_2,[2,140]),o($VA,[2,525]),o($V$2,[2,530]),o($V$2,[2,531]),{3:106,4:$VB,5:$VC,49:104,64:$VD,77:786,89:92,93:88,94:96,95:97,96:$VE,121:372,147:371,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,227:$V31,311:125,312:$V41,316:$V51},{204:[1,787],225:[1,788]},{349:[1,789]},o($V_1,[2,91]),o($V12,[2,57]),o($VA,[2,450]),o($VA,[2,446]),o($VA,[2,448]),o($VA,[2,444]),o($VA,[2,316],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VL2,[2,319]),o($VL2,[2,320],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VA,[2,494],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($V03,[2,495]),{65:[1,790],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},o($Vk2,[2,174]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:791,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,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[2,288]),o($Vc1,[2,289]),o($Vc1,[2,306]),o($Vc1,[2,296]),o($Vc1,[2,298]),{138:$V83,175:792,176:793,177:[1,794]},o($Vc1,[2,227]),o($Vc1,[2,228]),o($Vc1,[2,215]),{151:[1,796]},o($Vc1,[2,217]),{151:[1,797]},{151:[1,798]},o($Vv2,[2,392]),o($Vv2,[2,394]),{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,227:$V31,311:125,312:$V41,316:$V51},{3:800,4:$VB,5:$VC},o($V93,[2,395],{284:801,287:802,288:803,270:812,191:$Va3,227:$Vb3,244:$Vc3,256:$Vd3,272:$Ve3,273:$Vf3,276:$Vg3,277:$Vh3,289:$Vi3}),o($V93,[2,390]),o($VA,[2,419],{63:[1,814]}),{61:$Vs2,65:[1,815]},o($VA,[2,428]),{61:$Vj3,65:[1,816]},o($Vt2,[2,383]),o($Vt2,[2,384]),{3:745,4:$VB,5:$VC,96:$V23,275:818},o($VA,[2,348],{252:819,253:820,254:821,244:$Vk3,255:$Vl3,256:$Vm3,257:$Vn3}),o($Vo3,$Vp3,{3:652,263:826,283:827,264:828,265:829,4:$VB,5:$VC,271:$Vq3}),{65:[2,363]},{63:[1,831]},o($VW1,[2,523],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:647,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,227:$V31,245:832,311:125,312:$V41,316:$V51},o($VT2,[2,334]),o($VT2,[2,335]),o($VT2,[2,330]),{64:$Vw2,94:572,163:571,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,243:833,311:125,312:$V41,316:$V51},o($VA,[2,327]),o($VV2,[2,345]),o($Vr3,[2,157],{73:834,135:[1,835],136:[1,836],137:[1,837]}),{89:838,151:$VF},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:841,139:839,140:840,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,227:$V31,311:125,312:$V41,316:$V51},o($Vx2,[2,155],{128:842,61:$Vs3,134:[1,844]}),o($Vt3,[2,149]),{131:[1,845]},{64:[1,846]},{64:[1,847]},o($Vt3,[2,154],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VX2,[2,115]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121: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,227:$V31,311:125,312:$V41,316:$V51},{3:497,4:$VB,5:$VC,123:849,155:575},o($V73,[2,117]),{3:850,4:$VB,5:$VC},o($V73,[2,119]),{3:851,4:$VB,5:$VC},{65:[1,852]},o($V73,[2,124]),{3:853,4:$VB,5:$VC},o($V73,[2,127]),{3:854,4:$VB,5:$VC},{33:855,66:59,74:79,80:$V4},{33:856,66:59,74:79,80:$V4},o($V_2,[2,134]),o($V_2,[2,136]),o($V_2,[2,138]),o($VA,[2,549],{61:$Vj2,91:[1,857]}),{235:$Vu3,239:$Vv3,350:858},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:861,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,227:$V31,311:125,312:$V41,316:$V51},{126:[1,863],204:[1,862],225:[1,864]},o($V03,[2,499]),o($Vk2,[2,179],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{65:[1,865],138:$V83,176:866},{65:[1,867]},{126:[1,868]},{126:[1,869]},{65:[1,870]},{65:[1,871]},{65:[1,872]},o($Vt2,[2,337],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VA,[2,415]),o($V93,[2,389]),o($V93,[2,396],{270:812,288:873,191:$Va3,227:$Vb3,244:$Vc3,256:$Vd3,272:$Ve3,273:$Vf3,276:$Vg3,277:$Vh3,289:$Vi3}),o($V22,[2,398]),{274:[1,874]},{274:[1,875]},{3:876,4:$VB,5:$VC},o($V22,[2,402]),o($V22,[2,404],{64:[1,877]}),{3:206,4:$VB,5:$VC,89:199,93:204,94:203,96:$VE,151:$VF,152:200,158:201,159:202,170:878,171:$Vd1,188:$VT,189:$VU,190:$VV,191:$VW,194:$VZ,195:$V_,196:$V$,197:$V01},o($V22,[2,406]),{191:[1,879]},o($V22,[2,408]),{64:[1,880]},{3:881,4:$VB,5:$VC},o($VA,$VQ2,{300:882,63:$VR2}),o($VA,[2,434]),{3:883,4:$VB,5:$VC,96:[1,884]},{61:$Vj3,65:[1,885]},o($VA,[2,346]),o($VA,[2,349],{254:886,244:$Vk3,255:$Vl3,256:$Vm3,257:$Vn3}),o($Vw3,[2,351]),o($Vw3,[2,352]),{217:[1,887]},{217:[1,888]},{217:[1,889]},{61:[1,890],65:[2,361]},o($Vt2,[2,388]),o($Vt2,[2,364]),{78:[1,898],86:[1,899],266:891,267:892,268:893,269:894,270:895,272:$Ve3,273:[1,896],274:[1,900],276:[1,897]},{3:901,4:$VB,5:$VC},{33:902,66:59,74:79,80:$V4},{61:$V13,65:[1,903]},o($VA,[2,325],{61:$VS2}),o($Vr3,[2,58]),{33:904,66:59,74:79,79:[1,905],80:$V4},{33:906,66:59,74:79,80:$V4},{33:907,66:59,74:79,80:$V4},o($V33,[2,172],{145:908,146:[1,909]}),o($VW2,[2,163],{61:$Vx3}),o($Vy3,[2,164]),o($Vy3,[2,166],{223:249,141:[1,911],142:[1,912],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($Vx2,[2,148]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:768,129:913,130:$V43,132:$V53,133:$V63,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:914,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,227:$V31,311:125,312:$V41,316:$V51},{64:[1,915]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:768,127:916,129:764,130:$V43,132:$V53,133:$V63,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:768,127:917,129:764,130:$V43,132:$V53,133:$V63,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,227:$V31,311:125,312:$V41,316:$V51},o($VX2,[2,142],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),o($VX2,[2,143],{61:$VU2}),o($V73,[2,118]),o($V73,[2,120]),{3:918,4:$VB,5:$VC,63:[1,919]},o($V73,[2,125]),o($V73,[2,128]),{65:[1,920]},{65:[1,921]},{3:192,4:$VB,5:$VC,92:923,192:[1,922]},o($V$2,[2,534]),o($V$2,[2,536]),{236:[1,924]},{154:$Vj1,204:[1,925],206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},{240:$Vz3,351:926},{309:[1,929],352:[1,928]},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:930,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,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[2,230]),{65:[1,931]},o($Vc1,[2,231]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:768,127:932,129:764,130:$V43,132:$V53,133:$V63,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,227:$V31,311:125,312:$V41,316:$V51},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:841,139:933,140:840,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,227:$V31,311:125,312:$V41,316:$V51},o($Vc1,[2,216]),o($Vc1,[2,218]),o($Vv2,[2,391]),o($V22,[2,397]),o($V22,[2,399]),{277:[1,934]},{64:[1,935]},{89:936,151:$VF},o($V22,[2,405]),o($V22,[2,407]),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:937,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,227:$V31,311:125,312:$V41,316:$V51},o($VA,[2,421]),o($VA,[2,425]),o($Vt2,[2,385]),o($Vt2,[2,386]),o($VA,[2,435]),o($Vw3,[2,350]),{3:938,4:$VB,5:$VC},{89:939,151:$VF},{3:940,4:$VB,5:$VC},o($Vo3,$Vp3,{265:829,264:941,271:$Vq3}),o($Vt2,[2,366]),o($Vt2,[2,367]),o($Vt2,[2,368]),o($Vt2,[2,369]),o($Vt2,[2,370]),{274:[1,942]},{274:[1,943]},o($Vt2,[2,380]),{3:944,4:$VB,5:$VC},{3:945,4:$VB,5:$VC},o($Vo3,[2,372]),o($VA,[2,451]),o($VT2,[2,333]),o($Vr3,[2,158]),{33:946,66:59,74:79,80:$V4},o($Vr3,[2,160]),o($Vr3,[2,161]),o($V33,[2,171]),{89:947,151:$VF},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:841,140:948,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,227:$V31,311:125,312:$V41,316:$V51},o($Vy3,[2,167]),{143:[1,949]},o($Vt3,[2,150]),o($Vx2,[2,156],{223:249,154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1}),{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:768,127:950,129:764,130:$V43,132:$V53,133:$V63,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,227:$V31,311:125,312:$V41,316:$V51},{61:$Vs3,65:[1,951]},{61:$Vs3,65:[1,952]},o($V73,[2,121]),{3:953,4:$VB,5:$VC},{3:954,4:$VB,5:$VC,63:[1,955]},{3:956,4:$VB,5:$VC,63:[1,957]},{3:958,4:$VB,5:$VC},o($VA,[2,551],{64:[1,959]}),{3:497,4:$VB,5:$VC,155:496,237:960,238:495},{235:$Vu3,239:$Vv3,350:961},o($V$2,[2,538]),{64:[1,963],242:[1,962],244:[1,964]},{204:[1,965],225:[1,966]},{204:[1,967],225:[1,968]},{154:$Vj1,204:[1,969],206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},o($Vc1,[2,232]),o([65,138],[2,233],{61:$Vs3}),{61:$Vx3,65:[2,234]},{3:970,4:$VB,5:$VC},{3:971,4:$VB,5:$VC},{61:[1,972]},{65:[1,973],154:$Vj1,206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},o($Vw3,[2,353]),o($Vw3,[2,354]),o($Vw3,[2,355]),o($Vt2,[2,365]),{64:[1,974]},{64:[1,975]},{64:[1,976]},{64:[1,977]},o($Vr3,[2,159]),o($V33,[2,173]),o($Vy3,[2,165]),o($Vy3,[2,168],{141:[1,978]}),{61:$Vs3,65:[1,979]},o($Vt3,[2,152]),o($Vt3,[2,153]),o($V73,[2,122]),o($VX2,[2,84]),{3:980,4:$VB,5:$VC},o($VX2,[2,86]),{3:981,4:$VB,5:$VC},o($VA,[2,550]),{3:497,4:$VB,5:$VC,123:982,155:575},o($V$2,[2,537],{61:$VK2}),o($V$2,[2,535]),{64:$Vw2,94:572,163:571,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,243:983,311:125,312:$V41,316:$V51},{3:497,4:$VB,5:$VC,123:984,155:575},{242:[1,985]},{240:$Vz3,351:986},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:987,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,227:$V31,311:125,312:$V41,316:$V51},{240:$Vz3,351:988},{3:106,4:$VB,5:$VC,49:104,64:$VD,89:92,93:88,94:96,95:97,96:$VE,121:989,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,227:$V31,311:125,312:$V41,316:$V51},{240:$Vz3,351:990},{64:[1,991]},{65:[1,992]},{89:993,151:$VF},o($V22,[2,373]),{3:745,4:$VB,5:$VC,96:$V23,275:994},{3:745,4:$VB,5:$VC,96:$V23,275:995},{3:497,4:$VB,5:$VC,123:996,155:575},{3:497,4:$VB,5:$VC,123:997,155:575},o($Vy3,[2,169]),o($Vt3,[2,151]),o($VX2,[2,85]),o($VX2,[2,87]),{61:$VU2,65:[1,998]},o($V$2,[2,544],{61:$VS2}),{61:$VU2,65:[1,999]},o($V$2,[2,546]),o($V$2,[2,539]),{154:$Vj1,204:[1,1e3],206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},o($V$2,[2,542]),{154:$Vj1,204:[1,1001],206:$Vk1,207:$Vl1,208:$Vm1,209:$Vn1,210:$Vo1,211:$Vp1,212:$Vq1,213:$Vr1,214:$Vs1,215:$Vt1,216:$Vu1,217:$Vv1,218:$Vw1,219:$Vx1,220:$Vy1,221:$Vz1,222:$VA1,223:249,225:$VB1,226:$VC1,227:$VD1,228:$VE1,230:$VF1,231:$VG1,232:$VH1},o($V$2,[2,540]),{3:1002,4:$VB,5:$VC},o($V22,[2,401]),{65:[1,1003]},{61:$Vj3,65:[1,1004]},{61:$Vj3,65:[1,1005]},{61:$VU2,65:[1,1006]},{61:$VU2,65:[1,1007]},o($VA,[2,552]),{242:[1,1008],244:[1,1009]},{240:$Vz3,351:1010},{235:$Vu3,239:$Vv3,350:1011},{65:[1,1012]},o($V22,[2,403]),o($Vt2,[2,374]),{277:[1,1013]},o($Vt2,[2,381]),o($Vt2,[2,382]),{64:$Vw2,94:572,163:571,192:$Ve1,194:$VZ,195:$V_,196:$V$,197:$V01,243:1014,311:125,312:$V41,316:$V51},{242:[1,1015]},o($V$2,[2,541]),o($V$2,[2,543]),o($V22,[2,400]),{3:1016,4:$VB,5:$VC},o($V$2,[2,545],{61:$VS2}),o($V$2,[2,547]),{64:[1,1017]},{3:745,4:$VB,5:$VC,96:$V23,275:1018},{61:$Vj3,65:[1,1019]},o($Vt2,[2,376],{278:1020,279:1021,120:[1,1022]}),o($Vt2,[2,375]),{120:[1,1024],280:1023},{239:[1,1025]},o($Vt2,[2,377]),{235:[1,1026]},{281:[1,1027]},{281:[1,1028]},{282:[1,1029]},{282:[1,1030]},{120:[2,378]},o($Vt2,[2,379])],defaultActions:{81:[2,3],128:[2,235],129:[2,236],130:[2,237],131:[2,238],132:[2,239],133:[2,240],134:[2,241],135:[2,242],136:[2,243],164:[2,526],333:[2,527],400:[2,313],401:[2,314],402:[2,315],477:[2,528],750:[2,363],1029:[2,378]},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 312;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 226;break;case 13:return 225;break;case 14:return"ABSOLUTE";break;case 15:return 282;break;case 16:return 295;break;case 17:return 185;break;case 18:return 79;break;case 19:return 292;break;case 20:return 225;break;case 21:return 119;break;case 22:return 234;break;case 23:return 103;break;case 24:return 186;break;case 25:return 63;break;case 26:return 310;break;case 27:return 141;break;case 28:return 297;break;case 29:return 256;break;case 30:return 256;break;case 31:return 182;break;case 32:return 329;break;case 33:return 230;break;case 34:return 333;break;case 35:return 231;break;case 36:return 126;break;case 37:return 198;break;case 38:return 167;break;case 39:return 257;break;case 40:return 272;break;case 41:return"CLOSE";break;case 42:return 142;break;case 43:return"COLUMN";break;case 44:return"COLUMNS";break;case 45:return"COMMIT";break;case 46:return"CONSTRAINT";break;case 47:return"CONTINUE";break;case 48:return"CONVERT";break;case 49:return"COUNT";break;case 50:return 248;break;case 51:return"CROSS";break;case 52:return 133;break;case 53:return"CURRENT_TIMESTAMP";break;case 54:return"CURSOR";break;case 55:return 298;break;case 56:return 303;break;case 57:return 337;break;case 58:return 244;break;case 59:return 239;break;case 60:return"DELETED";break;case 61:return 141;break;case 62:return 299;break;case 63:return 75;break;case 64:return 290;break;case 65:return 201;break;case 66:return 255;break;case 67:return 286;break;case 68:return 205;break;case 69:return 136;break;case 70:return 193;break;case 71:return 13;break;case 72:return 189;break;case 73:return"FETCH";break;case 74:return 183;break;case 75:return 276;break;case 76:return 97;break;case 77:return 11;break;case 78:return 125;break;case 79:return 130;break;case 80:return 134;break;case 81:return 307;break;case 82:return 261;break;case 83:return 289;break;case 84:return 232;break;case 85:return 228;break;case 86:return 86;break;case 87:return 114;break;case 88:return 240;break;case 89:return"INSERTED";break;case 90:return 137;break;case 91:return 91;break;case 92:return 113;break;case 93:return 274;break;case 94:return 184;break;case 95:return 115;break;case 96:return 206;break;case 97:return 144;break;case 98:return 309;break;case 99:return"MATCHED";break;case 100:return 84;break;case 101:return"MAX";break;case 102:return"MERGE";break;case 103:return"MIN";break;case 104:return"EXCEPT";break;case 105:return"MODIFY";break;case 106:return 112;break;case 107:return"NEXT";break;case 108:return 166;break;case 109:return 143;break;case 110:return 281;break;case 111:return 227;break;case 112:return 191;break;case 113:return 325;break;case 114:return 120;break;case 115:return 146;break;case 116:return"OPEN";break;case 117:return 226;break;case 118:return 138;break;case 119:return 104;break;case 120:return 174;break;case 121:return 177;break;case 122:return 90;break;case 123:return 15;break;case 124:return 273;break;case 125:return 334;break;case 126:return"PRIOR";break;case 127:return 14;break;case 128:return 87;break;case 129:return"REDUCE";break;case 130:return 277;break;case 131:return"RELATIVE";break;case 132:return 293;break;case 133:return 335;break;case 134:return"RESTORE";break;case 135:return 116;break;case 136:return 328;break;case 137:return 132;break;case 138:return 82;break;case 139:return 298;break;case 140:return 303;break;case 141:return 80;break;case 142:return 118;break;case 143:return 236;break;case 144:return 131;break;case 145:return 302;break;case 146:return 233;break;case 147:return"STORE";break;case 148:return"SUM";break;case 149:return 249;break;case 150:return 304;break;case 151:return 352;break;case 152:return 149;break;case 153:return 85;break;case 154:return 150;break;case 155:return 204;break;case 156:return 294;break;case 157:return 88;break;case 158:return"TRAN";break;case 159:return 327;break;case 160:return 188;break;case 161:return 340;break;case 162:return 135;break;case 163:return 78;break;case 164:return 235;break;case 165:return 301;break;case 166:return 122;break;case 167:return 81;break;case 168:return 242;break;case 169:return 306;break;case 170:return 203;break;case 171:return 124;break;case 172:return 331;break;case 173:return 59;break;case 174:return 327;break;case 175:return 151;break;case 176:return 151;break;case 177:return 212;break;case 178:return 207;break;case 179:return 208;break;case 180:return 154;break;case 181:return 209;break;case 182:return 210;break;case 183:return 222;break;case 184:return 219;break;case 185:return 221;break;case 186:return 218;break;case 187:return 214;break;case 188:return 213;break;case 189:return 216;break;case 190:return 220;break;case 191:return 215;break;case 192:return 217;break;case 193:return 220;break;case 194:return 64;break;case 195:return 65;break;case 196:return 192;break;case 197:return 316;break;case 198:return 318;break;case 199:return 320;break;case 200:return 106;break;case 201:return 61;break;case 202:return 195;break;case 203:return 9;break;case 204:return 194;break;case 205:return 196;break;case 206:return 211;break;case 207:return 4;break;case 208:return 8;break;case 209: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 BETWEEN\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,/^(?:[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],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" "}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){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.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"].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=="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 BETWEEM 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 BETWEEM 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=="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=="NOT")return"boolean"};yy.UniOp.prototype.toJavaScript=function(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.MAX=function(){return"Math.max("+arguments.join(",")+")"};stdlib.MIN=function(){return"Math.min("+arguments.join(",")+")"};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+"> <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+"> "+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 cells={};var wb={SheetNames:[],Sheets:{}};wb.SheetNames.push(opt.sheetid);wb.Sheets[opt.sheetid]=cells;wb.Sheets[opt.sheetid]["!ref"]="A1:"+alasql.utils.xlsnc(columns.length)+(data.length+2);var i=1;if(opt.headers){columns.forEach(function(col,idx){cells[alasql.utils.xlsnc(idx)+""+i]={v:col.columnid}});i++}for(var j=0;j<data.length;j++){columns.forEach(function(col,idx){cells[alasql.utils.xlsnc(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}}}