mlogjs 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +68 -18
  3. package/build/Compiler.d.ts +18 -18
  4. package/build/Compiler.js +99 -119
  5. package/build/Compiler.js.map +1 -1
  6. package/build/Scope.d.ts +26 -26
  7. package/build/Scope.js +60 -60
  8. package/build/Scope.js.map +1 -1
  9. package/build/bin.d.ts +2 -2
  10. package/build/bin.js +60 -41
  11. package/build/bin.js.map +1 -1
  12. package/build/handlers/BlockStatement.d.ts +2 -2
  13. package/build/handlers/BlockStatement.js +13 -13
  14. package/build/handlers/CallExpression.d.ts +3 -3
  15. package/build/handlers/CallExpression.js +19 -19
  16. package/build/handlers/ForStatement.d.ts +2 -2
  17. package/build/handlers/ForStatement.js +31 -31
  18. package/build/handlers/Function.d.ts +4 -4
  19. package/build/handlers/Function.js +35 -35
  20. package/build/handlers/Identifier.d.ts +2 -2
  21. package/build/handlers/Identifier.js +7 -7
  22. package/build/handlers/IfStatement.d.ts +2 -2
  23. package/build/handlers/IfStatement.js +24 -24
  24. package/build/handlers/Literal.d.ts +2 -2
  25. package/build/handlers/Literal.js +17 -17
  26. package/build/handlers/Object.d.ts +4 -4
  27. package/build/handlers/Object.js +43 -43
  28. package/build/handlers/OperationExpressions.d.ts +7 -7
  29. package/build/handlers/OperationExpressions.js +32 -32
  30. package/build/handlers/Program.d.ts +2 -2
  31. package/build/handlers/Program.js +8 -8
  32. package/build/handlers/Program.js.map +1 -1
  33. package/build/handlers/Statements.d.ts +5 -5
  34. package/build/handlers/Statements.js +29 -29
  35. package/build/handlers/TemplateExpression.d.ts +2 -2
  36. package/build/handlers/TemplateExpression.js +17 -17
  37. package/build/handlers/VariableDeclaration.d.ts +3 -3
  38. package/build/handlers/VariableDeclaration.js +55 -55
  39. package/build/handlers/WhileStatement.d.ts +2 -2
  40. package/build/handlers/WhileStatement.js +22 -22
  41. package/build/handlers/index.d.ts +14 -14
  42. package/build/handlers/index.js +30 -30
  43. package/build/index.d.ts +1 -1
  44. package/build/index.js +7 -7
  45. package/build/initScope.d.ts +2 -0
  46. package/build/initScope.js +40 -0
  47. package/build/initScope.js.map +1 -0
  48. package/build/instructions/AddressResolver.d.ts +12 -12
  49. package/build/instructions/AddressResolver.js +30 -30
  50. package/build/instructions/ControlInstructions.d.ts +11 -11
  51. package/build/instructions/ControlInstructions.js +22 -22
  52. package/build/instructions/EndInstruction.d.ts +4 -4
  53. package/build/instructions/EndInstruction.js +10 -10
  54. package/build/instructions/InstructionBase.d.ts +10 -10
  55. package/build/instructions/InstructionBase.js +20 -20
  56. package/build/instructions/JumpInstruction.d.ts +15 -15
  57. package/build/instructions/JumpInstruction.js +21 -21
  58. package/build/instructions/OperationInstruction.d.ts +5 -5
  59. package/build/instructions/OperationInstruction.js +10 -10
  60. package/build/instructions/SetCounterInstruction.d.ts +5 -5
  61. package/build/instructions/SetCounterInstruction.js +10 -10
  62. package/build/instructions/SetInstruction.d.ts +5 -5
  63. package/build/instructions/SetInstruction.js +10 -10
  64. package/build/instructions/ZeroSpaceInstruction.d.ts +4 -4
  65. package/build/instructions/ZeroSpaceInstruction.js +10 -10
  66. package/build/instructions/index.d.ts +9 -9
  67. package/build/instructions/index.js +25 -25
  68. package/build/macros/Building.d.ts +11 -11
  69. package/build/macros/Building.js +80 -80
  70. package/build/macros/Function.d.ts +12 -12
  71. package/build/macros/Function.js +19 -19
  72. package/build/macros/Math.d.ts +5 -5
  73. package/build/macros/Math.js +56 -56
  74. package/build/macros/Math.js.map +1 -1
  75. package/build/macros/Memory.d.ts +5 -5
  76. package/build/macros/Memory.js +60 -60
  77. package/build/macros/Namespace.d.ts +21 -21
  78. package/build/macros/Namespace.js +97 -97
  79. package/build/macros/Other.d.ts +5 -5
  80. package/build/macros/Other.js +19 -19
  81. package/build/macros/RawValue.d.ts +5 -5
  82. package/build/macros/RawValue.js +15 -15
  83. package/build/macros/commands/{control.d.ts → Control.d.ts} +5 -5
  84. package/build/macros/commands/{control.js → Control.js} +24 -24
  85. package/build/macros/commands/{control.js.map → Control.js.map} +0 -0
  86. package/build/macros/commands/Draw.d.ts +5 -5
  87. package/build/macros/commands/Draw.js +38 -38
  88. package/build/macros/commands/DrawFlush.d.ts +5 -5
  89. package/build/macros/commands/DrawFlush.js +16 -16
  90. package/build/macros/commands/GetLink.d.ts +5 -5
  91. package/build/macros/commands/GetLink.js +20 -20
  92. package/build/macros/commands/Lookup.d.ts +5 -5
  93. package/build/macros/commands/Lookup.js +23 -23
  94. package/build/macros/commands/Print.d.ts +5 -5
  95. package/build/macros/commands/Print.js +13 -13
  96. package/build/macros/commands/PrintFlush.d.ts +5 -5
  97. package/build/macros/commands/PrintFlush.js +16 -16
  98. package/build/macros/commands/Radar.d.ts +7 -7
  99. package/build/macros/commands/Radar.js +60 -60
  100. package/build/macros/commands/Sensor.d.ts +5 -5
  101. package/build/macros/commands/Sensor.js +19 -19
  102. package/build/macros/commands/UnitBind.d.ts +5 -5
  103. package/build/macros/commands/UnitBind.js +16 -16
  104. package/build/macros/commands/UnitControl.d.ts +5 -5
  105. package/build/macros/commands/UnitControl.js +67 -67
  106. package/build/macros/commands/UnitLocate.d.ts +5 -5
  107. package/build/macros/commands/UnitLocate.js +54 -54
  108. package/build/macros/commands/UnitRadar.d.ts +5 -5
  109. package/build/macros/commands/UnitRadar.js +40 -40
  110. package/build/macros/commands/Wait.d.ts +5 -5
  111. package/build/macros/commands/Wait.js +17 -17
  112. package/build/macros/commands/index.d.ts +14 -14
  113. package/build/macros/commands/index.js +32 -32
  114. package/build/macros/index.d.ts +7 -7
  115. package/build/macros/index.js +39 -39
  116. package/build/operators.d.ts +25 -25
  117. package/build/operators.js +101 -101
  118. package/build/types.d.ts +49 -49
  119. package/build/types.js +27 -27
  120. package/build/utils.d.ts +3 -3
  121. package/build/utils.js +12 -12
  122. package/build/values/BaseValue.d.ts +5 -5
  123. package/build/values/BaseValue.js +111 -111
  124. package/build/values/FunctionValue.d.ts +34 -34
  125. package/build/values/FunctionValue.js +103 -103
  126. package/build/values/LiteralValue.d.ts +12 -12
  127. package/build/values/LiteralValue.js +87 -87
  128. package/build/values/LiteralValue.js.map +1 -1
  129. package/build/values/ObjectValue.d.ts +17 -17
  130. package/build/values/ObjectValue.js +49 -49
  131. package/build/values/StoreValue.d.ts +11 -11
  132. package/build/values/StoreValue.js +30 -30
  133. package/build/values/TempValue.d.ts +12 -12
  134. package/build/values/TempValue.js +66 -66
  135. package/build/values/TempValue.js.map +1 -1
  136. package/build/values/VoidValue.d.ts +11 -11
  137. package/build/values/VoidValue.js +30 -30
  138. package/build/values/index.d.ts +6 -6
  139. package/build/values/index.js +22 -22
  140. package/dist/mlogjs.es.js +6366 -0
  141. package/dist/mlogjs.umd.js +8 -0
  142. package/lib/commands.d.ts +326 -326
  143. package/lib/eslib/index.d.ts +3 -3
  144. package/lib/eslib/lib.d.ts +9 -9
  145. package/lib/eslib/lib.es2015.collection.d.ts +89 -89
  146. package/lib/eslib/lib.es2015.core.d.ts +16 -16
  147. package/lib/eslib/lib.es2015.d.ts +30 -30
  148. package/lib/eslib/lib.es2015.generator.d.ts +79 -79
  149. package/lib/eslib/lib.es2015.iterable.d.ts +70 -70
  150. package/lib/eslib/lib.es5.d.ts +295 -295
  151. package/lib/eslib/lib.es6.d.ts +18 -18
  152. package/lib/globals.d.ts +328 -328
  153. package/lib/helpers.d.ts +23 -23
  154. package/lib/index.d.ts +7 -7
  155. package/lib/kinds.d.ts +36 -36
  156. package/lib/memory.d.ts +17 -17
  157. package/lib/traits.d.ts +121 -121
  158. package/lib/util.d.ts +32 -32
  159. package/package.json +73 -48
  160. package/build/macros/Blocks.d.ts +0 -5
  161. package/build/macros/Blocks.js +0 -143
  162. package/build/macros/Blocks.js.map +0 -1
  163. package/build/macros/Draw.d.ts +0 -5
  164. package/build/macros/Draw.js +0 -39
  165. package/build/macros/Draw.js.map +0 -1
  166. package/build/macros/Items.d.ts +0 -5
  167. package/build/macros/Items.js +0 -20
  168. package/build/macros/Items.js.map +0 -1
  169. package/build/macros/Liquids.d.ts +0 -5
  170. package/build/macros/Liquids.js +0 -18
  171. package/build/macros/Liquids.js.map +0 -1
  172. package/build/macros/Symbol.d.ts +0 -0
  173. package/build/macros/Symbol.js +0 -1
  174. package/build/macros/Symbol.js.map +0 -1
  175. package/build/macros/SymbolNamespace.d.ts +0 -0
  176. package/build/macros/SymbolNamespace.js +0 -1
  177. package/build/macros/SymbolNamespace.js.map +0 -1
  178. package/build/macros/TypeFactory.d.ts +0 -8
  179. package/build/macros/TypeFactory.js +0 -22
  180. package/build/macros/TypeFactory.js.map +0 -1
  181. package/build/macros/Units.d.ts +0 -5
  182. package/build/macros/Units.js +0 -18
  183. package/build/macros/Units.js.map +0 -1
  184. package/build/macros/Vars.d.ts +0 -5
  185. package/build/macros/Vars.js +0 -18
  186. package/build/macros/Vars.js.map +0 -1
  187. package/build/macros/commands/Asm.d.ts +0 -5
  188. package/build/macros/commands/Asm.js +0 -21
  189. package/build/macros/commands/Asm.js.map +0 -1
  190. package/build/macros/commands/io.d.ts +0 -8
  191. package/build/macros/commands/io.js +0 -47
  192. package/build/macros/commands/io.js.map +0 -1
  193. package/build/macros/helpers/GetBuilding.d.ts +0 -5
  194. package/build/macros/helpers/GetBuilding.js +0 -16
  195. package/build/macros/helpers/GetBuilding.js.map +0 -1
  196. package/build/macros/helpers/GetVar.d.ts +0 -5
  197. package/build/macros/helpers/GetVar.js +0 -16
  198. package/build/macros/helpers/GetVar.js.map +0 -1
  199. package/build/macros/helpers/index.d.ts +0 -2
  200. package/build/macros/helpers/index.js +0 -15
  201. package/build/macros/helpers/index.js.map +0 -1
  202. package/dist/bundle.js +0 -1
package/dist/bundle.js DELETED
@@ -1 +0,0 @@
1
- var mlogcc;(()=>{var e={1072:function(e){var t;t=function(){return function(e){var t={};function i(r){if(t[r])return t[r].exports;var n=t[r]={exports:{},id:r,loaded:!1};return e[r].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}return i.m=e,i.c=t,i.p="",i(0)}([function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(1),n=i(3),s=i(8),a=i(15);function o(e,t,i){var a=null,o=function(e,t){i&&i(e,t),a&&a.visit(e,t)},u="function"==typeof i?o:null,h=!1;if(t){h="boolean"==typeof t.comment&&t.comment;var c="boolean"==typeof t.attachComment&&t.attachComment;(h||c)&&((a=new r.CommentHandler).attach=c,t.comment=!0,u=o)}var l,p=!1;t&&"string"==typeof t.sourceType&&(p="module"===t.sourceType),l=t&&"boolean"==typeof t.jsx&&t.jsx?new n.JSXParser(e,t,u):new s.Parser(e,t,u);var d=p?l.parseModule():l.parseScript();return h&&a&&(d.comments=a.comments),l.config.tokens&&(d.tokens=l.tokens),l.config.tolerant&&(d.errors=l.errorHandler.errors),d}t.parse=o,t.parseModule=function(e,t,i){var r=t||{};return r.sourceType="module",o(e,r,i)},t.parseScript=function(e,t,i){var r=t||{};return r.sourceType="script",o(e,r,i)},t.tokenize=function(e,t,i){var r,n=new a.Tokenizer(e,t);r=[];try{for(;;){var s=n.getNextToken();if(!s)break;i&&(s=i(s)),r.push(s)}}catch(e){n.errorHandler.tolerate(e)}return n.errorHandler.tolerant&&(r.errors=n.errors()),r};var u=i(2);t.Syntax=u.Syntax,t.version="4.0.1"},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(2),n=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===r.Syntax.BlockStatement&&0===e.body.length){for(var i=[],n=this.leading.length-1;n>=0;--n){var s=this.leading[n];t.end.offset>=s.start&&(i.unshift(s.comment),this.leading.splice(n,1),this.trailing.splice(n,1))}i.length&&(e.innerComments=i)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var i=this.trailing.length-1;i>=0;--i){var r=this.trailing[i];r.start>=e.end.offset&&t.unshift(r.comment)}return this.trailing.length=0,t}var n=this.stack[this.stack.length-1];if(n&&n.node.trailingComments){var s=n.node.trailingComments[0];s&&s.range[0]>=e.end.offset&&(t=n.node.trailingComments,delete n.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,i=[];this.stack.length>0&&(s=this.stack[this.stack.length-1])&&s.start>=e.start.offset;)t=s.node,this.stack.pop();if(t){for(var r=(t.leadingComments?t.leadingComments.length:0)-1;r>=0;--r){var n=t.leadingComments[r];n.range[1]<=e.start.offset&&(i.unshift(n),t.leadingComments.splice(r,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,i}for(r=this.leading.length-1;r>=0;--r){var s;(s=this.leading[r]).start<=e.start.offset&&(i.unshift(s.comment),this.leading.splice(r,1))}return i},e.prototype.visitNode=function(e,t){if(!(e.type===r.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var i=this.findTrailingComments(t),n=this.findLeadingComments(t);n.length>0&&(e.leadingComments=n),i.length>0&&(e.trailingComments=i),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var i="L"===e.type[0]?"Line":"Block",r={type:i,value:e.value};if(e.range&&(r.range=e.range),e.loc&&(r.loc=e.loc),this.comments.push(r),this.attach){var n={comment:{type:i,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(n.comment.loc=e.loc),e.type=i,this.leading.push(n),this.trailing.push(n)}},e.prototype.visit=function(e,t){"LineComment"===e.type||"BlockComment"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,i){"use strict";var r,n=this&&this.__extends||(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},function(e,t){function i(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)});Object.defineProperty(t,"__esModule",{value:!0});var s=i(4),a=i(5),o=i(6),u=i(7),h=i(8),c=i(13),l=i(14);function p(e){var t;switch(e.type){case o.JSXSyntax.JSXIdentifier:t=e.name;break;case o.JSXSyntax.JSXNamespacedName:var i=e;t=p(i.namespace)+":"+p(i.name);break;case o.JSXSyntax.JSXMemberExpression:var r=e;t=p(r.object)+"."+p(r.property)}return t}c.TokenName[100]="JSXIdentifier",c.TokenName[101]="JSXText";var d=function(e){function t(t,i,r){return e.call(this,t,i,r)||this}return n(t,e),t.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t="&",i=!0,r=!1,n=!1,a=!1;!this.scanner.eof()&&i&&!r;){var o=this.scanner.source[this.scanner.index];if(o===e)break;if(r=";"===o,t+=o,++this.scanner.index,!r)switch(t.length){case 2:n="#"===o;break;case 3:n&&(i=(a="x"===o)||s.Character.isDecimalDigit(o.charCodeAt(0)),n=n&&!a);break;default:i=(i=i&&!(n&&!s.Character.isDecimalDigit(o.charCodeAt(0))))&&!(a&&!s.Character.isHexDigit(o.charCodeAt(0)))}}if(i&&r&&t.length>2){var u=t.substr(1,t.length-2);n&&u.length>1?t=String.fromCharCode(parseInt(u.substr(1),10)):a&&u.length>2?t=String.fromCharCode(parseInt("0"+u.substr(1),16)):n||a||!l.XHTMLEntities[u]||(t=l.XHTMLEntities[u])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:o=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,i=this.scanner.source[this.scanner.index++],r="";!this.scanner.eof()&&(u=this.scanner.source[this.scanner.index++])!==i;)r+="&"===u?this.scanXHTMLEntity(i):u;return{type:8,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var n=this.scanner.source.charCodeAt(this.scanner.index+1),a=this.scanner.source.charCodeAt(this.scanner.index+2),o=46===n&&46===a?"...":".";return t=this.scanner.index,this.scanner.index+=o.length,{type:7,value:o,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(s.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var u=this.scanner.source.charCodeAt(this.scanner.index);if(s.Character.isIdentifierPart(u)&&92!==u)++this.scanner.index;else{if(45!==u)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t="";!this.scanner.eof();){var i=this.scanner.source[this.scanner.index];if("{"===i||"<"===i)break;++this.scanner.index,t+=i,s.Character.isLineTerminator(i.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===i&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var r={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(r)),r},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=t;this.expectJSX(":");var r=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(i,r))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var n=t;this.expectJSX(".");var s=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(n,s))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),i=this.parseJSXIdentifier();if(this.matchJSX(":")){var r=i;this.expectJSX(":");var n=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(r,n))}else e=i;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var i=this.getTokenRaw(t);return this.finalize(e,new u.Literal(t.value,i))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),i=null;return this.matchJSX("=")&&(this.expectJSX("="),i=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,i))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX("/")&&!this.matchJSX(">");){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName(),i=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(t,r,i))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new a.JSXClosingElement(t))}var i=this.parseJSXElementName(),r=this.parseJSXAttributes(),n=this.matchJSX("/");return n&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(i,n,r))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new a.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new a.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),i=this.nextJSXText();if(i.start<i.end){var r=this.getTokenRaw(i),n=this.finalize(t,new a.JSXText(i.value,r));e.push(n)}if("{"!==this.scanner.source[this.scanner.index])break;var s=this.parseJSXExpressionContainer();e.push(s)}return e},t.prototype.parseComplexJSXElement=function(e){for(var t=[];!this.scanner.eof();){e.children=e.children.concat(this.parseJSXChildren());var i=this.createJSXChildNode(),r=this.parseJSXBoundaryElement();if(r.type===o.JSXSyntax.JSXOpeningElement){var n=r;if(n.selfClosing){var s=this.finalize(i,new a.JSXElement(n,[],null));e.children.push(s)}else t.push(e),e={node:i,opening:n,closing:null,children:[]}}if(r.type===o.JSXSyntax.JSXClosingElement){e.closing=r;var u=p(e.opening.name);if(u!==p(e.closing.name)&&this.tolerateError("Expected corresponding JSX closing tag for %0",u),!(t.length>0))break;s=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(s),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),i=[],r=null;if(!t.selfClosing){var n=this.parseComplexJSXElement({node:e,opening:t,closing:r,children:i});i=n.children,r=n.closing}return this.finalize(e,new a.JSXElement(t,i,r))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},t}(h.Parser);t.JSXParser=d},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&i.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&i.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(6);t.JSXClosingElement=function(e){this.type=r.JSXSyntax.JSXClosingElement,this.name=e};t.JSXElement=function(e,t,i){this.type=r.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=i};t.JSXEmptyExpression=function(){this.type=r.JSXSyntax.JSXEmptyExpression};t.JSXExpressionContainer=function(e){this.type=r.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXIdentifier=function(e){this.type=r.JSXSyntax.JSXIdentifier,this.name=e};t.JSXMemberExpression=function(e,t){this.type=r.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXAttribute=function(e,t){this.type=r.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXNamespacedName=function(e,t){this.type=r.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXOpeningElement=function(e,t,i){this.type=r.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=i};t.JSXSpreadAttribute=function(e){this.type=r.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXText=function(e,t){this.type=r.JSXSyntax.JSXText,this.value=e,this.raw=t}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(2);t.ArrayExpression=function(e){this.type=r.Syntax.ArrayExpression,this.elements=e};t.ArrayPattern=function(e){this.type=r.Syntax.ArrayPattern,this.elements=e};t.ArrowFunctionExpression=function(e,t,i){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=i,this.async=!1};t.AssignmentExpression=function(e,t,i){this.type=r.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=i};t.AssignmentPattern=function(e,t){this.type=r.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AsyncArrowFunctionExpression=function(e,t,i){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=i,this.async=!0};t.AsyncFunctionDeclaration=function(e,t,i){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=i,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=function(e,t,i){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=i,this.generator=!1,this.expression=!1,this.async=!0};t.AwaitExpression=function(e){this.type=r.Syntax.AwaitExpression,this.argument=e};t.BinaryExpression=function(e,t,i){var n="||"===e||"&&"===e;this.type=n?r.Syntax.LogicalExpression:r.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=i};t.BlockStatement=function(e){this.type=r.Syntax.BlockStatement,this.body=e};t.BreakStatement=function(e){this.type=r.Syntax.BreakStatement,this.label=e};t.CallExpression=function(e,t){this.type=r.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CatchClause=function(e,t){this.type=r.Syntax.CatchClause,this.param=e,this.body=t};t.ClassBody=function(e){this.type=r.Syntax.ClassBody,this.body=e};t.ClassDeclaration=function(e,t,i){this.type=r.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=i};t.ClassExpression=function(e,t,i){this.type=r.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=i};t.ComputedMemberExpression=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ConditionalExpression=function(e,t,i){this.type=r.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=i};t.ContinueStatement=function(e){this.type=r.Syntax.ContinueStatement,this.label=e};t.DebuggerStatement=function(){this.type=r.Syntax.DebuggerStatement};t.Directive=function(e,t){this.type=r.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.DoWhileStatement=function(e,t){this.type=r.Syntax.DoWhileStatement,this.body=e,this.test=t};t.EmptyStatement=function(){this.type=r.Syntax.EmptyStatement};t.ExportAllDeclaration=function(e){this.type=r.Syntax.ExportAllDeclaration,this.source=e};t.ExportDefaultDeclaration=function(e){this.type=r.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportNamedDeclaration=function(e,t,i){this.type=r.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=i};t.ExportSpecifier=function(e,t){this.type=r.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExpressionStatement=function(e){this.type=r.Syntax.ExpressionStatement,this.expression=e};t.ForInStatement=function(e,t,i){this.type=r.Syntax.ForInStatement,this.left=e,this.right=t,this.body=i,this.each=!1};t.ForOfStatement=function(e,t,i){this.type=r.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=i};t.ForStatement=function(e,t,i,n){this.type=r.Syntax.ForStatement,this.init=e,this.test=t,this.update=i,this.body=n};t.FunctionDeclaration=function(e,t,i,n){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=i,this.generator=n,this.expression=!1,this.async=!1};t.FunctionExpression=function(e,t,i,n){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=i,this.generator=n,this.expression=!1,this.async=!1};t.Identifier=function(e){this.type=r.Syntax.Identifier,this.name=e};t.IfStatement=function(e,t,i){this.type=r.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=i};t.ImportDeclaration=function(e,t){this.type=r.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDefaultSpecifier=function(e){this.type=r.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportNamespaceSpecifier=function(e){this.type=r.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportSpecifier=function(e,t){this.type=r.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.LabeledStatement=function(e,t){this.type=r.Syntax.LabeledStatement,this.label=e,this.body=t};t.Literal=function(e,t){this.type=r.Syntax.Literal,this.value=e,this.raw=t};t.MetaProperty=function(e,t){this.type=r.Syntax.MetaProperty,this.meta=e,this.property=t};t.MethodDefinition=function(e,t,i,n,s){this.type=r.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=i,this.kind=n,this.static=s};t.Module=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType="module"};t.NewExpression=function(e,t){this.type=r.Syntax.NewExpression,this.callee=e,this.arguments=t};t.ObjectExpression=function(e){this.type=r.Syntax.ObjectExpression,this.properties=e};t.ObjectPattern=function(e){this.type=r.Syntax.ObjectPattern,this.properties=e};t.Property=function(e,t,i,n,s,a){this.type=r.Syntax.Property,this.key=t,this.computed=i,this.value=n,this.kind=e,this.method=s,this.shorthand=a};t.RegexLiteral=function(e,t,i,n){this.type=r.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:i,flags:n}};t.RestElement=function(e){this.type=r.Syntax.RestElement,this.argument=e};t.ReturnStatement=function(e){this.type=r.Syntax.ReturnStatement,this.argument=e};t.Script=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType="script"};t.SequenceExpression=function(e){this.type=r.Syntax.SequenceExpression,this.expressions=e};t.SpreadElement=function(e){this.type=r.Syntax.SpreadElement,this.argument=e};t.StaticMemberExpression=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.Super=function(){this.type=r.Syntax.Super};t.SwitchCase=function(e,t){this.type=r.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchStatement=function(e,t){this.type=r.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.TaggedTemplateExpression=function(e,t){this.type=r.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TemplateElement=function(e,t){this.type=r.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateLiteral=function(e,t){this.type=r.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.ThisExpression=function(){this.type=r.Syntax.ThisExpression};t.ThrowStatement=function(e){this.type=r.Syntax.ThrowStatement,this.argument=e};t.TryStatement=function(e,t,i){this.type=r.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=i};t.UnaryExpression=function(e,t){this.type=r.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UpdateExpression=function(e,t,i){this.type=r.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=i};t.VariableDeclaration=function(e,t){this.type=r.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclarator=function(e,t){this.type=r.Syntax.VariableDeclarator,this.id=e,this.init=t};t.WhileStatement=function(e,t){this.type=r.Syntax.WhileStatement,this.test=e,this.body=t};t.WithStatement=function(e,t){this.type=r.Syntax.WithStatement,this.object=e,this.body=t};t.YieldExpression=function(e,t){this.type=r.Syntax.YieldExpression,this.argument=e,this.delegate=t}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(9),n=i(10),s=i(11),a=i(7),o=i(12),u=i(2),h=i(13),c="ArrowParameterPlaceHolder",l=function(){function e(e,t,i){void 0===t&&(t={}),this.config={range:"boolean"==typeof t.range&&t.range,loc:"boolean"==typeof t.loc&&t.loc,source:null,tokens:"boolean"==typeof t.tokens&&t.tokens,comment:"boolean"==typeof t.comment&&t.comment,tolerant:"boolean"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=i,this.errorHandler=new n.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new o.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];var n=Array.prototype.slice.call(arguments,1),s=e.replace(/%(\d)/g,(function(e,t){return r.assert(t<n.length,"Message reference must be in range"),n[t]})),a=this.lastMarker.index,o=this.lastMarker.line,u=this.lastMarker.column+1;throw this.errorHandler.createError(a,o,u,s)},e.prototype.tolerateError=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];var n=Array.prototype.slice.call(arguments,1),s=e.replace(/%(\d)/g,(function(e,t){return r.assert(t<n.length,"Message reference must be in range"),n[t]})),a=this.lastMarker.index,o=this.scanner.lineNumber,u=this.lastMarker.column+1;this.errorHandler.tolerateError(a,o,u,s)},e.prototype.unexpectedTokenError=function(e,t){var i,r=t||s.Messages.UnexpectedToken;if(e?(t||(r=2===e.type?s.Messages.UnexpectedEOS:3===e.type?s.Messages.UnexpectedIdentifier:6===e.type?s.Messages.UnexpectedNumber:8===e.type?s.Messages.UnexpectedString:10===e.type?s.Messages.UnexpectedTemplate:s.Messages.UnexpectedToken,4===e.type&&(this.scanner.isFutureReservedWord(e.value)?r=s.Messages.UnexpectedReserved:this.context.strict&&this.scanner.isStrictModeReservedWord(e.value)&&(r=s.Messages.StrictReservedWord))),i=e.value):i="ILLEGAL",r=r.replace("%0",i),e&&"number"==typeof e.lineNumber){var n=e.start,a=e.lineNumber,o=this.lastMarker.index-this.lastMarker.column,u=e.start-o+1;return this.errorHandler.createError(n,a,u,r)}return n=this.lastMarker.index,a=this.lastMarker.line,u=this.lastMarker.column+1,this.errorHandler.createError(n,a,u,r)},e.prototype.throwUnexpectedToken=function(e,t){throw this.unexpectedTokenError(e,t)},e.prototype.tolerateUnexpectedToken=function(e,t){this.errorHandler.tolerate(this.unexpectedTokenError(e,t))},e.prototype.collectComments=function(){if(this.config.comment){var e=this.scanner.scanComments();if(e.length>0&&this.delegate)for(var t=0;t<e.length;++t){var i=e[t],r=void 0;r={type:i.multiLine?"BlockComment":"LineComment",value:this.scanner.source.slice(i.slice[0],i.slice[1])},this.config.range&&(r.range=i.range),this.config.loc&&(r.loc=i.loc);var n={start:{line:i.loc.start.line,column:i.loc.start.column,offset:i.range[0]},end:{line:i.loc.end.line,column:i.loc.end.column,offset:i.range[1]}};this.delegate(r,n)}}else this.scanner.scanComments()},e.prototype.getTokenRaw=function(e){return this.scanner.source.slice(e.start,e.end)},e.prototype.convertToken=function(e){var t={type:h.TokenName[e.type],value:this.getTokenRaw(e)};if(this.config.range&&(t.range=[e.start,e.end]),this.config.loc&&(t.loc={start:{line:this.startMarker.line,column:this.startMarker.column},end:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}),9===e.type){var i=e.pattern,r=e.flags;t.regex={pattern:i,flags:r}}return t},e.prototype.nextToken=function(){var e=this.lookahead;this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.collectComments(),this.scanner.index!==this.startMarker.index&&(this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart);var t=this.scanner.lex();return this.hasLineTerminator=e.lineNumber!==t.lineNumber,t&&this.context.strict&&3===t.type&&this.scanner.isStrictModeReservedWord(t.value)&&(t.type=4),this.lookahead=t,this.config.tokens&&2!==t.type&&this.tokens.push(this.convertToken(t)),e},e.prototype.nextRegexToken=function(){this.collectComments();var e=this.scanner.scanRegExp();return this.config.tokens&&(this.tokens.pop(),this.tokens.push(this.convertToken(e))),this.lookahead=e,this.nextToken(),e},e.prototype.createNode=function(){return{index:this.startMarker.index,line:this.startMarker.line,column:this.startMarker.column}},e.prototype.startNode=function(e,t){void 0===t&&(t=0);var i=e.start-e.lineStart,r=e.lineNumber;return i<0&&(i+=t,r--),{index:e.start,line:r,column:i}},e.prototype.finalize=function(e,t){if(this.config.range&&(t.range=[e.index,this.lastMarker.index]),this.config.loc&&(t.loc={start:{line:e.line,column:e.column},end:{line:this.lastMarker.line,column:this.lastMarker.column}},this.config.source&&(t.loc.source=this.config.source)),this.delegate){var i={start:{line:e.line,column:e.column,offset:e.index},end:{line:this.lastMarker.line,column:this.lastMarker.column,offset:this.lastMarker.index}};this.delegate(t,i)}return t},e.prototype.expect=function(e){var t=this.nextToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},e.prototype.expectCommaSeparator=function(){if(this.config.tolerant){var e=this.lookahead;7===e.type&&","===e.value?this.nextToken():7===e.type&&";"===e.value?(this.nextToken(),this.tolerateUnexpectedToken(e)):this.tolerateUnexpectedToken(e,s.Messages.UnexpectedToken)}else this.expect(",")},e.prototype.expectKeyword=function(e){var t=this.nextToken();4===t.type&&t.value===e||this.throwUnexpectedToken(t)},e.prototype.match=function(e){return 7===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchKeyword=function(e){return 4===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchContextualKeyword=function(e){return 3===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchAssign=function(){if(7!==this.lookahead.type)return!1;var e=this.lookahead.value;return"="===e||"*="===e||"**="===e||"/="===e||"%="===e||"+="===e||"-="===e||"<<="===e||">>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,i=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var n=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=i,this.context.firstCoverInitializedNameError=r,n},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,i=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var n=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&i,this.context.firstCoverInitializedNameError=r||this.context.firstCoverInitializedNameError,n},e.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,i,r=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(r,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),i=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(t.value,i));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),i=this.getTokenRaw(t),e=this.finalize(r,new a.Literal("true"===t.value,i));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),i=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(null,i));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),i=this.getTokenRaw(t),e=this.finalize(r,new a.RegexLiteral(t.regex,i,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(r,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(r,new a.ThisExpression)):e=this.matchKeyword("class")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){var i=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(i)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,i=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var r=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=i,r},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var i=this.parseFormalParameters(),r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,i.params,r,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,i=this.context.await;this.context.allowYield=!1,this.context.await=!0;var r=this.parseFormalParameters(),n=this.parsePropertyMethod(r);return this.context.allowYield=t,this.context.await=i,this.finalize(e,new a.AsyncFunctionExpression(null,r.params,n))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),i=this.nextToken();switch(i.type){case 8:case 6:this.context.strict&&i.octal&&this.tolerateUnexpectedToken(i,s.Messages.StrictOctalLiteral);var r=this.getTokenRaw(i);e=this.finalize(t,new a.Literal(i.value,r));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(i.value));break;case 7:"["===i.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(i);break;default:e=this.throwUnexpectedToken(i)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===u.Syntax.Identifier&&e.name===t||e.type===u.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,i=this.createNode(),r=this.lookahead,n=null,o=null,u=!1,h=!1,c=!1,l=!1;if(3===r.type){var p=r.value;this.nextToken(),u=this.match("["),n=(l=!(this.hasLineTerminator||"async"!==p||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(i,new a.Identifier(p))}else this.match("*")?this.nextToken():(u=this.match("["),n=this.parseObjectPropertyKey());var d=this.qualifiedPropertyName(this.lookahead);if(3===r.type&&!l&&"get"===r.value&&d)t="get",u=this.match("["),n=this.parseObjectPropertyKey(),this.context.allowYield=!1,o=this.parseGetterMethod();else if(3===r.type&&!l&&"set"===r.value&&d)t="set",u=this.match("["),n=this.parseObjectPropertyKey(),o=this.parseSetterMethod();else if(7===r.type&&"*"===r.value&&d)t="init",u=this.match("["),n=this.parseObjectPropertyKey(),o=this.parseGeneratorMethod(),h=!0;else if(n||this.throwUnexpectedToken(this.lookahead),t="init",this.match(":")&&!l)!u&&this.isPropertyKey(n,"__proto__")&&(e.value&&this.tolerateError(s.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),o=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))o=l?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),h=!0;else if(3===r.type)if(p=this.finalize(i,new a.Identifier(r.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var m=this.isolateCoverGrammar(this.parseAssignmentExpression);o=this.finalize(i,new a.AssignmentPattern(p,m))}else c=!0,o=p;else this.throwUnexpectedToken(this.nextToken());return this.finalize(i,new a.Property(t,n,u,o,h,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],i={value:!1};!this.match("}");)t.push(this.parseObjectProperty(i)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){r.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),i=t.value,n=t.cooked;return this.finalize(e,new a.TemplateElement({raw:i,cooked:n},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),i=t.value,r=t.cooked;return this.finalize(e,new a.TemplateElement({raw:i,cooked:r},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],i=[],r=this.parseTemplateHead();for(i.push(r);!r.tail;)t.push(this.parseExpression()),r=this.parseTemplateElement(),i.push(r);return this.finalize(e,new a.TemplateLiteral(i,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case u.Syntax.Identifier:case u.Syntax.MemberExpression:case u.Syntax.RestElement:case u.Syntax.AssignmentPattern:break;case u.Syntax.SpreadElement:e.type=u.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case u.Syntax.ArrayExpression:e.type=u.Syntax.ArrayPattern;for(var t=0;t<e.elements.length;t++)null!==e.elements[t]&&this.reinterpretExpressionAsPattern(e.elements[t]);break;case u.Syntax.ObjectExpression:for(e.type=u.Syntax.ObjectPattern,t=0;t<e.properties.length;t++)this.reinterpretExpressionAsPattern(e.properties[t].value);break;case u.Syntax.AssignmentExpression:e.type=u.Syntax.AssignmentPattern,delete e.operator,this.reinterpretExpressionAsPattern(e.left)}},e.prototype.parseGroupExpression=function(){var e;if(this.expect("("),this.match(")"))this.nextToken(),this.match("=>")||this.expect("=>"),e={type:c,params:[],async:!1};else{var t=this.lookahead,i=[];if(this.match("..."))e=this.parseRestElement(i),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:c,params:[e],async:!1};else{var r=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var n=[];for(this.context.isAssignmentTarget=!1,n.push(e);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var s=0;s<n.length;s++)this.reinterpretExpressionAsPattern(n[s]);r=!0,e={type:c,params:n,async:!1}}else if(this.match("...")){for(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),n.push(this.parseRestElement(i)),this.expect(")"),this.match("=>")||this.expect("=>"),this.context.isBindingElement=!1,s=0;s<n.length;s++)this.reinterpretExpressionAsPattern(n[s]);r=!0,e={type:c,params:n,async:!1}}else n.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(r)break}r||(e=this.finalize(this.startNode(t),new a.SequenceExpression(n)))}if(!r){if(this.expect(")"),this.match("=>")&&(e.type===u.Syntax.Identifier&&"yield"===e.name&&(r=!0,e={type:c,params:[e],async:!1}),!r)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===u.Syntax.SequenceExpression)for(s=0;s<e.expressions.length;s++)this.reinterpretExpressionAsPattern(e.expressions[s]);else this.reinterpretExpressionAsPattern(e);var o=e.type===u.Syntax.SequenceExpression?e.expressions:[e];e={type:c,params:o,async:!1}}this.context.isBindingElement=!1}}}return e},e.prototype.parseArguments=function(){this.expect("(");var e=[];if(!this.match(")"))for(;;){var t=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAssignmentExpression);if(e.push(t),this.match(")"))break;if(this.expectCommaSeparator(),this.match(")"))break}return this.expect(")"),e},e.prototype.isIdentifierName=function(e){return 3===e.type||4===e.type||1===e.type||5===e.type},e.prototype.parseIdentifierName=function(){var e=this.createNode(),t=this.nextToken();return this.isIdentifierName(t)||this.throwUnexpectedToken(t),this.finalize(e,new a.Identifier(t.value))},e.prototype.parseNewExpression=function(){var e,t=this.createNode(),i=this.parseIdentifierName();if(r.assert("new"===i.name,"New expression must start with `new`"),this.match("."))if(this.nextToken(),3===this.lookahead.type&&this.context.inFunctionBody&&"target"===this.lookahead.value){var n=this.parseIdentifierName();e=new a.MetaProperty(i,n)}else this.throwUnexpectedToken(this.lookahead);else{var s=this.isolateCoverGrammar(this.parseLeftHandSideExpression),o=this.match("(")?this.parseArguments():[];e=new a.NewExpression(s,o),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return this.finalize(t,e)},e.prototype.parseAsyncArgument=function(){var e=this.parseAssignmentExpression();return this.context.firstCoverInitializedNameError=null,e},e.prototype.parseAsyncArguments=function(){this.expect("(");var e=[];if(!this.match(")"))for(;;){var t=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAsyncArgument);if(e.push(t),this.match(")"))break;if(this.expectCommaSeparator(),this.match(")"))break}return this.expect(")"),e},e.prototype.parseLeftHandSideExpressionAllowCall=function(){var e,t=this.lookahead,i=this.matchContextualKeyword("async"),r=this.context.allowIn;for(this.context.allowIn=!0,this.matchKeyword("super")&&this.context.inFunctionBody?(e=this.createNode(),this.nextToken(),e=this.finalize(e,new a.Super),this.match("(")||this.match(".")||this.match("[")||this.throwUnexpectedToken(this.lookahead)):e=this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(".")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(".");var n=this.parseIdentifierName();e=this.finalize(this.startNode(t),new a.StaticMemberExpression(e,n))}else if(this.match("(")){var s=i&&t.lineNumber===this.lookahead.lineNumber;this.context.isBindingElement=!1,this.context.isAssignmentTarget=!1;var o=s?this.parseAsyncArguments():this.parseArguments();if(e=this.finalize(this.startNode(t),new a.CallExpression(e,o)),s&&this.match("=>")){for(var u=0;u<o.length;++u)this.reinterpretExpressionAsPattern(o[u]);e={type:c,params:o,async:!0}}}else if(this.match("["))this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect("["),n=this.isolateCoverGrammar(this.parseExpression),this.expect("]"),e=this.finalize(this.startNode(t),new a.ComputedMemberExpression(e,n));else{if(10!==this.lookahead.type||!this.lookahead.head)break;var h=this.parseTemplateLiteral();e=this.finalize(this.startNode(t),new a.TaggedTemplateExpression(e,h))}return this.context.allowIn=r,e},e.prototype.parseSuper=function(){var e=this.createNode();return this.expectKeyword("super"),this.match("[")||this.match(".")||this.throwUnexpectedToken(this.lookahead),this.finalize(e,new a.Super)},e.prototype.parseLeftHandSideExpression=function(){r.assert(this.context.allowIn,"callee of new expression always allow in keyword.");for(var e=this.startNode(this.lookahead),t=this.matchKeyword("super")&&this.context.inFunctionBody?this.parseSuper():this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match("[")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect("[");var i=this.isolateCoverGrammar(this.parseExpression);this.expect("]"),t=this.finalize(e,new a.ComputedMemberExpression(t,i))}else if(this.match("."))this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect("."),i=this.parseIdentifierName(),t=this.finalize(e,new a.StaticMemberExpression(t,i));else{if(10!==this.lookahead.type||!this.lookahead.head)break;var n=this.parseTemplateLiteral();t=this.finalize(e,new a.TaggedTemplateExpression(t,n))}return t},e.prototype.parseUpdateExpression=function(){var e,t=this.lookahead;if(this.match("++")||this.match("--")){var i=this.startNode(t),r=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),this.context.strict&&e.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(s.Messages.StrictLHSPrefix),this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment);var n=!0;e=this.finalize(i,new a.UpdateExpression(r.value,e,n)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else if(e=this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall),!this.hasLineTerminator&&7===this.lookahead.type&&(this.match("++")||this.match("--"))){this.context.strict&&e.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(s.Messages.StrictLHSPostfix),this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var o=this.nextToken().value;n=!1,e=this.finalize(this.startNode(t),new a.UpdateExpression(o,e,n))}return e},e.prototype.parseAwaitExpression=function(){var e=this.createNode();this.nextToken();var t=this.parseUnaryExpression();return this.finalize(e,new a.AwaitExpression(t))},e.prototype.parseUnaryExpression=function(){var e;if(this.match("+")||this.match("-")||this.match("~")||this.match("!")||this.matchKeyword("delete")||this.matchKeyword("void")||this.matchKeyword("typeof")){var t=this.startNode(this.lookahead),i=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),e=this.finalize(t,new a.UnaryExpression(i.value,e)),this.context.strict&&"delete"===e.operator&&e.argument.type===u.Syntax.Identifier&&this.tolerateError(s.Messages.StrictDelete),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else e=this.context.await&&this.matchContextualKeyword("await")?this.parseAwaitExpression():this.parseUpdateExpression();return e},e.prototype.parseExponentiationExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseUnaryExpression);if(t.type!==u.Syntax.UnaryExpression&&this.match("**")){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var i=t,r=this.isolateCoverGrammar(this.parseExponentiationExpression);t=this.finalize(this.startNode(e),new a.BinaryExpression("**",i,r))}return t},e.prototype.binaryPrecedence=function(e){var t=e.value;return 7===e.type?this.operatorPrecedence[t]||0:4===e.type&&("instanceof"===t||this.context.allowIn&&"in"===t)?7:0},e.prototype.parseBinaryExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseExponentiationExpression),i=this.lookahead,r=this.binaryPrecedence(i);if(r>0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var n=[e,this.lookahead],s=t,o=this.isolateCoverGrammar(this.parseExponentiationExpression),u=[s,i.value,o],h=[r];!((r=this.binaryPrecedence(this.lookahead))<=0);){for(;u.length>2&&r<=h[h.length-1];){o=u.pop();var c=u.pop();h.pop(),s=u.pop(),n.pop();var l=this.startNode(n[n.length-1]);u.push(this.finalize(l,new a.BinaryExpression(c,s,o)))}u.push(this.nextToken().value),h.push(r),n.push(this.lookahead),u.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var p=u.length-1;t=u[p];for(var d=n.pop();p>1;){var m=n.pop(),f=d&&d.lineStart;l=this.startNode(m,f),c=u[p-1],t=this.finalize(l,new a.BinaryExpression(c,u[p-2],t)),p-=2,d=m}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var i=this.context.allowIn;this.context.allowIn=!0;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=i,this.expect(":");var n=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,r,n)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case u.Syntax.Identifier:this.validateParam(e,t,t.name);break;case u.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case u.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case u.Syntax.ArrayPattern:for(var i=0;i<t.elements.length;i++)null!==t.elements[i]&&this.checkPatternParam(e,t.elements[i]);break;case u.Syntax.ObjectPattern:for(i=0;i<t.properties.length;i++)this.checkPatternParam(e,t.properties[i].value)}e.simple=e.simple&&t instanceof a.Identifier},e.prototype.reinterpretAsCoverFormalsList=function(e){var t,i=[e],r=!1;switch(e.type){case u.Syntax.Identifier:break;case c:i=e.params,r=e.async;break;default:return null}t={simple:!0,paramSet:{}};for(var n=0;n<i.length;++n)(a=i[n]).type===u.Syntax.AssignmentPattern?a.right.type===u.Syntax.YieldExpression&&(a.right.argument&&this.throwUnexpectedToken(this.lookahead),a.right.type=u.Syntax.Identifier,a.right.name="yield",delete a.right.argument,delete a.right.delegate):r&&a.type===u.Syntax.Identifier&&"await"===a.name&&this.throwUnexpectedToken(this.lookahead),this.checkPatternParam(t,a),i[n]=a;if(this.context.strict||!this.context.allowYield)for(n=0;n<i.length;++n){var a;(a=i[n]).type===u.Syntax.YieldExpression&&this.throwUnexpectedToken(this.lookahead)}if(t.message===s.Messages.StrictParamDupe){var o=this.context.strict?t.stricted:t.firstRestricted;this.throwUnexpectedToken(o,t.message)}return{simple:t.simple,params:i,stricted:t.stricted,firstRestricted:t.firstRestricted,message:t.message}},e.prototype.parseAssignmentExpression=function(){var e;if(!this.context.allowYield&&this.matchKeyword("yield"))e=this.parseYieldExpression();else{var t=this.lookahead,i=t;if(e=this.parseConditionalExpression(),3===i.type&&i.lineNumber===this.lookahead.lineNumber&&"async"===i.value&&(3===this.lookahead.type||this.matchKeyword("yield"))){var r=this.parsePrimaryExpression();this.reinterpretExpressionAsPattern(r),e={type:c,params:[r],async:!0}}if(e.type===c||this.match("=>")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var n=e.async,o=this.reinterpretAsCoverFormalsList(e);if(o){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var h=this.context.strict,l=this.context.allowStrictDirective;this.context.allowStrictDirective=o.simple;var p=this.context.allowYield,d=this.context.await;this.context.allowYield=!0,this.context.await=n;var m=this.startNode(t);this.expect("=>");var f=void 0;if(this.match("{")){var x=this.context.allowIn;this.context.allowIn=!0,f=this.parseFunctionSourceElements(),this.context.allowIn=x}else f=this.isolateCoverGrammar(this.parseAssignmentExpression);var D=f.type!==u.Syntax.BlockStatement;this.context.strict&&o.firstRestricted&&this.throwUnexpectedToken(o.firstRestricted,o.message),this.context.strict&&o.stricted&&this.tolerateUnexpectedToken(o.stricted,o.message),e=n?this.finalize(m,new a.AsyncArrowFunctionExpression(o.params,f,D)):this.finalize(m,new a.ArrowFunctionExpression(o.params,f,D)),this.context.strict=h,this.context.allowStrictDirective=l,this.context.allowYield=p,this.context.await=d}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===u.Syntax.Identifier){var y=e;this.scanner.isRestrictedWord(y.name)&&this.tolerateUnexpectedToken(i,s.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(y.name)&&this.tolerateUnexpectedToken(i,s.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var E=(i=this.nextToken()).value,C=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(E,e,C)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var i=[];for(i.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),i.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(i))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var t=[];!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var i=this.createNode(),r=this.parsePattern([],e);this.context.strict&&r.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(s.Messages.StrictVarName);var n=null;return"const"===e?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),n=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(s.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&r.type!==u.Syntax.Identifier||this.match("="))&&(this.expect("="),n=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(i,new a.VariableDeclarator(r,n))},e.prototype.parseBindingList=function(e,t){for(var i=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),i.push(this.parseLexicalBinding(e,t));return i},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&"["===t.value||7===t.type&&"{"===t.value||4===t.type&&"let"===t.value||4===t.type&&"yield"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),i=this.nextToken().value;r.assert("let"===i||"const"===i,"Lexical declaration must be either let or const");var n=this.parseBindingList(i,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(n,i))},e.prototype.parseBindingRestElement=function(e,t){var i=this.createNode();this.expect("...");var r=this.parsePattern(e,t);return this.finalize(i,new a.RestElement(r))},e.prototype.parseArrayPattern=function(e,t){var i=this.createNode();this.expect("[");for(var r=[];!this.match("]");)if(this.match(","))this.nextToken(),r.push(null);else{if(this.match("...")){r.push(this.parseBindingRestElement(e,t));break}r.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(i,new a.ArrayPattern(r))},e.prototype.parsePropertyPattern=function(e,t){var i,r,n=this.createNode(),s=!1,o=!1;if(3===this.lookahead.type){var u=this.lookahead;i=this.parseVariableIdentifier();var h=this.finalize(n,new a.Identifier(u.value));if(this.match("=")){e.push(u),o=!0,this.nextToken();var c=this.parseAssignmentExpression();r=this.finalize(this.startNode(u),new a.AssignmentPattern(h,c))}else this.match(":")?(this.expect(":"),r=this.parsePatternWithDefault(e,t)):(e.push(u),o=!0,r=h)}else s=this.match("["),i=this.parseObjectPropertyKey(),this.expect(":"),r=this.parsePatternWithDefault(e,t);return this.finalize(n,new a.Property("init",i,s,r,!1,o))},e.prototype.parseObjectPattern=function(e,t){var i=this.createNode(),r=[];for(this.expect("{");!this.match("}");)r.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(i,new a.ObjectPattern(r))},e.prototype.parsePattern=function(e,t){var i;return this.match("[")?i=this.parseArrayPattern(e,t):this.match("{")?i=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,s.Messages.LetInLexicalBinding),e.push(this.lookahead),i=this.parseVariableIdentifier(t)),i},e.prototype.parsePatternWithDefault=function(e,t){var i=this.lookahead,r=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var n=this.context.allowYield;this.context.allowYield=!0;var s=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=n,r=this.finalize(this.startNode(i),new a.AssignmentPattern(r,s))}return r},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),i=this.nextToken();return 4===i.type&&"yield"===i.value?this.context.strict?this.tolerateUnexpectedToken(i,s.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(i):3!==i.type?this.context.strict&&4===i.type&&this.scanner.isStrictModeReservedWord(i.value)?this.tolerateUnexpectedToken(i,s.Messages.StrictReservedWord):(this.context.strict||"let"!==i.value||"var"!==e)&&this.throwUnexpectedToken(i):(this.context.isModule||this.context.await)&&3===i.type&&"await"===i.value&&this.tolerateUnexpectedToken(i),this.finalize(t,new a.Identifier(i.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),i=this.parsePattern([],"var");this.context.strict&&i.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(s.Messages.StrictVarName);var r=null;return this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):i.type===u.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new a.VariableDeclarator(i,r))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},i=[];for(i.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),i.push(this.parseVariableDeclaration(t));return i},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(s.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),i=null;this.expectKeyword("if"),this.expect("(");var r=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),i=this.parseIfClause())),this.finalize(t,new a.IfStatement(r,e,i))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var i=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var r=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(i,r))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var r=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=r}return this.finalize(t,new a.WhileStatement(i,e))},e.prototype.parseForStatement=function(){var e,t,i,r=null,n=null,o=null,h=!0,c=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){r=this.createNode(),this.nextToken();var l=this.context.allowIn;this.context.allowIn=!1;var p=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=l,1===p.length&&this.matchKeyword("in")){var d=p[0];d.init&&(d.id.type===u.Syntax.ArrayPattern||d.id.type===u.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(s.Messages.ForInOfLoopInitializer,"for-in"),r=this.finalize(r,new a.VariableDeclaration(p,"var")),this.nextToken(),e=r,t=this.parseExpression(),r=null}else 1===p.length&&null===p[0].init&&this.matchContextualKeyword("of")?(r=this.finalize(r,new a.VariableDeclaration(p,"var")),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,h=!1):(r=this.finalize(r,new a.VariableDeclaration(p,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){r=this.createNode();var m=this.nextToken().value;this.context.strict||"in"!==this.lookahead.value?(l=this.context.allowIn,this.context.allowIn=!1,p=this.parseBindingList(m,{inFor:!0}),this.context.allowIn=l,1===p.length&&null===p[0].init&&this.matchKeyword("in")?(r=this.finalize(r,new a.VariableDeclaration(p,m)),this.nextToken(),e=r,t=this.parseExpression(),r=null):1===p.length&&null===p[0].init&&this.matchContextualKeyword("of")?(r=this.finalize(r,new a.VariableDeclaration(p,m)),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,h=!1):(this.consumeSemicolon(),r=this.finalize(r,new a.VariableDeclaration(p,m)))):(r=this.finalize(r,new a.Identifier(m)),this.nextToken(),e=r,t=this.parseExpression(),r=null)}else{var f=this.lookahead;if(l=this.context.allowIn,this.context.allowIn=!1,r=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=l,this.matchKeyword("in"))this.context.isAssignmentTarget&&r.type!==u.Syntax.AssignmentExpression||this.tolerateError(s.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseExpression(),r=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&r.type!==u.Syntax.AssignmentExpression||this.tolerateError(s.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseAssignmentExpression(),r=null,h=!1;else{if(this.match(",")){for(var x=[r];this.match(",");)this.nextToken(),x.push(this.isolateCoverGrammar(this.parseAssignmentExpression));r=this.finalize(this.startNode(f),new a.SequenceExpression(x))}this.expect(";")}}if(void 0===e&&(this.match(";")||(n=this.parseExpression()),this.expect(";"),this.match(")")||(o=this.parseExpression())),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),i=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var D=this.context.inIteration;this.context.inIteration=!0,i=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=D}return void 0===e?this.finalize(c,new a.ForStatement(r,n,o,i)):h?this.finalize(c,new a.ForInStatement(e,t,i)):this.finalize(c,new a.ForOfStatement(e,t,i))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var i=this.parseVariableIdentifier();t=i;var r="$"+i.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(s.Messages.UnknownLabel,i.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(s.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var i=this.parseVariableIdentifier(),r="$"+i.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(s.Messages.UnknownLabel,i.name),t=i}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(s.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(s.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var t=(this.match(";")||this.match("}")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(s.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(i,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");for(var i=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)i.push(this.parseStatementListItem());return this.finalize(t,new a.SwitchCase(e,i))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var i=this.context.inSwitch;this.context.inSwitch=!0;var r=[],n=!1;for(this.expect("{");!this.match("}");){var o=this.parseSwitchCase();null===o.test&&(n&&this.throwError(s.Messages.MultipleDefaultsInSwitch),n=!0),r.push(o)}return this.expect("}"),this.context.inSwitch=i,this.finalize(e,new a.SwitchStatement(t,r))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),i=this.parseExpression();if(i.type===u.Syntax.Identifier&&this.match(":")){this.nextToken();var r=i,n="$"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,n)&&this.throwError(s.Messages.Redeclaration,"Label",r.name),this.context.labelSet[n]=!0;var o=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),o=this.parseClassDeclaration();else if(this.matchKeyword("function")){var h=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(h,s.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(h,s.Messages.GeneratorInLegacyContext),o=c}else o=this.parseStatement();delete this.context.labelSet[n],e=new a.LabeledStatement(r,o)}else this.consumeSemicolon(),e=new a.ExpressionStatement(i);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(s.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],i=this.parsePattern(t),r={},n=0;n<t.length;n++){var o="$"+t[n].value;Object.prototype.hasOwnProperty.call(r,o)&&this.tolerateError(s.Messages.DuplicateBinding,t[n].value),r[o]=!0}this.context.strict&&i.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(s.Messages.StrictCatchVariable),this.expect(")");var h=this.parseBlock();return this.finalize(e,new a.CatchClause(i,h))},e.prototype.parseFinallyClause=function(){return this.expectKeyword("finally"),this.parseBlock()},e.prototype.parseTryStatement=function(){var e=this.createNode();this.expectKeyword("try");var t=this.parseBlock(),i=this.matchKeyword("catch")?this.parseCatchClause():null,r=this.matchKeyword("finally")?this.parseFinallyClause():null;return i||r||this.throwError(s.Messages.NoCatchOrFinally),this.finalize(e,new a.TryStatement(t,i,r))},e.prototype.parseDebuggerStatement=function(){var e=this.createNode();return this.expectKeyword("debugger"),this.consumeSemicolon(),this.finalize(e,new a.DebuggerStatement)},e.prototype.parseStatement=function(){var e;switch(this.lookahead.type){case 1:case 5:case 6:case 8:case 10:case 9:e=this.parseExpressionStatement();break;case 7:var t=this.lookahead.value;e="{"===t?this.parseBlock():"("===t?this.parseExpressionStatement():";"===t?this.parseEmptyStatement():this.parseExpressionStatement();break;case 3:e=this.matchAsyncFunction()?this.parseFunctionDeclaration():this.parseLabelledStatement();break;case 4:switch(this.lookahead.value){case"break":e=this.parseBreakStatement();break;case"continue":e=this.parseContinueStatement();break;case"debugger":e=this.parseDebuggerStatement();break;case"do":e=this.parseDoWhileStatement();break;case"for":e=this.parseForStatement();break;case"function":e=this.parseFunctionDeclaration();break;case"if":e=this.parseIfStatement();break;case"return":e=this.parseReturnStatement();break;case"switch":e=this.parseSwitchStatement();break;case"throw":e=this.parseThrowStatement();break;case"try":e=this.parseTryStatement();break;case"var":e=this.parseVariableStatement();break;case"while":e=this.parseWhileStatement();break;case"with":e=this.parseWithStatement();break;default:e=this.parseExpressionStatement()}break;default:e=this.throwUnexpectedToken(this.lookahead)}return e},e.prototype.parseFunctionSourceElements=function(){var e=this.createNode();this.expect("{");var t=this.parseDirectivePrologues(),i=this.context.labelSet,r=this.context.inIteration,n=this.context.inSwitch,s=this.context.inFunctionBody;for(this.context.labelSet={},this.context.inIteration=!1,this.context.inSwitch=!1,this.context.inFunctionBody=!0;2!==this.lookahead.type&&!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.context.labelSet=i,this.context.inIteration=r,this.context.inSwitch=n,this.context.inFunctionBody=s,this.finalize(e,new a.BlockStatement(t))},e.prototype.validateParam=function(e,t,i){var r="$"+i;this.context.strict?(this.scanner.isRestrictedWord(i)&&(e.stricted=t,e.message=s.Messages.StrictParamName),Object.prototype.hasOwnProperty.call(e.paramSet,r)&&(e.stricted=t,e.message=s.Messages.StrictParamDupe)):e.firstRestricted||(this.scanner.isRestrictedWord(i)?(e.firstRestricted=t,e.message=s.Messages.StrictParamName):this.scanner.isStrictModeReservedWord(i)?(e.firstRestricted=t,e.message=s.Messages.StrictReservedWord):Object.prototype.hasOwnProperty.call(e.paramSet,r)&&(e.stricted=t,e.message=s.Messages.StrictParamDupe)),"function"==typeof Object.defineProperty?Object.defineProperty(e.paramSet,r,{value:!0,enumerable:!0,writable:!0,configurable:!0}):e.paramSet[r]=!0},e.prototype.parseRestElement=function(e){var t=this.createNode();this.expect("...");var i=this.parsePattern(e);return this.match("=")&&this.throwError(s.Messages.DefaultRestParameter),this.match(")")||this.throwError(s.Messages.ParameterAfterRestParameter),this.finalize(t,new a.RestElement(i))},e.prototype.parseFormalParameter=function(e){for(var t=[],i=this.match("...")?this.parseRestElement(t):this.parsePatternWithDefault(t),r=0;r<t.length;r++)this.validateParam(e,t[r],t[r].value);e.simple=e.simple&&i instanceof a.Identifier,e.params.push(i)},e.prototype.parseFormalParameters=function(e){var t;if(t={simple:!0,params:[],firstRestricted:e},this.expect("("),!this.match(")"))for(t.paramSet={};2!==this.lookahead.type&&(this.parseFormalParameter(t),!this.match(")"))&&(this.expect(","),!this.match(")")););return this.expect(")"),{simple:t.simple,params:t.params,stricted:t.stricted,firstRestricted:t.firstRestricted,message:t.message}},e.prototype.matchAsyncFunction=function(){var e=this.matchContextualKeyword("async");if(e){var t=this.scanner.saveState();this.scanner.scanComments();var i=this.scanner.lex();this.scanner.restoreState(t),e=t.lineNumber===i.lineNumber&&4===i.type&&"function"===i.value}return e},e.prototype.parseFunctionDeclaration=function(e){var t=this.createNode(),i=this.matchContextualKeyword("async");i&&this.nextToken(),this.expectKeyword("function");var r,n=!i&&this.match("*");n&&this.nextToken();var o=null,u=null;if(!e||!this.match("(")){var h=this.lookahead;o=this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(h.value)&&this.tolerateUnexpectedToken(h,s.Messages.StrictFunctionName):this.scanner.isRestrictedWord(h.value)?(u=h,r=s.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(h.value)&&(u=h,r=s.Messages.StrictReservedWord)}var c=this.context.await,l=this.context.allowYield;this.context.await=i,this.context.allowYield=!n;var p=this.parseFormalParameters(u),d=p.params,m=p.stricted;u=p.firstRestricted,p.message&&(r=p.message);var f=this.context.strict,x=this.context.allowStrictDirective;this.context.allowStrictDirective=p.simple;var D=this.parseFunctionSourceElements();return this.context.strict&&u&&this.throwUnexpectedToken(u,r),this.context.strict&&m&&this.tolerateUnexpectedToken(m,r),this.context.strict=f,this.context.allowStrictDirective=x,this.context.await=c,this.context.allowYield=l,i?this.finalize(t,new a.AsyncFunctionDeclaration(o,d,D)):this.finalize(t,new a.FunctionDeclaration(o,d,D,n))},e.prototype.parseFunctionExpression=function(){var e=this.createNode(),t=this.matchContextualKeyword("async");t&&this.nextToken(),this.expectKeyword("function");var i,r=!t&&this.match("*");r&&this.nextToken();var n,o=null,u=this.context.await,h=this.context.allowYield;if(this.context.await=t,this.context.allowYield=!r,!this.match("(")){var c=this.lookahead;o=this.context.strict||r||!this.matchKeyword("yield")?this.parseVariableIdentifier():this.parseIdentifierName(),this.context.strict?this.scanner.isRestrictedWord(c.value)&&this.tolerateUnexpectedToken(c,s.Messages.StrictFunctionName):this.scanner.isRestrictedWord(c.value)?(n=c,i=s.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(c.value)&&(n=c,i=s.Messages.StrictReservedWord)}var l=this.parseFormalParameters(n),p=l.params,d=l.stricted;n=l.firstRestricted,l.message&&(i=l.message);var m=this.context.strict,f=this.context.allowStrictDirective;this.context.allowStrictDirective=l.simple;var x=this.parseFunctionSourceElements();return this.context.strict&&n&&this.throwUnexpectedToken(n,i),this.context.strict&&d&&this.tolerateUnexpectedToken(d,i),this.context.strict=m,this.context.allowStrictDirective=f,this.context.await=u,this.context.allowYield=h,t?this.finalize(e,new a.AsyncFunctionExpression(o,p,x)):this.finalize(e,new a.FunctionExpression(o,p,x,r))},e.prototype.parseDirective=function(){var e=this.lookahead,t=this.createNode(),i=this.parseExpression(),r=i.type===u.Syntax.Literal?this.getTokenRaw(e).slice(1,-1):null;return this.consumeSemicolon(),this.finalize(t,r?new a.Directive(i,r):new a.ExpressionStatement(i))},e.prototype.parseDirectivePrologues=function(){for(var e=null,t=[];;){var i=this.lookahead;if(8!==i.type)break;var r=this.parseDirective();t.push(r);var n=r.directive;if("string"!=typeof n)break;"use strict"===n?(this.context.strict=!0,e&&this.tolerateUnexpectedToken(e,s.Messages.StrictOctalLiteral),this.context.allowStrictDirective||this.tolerateUnexpectedToken(i,s.Messages.IllegalLanguageModeDirective)):!e&&i.octal&&(e=i)}return t},e.prototype.qualifiedPropertyName=function(e){switch(e.type){case 3:case 8:case 1:case 5:case 6:case 4:return!0;case 7:return"["===e.value}return!1},e.prototype.parseGetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var i=this.parseFormalParameters();i.params.length>0&&this.tolerateError(s.Messages.BadGetterArity);var r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,i.params,r,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var i=this.parseFormalParameters();1!==i.params.length?this.tolerateError(s.Messages.BadSetterArity):i.params[0]instanceof a.RestElement&&this.tolerateError(s.Messages.BadSetterRestParameter);var r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,i.params,r,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var i=this.parseFormalParameters();this.context.allowYield=!1;var r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,i.params,r,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e="["===t||"("===t||"{"===t||"+"===t||"-"===t||"!"===t||"~"===t||"++"===t||"--"===t||"/"===t||"/="===t;break;case 4:e="class"===t||"delete"===t||"function"===t||"let"===t||"new"===t||"super"===t||"this"===t||"typeof"===t||"void"===t||"yield"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null,i=!1;if(!this.hasLineTerminator){var r=this.context.allowYield;this.context.allowYield=!1,(i=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=r}return this.finalize(e,new a.YieldExpression(t,i))},e.prototype.parseClassElement=function(e){var t=this.lookahead,i=this.createNode(),r="",n=null,o=null,u=!1,h=!1,c=!1,l=!1;if(this.match("*"))this.nextToken();else if(u=this.match("["),"static"===(n=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,c=!0,u=this.match("["),this.match("*")?this.nextToken():n=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&"async"===t.value){var p=this.lookahead.value;":"!==p&&"("!==p&&"*"!==p&&(l=!0,t=this.lookahead,n=this.parseObjectPropertyKey(),3===t.type&&"constructor"===t.value&&this.tolerateUnexpectedToken(t,s.Messages.ConstructorIsAsync))}var d=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&d?(r="get",u=this.match("["),n=this.parseObjectPropertyKey(),this.context.allowYield=!1,o=this.parseGetterMethod()):"set"===t.value&&d&&(r="set",u=this.match("["),n=this.parseObjectPropertyKey(),o=this.parseSetterMethod()):7===t.type&&"*"===t.value&&d&&(r="init",u=this.match("["),n=this.parseObjectPropertyKey(),o=this.parseGeneratorMethod(),h=!0),!r&&n&&this.match("(")&&(r="init",o=l?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),h=!0),r||this.throwUnexpectedToken(this.lookahead),"init"===r&&(r="method"),u||(c&&this.isPropertyKey(n,"prototype")&&this.throwUnexpectedToken(t,s.Messages.StaticPrototype),!c&&this.isPropertyKey(n,"constructor")&&(("method"!==r||!h||o&&o.generator)&&this.throwUnexpectedToken(t,s.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,s.Messages.DuplicateConstructor):e.value=!0,r="constructor")),this.finalize(i,new a.MethodDefinition(n,u,o,r,c))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),i=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var r=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),n=null;this.matchKeyword("extends")&&(this.nextToken(),n=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var s=this.parseClassBody();return this.context.strict=i,this.finalize(t,new a.ClassDeclaration(r,n,s))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var i=3===this.lookahead.type?this.parseVariableIdentifier():null,r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var n=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(i,r,n))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(s.Messages.InvalidModuleSpecifier);var t=this.nextToken(),i=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,i))},e.prototype.parseImportSpecifier=function(){var e,t,i=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword("as")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword("as")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(i,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(s.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var i=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?i=i.concat(this.parseNamedImports()):this.match("*")?i.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(i.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?i.push(this.parseImportNamespaceSpecifier()):this.match("{")?i=i.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var r=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new a.ImportDeclaration(i,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),i=t;return this.matchContextualKeyword("as")&&(this.nextToken(),i=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,i))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var i=this.parseFunctionDeclaration(!0);e=this.finalize(t,new a.ExportDefaultDeclaration(i))}else this.matchKeyword("class")?(i=this.parseClassDeclaration(!0),e=this.finalize(t,new a.ExportDefaultDeclaration(i))):this.matchContextualKeyword("async")?(i=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new a.ExportDefaultDeclaration(i))):(this.matchContextualKeyword("from")&&this.throwError(s.Messages.UnexpectedToken,this.lookahead.value),i=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new a.ExportDefaultDeclaration(i)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var r=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken();var n=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new a.ExportAllDeclaration(n))}else if(4===this.lookahead.type){switch(i=void 0,this.lookahead.value){case"let":case"const":i=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":i=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new a.ExportNamedDeclaration(i,[],null))}else if(this.matchAsyncFunction())i=this.parseFunctionDeclaration(),e=this.finalize(t,new a.ExportNamedDeclaration(i,[],null));else{var o=[],u=null,h=!1;for(this.expect("{");!this.match("}");)h=h||this.matchKeyword("default"),o.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");this.expect("}"),this.matchContextualKeyword("from")?(this.nextToken(),u=this.parseModuleSpecifier(),this.consumeSemicolon()):h?(r=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause,this.throwError(r,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new a.ExportNamedDeclaration(null,o,u))}return e},e}();t.Parser=l},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assert=function(e,t){if(!e)throw new Error("ASSERT: "+t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var i=new Error(e);try{throw i}catch(e){Object.create&&Object.defineProperty&&(i=Object.create(e),Object.defineProperty(i,"column",{value:t}))}return i},e.prototype.createError=function(e,t,i,r){var n="Line "+t+": "+r,s=this.constructError(n,i);return s.index=e,s.lineNumber=t,s.description=r,s},e.prototype.throwError=function(e,t,i,r){throw this.createError(e,t,i,r)},e.prototype.tolerateError=function(e,t,i,r){var n=this.createError(e,t,i,r);if(!this.tolerant)throw n;this.recordError(n)},e}();t.ErrorHandler=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(9),n=i(4),s=i(11);function a(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function o(e){return"01234567".indexOf(e)}var u=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=s.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=s.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,i,r=[];for(this.trackComment&&(r=[],t=this.index-e,i={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var s=this.source.charCodeAt(this.index);if(++this.index,n.Character.isLineTerminator(s)){if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart-1};var a={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:i};r.push(a)}return 13===s&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,r}}return this.trackComment&&(i.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:i},r.push(a)),r},e.prototype.skipMultiLineComment=function(){var e,t,i=[];for(this.trackComment&&(i=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var r=this.source.charCodeAt(this.index);if(n.Character.isLineTerminator(r))13===r&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===r){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var s={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};i.push(s)}return i}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},s={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},i.push(s)),this.tolerateUnexpectedToken(),i},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var i=this.source.charCodeAt(this.index);if(n.Character.isWhiteSpace(i))++this.index;else if(n.Character.isLineTerminator(i))++this.index,13===i&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===i)if(47===(i=this.source.charCodeAt(this.index+1))){this.index+=2;var r=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(r)),t=!0}else{if(42!==i)break;this.index+=2,r=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(r))}else if(t&&45===i){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,r=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(r))}else{if(60!==i||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,r=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(r))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return"eval"===e||"arguments"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var i=this.source.charCodeAt(e+1);i>=56320&&i<=57343&&(t=1024*(t-55296)+i-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,i=0,r=0;r<t;++r){if(this.eof()||!n.Character.isHexDigit(this.source.charCodeAt(this.index)))return null;i=16*i+a(this.source[this.index++])}return String.fromCharCode(i)},e.prototype.scanUnicodeCodePointEscape=function(){var e=this.source[this.index],t=0;for("}"===e&&this.throwUnexpectedToken();!this.eof()&&(e=this.source[this.index++],n.Character.isHexDigit(e.charCodeAt(0)));)t=16*t+a(e);return(t>1114111||"}"!==e)&&this.throwUnexpectedToken(),n.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!n.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),i=n.Character.fromCodePoint(t);for(this.index+=i.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&n.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),i=e);!this.eof()&&(t=this.codePointAt(this.index),n.Character.isIdentifierPart(t));)i+=e=n.Character.fromCodePoint(t),this.index+=e.length,92===t&&(i=i.substr(0,i.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&n.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),i+=e);return i},e.prototype.octalToDecimal=function(e){var t="0"!==e,i=o(e);return!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,i=8*i+o(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(i=8*i+o(this.source[this.index++]))),{code:i,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,i=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===i.length?3:this.isKeyword(i)?4:"null"===i?5:"true"===i||"false"===i?1:3)&&t+i.length!==this.index){var r=this.index;this.index=t,this.tolerateUnexpectedToken(s.Messages.InvalidEscapedReservedWord),this.index=r}return{type:e,value:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:">>>="===(t=this.source.substr(this.index,4))?this.index+=4:"==="===(t=t.substr(0,3))||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:"&&"===(t=t.substr(0,2))||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t="";!this.eof()&&n.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),n.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,i="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)i+=this.source[this.index++];return 0===i.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(n.Character.isIdentifierStart(t)||n.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(i,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var i="",r=!1;for(n.Character.isOctalDigit(e.charCodeAt(0))?(r=!0,i="0"+this.source[this.index++]):++this.index;!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index));)i+=this.source[this.index++];return r||0!==i.length||this.throwUnexpectedToken(),(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))||n.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(i,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e<this.length;++e){var t=this.source[e];if("8"===t||"9"===t)return!1;if(!n.Character.isOctalDigit(t.charCodeAt(0)))return!0}return!0},e.prototype.scanNumericLiteral=function(){var e=this.index,t=this.source[e];r.assert(n.Character.isDecimalDigit(t.charCodeAt(0))||"."===t,"Numeric literal must start with a decimal digit or a decimal point");var i="";if("."!==t){if(i=this.source[this.index++],t=this.source[this.index],"0"===i){if("x"===t||"X"===t)return++this.index,this.scanHexLiteral(e);if("b"===t||"B"===t)return++this.index,this.scanBinaryLiteral(e);if("o"===t||"O"===t)return this.scanOctalLiteral(t,e);if(t&&n.Character.isOctalDigit(t.charCodeAt(0))&&this.isImplicitOctalLiteral())return this.scanOctalLiteral(t,e)}for(;n.Character.isDecimalDigit(this.source.charCodeAt(this.index));)i+=this.source[this.index++];t=this.source[this.index]}if("."===t){for(i+=this.source[this.index++];n.Character.isDecimalDigit(this.source.charCodeAt(this.index));)i+=this.source[this.index++];t=this.source[this.index]}if("e"===t||"E"===t)if(i+=this.source[this.index++],"+"!==(t=this.source[this.index])&&"-"!==t||(i+=this.source[this.index++]),n.Character.isDecimalDigit(this.source.charCodeAt(this.index)))for(;n.Character.isDecimalDigit(this.source.charCodeAt(this.index));)i+=this.source[this.index++];else this.throwUnexpectedToken();return n.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseFloat(i),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanStringLiteral=function(){var e=this.index,t=this.source[e];r.assert("'"===t||'"'===t,"String literal must starts with a quote"),++this.index;for(var i=!1,a="";!this.eof();){var o=this.source[this.index++];if(o===t){t="";break}if("\\"===o)if((o=this.source[this.index++])&&n.Character.isLineTerminator(o.charCodeAt(0)))++this.lineNumber,"\r"===o&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(o){case"u":if("{"===this.source[this.index])++this.index,a+=this.scanUnicodeCodePointEscape();else{var u=this.scanHexEscape(o);null===u&&this.throwUnexpectedToken(),a+=u}break;case"x":var h=this.scanHexEscape(o);null===h&&this.throwUnexpectedToken(s.Messages.InvalidHexEscapeSequence),a+=h;break;case"n":a+="\n";break;case"r":a+="\r";break;case"t":a+="\t";break;case"b":a+="\b";break;case"f":a+="\f";break;case"v":a+="\v";break;case"8":case"9":a+=o,this.tolerateUnexpectedToken();break;default:if(o&&n.Character.isOctalDigit(o.charCodeAt(0))){var c=this.octalToDecimal(o);i=c.octal||i,a+=String.fromCharCode(c.code)}else a+=o}else{if(n.Character.isLineTerminator(o.charCodeAt(0)))break;a+=o}}return""!==t&&(this.index=e,this.throwUnexpectedToken()),{type:8,value:a,octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanTemplate=function(){var e="",t=!1,i=this.index,r="`"===this.source[i],a=!1,o=2;for(++this.index;!this.eof();){var u=this.source[this.index++];if("`"===u){o=1,a=!0,t=!0;break}if("$"===u){if("{"===this.source[this.index]){this.curlyStack.push("${"),++this.index,t=!0;break}e+=u}else if("\\"===u)if(u=this.source[this.index++],n.Character.isLineTerminator(u.charCodeAt(0)))++this.lineNumber,"\r"===u&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(u){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+="\t";break;case"u":if("{"===this.source[this.index])++this.index,e+=this.scanUnicodeCodePointEscape();else{var h=this.index,c=this.scanHexEscape(u);null!==c?e+=c:(this.index=h,e+=u)}break;case"x":var l=this.scanHexEscape(u);null===l&&this.throwUnexpectedToken(s.Messages.InvalidHexEscapeSequence),e+=l;break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:"0"===u?(n.Character.isDecimalDigit(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(s.Messages.TemplateOctalLiteral),e+="\0"):n.Character.isOctalDigit(u.charCodeAt(0))?this.throwUnexpectedToken(s.Messages.TemplateOctalLiteral):e+=u}else n.Character.isLineTerminator(u.charCodeAt(0))?(++this.lineNumber,"\r"===u&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index,e+="\n"):e+=u}return t||this.throwUnexpectedToken(),r||this.curlyStack.pop(),{type:10,value:this.source.slice(i+1,this.index-o),cooked:e,head:r,tail:a,lineNumber:this.lineNumber,lineStart:this.lineStart,start:i,end:this.index}},e.prototype.testRegExp=function(e,t){var i=e,r=this;t.indexOf("u")>=0&&(i=i.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,i){var n=parseInt(t||i,16);return n>1114111&&r.throwUnexpectedToken(s.Messages.InvalidRegExp),n<=65535?String.fromCharCode(n):"￿"})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"￿"));try{RegExp(i)}catch(e){this.throwUnexpectedToken(s.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];r.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],i=!1,a=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],n.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),t+=e;else if(n.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(s.Messages.UnterminatedRegExp);else if(i)"]"===e&&(i=!1);else{if("/"===e){a=!0;break}"["===e&&(i=!0)}return a||this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e="";!this.eof();){var t=this.source[this.index];if(!n.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,"\\"!==t||this.eof())e+=t;else if("u"===(t=this.source[this.index])){++this.index;var i=this.index,r=this.scanHexEscape("u");if(null!==r)for(e+=r;i<this.index;++i)this.source[i];else this.index=i,e+="u";this.tolerateUnexpectedToken()}else this.tolerateUnexpectedToken()}return e},e.prototype.scanRegExp=function(){var e=this.index,t=this.scanRegExpBody(),i=this.scanRegExpFlags();return{type:9,value:"",pattern:t,flags:i,regex:this.testRegExp(t,i),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.lex=function(){if(this.eof())return{type:2,value:"",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};var e=this.source.charCodeAt(this.index);return n.Character.isIdentifierStart(e)?this.scanIdentifier():40===e||41===e||59===e?this.scanPunctuator():39===e||34===e?this.scanStringLiteral():46===e?n.Character.isDecimalDigit(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator():n.Character.isDecimalDigit(e)?this.scanNumericLiteral():96===e||125===e&&"${"===this.curlyStack[this.curlyStack.length-1]?this.scanTemplate():e>=55296&&e<57343&&n.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=u},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="<end>",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(10),n=i(12),s=i(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":var i=this.values[this.paren-1];t="if"===i||"while"===i||"for"===i||"with"===i;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(r=this.values[this.curly-4])&&!this.beforeFunctionExpression(r);else if("function"===this.values[this.curly-4]){var r;t=!(r=this.values[this.curly-5])||!this.beforeFunctionExpression(r)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),o=function(){function e(e,t){this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=!!t&&"boolean"==typeof t.tolerant&&t.tolerant,this.scanner=new n.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&"boolean"==typeof t.comment&&t.comment,this.trackRange=!!t&&"boolean"==typeof t.range&&t.range,this.trackLoc=!!t&&"boolean"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t<e.length;++t){var i=e[t],r=this.scanner.source.slice(i.slice[0],i.slice[1]),n={type:i.multiLine?"BlockComment":"LineComment",value:r};this.trackRange&&(n.range=i.range),this.trackLoc&&(n.loc=i.loc),this.buffer.push(n)}if(!this.scanner.eof()){var a=void 0;this.trackLoc&&(a={start:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},end:{}});var o="/"===this.scanner.source[this.scanner.index]&&this.reader.isRegexStart()?this.scanner.scanRegExp():this.scanner.lex();this.reader.push(o);var u={type:s.TokenName[o.type],value:this.scanner.source.slice(o.start,o.end)};if(this.trackRange&&(u.range=[o.start,o.end]),this.trackLoc&&(a.end={line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},u.loc=a),9===o.type){var h=o.pattern,c=o.flags;u.regex={pattern:h,flags:c}}this.buffer.push(u)}}return this.buffer.shift()},e}();t.Tokenizer=o}])},e.exports=t()},564:function(e,t,i){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Compiler=void 0;const a=s(i(3594)),o=i(1072),u=i(7476),h=i(4843),c=i(9002),l=i(8593),p=i(4234),d=i(1195);t.Compiler=class{constructor(e){this.handlers=a,this.usingStack=!!e,this.stackName=e}compile(e){const t=this.parse(e),i=new h.Scope({});i.hardSet("ControlKind",new p.NamespaceMacro(i)),i.hardSet("Vars",new p.VarsNamespace(i)),i.hardSet("Items",new p.NamespaceMacro(i,{changeCasing:!0})),i.hardSet("Liquids",new p.NamespaceMacro(i)),i.hardSet("Units",new p.NamespaceMacro(i)),i.hardSet("LAccess",new p.NamespaceMacro(i)),i.hardSet("UnitCommands",new p.UCommandsNamespace(i)),i.hardSet("Blocks",new p.NamespaceMacro(i,{changeCasing:!0})),i.hardSet("getBuilding",new c.BuildingBuilder(i)),i.hardSet("getVar",new d.RawValueMacro(i)),i.hardSet("concat",new c.Concat(i)),i.hardSet("Math",new c.MlogMath(i)),i.hardSet("Memory",new c.MemoryBuilder(i)),i.hardSet("draw",new c.commands.Draw(i)),i.hardSet("print",new c.commands.Print(i)),i.hardSet("printFlush",new c.commands.PrintFlush(i)),i.hardSet("drawFlush",new c.commands.DrawFlush(i)),i.hardSet("getLink",new c.commands.GetLink(i)),i.hardSet("control",new c.commands.Control(i)),i.hardSet("radar",new c.commands.Radar(i)),i.hardSet("sensor",new c.commands.Sensor(i)),i.hardSet("wait",new c.commands.Wait(i)),i.hardSet("lookup",new c.commands.Lookup(i)),i.hardSet("unitBind",new c.commands.UnitBind(i)),i.hardSet("unitControl",new c.commands.UnitControl(i)),i.hardSet("unitRadar",new c.commands.UnitRadar(i)),i.hardSet("unitLocate",new c.commands.UnitLocate(i));const r=this.handle(i,t);return r[1].push(new u.EndInstruction,...i.inst),this.resolve(r),this.serialize(r)+"\n"}resolve(e){let t=0;for(const i of e[1])i.resolve(t),i.hidden||t++}serialize(e){const[t,i]=e;return i.filter((e=>!e.hidden)).join("\n")}parse(e){return(0,o.parseScript)(e,{loc:!0})}handle(e,t){try{const i=this.handlers[t.type];if(!i)throw Error("Missing handler for "+t.type);return i(this,e,t,null)}catch(e){throw new Error(`${t.type} ${(0,l.nodeName)(t)} > ${e.message}`)}}handleEval(e,t){const[i,r]=this.handle(e,t),[n,s]=i.eval(e);return[n,[...r,...s]]}handleMany(e,t,i=this.handle.bind(this)){const r=[];for(const n of t){const[t,s]=i(e,n);r.push(...s)}return[null,r]}}},4843:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Scope=void 0;const r=i(6913);class n{constructor(e,t=null,i=!1,r=0,n="",s=[]){this.stacked=!1,this.ntemp=0,this.data=e,this.parent=t,this.stacked=i,this.ntemp=r,this.name=n,this.inst=s}copy(){const e=new n(Object.assign({},this.data),this.parent,this.stacked,this.ntemp,this.name,this.inst);return e.break=this.break,e.continue=this.continue,e.function=this.function,e}createScope(){const e=this.copy();return e.data={},e.parent=this,e}createFunction(e,t){return new n({},this,null!=t?t:this.stacked,0,e,this.inst)}has(e){return e in this.data||!!this.parent&&this.parent.has(e)}get(e){const t=this.data[e];if(t)return t;if(this.parent)return this.parent.get(e);throw Error(`${e} is not declared.`)}set(e,t){if(e in this.data)throw Error(`${e} is already declared.`);return this.hardSet(e,t)}hardSet(e,t){return this.data[e]=t,t}make(e,t){return this.set(e,this.stacked?null:new r.StoreValue(this,t))}}t.Scope=n},1845:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatement=void 0,t.BlockStatement=(e,t,i)=>{const[r,n]=e.handleMany(t.createScope(),i.body);return[r,n]}},4772:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NewExpression=t.CallExpression=void 0,t.CallExpression=(e,t,i)=>{const r=[],n=i.arguments.map((i=>{const[n,s]=e.handleEval(t,i);return r.push(...s),n})),[s,a]=e.handleEval(t,i.callee);r.push(...a);const[o,u]=s.call(t,n);return r.push(...u),[o,r]},t.NewExpression=t.CallExpression},8246:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForStatement=void 0;const r=i(7476),n=i(6913);t.ForStatement=(e,t,i)=>{t=t.createScope();const s=i.init?e.handle(t,i.init)[1]:[],[a,o]=i.test?e.handleEval(t,i.test):[new n.LiteralValue(t,1),[]],u=i.update?e.handle(t,i.update)[1]:[],h=new n.LiteralValue(t,null),c=new n.LiteralValue(t,null),l=new r.AddressResolver(h).bindContinue(t),p=new r.AddressResolver(c).bindBreak(t);return[null,[...s,l,...o,new r.JumpInstruction(c,r.EJumpKind.Equal,a,new n.LiteralValue(t,0)),...e.handle(t,i.body)[1],...u,new r.JumpInstruction(h,r.EJumpKind.Always),p]]}},9708:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionExpression=t.FunctionDeclaration=t.ArrowFunctionExpression=void 0;const r=i(8593),n=i(4609);t.ArrowFunctionExpression=(e,t,i)=>{const s=(0,r.nodeName)(i);t=t.createFunction(s);let{params:a,body:o}=i;i.expression&&(o={type:"BlockStatement",body:[{type:"ReturnStatement",argument:o}]});const u=[],h=[];for(const e of a)u.push(e.name),h.push(t.make(e.name,(0,r.nodeName)(e)));return[new n.FunctionValue(t,s,u,h,o,e),[]]},t.FunctionDeclaration=(e,i,r)=>[i.set(r.id.name,(0,t.ArrowFunctionExpression)(e,i,r,null)[0]),[]],t.FunctionExpression=t.ArrowFunctionExpression},2594:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Identifier=void 0,t.Identifier=(e,t,i)=>[t.get(i.name),[]]},9525:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IfStatement=void 0;const r=i(7476),n=i(7476),s=i(6913);t.IfStatement=(e,t,i)=>{const a=[],[o,u]=e.handleEval(t,i.test);if(o instanceof s.LiteralValue)return o.data?a.push(...e.handle(t,i.consequent)[1]):i.alternate&&a.push(...e.handle(t,i.alternate)[1]),[null,a];const h=new s.LiteralValue(t,null);a.push(...u,new r.JumpInstruction(h,n.EJumpKind.Equal,o,new s.LiteralValue(t,0)),...e.handle(t,i.consequent)[1],new r.AddressResolver(h));const c=new s.LiteralValue(t,null);return i.alternate&&a.push(new r.JumpInstruction(c,n.EJumpKind.Always),new r.AddressResolver(h),...e.handle(t,i.alternate)[1],new r.AddressResolver(c)),[null,a]}},458:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;const r=i(6913);t.Literal=(e,t,i)=>{const{value:n}=i;if(null===n||"string"==typeof n||"number"==typeof n)return[new r.LiteralValue(t,n),[]];if("boolean"==typeof n)return[new r.LiteralValue(t,+n),[]];throw Error("Cannot create literal "+typeof n)}},4980:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MemberExpression=t.ArrayExpression=t.ObjectExpression=void 0;const r=i(6913);t.ObjectExpression=(e,t,i)=>{const n={},s=[];for(const r of i.properties){if(r.computed)throw new Error("Cannot handle computed property.");const{key:i,value:a}=r;let o;"Identifier"===i.type?o=i.name:"Literal"===i.type&&(o=""+i.value);const[u,h]=e.handleEval(t,a);n[o]=u,s.push(...h)}return[new r.ObjectValue(t,n),s]},t.ArrayExpression=(e,t,i)=>{const n={},s=[];return i.elements.forEach(((i,r)=>{const[a,o]=e.handleEval(t,i);n[r]=a,s.push(...o)})),[new r.ObjectValue(t,n),s]},t.MemberExpression=(e,t,i)=>{const[n,s]=e.handleEval(t,i.object),[a,o]=i.computed?e.handleEval(t,i.property):[new r.LiteralValue(t,i.property.name),[]],[u,h]=n.get(t,a);return[u,[...s,...o,...h]]}},4860:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UpdateExpression=t.UnaryExpression=t.AssignmentExpression=t.LogicalExpression=t.BinaryExpression=t.LRExpression=void 0,t.LRExpression=(e,t,i)=>{const[r,n]=e.handleEval(t,i.left),[s,a]=e.handleEval(t,i.right),[o,u]=r[i.operator](t,s);return[o,[...n,...a,...u]]},t.BinaryExpression=t.LRExpression,t.LogicalExpression=t.LRExpression,t.AssignmentExpression=(e,t,i)=>{const[r,n]=e.handle(t,i.left),[s,a]=e.handleEval(t,i.right),[o,u]=r[i.operator](t,s);return[o,[...n,...a,...u]]},t.UnaryExpression=(e,t,{argument:i,operator:r})=>{const[n,s]=e.handleEval(t,i),a="+"==r||"-"==r?"u"+r:r,[o,u]=n[a](t);return[o,[...s,...u]]},t.UpdateExpression=(e,t,{argument:i,operator:r,prefix:n})=>{const[s,a]=e.handle(t,i),[o,u]=s[r](t,n);return[o,[...a,...u]]}},281:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Program=void 0;const r=i(4843);t.Program=(e,t,i)=>e.handleMany(null!=t?t:new r.Scope({}),i.body)},5247:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReturnStatement=t.ContinueStatement=t.BreakStatement=t.ExpressionStatement=void 0;const r=i(7476),n=i(6913);t.ExpressionStatement=(e,t,i)=>e.handle(t,i.expression),t.BreakStatement=(e,t)=>{const i=new n.LiteralValue(t,null);return t.break.bind(i),[null,[new r.BreakInstruction(i)]]},t.ContinueStatement=(e,t)=>{const i=new n.LiteralValue(t,null);return t.continue.bind(i),[null,[new r.ContinueInstruction(i)]]},t.ReturnStatement=(e,t,i)=>{const[r,n]=i.argument?e.handle(t,i.argument):[null,[]],[s,a]=t.function.return(t,r);return[s,[...n,...a]]}},880:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TemplateLiteral=void 0;const r=i(7476);t.TemplateLiteral=(e,t,i)=>{const n=[],s=[];return i.expressions.forEach(((r,a)=>{const[o,u]=e.handleEval(t,r);s.push(...u),n.push(i.quasis[a].value.raw,o)})),n.push(i.quasis.slice(-1)[0].value.raw),s.push(new r.ZeroSpaceInstruction(...n)),[null,s]}},1542:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarator=t.VariableDeclaration=void 0;const r=i(8593);t.VariableDeclaration=(e,i,r)=>e.handleMany(i,r.declarations,((i,n)=>(0,t.VariableDeclarator)(e,i,n,r.kind))),t.VariableDeclarator=(e,t,i,n="let")=>{let s=i.init?e.handleEval(t,i.init):[null,[]];switch(i.id.type){case"Identifier":{const{name:e}=i.id,[a]=s;if("const"===n&&!a)throw Error("Cannot create constant with void value.");if("const"===n&&a.constant)return t.set(e,a),s;{const o=t.make(e,(0,r.nodeName)(i));if(a){if(a.macro)throw new Error("Macro value must be constant.");s[1].push(...o["="](t,s[0])[1])}return"const"===n&&(o.constant=!0),s}}case"ArrayPattern":{const{elements:e}=i.id,[r]=s;if(!r)throw new Error("Cannot use array destructuring with constant with void value.");if(!r.macro)throw new Error("Cannot use array destructuring on non macro values");for(let i=0;i<e.length;i++){const n=e[i];if(!n)continue;const s=r.data[i];t.set(n.name,s)}return s}default:throw new Error("")}}},8561:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WhileStatement=void 0;const r=i(7476),n=i(6913);t.WhileStatement=(e,t,i)=>{const s=[],[a,o]=e.handleEval(t,i.test),u=new n.LiteralValue(t,null),h=new n.LiteralValue(t,null),c=new r.AddressResolver(u).bindContinue(t),l=new r.AddressResolver(h).bindBreak(t);return a instanceof n.LiteralValue?(a.data&&s.push(c,...e.handle(t,i.body)[1],new r.JumpInstruction(u,r.EJumpKind.Always),l),[null,s]):(s.push(c,...o,new r.JumpInstruction(h,r.EJumpKind.Equal,a,new n.LiteralValue(t,0)),...e.handle(t,i.body)[1],new r.JumpInstruction(u,r.EJumpKind.Always),l),[null,s])}},3594:function(e,t,i){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(281),t),n(i(1542),t),n(i(458),t),n(i(4860),t),n(i(2594),t),n(i(5247),t),n(i(9525),t),n(i(8561),t),n(i(8246),t),n(i(9708),t),n(i(4772),t),n(i(4980),t),n(i(880),t),n(i(1845),t)},3613:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddressResolver=void 0;const r=i(7476);class n extends r.InstructionBase{constructor(...e){super(),this.bonds=e}get hidden(){return!0}set hidden(e){}resolve(e){for(const t of this.bonds)t.data=e}bind(e){this.bonds.push(e)}bindBreak(e){return e.break=this,this}bindContinue(e){return e.continue=this,this}}t.AddressResolver=n},8978:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReturnInstruction=t.ContinueInstruction=t.BreakInstruction=void 0;const r=i(190);class n extends r.JumpInstruction{constructor(e){super(e,r.EJumpKind.Always)}}t.BreakInstruction=n;class s extends r.JumpInstruction{constructor(e){super(e,r.EJumpKind.Always)}}t.ContinueInstruction=s;class a extends r.JumpInstruction{constructor(e){super(e,r.EJumpKind.Always)}}t.ReturnInstruction=a},6549:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EndInstruction=void 0;const r=i(2929);class n extends r.InstructionBase{constructor(){super("end")}}t.EndInstruction=n},2929:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InstructionBase=void 0,t.InstructionBase=class{constructor(...e){this._hidden=!1,this.args=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}resolve(e){}toString(){return this.args.filter((e=>e)).join(" ")}}},190:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JumpInstruction=t.EJumpKind=void 0;const r=i(2929);var n;(n=t.EJumpKind||(t.EJumpKind={})).Equal="equal",n.NotEqual="notEqual",n.LessThan="lessThan",n.LessThanEq="lessThanEq",n.GreaterThan="greaterThan",n.GreaterThanEq="greaterThanEq",n.StrictEqual="strictEqual",n.Always="always";class s extends r.InstructionBase{constructor(e,t,i,r){super("jump",e,t,i,r)}}t.JumpInstruction=s},4824:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OperationInstruction=void 0;const r=i(7476);class n extends r.InstructionBase{constructor(e,t,i,r){super("op",e,t,i,r)}}t.OperationInstruction=n},1295:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetCounterInstruction=void 0;const r=i(7476);class n extends r.InstructionBase{constructor(e){super("set","@counter",e)}}t.SetCounterInstruction=n},7645:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetInstruction=void 0;const r=i(7476);class n extends r.InstructionBase{constructor(e,t){super("set",e,t)}}t.SetInstruction=n},8130:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZeroSpaceInstruction=void 0;const r=i(2929);class n extends r.InstructionBase{toString(){return this.args.join("")}}t.ZeroSpaceInstruction=n},7476:function(e,t,i){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(2929),t),n(i(4824),t),n(i(7645),t),n(i(6549),t),n(i(3613),t),n(i(190),t),n(i(1295),t),n(i(8130),t),n(i(8978),t)},4627:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuildingBuilder=t.Building=t.itemNames=void 0;const r=i(8593),n=i(7476),s=i(6913),a=i(8074),o=i(9702);t.itemNames=["copper","lead","metaglass","graphite","sand","coal","titanium","thorium","scrap","silicon","plastanium","phaseFabric","surgeAlloy","sporePod","blastCompound","pyratite"];class u extends s.ObjectValue{constructor(e,i){super(e,{$get:new a.MacroFunction(e,(i=>{if(i instanceof s.LiteralValue&&"string"==typeof i.data){const a=t.itemNames.includes(i.data)?(0,r.camelToDashCase)(i.data):i.data,o=new s.TempValue(e);return[o,[new n.InstructionBase("sensor",o,this,`@${a}`)]]}if(i instanceof s.StoreValue){const t=new s.TempValue(e);return[t,[new n.InstructionBase("sensor",t,this,i)]]}throw new Error("Building property acessors must be string literals or stores")}))}),this.name=i}toString(){return this.name}}t.Building=u;class h extends s.ObjectValue{constructor(e){super(e,{$call:new a.MacroFunction(e,(t=>{if(!(t instanceof s.LiteralValue))throw new Error("Block name must be a literal.");if("string"!=typeof t.data)throw new Error("Block name must be a string.");return[new u(e,t.data),[]]}))})}}t.BuildingBuilder=h;for(const e in o.operatorMap){const t=o.operatorMap[e];u.prototype[e]=function(e,i){const r=new s.StoreValue(e,this.name),[a,o]=i.eval(e),u=new s.TempValue(e);return[u,[...o,new n.OperationInstruction(t,u,r,a)]]}}},8074:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MacroFunction=void 0;const r=i(6913);class n extends r.VoidValue{constructor(e,t){super(e),this.macro=!0,this.constant=!0,this.fn=t}call(e,t){return this.fn.apply(this,t)}eval(e){return[this,[]]}}t.MacroFunction=n},7305:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MlogMath=void 0;const r=i(7476),n=i(6913),s=i(8074),a={max:(e,t)=>Math.max(e,t),min:(e,t)=>Math.min(e,t),angle:(e,t)=>Math.atan2(e,t),len:(e,t)=>Math.sqrt(Math.pow(e,2)+Math.pow(t,2)),noise:null,abs:e=>Math.abs(e),log:e=>Math.log(e),log10:e=>Math.log(e)/Math.log(10),sin:e=>Math.sin(e),cos:e=>Math.cos(e),tan:e=>Math.tan(e),floor:e=>Math.floor(e),ceil:e=>Math.ceil(e),sqrt:e=>Math.ceil(e),rand:null};class o extends n.ObjectValue{constructor(e){super(e,function(e){const t={};for(const i in a){const o=a[i];t[i]=new s.MacroFunction(e,((t,s)=>{if(s){if(o&&t instanceof n.LiteralValue&&s instanceof n.LiteralValue){if("number"!=typeof t.data||"number"!=typeof s.data)throw new Error("Cannot do math operation with non-numerical literals.");return[new n.LiteralValue(e,o(t.num,s.num)),[]]}const a=new n.TempValue(e);return[a,[new r.OperationInstruction(i,a,t,s)]]}if(o&&t instanceof n.LiteralValue){if("number"!=typeof t.data)throw new Error("Cannot do math operation with non-numerical literal.");return[new n.LiteralValue(e,o(t.num)),[]]}const a=new n.TempValue(e);return[a,[new r.OperationInstruction(i,a,t,s)]]}))}return t}(e))}}t.MlogMath=o},8180:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryBuilder=void 0;const r=i(9702),n=i(7476),s=i(6913),a=i(8074);class o extends s.ObjectValue{constructor(e,t,i){super(e,{$eval:new a.MacroFunction(e,(()=>{const r=new s.TempValue(e);return[r,[new n.InstructionBase("read",r,t.cell,i)]]})),"$=":new a.MacroFunction(e,(e=>[null,[new n.InstructionBase("write",i,t.cell,e)]]))})}}for(const e of r.operators)"="!==e&&(o.prototype[e]=function(...t){return s.BaseValue.prototype[e].apply(this,t)});class u extends s.ObjectValue{constructor(e,t,i){super(e,{$get:new a.MacroFunction(e,(t=>t instanceof s.LiteralValue&&"number"!=typeof t.data?[new s.VoidValue(e),[]]:[new o(e,this,t),[]])),length:i,size:i}),this.cell=t,this.name=t.toString()}toString(){return this.name}}class h extends s.ObjectValue{constructor(e){super(e,{$call:new a.MacroFunction(e,((t,i=new s.LiteralValue(e,64))=>{if(!(t instanceof s.ObjectValue))throw new Error("Memory cell must be a building object.");if(!(i instanceof s.LiteralValue&&"number"==typeof i.data))throw new Error("The memory size must be a number literal.");return[new u(e,t,i),[]]}))})}}t.MemoryBuilder=h},4234:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Unit=t.UCommandsNamespace=t.VarsNamespace=t.NamespaceMacro=void 0;const r=i(8593),n=i(9002),s=i(6913),a=i(4627),o=i(7476),u=i(9702);class h extends s.ObjectValue{constructor(e,{changeCasing:t=!1}={}){super(e,{$get:new n.MacroFunction(e,(t=>{if(!(t instanceof s.LiteralValue)||"string"!=typeof t.data)throw new Error("Cannot use dynamic properties on object macros");const i=this.changeCasing?(0,r.camelToDashCase)(t.data):t.data;return[new s.StoreValue(e,`@${i}`),[]]}))}),this.changeCasing=t}}t.NamespaceMacro=h,t.VarsNamespace=class extends h{constructor(e){super(e);const t=this.data.$get;this.data.$get=new n.MacroFunction(e,(i=>{if(i instanceof s.LiteralValue){if("unit"===i.data)return[new c(e,"@unit"),[]];if("this"===i.data)return[new a.Building(e,"@this"),[]]}return t.call(e,[i])}))}},t.UCommandsNamespace=class extends h{constructor(e){super(e),this.data.$get,this.data.$get=new n.MacroFunction(e,(t=>{if(!(t instanceof s.LiteralValue)||"string"!=typeof t.data)throw new Error("Cannot use dynamic properties on object macros");const i=t.data[0].toUpperCase()+t.data.slice(1);return[new s.StoreValue(e,`@command${i}`),[]]}))}};class c extends s.ObjectValue{constructor(e,t){super(e,{$get:new n.MacroFunction(e,(t=>{if(t instanceof s.LiteralValue&&"string"==typeof t.data){const i=a.itemNames.includes(t.data)?(0,r.camelToDashCase)(t.data):t.data,n=new s.TempValue(e),u="controller"===t.data?new c(e,n.name):n;return[u,[new o.InstructionBase("sensor",u,this,`@${i}`)]]}if(t instanceof s.StoreValue){const i=new s.TempValue(e);return[i,[new o.InstructionBase("sensor",i,this,t)]]}throw new Error("Building property acessors must be string literals or stores")}))}),this.name=t}toString(){return this.name}}t.Unit=c;for(const e in u.operatorMap){const t=u.operatorMap[e];c.prototype[e]=function(e,i){const r=new s.StoreValue(e,this.name),[n,a]=i.eval(e),u=new s.TempValue(e);return[u,[...a,new o.OperationInstruction(t,u,r,n)]]}}},2779:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Concat=void 0;const r=i(6913),n=i(8074);class s extends n.MacroFunction{constructor(e){super(e,((...t)=>{for(const e of t)if(!(e instanceof r.LiteralValue))throw new Error("Concat arguments must all be literal values.");return[new r.LiteralValue(e,t.map((e=>e.data)).join("")),[]]}))}}t.Concat=s},1195:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawValueMacro=void 0;const r=i(6913),n=i(8074);class s extends n.MacroFunction{constructor(e){super(e,(t=>{if(!(t instanceof r.LiteralValue)||"string"!=typeof t.data)throw new Error("The name of the building must be a string literal.");return[new r.StoreValue(e,t.data),[]]}))}}t.RawValueMacro=s},4877:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Control=void 0;const r=i(7476),n=i(9002),s=i(6913),a=["enabled","shoot","shootp","config","color"];class o extends n.MacroFunction{constructor(e){super(e,((e,t,...i)=>{if(!(e instanceof s.LiteralValue)||"string"!=typeof e.data)throw new Error("The control kind must be a string literal");if(!a.includes(e.data))throw new Error("Invalid control kind");if(!(t instanceof s.ObjectValue))throw new Error("The building must be an object value");return[null,[new r.InstructionBase("control",e.data,t,...i)]]}))}}t.Control=o},1645:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Draw=void 0;const r=i(7476),n=i(6913),s=i(8074);class a extends s.MacroFunction{constructor(e){super(e,((e,...t)=>{if(!(e instanceof n.LiteralValue))throw new Error("Draw kind must be literal.");if(-1===["clear","color","stroke","line","rect","lineRect","poly","linePoly","triangle","image"].indexOf(e.data))throw new Error("Draw kind must be valid");return[null,[new r.InstructionBase("draw",e.data,...t.map((e=>e instanceof n.LiteralValue&&"string"==typeof e.data?e.data:e)))]]}))}}t.Draw=a},6591:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DrawFlush=void 0;const r=i(7476),n=i(9002),s=i(6913);class a extends n.MacroFunction{constructor(e){super(e,(e=>{if(!(e instanceof s.ObjectValue))throw new Error("The drawflush target must be a building");return[null,[new r.InstructionBase("drawflush",e)]]}))}}t.DrawFlush=a},1536:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetLink=void 0;const r=i(7476),n=i(9002),s=i(6913),a=i(4627);class o extends n.MacroFunction{constructor(e){super(e,(t=>{if(!(t instanceof s.StoreValue||t instanceof s.LiteralValue&&"number"==typeof t.data))throw new Error("The getlink index must be a number literal or a store");const i=new s.TempValue(e);return[new a.Building(e,i.name),[new r.InstructionBase("getlink",i,t)]]}))}}t.GetLink=o},3708:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Lookup=void 0;const r=i(7476),n=i(9002),s=i(6913),a=["block","unit","item","liquid"];class o extends n.MacroFunction{constructor(e){super(e,((t,i)=>{if(!(t instanceof s.LiteralValue&&"string"==typeof t.data))throw new Error("The lookup kind must be a string literal");if(!a.includes(t.data))throw new Error("Invalid lookup kind");if(!(i instanceof s.LiteralValue&&"number"==typeof i.data||i instanceof s.StoreValue))throw new Error("The lookup index must be a number literal or a store");const n=new s.TempValue(e);return[n,[new r.InstructionBase("lookup",t.data,n,i)]]}))}}t.Lookup=o},4990:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Print=void 0;const r=i(7476),n=i(9002);class s extends n.MacroFunction{constructor(e){super(e,((...e)=>[null,[new r.InstructionBase("print",...e)]]))}}t.Print=s},7835:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrintFlush=void 0;const r=i(7476),n=i(9002),s=i(6913);class a extends n.MacroFunction{constructor(e){super(e,(e=>{if(!(e instanceof s.ObjectValue))throw new Error("The printflush target must be a building");return[null,[new r.InstructionBase("printflush",e)]]}))}}t.PrintFlush=a},7812:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Radar=t.validRadarSorts=t.validRadarFilters=void 0;const r=i(7476),n=i(9002),s=i(6913),a=i(4234);t.validRadarFilters=["any","enemy","ally","player","attacker","flying","boss","ground"],t.validRadarSorts=["distance","health","shield","armor","maxHealth"];class o extends n.MacroFunction{constructor(e){super(e,((i,n,o,u,h,c)=>{if(!(i instanceof s.ObjectValue))throw new Error("The building must a store");if(!(n instanceof s.LiteralValue&&"string"==typeof n.data&&o instanceof s.LiteralValue&&"string"==typeof o.data&&u instanceof s.LiteralValue&&"string"==typeof u.data))throw new Error("The filters must be string literals");if(!t.validRadarFilters.includes(n.data))throw new Error("Invalid value for filter1");if(!t.validRadarFilters.includes(o.data))throw new Error("Invalid value for filter2");if(!t.validRadarFilters.includes(u.data))throw new Error("Invalid value for filter3");if(!(h instanceof s.LiteralValue||h instanceof s.StoreValue))throw new Error("The radar order must be a literal or a store");if(!(c instanceof s.LiteralValue)||"string"!=typeof c.data)throw new Error("The radar sort must be a string literal");if(!t.validRadarSorts.includes(c.data))throw new Error("Invalid sort value");const l=new s.TempValue(e);return[new a.Unit(e,l.name),[new r.InstructionBase("radar",n.data,o.data,u.data,c.data,i,h,l)]]}))}}t.Radar=o},421:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sensor=void 0;const r=i(7476),n=i(9002),s=i(6913);class a extends n.MacroFunction{constructor(e){super(e,((t,i)=>{if(!(t instanceof s.StoreValue))throw new Error("The sensor property must be a store");if(!(i instanceof s.ObjectValue))throw new Error("The sensor target must be a store");const n=new s.TempValue(e);return[n,[new r.InstructionBase("sensor",n,t,i)]]}))}}t.Sensor=a},1248:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnitBind=void 0;const r=i(7476),n=i(9002),s=i(6913);class a extends n.MacroFunction{constructor(e){super(e,(e=>{if(!(e instanceof s.StoreValue))throw new Error("The unitBind type must be a store");return[null,[new r.InstructionBase("ubind",e)]]}))}}t.UnitBind=a},7573:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnitControl=void 0;const r=i(7476),n=i(9002),s=i(6913),a=i(4627),o=["idle","stop","move","approach","boost","pathfind","target","targetp","itemDrop","itemTake","payDrop","payTake","payEnter","mine","flag","build","getBlock","within"];class u extends n.MacroFunction{constructor(e){super(e,((t,...i)=>{if(!(t instanceof s.LiteralValue)||"string"!=typeof t.data)throw new Error("The unitControl mode must be a string literal");if(!o.includes(t.data))throw new Error("Invalid unitControl mode");if(i.some((e=>!(e instanceof s.StoreValue||e instanceof s.LiteralValue||e instanceof s.ObjectValue))))throw new Error("The others arguments of unitControl must be literals or stores");let n=null,u=[];switch(t.data){case"getBlock":{const t=new s.TempValue(e),i=new s.TempValue(e);n=new s.ObjectValue(e,{0:t,1:new a.Building(e,i.name),length:new s.LiteralValue(e,2)}),u=[t,i,new s.LiteralValue(e,0)];break}case"within":{const t=new s.TempValue(e);n=t,u=[t,0];break}}return[n,[new r.InstructionBase("ucontrol",t.data,...i,...u)]]}))}}t.UnitControl=u},588:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnitLocate=void 0;const r=i(7476),n=i(9002),s=i(6913),a=i(4627),o=["ore","building","spawn","damaged"];class u extends n.MacroFunction{constructor(e){super(e,((t,...i)=>{if(!(t instanceof s.LiteralValue&&"string"==typeof t.data))throw new Error("The unitLocate find must be a string literal");if(!o.includes(t.data))throw new Error("Invalid find value");if(i.some((e=>!(e instanceof s.StoreValue||e instanceof s.LiteralValue))))throw new Error("The others arguments of unitLocate must be literals or stores");const n=new s.TempValue(e),u=new s.TempValue(e),h=new s.TempValue(e),c=new s.TempValue(e),l=[u,h,n,c];let p=[];switch(t.data){case"ore":{const[e]=i;p=[t.data,"core","true",e];break}case"building":{const[e,r]=i;p=[t.data,e.data,r,"@copper"];break}case"spawn":case"damaged":p=[t.data,"core","true","@copper"]}return[new s.ObjectValue(e,{0:n,1:u,2:h,3:new a.Building(e,c.name),length:new s.LiteralValue(e,"ore"===t.data?3:4)}),[new r.InstructionBase("ulocate",...p,...l)]]}))}}t.UnitLocate=u},4335:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnitRadar=void 0;const r=i(7476),n=i(9002),s=i(6913),a=i(7812);class o extends n.MacroFunction{constructor(e){super(e,((t,i,n,o,u)=>{if(!(t instanceof s.LiteralValue&&"string"==typeof t.data&&i instanceof s.LiteralValue&&"string"==typeof i.data&&n instanceof s.LiteralValue&&"string"==typeof n.data))throw new Error("The filters must be string literals");if(!a.validRadarFilters.includes(t.data))throw new Error("Invalid value for filter1");if(!a.validRadarFilters.includes(i.data))throw new Error("Invalid value for filter2");if(!a.validRadarFilters.includes(n.data))throw new Error("Invalid value for filter3");if(!(o instanceof s.LiteralValue||o instanceof s.StoreValue))throw new Error("The radar order must be a literal or a store");if(!(u instanceof s.LiteralValue)||"string"!=typeof u.data)throw new Error("The radar sort must be a string literal");if(!a.validRadarSorts.includes(u.data))throw new Error("Invalid sort value");const h=new s.TempValue(e);return[h,[new r.InstructionBase("uradar",t.data,i.data,n.data,o,u.data,h)]]}))}}t.UnitRadar=o},6791:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Wait=void 0;const r=i(7476),n=i(9002),s=i(6913);class a extends n.MacroFunction{constructor(e){super(e,(e=>{if(!(e instanceof s.StoreValue||e instanceof s.LiteralValue&&"number"==typeof e.data))throw new Error("The wait seconds must be either a number literal or a store");return[null,[new r.InstructionBase("wait",e)]]}))}}t.Wait=a},6194:function(e,t,i){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.Radar=void 0,n(i(1645),t),n(i(4990),t),n(i(7835),t),n(i(6591),t),n(i(1536),t),n(i(4877),t);var s=i(7812);Object.defineProperty(t,"Radar",{enumerable:!0,get:function(){return s.Radar}}),n(i(421),t),n(i(6791),t),n(i(3708),t),n(i(1248),t),n(i(7573),t),n(i(4335),t),n(i(588),t)},9002:function(e,t,i){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.VarsNamespace=t.NamespaceMacro=t.BuildingBuilder=t.commands=void 0,s(i(8074),t),s(i(7305),t),s(i(2779),t),t.commands=a(i(6194)),s(i(8180),t);var o=i(4627);Object.defineProperty(t,"BuildingBuilder",{enumerable:!0,get:function(){return o.BuildingBuilder}});var u=i(4234);Object.defineProperty(t,"NamespaceMacro",{enumerable:!0,get:function(){return u.NamespaceMacro}}),Object.defineProperty(t,"VarsNamespace",{enumerable:!0,get:function(){return u.VarsNamespace}})},9702:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.operatorMap=t.operators=t.singleOperators=t.updateOperators=t.unaryOperators=t.leftRightOperators=t.assignmentOperators=t.bitwiseAssignmentOperators=t.logicalAssignmentOperators=t.arithmeticAssignmentOperators=t.logicalOperators=t.binaryOperators=t.bitwiseBinaryOperators=t.comparisonBinaryOperators=t.arithmeticBinaryOperators=void 0,t.arithmeticBinaryOperators=["*","**","+","-","/","%"],t.comparisonBinaryOperators=["!=","!==","<","<=","==","===",">",">="],t.bitwiseBinaryOperators=["&","<<",">>",">>>","^","|"],t.binaryOperators=[...t.arithmeticBinaryOperators,...t.comparisonBinaryOperators,...t.bitwiseBinaryOperators,"instanceof","in"],t.logicalOperators=["&&","??","||"],t.arithmeticAssignmentOperators=["%=","&=","*=","**=","+=","-=","/="],t.logicalAssignmentOperators=["&&=","||="],t.bitwiseAssignmentOperators=["<<=",">>=",">>>=","^=","|="],t.assignmentOperators=[...t.arithmeticAssignmentOperators,...t.logicalAssignmentOperators,...t.bitwiseAssignmentOperators,"="],t.leftRightOperators=[...t.binaryOperators,...t.logicalOperators,...t.assignmentOperators],t.unaryOperators=["!","u+","u-","delete","typeof","void","~"],t.updateOperators=["++","--"],t.singleOperators=[...t.unaryOperators,...t.updateOperators],t.operators=[...t.leftRightOperators,...t.singleOperators],t.operatorMap={"==":"equal","===":"strictEqual","!=":"notEqual","!==":"notEqual","<":"lessThan",">":"greaterThan","<=":"lessThanEq",">=":"greaterThanEq","+":"add","-":"sub","*":"mul","/":"div","%":"mod","**":"pow","|":"or","&":"and","^":"xor",">>":"shr",">>>":"shr","<<":"shl","&&":"land","||":"or"}},8593:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.camelToDashCase=t.nodeName=void 0,t.nodeName=function(e){const{line:t,column:i}=e.loc.start;return t+":"+i},t.camelToDashCase=function(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}},7319:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseValue=void 0;const r=i(7476),n=i(9702),s=i(6913);class a extends s.VoidValue{"u-"(e){const[t,i]=this.eval(e),n=new s.TempValue(e);return[n,[...i,new r.OperationInstruction("sub",n,new s.LiteralValue(e,0),t)]]}}t.BaseValue=a;const o={"==":"equal","===":"strictEqual","!=":"notEqual","!==":"notEqual","<":"lessThan",">":"greaterThan","<=":"lessThanEq",">=":"greaterThanEq","+":"add","-":"sub","*":"mul","/":"div","%":"mod","**":"pow","|":"or","&":"and","^":"xor",">>":"shr",">>>":"shr","<<":"shl","&&":"land","||":"or"};for(const e in o){const t=o[e];a.prototype[e]=function(e,i){const[n,a]=this.eval(e),[o,u]=i.eval(e),h=new s.TempValue(e);return[h,[...a,...u,new r.OperationInstruction(t,h,n,o)]]}}const u={"!":"not","~":"flip"};for(const e in u){const t=u[e];a.prototype[e]=function(e){const[i,n]=this.eval(e),a=new s.TempValue(e);return[a,[...n,new r.OperationInstruction(t,a,i)]]}}const h={"+=":"+","-=":"-","*=":"*","/=":"/","%=":"%","**=":"**","|=":"|","&=":"&","^=":"^",">>=":">>",">>>=":">>>","<<=":"<<","&&=":"&&","||=":"||"};for(const e in h)a.prototype[e]=function(t,i){const[r,n]=this[h[e]](t,i),[s,a]=this["="](t,r);return[s,[...n,...a]]};for(const e of n.updateOperators)a.prototype[e]=function(t,i){let[r,n]=this.eval(t);if(!i){const e=new s.TempValue(t),[i,a]=e["="](t,r);r=i,n.push(...a)}const a="++"===e?"+=":"-=";return[r,[...n,...this[a](t,new s.LiteralValue(t,1))[1]]]}},4609:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionValue=void 0;const r=i(7476),n=i(466),s=i(3349),a=i(3240),o=i(1133);class u extends o.VoidValue{constructor(e,t,i,r,n,s){super(e),this.constant=!0,this.macro=!0,this.bundled=!1,this.name=t,this.paramNames=i,this.paramStores=r,this.body=n,this.c=s,this.callSize=r.length+2,e.function=this,this.createValues(),this.createInst()}createValues(){this.addr=new n.LiteralValue(this.scope,null),this.temp=new s.StoreValue(this.scope,"f"+this.name),this.ret=new s.StoreValue(this.scope,"r"+this.name)}typeof(e){return[new n.LiteralValue(e,"function"),[]]}createInst(){this.inst=[new r.AddressResolver(this.addr),...this.c.handle(this.scope,this.body)[1]],this.inst.push(new r.SetCounterInstruction(this.ret))}normalReturn(e,t){return[null,[...t?this.temp["="](e,t)[1]:[],new r.SetCounterInstruction(this.ret)]]}normalCall(e,t){this.bundled||this.scope.inst.push(...this.inst),this.bundled=!0;const i=new n.LiteralValue(e,null),s=this.paramStores.map(((i,r)=>i["="](e,t[r])[1])).reduce(((e,t)=>e.concat(t)),[]).concat(...this.ret["="](e,i)[1],new r.JumpInstruction(this.addr,r.EJumpKind.Always),new r.AddressResolver(i));return[this.temp,s]}inlineReturn(e,t){return[null,[...t?this.inlineTemp["="](e,t)[1]:[],new r.ReturnInstruction(this.inlineEnd)]]}inlineCall(e,t){this.inlineTemp=new a.TempValue(e),this.inlineEnd=new n.LiteralValue(e,null);const i=this.scope.copy();this.paramNames.forEach(((e,r)=>i.hardSet(e,t[r]))),this.tryingInline=!0;let s=this.c.handle(i,this.body)[1];return this.tryingInline=!1,s.push(new r.AddressResolver(this.inlineEnd)),[this.inlineTemp,s]}call(e,t){if(t.length!==this.paramStores.length)throw new Error("Cannot call: argument count not matching.");const i=this.inlineCall(e,t),r=i[1].filter((e=>!e.hidden)).length;return this.inline||r<=this.callSize?i:this.normalCall(e,t)}return(e,t){return t&&t.macro?(this.inline=!0,[null,[]]):this.inline||this.tryingInline?this.inlineReturn(e,t):this.normalReturn(e,t)}eval(e){return[this,[]]}}t.FunctionValue=u},466:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LiteralValue=void 0;const r=i(6913),n={length:function(e){if("string"!=typeof this.data)throw new Error("Length method only works on string literal values.");return new s(e,this.data.length)}};class s extends r.BaseValue{constructor(e,t){super(e),this.constant=!0,this.data=t}eval(e){return[this,[]]}toString(){return JSON.stringify(this.data)}get(e,t){if(!(t instanceof s&&"string"==typeof t.data))return super.get(e,t);const i=n[t.data];if(!i)throw new Error(`Method ${t.data} does not exist on literal values.`);return[i.apply(this,[e]),[]]}get num(){return null===this.data?0:"string"==typeof this.data?1:this.data}typeof(e){return[new s(e,"literal"),[]]}}t.LiteralValue=s;const a={"==":(e,t)=>+(e==t),"===":(e,t)=>+(e===t),"!=":(e,t)=>+(e!=t),"!==":(e,t)=>+(e!==t),"<":(e,t)=>+(e<t),">":(e,t)=>+(e>t),"<=":(e,t)=>+(e<=t),">=":(e,t)=>+(e>=t),"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"**":(e,t)=>Math.pow(e,t),"|":(e,t)=>e|t,"&":(e,t)=>e&t,"^":(e,t)=>e^t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>t,"<<":(e,t)=>e<<t,"&&":(e,t)=>+(e&&t),"||":(e,t)=>+(e||t)};for(const e in a){const t=a[e];s.prototype[e]=function(i,n){return n instanceof s?[new s(i,t(this.num,n.num)),[]]:r.BaseValue.prototype[e].apply(this,[i,n])}}const o={"!":e=>+!e,"~":e=>~e,"u-":e=>-e};for(const e in o)s.prototype[e]=function(t){return[new s(t,(0,o[e])(this.num)),[]]}},2732:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectValue=void 0;const r=i(9702),n=i(466),s=i(1133);class a extends s.VoidValue{constructor(e,t={}){super(e),this.constant=!0,this.macro=!0,this.data=t}typeof(e){return[new n.LiteralValue(e,"object"),[]]}get(e,t){const i=this.data[t.data];if(i)return[i,[]];const{$get:r}=this.data;if(!r)throw new Error("Cannot get undefined member.");return r.call(e,[t])}eval(e){const{$eval:t}=this.data;return t?t.call(e,[]):[this,[]]}call(e,t){const{$call:i}=this.data;return i?i.call(e,t):super.call(e,t)}}t.ObjectValue=a;for(const e of r.operators)a.prototype[e]=function(...t){const i=this.data["$"+e];if(!i)return s.VoidValue.prototype[e].apply(this,t);let[r,...n]=t;return i.call(r,n)}},3349:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StoreValue=void 0;const r=i(6913),n=i(7476);class s extends r.BaseValue{constructor(e,t){super(e),this.constant=!1,this.name=t}typeof(e){return[new r.LiteralValue(e,"store"),[]]}"="(e,t){if(this.constant)throw new Error(`Cannot assign to unmutable store '${this.name}'.`);if(t instanceof r.TempValue&&t.canProxy)return t.proxy(this);const[i,s]=t.eval(e);return[this,[...s,new n.SetInstruction(this,i)]]}eval(e){return[this,[]]}toString(){return this.name}}t.StoreValue=s},3240:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TempValue=void 0;const r=i(7476),n=i(9702),s=i(6913),a=i(466);class o extends s.StoreValue{constructor(e,t){super(e,null!=t?t:"t"+e.ntemp+(e.name?":"+e.name:"")),this.canProxy=!0,t||e.ntemp++}eval(e){return super.eval(e)}"="(e,t){return this.proxied?(this.noProxy(),[this,[new r.SetInstruction(this,t)]]):t instanceof a.LiteralValue&&this.canProxy?this.proxy(t):super["="](e,t)}proxy(e){if(!this.canProxy)throw console.log(this.proxied),new Error("Cannot proxy (canProxy = false).");if(this.proxied)throw new Error("Cannot proxy multiple times.");this.proxied=e,this.canProxy=!1;for(const t of[...n.operators,"eval","get","call","toString","proxy"])"="!==t&&t in e&&(this[t]=(...i)=>e[t].apply(e,i));return this.setInst=new r.SetInstruction(this,e),this.setInst.hidden=!0,[this,[this.setInst]]}noProxy(){this.setInst.hidden=!1;for(const e of[...n.operators,"eval","get","call","toString","proxy"])this[e]=o.prototype[e]}}t.TempValue=o},1133:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VoidValue=void 0;const r=i(9702);class n{constructor(e){this.constant=!1,this.macro=!1,this.scope=e}eval(e){throw new Error(`${this} cannot eval.`)}call(e,t){throw new Error(`${this} cannot call.`)}get(e,t){throw new Error(`${this} cannot get.`)}toString(){return"void"}}t.VoidValue=n;for(const e of r.operators)n.prototype[e]=function(){throw console.log(this),new Error(`${this} cannot '${e}' operation.`)}},6913:function(e,t,i){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(1133),t),n(i(7319),t),n(i(466),t),n(i(3349),t),n(i(3240),t),n(i(2732),t)}},t={};function i(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,i),s.exports}var r={};(()=>{"use strict";var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.compile=void 0;const t=new(i(564).Compiler);e.compile=e=>t.compile(e)})(),mlogcc=r})();