diff --git a/lib/react-jsx-parser.min.js b/lib/react-jsx-parser.min.js
index 9c01835..42d7550 100644
--- a/lib/react-jsx-parser.min.js
+++ b/lib/react-jsx-parser.min.js
@@ -1,2 +1,2 @@
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react")):"function"==typeof define&&define.amd?define("react-jsx-parser",["react"],e):"object"==typeof exports?exports["react-jsx-parser"]=e(require("react")):t["react-jsx-parser"]=e(t.react)}(this,function(t){return function(t){var e={};function i(s){if(e[s])return e[s].exports;var r=e[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(s,r,function(e){return t[e]}.bind(null,r));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=5)}([function(e,i){e.exports=t},function(t,e,i){"use strict";t.exports=i(2)(i(4))},function(t,e,i){"use strict";var s=i(3),r=/^[\da-fA-F]+$/,n=/^\d+$/;t.exports=function(t){var e=t.tokTypes,i=t.tokContexts;i.j_oTag=new t.TokContext("...",!0,!0),e.jsxName=new t.TokenType("jsxName"),e.jsxText=new t.TokenType("jsxText",{beforeExpr:!0}),e.jsxTagStart=new t.TokenType("jsxTagStart"),e.jsxTagEnd=new t.TokenType("jsxTagEnd"),e.jsxTagStart.updateContext=function(){this.context.push(i.j_expr),this.context.push(i.j_oTag),this.exprAllowed=!1},e.jsxTagEnd.updateContext=function(t){var s=this.context.pop();s===i.j_oTag&&t===e.slash||s===i.j_cTag?(this.context.pop(),this.exprAllowed=this.curContext()===i.j_expr):this.exprAllowed=!0};var a=t.Parser.prototype;function o(t){return t?"JSXIdentifier"===t.type?t.name:"JSXNamespacedName"===t.type?t.namespace.name+":"+t.name.name:"JSXMemberExpression"===t.type?o(t.object)+"."+o(t.property):void 0:t}return a.jsx_readToken=function(){for(var i="",s=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");var r=this.input.charCodeAt(this.pos);switch(r){case 60:case 123:return this.pos===this.start?60===r&&this.exprAllowed?(++this.pos,this.finishToken(e.jsxTagStart)):this.getTokenFromCode(r):(i+=this.input.slice(s,this.pos),this.finishToken(e.jsxText,i));case 38:i+=this.input.slice(s,this.pos),i+=this.jsx_readEntity(),s=this.pos;break;default:t.isNewLine(r)?(i+=this.input.slice(s,this.pos),i+=this.jsx_readNewLine(!0),s=this.pos):++this.pos}}},a.jsx_readNewLine=function(t){var e,i=this.input.charCodeAt(this.pos);return++this.pos,13===i&&10===this.input.charCodeAt(this.pos)?(++this.pos,e=t?"\n":"\r\n"):e=String.fromCharCode(i),this.options.locations&&(++this.curLine,this.lineStart=this.pos),e},a.jsx_readString=function(i){for(var s="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var n=this.input.charCodeAt(this.pos);if(n===i)break;38===n?(s+=this.input.slice(r,this.pos),s+=this.jsx_readEntity(),r=this.pos):t.isNewLine(n)?(s+=this.input.slice(r,this.pos),s+=this.jsx_readNewLine(!1),r=this.pos):++this.pos}return s+=this.input.slice(r,this.pos++),this.finishToken(e.string,s)},a.jsx_readEntity=function(){var t,e="",i=0,a=this.input[this.pos];"&"!==a&&this.raise(this.pos,"Entity must start with an ampersand");for(var o=++this.pos;this.pos")}return s.openingElement=n,s.closingElement=a,s.children=r,this.type===e.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(s,n.name?"JSXElement":"JSXFragment")},a.jsx_parseText=function(t){var e=this.parseLiteral(t);return e.type="JSXText",e},a.jsx_parseElement=function(){var t=this.start,e=this.startLoc;return this.next(),this.jsx_parseElementAt(t,e)},t.plugins.jsx=function(s,r){r&&("object"!=typeof r&&(r={}),s.options.plugins.jsx={allowNamespaces:!1!==r.allowNamespaces,allowNamespacedObjects:!!r.allowNamespacedObjects},s.extend("parseExprAtom",function(t){return function(i){return this.type===e.jsxText?this.jsx_parseText(this.value):this.type===e.jsxTagStart?this.jsx_parseElement():t.call(this,i)}}),s.extend("readToken",function(s){return function(r){var n=this.curContext();if(n===i.j_expr)return this.jsx_readToken();if(n===i.j_oTag||n===i.j_cTag){if(t.isIdentifierStart(r))return this.jsx_readWord();if(62==r)return++this.pos,this.finishToken(e.jsxTagEnd);if((34===r||39===r)&&n==i.j_oTag)return this.jsx_readString(r)}return 60===r&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(e.jsxTagStart)):s.call(this,r)}}),s.extend("updateContext",function(t){return function(s){if(this.type==e.braceL){var r=this.curContext();r==i.j_oTag?this.context.push(i.b_expr):r==i.j_expr?this.context.push(i.b_tmpl):t.call(this,s),this.exprAllowed=!0}else{if(this.type!==e.slash||s!==e.jsxTagStart)return t.call(this,s);this.context.length-=2,this.context.push(i.j_cTag),this.exprAllowed=!1}}}))},t}},function(t,e){t.exports={quot:'"',amp:"&",apos:"'",lt:"<",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:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}},function(t,e,i){"use strict";i.r(e),i.d(e,"version",function(){return Ct}),i.d(e,"parse",function(){return wt}),i.d(e,"parseExpressionAt",function(){return At}),i.d(e,"tokenizer",function(){return Tt}),i.d(e,"parse_dammit",function(){return kt}),i.d(e,"LooseParser",function(){return Et}),i.d(e,"pluginsLoose",function(){return St}),i.d(e,"addLooseExports",function(){return Nt}),i.d(e,"Parser",function(){return F}),i.d(e,"plugins",function(){return D}),i.d(e,"defaultOptions",function(){return R}),i.d(e,"Position",function(){return V}),i.d(e,"SourceLocation",function(){return j}),i.d(e,"getLineInfo",function(){return O}),i.d(e,"Node",function(){return tt}),i.d(e,"TokenType",function(){return x}),i.d(e,"tokTypes",function(){return k}),i.d(e,"keywordTypes",function(){return b}),i.d(e,"TokContext",function(){return st}),i.d(e,"tokContexts",function(){return rt}),i.d(e,"isIdentifierChar",function(){return m}),i.d(e,"isIdentifierStart",function(){return f}),i.d(e,"Token",function(){return yt}),i.d(e,"isNewLine",function(){return C}),i.d(e,"lineBreak",function(){return E}),i.d(e,"lineBreakG",function(){return S}),i.d(e,"nonASCIIwhitespace",function(){return w});var s={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},r="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",n={5:r,6:r+" const class extends export import super"},a=/^in(stanceof)?$/,o="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞹꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",h="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",p=new RegExp("["+o+"]"),c=new RegExp("["+o+h+"]");o=h=null;var u=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function d(t,e){for(var i=65536,s=0;st)return!1;if((i+=e[s+1])>=t)return!0}}function f(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&p.test(String.fromCharCode(t)):!1!==e&&d(t,u)))}function m(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&c.test(String.fromCharCode(t)):!1!==e&&(d(t,u)||d(t,l)))))}var x=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function g(t,e){return new x(t,{beforeExpr:!0,binop:e})}var y={beforeExpr:!0},v={startsExpr:!0},b={};function _(t,e){return void 0===e&&(e={}),e.keyword=t,b[t]=new x(t,e)}var k={num:new x("num",v),regexp:new x("regexp",v),string:new x("string",v),name:new x("name",v),eof:new x("eof"),bracketL:new x("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new x("]"),braceL:new x("{",{beforeExpr:!0,startsExpr:!0}),braceR:new x("}"),parenL:new x("(",{beforeExpr:!0,startsExpr:!0}),parenR:new x(")"),comma:new x(",",y),semi:new x(";",y),colon:new x(":",y),dot:new x("."),question:new x("?",y),arrow:new x("=>",y),template:new x("template"),invalidTemplate:new x("invalidTemplate"),ellipsis:new x("...",y),backQuote:new x("`",v),dollarBraceL:new x("${",{beforeExpr:!0,startsExpr:!0}),eq:new x("=",{beforeExpr:!0,isAssign:!0}),assign:new x("_=",{beforeExpr:!0,isAssign:!0}),incDec:new x("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new x("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:g("||",1),logicalAND:g("&&",2),bitwiseOR:g("|",3),bitwiseXOR:g("^",4),bitwiseAND:g("&",5),equality:g("==/!=/===/!==",6),relational:g(">/<=/>=",7),bitShift:g("<>>/>>>",8),plusMin:new x("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:g("%",10),star:g("*",10),slash:g("/",10),starstar:new x("**",{beforeExpr:!0}),_break:_("break"),_case:_("case",y),_catch:_("catch"),_continue:_("continue"),_debugger:_("debugger"),_default:_("default",y),_do:_("do",{isLoop:!0,beforeExpr:!0}),_else:_("else",y),_finally:_("finally"),_for:_("for",{isLoop:!0}),_function:_("function",v),_if:_("if"),_return:_("return",y),_switch:_("switch"),_throw:_("throw",y),_try:_("try"),_var:_("var"),_const:_("const"),_while:_("while",{isLoop:!0}),_with:_("with"),_new:_("new",{beforeExpr:!0,startsExpr:!0}),_this:_("this",v),_super:_("super",v),_class:_("class",v),_extends:_("extends",y),_export:_("export"),_import:_("import"),_null:_("null",v),_true:_("true",v),_false:_("false",v),_in:_("in",{beforeExpr:!0,binop:7}),_instanceof:_("instanceof",{beforeExpr:!0,binop:7}),_typeof:_("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:_("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:_("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},E=/\r\n?|\n|\u2028|\u2029/,S=new RegExp(E.source,"g");function C(t,e){return 10===t||13===t||!e&&(8232===t||8233===t)}var w=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,A=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,T=Object.prototype,N=T.hasOwnProperty,P=T.toString;function I(t,e){return N.call(t,e)}var L=Array.isArray||function(t){return"[object Array]"===P.call(t)},V=function(t,e){this.line=t,this.column=e};V.prototype.offset=function(t){return new V(this.line,this.column+t)};var j=function(t,e,i){this.start=e,this.end=i,null!==t.sourceFile&&(this.source=t.sourceFile)};function O(t,e){for(var i=1,s=0;;){S.lastIndex=s;var r=S.exec(t);if(!(r&&r.index=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),L(e.onToken)){var s=e.onToken;e.onToken=function(t){return s.push(t)}}return L(e.onComment)&&(e.onComment=function(t,e){return function(i,s,r,n,a,o){var h={type:i?"Block":"Line",value:s,start:r,end:n};t.locations&&(h.loc=new j(this,a,o)),t.ranges&&(h.range=[r,n]),e.push(h)}}(e,e.onComment)),e}var D={};function B(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var F=function(t,e,i){this.options=t=M(t),this.sourceFile=t.sourceFile,this.keywords=B(n[t.ecmaVersion>=6?6:5]);var r="";if(!t.allowReserved){for(var a=t.ecmaVersion;!(r=s[a]);a--);"module"===t.sourceType&&(r+=" await")}this.reservedWords=B(r);var o=(r?r+" ":"")+s.strict;this.reservedWordsStrict=B(o),this.reservedWordsStrictBind=B(o+" "+s.strictBind),this.input=String(e),this.containsEsc=!1,this.loadPlugins(t.plugins),i?(this.pos=i,this.lineStart=this.input.lastIndexOf("\n",i-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(E).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=k.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.inFunction=this.inGenerator=this.inAsync=!1,this.yieldPos=this.awaitPos=0,this.labels=[],0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterFunctionScope(),this.regexpState=null};F.prototype.isKeyword=function(t){return this.keywords.test(t)},F.prototype.isReservedWord=function(t){return this.reservedWords.test(t)},F.prototype.extend=function(t,e){this[t]=e(this[t])},F.prototype.loadPlugins=function(t){for(var e in t){var i=D[e];if(!i)throw new Error("Plugin '"+e+"' not found");i(this,t[e])}},F.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)};var U=F.prototype,q=/^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)"|;)/;function G(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}U.strictDirective=function(t){for(;;){A.lastIndex=t,t+=A.exec(this.input)[0].length;var e=q.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2]))return!0;t+=e[0].length}},U.eat=function(t){return this.type===t&&(this.next(),!0)},U.isContextual=function(t){return this.type===k.name&&this.value===t&&!this.containsEsc},U.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},U.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},U.canInsertSemicolon=function(){return this.type===k.eof||this.type===k.braceR||E.test(this.input.slice(this.lastTokEnd,this.start))},U.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},U.semicolon=function(){this.eat(k.semi)||this.insertSemicolon()||this.unexpected()},U.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},U.expect=function(t){this.eat(t)||this.unexpected()},U.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")},U.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var i=e?t.parenthesizedAssign:t.parenthesizedBind;i>-1&&this.raiseRecoverable(i,"Parenthesized pattern")}},U.checkExpressionErrors=function(t,e){if(!t)return!1;var i=t.shorthandAssign,s=t.doubleProto;if(!e)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},U.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&(t.sourceType=this.options.sourceType),this.finishNode(t,"Program")};var W={kind:"loop"},H={kind:"switch"};X.isLet=function(){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;A.lastIndex=this.pos;var t=A.exec(this.input),e=this.pos+t[0].length,i=this.input.charCodeAt(e);if(91===i||123===i)return!0;if(f(i,!0)){for(var s=e+1;m(this.input.charCodeAt(s),!0);)++s;var r=this.input.slice(e,s);if(!a.test(r))return!0}return!1},X.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;A.lastIndex=this.pos;var t=A.exec(this.input),e=this.pos+t[0].length;return!(E.test(this.input.slice(this.pos,e))||"function"!==this.input.slice(e,e+8)||e+8!==this.input.length&&m(this.input.charAt(e+8)))},X.parseStatement=function(t,e,i){var s,r=this.type,n=this.startNode();switch(this.isLet()&&(r=k._var,s="let"),r){case k._break:case k._continue:return this.parseBreakContinueStatement(n,r.keyword);case k._debugger:return this.parseDebuggerStatement(n);case k._do:return this.parseDoStatement(n);case k._for:return this.parseForStatement(n);case k._function:return!t&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1);case k._class:return t||this.unexpected(),this.parseClass(n,!0);case k._if:return this.parseIfStatement(n);case k._return:return this.parseReturnStatement(n);case k._switch:return this.parseSwitchStatement(n);case k._throw:return this.parseThrowStatement(n);case k._try:return this.parseTryStatement(n);case k._const:case k._var:return s=s||this.value,t||"var"===s||this.unexpected(),this.parseVarStatement(n,s);case k._while:return this.parseWhileStatement(n);case k._with:return this.parseWithStatement(n);case k.braceL:return this.parseBlock();case k.semi:return this.parseEmptyStatement(n);case k._export:case k._import:return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===k._import?this.parseImport(n):this.parseExport(n,i);default:if(this.isAsyncFunction())return t||this.unexpected(),this.next(),this.parseFunctionStatement(n,!0);var a=this.value,o=this.parseExpression();return r===k.name&&"Identifier"===o.type&&this.eat(k.colon)?this.parseLabeledStatement(n,a,o):this.parseExpressionStatement(n,o)}},X.parseBreakContinueStatement=function(t,e){var i="break"===e;this.next(),this.eat(k.semi)||this.insertSemicolon()?t.label=null:this.type!==k.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(k.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},X.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(W),this.enterLexicalScope(),this.expect(k.parenL),this.type===k.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var i=this.isLet();if(this.type===k._var||this.type===k._const||i){var s=this.startNode(),r=i?"let":this.value;return this.next(),this.parseVar(s,!0,r),this.finishNode(s,"VariableDeclaration"),!(this.type===k._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==s.declarations.length||"var"!==r&&s.declarations[0].init?(e>-1&&this.unexpected(e),this.parseFor(t,s)):(this.options.ecmaVersion>=9&&(this.type===k._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,s))}var n=new G,a=this.parseExpression(!0,n);return this.type===k._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===k._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(a,!1,n),this.checkLVal(a),this.parseForIn(t,a)):(this.checkExpressionErrors(n,!0),e>-1&&this.unexpected(e),this.parseFor(t,a))},X.parseFunctionStatement=function(t,e){return this.next(),this.parseFunction(t,!0,!1,e)},X.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement(!this.strict&&this.type===k._function),t.alternate=this.eat(k._else)?this.parseStatement(!this.strict&&this.type===k._function):null,this.finishNode(t,"IfStatement")},X.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(k.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},X.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(k.braceL),this.labels.push(H),this.enterLexicalScope();for(var i=!1;this.type!==k.braceR;)if(this.type===k._case||this.type===k._default){var s=this.type===k._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),s?e.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,e.test=null),this.expect(k.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(!0));return this.exitLexicalScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},X.parseThrowStatement=function(t){return this.next(),E.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var J=[];X.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===k._catch){var e=this.startNode();this.next(),this.eat(k.parenL)?(e.param=this.parseBindingAtom(),this.enterLexicalScope(),this.checkLVal(e.param,"let"),this.expect(k.parenR)):(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterLexicalScope()),e.body=this.parseBlock(!1),this.exitLexicalScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(k._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},X.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},X.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(W),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,"WhileStatement")},X.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement(!1),this.finishNode(t,"WithStatement")},X.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},X.parseLabeledStatement=function(t,e,i){for(var s=0,r=this.labels;s=0;a--){var o=this.labels[a];if(o.statementStart!==t.start)break;o.statementStart=this.start,o.kind=n}return this.labels.push({name:e,kind:n,statementStart:this.start}),t.body=this.parseStatement(!0),("ClassDeclaration"===t.body.type||"VariableDeclaration"===t.body.type&&"var"!==t.body.kind||"FunctionDeclaration"===t.body.type&&(this.strict||t.body.generator||t.body.async))&&this.raiseRecoverable(t.body.start,"Invalid labeled declaration"),this.labels.pop(),t.label=i,this.finishNode(t,"LabeledStatement")},X.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},X.parseBlock=function(t){void 0===t&&(t=!0);var e=this.startNode();for(e.body=[],this.expect(k.braceL),t&&this.enterLexicalScope();!this.eat(k.braceR);){var i=this.parseStatement(!0);e.body.push(i)}return t&&this.exitLexicalScope(),this.finishNode(e,"BlockStatement")},X.parseFor=function(t,e){return t.init=e,this.expect(k.semi),t.test=this.type===k.semi?null:this.parseExpression(),this.expect(k.semi),t.update=this.type===k.parenR?null:this.parseExpression(),this.expect(k.parenR),this.exitLexicalScope(),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,"ForStatement")},X.parseForIn=function(t,e){var i=this.type===k._in?"ForInStatement":"ForOfStatement";return this.next(),"ForInStatement"===i&&("AssignmentPattern"===e.type||"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(this.strict||"Identifier"!==e.declarations[0].id.type))&&this.raise(e.start,"Invalid assignment in for-in loop head"),t.left=e,t.right="ForInStatement"===i?this.parseExpression():this.parseMaybeAssign(),this.expect(k.parenR),this.exitLexicalScope(),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,i)},X.parseVar=function(t,e,i){for(t.declarations=[],t.kind=i;;){var s=this.startNode();if(this.parseVarId(s,i),this.eat(k.eq)?s.init=this.parseMaybeAssign(e):"const"!==i||this.type===k._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===s.id.type||e&&(this.type===k._in||this.isContextual("of"))?s.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(s,"VariableDeclarator")),!this.eat(k.comma))break}return t},X.parseVarId=function(t,e){t.id=this.parseBindingAtom(e),this.checkLVal(t.id,e,!1)},X.parseFunction=function(t,e,i,s){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(t.generator=this.eat(k.star)),this.options.ecmaVersion>=8&&(t.async=!!s),e&&(t.id="nullableID"===e&&this.type!==k.name?null:this.parseIdent(),t.id&&this.checkLVal(t.id,this.inModule&&!this.inFunction?"let":"var"));var r=this.inGenerator,n=this.inAsync,a=this.yieldPos,o=this.awaitPos,h=this.inFunction;return this.inGenerator=t.generator,this.inAsync=t.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),e||(t.id=this.type===k.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,i),this.inGenerator=r,this.inAsync=n,this.yieldPos=a,this.awaitPos=o,this.inFunction=h,this.finishNode(t,e?"FunctionDeclaration":"FunctionExpression")},X.parseFunctionParams=function(t){this.expect(k.parenL),t.params=this.parseBindingList(k.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},X.parseClass=function(t,e){this.next(),this.parseClassId(t,e),this.parseClassSuper(t);var i=this.startNode(),s=!1;for(i.body=[],this.expect(k.braceL);!this.eat(k.braceR);){var r=this.parseClassMember(i);r&&"MethodDefinition"===r.type&&"constructor"===r.kind&&(s&&this.raise(r.start,"Duplicate constructor in the same class"),s=!0)}return t.body=this.finishNode(i,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},X.parseClassMember=function(t){var e=this;if(this.eat(k.semi))return null;var i=this.startNode(),s=function(t,s){void 0===s&&(s=!1);var r=e.start,n=e.startLoc;return!!e.eatContextual(t)&&(!(e.type===k.parenL||s&&e.canInsertSemicolon())||(i.key&&e.unexpected(),i.computed=!1,i.key=e.startNodeAt(r,n),i.key.name=t,e.finishNode(i.key,"Identifier"),!1))};i.kind="method",i.static=s("static");var r=this.eat(k.star),n=!1;r||(this.options.ecmaVersion>=8&&s("async",!0)?(n=!0,r=this.options.ecmaVersion>=9&&this.eat(k.star)):s("get")?i.kind="get":s("set")&&(i.kind="set")),i.key||this.parsePropertyName(i);var a=i.key;return i.computed||i.static||!("Identifier"===a.type&&"constructor"===a.name||"Literal"===a.type&&"constructor"===a.value)?i.static&&"Identifier"===a.type&&"prototype"===a.name&&this.raise(a.start,"Classes may not have a static property named prototype"):("method"!==i.kind&&this.raise(a.start,"Constructor can't have get/set modifier"),r&&this.raise(a.start,"Constructor can't be a generator"),n&&this.raise(a.start,"Constructor can't be an async method"),i.kind="constructor"),this.parseClassMethod(t,i,r,n),"get"===i.kind&&0!==i.value.params.length&&this.raiseRecoverable(i.value.start,"getter should have no params"),"set"===i.kind&&1!==i.value.params.length&&this.raiseRecoverable(i.value.start,"setter should have exactly one param"),"set"===i.kind&&"RestElement"===i.value.params[0].type&&this.raiseRecoverable(i.value.params[0].start,"Setter cannot use rest params"),i},X.parseClassMethod=function(t,e,i,s){e.value=this.parseMethod(i,s),t.body.push(this.finishNode(e,"MethodDefinition"))},X.parseClassId=function(t,e){t.id=this.type===k.name?this.parseIdent():!0===e?this.unexpected():null},X.parseClassSuper=function(t){t.superClass=this.eat(k._extends)?this.parseExprSubscripts():null},X.parseExport=function(t,e){if(this.next(),this.eat(k.star))return this.expectContextual("from"),this.type!==k.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(k._default)){var i;if(this.checkExport(e,"default",this.lastTokStart),this.type===k._function||(i=this.isAsyncFunction())){var s=this.startNode();this.next(),i&&this.next(),t.declaration=this.parseFunction(s,"nullableID",!1,i)}else if(this.type===k._class){var r=this.startNode();t.declaration=this.parseClass(r,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(!0),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==k.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var n=0,a=t.specifiers;n=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Can not use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,r=t.properties;s=6)switch(this.type){case k.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(k.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case k.braceL:return this.parseObj(!0)}return this.parseIdent()},z.parseBindingList=function(t,e,i){for(var s=[],r=!0;!this.eat(t);)if(r?r=!1:this.expect(k.comma),e&&this.type===k.comma)s.push(null);else{if(i&&this.afterTrailingComma(t))break;if(this.type===k.ellipsis){var n=this.parseRestBinding();this.parseBindingListItem(n),s.push(n),this.type===k.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}var a=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(a),s.push(a)}return s},z.parseBindingListItem=function(t){return t},z.parseMaybeDefault=function(t,e,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(k.eq))return i;var s=this.startNodeAt(t,e);return s.left=i,s.right=this.parseMaybeAssign(),this.finishNode(s,"AssignmentPattern")},z.checkLVal=function(t,e,i){switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(e?"Binding ":"Assigning to ")+t.name+" in strict mode"),i&&(I(i,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),i[t.name]=!0),e&&"none"!==e&&(("var"===e&&!this.canDeclareVarName(t.name)||"var"!==e&&!this.canDeclareLexicalName(t.name))&&this.raiseRecoverable(t.start,"Identifier '"+t.name+"' has already been declared"),"var"===e?this.declareVarName(t.name):this.declareLexicalName(t.name));break;case"MemberExpression":e&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ObjectPattern":for(var s=0,r=t.properties;s=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var s,r=t.key;switch(r.type){case"Identifier":s=r.name;break;case"Literal":s=String(r.value);break;default:return}var n=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===s&&"init"===n&&(e.proto&&(i&&i.doubleProto<0?i.doubleProto=r.start:this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),e.proto=!0);else{var a=e[s="$"+s];if(a)("init"===n?this.strict&&a.init||a.get||a.set:a.init||a[n])&&this.raiseRecoverable(r.start,"Redefinition of property");else a=e[s]={init:!1,get:!1,set:!1};a[n]=!0}}},Q.parseExpression=function(t,e){var i=this.start,s=this.startLoc,r=this.parseMaybeAssign(t,e);if(this.type===k.comma){var n=this.startNodeAt(i,s);for(n.expressions=[r];this.eat(k.comma);)n.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(n,"SequenceExpression")}return r},Q.parseMaybeAssign=function(t,e,i){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var s=!1,r=-1,n=-1;e?(r=e.parenthesizedAssign,n=e.trailingComma,e.parenthesizedAssign=e.trailingComma=-1):(e=new G,s=!0);var a=this.start,o=this.startLoc;this.type!==k.parenL&&this.type!==k.name||(this.potentialArrowAt=this.start);var h=this.parseMaybeConditional(t,e);if(i&&(h=i.call(this,h,a,o)),this.type.isAssign){var p=this.startNodeAt(a,o);return p.operator=this.value,p.left=this.type===k.eq?this.toAssignable(h,!1,e):h,s||G.call(e),e.shorthandAssign=-1,this.checkLVal(h),this.next(),p.right=this.parseMaybeAssign(t),this.finishNode(p,"AssignmentExpression")}return s&&this.checkExpressionErrors(e,!0),r>-1&&(e.parenthesizedAssign=r),n>-1&&(e.trailingComma=n),h},Q.parseMaybeConditional=function(t,e){var i=this.start,s=this.startLoc,r=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return r;if(this.eat(k.question)){var n=this.startNodeAt(i,s);return n.test=r,n.consequent=this.parseMaybeAssign(),this.expect(k.colon),n.alternate=this.parseMaybeAssign(t),this.finishNode(n,"ConditionalExpression")}return r},Q.parseExprOps=function(t,e){var i=this.start,s=this.startLoc,r=this.parseMaybeUnary(e,!1);return this.checkExpressionErrors(e)?r:r.start===i&&"ArrowFunctionExpression"===r.type?r:this.parseExprOp(r,i,s,-1,t)},Q.parseExprOp=function(t,e,i,s,r){var n=this.type.binop;if(null!=n&&(!r||this.type!==k._in)&&n>s){var a=this.type===k.logicalOR||this.type===k.logicalAND,o=this.value;this.next();var h=this.start,p=this.startLoc,c=this.parseExprOp(this.parseMaybeUnary(null,!1),h,p,n,r),u=this.buildBinary(e,i,t,c,o,a);return this.parseExprOp(u,e,i,s,r)}return t},Q.buildBinary=function(t,e,i,s,r,n){var a=this.startNodeAt(t,e);return a.left=i,a.operator=r,a.right=s,this.finishNode(a,n?"LogicalExpression":"BinaryExpression")},Q.parseMaybeUnary=function(t,e){var i,s=this.start,r=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))i=this.parseAwait(),e=!0;else if(this.type.prefix){var n=this.startNode(),a=this.type===k.incDec;n.operator=this.value,n.prefix=!0,this.next(),n.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),a?this.checkLVal(n.argument):this.strict&&"delete"===n.operator&&"Identifier"===n.argument.type?this.raiseRecoverable(n.start,"Deleting local variable in strict mode"):e=!0,i=this.finishNode(n,a?"UpdateExpression":"UnaryExpression")}else{if(i=this.parseExprSubscripts(t),this.checkExpressionErrors(t))return i;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(s,r);o.operator=this.value,o.prefix=!1,o.argument=i,this.checkLVal(i),this.next(),i=this.finishNode(o,"UpdateExpression")}}return!e&&this.eat(k.starstar)?this.buildBinary(s,r,i,this.parseMaybeUnary(null,!1),"**",!1):i},Q.parseExprSubscripts=function(t){var e=this.start,i=this.startLoc,s=this.parseExprAtom(t),r="ArrowFunctionExpression"===s.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);if(this.checkExpressionErrors(t)||r)return s;var n=this.parseSubscripts(s,e,i);return t&&"MemberExpression"===n.type&&(t.parenthesizedAssign>=n.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=n.start&&(t.parenthesizedBind=-1)),n},Q.parseSubscripts=function(t,e,i,s){for(var r=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&"async"===this.input.slice(t.start,t.end),n=void 0;;)if((n=this.eat(k.bracketL))||this.eat(k.dot)){var a=this.startNodeAt(e,i);a.object=t,a.property=n?this.parseExpression():this.parseIdent(!0),a.computed=!!n,n&&this.expect(k.bracketR),t=this.finishNode(a,"MemberExpression")}else if(!s&&this.eat(k.parenL)){var o=new G,h=this.yieldPos,p=this.awaitPos;this.yieldPos=0,this.awaitPos=0;var c=this.parseExprList(k.parenR,this.options.ecmaVersion>=8,!1,o);if(r&&!this.canInsertSemicolon()&&this.eat(k.arrow))return this.checkPatternErrors(o,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=p,this.parseArrowExpression(this.startNodeAt(e,i),c,!0);this.checkExpressionErrors(o,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=p||this.awaitPos;var u=this.startNodeAt(e,i);u.callee=t,u.arguments=c,t=this.finishNode(u,"CallExpression")}else{if(this.type!==k.backQuote)return t;var l=this.startNodeAt(e,i);l.tag=t,l.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(l,"TaggedTemplateExpression")}},Q.parseExprAtom=function(t){var e,i=this.potentialArrowAt===this.start;switch(this.type){case k._super:return this.inFunction||this.raise(this.start,"'super' outside of function or class"),e=this.startNode(),this.next(),this.type!==k.dot&&this.type!==k.bracketL&&this.type!==k.parenL&&this.unexpected(),this.finishNode(e,"Super");case k._this:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case k.name:var s=this.start,r=this.startLoc,n=this.containsEsc,a=this.parseIdent(this.type!==k.name);if(this.options.ecmaVersion>=8&&!n&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(k._function))return this.parseFunction(this.startNodeAt(s,r),!1,!1,!0);if(i&&!this.canInsertSemicolon()){if(this.eat(k.arrow))return this.parseArrowExpression(this.startNodeAt(s,r),[a],!1);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===k.name&&!n)return a=this.parseIdent(),!this.canInsertSemicolon()&&this.eat(k.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,r),[a],!0)}return a;case k.regexp:var o=this.value;return(e=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},e;case k.num:case k.string:return this.parseLiteral(this.value);case k._null:case k._true:case k._false:return(e=this.startNode()).value=this.type===k._null?null:this.type===k._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case k.parenL:var h=this.start,p=this.parseParenAndDistinguishExpression(i);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(p)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),p;case k.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(k.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case k.braceL:return this.parseObj(!1,t);case k._function:return e=this.startNode(),this.next(),this.parseFunction(e,!1);case k._class:return this.parseClass(this.startNode(),!1);case k._new:return this.parseNew();case k.backQuote:return this.parseTemplate();default:this.unexpected()}},Q.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(e,"Literal")},Q.parseParenExpression=function(){this.expect(k.parenL);var t=this.parseExpression();return this.expect(k.parenR),t},Q.parseParenAndDistinguishExpression=function(t){var e,i=this.start,s=this.startLoc,r=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n,a=this.start,o=this.startLoc,h=[],p=!0,c=!1,u=new G,l=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==k.parenR;){if(p?p=!1:this.expect(k.comma),r&&this.afterTrailingComma(k.parenR,!0)){c=!0;break}if(this.type===k.ellipsis){n=this.start,h.push(this.parseParenItem(this.parseRestBinding())),this.type===k.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}h.push(this.parseMaybeAssign(!1,u,this.parseParenItem))}var f=this.start,m=this.startLoc;if(this.expect(k.parenR),t&&!this.canInsertSemicolon()&&this.eat(k.arrow))return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=l,this.awaitPos=d,this.parseParenArrowList(i,s,h);h.length&&!c||this.unexpected(this.lastTokStart),n&&this.unexpected(n),this.checkExpressionErrors(u,!0),this.yieldPos=l||this.yieldPos,this.awaitPos=d||this.awaitPos,h.length>1?((e=this.startNodeAt(a,o)).expressions=h,this.finishNodeAt(e,"SequenceExpression",f,m)):e=h[0]}else e=this.parseParenExpression();if(this.options.preserveParens){var x=this.startNodeAt(i,s);return x.expression=e,this.finishNode(x,"ParenthesizedExpression")}return e},Q.parseParenItem=function(t){return t},Q.parseParenArrowList=function(t,e,i){return this.parseArrowExpression(this.startNodeAt(t,e),i)};var K=[];Q.parseNew=function(){var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(k.dot)){t.meta=e;var i=this.containsEsc;return t.property=this.parseIdent(!0),("target"!==t.property.name||i)&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(t.start,"new.target can only be used in functions"),this.finishNode(t,"MetaProperty")}var s=this.start,r=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(),s,r,!0),this.eat(k.parenL)?t.arguments=this.parseExprList(k.parenR,this.options.ecmaVersion>=8,!1):t.arguments=K,this.finishNode(t,"NewExpression")},Q.parseTemplateElement=function(t){var e=t.isTagged,i=this.startNode();return this.type===k.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),i.tail=this.type===k.backQuote,this.finishNode(i,"TemplateElement")},Q.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:e});for(i.quasis=[s];!s.tail;)this.type===k.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(k.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(k.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(i,"TemplateLiteral")},Q.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===k.name||this.type===k.num||this.type===k.string||this.type===k.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===k.star)&&!E.test(this.input.slice(this.lastTokEnd,this.start))},Q.parseObj=function(t,e){var i=this.startNode(),s=!0,r={};for(i.properties=[],this.next();!this.eat(k.braceR);){if(s)s=!1;else if(this.expect(k.comma),this.afterTrailingComma(k.braceR))break;var n=this.parseProperty(t,e);t||this.checkPropClash(n,r,e),i.properties.push(n)}return this.finishNode(i,t?"ObjectPattern":"ObjectExpression")},Q.parseProperty=function(t,e){var i,s,r,n,a=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(k.ellipsis))return t?(a.argument=this.parseIdent(!1),this.type===k.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(a,"RestElement")):(this.type===k.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),a.argument=this.parseMaybeAssign(!1,e),this.type===k.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(a,"SpreadElement"));this.options.ecmaVersion>=6&&(a.method=!1,a.shorthand=!1,(t||e)&&(r=this.start,n=this.startLoc),t||(i=this.eat(k.star)));var o=this.containsEsc;return this.parsePropertyName(a),!t&&!o&&this.options.ecmaVersion>=8&&!i&&this.isAsyncProp(a)?(s=!0,i=this.options.ecmaVersion>=9&&this.eat(k.star),this.parsePropertyName(a,e)):s=!1,this.parsePropertyValue(a,t,i,s,r,n,e,o),this.finishNode(a,"Property")},Q.parsePropertyValue=function(t,e,i,s,r,n,a,o){if((i||s)&&this.type===k.colon&&this.unexpected(),this.eat(k.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===k.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(i,s);else if(e||o||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===k.comma||this.type===k.braceR)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?(this.checkUnreserved(t.key),t.kind="init",e?t.value=this.parseMaybeDefault(r,n,t.key):this.type===k.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),t.value=this.parseMaybeDefault(r,n,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected();else{(i||s)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var h="get"===t.kind?0:1;if(t.value.params.length!==h){var p=t.value.start;"get"===t.kind?this.raiseRecoverable(p,"getter should have no params"):this.raiseRecoverable(p,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},Q.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(k.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(k.bracketR),t.key;t.computed=!1}return t.key=this.type===k.num||this.type===k.string?this.parseExprAtom():this.parseIdent(!0)},Q.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=!1,t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},Q.parseMethod=function(t,e){var i=this.startNode(),s=this.inGenerator,r=this.inAsync,n=this.yieldPos,a=this.awaitPos,o=this.inFunction;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.inGenerator=i.generator,this.inAsync=i.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),this.expect(k.parenL),i.params=this.parseBindingList(k.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1),this.inGenerator=s,this.inAsync=r,this.yieldPos=n,this.awaitPos=a,this.inFunction=o,this.finishNode(i,"FunctionExpression")},Q.parseArrowExpression=function(t,e,i){var s=this.inGenerator,r=this.inAsync,n=this.yieldPos,a=this.awaitPos,o=this.inFunction;return this.enterFunctionScope(),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!i),this.inGenerator=!1,this.inAsync=t.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0),this.inGenerator=s,this.inAsync=r,this.yieldPos=n,this.awaitPos=a,this.inFunction=o,this.finishNode(t,"ArrowFunctionExpression")},Q.parseFunctionBody=function(t,e){var i=e&&this.type!==k.braceL,s=this.strict,r=!1;if(i)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var n=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!n||(r=this.strictDirective(this.end))&&n&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var a=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(t,!s&&!r&&!e&&this.isSimpleParamList(t.params)),t.body=this.parseBlock(!1),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=a}this.exitFunctionScope(),this.strict&&t.id&&this.checkLVal(t.id,"none"),this.strict=s},Q.isSimpleParamList=function(t){for(var e=0,i=t;e0;)e[i]=arguments[i+1];for(var s=0,r=e;s=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},nt.updateContext=function(t){var e,i=this.type;i.keyword&&t===k.dot?this.exprAllowed=!1:(e=i.updateContext)?e.call(this,t):this.exprAllowed=i.beforeExpr},k.parenR.updateContext=k.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===rt.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},k.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?rt.b_stat:rt.b_expr),this.exprAllowed=!0},k.dollarBraceL.updateContext=function(){this.context.push(rt.b_tmpl),this.exprAllowed=!0},k.parenL.updateContext=function(t){var e=t===k._if||t===k._for||t===k._with||t===k._while;this.context.push(e?rt.p_stat:rt.p_expr),this.exprAllowed=!0},k.incDec.updateContext=function(){},k._function.updateContext=k._class.updateContext=function(t){t.beforeExpr&&t!==k.semi&&t!==k._else&&(t!==k.colon&&t!==k.braceL||this.curContext()!==rt.b_stat)?this.context.push(rt.f_expr):this.context.push(rt.f_stat),this.exprAllowed=!1},k.backQuote.updateContext=function(){this.curContext()===rt.q_tmpl?this.context.pop():this.context.push(rt.q_tmpl),this.exprAllowed=!1},k.star.updateContext=function(t){if(t===k._function){var e=this.context.length-1;this.context[e]===rt.f_expr?this.context[e]=rt.f_expr_gen:this.context[e]=rt.f_gen}this.exprAllowed=!0},k.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==k.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var at={$LONE:["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"],General_Category:["Cased_Letter","LC","Close_Punctuation","Pe","Connector_Punctuation","Pc","Control","Cc","cntrl","Currency_Symbol","Sc","Dash_Punctuation","Pd","Decimal_Number","Nd","digit","Enclosing_Mark","Me","Final_Punctuation","Pf","Format","Cf","Initial_Punctuation","Pi","Letter","L","Letter_Number","Nl","Line_Separator","Zl","Lowercase_Letter","Ll","Mark","M","Combining_Mark","Math_Symbol","Sm","Modifier_Letter","Lm","Modifier_Symbol","Sk","Nonspacing_Mark","Mn","Number","N","Open_Punctuation","Ps","Other","C","Other_Letter","Lo","Other_Number","No","Other_Punctuation","Po","Other_Symbol","So","Paragraph_Separator","Zp","Private_Use","Co","Punctuation","P","punct","Separator","Z","Space_Separator","Zs","Spacing_Mark","Mc","Surrogate","Cs","Symbol","S","Titlecase_Letter","Lt","Unassigned","Cn","Uppercase_Letter","Lu"],Script:["Adlam","Adlm","Ahom","Anatolian_Hieroglyphs","Hluw","Arabic","Arab","Armenian","Armn","Avestan","Avst","Balinese","Bali","Bamum","Bamu","Bassa_Vah","Bass","Batak","Batk","Bengali","Beng","Bhaiksuki","Bhks","Bopomofo","Bopo","Brahmi","Brah","Braille","Brai","Buginese","Bugi","Buhid","Buhd","Canadian_Aboriginal","Cans","Carian","Cari","Caucasian_Albanian","Aghb","Chakma","Cakm","Cham","Cherokee","Cher","Common","Zyyy","Coptic","Copt","Qaac","Cuneiform","Xsux","Cypriot","Cprt","Cyrillic","Cyrl","Deseret","Dsrt","Devanagari","Deva","Duployan","Dupl","Egyptian_Hieroglyphs","Egyp","Elbasan","Elba","Ethiopic","Ethi","Georgian","Geor","Glagolitic","Glag","Gothic","Goth","Grantha","Gran","Greek","Grek","Gujarati","Gujr","Gurmukhi","Guru","Han","Hani","Hangul","Hang","Hanunoo","Hano","Hatran","Hatr","Hebrew","Hebr","Hiragana","Hira","Imperial_Aramaic","Armi","Inherited","Zinh","Qaai","Inscriptional_Pahlavi","Phli","Inscriptional_Parthian","Prti","Javanese","Java","Kaithi","Kthi","Kannada","Knda","Katakana","Kana","Kayah_Li","Kali","Kharoshthi","Khar","Khmer","Khmr","Khojki","Khoj","Khudawadi","Sind","Lao","Laoo","Latin","Latn","Lepcha","Lepc","Limbu","Limb","Linear_A","Lina","Linear_B","Linb","Lisu","Lycian","Lyci","Lydian","Lydi","Mahajani","Mahj","Malayalam","Mlym","Mandaic","Mand","Manichaean","Mani","Marchen","Marc","Masaram_Gondi","Gonm","Meetei_Mayek","Mtei","Mende_Kikakui","Mend","Meroitic_Cursive","Merc","Meroitic_Hieroglyphs","Mero","Miao","Plrd","Modi","Mongolian","Mong","Mro","Mroo","Multani","Mult","Myanmar","Mymr","Nabataean","Nbat","New_Tai_Lue","Talu","Newa","Nko","Nkoo","Nushu","Nshu","Ogham","Ogam","Ol_Chiki","Olck","Old_Hungarian","Hung","Old_Italic","Ital","Old_North_Arabian","Narb","Old_Permic","Perm","Old_Persian","Xpeo","Old_South_Arabian","Sarb","Old_Turkic","Orkh","Oriya","Orya","Osage","Osge","Osmanya","Osma","Pahawh_Hmong","Hmng","Palmyrene","Palm","Pau_Cin_Hau","Pauc","Phags_Pa","Phag","Phoenician","Phnx","Psalter_Pahlavi","Phlp","Rejang","Rjng","Runic","Runr","Samaritan","Samr","Saurashtra","Saur","Sharada","Shrd","Shavian","Shaw","Siddham","Sidd","SignWriting","Sgnw","Sinhala","Sinh","Sora_Sompeng","Sora","Soyombo","Soyo","Sundanese","Sund","Syloti_Nagri","Sylo","Syriac","Syrc","Tagalog","Tglg","Tagbanwa","Tagb","Tai_Le","Tale","Tai_Tham","Lana","Tai_Viet","Tavt","Takri","Takr","Tamil","Taml","Tangut","Tang","Telugu","Telu","Thaana","Thaa","Thai","Tibetan","Tibt","Tifinagh","Tfng","Tirhuta","Tirh","Ugaritic","Ugar","Vai","Vaii","Warang_Citi","Wara","Yi","Yiii","Zanabazar_Square","Zanb"]};Array.prototype.push.apply(at.$LONE,at.General_Category),at.gc=at.General_Category,at.sc=at.Script_Extensions=at.scx=at.Script;var ot=F.prototype,ht=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function pt(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function ct(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function ut(t){return t>=65&&t<=90||t>=97&&t<=122}function lt(t){return ut(t)||95===t}function dt(t){return lt(t)||ft(t)}function ft(t){return t>=48&&t<=57}function mt(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function xt(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function gt(t){return t>=48&&t<=55}ht.prototype.reset=function(t,e,i){var s=-1!==i.indexOf("u");this.start=0|t,this.source=e+"",this.flags=i,this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchN=s&&this.parser.options.ecmaVersion>=9},ht.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},ht.prototype.at=function(t){var e=this.source,i=e.length;if(t>=i)return-1;var s=e.charCodeAt(t);return!this.switchU||s<=55295||s>=57344||t+1>=i?s:(s<<10)+e.charCodeAt(t+1)-56613888},ht.prototype.nextIndex=function(t){var e=this.source,i=e.length;if(t>=i)return i;var s=e.charCodeAt(t);return!this.switchU||s<=55295||s>=57344||t+1>=i?t+1:t+2},ht.prototype.current=function(){return this.at(this.pos)},ht.prototype.lookahead=function(){return this.at(this.nextIndex(this.pos))},ht.prototype.advance=function(){this.pos=this.nextIndex(this.pos)},ht.prototype.eat=function(t){return this.current()===t&&(this.advance(),!0)},ot.validateRegExpFlags=function(t){for(var e=t.validFlags,i=t.flags,s=0;s-1&&this.raise(t.start,"Duplicate regular expression flag")}},ot.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},ot.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,i=t.backReferenceNames;e=9&&(i=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!i,!0}return t.pos=e,!1},ot.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},ot.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},ot.regexp_eatBracedQuantifier=function(t,e){var i=t.pos;if(t.eat(123)){var s=0,r=-1;if(this.regexp_eatDecimalDigits(t)&&(s=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(r=t.lastIntValue),t.eat(125)))return-1!==r&&r=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},ot.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},ot.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},ot.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!ct(e)&&(t.lastIntValue=e,t.advance(),!0)},ot.regexp_eatPatternCharacters=function(t){for(var e=t.pos,i=0;-1!==(i=t.current())&&!ct(i);)t.advance();return t.pos!==e},ot.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},ot.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},ot.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},ot.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=pt(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=pt(t.lastIntValue);return!0}return!1},ot.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,i=t.current();return t.advance(),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(i=t.lastIntValue),function(t){return f(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},ot.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,i=t.current();return t.advance(),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(i=t.lastIntValue),function(t){return m(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},ot.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},ot.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var i=t.lastIntValue;if(t.switchU)return i>t.maxBackReference&&(t.maxBackReference=i),!0;if(i<=t.numCapturingParens)return!0;t.pos=e}return!1},ot.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},ot.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},ot.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},ot.regexp_eatZero=function(t){return 48===t.current()&&!ft(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},ot.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},ot.regexp_eatControlLetter=function(t){var e=t.current();return!!ut(e)&&(t.lastIntValue=e%32,t.advance(),!0)},ot.regexp_eatRegExpUnicodeEscapeSequence=function(t){var e,i=t.pos;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(t.switchU&&s>=55296&&s<=56319){var r=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var n=t.lastIntValue;if(n>=56320&&n<=57343)return t.lastIntValue=1024*(s-55296)+(n-56320)+65536,!0}t.pos=r,t.lastIntValue=s}return!0}if(t.switchU&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((e=t.lastIntValue)>=0&&e<=1114111))return!0;t.switchU&&t.raise("Invalid unicode escape"),t.pos=i}return!1},ot.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},ot.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},ot.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},ot.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var i=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var s=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,i,s),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var r=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,r),!0}return!1},ot.regexp_validateUnicodePropertyNameAndValue=function(t,e,i){at.hasOwnProperty(e)&&-1!==at[e].indexOf(i)||t.raise("Invalid property name")},ot.regexp_validateUnicodePropertyNameOrValue=function(t,e){-1===at.$LONE.indexOf(e)&&t.raise("Invalid property name")},ot.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";lt(e=t.current());)t.lastStringValue+=pt(e),t.advance();return""!==t.lastStringValue},ot.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";dt(e=t.current());)t.lastStringValue+=pt(e),t.advance();return""!==t.lastStringValue},ot.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},ot.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},ot.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var i=t.lastIntValue;!t.switchU||-1!==e&&-1!==i||t.raise("Invalid character class"),-1!==e&&-1!==i&&e>i&&t.raise("Range out of order in character class")}}},ot.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var i=t.current();(99===i||gt(i))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var s=t.current();return 93!==s&&(t.lastIntValue=s,t.advance(),!0)},ot.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},ot.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!ft(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},ot.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},ot.regexp_eatDecimalDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;ft(i=t.current());)t.lastIntValue=10*t.lastIntValue+(i-48),t.advance();return t.pos!==e},ot.regexp_eatHexDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;mt(i=t.current());)t.lastIntValue=16*t.lastIntValue+xt(i),t.advance();return t.pos!==e},ot.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var i=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*i+t.lastIntValue:t.lastIntValue=8*e+i}else t.lastIntValue=e;return!0}return!1},ot.regexp_eatOctalDigit=function(t){var e=t.current();return gt(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},ot.regexp_eatFixedHexDigits=function(t,e){var i=t.pos;t.lastIntValue=0;for(var s=0;s>10),56320+(1023&t)))}vt.next=function(){this.options.onToken&&this.options.onToken(new yt(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},vt.getToken=function(){return this.next(),new yt(this)},"undefined"!=typeof Symbol&&(vt[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===k.eof,value:e}}}}),vt.curContext=function(){return this.context[this.context.length-1]},vt.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(k.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},vt.readToken=function(t){return f(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},vt.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.pos+1)-56613888},vt.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),i=this.pos,s=this.input.indexOf("*/",this.pos+=2);if(-1===s&&this.raise(this.pos-2,"Unterminated comment"),this.pos=s+2,this.options.locations)for(S.lastIndex=i;(t=S.exec(this.input))&&t.index8&&t<14||t>=5760&&w.test(String.fromCharCode(t))))break t;++this.pos}}},vt.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=t,this.value=e,this.updateContext(i)},vt.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(k.ellipsis)):(++this.pos,this.finishToken(k.dot))},vt.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(k.assign,2):this.finishOp(k.slash,1)},vt.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),i=1,s=42===t?k.star:k.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++i,s=k.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(k.assign,i+1):this.finishOp(s,i)},vt.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.finishOp(124===t?k.logicalOR:k.logicalAND,2):61===e?this.finishOp(k.assign,2):this.finishOp(124===t?k.bitwiseOR:k.bitwiseAND,1)},vt.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(k.assign,2):this.finishOp(k.bitwiseXOR,1)},vt.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!E.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(k.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(k.assign,2):this.finishOp(k.plusMin,1)},vt.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),i=1;return e===t?(i=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+i)?this.finishOp(k.assign,i+1):this.finishOp(k.bitShift,i)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(i=2),this.finishOp(k.relational,i)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},vt.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(k.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(k.arrow)):this.finishOp(61===t?k.eq:k.prefix,1)},vt.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(k.parenL);case 41:return++this.pos,this.finishToken(k.parenR);case 59:return++this.pos,this.finishToken(k.semi);case 44:return++this.pos,this.finishToken(k.comma);case 91:return++this.pos,this.finishToken(k.bracketL);case 93:return++this.pos,this.finishToken(k.bracketR);case 123:return++this.pos,this.finishToken(k.braceL);case 125:return++this.pos,this.finishToken(k.braceR);case 58:return++this.pos,this.finishToken(k.colon);case 63:return++this.pos,this.finishToken(k.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(k.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 126:return this.finishOp(k.prefix,1)}this.raise(this.pos,"Unexpected character '"+bt(t)+"'")},vt.finishOp=function(t,e){var i=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,i)},vt.readRegexp=function(){for(var t,e,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(E.test(s)&&this.raise(i,"Unterminated regular expression"),t)t=!1;else{if("["===s)e=!0;else if("]"===s&&e)e=!1;else if("/"===s&&!e)break;t="\\"===s}++this.pos}var r=this.input.slice(i,this.pos);++this.pos;var n=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(n);var o=this.regexpState||(this.regexpState=new ht(this));o.reset(i,r,a),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var h=null;try{h=new RegExp(r,a)}catch(t){}return this.finishToken(k.regexp,{pattern:r,flags:a,value:h})},vt.readInt=function(t,e){for(var i=this.pos,s=0,r=0,n=null==e?1/0:e;r=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=t)break;++this.pos,s=s*t+o}return this.pos===i||null!=e&&this.pos-i!==e?null:s},vt.readRadixNumber=function(t){this.pos+=2;var e=this.readInt(t);return null==e&&this.raise(this.start+2,"Expected number in radix "+t),f(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(k.num,e)},vt.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10)||this.raise(e,"Invalid number");var i=this.pos-e>=2&&48===this.input.charCodeAt(e);i&&this.strict&&this.raise(e,"Invalid number"),i&&/[89]/.test(this.input.slice(e,this.pos))&&(i=!1);var s=this.input.charCodeAt(this.pos);46!==s||i||(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),69!==s&&101!==s||i||(43!==(s=this.input.charCodeAt(++this.pos))&&45!==s||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),f(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r=this.input.slice(e,this.pos),n=i?parseInt(r,8):parseFloat(r);return this.finishToken(k.num,n)},vt.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},vt.readString=function(t){for(var e="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===t)break;92===s?(e+=this.input.slice(i,this.pos),e+=this.readEscapedChar(!1),i=this.pos):(C(s,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(i,this.pos++),this.finishToken(k.string,e)};var _t={};vt.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==_t)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},vt.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw _t;this.raise(t,e)},vt.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(96===i||36===i&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==k.template&&this.type!==k.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(k.template,t)):36===i?(this.pos+=2,this.finishToken(k.dollarBraceL)):(++this.pos,this.finishToken(k.backQuote));if(92===i)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(C(i)){switch(t+=this.input.slice(e,this.pos),++this.pos,i){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(i)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},vt.readInvalidTemplateToken=function(){for(;this.pos=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],s=parseInt(i,8);return s>255&&(i=i.slice(0,-1),s=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(s)}return String.fromCharCode(e)}},vt.readHexChar=function(t){var e=this.pos,i=this.readInt(16,t);return null===i&&this.invalidStringToken(e,"Bad character escape sequence"),i},vt.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos0?t[0].toUpperCase()+t.slice(1):t}).join(""),s))},{});case"object":return t;default:return}}var p=function(){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,i=String(t),s=0;return i.split("").forEach(function(t){s=(s<<5)-s+t.charCodeAt(0),s&=s}),Math.abs(s).toString(e)}(Math.random().toString())};function c(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var u=function(t,e){return function t(e,i){var s=c(i),r=s[0],n=s.slice(1);if(null!=e&&null!=r)return 0===n.length?e[r]:t(e[r],n)}(t,function(t){return null==t||""===t?[]:t.split(".")}(e))},l={class:"className",for:"htmlFor",maxlength:"maxLength",colspan:"colSpan",rowspan:"rowSpan"},d=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],f=["table","tbody","tfoot","thead","tr"];function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function x(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=[],s=!0,r=!1,n=void 0;try{for(var a,o=t[Symbol.iterator]();!(s=(a=o.next()).done)&&(i.push(a.value),!e||i.length!==e);s=!0);}catch(t){r=!0,n=t}finally{try{s||null==o.return||o.return()}finally{if(r)throw n}}return i}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function v(t,e){return(v=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function b(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}i.d(e,"default",function(){return k});var _={plugins:{jsx:!0}},k=function(t){function e(){var t,i,r,a;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);for(var o=arguments.length,c=new Array(o),v=0;v"),r=[];try{r=(r=new s.Parser(_,e).parse()).body[0].expression.children||[]}catch(t){return i.props.showWarnings&&console.warn(t),i.props.onError&&i.props.onError(t),[]}return r.map(i.parseExpression).filter(Boolean)}),b(y(i),"parseExpression",function(t){switch(t.type){case"JSXElement":return i.parseElement(t);case"JSXText":return t.value||"";case"JSXAttribute":return null===t.value||i.parseExpression(t.value);case"ArrayExpression":return t.elements.map(i.parseExpression);case"ObjectExpression":var e={};return t.properties.forEach(function(t){e[t.key.name||t.key.value]=i.parseExpression(t.value)}),e;case"Identifier":return(i.props.bindings||{})[t.name];case"JSXExpressionContainer":return i.parseExpression(t.expression);case"Literal":return t.value;case"MemberExpression":return(i.parseExpression(t.object)||{})[t.property.name];case"CallExpression":return i.parseExpression(t.callee);case"LogicalExpression":var s=i.parseExpression(t.left);return!("||"!==t.operator||!s)||!!("&&"===t.operator&&s||"||"===t.operator&&!s)&&i.parseExpression(t.right);case"BinaryExpression":switch(t.operator){case"+":return i.parseExpression(t.left)+i.parseExpression(t.right);case"-":return i.parseExpression(t.left)-i.parseExpression(t.right);case"*":return i.parseExpression(t.left)*i.parseExpression(t.right);case"/":return i.parseExpression(t.left)/i.parseExpression(t.right)}break;case"UnaryExpression":switch(t.operator){case"+":return t.argument.value;case"-":return-1*t.argument.value;case"!":return(!t.argument.value).toString()}}}),b(y(i),"parseName",function(t){switch(t.type){case"JSXIdentifier":return t.name;case"JSXMemberExpression":return"".concat(i.parseName(t.object),".").concat(i.parseName(t.property))}}),b(y(i),"parseElement",function(t){var e=i.props,s=e.allowUnknownElements,r=e.components,a=void 0===r?{}:r,o=e.componentsOnly,c=e.onError,g=t.children,y=void 0===g?[]:g,v=t.openingElement,b=v.attributes,_=void 0===b?[]:b,k=i.parseName(v.name);if(k){var E=(i.props.blacklistedAttrs||[]).map(function(t){return t instanceof RegExp?t:new RegExp(t,"i")}),S=(i.props.blacklistedTags||[]).map(function(t){return t.trim().toLowerCase()}).filter(Boolean);if(/^(html|head|body)$/i.test(k))return y.map(function(t){return i.parseElement(t)});if(-1===S.indexOf(k.trim().toLowerCase())){if(!u(a,k)){if(o)return;if(!s&&document.createElement(k)instanceof HTMLUnknownElement)return void c("Error: The tag <".concat(k,"> is unrecognized in this browser, and will not be rendered."))}var C,w,A=u(a,k);if(A||(w=k,-1===d.indexOf(w.toLowerCase())))if(C=y.map(i.parseExpression),A||function(t){return-1!==f.indexOf(t.toLowerCase())}(k)||(C=C.filter(function(t){return"string"!=typeof t||!/^\s*$/.test(t)})),0===C.length)C=void 0;else if(1===C.length){C=x(C,1)[0]}var T={key:p()};return _.forEach(function(t){if("JSXAttribute"===t.type){var e=t.name.name,s=l[e]||e,r=i.parseExpression(t);0===E.filter(function(t){return t.test(s)}).length&&(T[s]="true"===r||"false"===r?"true"===r:r)}else if("JSXSpreadAttribute"===t.type&&"Identifier"===t.argument.type||"MemberExpression"===t.argument.type){var n=i.parseExpression(t.argument);"object"===m(n)&&Object.keys(n).forEach(function(t){var e=l[t]||t;0===E.filter(function(t){return t.test(e)}).length&&(T[e]=n[t])})}}),"string"==typeof T.style&&(T.style=h(T.style)),C&&(T.children=C),n.a.createElement(A||k.toLowerCase(),T)}}else c("Error: The <".concat(v.name,"> tag could not be parsed, and will not be rendered."))}),b(y(i),"render",function(){var t=(i.props.jsx||"").trim().replace(/]*)>/g,"");return i.ParsedChildren=i.parseJSX(t),i.props.renderInWrapper?n.a.createElement("div",{className:"jsx-parser"},i.ParsedChildren):n.a.createElement(n.a.Fragment,null,i.ParsedChildren)}),i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&v(t,e)}(e,r["Component"]),e}();b(k,"displayName","JsxParser"),b(k,"defaultProps",{allowUnknownElements:!0,bindings:{},blacklistedAttrs:[/^on.+/i],blacklistedTags:["script"],components:[],componentsOnly:!1,jsx:"",onError:function(){},showWarnings:!1,renderInWrapper:!0})}])});
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react")):"function"==typeof define&&define.amd?define("react-jsx-parser",["react"],e):"object"==typeof exports?exports["react-jsx-parser"]=e(require("react")):t["react-jsx-parser"]=e(t.react)}(this,function(t){return function(t){var e={};function i(s){if(e[s])return e[s].exports;var r=e[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(s,r,function(e){return t[e]}.bind(null,r));return s},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=5)}([function(e,i){e.exports=t},function(t,e,i){"use strict";t.exports=i(2)(i(4))},function(t,e,i){"use strict";var s=i(3),r=/^[\da-fA-F]+$/,n=/^\d+$/;t.exports=function(t){var e=t.tokTypes,i=t.tokContexts;i.j_oTag=new t.TokContext("...",!0,!0),e.jsxName=new t.TokenType("jsxName"),e.jsxText=new t.TokenType("jsxText",{beforeExpr:!0}),e.jsxTagStart=new t.TokenType("jsxTagStart"),e.jsxTagEnd=new t.TokenType("jsxTagEnd"),e.jsxTagStart.updateContext=function(){this.context.push(i.j_expr),this.context.push(i.j_oTag),this.exprAllowed=!1},e.jsxTagEnd.updateContext=function(t){var s=this.context.pop();s===i.j_oTag&&t===e.slash||s===i.j_cTag?(this.context.pop(),this.exprAllowed=this.curContext()===i.j_expr):this.exprAllowed=!0};var a=t.Parser.prototype;function o(t){return t?"JSXIdentifier"===t.type?t.name:"JSXNamespacedName"===t.type?t.namespace.name+":"+t.name.name:"JSXMemberExpression"===t.type?o(t.object)+"."+o(t.property):void 0:t}return a.jsx_readToken=function(){for(var i="",s=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");var r=this.input.charCodeAt(this.pos);switch(r){case 60:case 123:return this.pos===this.start?60===r&&this.exprAllowed?(++this.pos,this.finishToken(e.jsxTagStart)):this.getTokenFromCode(r):(i+=this.input.slice(s,this.pos),this.finishToken(e.jsxText,i));case 38:i+=this.input.slice(s,this.pos),i+=this.jsx_readEntity(),s=this.pos;break;default:t.isNewLine(r)?(i+=this.input.slice(s,this.pos),i+=this.jsx_readNewLine(!0),s=this.pos):++this.pos}}},a.jsx_readNewLine=function(t){var e,i=this.input.charCodeAt(this.pos);return++this.pos,13===i&&10===this.input.charCodeAt(this.pos)?(++this.pos,e=t?"\n":"\r\n"):e=String.fromCharCode(i),this.options.locations&&(++this.curLine,this.lineStart=this.pos),e},a.jsx_readString=function(i){for(var s="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var n=this.input.charCodeAt(this.pos);if(n===i)break;38===n?(s+=this.input.slice(r,this.pos),s+=this.jsx_readEntity(),r=this.pos):t.isNewLine(n)?(s+=this.input.slice(r,this.pos),s+=this.jsx_readNewLine(!1),r=this.pos):++this.pos}return s+=this.input.slice(r,this.pos++),this.finishToken(e.string,s)},a.jsx_readEntity=function(){var t,e="",i=0,a=this.input[this.pos];"&"!==a&&this.raise(this.pos,"Entity must start with an ampersand");for(var o=++this.pos;this.pos")}return s.openingElement=n,s.closingElement=a,s.children=r,this.type===e.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(s,n.name?"JSXElement":"JSXFragment")},a.jsx_parseText=function(t){var e=this.parseLiteral(t);return e.type="JSXText",e},a.jsx_parseElement=function(){var t=this.start,e=this.startLoc;return this.next(),this.jsx_parseElementAt(t,e)},t.plugins.jsx=function(s,r){r&&("object"!=typeof r&&(r={}),s.options.plugins.jsx={allowNamespaces:!1!==r.allowNamespaces,allowNamespacedObjects:!!r.allowNamespacedObjects},s.extend("parseExprAtom",function(t){return function(i){return this.type===e.jsxText?this.jsx_parseText(this.value):this.type===e.jsxTagStart?this.jsx_parseElement():t.call(this,i)}}),s.extend("readToken",function(s){return function(r){var n=this.curContext();if(n===i.j_expr)return this.jsx_readToken();if(n===i.j_oTag||n===i.j_cTag){if(t.isIdentifierStart(r))return this.jsx_readWord();if(62==r)return++this.pos,this.finishToken(e.jsxTagEnd);if((34===r||39===r)&&n==i.j_oTag)return this.jsx_readString(r)}return 60===r&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(e.jsxTagStart)):s.call(this,r)}}),s.extend("updateContext",function(t){return function(s){if(this.type==e.braceL){var r=this.curContext();r==i.j_oTag?this.context.push(i.b_expr):r==i.j_expr?this.context.push(i.b_tmpl):t.call(this,s),this.exprAllowed=!0}else{if(this.type!==e.slash||s!==e.jsxTagStart)return t.call(this,s);this.context.length-=2,this.context.push(i.j_cTag),this.exprAllowed=!1}}}))},t}},function(t,e){t.exports={quot:'"',amp:"&",apos:"'",lt:"<",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:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}},function(t,e,i){"use strict";i.r(e),i.d(e,"version",function(){return Ct}),i.d(e,"parse",function(){return wt}),i.d(e,"parseExpressionAt",function(){return At}),i.d(e,"tokenizer",function(){return Tt}),i.d(e,"parse_dammit",function(){return kt}),i.d(e,"LooseParser",function(){return Et}),i.d(e,"pluginsLoose",function(){return St}),i.d(e,"addLooseExports",function(){return Nt}),i.d(e,"Parser",function(){return F}),i.d(e,"plugins",function(){return D}),i.d(e,"defaultOptions",function(){return R}),i.d(e,"Position",function(){return V}),i.d(e,"SourceLocation",function(){return j}),i.d(e,"getLineInfo",function(){return O}),i.d(e,"Node",function(){return tt}),i.d(e,"TokenType",function(){return x}),i.d(e,"tokTypes",function(){return k}),i.d(e,"keywordTypes",function(){return b}),i.d(e,"TokContext",function(){return st}),i.d(e,"tokContexts",function(){return rt}),i.d(e,"isIdentifierChar",function(){return m}),i.d(e,"isIdentifierStart",function(){return f}),i.d(e,"Token",function(){return yt}),i.d(e,"isNewLine",function(){return C}),i.d(e,"lineBreak",function(){return E}),i.d(e,"lineBreakG",function(){return S}),i.d(e,"nonASCIIwhitespace",function(){return w});var s={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},r="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",n={5:r,6:r+" const class extends export import super"},a=/^in(stanceof)?$/,o="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞹꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",h="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",p=new RegExp("["+o+"]"),c=new RegExp("["+o+h+"]");o=h=null;var u=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function d(t,e){for(var i=65536,s=0;st)return!1;if((i+=e[s+1])>=t)return!0}}function f(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&p.test(String.fromCharCode(t)):!1!==e&&d(t,u)))}function m(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&c.test(String.fromCharCode(t)):!1!==e&&(d(t,u)||d(t,l)))))}var x=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function g(t,e){return new x(t,{beforeExpr:!0,binop:e})}var y={beforeExpr:!0},v={startsExpr:!0},b={};function _(t,e){return void 0===e&&(e={}),e.keyword=t,b[t]=new x(t,e)}var k={num:new x("num",v),regexp:new x("regexp",v),string:new x("string",v),name:new x("name",v),eof:new x("eof"),bracketL:new x("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new x("]"),braceL:new x("{",{beforeExpr:!0,startsExpr:!0}),braceR:new x("}"),parenL:new x("(",{beforeExpr:!0,startsExpr:!0}),parenR:new x(")"),comma:new x(",",y),semi:new x(";",y),colon:new x(":",y),dot:new x("."),question:new x("?",y),arrow:new x("=>",y),template:new x("template"),invalidTemplate:new x("invalidTemplate"),ellipsis:new x("...",y),backQuote:new x("`",v),dollarBraceL:new x("${",{beforeExpr:!0,startsExpr:!0}),eq:new x("=",{beforeExpr:!0,isAssign:!0}),assign:new x("_=",{beforeExpr:!0,isAssign:!0}),incDec:new x("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new x("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:g("||",1),logicalAND:g("&&",2),bitwiseOR:g("|",3),bitwiseXOR:g("^",4),bitwiseAND:g("&",5),equality:g("==/!=/===/!==",6),relational:g(">/<=/>=",7),bitShift:g("<>>/>>>",8),plusMin:new x("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:g("%",10),star:g("*",10),slash:g("/",10),starstar:new x("**",{beforeExpr:!0}),_break:_("break"),_case:_("case",y),_catch:_("catch"),_continue:_("continue"),_debugger:_("debugger"),_default:_("default",y),_do:_("do",{isLoop:!0,beforeExpr:!0}),_else:_("else",y),_finally:_("finally"),_for:_("for",{isLoop:!0}),_function:_("function",v),_if:_("if"),_return:_("return",y),_switch:_("switch"),_throw:_("throw",y),_try:_("try"),_var:_("var"),_const:_("const"),_while:_("while",{isLoop:!0}),_with:_("with"),_new:_("new",{beforeExpr:!0,startsExpr:!0}),_this:_("this",v),_super:_("super",v),_class:_("class",v),_extends:_("extends",y),_export:_("export"),_import:_("import"),_null:_("null",v),_true:_("true",v),_false:_("false",v),_in:_("in",{beforeExpr:!0,binop:7}),_instanceof:_("instanceof",{beforeExpr:!0,binop:7}),_typeof:_("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:_("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:_("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},E=/\r\n?|\n|\u2028|\u2029/,S=new RegExp(E.source,"g");function C(t,e){return 10===t||13===t||!e&&(8232===t||8233===t)}var w=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,A=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,T=Object.prototype,N=T.hasOwnProperty,P=T.toString;function I(t,e){return N.call(t,e)}var L=Array.isArray||function(t){return"[object Array]"===P.call(t)},V=function(t,e){this.line=t,this.column=e};V.prototype.offset=function(t){return new V(this.line,this.column+t)};var j=function(t,e,i){this.start=e,this.end=i,null!==t.sourceFile&&(this.source=t.sourceFile)};function O(t,e){for(var i=1,s=0;;){S.lastIndex=s;var r=S.exec(t);if(!(r&&r.index=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),L(e.onToken)){var s=e.onToken;e.onToken=function(t){return s.push(t)}}return L(e.onComment)&&(e.onComment=function(t,e){return function(i,s,r,n,a,o){var h={type:i?"Block":"Line",value:s,start:r,end:n};t.locations&&(h.loc=new j(this,a,o)),t.ranges&&(h.range=[r,n]),e.push(h)}}(e,e.onComment)),e}var D={};function B(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var F=function(t,e,i){this.options=t=M(t),this.sourceFile=t.sourceFile,this.keywords=B(n[t.ecmaVersion>=6?6:5]);var r="";if(!t.allowReserved){for(var a=t.ecmaVersion;!(r=s[a]);a--);"module"===t.sourceType&&(r+=" await")}this.reservedWords=B(r);var o=(r?r+" ":"")+s.strict;this.reservedWordsStrict=B(o),this.reservedWordsStrictBind=B(o+" "+s.strictBind),this.input=String(e),this.containsEsc=!1,this.loadPlugins(t.plugins),i?(this.pos=i,this.lineStart=this.input.lastIndexOf("\n",i-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(E).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=k.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.inFunction=this.inGenerator=this.inAsync=!1,this.yieldPos=this.awaitPos=0,this.labels=[],0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterFunctionScope(),this.regexpState=null};F.prototype.isKeyword=function(t){return this.keywords.test(t)},F.prototype.isReservedWord=function(t){return this.reservedWords.test(t)},F.prototype.extend=function(t,e){this[t]=e(this[t])},F.prototype.loadPlugins=function(t){for(var e in t){var i=D[e];if(!i)throw new Error("Plugin '"+e+"' not found");i(this,t[e])}},F.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)};var U=F.prototype,q=/^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)"|;)/;function G(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}U.strictDirective=function(t){for(;;){A.lastIndex=t,t+=A.exec(this.input)[0].length;var e=q.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2]))return!0;t+=e[0].length}},U.eat=function(t){return this.type===t&&(this.next(),!0)},U.isContextual=function(t){return this.type===k.name&&this.value===t&&!this.containsEsc},U.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},U.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},U.canInsertSemicolon=function(){return this.type===k.eof||this.type===k.braceR||E.test(this.input.slice(this.lastTokEnd,this.start))},U.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},U.semicolon=function(){this.eat(k.semi)||this.insertSemicolon()||this.unexpected()},U.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},U.expect=function(t){this.eat(t)||this.unexpected()},U.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")},U.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var i=e?t.parenthesizedAssign:t.parenthesizedBind;i>-1&&this.raiseRecoverable(i,"Parenthesized pattern")}},U.checkExpressionErrors=function(t,e){if(!t)return!1;var i=t.shorthandAssign,s=t.doubleProto;if(!e)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},U.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&(t.sourceType=this.options.sourceType),this.finishNode(t,"Program")};var W={kind:"loop"},H={kind:"switch"};X.isLet=function(){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;A.lastIndex=this.pos;var t=A.exec(this.input),e=this.pos+t[0].length,i=this.input.charCodeAt(e);if(91===i||123===i)return!0;if(f(i,!0)){for(var s=e+1;m(this.input.charCodeAt(s),!0);)++s;var r=this.input.slice(e,s);if(!a.test(r))return!0}return!1},X.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;A.lastIndex=this.pos;var t=A.exec(this.input),e=this.pos+t[0].length;return!(E.test(this.input.slice(this.pos,e))||"function"!==this.input.slice(e,e+8)||e+8!==this.input.length&&m(this.input.charAt(e+8)))},X.parseStatement=function(t,e,i){var s,r=this.type,n=this.startNode();switch(this.isLet()&&(r=k._var,s="let"),r){case k._break:case k._continue:return this.parseBreakContinueStatement(n,r.keyword);case k._debugger:return this.parseDebuggerStatement(n);case k._do:return this.parseDoStatement(n);case k._for:return this.parseForStatement(n);case k._function:return!t&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1);case k._class:return t||this.unexpected(),this.parseClass(n,!0);case k._if:return this.parseIfStatement(n);case k._return:return this.parseReturnStatement(n);case k._switch:return this.parseSwitchStatement(n);case k._throw:return this.parseThrowStatement(n);case k._try:return this.parseTryStatement(n);case k._const:case k._var:return s=s||this.value,t||"var"===s||this.unexpected(),this.parseVarStatement(n,s);case k._while:return this.parseWhileStatement(n);case k._with:return this.parseWithStatement(n);case k.braceL:return this.parseBlock();case k.semi:return this.parseEmptyStatement(n);case k._export:case k._import:return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===k._import?this.parseImport(n):this.parseExport(n,i);default:if(this.isAsyncFunction())return t||this.unexpected(),this.next(),this.parseFunctionStatement(n,!0);var a=this.value,o=this.parseExpression();return r===k.name&&"Identifier"===o.type&&this.eat(k.colon)?this.parseLabeledStatement(n,a,o):this.parseExpressionStatement(n,o)}},X.parseBreakContinueStatement=function(t,e){var i="break"===e;this.next(),this.eat(k.semi)||this.insertSemicolon()?t.label=null:this.type!==k.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(k.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},X.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(W),this.enterLexicalScope(),this.expect(k.parenL),this.type===k.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var i=this.isLet();if(this.type===k._var||this.type===k._const||i){var s=this.startNode(),r=i?"let":this.value;return this.next(),this.parseVar(s,!0,r),this.finishNode(s,"VariableDeclaration"),!(this.type===k._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==s.declarations.length||"var"!==r&&s.declarations[0].init?(e>-1&&this.unexpected(e),this.parseFor(t,s)):(this.options.ecmaVersion>=9&&(this.type===k._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,s))}var n=new G,a=this.parseExpression(!0,n);return this.type===k._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===k._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(a,!1,n),this.checkLVal(a),this.parseForIn(t,a)):(this.checkExpressionErrors(n,!0),e>-1&&this.unexpected(e),this.parseFor(t,a))},X.parseFunctionStatement=function(t,e){return this.next(),this.parseFunction(t,!0,!1,e)},X.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement(!this.strict&&this.type===k._function),t.alternate=this.eat(k._else)?this.parseStatement(!this.strict&&this.type===k._function):null,this.finishNode(t,"IfStatement")},X.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(k.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},X.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(k.braceL),this.labels.push(H),this.enterLexicalScope();for(var i=!1;this.type!==k.braceR;)if(this.type===k._case||this.type===k._default){var s=this.type===k._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),s?e.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,e.test=null),this.expect(k.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(!0));return this.exitLexicalScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},X.parseThrowStatement=function(t){return this.next(),E.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var J=[];X.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===k._catch){var e=this.startNode();this.next(),this.eat(k.parenL)?(e.param=this.parseBindingAtom(),this.enterLexicalScope(),this.checkLVal(e.param,"let"),this.expect(k.parenR)):(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterLexicalScope()),e.body=this.parseBlock(!1),this.exitLexicalScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(k._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},X.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},X.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(W),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,"WhileStatement")},X.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement(!1),this.finishNode(t,"WithStatement")},X.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},X.parseLabeledStatement=function(t,e,i){for(var s=0,r=this.labels;s=0;a--){var o=this.labels[a];if(o.statementStart!==t.start)break;o.statementStart=this.start,o.kind=n}return this.labels.push({name:e,kind:n,statementStart:this.start}),t.body=this.parseStatement(!0),("ClassDeclaration"===t.body.type||"VariableDeclaration"===t.body.type&&"var"!==t.body.kind||"FunctionDeclaration"===t.body.type&&(this.strict||t.body.generator||t.body.async))&&this.raiseRecoverable(t.body.start,"Invalid labeled declaration"),this.labels.pop(),t.label=i,this.finishNode(t,"LabeledStatement")},X.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},X.parseBlock=function(t){void 0===t&&(t=!0);var e=this.startNode();for(e.body=[],this.expect(k.braceL),t&&this.enterLexicalScope();!this.eat(k.braceR);){var i=this.parseStatement(!0);e.body.push(i)}return t&&this.exitLexicalScope(),this.finishNode(e,"BlockStatement")},X.parseFor=function(t,e){return t.init=e,this.expect(k.semi),t.test=this.type===k.semi?null:this.parseExpression(),this.expect(k.semi),t.update=this.type===k.parenR?null:this.parseExpression(),this.expect(k.parenR),this.exitLexicalScope(),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,"ForStatement")},X.parseForIn=function(t,e){var i=this.type===k._in?"ForInStatement":"ForOfStatement";return this.next(),"ForInStatement"===i&&("AssignmentPattern"===e.type||"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(this.strict||"Identifier"!==e.declarations[0].id.type))&&this.raise(e.start,"Invalid assignment in for-in loop head"),t.left=e,t.right="ForInStatement"===i?this.parseExpression():this.parseMaybeAssign(),this.expect(k.parenR),this.exitLexicalScope(),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,i)},X.parseVar=function(t,e,i){for(t.declarations=[],t.kind=i;;){var s=this.startNode();if(this.parseVarId(s,i),this.eat(k.eq)?s.init=this.parseMaybeAssign(e):"const"!==i||this.type===k._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===s.id.type||e&&(this.type===k._in||this.isContextual("of"))?s.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(s,"VariableDeclarator")),!this.eat(k.comma))break}return t},X.parseVarId=function(t,e){t.id=this.parseBindingAtom(e),this.checkLVal(t.id,e,!1)},X.parseFunction=function(t,e,i,s){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(t.generator=this.eat(k.star)),this.options.ecmaVersion>=8&&(t.async=!!s),e&&(t.id="nullableID"===e&&this.type!==k.name?null:this.parseIdent(),t.id&&this.checkLVal(t.id,this.inModule&&!this.inFunction?"let":"var"));var r=this.inGenerator,n=this.inAsync,a=this.yieldPos,o=this.awaitPos,h=this.inFunction;return this.inGenerator=t.generator,this.inAsync=t.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),e||(t.id=this.type===k.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,i),this.inGenerator=r,this.inAsync=n,this.yieldPos=a,this.awaitPos=o,this.inFunction=h,this.finishNode(t,e?"FunctionDeclaration":"FunctionExpression")},X.parseFunctionParams=function(t){this.expect(k.parenL),t.params=this.parseBindingList(k.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},X.parseClass=function(t,e){this.next(),this.parseClassId(t,e),this.parseClassSuper(t);var i=this.startNode(),s=!1;for(i.body=[],this.expect(k.braceL);!this.eat(k.braceR);){var r=this.parseClassMember(i);r&&"MethodDefinition"===r.type&&"constructor"===r.kind&&(s&&this.raise(r.start,"Duplicate constructor in the same class"),s=!0)}return t.body=this.finishNode(i,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},X.parseClassMember=function(t){var e=this;if(this.eat(k.semi))return null;var i=this.startNode(),s=function(t,s){void 0===s&&(s=!1);var r=e.start,n=e.startLoc;return!!e.eatContextual(t)&&(!(e.type===k.parenL||s&&e.canInsertSemicolon())||(i.key&&e.unexpected(),i.computed=!1,i.key=e.startNodeAt(r,n),i.key.name=t,e.finishNode(i.key,"Identifier"),!1))};i.kind="method",i.static=s("static");var r=this.eat(k.star),n=!1;r||(this.options.ecmaVersion>=8&&s("async",!0)?(n=!0,r=this.options.ecmaVersion>=9&&this.eat(k.star)):s("get")?i.kind="get":s("set")&&(i.kind="set")),i.key||this.parsePropertyName(i);var a=i.key;return i.computed||i.static||!("Identifier"===a.type&&"constructor"===a.name||"Literal"===a.type&&"constructor"===a.value)?i.static&&"Identifier"===a.type&&"prototype"===a.name&&this.raise(a.start,"Classes may not have a static property named prototype"):("method"!==i.kind&&this.raise(a.start,"Constructor can't have get/set modifier"),r&&this.raise(a.start,"Constructor can't be a generator"),n&&this.raise(a.start,"Constructor can't be an async method"),i.kind="constructor"),this.parseClassMethod(t,i,r,n),"get"===i.kind&&0!==i.value.params.length&&this.raiseRecoverable(i.value.start,"getter should have no params"),"set"===i.kind&&1!==i.value.params.length&&this.raiseRecoverable(i.value.start,"setter should have exactly one param"),"set"===i.kind&&"RestElement"===i.value.params[0].type&&this.raiseRecoverable(i.value.params[0].start,"Setter cannot use rest params"),i},X.parseClassMethod=function(t,e,i,s){e.value=this.parseMethod(i,s),t.body.push(this.finishNode(e,"MethodDefinition"))},X.parseClassId=function(t,e){t.id=this.type===k.name?this.parseIdent():!0===e?this.unexpected():null},X.parseClassSuper=function(t){t.superClass=this.eat(k._extends)?this.parseExprSubscripts():null},X.parseExport=function(t,e){if(this.next(),this.eat(k.star))return this.expectContextual("from"),this.type!==k.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(k._default)){var i;if(this.checkExport(e,"default",this.lastTokStart),this.type===k._function||(i=this.isAsyncFunction())){var s=this.startNode();this.next(),i&&this.next(),t.declaration=this.parseFunction(s,"nullableID",!1,i)}else if(this.type===k._class){var r=this.startNode();t.declaration=this.parseClass(r,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(!0),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==k.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var n=0,a=t.specifiers;n=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Can not use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,r=t.properties;s=6)switch(this.type){case k.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(k.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case k.braceL:return this.parseObj(!0)}return this.parseIdent()},z.parseBindingList=function(t,e,i){for(var s=[],r=!0;!this.eat(t);)if(r?r=!1:this.expect(k.comma),e&&this.type===k.comma)s.push(null);else{if(i&&this.afterTrailingComma(t))break;if(this.type===k.ellipsis){var n=this.parseRestBinding();this.parseBindingListItem(n),s.push(n),this.type===k.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}var a=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(a),s.push(a)}return s},z.parseBindingListItem=function(t){return t},z.parseMaybeDefault=function(t,e,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(k.eq))return i;var s=this.startNodeAt(t,e);return s.left=i,s.right=this.parseMaybeAssign(),this.finishNode(s,"AssignmentPattern")},z.checkLVal=function(t,e,i){switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(e?"Binding ":"Assigning to ")+t.name+" in strict mode"),i&&(I(i,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),i[t.name]=!0),e&&"none"!==e&&(("var"===e&&!this.canDeclareVarName(t.name)||"var"!==e&&!this.canDeclareLexicalName(t.name))&&this.raiseRecoverable(t.start,"Identifier '"+t.name+"' has already been declared"),"var"===e?this.declareVarName(t.name):this.declareLexicalName(t.name));break;case"MemberExpression":e&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ObjectPattern":for(var s=0,r=t.properties;s=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var s,r=t.key;switch(r.type){case"Identifier":s=r.name;break;case"Literal":s=String(r.value);break;default:return}var n=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===s&&"init"===n&&(e.proto&&(i&&i.doubleProto<0?i.doubleProto=r.start:this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),e.proto=!0);else{var a=e[s="$"+s];if(a)("init"===n?this.strict&&a.init||a.get||a.set:a.init||a[n])&&this.raiseRecoverable(r.start,"Redefinition of property");else a=e[s]={init:!1,get:!1,set:!1};a[n]=!0}}},Q.parseExpression=function(t,e){var i=this.start,s=this.startLoc,r=this.parseMaybeAssign(t,e);if(this.type===k.comma){var n=this.startNodeAt(i,s);for(n.expressions=[r];this.eat(k.comma);)n.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(n,"SequenceExpression")}return r},Q.parseMaybeAssign=function(t,e,i){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var s=!1,r=-1,n=-1;e?(r=e.parenthesizedAssign,n=e.trailingComma,e.parenthesizedAssign=e.trailingComma=-1):(e=new G,s=!0);var a=this.start,o=this.startLoc;this.type!==k.parenL&&this.type!==k.name||(this.potentialArrowAt=this.start);var h=this.parseMaybeConditional(t,e);if(i&&(h=i.call(this,h,a,o)),this.type.isAssign){var p=this.startNodeAt(a,o);return p.operator=this.value,p.left=this.type===k.eq?this.toAssignable(h,!1,e):h,s||G.call(e),e.shorthandAssign=-1,this.checkLVal(h),this.next(),p.right=this.parseMaybeAssign(t),this.finishNode(p,"AssignmentExpression")}return s&&this.checkExpressionErrors(e,!0),r>-1&&(e.parenthesizedAssign=r),n>-1&&(e.trailingComma=n),h},Q.parseMaybeConditional=function(t,e){var i=this.start,s=this.startLoc,r=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return r;if(this.eat(k.question)){var n=this.startNodeAt(i,s);return n.test=r,n.consequent=this.parseMaybeAssign(),this.expect(k.colon),n.alternate=this.parseMaybeAssign(t),this.finishNode(n,"ConditionalExpression")}return r},Q.parseExprOps=function(t,e){var i=this.start,s=this.startLoc,r=this.parseMaybeUnary(e,!1);return this.checkExpressionErrors(e)?r:r.start===i&&"ArrowFunctionExpression"===r.type?r:this.parseExprOp(r,i,s,-1,t)},Q.parseExprOp=function(t,e,i,s,r){var n=this.type.binop;if(null!=n&&(!r||this.type!==k._in)&&n>s){var a=this.type===k.logicalOR||this.type===k.logicalAND,o=this.value;this.next();var h=this.start,p=this.startLoc,c=this.parseExprOp(this.parseMaybeUnary(null,!1),h,p,n,r),u=this.buildBinary(e,i,t,c,o,a);return this.parseExprOp(u,e,i,s,r)}return t},Q.buildBinary=function(t,e,i,s,r,n){var a=this.startNodeAt(t,e);return a.left=i,a.operator=r,a.right=s,this.finishNode(a,n?"LogicalExpression":"BinaryExpression")},Q.parseMaybeUnary=function(t,e){var i,s=this.start,r=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))i=this.parseAwait(),e=!0;else if(this.type.prefix){var n=this.startNode(),a=this.type===k.incDec;n.operator=this.value,n.prefix=!0,this.next(),n.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),a?this.checkLVal(n.argument):this.strict&&"delete"===n.operator&&"Identifier"===n.argument.type?this.raiseRecoverable(n.start,"Deleting local variable in strict mode"):e=!0,i=this.finishNode(n,a?"UpdateExpression":"UnaryExpression")}else{if(i=this.parseExprSubscripts(t),this.checkExpressionErrors(t))return i;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(s,r);o.operator=this.value,o.prefix=!1,o.argument=i,this.checkLVal(i),this.next(),i=this.finishNode(o,"UpdateExpression")}}return!e&&this.eat(k.starstar)?this.buildBinary(s,r,i,this.parseMaybeUnary(null,!1),"**",!1):i},Q.parseExprSubscripts=function(t){var e=this.start,i=this.startLoc,s=this.parseExprAtom(t),r="ArrowFunctionExpression"===s.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);if(this.checkExpressionErrors(t)||r)return s;var n=this.parseSubscripts(s,e,i);return t&&"MemberExpression"===n.type&&(t.parenthesizedAssign>=n.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=n.start&&(t.parenthesizedBind=-1)),n},Q.parseSubscripts=function(t,e,i,s){for(var r=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&"async"===this.input.slice(t.start,t.end),n=void 0;;)if((n=this.eat(k.bracketL))||this.eat(k.dot)){var a=this.startNodeAt(e,i);a.object=t,a.property=n?this.parseExpression():this.parseIdent(!0),a.computed=!!n,n&&this.expect(k.bracketR),t=this.finishNode(a,"MemberExpression")}else if(!s&&this.eat(k.parenL)){var o=new G,h=this.yieldPos,p=this.awaitPos;this.yieldPos=0,this.awaitPos=0;var c=this.parseExprList(k.parenR,this.options.ecmaVersion>=8,!1,o);if(r&&!this.canInsertSemicolon()&&this.eat(k.arrow))return this.checkPatternErrors(o,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=p,this.parseArrowExpression(this.startNodeAt(e,i),c,!0);this.checkExpressionErrors(o,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=p||this.awaitPos;var u=this.startNodeAt(e,i);u.callee=t,u.arguments=c,t=this.finishNode(u,"CallExpression")}else{if(this.type!==k.backQuote)return t;var l=this.startNodeAt(e,i);l.tag=t,l.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(l,"TaggedTemplateExpression")}},Q.parseExprAtom=function(t){var e,i=this.potentialArrowAt===this.start;switch(this.type){case k._super:return this.inFunction||this.raise(this.start,"'super' outside of function or class"),e=this.startNode(),this.next(),this.type!==k.dot&&this.type!==k.bracketL&&this.type!==k.parenL&&this.unexpected(),this.finishNode(e,"Super");case k._this:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case k.name:var s=this.start,r=this.startLoc,n=this.containsEsc,a=this.parseIdent(this.type!==k.name);if(this.options.ecmaVersion>=8&&!n&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(k._function))return this.parseFunction(this.startNodeAt(s,r),!1,!1,!0);if(i&&!this.canInsertSemicolon()){if(this.eat(k.arrow))return this.parseArrowExpression(this.startNodeAt(s,r),[a],!1);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===k.name&&!n)return a=this.parseIdent(),!this.canInsertSemicolon()&&this.eat(k.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,r),[a],!0)}return a;case k.regexp:var o=this.value;return(e=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},e;case k.num:case k.string:return this.parseLiteral(this.value);case k._null:case k._true:case k._false:return(e=this.startNode()).value=this.type===k._null?null:this.type===k._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case k.parenL:var h=this.start,p=this.parseParenAndDistinguishExpression(i);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(p)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),p;case k.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(k.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case k.braceL:return this.parseObj(!1,t);case k._function:return e=this.startNode(),this.next(),this.parseFunction(e,!1);case k._class:return this.parseClass(this.startNode(),!1);case k._new:return this.parseNew();case k.backQuote:return this.parseTemplate();default:this.unexpected()}},Q.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(e,"Literal")},Q.parseParenExpression=function(){this.expect(k.parenL);var t=this.parseExpression();return this.expect(k.parenR),t},Q.parseParenAndDistinguishExpression=function(t){var e,i=this.start,s=this.startLoc,r=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n,a=this.start,o=this.startLoc,h=[],p=!0,c=!1,u=new G,l=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==k.parenR;){if(p?p=!1:this.expect(k.comma),r&&this.afterTrailingComma(k.parenR,!0)){c=!0;break}if(this.type===k.ellipsis){n=this.start,h.push(this.parseParenItem(this.parseRestBinding())),this.type===k.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}h.push(this.parseMaybeAssign(!1,u,this.parseParenItem))}var f=this.start,m=this.startLoc;if(this.expect(k.parenR),t&&!this.canInsertSemicolon()&&this.eat(k.arrow))return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=l,this.awaitPos=d,this.parseParenArrowList(i,s,h);h.length&&!c||this.unexpected(this.lastTokStart),n&&this.unexpected(n),this.checkExpressionErrors(u,!0),this.yieldPos=l||this.yieldPos,this.awaitPos=d||this.awaitPos,h.length>1?((e=this.startNodeAt(a,o)).expressions=h,this.finishNodeAt(e,"SequenceExpression",f,m)):e=h[0]}else e=this.parseParenExpression();if(this.options.preserveParens){var x=this.startNodeAt(i,s);return x.expression=e,this.finishNode(x,"ParenthesizedExpression")}return e},Q.parseParenItem=function(t){return t},Q.parseParenArrowList=function(t,e,i){return this.parseArrowExpression(this.startNodeAt(t,e),i)};var K=[];Q.parseNew=function(){var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(k.dot)){t.meta=e;var i=this.containsEsc;return t.property=this.parseIdent(!0),("target"!==t.property.name||i)&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(t.start,"new.target can only be used in functions"),this.finishNode(t,"MetaProperty")}var s=this.start,r=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(),s,r,!0),this.eat(k.parenL)?t.arguments=this.parseExprList(k.parenR,this.options.ecmaVersion>=8,!1):t.arguments=K,this.finishNode(t,"NewExpression")},Q.parseTemplateElement=function(t){var e=t.isTagged,i=this.startNode();return this.type===k.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),i.tail=this.type===k.backQuote,this.finishNode(i,"TemplateElement")},Q.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:e});for(i.quasis=[s];!s.tail;)this.type===k.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(k.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(k.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(i,"TemplateLiteral")},Q.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===k.name||this.type===k.num||this.type===k.string||this.type===k.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===k.star)&&!E.test(this.input.slice(this.lastTokEnd,this.start))},Q.parseObj=function(t,e){var i=this.startNode(),s=!0,r={};for(i.properties=[],this.next();!this.eat(k.braceR);){if(s)s=!1;else if(this.expect(k.comma),this.afterTrailingComma(k.braceR))break;var n=this.parseProperty(t,e);t||this.checkPropClash(n,r,e),i.properties.push(n)}return this.finishNode(i,t?"ObjectPattern":"ObjectExpression")},Q.parseProperty=function(t,e){var i,s,r,n,a=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(k.ellipsis))return t?(a.argument=this.parseIdent(!1),this.type===k.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(a,"RestElement")):(this.type===k.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),a.argument=this.parseMaybeAssign(!1,e),this.type===k.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(a,"SpreadElement"));this.options.ecmaVersion>=6&&(a.method=!1,a.shorthand=!1,(t||e)&&(r=this.start,n=this.startLoc),t||(i=this.eat(k.star)));var o=this.containsEsc;return this.parsePropertyName(a),!t&&!o&&this.options.ecmaVersion>=8&&!i&&this.isAsyncProp(a)?(s=!0,i=this.options.ecmaVersion>=9&&this.eat(k.star),this.parsePropertyName(a,e)):s=!1,this.parsePropertyValue(a,t,i,s,r,n,e,o),this.finishNode(a,"Property")},Q.parsePropertyValue=function(t,e,i,s,r,n,a,o){if((i||s)&&this.type===k.colon&&this.unexpected(),this.eat(k.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===k.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(i,s);else if(e||o||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===k.comma||this.type===k.braceR)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?(this.checkUnreserved(t.key),t.kind="init",e?t.value=this.parseMaybeDefault(r,n,t.key):this.type===k.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),t.value=this.parseMaybeDefault(r,n,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected();else{(i||s)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var h="get"===t.kind?0:1;if(t.value.params.length!==h){var p=t.value.start;"get"===t.kind?this.raiseRecoverable(p,"getter should have no params"):this.raiseRecoverable(p,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},Q.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(k.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(k.bracketR),t.key;t.computed=!1}return t.key=this.type===k.num||this.type===k.string?this.parseExprAtom():this.parseIdent(!0)},Q.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=!1,t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},Q.parseMethod=function(t,e){var i=this.startNode(),s=this.inGenerator,r=this.inAsync,n=this.yieldPos,a=this.awaitPos,o=this.inFunction;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.inGenerator=i.generator,this.inAsync=i.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),this.expect(k.parenL),i.params=this.parseBindingList(k.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1),this.inGenerator=s,this.inAsync=r,this.yieldPos=n,this.awaitPos=a,this.inFunction=o,this.finishNode(i,"FunctionExpression")},Q.parseArrowExpression=function(t,e,i){var s=this.inGenerator,r=this.inAsync,n=this.yieldPos,a=this.awaitPos,o=this.inFunction;return this.enterFunctionScope(),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!i),this.inGenerator=!1,this.inAsync=t.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0),this.inGenerator=s,this.inAsync=r,this.yieldPos=n,this.awaitPos=a,this.inFunction=o,this.finishNode(t,"ArrowFunctionExpression")},Q.parseFunctionBody=function(t,e){var i=e&&this.type!==k.braceL,s=this.strict,r=!1;if(i)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var n=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!n||(r=this.strictDirective(this.end))&&n&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var a=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(t,!s&&!r&&!e&&this.isSimpleParamList(t.params)),t.body=this.parseBlock(!1),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=a}this.exitFunctionScope(),this.strict&&t.id&&this.checkLVal(t.id,"none"),this.strict=s},Q.isSimpleParamList=function(t){for(var e=0,i=t;e0;)e[i]=arguments[i+1];for(var s=0,r=e;s=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},nt.updateContext=function(t){var e,i=this.type;i.keyword&&t===k.dot?this.exprAllowed=!1:(e=i.updateContext)?e.call(this,t):this.exprAllowed=i.beforeExpr},k.parenR.updateContext=k.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===rt.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},k.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?rt.b_stat:rt.b_expr),this.exprAllowed=!0},k.dollarBraceL.updateContext=function(){this.context.push(rt.b_tmpl),this.exprAllowed=!0},k.parenL.updateContext=function(t){var e=t===k._if||t===k._for||t===k._with||t===k._while;this.context.push(e?rt.p_stat:rt.p_expr),this.exprAllowed=!0},k.incDec.updateContext=function(){},k._function.updateContext=k._class.updateContext=function(t){t.beforeExpr&&t!==k.semi&&t!==k._else&&(t!==k.colon&&t!==k.braceL||this.curContext()!==rt.b_stat)?this.context.push(rt.f_expr):this.context.push(rt.f_stat),this.exprAllowed=!1},k.backQuote.updateContext=function(){this.curContext()===rt.q_tmpl?this.context.pop():this.context.push(rt.q_tmpl),this.exprAllowed=!1},k.star.updateContext=function(t){if(t===k._function){var e=this.context.length-1;this.context[e]===rt.f_expr?this.context[e]=rt.f_expr_gen:this.context[e]=rt.f_gen}this.exprAllowed=!0},k.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==k.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var at={$LONE:["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"],General_Category:["Cased_Letter","LC","Close_Punctuation","Pe","Connector_Punctuation","Pc","Control","Cc","cntrl","Currency_Symbol","Sc","Dash_Punctuation","Pd","Decimal_Number","Nd","digit","Enclosing_Mark","Me","Final_Punctuation","Pf","Format","Cf","Initial_Punctuation","Pi","Letter","L","Letter_Number","Nl","Line_Separator","Zl","Lowercase_Letter","Ll","Mark","M","Combining_Mark","Math_Symbol","Sm","Modifier_Letter","Lm","Modifier_Symbol","Sk","Nonspacing_Mark","Mn","Number","N","Open_Punctuation","Ps","Other","C","Other_Letter","Lo","Other_Number","No","Other_Punctuation","Po","Other_Symbol","So","Paragraph_Separator","Zp","Private_Use","Co","Punctuation","P","punct","Separator","Z","Space_Separator","Zs","Spacing_Mark","Mc","Surrogate","Cs","Symbol","S","Titlecase_Letter","Lt","Unassigned","Cn","Uppercase_Letter","Lu"],Script:["Adlam","Adlm","Ahom","Anatolian_Hieroglyphs","Hluw","Arabic","Arab","Armenian","Armn","Avestan","Avst","Balinese","Bali","Bamum","Bamu","Bassa_Vah","Bass","Batak","Batk","Bengali","Beng","Bhaiksuki","Bhks","Bopomofo","Bopo","Brahmi","Brah","Braille","Brai","Buginese","Bugi","Buhid","Buhd","Canadian_Aboriginal","Cans","Carian","Cari","Caucasian_Albanian","Aghb","Chakma","Cakm","Cham","Cherokee","Cher","Common","Zyyy","Coptic","Copt","Qaac","Cuneiform","Xsux","Cypriot","Cprt","Cyrillic","Cyrl","Deseret","Dsrt","Devanagari","Deva","Duployan","Dupl","Egyptian_Hieroglyphs","Egyp","Elbasan","Elba","Ethiopic","Ethi","Georgian","Geor","Glagolitic","Glag","Gothic","Goth","Grantha","Gran","Greek","Grek","Gujarati","Gujr","Gurmukhi","Guru","Han","Hani","Hangul","Hang","Hanunoo","Hano","Hatran","Hatr","Hebrew","Hebr","Hiragana","Hira","Imperial_Aramaic","Armi","Inherited","Zinh","Qaai","Inscriptional_Pahlavi","Phli","Inscriptional_Parthian","Prti","Javanese","Java","Kaithi","Kthi","Kannada","Knda","Katakana","Kana","Kayah_Li","Kali","Kharoshthi","Khar","Khmer","Khmr","Khojki","Khoj","Khudawadi","Sind","Lao","Laoo","Latin","Latn","Lepcha","Lepc","Limbu","Limb","Linear_A","Lina","Linear_B","Linb","Lisu","Lycian","Lyci","Lydian","Lydi","Mahajani","Mahj","Malayalam","Mlym","Mandaic","Mand","Manichaean","Mani","Marchen","Marc","Masaram_Gondi","Gonm","Meetei_Mayek","Mtei","Mende_Kikakui","Mend","Meroitic_Cursive","Merc","Meroitic_Hieroglyphs","Mero","Miao","Plrd","Modi","Mongolian","Mong","Mro","Mroo","Multani","Mult","Myanmar","Mymr","Nabataean","Nbat","New_Tai_Lue","Talu","Newa","Nko","Nkoo","Nushu","Nshu","Ogham","Ogam","Ol_Chiki","Olck","Old_Hungarian","Hung","Old_Italic","Ital","Old_North_Arabian","Narb","Old_Permic","Perm","Old_Persian","Xpeo","Old_South_Arabian","Sarb","Old_Turkic","Orkh","Oriya","Orya","Osage","Osge","Osmanya","Osma","Pahawh_Hmong","Hmng","Palmyrene","Palm","Pau_Cin_Hau","Pauc","Phags_Pa","Phag","Phoenician","Phnx","Psalter_Pahlavi","Phlp","Rejang","Rjng","Runic","Runr","Samaritan","Samr","Saurashtra","Saur","Sharada","Shrd","Shavian","Shaw","Siddham","Sidd","SignWriting","Sgnw","Sinhala","Sinh","Sora_Sompeng","Sora","Soyombo","Soyo","Sundanese","Sund","Syloti_Nagri","Sylo","Syriac","Syrc","Tagalog","Tglg","Tagbanwa","Tagb","Tai_Le","Tale","Tai_Tham","Lana","Tai_Viet","Tavt","Takri","Takr","Tamil","Taml","Tangut","Tang","Telugu","Telu","Thaana","Thaa","Thai","Tibetan","Tibt","Tifinagh","Tfng","Tirhuta","Tirh","Ugaritic","Ugar","Vai","Vaii","Warang_Citi","Wara","Yi","Yiii","Zanabazar_Square","Zanb"]};Array.prototype.push.apply(at.$LONE,at.General_Category),at.gc=at.General_Category,at.sc=at.Script_Extensions=at.scx=at.Script;var ot=F.prototype,ht=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function pt(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function ct(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function ut(t){return t>=65&&t<=90||t>=97&&t<=122}function lt(t){return ut(t)||95===t}function dt(t){return lt(t)||ft(t)}function ft(t){return t>=48&&t<=57}function mt(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function xt(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function gt(t){return t>=48&&t<=55}ht.prototype.reset=function(t,e,i){var s=-1!==i.indexOf("u");this.start=0|t,this.source=e+"",this.flags=i,this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchN=s&&this.parser.options.ecmaVersion>=9},ht.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},ht.prototype.at=function(t){var e=this.source,i=e.length;if(t>=i)return-1;var s=e.charCodeAt(t);return!this.switchU||s<=55295||s>=57344||t+1>=i?s:(s<<10)+e.charCodeAt(t+1)-56613888},ht.prototype.nextIndex=function(t){var e=this.source,i=e.length;if(t>=i)return i;var s=e.charCodeAt(t);return!this.switchU||s<=55295||s>=57344||t+1>=i?t+1:t+2},ht.prototype.current=function(){return this.at(this.pos)},ht.prototype.lookahead=function(){return this.at(this.nextIndex(this.pos))},ht.prototype.advance=function(){this.pos=this.nextIndex(this.pos)},ht.prototype.eat=function(t){return this.current()===t&&(this.advance(),!0)},ot.validateRegExpFlags=function(t){for(var e=t.validFlags,i=t.flags,s=0;s-1&&this.raise(t.start,"Duplicate regular expression flag")}},ot.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},ot.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,i=t.backReferenceNames;e=9&&(i=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!i,!0}return t.pos=e,!1},ot.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},ot.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},ot.regexp_eatBracedQuantifier=function(t,e){var i=t.pos;if(t.eat(123)){var s=0,r=-1;if(this.regexp_eatDecimalDigits(t)&&(s=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(r=t.lastIntValue),t.eat(125)))return-1!==r&&r=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},ot.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},ot.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},ot.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!ct(e)&&(t.lastIntValue=e,t.advance(),!0)},ot.regexp_eatPatternCharacters=function(t){for(var e=t.pos,i=0;-1!==(i=t.current())&&!ct(i);)t.advance();return t.pos!==e},ot.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},ot.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},ot.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},ot.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=pt(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=pt(t.lastIntValue);return!0}return!1},ot.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,i=t.current();return t.advance(),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(i=t.lastIntValue),function(t){return f(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},ot.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,i=t.current();return t.advance(),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(i=t.lastIntValue),function(t){return m(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},ot.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},ot.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var i=t.lastIntValue;if(t.switchU)return i>t.maxBackReference&&(t.maxBackReference=i),!0;if(i<=t.numCapturingParens)return!0;t.pos=e}return!1},ot.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},ot.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},ot.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},ot.regexp_eatZero=function(t){return 48===t.current()&&!ft(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},ot.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},ot.regexp_eatControlLetter=function(t){var e=t.current();return!!ut(e)&&(t.lastIntValue=e%32,t.advance(),!0)},ot.regexp_eatRegExpUnicodeEscapeSequence=function(t){var e,i=t.pos;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(t.switchU&&s>=55296&&s<=56319){var r=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var n=t.lastIntValue;if(n>=56320&&n<=57343)return t.lastIntValue=1024*(s-55296)+(n-56320)+65536,!0}t.pos=r,t.lastIntValue=s}return!0}if(t.switchU&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((e=t.lastIntValue)>=0&&e<=1114111))return!0;t.switchU&&t.raise("Invalid unicode escape"),t.pos=i}return!1},ot.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},ot.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},ot.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},ot.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var i=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var s=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,i,s),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var r=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,r),!0}return!1},ot.regexp_validateUnicodePropertyNameAndValue=function(t,e,i){at.hasOwnProperty(e)&&-1!==at[e].indexOf(i)||t.raise("Invalid property name")},ot.regexp_validateUnicodePropertyNameOrValue=function(t,e){-1===at.$LONE.indexOf(e)&&t.raise("Invalid property name")},ot.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";lt(e=t.current());)t.lastStringValue+=pt(e),t.advance();return""!==t.lastStringValue},ot.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";dt(e=t.current());)t.lastStringValue+=pt(e),t.advance();return""!==t.lastStringValue},ot.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},ot.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},ot.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var i=t.lastIntValue;!t.switchU||-1!==e&&-1!==i||t.raise("Invalid character class"),-1!==e&&-1!==i&&e>i&&t.raise("Range out of order in character class")}}},ot.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var i=t.current();(99===i||gt(i))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var s=t.current();return 93!==s&&(t.lastIntValue=s,t.advance(),!0)},ot.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},ot.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!ft(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},ot.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},ot.regexp_eatDecimalDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;ft(i=t.current());)t.lastIntValue=10*t.lastIntValue+(i-48),t.advance();return t.pos!==e},ot.regexp_eatHexDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;mt(i=t.current());)t.lastIntValue=16*t.lastIntValue+xt(i),t.advance();return t.pos!==e},ot.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var i=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*i+t.lastIntValue:t.lastIntValue=8*e+i}else t.lastIntValue=e;return!0}return!1},ot.regexp_eatOctalDigit=function(t){var e=t.current();return gt(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},ot.regexp_eatFixedHexDigits=function(t,e){var i=t.pos;t.lastIntValue=0;for(var s=0;s>10),56320+(1023&t)))}vt.next=function(){this.options.onToken&&this.options.onToken(new yt(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},vt.getToken=function(){return this.next(),new yt(this)},"undefined"!=typeof Symbol&&(vt[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===k.eof,value:e}}}}),vt.curContext=function(){return this.context[this.context.length-1]},vt.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(k.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},vt.readToken=function(t){return f(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},vt.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.pos+1)-56613888},vt.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),i=this.pos,s=this.input.indexOf("*/",this.pos+=2);if(-1===s&&this.raise(this.pos-2,"Unterminated comment"),this.pos=s+2,this.options.locations)for(S.lastIndex=i;(t=S.exec(this.input))&&t.index8&&t<14||t>=5760&&w.test(String.fromCharCode(t))))break t;++this.pos}}},vt.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=t,this.value=e,this.updateContext(i)},vt.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(k.ellipsis)):(++this.pos,this.finishToken(k.dot))},vt.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(k.assign,2):this.finishOp(k.slash,1)},vt.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),i=1,s=42===t?k.star:k.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++i,s=k.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(k.assign,i+1):this.finishOp(s,i)},vt.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.finishOp(124===t?k.logicalOR:k.logicalAND,2):61===e?this.finishOp(k.assign,2):this.finishOp(124===t?k.bitwiseOR:k.bitwiseAND,1)},vt.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(k.assign,2):this.finishOp(k.bitwiseXOR,1)},vt.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!E.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(k.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(k.assign,2):this.finishOp(k.plusMin,1)},vt.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),i=1;return e===t?(i=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+i)?this.finishOp(k.assign,i+1):this.finishOp(k.bitShift,i)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(i=2),this.finishOp(k.relational,i)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},vt.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(k.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(k.arrow)):this.finishOp(61===t?k.eq:k.prefix,1)},vt.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(k.parenL);case 41:return++this.pos,this.finishToken(k.parenR);case 59:return++this.pos,this.finishToken(k.semi);case 44:return++this.pos,this.finishToken(k.comma);case 91:return++this.pos,this.finishToken(k.bracketL);case 93:return++this.pos,this.finishToken(k.bracketR);case 123:return++this.pos,this.finishToken(k.braceL);case 125:return++this.pos,this.finishToken(k.braceR);case 58:return++this.pos,this.finishToken(k.colon);case 63:return++this.pos,this.finishToken(k.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(k.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 126:return this.finishOp(k.prefix,1)}this.raise(this.pos,"Unexpected character '"+bt(t)+"'")},vt.finishOp=function(t,e){var i=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,i)},vt.readRegexp=function(){for(var t,e,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(E.test(s)&&this.raise(i,"Unterminated regular expression"),t)t=!1;else{if("["===s)e=!0;else if("]"===s&&e)e=!1;else if("/"===s&&!e)break;t="\\"===s}++this.pos}var r=this.input.slice(i,this.pos);++this.pos;var n=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(n);var o=this.regexpState||(this.regexpState=new ht(this));o.reset(i,r,a),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var h=null;try{h=new RegExp(r,a)}catch(t){}return this.finishToken(k.regexp,{pattern:r,flags:a,value:h})},vt.readInt=function(t,e){for(var i=this.pos,s=0,r=0,n=null==e?1/0:e;r=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=t)break;++this.pos,s=s*t+o}return this.pos===i||null!=e&&this.pos-i!==e?null:s},vt.readRadixNumber=function(t){this.pos+=2;var e=this.readInt(t);return null==e&&this.raise(this.start+2,"Expected number in radix "+t),f(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(k.num,e)},vt.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10)||this.raise(e,"Invalid number");var i=this.pos-e>=2&&48===this.input.charCodeAt(e);i&&this.strict&&this.raise(e,"Invalid number"),i&&/[89]/.test(this.input.slice(e,this.pos))&&(i=!1);var s=this.input.charCodeAt(this.pos);46!==s||i||(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),69!==s&&101!==s||i||(43!==(s=this.input.charCodeAt(++this.pos))&&45!==s||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),f(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r=this.input.slice(e,this.pos),n=i?parseInt(r,8):parseFloat(r);return this.finishToken(k.num,n)},vt.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},vt.readString=function(t){for(var e="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===t)break;92===s?(e+=this.input.slice(i,this.pos),e+=this.readEscapedChar(!1),i=this.pos):(C(s,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(i,this.pos++),this.finishToken(k.string,e)};var _t={};vt.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==_t)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},vt.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw _t;this.raise(t,e)},vt.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(96===i||36===i&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==k.template&&this.type!==k.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(k.template,t)):36===i?(this.pos+=2,this.finishToken(k.dollarBraceL)):(++this.pos,this.finishToken(k.backQuote));if(92===i)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(C(i)){switch(t+=this.input.slice(e,this.pos),++this.pos,i){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(i)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},vt.readInvalidTemplateToken=function(){for(;this.pos=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],s=parseInt(i,8);return s>255&&(i=i.slice(0,-1),s=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(s)}return String.fromCharCode(e)}},vt.readHexChar=function(t){var e=this.pos,i=this.readInt(16,t);return null===i&&this.invalidStringToken(e,"Bad character escape sequence"),i},vt.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos0?t[0].toUpperCase()+t.slice(1):t}).join(""),s))},{});case"object":return t;default:return}}var p=function(){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,i=String(t),s=0;return i.split("").forEach(function(t){s=(s<<5)-s+t.charCodeAt(0),s&=s}),Math.abs(s).toString(e)}(Math.random().toString())};function c(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var u=function(t,e){return function t(e,i){var s=c(i),r=s[0],n=s.slice(1);if(null!=e&&null!=r)return 0===n.length?e[r]:t(e[r],n)}(t,function(t){return null==t||""===t?[]:t.split(".")}(e))},l={class:"className",for:"htmlFor",maxlength:"maxLength",colspan:"colSpan",rowspan:"rowSpan"},d=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],f=["table","tbody","tfoot","thead","tr"];function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function x(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=[],s=!0,r=!1,n=void 0;try{for(var a,o=t[Symbol.iterator]();!(s=(a=o.next()).done)&&(i.push(a.value),!e||i.length!==e);s=!0);}catch(t){r=!0,n=t}finally{try{s||null==o.return||o.return()}finally{if(r)throw n}}return i}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function v(t,e){return(v=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function b(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}i.d(e,"default",function(){return k});var _={plugins:{jsx:!0}},k=function(t){function e(){var t,i,r,a;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);for(var o=arguments.length,c=new Array(o),v=0;v"),r=[];try{r=(r=new s.Parser(_,e).parse()).body[0].expression.children||[]}catch(t){return i.props.showWarnings&&console.warn(t),i.props.onError&&i.props.onError(t),[]}return r.map(i.parseExpression).filter(Boolean)}),b(y(i),"parseExpression",function(t){switch(t.type){case"JSXElement":return i.parseElement(t);case"JSXText":return t.value;case"JSXAttribute":return null===t.value||i.parseExpression(t.value);case"ArrayExpression":return t.elements.map(i.parseExpression);case"ObjectExpression":var e={};return t.properties.forEach(function(t){e[t.key.name||t.key.value]=i.parseExpression(t.value)}),e;case"Identifier":return(i.props.bindings||{})[t.name];case"JSXExpressionContainer":return i.parseExpression(t.expression);case"Literal":return t.value;case"MemberExpression":return(i.parseExpression(t.object)||{})[t.property.name];case"CallExpression":return i.parseExpression(t.callee);case"LogicalExpression":var s=i.parseExpression(t.left);return!("||"!==t.operator||!s)||!!("&&"===t.operator&&s||"||"===t.operator&&!s)&&i.parseExpression(t.right);case"BinaryExpression":switch(t.operator){case"+":return i.parseExpression(t.left)+i.parseExpression(t.right);case"-":return i.parseExpression(t.left)-i.parseExpression(t.right);case"*":return i.parseExpression(t.left)*i.parseExpression(t.right);case"/":return i.parseExpression(t.left)/i.parseExpression(t.right)}break;case"UnaryExpression":switch(t.operator){case"+":return t.argument.value;case"-":return-1*t.argument.value;case"!":return(!t.argument.value).toString()}}}),b(y(i),"parseName",function(t){switch(t.type){case"JSXIdentifier":return t.name;case"JSXMemberExpression":return"".concat(i.parseName(t.object),".").concat(i.parseName(t.property))}}),b(y(i),"parseElement",function(t){var e=i.props,s=e.allowUnknownElements,r=e.components,a=void 0===r?{}:r,o=e.componentsOnly,c=e.onError,g=t.children,y=void 0===g?[]:g,v=t.openingElement,b=v.attributes,_=void 0===b?[]:b,k=i.parseName(v.name);if(k){var E=(i.props.blacklistedAttrs||[]).map(function(t){return t instanceof RegExp?t:new RegExp(t,"i")}),S=(i.props.blacklistedTags||[]).map(function(t){return t.trim().toLowerCase()}).filter(Boolean);if(/^(html|head|body)$/i.test(k))return y.map(function(t){return i.parseElement(t)});if(-1===S.indexOf(k.trim().toLowerCase())){if(!u(a,k)){if(o)return;if(!s&&document.createElement(k)instanceof HTMLUnknownElement)return void c("Error: The tag <".concat(k,"> is unrecognized in this browser, and will not be rendered."))}var C,w,A=u(a,k);if(A||(w=k,-1===d.indexOf(w.toLowerCase())))if(C=y.map(i.parseExpression),A||function(t){return-1!==f.indexOf(t.toLowerCase())}(k)||(C=C.filter(function(t){return"string"!=typeof t||!/^\s*$/.test(t)})),0===C.length)C=void 0;else if(1===C.length){C=x(C,1)[0]}var T={key:p()};return _.forEach(function(t){if("JSXAttribute"===t.type){var e=t.name.name,s=l[e]||e,r=i.parseExpression(t);0===E.filter(function(t){return t.test(s)}).length&&(T[s]="true"===r||"false"===r?"true"===r:r)}else if("JSXSpreadAttribute"===t.type&&"Identifier"===t.argument.type||"MemberExpression"===t.argument.type){var n=i.parseExpression(t.argument);"object"===m(n)&&Object.keys(n).forEach(function(t){var e=l[t]||t;0===E.filter(function(t){return t.test(e)}).length&&(T[e]=n[t])})}}),"string"==typeof T.style&&(T.style=h(T.style)),C&&(T.children=C),n.a.createElement(A||k.toLowerCase(),T)}}else c("Error: The <".concat(v.name,"> tag could not be parsed, and will not be rendered."))}),b(y(i),"render",function(){var t=(i.props.jsx||"").trim().replace(/]*)>/g,"");return i.ParsedChildren=i.parseJSX(t),i.props.renderInWrapper?n.a.createElement("div",{className:"jsx-parser"},i.ParsedChildren):n.a.createElement(n.a.Fragment,null,i.ParsedChildren)}),i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&v(t,e)}(e,r["Component"]),e}();b(k,"displayName","JsxParser"),b(k,"defaultProps",{allowUnknownElements:!0,bindings:{},blacklistedAttrs:[/^on.+/i],blacklistedTags:["script"],components:[],componentsOnly:!1,jsx:"",onError:function(){},showWarnings:!1,renderInWrapper:!0})}])});
//# sourceMappingURL=react-jsx-parser.min.js.map
\ No newline at end of file
diff --git a/lib/react-jsx-parser.min.js.map b/lib/react-jsx-parser.min.js.map
index d9dca72..8cfc7d4 100644
--- a/lib/react-jsx-parser.min.js.map
+++ b/lib/react-jsx-parser.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack://react-jsx-parser/webpack/universalModuleDefinition","webpack://react-jsx-parser/webpack/bootstrap","webpack://react-jsx-parser/external \"react\"","webpack://react-jsx-parser/./node_modules/acorn-jsx/index.js","webpack://react-jsx-parser/./node_modules/acorn-jsx/inject.js","webpack://react-jsx-parser/./node_modules/acorn-jsx/xhtml.js","webpack://react-jsx-parser/./node_modules/acorn-jsx/node_modules/acorn/dist/acorn.es.js","webpack://react-jsx-parser/./source/helpers/parseStyle.js","webpack://react-jsx-parser/./source/helpers/camelCase.js","webpack://react-jsx-parser/./source/helpers/hash.js","webpack://react-jsx-parser/./source/helpers/resolvePath.js","webpack://react-jsx-parser/./source/constants/attributeNames.js","webpack://react-jsx-parser/./source/constants/specialTags.js","webpack://react-jsx-parser/./source/components/JsxParser.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","XHTMLEntities","hexNumber","decimalNumber","acorn","tt","tokTypes","tc","tokContexts","j_oTag","TokContext","j_cTag","j_expr","jsxName","TokenType","jsxText","beforeExpr","jsxTagStart","jsxTagEnd","updateContext","context","push","exprAllowed","prevType","out","pop","slash","curContext","pp","Parser","getQualifiedJSXName","type","namespace","jsx_readToken","chunkStart","pos","input","length","raise","start","ch","charCodeAt","finishToken","getTokenFromCode","slice","jsx_readEntity","isNewLine","jsx_readNewLine","normalizeCRLF","String","fromCharCode","options","locations","curLine","lineStart","jsx_readString","quote","string","entity","str","count","startPos","substr","test","parseInt","jsx_readWord","isIdentifierChar","jsx_parseIdentifier","node","startNode","keyword","unexpected","next","finishNode","jsx_parseNamespacedName","startLoc","plugins","jsx","allowNamespaces","eat","colon","startNodeAt","jsx_parseElementName","dot","allowNamespacedObjects","newNode","jsx_parseAttributeValue","braceL","jsx_parseExpressionContainer","expression","parseExprAtom","jsx_parseEmptyExpression","lastTokEnd","lastTokEndLoc","finishNodeAt","braceR","parseExpression","expect","jsx_parseAttribute","ellipsis","argument","parseMaybeAssign","eq","jsx_parseOpeningElementAt","attributes","nodeName","selfClosing","jsx_parseClosingElementAt","jsx_parseElementAt","children","openingElement","closingElement","contents","relational","jsx_parseText","parseLiteral","jsx_parseElement","instance","opts","extend","inner","refShortHandDefaultPos","code","isIdentifierStart","b_expr","b_tmpl","quot","amp","apos","lt","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","lang","rang","loz","spades","clubs","hearts","diams","__webpack_exports__","version","parse","parseExpressionAt","tokenizer","parse_dammit","LooseParser","pluginsLoose","addLooseExports","defaultOptions","Position","SourceLocation","getLineInfo","Node","types","keywords$1","types$1","Token","lineBreak","lineBreakG","nonASCIIwhitespace","reservedWords","3","5","6","strict","strictBind","ecma5AndLessKeywords","keywords","keywordRelationalOperator","nonASCIIidentifierStartChars","nonASCIIidentifierChars","nonASCIIidentifierStart","RegExp","nonASCIIidentifier","astralIdentifierStartCodes","astralIdentifierCodes","isInAstralSet","set","astral","label","conf","startsExpr","isLoop","isAssign","prefix","postfix","binop","prec","kw","num","regexp","eof","bracketL","bracketR","parenL","parenR","comma","semi","question","arrow","template","invalidTemplate","backQuote","dollarBraceL","assign","incDec","logicalOR","logicalAND","bitwiseOR","bitwiseXOR","bitwiseAND","equality","bitShift","plusMin","modulo","star","starstar","_break","_case","_catch","_continue","_debugger","_default","_do","_else","_finally","_for","_function","_if","_return","_switch","_throw","_try","_var","_const","_while","_with","_new","_this","_super","_class","_extends","_export","_import","_null","_true","_false","_in","_instanceof","_typeof","_void","_delete","source","ecma2019String","skipWhiteSpace","ref","toString","has","obj","propName","isArray","Array","line","col","column","offset","end","sourceFile","cur","lastIndex","match","exec","index","ecmaVersion","sourceType","onInsertedSemicolon","onTrailingComma","allowReserved","allowReturnOutsideFunction","allowImportExportEverywhere","allowAwaitOutsideFunction","allowHashBang","onToken","onComment","ranges","program","directSourceFile","preserveParens","getOptions","opt","tokens","token","array","block","text","endLoc","comment","loc","range","pushComment","keywordRegexp","words","replace","reserved","v","reservedStrict","reservedWordsStrict","reservedWordsStrictBind","containsEsc","loadPlugins","lastIndexOf","split","curPosition","lastTokStartLoc","lastTokStart","initialContext","inModule","strictDirective","potentialArrowAt","inFunction","inGenerator","inAsync","yieldPos","awaitPos","labels","skipLineComment","scopeStack","enterFunctionScope","regexpState","isKeyword","word","isReservedWord","f","pluginConfigs","plugin","Error","nextToken","parseTopLevel","literal","DestructuringErrors","shorthandAssign","trailingComma","parenthesizedAssign","parenthesizedBind","doubleProto","isContextual","eatContextual","expectContextual","canInsertSemicolon","insertSemicolon","semicolon","afterTrailingComma","tokType","notNext","checkPatternErrors","refDestructuringErrors","raiseRecoverable","parens","checkExpressionErrors","andThrow","checkYieldAwaitInDefaultParams","isSimpleAssignTarget","expr","pp$1","body","stmt","parseStatement","adaptDirectivePrologue","loopLabel","kind","switchLabel","isLet","skip","nextCh","ident","isAsyncFunction","charAt","declaration","topLevel","starttype","parseBreakContinueStatement","parseDebuggerStatement","parseDoStatement","parseForStatement","parseFunctionStatement","parseClass","parseIfStatement","parseReturnStatement","parseSwitchStatement","parseThrowStatement","parseTryStatement","parseVarStatement","parseWhileStatement","parseWithStatement","parseBlock","parseEmptyStatement","parseImport","parseExport","maybeName","parseLabeledStatement","parseExpressionStatement","isBreak","parseIdent","lab","parseParenExpression","awaitAt","enterLexicalScope","parseFor","init$1","parseVar","declarations","init","await","parseForIn","toAssignable","checkLVal","isAsync","parseFunction","consequent","alternate","discriminant","cases","sawDefault","isCase","exitLexicalScope","handler","clause","param","parseBindingAtom","finalizer","i$1","list","label$1","statementStart","generator","async","createNewLexicalScope","update","id","left","right","isFor","decl","parseVarId","isStatement","allowExpressionBody","initFunction","oldInGen","oldInAsync","oldYieldPos","oldAwaitPos","oldInFunc","parseFunctionParams","parseFunctionBody","params","parseBindingList","parseClassId","parseClassSuper","classBody","hadConstructor","member","parseClassMember","this$1","method","tryContextual","k","noLineBreak","computed","static","isGenerator","parsePropertyName","parseClassMethod","parseMethod","superClass","parseExprSubscripts","checkExport","fNode","cNode","shouldParseExportStatement","checkVariableExport","specifiers","parseExportSpecifiers","spec","checkUnreserved","local","checkPatternExport","pat","properties","list$1","elements","elt","decls","nodes","first","exported","parseImportSpecifiers","node$1","node$2","imported","statements","isDirectiveCandidate","directive","raw","statement","pp$2","isBinding","toAssignableList","operator","exprList","last","parseSpread","parseRestBinding","parseObj","close","allowEmpty","allowTrailingComma","elts","rest","parseBindingListItem","elem","parseMaybeDefault","bindingType","checkClashes","canDeclareVarName","canDeclareLexicalName","declareVarName","declareLexicalName","pp$3","checkPropClash","propHash","shorthand","proto","other","noIn","expressions","afterLeftParse","parseYield","ownDestructuringErrors","oldParenAssign","oldTrailingComma","parseMaybeConditional","parseExprOps","parseMaybeUnary","parseExprOp","leftStartPos","leftStartLoc","minPrec","logical","op","buildBinary","sawUnary","parseAwait","skipArrowSubscripts","result","parseSubscripts","base","noCalls","maybeAsyncArrow","parseExprList","parseArrowExpression","callee","arguments","tag","quasi","parseTemplate","isTagged","canBeArrow","regex","pattern","flags","parseParenAndDistinguishExpression","parseNew","val","spreadStart","innerStartPos","innerStartLoc","lastIsComma","parseParenItem","innerEndPos","innerEndLoc","parseParenArrowList","par","item","empty$1","meta","parseTemplateElement","cooked","tail","curElt","quasis","isAsyncProp","isPattern","parseProperty","parsePropertyValue","paramCount","isArrowFunction","isExpression","oldStrict","useStrict","checkParams","nonSimple","isSimpleParamList","oldLabels","exitFunctionScope","allowDuplicates","nameHash","indexOf","liberal","delegate","pp$4","message","err","SyntaxError","raisedAt","pp$5","target","sources","len","var","lexical","childVar","parentLexical","parentScope","childScope","currentScope","parser","pp$6","isExpr","preserveSpace","override","b_stat","p_stat","p_expr","q_tmpl","tryReadTemplateToken","f_stat","f_expr","f_expr_gen","f_gen","pp$7","braceIsBlock","parent","inGeneratorContext","statementParens","allowed","data","$LONE","General_Category","Script","apply","gc","sc","Script_Extensions","scx","pp$9","RegExpValidationState","validFlags","switchU","switchN","lastIntValue","lastStringValue","lastAssertionIsQuantifiable","numCapturingParens","maxBackReference","groupNames","backReferenceNames","codePointToString$1","isSyntaxCharacter","isControlLetter","isUnicodePropertyNameCharacter","isUnicodePropertyValueCharacter","isDecimalDigit","isHexDigit","hexToInt","isOctalDigit","reset","unicode","at","nextIndex","current","lookahead","advance","validateRegExpFlags","state","flag","validateRegExpPattern","regexp_pattern","regexp_disjunction","regexp_alternative","regexp_eatQuantifier","regexp_eatTerm","regexp_eatAssertion","regexp_eatAtom","regexp_eatExtendedAtom","lookbehind","noError","regexp_eatQuantifierPrefix","regexp_eatBracedQuantifier","min","max","regexp_eatDecimalDigits","regexp_eatPatternCharacters","regexp_eatReverseSolidusAtomEscape","regexp_eatCharacterClass","regexp_eatUncapturingGroup","regexp_eatCapturingGroup","regexp_eatAtomEscape","regexp_groupSpecifier","regexp_eatInvalidBracedQuantifier","regexp_eatExtendedPatternCharacter","regexp_eatSyntaxCharacter","regexp_eatGroupName","regexp_eatRegExpIdentifierName","regexp_eatRegExpIdentifierStart","regexp_eatRegExpIdentifierPart","regexp_eatRegExpUnicodeEscapeSequence","isRegExpIdentifierStart","isRegExpIdentifierPart","regexp_eatBackReference","regexp_eatCharacterClassEscape","regexp_eatCharacterEscape","regexp_eatKGroupName","regexp_eatDecimalEscape","regexp_eatControlEscape","regexp_eatCControlLetter","regexp_eatZero","regexp_eatHexEscapeSequence","regexp_eatLegacyOctalEscapeSequence","regexp_eatIdentityEscape","regexp_eatControlLetter","regexp_eatFixedHexDigits","lead","leadSurrogateEnd","trail","regexp_eatHexDigits","isCharacterClassEscape","regexp_eatUnicodePropertyValueExpression","regexp_eatUnicodePropertyName","regexp_eatUnicodePropertyValue","regexp_validateUnicodePropertyNameAndValue","regexp_eatLoneUnicodePropertyNameOrValue","nameOrValue","regexp_validateUnicodePropertyNameOrValue","regexp_classRanges","regexp_eatClassAtom","regexp_eatClassEscape","ch$1","regexp_eatClassControlLetter","regexp_eatOctalDigit","n1","n2","pp$8","codePointToString","getToken","iterator","done","skipSpace","readToken","fullCharCodeAtPos","readWord","skipBlockComment","startSkip","loop","readToken_dot","readNumber","next2","readToken_slash","readRegexp","finishOp","readToken_mult_modulo_exp","size","tokentype","readToken_pipe_amp","readToken_caret","readToken_plus_min","readToken_lt_gt","readToken_eq_excl","readRadixNumber","readString","escaped","inClass","flagsStart","readWord1","e","readInt","radix","total","Infinity","startsWithDot","octal","parseFloat","readCodePoint","codePos","readHexChar","invalidStringToken","readEscapedChar","INVALID_TEMPLATE_ESCAPE_ERROR","inTemplateElement","readTmplToken","readInvalidTemplateToken","position","inTemplate","octalStr","escStart","esc","Parser$$1","plugins$$1","parseStyle","style","filter","reduce","map","rule","trim","_objectSpread","_defineProperty","toLowerCase","toUpperCase","join","randomHash","undefined","h","forEach","char","Math","abs","hash","random","resolvePath","path","resolveArrayPath","_path","_toArray","subPath","pathToArrayPath","attributeNames","class","for","maxlength","colspan","rowspan","VOID_ELEMENTS","NO_WHITESPACE","parserOptions","JsxParser","rawJSX","wrappedJsx","concat","parsed","error","props","showWarnings","console","warn","onError","Boolean","parseElement","bindings","element","parseName","_this$props","allowUnknownElements","_this$props$component","components","componentsOnly","_element$children","childNodes","_openingElement$attri","blacklistedAttrs","attr","blacklistedTags","document","createElement","HTMLUnknownElement","tagName","component","canHaveWhitespace","child","_slicedToArray","rawName","attributeName","ATTRIBUTES","re","JsxParser_typeof","keys","React","ParsedChildren","parseJSX","renderInWrapper","external_react_default","a","className","Fragment","Component"],"mappings":"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CAC,OAAA,IACAC,MAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,KAAA,IACAC,IAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,KAAA,IACAC,KAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,QAAA,IACAC,KAAA,IACAC,IAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,GAAA,IACAC,GAAA,IACAC,GAAA,IACAC,QAAA,IACAC,GAAA,IACAC,IAAA,IACAC,MAAA,IACAC,IAAA,IACAC,QAAA,IACAC,IAAA,IACAC,IAAA,IACAC,IAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,QAAA,IACAC,KAAA,IACAC,IAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,GAAA,IACAC,GAAA,IACAC,GAAA,IACAC,QAAA,IACAC,GAAA,IACAC,IAAA,IACAC,OAAA,IACAC,MAAA,IACAC,IAAA,IACAC,QAAA,IACAC,IAAA,IACAC,IAAA,IACAC,IAAA,IACAC,MAAA,IACAC,SAAA,IACAC,MAAA,IACAC,IAAA,IACAC,KAAA,IACAC,KAAA,IACAC,OAAA,IACAC,KAAA,IACAC,IAAA,IACAC,IAAA,IACAC,IAAA,IACAC,MAAA,IACAC,MAAA,IACAC,MAAA,IACAC,MAAA,IAC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ACA,KACA,aACA,MACA,YACA,MACA,QACA,kBACA,iBACA,sBACA,qBACA,WACA,MACA,gBACA,UACA,kBACA,SACA,YACA,MACA,sBACA,OACA,uBACA,OACA,cACA,MACA,WACA,MACA,cACA,OACA,eACA,SACA,0BACA,MACA,YACA,QACA,OACA,0BACA,QACA,iBACA,UACA,sBACA,SACA,iBACA,QACA,UACA,qBACA,KACA,oBACA,QACA,cACA,KACA,uBACA,OACA,oBACA,QACA,YACA,QACA,qBACA,KACA,cACA,QACA,eACA,OACA,YACA,QAEAC,iBAAA,CACA,eACA,KACA,oBACA,KACA,wBACA,KACA,UACA,KACA,QACA,kBACA,KACA,mBACA,KACA,iBACA,KACA,QACA,iBACA,KACA,oBACA,KACA,SACA,KACA,sBACA,KACA,SACA,IACA,gBACA,KACA,iBACA,KACA,mBACA,KACA,OACA,IACA,iBACA,cACA,KACA,kBACA,KACA,kBACA,KACA,kBACA,KACA,SACA,IACA,mBACA,KACA,QACA,IACA,eACA,KACA,eACA,KACA,oBACA,KACA,eACA,KACA,sBACA,KACA,cACA,KACA,cACA,IACA,QACA,YACA,IACA,kBACA,KACA,eACA,KACA,YACA,KACA,SACA,IACA,mBACA,KACA,aACA,KACA,mBACA,MAEAC,OAAA,CACA,QACA,OACA,OACA,wBACA,OACA,SACA,OACA,WACA,OACA,UACA,OACA,WACA,OACA,QACA,OACA,YACA,OACA,QACA,OACA,UACA,OACA,YACA,OACA,WACA,OACA,SACA,OACA,UACA,OACA,WACA,OACA,QACA,OACA,sBACA,OACA,SACA,OACA,qBACA,OACA,SACA,OACA,OACA,WACA,OACA,SACA,OACA,SACA,OACA,OACA,YACA,OACA,UACA,OACA,WACA,OACA,UACA,OACA,aACA,OACA,WACA,OACA,uBACA,OACA,UACA,OACA,WACA,OACA,WACA,OACA,aACA,OACA,SACA,OACA,UACA,OACA,QACA,OACA,WACA,OACA,WACA,OACA,MACA,OACA,SACA,OACA,UACA,OACA,SACA,OACA,SACA,OACA,WACA,OACA,mBACA,OACA,YACA,OACA,OACA,wBACA,OACA,yBACA,OACA,WACA,OACA,SACA,OACA,UACA,OACA,WACA,OACA,WACA,OACA,aACA,OACA,QACA,OACA,SACA,OACA,YACA,OACA,MACA,OACA,QACA,OACA,SACA,OACA,QACA,OACA,WACA,OACA,WACA,OACA,OACA,SACA,OACA,SACA,OACA,WACA,OACA,YACA,OACA,UACA,OACA,aACA,OACA,UACA,OACA,gBACA,OACA,eACA,OACA,gBACA,OACA,mBACA,OACA,uBACA,OACA,OACA,OACA,OACA,YACA,OACA,MACA,OACA,UACA,OACA,UACA,OACA,YACA,OACA,cACA,OACA,OACA,MACA,OACA,QACA,OACA,QACA,OACA,WACA,OACA,gBACA,OACA,aACA,OACA,oBACA,OACA,aACA,OACA,cACA,OACA,oBACA,OACA,aACA,OACA,QACA,OACA,QACA,OACA,UACA,OACA,eACA,OACA,YACA,OACA,cACA,OACA,WACA,OACA,aACA,OACA,kBACA,OACA,SACA,OACA,QACA,OACA,YACA,OACA,aACA,OACA,UACA,OACA,UACA,OACA,UACA,OACA,cACA,OACA,UACA,OACA,eACA,OACA,UACA,OACA,YACA,OACA,eACA,OACA,SACA,OACA,UACA,OACA,WACA,OACA,SACA,OACA,WACA,OACA,WACA,OACA,QACA,OACA,QACA,OACA,SACA,OACA,SACA,OACA,SACA,OACA,OACA,UACA,OACA,WACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,cACA,OACA,KACA,OACA,mBACA,SAGAnY,MAAAxf,UAAAwB,KAAAo2B,MAAAJ,GAAAC,MAAAD,GAAAE,kBACAF,GAAAK,GAAAL,GAAAE,iBACAF,GAAAM,GAAAN,GAAAO,kBAAAP,GAAAQ,IAAAR,GAAAG,OAEA,IAAAM,GAAAj2B,EAAAhC,UAEAk4B,GAAA,SAAA9B,GACAr4B,KAAAq4B,SACAr4B,KAAAo6B,WAAA,OAAA/B,EAAA9yB,QAAA8c,aAAA,YAAAgW,EAAA9yB,QAAA8c,aAAA,UACAriB,KAAAghB,OAAA,GACAhhB,KAAA60B,MAAA,GACA70B,KAAA2E,MAAA,EACA3E,KAAAq6B,SAAA,EACAr6B,KAAAs6B,SAAA,EACAt6B,KAAAuE,IAAA,EACAvE,KAAAu6B,aAAA,EACAv6B,KAAAw6B,gBAAA,GACAx6B,KAAAy6B,6BAAA,EACAz6B,KAAA06B,mBAAA,EACA16B,KAAA26B,iBAAA,EACA36B,KAAA46B,WAAA,GACA56B,KAAA66B,mBAAA,IAgEA,SAAAC,GAAAl2B,GACA,OAAAA,GAAA,MAAqBS,OAAAC,aAAAV,IACrBA,GAAA,MACAS,OAAAC,aAAA,OAAAV,GAAA,gBAAAA,KAqSA,SAAAm2B,GAAAn2B,GACA,OACA,KAAAA,GACAA,GAAA,IAAAA,GAAA,IACA,KAAAA,GACA,KAAAA,GACAA,GAAA,IAAAA,GAAA,IACAA,GAAA,KAAmBA,GAAA,IA4PnB,SAAAo2B,GAAAp2B,GACA,OACAA,GAAA,IAAAA,GAAA,IACAA,GAAA,IAAAA,GAAA,IA0KA,SAAAq2B,GAAAr2B,GACA,OAAAo2B,GAAAp2B,IAAA,KAAAA,EAcA,SAAAs2B,GAAAt2B,GACA,OAAAq2B,GAAAr2B,IAAAu2B,GAAAv2B,GAyIA,SAAAu2B,GAAAv2B,GACA,OAAAA,GAAA,IAAAA,GAAA,GAcA,SAAAw2B,GAAAx2B,GACA,OACAA,GAAA,IAAAA,GAAA,IACAA,GAAA,IAAAA,GAAA,IACAA,GAAA,IAAAA,GAAA,IAGA,SAAAy2B,GAAAz2B,GACA,OAAAA,GAAA,IAAAA,GAAA,GACAA,EAAA,MAEAA,GAAA,IAAAA,GAAA,IACAA,EAAA,MAEAA,EAAA,GAkCA,SAAA02B,GAAA12B,GACA,OAAAA,GAAA,IAAAA,GAAA,GA9+BAu1B,GAAAl4B,UAAAs5B,MAAA,SAAA52B,EAAAiwB,EAAAC,GACA,IAAA2G,GAAA,IAAA3G,EAAAqC,QAAA,KACAl3B,KAAA2E,MAAA,EAAAA,EACA3E,KAAAghB,OAAA4T,EAAA,GACA50B,KAAA60B,QACA70B,KAAAq6B,QAAAmB,GAAAx7B,KAAAq4B,OAAA9yB,QAAA8c,aAAA,EACAriB,KAAAs6B,QAAAkB,GAAAx7B,KAAAq4B,OAAA9yB,QAAA8c,aAAA,GAGA8X,GAAAl4B,UAAAyC,MAAA,SAAA4yB,GACAt3B,KAAAq4B,OAAA7Q,iBAAAxnB,KAAA2E,MAAA,gCAAA3E,KAAA,aAAAs3B,IAKA6C,GAAAl4B,UAAAw5B,GAAA,SAAAp7B,GACA,IAAA+B,EAAApC,KAAAghB,OACA1gB,EAAA8B,EAAAqC,OACA,GAAApE,GAAAC,EACA,SAEA,IAAAI,EAAA0B,EAAAyC,WAAAxE,GACA,OAAAL,KAAAq6B,SAAA35B,GAAA,OAAAA,GAAA,OAAAL,EAAA,GAAAC,EACAI,GAEAA,GAAA,IAAA0B,EAAAyC,WAAAxE,EAAA,aAGA85B,GAAAl4B,UAAAy5B,UAAA,SAAAr7B,GACA,IAAA+B,EAAApC,KAAAghB,OACA1gB,EAAA8B,EAAAqC,OACA,GAAApE,GAAAC,EACA,OAAAA,EAEA,IAAAI,EAAA0B,EAAAyC,WAAAxE,GACA,OAAAL,KAAAq6B,SAAA35B,GAAA,OAAAA,GAAA,OAAAL,EAAA,GAAAC,EACAD,EAAA,EAEAA,EAAA,GAGA85B,GAAAl4B,UAAA05B,QAAA,WACA,OAAA37B,KAAAy7B,GAAAz7B,KAAAuE,MAGA41B,GAAAl4B,UAAA25B,UAAA,WACA,OAAA57B,KAAAy7B,GAAAz7B,KAAA07B,UAAA17B,KAAAuE,OAGA41B,GAAAl4B,UAAA45B,QAAA,WACA77B,KAAAuE,IAAAvE,KAAA07B,UAAA17B,KAAAuE,MAGA41B,GAAAl4B,UAAAkF,IAAA,SAAAvC,GACA,OAAA5E,KAAA27B,YAAA/2B,IACA5E,KAAA67B,WACA,IAiBA3B,GAAA4B,oBAAA,SAAAC,GAMA,IALA,IAEA3B,EAAA2B,EAAA3B,WACAvF,EAAAkH,EAAAlH,MAEAx0B,EAAA,EAAiBA,EAAAw0B,EAAApwB,OAAkBpE,IAAA,CACnC,IAAA27B,EAAAnH,EAAAjM,OAAAvoB,IACA,IAAA+5B,EAAAlD,QAAA8E,IAPAh8B,KAQA0E,MAAAq3B,EAAAp3B,MAAA,mCAEAkwB,EAAAqC,QAAA8E,EAAA37B,EAAA,OAVAL,KAWA0E,MAAAq3B,EAAAp3B,MAAA,uCAWAu1B,GAAA+B,sBAAA,SAAAF,GACA/7B,KAAAk8B,eAAAH,IAOAA,EAAAzB,SAAAt6B,KAAAuF,QAAA8c,aAAA,GAAA0Z,EAAAnB,WAAAn2B,OAAA,IACAs3B,EAAAzB,SAAA,EACAt6B,KAAAk8B,eAAAH,KAKA7B,GAAAgC,eAAA,SAAAH,GACAA,EAAAx3B,IAAA,EACAw3B,EAAAxB,aAAA,EACAwB,EAAAvB,gBAAA,GACAuB,EAAAtB,6BAAA,EACAsB,EAAArB,mBAAA,EACAqB,EAAApB,iBAAA,EACAoB,EAAAnB,WAAAn2B,OAAA,EACAs3B,EAAAlB,mBAAAp2B,OAAA,EAEAzE,KAAAm8B,mBAAAJ,GAEAA,EAAAx3B,MAAAw3B,EAAA/a,OAAAvc,SAEAs3B,EAAA50B,IAAA,KACA40B,EAAAr3B,MAAA,kBAEAq3B,EAAA50B,IAAA,KAAA40B,EAAA50B,IAAA,OACA40B,EAAAr3B,MAAA,6BAGAq3B,EAAApB,iBAAAoB,EAAArB,oBACAqB,EAAAr3B,MAAA,kBAEA,QAAArE,EAAA,EAAA8rB,EAAA4P,EAAAlB,mBAAkDx6B,EAAA8rB,EAAA1nB,OAAiBpE,GAAA,GACnE,IAAAO,EAAAurB,EAAA9rB,IAEA,IAAA07B,EAAAnB,WAAA1D,QAAAt2B,IACAm7B,EAAAr3B,MAAA,sCAMAw1B,GAAAiC,mBAAA,SAAAJ,GAIA,IADA/7B,KAAAo8B,mBAAAL,GACAA,EAAA50B,IAAA,MAHAnH,KAIAo8B,mBAAAL,GAIA/7B,KAAAq8B,qBAAAN,GAAA,IACAA,EAAAr3B,MAAA,qBAEAq3B,EAAA50B,IAAA,MACA40B,EAAAr3B,MAAA,6BAKAw1B,GAAAkC,mBAAA,SAAAL,GACA,KAAAA,EAAAx3B,IAAAw3B,EAAA/a,OAAAvc,QAAAzE,KAAAs8B,eAAAP,OAKA7B,GAAAoC,eAAA,SAAAP,GACA,OAAA/7B,KAAAu8B,oBAAAR,IAIAA,EAAAtB,6BAAAz6B,KAAAq8B,qBAAAN,IAEAA,EAAA1B,SACA0B,EAAAr3B,MAAA,uBAGA,KAGAq3B,EAAA1B,SAAAr6B,KAAAw8B,eAAAT,IAAA/7B,KAAAy8B,uBAAAV,MACA/7B,KAAAq8B,qBAAAN,IACA,IAOA7B,GAAAqC,oBAAA,SAAAR,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IAIA,GAHAw3B,EAAAtB,6BAAA,EAGAsB,EAAA50B,IAAA,KAAA40B,EAAA50B,IAAA,IACA,SAIA,GAAA40B,EAAA50B,IAAA,KACA,GAAA40B,EAAA50B,IAAA,KAAA40B,EAAA50B,IAAA,IACA,SAEA40B,EAAAx3B,IAAAI,EAIA,GAAAo3B,EAAA50B,IAAA,KAAA40B,EAAA50B,IAAA,KACA,IAAAu1B,GAAA,EAIA,GAHA18B,KAAAuF,QAAA8c,aAAA,IACAqa,EAAAX,EAAA50B,IAAA,KAEA40B,EAAA50B,IAAA,KAAA40B,EAAA50B,IAAA,IAMA,OALAnH,KAAAm8B,mBAAAJ,GACAA,EAAA50B,IAAA,KACA40B,EAAAr3B,MAAA,sBAEAq3B,EAAAtB,6BAAAiC,GACA,EAKA,OADAX,EAAAx3B,IAAAI,GACA,GAIAu1B,GAAAmC,qBAAA,SAAAN,EAAAY,GAGA,YAFA,IAAAA,OAAA,KAEA38B,KAAA48B,2BAAAb,EAAAY,KACAZ,EAAA50B,IAAA,KACA,IAMA+yB,GAAA0C,2BAAA,SAAAb,EAAAY,GACA,OACAZ,EAAA50B,IAAA,KACA40B,EAAA50B,IAAA,KACA40B,EAAA50B,IAAA,KACAnH,KAAA68B,2BAAAd,EAAAY,IAGAzC,GAAA2C,2BAAA,SAAAd,EAAAY,GACA,IAAAh4B,EAAAo3B,EAAAx3B,IACA,GAAAw3B,EAAA50B,IAAA,KAAyB,CACzB,IAAA21B,EAAA,EAAAC,GAAA,EACA,GAAA/8B,KAAAg9B,wBAAAjB,KACAe,EAAAf,EAAAxB,aACAwB,EAAA50B,IAAA,KAAAnH,KAAAg9B,wBAAAjB,KACAgB,EAAAhB,EAAAxB,cAEAwB,EAAA50B,IAAA,MAKA,OAHA,IAAA41B,KAAAD,IAAAH,GACAZ,EAAAr3B,MAAA,0CAEA,EAGAq3B,EAAA1B,UAAAsC,GACAZ,EAAAr3B,MAAA,yBAEAq3B,EAAAx3B,IAAAI,EAEA,UAIAu1B,GAAAsC,eAAA,SAAAT,GACA,OACA/7B,KAAAi9B,4BAAAlB,IACAA,EAAA50B,IAAA,KACAnH,KAAAk9B,mCAAAnB,IACA/7B,KAAAm9B,yBAAApB,IACA/7B,KAAAo9B,2BAAArB,IACA/7B,KAAAq9B,yBAAAtB,IAGA7B,GAAAgD,mCAAA,SAAAnB,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACA,GAAAw3B,EAAA50B,IAAA,KACA,GAAAnH,KAAAs9B,qBAAAvB,GACA,SAEAA,EAAAx3B,IAAAI,EAEA,UAEAu1B,GAAAkD,2BAAA,SAAArB,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACA,GAAAw3B,EAAA50B,IAAA,KACA,GAAA40B,EAAA50B,IAAA,KAAA40B,EAAA50B,IAAA,KAEA,GADAnH,KAAAm8B,mBAAAJ,GACAA,EAAA50B,IAAA,IACA,SAEA40B,EAAAr3B,MAAA,sBAEAq3B,EAAAx3B,IAAAI,EAEA,UAEAu1B,GAAAmD,yBAAA,SAAAtB,GACA,GAAAA,EAAA50B,IAAA,KAOA,GANAnH,KAAAuF,QAAA8c,aAAA,EACAriB,KAAAu9B,sBAAAxB,GACK,KAAAA,EAAAJ,WACLI,EAAAr3B,MAAA,iBAEA1E,KAAAm8B,mBAAAJ,GACAA,EAAA50B,IAAA,IAEA,OADA40B,EAAArB,oBAAA,GACA,EAEAqB,EAAAr3B,MAAA,sBAEA,UAIAw1B,GAAAuC,uBAAA,SAAAV,GACA,OACAA,EAAA50B,IAAA,KACAnH,KAAAk9B,mCAAAnB,IACA/7B,KAAAm9B,yBAAApB,IACA/7B,KAAAo9B,2BAAArB,IACA/7B,KAAAq9B,yBAAAtB,IACA/7B,KAAAw9B,kCAAAzB,IACA/7B,KAAAy9B,mCAAA1B,IAKA7B,GAAAsD,kCAAA,SAAAzB,GAIA,OAHA/7B,KAAA68B,2BAAAd,GAAA,IACAA,EAAAr3B,MAAA,sBAEA,GAIAw1B,GAAAwD,0BAAA,SAAA3B,GACA,IAAAn3B,EAAAm3B,EAAAJ,UACA,QAAAZ,GAAAn2B,KACAm3B,EAAAxB,aAAA31B,EACAm3B,EAAAF,WACA,IAiBA3B,GAAA+C,4BAAA,SAAAlB,GAGA,IAFA,IAAAp3B,EAAAo3B,EAAAx3B,IACAK,EAAA,GACA,KAAAA,EAAAm3B,EAAAJ,aAAAZ,GAAAn2B,IACAm3B,EAAAF,UAEA,OAAAE,EAAAx3B,MAAAI,GAIAu1B,GAAAuD,mCAAA,SAAA1B,GACA,IAAAn3B,EAAAm3B,EAAAJ,UACA,SACA,IAAA/2B,GACA,KAAAA,GACAA,GAAA,IAAAA,GAAA,IACA,KAAAA,GACA,KAAAA,GACA,KAAAA,GACA,KAAAA,GACA,MAAAA,KAEAm3B,EAAAF,WACA,IAQA3B,GAAAqD,sBAAA,SAAAxB,GACA,GAAAA,EAAA50B,IAAA,KACA,GAAAnH,KAAA29B,oBAAA5B,GAKA,OAJA,IAAAA,EAAAnB,WAAA1D,QAAA6E,EAAAvB,kBACAuB,EAAAr3B,MAAA,qCAEAq3B,EAAAnB,WAAAn3B,KAAAs4B,EAAAvB,iBAGAuB,EAAAr3B,MAAA,mBAOAw1B,GAAAyD,oBAAA,SAAA5B,GAEA,GADAA,EAAAvB,gBAAA,GACAuB,EAAA50B,IAAA,KACA,GAAAnH,KAAA49B,+BAAA7B,MAAA50B,IAAA,IACA,SAEA40B,EAAAr3B,MAAA,8BAEA,UAOAw1B,GAAA0D,+BAAA,SAAA7B,GAEA,GADAA,EAAAvB,gBAAA,GACAx6B,KAAA69B,gCAAA9B,GAAA,CAEA,IADAA,EAAAvB,iBAAAM,GAAAiB,EAAAxB,cACAv6B,KAAA89B,+BAAA/B,IACAA,EAAAvB,iBAAAM,GAAAiB,EAAAxB,cAEA,SAEA,UAQAL,GAAA2D,gCAAA,SAAA9B,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACAK,EAAAm3B,EAAAJ,UAMA,OALAI,EAAAF,UAEA,KAAAj3B,GAAA5E,KAAA+9B,sCAAAhC,KACAn3B,EAAAm3B,EAAAxB,cAUA,SAAA31B,GACA,OAAAmF,EAAAnF,GAAA,SAAAA,GAAA,KAAAA,EATAo5B,CAAAp5B,IACAm3B,EAAAxB,aAAA31B,GACA,IAGAm3B,EAAAx3B,IAAAI,GACA,IAaAu1B,GAAA4D,+BAAA,SAAA/B,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACAK,EAAAm3B,EAAAJ,UAMA,OALAI,EAAAF,UAEA,KAAAj3B,GAAA5E,KAAA+9B,sCAAAhC,KACAn3B,EAAAm3B,EAAAxB,cAUA,SAAA31B,GACA,OAAA0B,EAAA1B,GAAA,SAAAA,GAAA,KAAAA,GAAA,OAAAA,GAAA,OAAAA,EATAq5B,CAAAr5B,IACAm3B,EAAAxB,aAAA31B,GACA,IAGAm3B,EAAAx3B,IAAAI,GACA,IAOAu1B,GAAAoD,qBAAA,SAAAvB,GACA,SACA/7B,KAAAk+B,wBAAAnC,IACA/7B,KAAAm+B,+BAAApC,IACA/7B,KAAAo+B,0BAAArC,IACAA,EAAAzB,SAAAt6B,KAAAq+B,qBAAAtC,MAIAA,EAAA1B,UAEA,KAAA0B,EAAAJ,WACAI,EAAAr3B,MAAA,0BAEAq3B,EAAAr3B,MAAA,oBAEA,IAEAw1B,GAAAgE,wBAAA,SAAAnC,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACA,GAAAvE,KAAAs+B,wBAAAvC,GAAA,CACA,IAAAj6B,EAAAi6B,EAAAxB,aACA,GAAAwB,EAAA1B,QAKA,OAHAv4B,EAAAi6B,EAAApB,mBACAoB,EAAApB,iBAAA74B,IAEA,EAEA,GAAAA,GAAAi6B,EAAArB,mBACA,SAEAqB,EAAAx3B,IAAAI,EAEA,UAEAu1B,GAAAmE,qBAAA,SAAAtC,GACA,GAAAA,EAAA50B,IAAA,MACA,GAAAnH,KAAA29B,oBAAA5B,GAEA,OADAA,EAAAlB,mBAAAp3B,KAAAs4B,EAAAvB,kBACA,EAEAuB,EAAAr3B,MAAA,2BAEA,UAIAw1B,GAAAkE,0BAAA,SAAArC,GACA,OACA/7B,KAAAu+B,wBAAAxC,IACA/7B,KAAAw+B,yBAAAzC,IACA/7B,KAAAy+B,eAAA1C,IACA/7B,KAAA0+B,4BAAA3C,IACA/7B,KAAA+9B,sCAAAhC,KACAA,EAAA1B,SAAAr6B,KAAA2+B,oCAAA5C,IACA/7B,KAAA4+B,yBAAA7C,IAGA7B,GAAAsE,yBAAA,SAAAzC,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACA,GAAAw3B,EAAA50B,IAAA,KACA,GAAAnH,KAAA6+B,wBAAA9C,GACA,SAEAA,EAAAx3B,IAAAI,EAEA,UAEAu1B,GAAAuE,eAAA,SAAA1C,GACA,YAAAA,EAAAJ,YAAAR,GAAAY,EAAAH,eACAG,EAAAxB,aAAA,EACAwB,EAAAF,WACA,IAMA3B,GAAAqE,wBAAA,SAAAxC,GACA,IAAAn3B,EAAAm3B,EAAAJ,UACA,aAAA/2B,GACAm3B,EAAAxB,aAAA,EACAwB,EAAAF,WACA,GAEA,MAAAj3B,GACAm3B,EAAAxB,aAAA,GACAwB,EAAAF,WACA,GAEA,MAAAj3B,GACAm3B,EAAAxB,aAAA,GACAwB,EAAAF,WACA,GAEA,MAAAj3B,GACAm3B,EAAAxB,aAAA,GACAwB,EAAAF,WACA,GAEA,MAAAj3B,IACAm3B,EAAAxB,aAAA,GACAwB,EAAAF,WACA,IAMA3B,GAAA2E,wBAAA,SAAA9C,GACA,IAAAn3B,EAAAm3B,EAAAJ,UACA,QAAAX,GAAAp2B,KACAm3B,EAAAxB,aAAA31B,EAAA,GACAm3B,EAAAF,WACA,IAYA3B,GAAA6D,sCAAA,SAAAhC,GACA,IAoCAn3B,EApCAD,EAAAo3B,EAAAx3B,IAEA,GAAAw3B,EAAA50B,IAAA,MACA,GAAAnH,KAAA8+B,yBAAA/C,EAAA,IACA,IAAAgD,EAAAhD,EAAAxB,aACA,GAAAwB,EAAA1B,SAAA0E,GAAA,OAAAA,GAAA,OACA,IAAAC,EAAAjD,EAAAx3B,IACA,GAAAw3B,EAAA50B,IAAA,KAAA40B,EAAA50B,IAAA,MAAAnH,KAAA8+B,yBAAA/C,EAAA,IACA,IAAAkD,EAAAlD,EAAAxB,aACA,GAAA0E,GAAA,OAAAA,GAAA,MAEA,OADAlD,EAAAxB,aAAA,MAAAwE,EAAA,QAAAE,EAAA,cACA,EAGAlD,EAAAx3B,IAAAy6B,EACAjD,EAAAxB,aAAAwE,EAEA,SAEA,GACAhD,EAAA1B,SACA0B,EAAA50B,IAAA,MACAnH,KAAAk/B,oBAAAnD,IACAA,EAAA50B,IAAA,QAaAvC,EAZAm3B,EAAAxB,eAaA,GAAA31B,GAAA,SAXA,SAEAm3B,EAAA1B,SACA0B,EAAAr3B,MAAA,0BAEAq3B,EAAAx3B,IAAAI,EAGA,UAOAu1B,GAAA0E,yBAAA,SAAA7C,GACA,GAAAA,EAAA1B,QACA,QAAAr6B,KAAA09B,0BAAA3B,MAGAA,EAAA50B,IAAA,MACA40B,EAAAxB,aAAA,IACA,GAKA,IAAA31B,EAAAm3B,EAAAJ,UACA,aAAA/2B,GAAAm3B,EAAAzB,SAAA,MAAA11B,KACAm3B,EAAAxB,aAAA31B,EACAm3B,EAAAF,WACA,IAOA3B,GAAAoE,wBAAA,SAAAvC,GACAA,EAAAxB,aAAA,EACA,IAAA31B,EAAAm3B,EAAAJ,UACA,GAAA/2B,GAAA,IAAAA,GAAA,IACA,GACAm3B,EAAAxB,aAAA,GAAAwB,EAAAxB,cAAA31B,EAAA,IACAm3B,EAAAF,iBACKj3B,EAAAm3B,EAAAJ,YAAA,IAAA/2B,GAAA,IACL,SAEA,UAIAs1B,GAAAiE,+BAAA,SAAApC,GACA,IAAAn3B,EAAAm3B,EAAAJ,UAEA,GAyBA,SAAA/2B,GACA,OACA,MAAAA,GACA,KAAAA,GACA,MAAAA,GACA,KAAAA,GACA,MAAAA,GACA,KAAAA,EAhCAu6B,CAAAv6B,GAGA,OAFAm3B,EAAAxB,cAAA,EACAwB,EAAAF,WACA,EAGA,GACAE,EAAA1B,SACAr6B,KAAAuF,QAAA8c,aAAA,IACA,KAAAzd,GAAA,MAAAA,GACA,CAGA,GAFAm3B,EAAAxB,cAAA,EACAwB,EAAAF,UAEAE,EAAA50B,IAAA,MACAnH,KAAAo/B,yCAAArD,IACAA,EAAA50B,IAAA,KAEA,SAEA40B,EAAAr3B,MAAA,yBAGA,UAgBAw1B,GAAAkF,yCAAA,SAAArD,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IAGA,GAAAvE,KAAAq/B,8BAAAtD,MAAA50B,IAAA,KACA,IAAAvG,EAAAm7B,EAAAvB,gBACA,GAAAx6B,KAAAs/B,+BAAAvD,GAAA,CACA,IAAAz6B,EAAAy6B,EAAAvB,gBAEA,OADAx6B,KAAAu/B,2CAAAxD,EAAAn7B,EAAAU,IACA,GAMA,GAHAy6B,EAAAx3B,IAAAI,EAGA3E,KAAAw/B,yCAAAzD,GAAA,CACA,IAAA0D,EAAA1D,EAAAvB,gBAEA,OADAx6B,KAAA0/B,0CAAA3D,EAAA0D,IACA,EAEA,UAEAvF,GAAAqF,2CAAA,SAAAxD,EAAAn7B,EAAAU,GACAm4B,GAAAv3B,eAAAtB,KAAA,IAAA64B,GAAA74B,GAAAs2B,QAAA51B,IACAy6B,EAAAr3B,MAAA,0BAGAw1B,GAAAwF,0CAAA,SAAA3D,EAAA0D,IACA,IAAAhG,GAAAC,MAAAxC,QAAAuI,IACA1D,EAAAr3B,MAAA,0BAMAw1B,GAAAmF,8BAAA,SAAAtD,GACA,IAAAn3B,EAAA,EAEA,IADAm3B,EAAAvB,gBAAA,GACAS,GAAAr2B,EAAAm3B,EAAAJ,YACAI,EAAAvB,iBAAAM,GAAAl2B,GACAm3B,EAAAF,UAEA,WAAAE,EAAAvB,iBAQAN,GAAAoF,+BAAA,SAAAvD,GACA,IAAAn3B,EAAA,EAEA,IADAm3B,EAAAvB,gBAAA,GACAU,GAAAt2B,EAAAm3B,EAAAJ,YACAI,EAAAvB,iBAAAM,GAAAl2B,GACAm3B,EAAAF,UAEA,WAAAE,EAAAvB,iBAQAN,GAAAsF,yCAAA,SAAAzD,GACA,OAAA/7B,KAAAs/B,+BAAAvD,IAIA7B,GAAAiD,yBAAA,SAAApB,GACA,GAAAA,EAAA50B,IAAA,KAGA,GAFA40B,EAAA50B,IAAA,IACAnH,KAAA2/B,mBAAA5D,GACAA,EAAA50B,IAAA,IACA,SAGA40B,EAAAr3B,MAAA,gCAEA,UAMAw1B,GAAAyF,mBAAA,SAAA5D,GAGA,KAAA/7B,KAAA4/B,oBAAA7D,IAAA,CACA,IAAApP,EAAAoP,EAAAxB,aACA,GAAAwB,EAAA50B,IAAA,KAJAnH,KAIA4/B,oBAAA7D,GAAA,CACA,IAAAnP,EAAAmP,EAAAxB,cACAwB,EAAA1B,UAAA,IAAA1N,IAAA,IAAAC,GACAmP,EAAAr3B,MAAA,4BAEA,IAAAioB,IAAA,IAAAC,GAAAD,EAAAC,GACAmP,EAAAr3B,MAAA,4CAQAw1B,GAAA0F,oBAAA,SAAA7D,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IAEA,GAAAw3B,EAAA50B,IAAA,KACA,GAAAnH,KAAA6/B,sBAAA9D,GACA,SAEA,GAAAA,EAAA1B,QAAA,CAEA,IAAAyF,EAAA/D,EAAAJ,WACA,KAAAmE,GAAAxE,GAAAwE,KACA/D,EAAAr3B,MAAA,wBAEAq3B,EAAAr3B,MAAA,kBAEAq3B,EAAAx3B,IAAAI,EAGA,IAAAC,EAAAm3B,EAAAJ,UACA,YAAA/2B,IACAm3B,EAAAxB,aAAA31B,EACAm3B,EAAAF,WACA,IAOA3B,GAAA2F,sBAAA,SAAA9D,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IAEA,GAAAw3B,EAAA50B,IAAA,IAEA,OADA40B,EAAAxB,aAAA,GACA,EAGA,GAAAwB,EAAA1B,SAAA0B,EAAA50B,IAAA,IAEA,OADA40B,EAAAxB,aAAA,IACA,EAGA,IAAAwB,EAAA1B,SAAA0B,EAAA50B,IAAA,KACA,GAAAnH,KAAA+/B,6BAAAhE,GACA,SAEAA,EAAAx3B,IAAAI,EAGA,OACA3E,KAAAm+B,+BAAApC,IACA/7B,KAAAo+B,0BAAArC,IAKA7B,GAAA6F,6BAAA,SAAAhE,GACA,IAAAn3B,EAAAm3B,EAAAJ,UACA,SAAAR,GAAAv2B,IAAA,KAAAA,KACAm3B,EAAAxB,aAAA31B,EAAA,GACAm3B,EAAAF,WACA,IAMA3B,GAAAwE,4BAAA,SAAA3C,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACA,GAAAw3B,EAAA50B,IAAA,MACA,GAAAnH,KAAA8+B,yBAAA/C,EAAA,GACA,SAEAA,EAAA1B,SACA0B,EAAAr3B,MAAA,kBAEAq3B,EAAAx3B,IAAAI,EAEA,UAIAu1B,GAAA8C,wBAAA,SAAAjB,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACAK,EAAA,EAEA,IADAm3B,EAAAxB,aAAA,EACAY,GAAAv2B,EAAAm3B,EAAAJ,YACAI,EAAAxB,aAAA,GAAAwB,EAAAxB,cAAA31B,EAAA,IACAm3B,EAAAF,UAEA,OAAAE,EAAAx3B,MAAAI,GAOAu1B,GAAAgF,oBAAA,SAAAnD,GACA,IAAAp3B,EAAAo3B,EAAAx3B,IACAK,EAAA,EAEA,IADAm3B,EAAAxB,aAAA,EACAa,GAAAx2B,EAAAm3B,EAAAJ,YACAI,EAAAxB,aAAA,GAAAwB,EAAAxB,aAAAc,GAAAz2B,GACAm3B,EAAAF,UAEA,OAAAE,EAAAx3B,MAAAI,GAqBAu1B,GAAAyE,oCAAA,SAAA5C,GACA,GAAA/7B,KAAAggC,qBAAAjE,GAAA,CACA,IAAAkE,EAAAlE,EAAAxB,aACA,GAAAv6B,KAAAggC,qBAAAjE,GAAA,CACA,IAAAmE,EAAAnE,EAAAxB,aACA0F,GAAA,GAAAjgC,KAAAggC,qBAAAjE,GACAA,EAAAxB,aAAA,GAAA0F,EAAA,EAAAC,EAAAnE,EAAAxB,aAEAwB,EAAAxB,aAAA,EAAA0F,EAAAC,OAGAnE,EAAAxB,aAAA0F,EAEA,SAEA,UAIA/F,GAAA8F,qBAAA,SAAAjE,GACA,IAAAn3B,EAAAm3B,EAAAJ,UACA,OAAAL,GAAA12B,IACAm3B,EAAAxB,aAAA31B,EAAA,GACAm3B,EAAAF,WACA,IAEAE,EAAAxB,aAAA,GACA,IASAL,GAAA4E,yBAAA,SAAA/C,EAAAt3B,GACA,IAAAE,EAAAo3B,EAAAx3B,IACAw3B,EAAAxB,aAAA,EACA,QAAAl6B,EAAA,EAAiBA,EAAAoE,IAAYpE,EAAA,CAC7B,IAAAuE,EAAAm3B,EAAAJ,UACA,IAAAP,GAAAx2B,GAEA,OADAm3B,EAAAx3B,IAAAI,GACA,EAEAo3B,EAAAxB,aAAA,GAAAwB,EAAAxB,aAAAc,GAAAz2B,GACAm3B,EAAAF,UAEA,UAOA,IAAA7gB,GAAA,SAAA7Y,GACAnC,KAAAmE,KAAAhC,EAAAgC,KACAnE,KAAAsB,MAAAa,EAAAb,MACAtB,KAAA2E,MAAAxC,EAAAwC,MACA3E,KAAA8hB,IAAA3f,EAAA2f,IACA3f,EAAAoD,QAAAC,YACKxF,KAAA6jB,IAAA,IAAAnJ,EAAAvY,IAAA4E,SAAA5E,EAAAwhB,SACLxhB,EAAAoD,QAAAyd,SACKhjB,KAAA8jB,MAAA,CAAA3hB,EAAAwC,MAAAxC,EAAA2f,OAKLqe,GAAAl8B,EAAAhC,UAidA,SAAAm+B,GAAAt2B,GAEA,OAAAA,GAAA,MAAuBzE,OAAAC,aAAAwE,IACvBA,GAAA,MACAzE,OAAAC,aAAA,OAAAwE,GAAA,gBAAAA,KAjdAq2B,GAAAv5B,KAAA,WACA5G,KAAAuF,QAAAud,SACK9iB,KAAAuF,QAAAud,QAAA,IAAA9H,GAAAhb,OAELA,KAAAgI,WAAAhI,KAAA8hB,IACA9hB,KAAA8kB,aAAA9kB,KAAA2E,MACA3E,KAAAiI,cAAAjI,KAAA2jB,OACA3jB,KAAA6kB,gBAAA7kB,KAAA+G,SACA/G,KAAAomB,aAGA+Z,GAAAE,SAAA,WAEA,OADArgC,KAAA4G,OACA,IAAAoU,GAAAhb,OAIA,oBAAAoB,SACG++B,GAAA/+B,OAAAk/B,UAAA,WACH,IAAApS,EAAAluB,KAEA,OACA4G,KAAA,WACA,IAAA2c,EAAA2K,EAAAmS,WACA,OACAE,KAAAhd,EAAApf,OAAA0W,EAAAsC,IACA7b,MAAAiiB,OASA4c,GAAAp8B,WAAA,WACA,OAAA/D,KAAAwD,QAAAxD,KAAAwD,QAAAiB,OAAA,IAMA07B,GAAA/Z,UAAA,WACA,IAAAriB,EAAA/D,KAAA+D,aAKA,OAJAA,KAAAy0B,eAAiDx4B,KAAAwgC,YAEjDxgC,KAAA2E,MAAA3E,KAAAuE,IACAvE,KAAAuF,QAAAC,YAA+BxF,KAAA+G,SAAA/G,KAAA4kB,eAC/B5kB,KAAAuE,KAAAvE,KAAAwE,MAAAC,OAAsCzE,KAAA8E,YAAA+V,EAAAsC,KAEtCpZ,EAAA00B,SAA4B10B,EAAA00B,SAAAz4B,WACpBA,KAAAygC,UAAAzgC,KAAA0gC,sBAGRP,GAAAM,UAAA,SAAA32B,GAGA,OAAAC,EAAAD,EAAA9J,KAAAuF,QAAA8c,aAAA,SAAAvY,EACK9J,KAAA2gC,WAEL3gC,KAAA+E,iBAAA+E,IAGAq2B,GAAAO,kBAAA,WACA,IAAA52B,EAAA9J,KAAAwE,MAAAK,WAAA7E,KAAAuE,KACA,OAAAuF,GAAA,OAAAA,GAAA,MAAyCA,GAEzCA,GAAA,IADA9J,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,UAGA47B,GAAAS,iBAAA,WACA,IAQA1e,EANAnb,EAAA/G,KAAAuF,QAAAwd,WAAA/iB,KAAA4kB,cACAjgB,EAAA3E,KAAAuE,IAAAud,EAAA9hB,KAAAwE,MAAA0yB,QAAA,KAAAl3B,KAAAuE,KAAA,GAGA,IAFA,IAAAud,GAAmB9hB,KAAA0E,MAAA1E,KAAAuE,IAAA,0BACnBvE,KAAAuE,IAAAud,EAAA,EACA9hB,KAAAuF,QAAAC,UAGA,IAFA0V,EAAA+G,UAAAtd,GAEAud,EAAAhH,EAAAiH,KAAAniB,KAAAwE,SAAA0d,EAAAE,MAAApiB,KAAAuE,OATAvE,KAUAyF,QAVAzF,KAWA0F,UAAAwc,EAAAE,MAAAF,EAAA,GAAAzd,OAGAzE,KAAAuF,QAAAwd,WACK/iB,KAAAuF,QAAAwd,WAAA,EAAA/iB,KAAAwE,MAAAQ,MAAAL,EAAA,EAAAmd,GAAAnd,EAAA3E,KAAAuE,IACLwC,EAAA/G,KAAA4kB,gBAGAub,GAAA1a,gBAAA,SAAAob,GAMA,IALA,IAEAl8B,EAAA3E,KAAAuE,IACAwC,EAAA/G,KAAAuF,QAAAwd,WAAA/iB,KAAA4kB,cACAhgB,EAAA5E,KAAAwE,MAAAK,WAAA7E,KAAAuE,KAAAs8B,GACA7gC,KAAAuE,IAAAvE,KAAAwE,MAAAC,SAAAS,EAAAN,IACAA,EANA5E,KAMAwE,MAAAK,aANA7E,KAMAuE,KAEAvE,KAAAuF,QAAAwd,WACK/iB,KAAAuF,QAAAwd,WAAA,EAAA/iB,KAAAwE,MAAAQ,MAAAL,EAAAk8B,EAAA7gC,KAAAuE,KAAAI,EAAA3E,KAAAuE,IACLwC,EAAA/G,KAAA4kB,gBAMAub,GAAAK,UAAA,WAGAM,EAAA,KAAA9gC,KAAAuE,IAAAvE,KAAAwE,MAAAC,QAAA,CACA,IAAAG,EAHA5E,KAGAwE,MAAAK,WAHA7E,KAGAuE,KACA,OAAAK,GACA,mBALA5E,KAMAuE,IACA,MACA,QACA,KATAvE,KASAwE,MAAAK,WATA7E,KASAuE,IAAA,MATAvE,KAUAuE,IAEA,8BAZAvE,KAaAuE,IAbAvE,KAcAuF,QAAAC,cAdAxF,KAeAyF,QAfAzF,KAgBA0F,UAhBA1F,KAgBAuE,KAEA,MACA,QACA,OApBAvE,KAoBAwE,MAAAK,WApBA7E,KAoBAuE,IAAA,IACA,QArBAvE,KAsBA4gC,mBACA,MACA,QAxBA5gC,KAyBAylB,gBAAA,GACA,MACA,QACA,MAAAqb,EAEA,MACA,QACA,KAAAl8B,EAAA,GAAAA,EAAA,IAAAA,GAAA,MAAAuW,EAAAhV,KAAAd,OAAAC,aAAAV,KAGA,MAAAk8B,IAnCA9gC,KAiCAuE,OAaA47B,GAAAr7B,YAAA,SAAAX,EAAA6wB,GACAh1B,KAAA8hB,IAAA9hB,KAAAuE,IACAvE,KAAAuF,QAAAC,YAA+BxF,KAAA2jB,OAAA3jB,KAAA4kB,eAC/B,IAAAjhB,EAAA3D,KAAAmE,KACAnE,KAAAmE,OACAnE,KAAAsB,MAAA0zB,EAEAh1B,KAAAuD,cAAAI,IAYAw8B,GAAAY,cAAA,WACA,IAAAn6B,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,GAAAqC,GAAA,IAAAA,GAAA,GAAiC,OAAA5G,KAAAghC,YAAA,GACjC,IAAAC,EAAAjhC,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,OAAAvE,KAAAuF,QAAA8c,aAAA,QAAAzb,GAAA,KAAAq6B,GACAjhC,KAAAuE,KAAA,EACAvE,KAAA8E,YAAA+V,EAAAtS,cAEAvI,KAAAuE,IACAvE,KAAA8E,YAAA+V,EAAAtT,OAIA44B,GAAAe,gBAAA,WACA,IAAAt6B,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,OAAAvE,KAAA0D,eAAyB1D,KAAAuE,IAAYvE,KAAAmhC,cACrC,KAAAv6B,EAAoB5G,KAAAohC,SAAAvmB,EAAAmD,OAAA,GACpBhe,KAAAohC,SAAAvmB,EAAA/W,MAAA,IAGAq8B,GAAAkB,0BAAA,SAAAv3B,GACA,IAAAlD,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA+8B,EAAA,EACAC,EAAA,KAAAz3B,EAAA+Q,EAAA8D,KAAA9D,EAAA6D,OASA,OANA1e,KAAAuF,QAAA8c,aAAA,QAAAvY,GAAA,KAAAlD,MACA06B,EACAC,EAAA1mB,EAAA+D,SACAhY,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,IAGA,KAAAqC,EAAoB5G,KAAAohC,SAAAvmB,EAAAmD,OAAAsjB,EAAA,GACpBthC,KAAAohC,SAAAG,EAAAD,IAGAnB,GAAAqB,mBAAA,SAAA13B,GACA,IAAAlD,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,OAAAqC,IAAAkD,EAAsB9J,KAAAohC,SAAA,MAAAt3B,EAAA+Q,EAAAqD,UAAArD,EAAAsD,WAAA,GACtB,KAAAvX,EAAoB5G,KAAAohC,SAAAvmB,EAAAmD,OAAA,GACpBhe,KAAAohC,SAAA,MAAAt3B,EAAA+Q,EAAAuD,UAAAvD,EAAAyD,WAAA,IAGA6hB,GAAAsB,gBAAA,WAEA,YADAzhC,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACoBvE,KAAAohC,SAAAvmB,EAAAmD,OAAA,GACpBhe,KAAAohC,SAAAvmB,EAAAwD,WAAA,IAGA8hB,GAAAuB,mBAAA,SAAA53B,GACA,IAAAlD,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,OAAAqC,IAAAkD,EACA,KAAAlD,GAAA5G,KAAAglB,UAAA,KAAAhlB,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,IACA,IAAAvE,KAAAgI,aAAAiT,EAAA9U,KAAAnG,KAAAwE,MAAAQ,MAAAhF,KAAAgI,WAAAhI,KAAAuE,MAMAvE,KAAAohC,SAAAvmB,EAAAoD,OAAA,IAJAje,KAAAylB,gBAAA,GACAzlB,KAAAwgC,YACAxgC,KAAAomB,aAIA,KAAAxf,EAAoB5G,KAAAohC,SAAAvmB,EAAAmD,OAAA,GACpBhe,KAAAohC,SAAAvmB,EAAA4D,QAAA,IAGA0hB,GAAAwB,gBAAA,SAAA73B,GACA,IAAAlD,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA+8B,EAAA,EACA,OAAA16B,IAAAkD,GACAw3B,EAAA,KAAAx3B,GAAA,KAAA9J,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,OACA,KAAAvE,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA+8B,GAAwDthC,KAAAohC,SAAAvmB,EAAAmD,OAAAsjB,EAAA,GACxDthC,KAAAohC,SAAAvmB,EAAA2D,SAAA8iB,IAEA,KAAA16B,GAAA,KAAAkD,GAAA9J,KAAAglB,UAAA,KAAAhlB,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,IACA,KAAAvE,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,IAMA,KAAAqC,IAAoB06B,EAAA,GACpBthC,KAAAohC,SAAAvmB,EAAAxR,WAAAi4B,KALAthC,KAAAylB,gBAAA,GACAzlB,KAAAwgC,YACAxgC,KAAAomB,cAMA+Z,GAAAyB,kBAAA,SAAA93B,GACA,IAAAlD,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,YAAAqC,EAAoB5G,KAAAohC,SAAAvmB,EAAA0D,SAAA,KAAAve,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,QACpB,KAAAuF,GAAA,KAAAlD,GAAA5G,KAAAuF,QAAA8c,aAAA,GACAriB,KAAAuE,KAAA,EACAvE,KAAA8E,YAAA+V,EAAA8C,QAEA3d,KAAAohC,SAAA,KAAAt3B,EAAA+Q,EAAAnS,GAAAmS,EAAA+B,OAAA,IAGAujB,GAAAp7B,iBAAA,SAAA+E,GACA,OAAAA,GAGA,QACA,OAAA9J,KAAA+gC,gBAGA,QAAsB,QAAtB/gC,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAAyC,QACtB,QAAsB,QAAtBtd,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAA0C,QACtB,QAAsB,QAAtBvd,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAA4C,MACtB,QAAsB,QAAtBzd,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAA2C,OACtB,QAAsB,QAAtBxd,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAAuC,UACtB,QAAsB,QAAtBpd,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAAwC,UACtB,SAAuB,QAAvBrd,KAAAuE,IAAuBvE,KAAA8E,YAAA+V,EAAAlT,QACvB,SAAuB,QAAvB3H,KAAAuE,IAAuBvE,KAAA8E,YAAA+V,EAAA1S,QACvB,QAAsB,QAAtBnI,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAAzT,OACtB,QAAsB,QAAtBpH,KAAAuE,IAAsBvE,KAAA8E,YAAA+V,EAAA6C,UAEtB,QACA,GAAA1d,KAAAuF,QAAA8c,YAAA,EAAuC,MAEvC,QADAriB,KAAAuE,IACAvE,KAAA8E,YAAA+V,EAAAiD,WAEA,QACA,IAAAlX,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,IAAA,GACA,SAAAqC,GAAA,KAAAA,EAAsC,OAAA5G,KAAA6hC,gBAAA,IACtC,GAAA7hC,KAAAuF,QAAA8c,aAAA,GACA,SAAAzb,GAAA,KAAAA,EAAwC,OAAA5G,KAAA6hC,gBAAA,GACxC,QAAAj7B,GAAA,KAAAA,EAAuC,OAAA5G,KAAA6hC,gBAAA,GAKvC,wEACA,OAAA7hC,KAAAghC,YAAA,GAGA,gBACA,OAAAhhC,KAAA8hC,WAAAh4B,GAOA,QACA,OAAA9J,KAAAkhC,kBAEA,gBACA,OAAAlhC,KAAAqhC,0BAAAv3B,GAEA,iBACA,OAAA9J,KAAAwhC,mBAAA13B,GAEA,QACA,OAAA9J,KAAAyhC,kBAEA,gBACA,OAAAzhC,KAAA0hC,mBAAA53B,GAEA,gBACA,OAAA9J,KAAA2hC,gBAAA73B,GAEA,gBACA,OAAA9J,KAAA4hC,kBAAA93B,GAEA,SACA,OAAA9J,KAAAohC,SAAAvmB,EAAA+B,OAAA,GAGA5c,KAAA0E,MAAA1E,KAAAuE,IAAA,yBAAA67B,GAAAt2B,GAAA,MAGAq2B,GAAAiB,SAAA,SAAAj9B,EAAAm9B,GACA,IAAAv7B,EAAA/F,KAAAwE,MAAAQ,MAAAhF,KAAAuE,IAAAvE,KAAAuE,IAAA+8B,GAEA,OADAthC,KAAAuE,KAAA+8B,EACAthC,KAAA8E,YAAAX,EAAA4B,IAGAo6B,GAAAgB,WAAA,WAIA,IAHA,IAEAY,EAAAC,EAAAr9B,EAAA3E,KAAAuE,MACS,CAHTvE,KAIAuE,KAJAvE,KAIAwE,MAAAC,QAJAzE,KAI4C0E,MAAAC,EAAA,mCAC5C,IAAAC,EALA5E,KAKAwE,MAAAokB,OALA5oB,KAKAuE,KAEA,GADA0W,EAAA9U,KAAAvB,IANA5E,KAM6B0E,MAAAC,EAAA,mCAC7Bo9B,EAKYA,GAAA,MALZ,CACA,SAAAn9B,EAAuBo9B,GAAA,OACvB,SAAAp9B,GAAAo9B,EAAuCA,GAAA,OACvC,SAAAp9B,IAAAo9B,EAAwC,MACxCD,EAAA,OAAAn9B,IAXA5E,KAaAuE,IAEA,IAAAqwB,EAAA50B,KAAAwE,MAAAQ,MAAAL,EAAA3E,KAAAuE,OACAvE,KAAAuE,IACA,IAAA09B,EAAAjiC,KAAAuE,IACAswB,EAAA70B,KAAAkiC,YACAliC,KAAAwkB,aAAyBxkB,KAAA2G,WAAAs7B,GAGzB,IAAAlG,EAAA/7B,KAAA4lB,cAAA5lB,KAAA4lB,YAAA,IAAAuU,GAAAn6B,OACA+7B,EAAAR,MAAA52B,EAAAiwB,EAAAC,GACA70B,KAAA87B,oBAAAC,GACA/7B,KAAAi8B,sBAAAF,GAGA,IAAAz6B,EAAA,KACA,IACAA,EAAA,IAAA0a,OAAA4Y,EAAAC,GACG,MAAAsN,IAKH,OAAAniC,KAAA8E,YAAA+V,EAAAqC,OAAA,CAAyC0X,UAAAC,QAAAvzB,WAOzC6+B,GAAAiC,QAAA,SAAAC,EAAAxK,GAIA,IAHA,IAEAlzB,EAAA3E,KAAAuE,IAAA+9B,EAAA,EACAjiC,EAAA,EAAA8hC,EAAA,MAAAtK,EAAA0K,IAAA1K,EAAmDx3B,EAAA8hC,IAAO9hC,EAAA,CAC1D,IAAAyJ,EAJA9J,KAIAwE,MAAAK,WAJA7E,KAIAuE,KAAAywB,OAAA,EAKA,IAJqBA,EAArBlrB,GAAA,GAAqBA,EAAA,MACrBA,GAAA,GAA0BA,EAAA,MAC1BA,GAAA,IAAAA,GAAA,GAAwCA,EAAA,GAC9By4B,MACVF,EAAuB,QATvBriC,KAUAuE,IACA+9B,IAAAD,EAAArN,EAEA,OAAAh1B,KAAAuE,MAAAI,GAAA,MAAAkzB,GAAA73B,KAAAuE,IAAAI,IAAAkzB,EAAsE,KAEtEyK,GAGAnC,GAAA0B,gBAAA,SAAAQ,GACAriC,KAAAuE,KAAA,EACA,IAAAywB,EAAAh1B,KAAAoiC,QAAAC,GAGA,OAFA,MAAArN,GAAoBh1B,KAAA0E,MAAA1E,KAAA2E,MAAA,8BAAA09B,GACpBt4B,EAAA/J,KAAA0gC,sBAAoD1gC,KAAA0E,MAAA1E,KAAAuE,IAAA,oCACpDvE,KAAA8E,YAAA+V,EAAAoC,IAAA+X,IAKAmL,GAAAa,WAAA,SAAAwB,GACA,IAAA79B,EAAA3E,KAAAuE,IACAi+B,GAAA,OAAAxiC,KAAAoiC,QAAA,KAAoDpiC,KAAA0E,MAAAC,EAAA,kBACpD,IAAA89B,EAAAziC,KAAAuE,IAAAI,GAAA,QAAA3E,KAAAwE,MAAAK,WAAAF,GACA89B,GAAAziC,KAAAwb,QAA6Bxb,KAAA0E,MAAAC,EAAA,kBAC7B89B,GAAA,OAAAt8B,KAAAnG,KAAAwE,MAAAQ,MAAAL,EAAA3E,KAAAuE,QAAgEk+B,GAAA,GAChE,IAAA77B,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,KACA,KAAAqC,GAAA67B,MACAziC,KAAAuE,IACAvE,KAAAoiC,QAAA,IACAx7B,EAAA5G,KAAAwE,MAAAK,WAAA7E,KAAAuE,MAEA,KAAAqC,GAAA,MAAAA,GAAA67B,IAEA,MADA77B,EAAA5G,KAAAwE,MAAAK,aAAA7E,KAAAuE,OACA,KAAAqC,KAAqC5G,KAAAuE,IACrC,OAAAvE,KAAAoiC,QAAA,KAAoCpiC,KAAA0E,MAAAC,EAAA,mBAEpCoF,EAAA/J,KAAA0gC,sBAAoD1gC,KAAA0E,MAAA1E,KAAAuE,IAAA,oCAEpD,IAAAwB,EAAA/F,KAAAwE,MAAAQ,MAAAL,EAAA3E,KAAAuE,KACAywB,EAAAyN,EAAAr8B,SAAAL,EAAA,GAAA28B,WAAA38B,GACA,OAAA/F,KAAA8E,YAAA+V,EAAAoC,IAAA+X,IAKAmL,GAAAwC,cAAA,WACA,IAAA74B,EAEA,SAFA9J,KAAAwE,MAAAK,WAAA7E,KAAAuE,KAEA,CACAvE,KAAAuF,QAAA8c,YAAA,GAAuCriB,KAAA2G,aACvC,IAAAi8B,IAAA5iC,KAAAuE,IACAuF,EAAA9J,KAAA6iC,YAAA7iC,KAAAwE,MAAA0yB,QAAA,IAAiDl3B,KAAAuE,KAAAvE,KAAAuE,OACjDvE,KAAAuE,IACAuF,EAAA,SAA0B9J,KAAA8iC,mBAAAF,EAAA,iCAE1B94B,EAAA9J,KAAA6iC,YAAA,GAEA,OAAA/4B,GAUAq2B,GAAA2B,WAAA,SAAAl8B,GAIA,IAHA,IAEAhC,EAAA,GAAAU,IAAAtE,KAAAuE,MACS,CAHTvE,KAIAuE,KAJAvE,KAIAwE,MAAAC,QAJAzE,KAI4C0E,MAJ5C1E,KAI4C2E,MAAA,gCAC5C,IAAAC,EALA5E,KAKAwE,MAAAK,WALA7E,KAKAuE,KACA,GAAAK,IAAAgB,EAAuB,MACvB,KAAAhB,GACAhB,GARA5D,KAQAwE,MAAAQ,MAAAV,EARAtE,KAQAuE,KACAX,GATA5D,KASA+iC,iBAAA,GACAz+B,EAVAtE,KAUAuE,MAEAW,EAAAN,EAZA5E,KAYAuF,QAAA8c,aAAA,KAZAriB,KAY4D0E,MAZ5D1E,KAY4D2E,MAAA,kCAZ5D3E,KAaAuE,KAIA,OADAX,GAAA5D,KAAAwE,MAAAQ,MAAAV,EAAAtE,KAAAuE,OACAvE,KAAA8E,YAAA+V,EAAAhV,OAAAjC,IAKA,IAAAo/B,GAAA,GAEA7C,GAAArH,qBAAA,WACA94B,KAAAijC,mBAAA,EACA,IACAjjC,KAAAkjC,gBACG,MAAA3L,GACH,GAAAA,IAAAyL,GAGA,MAAAzL,EAFAv3B,KAAAmjC,2BAMAnjC,KAAAijC,mBAAA,GAGA9C,GAAA2C,mBAAA,SAAAM,EAAA9L,GACA,GAAAt3B,KAAAijC,mBAAAjjC,KAAAuF,QAAA8c,aAAA,EACA,MAAA2gB,GAEAhjC,KAAA0E,MAAA0+B,EAAA9L,IAIA6I,GAAA+C,cAAA,WAIA,IAHA,IAEAt/B,EAAA,GAAAU,EAAAtE,KAAAuE,MACS,CAHTvE,KAIAuE,KAJAvE,KAIAwE,MAAAC,QAJAzE,KAI4C0E,MAJ5C1E,KAI4C2E,MAAA,yBAC5C,IAAAC,EALA5E,KAKAwE,MAAAK,WALA7E,KAKAuE,KACA,QAAAK,GAAA,KAAAA,GAAA,MANA5E,KAMAwE,MAAAK,WANA7E,KAMAuE,IAAA,GACA,OAPAvE,KAOAuE,MAPAvE,KAOA2E,OAPA3E,KAOAmE,OAAA0W,EAAA+C,UAPA5d,KAOAmE,OAAA0W,EAAAgD,iBASAja,GAhBA5D,KAgBAwE,MAAAQ,MAAAV,EAhBAtE,KAgBAuE,KAhBAvE,KAiBA8E,YAAA+V,EAAA+C,SAAAha,IATA,KAAAgB,GARA5E,KASAuE,KAAA,EATAvE,KAUA8E,YAAA+V,EAAAkD,kBAVA/d,KAYAuE,IAZAvE,KAaA8E,YAAA+V,EAAAiD,YAMA,QAAAlZ,EACAhB,GApBA5D,KAoBAwE,MAAAQ,MAAAV,EApBAtE,KAoBAuE,KACAX,GArBA5D,KAqBA+iC,iBAAA,GACAz+B,EAtBAtE,KAsBAuE,SACK,GAAAW,EAAAN,GAAA,CAGL,OAFAhB,GAxBA5D,KAwBAwE,MAAAQ,MAAAV,EAxBAtE,KAwBAuE,OAxBAvE,KAyBAuE,IACAK,GACA,QACA,KA5BA5E,KA4BAwE,MAAAK,WA5BA7E,KA4BAuE,QA5BAvE,KA4ByDuE,IACzD,QACAX,GAAA,KACA,MACA,QACAA,GAAAyB,OAAAC,aAAAV,GAjCA5E,KAoCAuF,QAAAC,cApCAxF,KAqCAyF,QArCAzF,KAsCA0F,UAtCA1F,KAsCAuE,KAEAD,EAxCAtE,KAwCAuE,UAxCAvE,KA0CAuE,MAMA47B,GAAAgD,yBAAA,WAGA,KAAQnjC,KAAAuE,IAAAvE,KAAAwE,MAAAC,OAA8BzE,KAAAuE,MACtC,OAHAvE,KAGAwE,MAHAxE,KAGAuE,MACA,WAJAvE,KAKAuE,IACA,MAEA,QACA,SATAvE,KASAwE,MATAxE,KASAuE,IAAA,GACA,MAIA,QACA,OAfAvE,KAeA8E,YAAA+V,EAAAgD,gBAfA7d,KAeAwE,MAAAQ,MAfAhF,KAeA2E,MAfA3E,KAeAuE,MAKAvE,KAAA0E,MAAA1E,KAAA2E,MAAA,0BAKAw7B,GAAA4C,gBAAA,SAAAM,GACA,IAAAz+B,EAAA5E,KAAAwE,MAAAK,aAAA7E,KAAAuE,KAEA,SADAvE,KAAAuE,IACAK,GACA,oBACA,oBACA,gBAAAS,OAAAC,aAAAtF,KAAA6iC,YAAA,IACA,gBAAAzC,GAAApgC,KAAA2iC,iBACA,oBACA,mBACA,oBACA,oBACA,aAAA3iC,KAAAwE,MAAAK,WAAA7E,KAAAuE,QAAwDvE,KAAAuE,IACxD,QAEA,OADAvE,KAAAuF,QAAAC,YAAiCxF,KAAA0F,UAAA1F,KAAAuE,MAA2BvE,KAAAyF,SAC5D,GACA,QACA,GAAAb,GAAA,IAAAA,GAAA,IACA,IAAA0+B,EAAAtjC,KAAAwE,MAAA0B,OAAAlG,KAAAuE,IAAA,KAAA2d,MAAA,cACAugB,EAAAr8B,SAAAk9B,EAAA,GAeA,OAdAb,EAAA,MACAa,IAAAt+B,MAAA,MACAy9B,EAAAr8B,SAAAk9B,EAAA,IAEAtjC,KAAAuE,KAAA++B,EAAA7+B,OAAA,EACAG,EAAA5E,KAAAwE,MAAAK,WAAA7E,KAAAuE,KACA,MAAA++B,GAAA,KAAA1+B,GAAA,KAAAA,IAAA5E,KAAAwb,SAAA6nB,GACArjC,KAAA8iC,mBACA9iC,KAAAuE,IAAA,EAAA++B,EAAA7+B,OACA4+B,EACA,mCACA,gCAGAh+B,OAAAC,aAAAm9B,GAEA,OAAAp9B,OAAAC,aAAAV,KAMAu7B,GAAA0C,YAAA,SAAAhL,GACA,IAAA+K,EAAA5iC,KAAAuE,IACAzC,EAAA9B,KAAAoiC,QAAA,GAAAvK,GAEA,OADA,OAAA/1B,GAAmB9B,KAAA8iC,mBAAAF,EAAA,iCACnB9gC,GASAq+B,GAAA+B,UAAA,WAGAliC,KAAAwkB,aAAA,EAGA,IAFA,IAAAsB,EAAA,GAAAmK,GAAA,EAAA3rB,EAAAtE,KAAAuE,IACA+X,EAAAtc,KAAAuF,QAAA8c,aAAA,EACAriB,KAAAuE,IAAAvE,KAAAwE,MAAAC,QAAA,CACA,IAAAG,EANA5E,KAMA0gC,oBACA,GAAAp6B,EAAA1B,EAAA0X,GAPAtc,KAQAuE,KAAAK,GAAA,cACK,SAAAA,EAaL,MAtBA5E,KAUAwkB,aAAA,EACAsB,GAXA9lB,KAWAwE,MAAAQ,MAAAV,EAXAtE,KAWAuE,KACA,IAAAg/B,EAZAvjC,KAYAuE,IACA,MAbAvE,KAaAwE,MAAAK,aAbA7E,KAaAuE,MAbAvE,KAcS8iC,mBAdT9iC,KAcSuE,IAAA,+CAdTvE,KAeAuE,IACA,IAAAi/B,EAhBAxjC,KAgBA2iC,iBACA1S,EAAAlmB,EAAAzD,GAAAk9B,EAAAlnB,IAjBAtc,KAkBS8iC,mBAAAS,EAAA,0BACTzd,GAAAsa,GAAAoD,GACAl/B,EApBAtE,KAoBAuE,IAIA0rB,GAAA,EAEA,OAAAnK,EAAA9lB,KAAAwE,MAAAQ,MAAAV,EAAAtE,KAAAuE,MAMA47B,GAAAQ,SAAA,WACA,IAAA7a,EAAA9lB,KAAAkiC,YACA/9B,EAAA0W,EAAAja,KAKA,OAJAZ,KAAA2b,SAAAxV,KAAA2f,KACA9lB,KAAAwkB,aAA2BxkB,KAAAwnB,iBAAAxnB,KAAA2E,MAAA,8BAAAmhB,GAC3B3hB,EAAA2W,EAAAgL,IAEA9lB,KAAA8E,YAAAX,EAAA2hB,IAwBA,IAiCA1L,GACAC,GACAC,GAnCAN,GAAA,QASA,SAAAC,GAAAzV,EAAAe,GACA,WAAAtB,EAAAsB,EAAAf,GAAAyV,QAOA,SAAAC,GAAA1V,EAAAD,EAAAgB,GACA,IAAApD,EAAA,IAAA8B,EAAAsB,EAAAf,EAAAD,GAEA,OADApC,EAAAikB,YACAjkB,EAAAiG,kBAMA,SAAA+R,GAAA3V,EAAAe,GACA,WAAAtB,EAAAsB,EAAAf,GASA,SAAA+V,GAAAN,EAAAwpB,EAAAC,GACAtpB,GAAAH,EACAI,GAAAopB,EACAnpB,GAAAopB,gaC5rKe,SAASC,EAAWC,GACjC,OAAA/iB,EAAe+iB,IACb,IAAK,SACH,OAAOA,EAAMjf,MAAM,KAAKkf,OAAO,SAAA1iC,GAAC,OAAIA,IACjC2iC,OAAO,SAACC,EAAKC,GACZ,IAAMpjC,EAAOojC,EAAKh/B,MAAM,EAAGg/B,EAAK9M,QAAQ,MAAM+M,OACxC3iC,EAAQ0iC,EAAKh/B,MAAMg/B,EAAK9M,QAAQ,KAAO,GAAG+M,OAEhD,yUAAAC,CAAA,GACKH,EADLI,EAAA,GAEavjC,ECVlBsjB,QAAQ,kBAAmB,SAC3BA,QAAQ,kBAAmB,SAC3BA,QAAQ,0BAA2B,KACnCkgB,cACAzf,MAAM,KACNkf,OAAO,SAAAviC,GAAK,OAAIA,IAChByiC,IAAI,SAAC3hC,EAAG/B,GAAJ,OAAWA,EAAI,EAAI+B,EAAE,GAAGiiC,cAAgBjiC,EAAE4C,MAAM,GAAK5C,IACzDkiC,KAAK,IDGqBhjC,KAEpB,IACP,IAAK,SACH,OAAOsiC,EAET,QACE,QEPC,IAAMW,EAAa,kBAZX,WAAsC,IAAxBjjC,EAAwB+yB,UAAA5vB,OAAA,QAAA+/B,IAAAnQ,UAAA,GAAAA,UAAA,GAAhB,GAAIgO,EAAYhO,UAAA5vB,OAAA,QAAA+/B,IAAAnQ,UAAA,GAAAA,UAAA,GAAJ,GACzCxuB,EAASR,OAAO/D,GAClBmjC,EAAI,EAOR,OANA5+B,EAAO8e,MAAM,IAAI+f,QAAQ,SAACC,GAExBF,GAAMA,GAAK,GAAKA,EAAKE,EAAK9/B,WAAW,GACrC4/B,GAAKA,IAGAG,KAAKC,IAAIJ,GAAGrjB,SAASihB,GAGEyC,CAAKF,KAAKG,SAAS3jB,0SCZnD,IAee4jB,EAAA,SAACjjC,EAAQkjC,GAAT,OAVU,SAAnBC,EAAoBnjC,EAAQkjC,GAAS,IAAAE,EAAAC,EACVH,GAAxBjjC,EADkCmjC,EAAA,GACrBE,EADqBF,EAAAngC,MAAA,GAEzC,GAAc,MAAVjD,GAA8B,MAAZC,EAGtB,OAA0B,IAAnBqjC,EAAQ5gC,OACX1C,EAAOC,GACPkjC,EAAiBnjC,EAAOC,GAAWqjC,GAGRH,CAAiBnjC,EAf1B,SAACkjC,GACvB,OAAY,MAARA,GAAyB,KAATA,EAAoB,GACjCA,EAAKtgB,MAAM,KAasC2gB,CAAgBL,KCf3DM,EAAA,CACbC,MAAW,YACXC,IAAW,UACXC,UAAW,YAEXC,QAAS,UACTC,QAAS,WCNLC,EAAgB,CACpB,OACA,OACA,KACA,MACA,QACA,KACA,MACA,QACA,SACA,OACA,WACA,OACA,QACA,SACA,QACA,OAGIC,EAAgB,CACpB,QACA,QACA,QACA,QACA,mnCCfF,IAAMC,EAAgB,CAAE/+B,QAAS,CAAEC,KAAK,IAGnB++B,kVAgBR,SAACC,GACV,IAAMC,EAAU,SAAAC,OAAYF,EAAZ,WACZG,EAAS,GACb,IAEEA,GADAA,EAAU,IAAIniC,SAAO8hC,EAAeG,GAAajsB,SACjC+N,KAAK,GAAGngB,WAAWoB,UAAY,GAC/C,MAAOo9B,GAIP,OAFInmB,EAAKomB,MAAMC,cAAcC,QAAQC,KAAKJ,GACtCnmB,EAAKomB,MAAMI,SAASxmB,EAAKomB,MAAMI,QAAQL,GACpC,GAGT,OAAOD,EAAOrC,IAAI7jB,EAAK9X,iBAAiBy7B,OAAO8C,oCAG/B,SAAC9+B,GACjB,OAAQA,EAAW1D,MACjB,IAAK,aACH,OAAO+b,EAAK0mB,aAAa/+B,GAC3B,IAAK,UACH,OAAQA,EAAWvG,OAAS,GAC9B,IAAK,eACH,OAAyB,OAArBuG,EAAWvG,OACR4e,EAAK9X,gBAAgBP,EAAWvG,OACzC,IAAK,kBACH,OAAOuG,EAAWgoB,SAASkU,IAAI7jB,EAAK9X,iBACtC,IAAK,mBACH,IAAMrG,EAAS,GAIf,OAHA8F,EAAW8nB,WAAW+U,QAAQ,SAAC/sB,GAC7B5V,EAAO4V,EAAK/V,IAAIhB,MAAQ+W,EAAK/V,IAAIN,OAAS4e,EAAK9X,gBAAgBuP,EAAKrW,SAE/DS,EACT,IAAK,aACH,OAAQme,EAAKomB,MAAMO,UAAY,IAAIh/B,EAAWjH,MAChD,IAAK,yBACH,OAAOsf,EAAK9X,gBAAgBP,EAAWA,YACzC,IAAK,UACH,OAAOA,EAAWvG,MACpB,IAAK,mBACH,OAAQ4e,EAAK9X,gBAAgBP,EAAW9F,SAAW,IAAI8F,EAAW7F,SAASpB,MAC7E,IAAK,iBACH,OAAOsf,EAAK9X,gBAAgBP,EAAWusB,QACzC,IAAK,oBACH,IAAMzH,EAAOzM,EAAK9X,gBAAgBP,EAAW8kB,MAC7C,QAA4B,OAAxB9kB,EAAWkpB,WAAqBpE,OACP,OAAxB9kB,EAAWkpB,UAAqBpE,GAAkC,OAAxB9kB,EAAWkpB,WAAsBpE,IACvEzM,EAAK9X,gBAAgBP,EAAW+kB,OAG3C,IAAK,mBACH,OAAQ/kB,EAAWkpB,UACjB,IAAK,IACH,OAAO7Q,EAAK9X,gBAAgBP,EAAW8kB,MAAQzM,EAAK9X,gBAAgBP,EAAW+kB,OACjF,IAAK,IACH,OAAO1M,EAAK9X,gBAAgBP,EAAW8kB,MAAQzM,EAAK9X,gBAAgBP,EAAW+kB,OACjF,IAAK,IACH,OAAO1M,EAAK9X,gBAAgBP,EAAW8kB,MAAQzM,EAAK9X,gBAAgBP,EAAW+kB,OACjF,IAAK,IACH,OAAO1M,EAAK9X,gBAAgBP,EAAW8kB,MAAQzM,EAAK9X,gBAAgBP,EAAW+kB,OACjF,MACJ,IAAK,kBACH,OAAQ/kB,EAAWkpB,UACjB,IAAK,IACH,OAAOlpB,EAAWW,SAASlH,MAC7B,IAAK,IACH,OAAQ,EAAIuG,EAAWW,SAASlH,MAClC,IAAK,IACH,QAASuG,EAAWW,SAASlH,OAAO8f,kCAKlC,SAAC0lB,GACX,OAAQA,EAAQ3iC,MACd,IAAK,gBACH,OAAO2iC,EAAQlmC,KACjB,IAAK,sBACH,SAAAulC,OAAUjmB,EAAK6mB,UAAUD,EAAQ/kC,QAAjC,KAAAokC,OAA4CjmB,EAAK6mB,UAAUD,EAAQ9kC,oCAI1D,SAAC8kC,GAAY,IAAAE,EAGtB9mB,EAAKomB,MADPW,EAFwBD,EAExBC,qBAFwBC,EAAAF,EAEFG,kBAFE,IAAAD,EAEW,GAFXA,EAEeE,EAFfJ,EAEeI,eAAgBV,EAF/BM,EAE+BN,QAF/BW,EAI4BP,EAA9C79B,SAAUq+B,OAJQ,IAAAD,EAIK,GAJLA,EAISn+B,EAAmB49B,EAAnB59B,eAJTq+B,EAKEr+B,EAApBN,kBALkB,IAAA2+B,EAKL,GALKA,EAMpB3mC,EAAOsf,EAAK6mB,UAAU79B,EAAetI,MAC3C,GAAKA,EAAL,CAKA,IAAM4mC,GAAoBtnB,EAAKomB,MAAMkB,kBAAoB,IACtDzD,IAAI,SAAA0D,GAAI,OAAKA,aAAgBzrB,OAASyrB,EAAO,IAAIzrB,OAAOyrB,EAAM,OAC3DC,GAAmBxnB,EAAKomB,MAAMoB,iBAAmB,IACpD3D,IAAI,SAAAzP,GAAG,OAAIA,EAAI2P,OAAOG,gBAAeP,OAAO8C,SAE/C,GAAI,sBAAsBxgC,KAAKvF,GAAO,OAAO0mC,EAAWvD,IAAI,SAAArjC,GAAC,OAAIwf,EAAK0mB,aAAalmC,KACnF,IAA4D,IAAxDgnC,EAAgBxQ,QAAQt2B,EAAKqjC,OAAOG,eAAxC,CACA,IAAKY,EAAYmC,EAAYvmC,GAAO,CAClC,GAAIwmC,EAAgB,OACpB,IAAKH,GAAwBU,SAASC,cAAchnC,aAAiBinC,mBAEnE,YADAnB,EAAO,mBAAAP,OAAoBvlC,EAApB,iEAKX,IAAIqI,ED5GwB6+B,EC6GtBC,EAAY/C,EAAYmC,EAAYvmC,GAC1C,GAAImnC,ID9GwBD,EC8GKlnC,GD7GsB,IAAlDilC,EAAc3O,QAAQ4Q,EAAQ1D,gBCqHjC,GAPAn7B,EAAWq+B,EAAWvD,IAAI7jB,EAAK9X,iBAC1B2/B,GD7GJ,SAA2BD,GAChC,OAAyD,IAAlDhC,EAAc5O,QAAQ4Q,EAAQ1D,eC4Gd4D,CAAkBpnC,KACnCqI,EAAWA,EAAS46B,OAAO,SAAAoE,GAAK,MACb,iBAAVA,IAAuB,QAAQ9hC,KAAK8hC,MAIvB,IAApBh/B,EAASxE,OACXwE,OAAWu7B,OACN,GAAwB,IAApBv7B,EAASxE,OAAc,CAC/BwE,EAD+Bi/B,EACnBj/B,EADmB,MAKpC,IAAMq9B,EAAQ,CAAE1kC,IAAK2iC,KAuCrB,OAtCA37B,EAAW87B,QAAQ,SAAC5c,GAClB,GAAkB,iBAAdA,EAAK3jB,KAAyB,CAChC,IAAMgkC,EAAUrgB,EAAKlnB,KAAKA,KACpBwnC,EAAgBC,EAAWF,IAAYA,EAEvC7mC,EAAQ4e,EAAK9X,gBAAgB0f,GAGZ,IADP0f,EAAiB3D,OAAO,SAAAyE,GAAE,OAAIA,EAAGniC,KAAKiiC,KAC1C3jC,SAER6hC,EAAM8B,GADM,SAAV9mC,GAA8B,UAAVA,EACY,SAAVA,EAEDA,QAGtB,GACU,uBAAdwmB,EAAK3jB,MAAwD,eAAvB2jB,EAAKtf,SAASrE,MAC3B,qBAAvB2jB,EAAKtf,SAASrE,KACjB,CACA,IAAM7C,EAAQ4e,EAAK9X,gBAAgB0f,EAAKtf,UACnB,WAAjB+/B,EAAOjnC,IACTP,OAAOynC,KAAKlnC,GAAOojC,QAAQ,SAACyD,GAC1B,IAAMC,EAAgBC,EAAWF,IAAYA,EAEtB,IADPX,EAAiB3D,OAAO,SAAAyE,GAAE,OAAIA,EAAGniC,KAAKiiC,KAC1C3jC,SACV6hC,EAAM8B,GAAiB9mC,EAAM6mC,SAOZ,iBAAhB7B,EAAM1C,QACf0C,EAAM1C,MAAQD,EAAW2C,EAAM1C,QAG7B36B,IAAUq9B,EAAMr9B,SAAWA,GAExBw/B,IAAMb,cAAcG,GAAannC,EAAKwjC,cAAekC,SA3E1DI,EAAO,eAAAP,OAAgBj9B,EAAetI,KAA/B,2EA8EF,WACP,IAAMqG,GAAOiZ,EAAKomB,MAAMr/B,KAAO,IAAIg9B,OAAO/f,QAAQ,qBAAsB,IAGxE,OAFAhE,EAAKwoB,eAAiBxoB,EAAKyoB,SAAS1hC,GAGlCiZ,EAAKomB,MAAMsC,gBACPC,EAAAC,EAAAlB,cAAA,OAAKmB,UAAU,cAAc7oB,EAAKwoB,gBAClCG,EAAAC,EAAAlB,cAAAiB,EAAAC,EAAAE,SAAA,KAAG9oB,EAAKwoB,gQA/LqBO,uBAAlBjD,gBACE,eADFA,iBAGG,CACpBiB,sBAAsB,EACtBJ,SAAsB,GACtBW,iBAAsB,CAAC,UACvBE,gBAAsB,CAAC,UACvBP,WAAsB,GACtBC,gBAAsB,EACtBngC,IAAsB,GACtBy/B,QAAsB,aACtBH,cAAsB,EACtBqC,iBAAsB","file":"react-jsx-parser.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"react-jsx-parser\", [\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"react-jsx-parser\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"react-jsx-parser\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","'use strict';\n\nmodule.exports = require('./inject')(require('acorn'));\n","'use strict';\n\nvar XHTMLEntities = require('./xhtml');\n\nvar hexNumber = /^[\\da-fA-F]+$/;\nvar decimalNumber = /^\\d+$/;\n\nmodule.exports = function(acorn) {\n var tt = acorn.tokTypes;\n var tc = acorn.tokContexts;\n\n tc.j_oTag = new acorn.TokContext('...', true, true);\n\n tt.jsxName = new acorn.TokenType('jsxName');\n tt.jsxText = new acorn.TokenType('jsxText', {beforeExpr: true});\n tt.jsxTagStart = new acorn.TokenType('jsxTagStart');\n tt.jsxTagEnd = new acorn.TokenType('jsxTagEnd');\n\n tt.jsxTagStart.updateContext = function() {\n this.context.push(tc.j_expr); // treat as beginning of JSX expression\n this.context.push(tc.j_oTag); // start opening tag context\n this.exprAllowed = false;\n };\n tt.jsxTagEnd.updateContext = function(prevType) {\n var out = this.context.pop();\n if (out === tc.j_oTag && prevType === tt.slash || out === tc.j_cTag) {\n this.context.pop();\n this.exprAllowed = this.curContext() === tc.j_expr;\n } else {\n this.exprAllowed = true;\n }\n };\n\n var pp = acorn.Parser.prototype;\n\n // Reads inline JSX contents token.\n\n pp.jsx_readToken = function() {\n var out = '', chunkStart = this.pos;\n for (;;) {\n if (this.pos >= this.input.length)\n this.raise(this.start, 'Unterminated JSX contents');\n var ch = this.input.charCodeAt(this.pos);\n\n switch (ch) {\n case 60: // '<'\n case 123: // '{'\n if (this.pos === this.start) {\n if (ch === 60 && this.exprAllowed) {\n ++this.pos;\n return this.finishToken(tt.jsxTagStart);\n }\n return this.getTokenFromCode(ch);\n }\n out += this.input.slice(chunkStart, this.pos);\n return this.finishToken(tt.jsxText, out);\n\n case 38: // '&'\n out += this.input.slice(chunkStart, this.pos);\n out += this.jsx_readEntity();\n chunkStart = this.pos;\n break;\n\n default:\n if (acorn.isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.pos);\n out += this.jsx_readNewLine(true);\n chunkStart = this.pos;\n } else {\n ++this.pos;\n }\n }\n }\n };\n\n pp.jsx_readNewLine = function(normalizeCRLF) {\n var ch = this.input.charCodeAt(this.pos);\n var out;\n ++this.pos;\n if (ch === 13 && this.input.charCodeAt(this.pos) === 10) {\n ++this.pos;\n out = normalizeCRLF ? '\\n' : '\\r\\n';\n } else {\n out = String.fromCharCode(ch);\n }\n if (this.options.locations) {\n ++this.curLine;\n this.lineStart = this.pos;\n }\n\n return out;\n };\n\n pp.jsx_readString = function(quote) {\n var out = '', chunkStart = ++this.pos;\n for (;;) {\n if (this.pos >= this.input.length)\n this.raise(this.start, 'Unterminated string constant');\n var ch = this.input.charCodeAt(this.pos);\n if (ch === quote) break;\n if (ch === 38) { // '&'\n out += this.input.slice(chunkStart, this.pos);\n out += this.jsx_readEntity();\n chunkStart = this.pos;\n } else if (acorn.isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.pos);\n out += this.jsx_readNewLine(false);\n chunkStart = this.pos;\n } else {\n ++this.pos;\n }\n }\n out += this.input.slice(chunkStart, this.pos++);\n return this.finishToken(tt.string, out);\n };\n\n pp.jsx_readEntity = function() {\n var str = '', count = 0, entity;\n var ch = this.input[this.pos];\n if (ch !== '&')\n this.raise(this.pos, 'Entity must start with an ampersand');\n var startPos = ++this.pos;\n while (this.pos < this.input.length && count++ < 10) {\n ch = this.input[this.pos++];\n if (ch === ';') {\n if (str[0] === '#') {\n if (str[1] === 'x') {\n str = str.substr(2);\n if (hexNumber.test(str))\n entity = String.fromCharCode(parseInt(str, 16));\n } else {\n str = str.substr(1);\n if (decimalNumber.test(str))\n entity = String.fromCharCode(parseInt(str, 10));\n }\n } else {\n entity = XHTMLEntities[str];\n }\n break;\n }\n str += ch;\n }\n if (!entity) {\n this.pos = startPos;\n return '&';\n }\n return entity;\n };\n\n\n // Read a JSX identifier (valid tag or attribute name).\n //\n // Optimized version since JSX identifiers can't contain\n // escape characters and so can be read as single slice.\n // Also assumes that first character was already checked\n // by isIdentifierStart in readToken.\n\n pp.jsx_readWord = function() {\n var ch, start = this.pos;\n do {\n ch = this.input.charCodeAt(++this.pos);\n } while (acorn.isIdentifierChar(ch) || ch === 45); // '-'\n return this.finishToken(tt.jsxName, this.input.slice(start, this.pos));\n };\n\n // Transforms JSX element name to string.\n\n function getQualifiedJSXName(object) {\n if (!object)\n return object;\n\n if (object.type === 'JSXIdentifier')\n return object.name;\n\n if (object.type === 'JSXNamespacedName')\n return object.namespace.name + ':' + object.name.name;\n\n if (object.type === 'JSXMemberExpression')\n return getQualifiedJSXName(object.object) + '.' +\n getQualifiedJSXName(object.property);\n }\n\n // Parse next token as JSX identifier\n\n pp.jsx_parseIdentifier = function() {\n var node = this.startNode();\n if (this.type === tt.jsxName)\n node.name = this.value;\n else if (this.type.keyword)\n node.name = this.type.keyword;\n else\n this.unexpected();\n this.next();\n return this.finishNode(node, 'JSXIdentifier');\n };\n\n // Parse namespaced identifier.\n\n pp.jsx_parseNamespacedName = function() {\n var startPos = this.start, startLoc = this.startLoc;\n var name = this.jsx_parseIdentifier();\n if (!this.options.plugins.jsx.allowNamespaces || !this.eat(tt.colon)) return name;\n var node = this.startNodeAt(startPos, startLoc);\n node.namespace = name;\n node.name = this.jsx_parseIdentifier();\n return this.finishNode(node, 'JSXNamespacedName');\n };\n\n // Parses element name in any form - namespaced, member\n // or single identifier.\n\n pp.jsx_parseElementName = function() {\n if (this.type === tt.jsxTagEnd)\n return '';\n var startPos = this.start, startLoc = this.startLoc;\n var node = this.jsx_parseNamespacedName();\n if (this.type === tt.dot && node.type === 'JSXNamespacedName' && !this.options.plugins.jsx.allowNamespacedObjects) {\n this.unexpected();\n }\n while (this.eat(tt.dot)) {\n var newNode = this.startNodeAt(startPos, startLoc);\n newNode.object = node;\n newNode.property = this.jsx_parseIdentifier();\n node = this.finishNode(newNode, 'JSXMemberExpression');\n }\n return node;\n };\n\n // Parses any type of JSX attribute value.\n\n pp.jsx_parseAttributeValue = function() {\n switch (this.type) {\n case tt.braceL:\n var node = this.jsx_parseExpressionContainer();\n if (node.expression.type === 'JSXEmptyExpression')\n this.raise(node.start, 'JSX attributes must only be assigned a non-empty expression');\n return node;\n\n case tt.jsxTagStart:\n case tt.string:\n return this.parseExprAtom();\n\n default:\n this.raise(this.start, 'JSX value should be either an expression or a quoted JSX text');\n }\n };\n\n // JSXEmptyExpression is unique type since it doesn't actually parse anything,\n // and so it should start at the end of last read token (left brace) and finish\n // at the beginning of the next one (right brace).\n\n pp.jsx_parseEmptyExpression = function() {\n var node = this.startNodeAt(this.lastTokEnd, this.lastTokEndLoc);\n return this.finishNodeAt(node, 'JSXEmptyExpression', this.start, this.startLoc);\n };\n\n // Parses JSX expression enclosed into curly brackets.\n\n\n pp.jsx_parseExpressionContainer = function() {\n var node = this.startNode();\n this.next();\n node.expression = this.type === tt.braceR\n ? this.jsx_parseEmptyExpression()\n : this.parseExpression();\n this.expect(tt.braceR);\n return this.finishNode(node, 'JSXExpressionContainer');\n };\n\n // Parses following JSX attribute name-value pair.\n\n pp.jsx_parseAttribute = function() {\n var node = this.startNode();\n if (this.eat(tt.braceL)) {\n this.expect(tt.ellipsis);\n node.argument = this.parseMaybeAssign();\n this.expect(tt.braceR);\n return this.finishNode(node, 'JSXSpreadAttribute');\n }\n node.name = this.jsx_parseNamespacedName();\n node.value = this.eat(tt.eq) ? this.jsx_parseAttributeValue() : null;\n return this.finishNode(node, 'JSXAttribute');\n };\n\n // Parses JSX opening tag starting after '<'.\n\n pp.jsx_parseOpeningElementAt = function(startPos, startLoc) {\n var node = this.startNodeAt(startPos, startLoc);\n node.attributes = [];\n var nodeName = this.jsx_parseElementName();\n if (nodeName) node.name = nodeName;\n while (this.type !== tt.slash && this.type !== tt.jsxTagEnd)\n node.attributes.push(this.jsx_parseAttribute());\n node.selfClosing = this.eat(tt.slash);\n this.expect(tt.jsxTagEnd);\n return this.finishNode(node, nodeName ? 'JSXOpeningElement' : 'JSXOpeningFragment');\n };\n\n // Parses JSX closing tag starting after ''.\n\n pp.jsx_parseClosingElementAt = function(startPos, startLoc) {\n var node = this.startNodeAt(startPos, startLoc);\n var nodeName = this.jsx_parseElementName();\n if (nodeName) node.name = nodeName;\n this.expect(tt.jsxTagEnd);\n return this.finishNode(node, nodeName ? 'JSXClosingElement' : 'JSXClosingFragment');\n };\n\n // Parses entire JSX element, including it's opening tag\n // (starting after '<'), attributes, contents and closing tag.\n\n pp.jsx_parseElementAt = function(startPos, startLoc) {\n var node = this.startNodeAt(startPos, startLoc);\n var children = [];\n var openingElement = this.jsx_parseOpeningElementAt(startPos, startLoc);\n var closingElement = null;\n\n if (!openingElement.selfClosing) {\n contents: for (;;) {\n switch (this.type) {\n case tt.jsxTagStart:\n startPos = this.start; startLoc = this.startLoc;\n this.next();\n if (this.eat(tt.slash)) {\n closingElement = this.jsx_parseClosingElementAt(startPos, startLoc);\n break contents;\n }\n children.push(this.jsx_parseElementAt(startPos, startLoc));\n break;\n\n case tt.jsxText:\n children.push(this.parseExprAtom());\n break;\n\n case tt.braceL:\n children.push(this.jsx_parseExpressionContainer());\n break;\n\n default:\n this.unexpected();\n }\n }\n if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) {\n this.raise(\n closingElement.start,\n 'Expected corresponding JSX closing tag for <' + getQualifiedJSXName(openingElement.name) + '>');\n }\n }\n\n node.openingElement = openingElement;\n node.closingElement = closingElement;\n node.children = children;\n if (this.type === tt.relational && this.value === \"<\") {\n this.raise(this.start, \"Adjacent JSX elements must be wrapped in an enclosing tag\");\n }\n return this.finishNode(node, openingElement.name ? 'JSXElement' : 'JSXFragment');\n };\n\n // Parse JSX text\n\n pp.jsx_parseText = function(value) {\n var node = this.parseLiteral(value);\n node.type = \"JSXText\";\n\n return node;\n };\n\n // Parses entire JSX element from current position.\n\n pp.jsx_parseElement = function() {\n var startPos = this.start, startLoc = this.startLoc;\n this.next();\n return this.jsx_parseElementAt(startPos, startLoc);\n };\n\n acorn.plugins.jsx = function(instance, opts) {\n if (!opts) {\n return;\n }\n\n if (typeof opts !== 'object') {\n opts = {};\n }\n\n instance.options.plugins.jsx = {\n allowNamespaces: opts.allowNamespaces !== false,\n allowNamespacedObjects: !!opts.allowNamespacedObjects\n };\n\n instance.extend('parseExprAtom', function(inner) {\n return function(refShortHandDefaultPos) {\n if (this.type === tt.jsxText)\n return this.jsx_parseText(this.value);\n else if (this.type === tt.jsxTagStart)\n return this.jsx_parseElement();\n else\n return inner.call(this, refShortHandDefaultPos);\n };\n });\n\n instance.extend('readToken', function(inner) {\n return function(code) {\n var context = this.curContext();\n\n if (context === tc.j_expr) return this.jsx_readToken();\n\n if (context === tc.j_oTag || context === tc.j_cTag) {\n if (acorn.isIdentifierStart(code)) return this.jsx_readWord();\n\n if (code == 62) {\n ++this.pos;\n return this.finishToken(tt.jsxTagEnd);\n }\n\n if ((code === 34 || code === 39) && context == tc.j_oTag)\n return this.jsx_readString(code);\n }\n\n if (code === 60 && this.exprAllowed && this.input.charCodeAt(this.pos + 1) !== 33) {\n ++this.pos;\n return this.finishToken(tt.jsxTagStart);\n }\n return inner.call(this, code);\n };\n });\n\n instance.extend('updateContext', function(inner) {\n return function(prevType) {\n if (this.type == tt.braceL) {\n var curContext = this.curContext();\n if (curContext == tc.j_oTag) this.context.push(tc.b_expr);\n else if (curContext == tc.j_expr) this.context.push(tc.b_tmpl);\n else inner.call(this, prevType);\n this.exprAllowed = true;\n } else if (this.type === tt.slash && prevType === tt.jsxTagStart) {\n this.context.length -= 2; // do not consider JSX expr -> JSX open tag -> ... anymore\n this.context.push(tc.j_cTag); // reconsider as closing tag context\n this.exprAllowed = false;\n } else {\n return inner.call(this, prevType);\n }\n };\n });\n };\n\n return acorn;\n};\n","module.exports = {\n quot: '\\u0022',\n amp: '&',\n apos: '\\u0027',\n lt: '<',\n gt: '>',\n nbsp: '\\u00A0',\n iexcl: '\\u00A1',\n cent: '\\u00A2',\n pound: '\\u00A3',\n curren: '\\u00A4',\n yen: '\\u00A5',\n brvbar: '\\u00A6',\n sect: '\\u00A7',\n uml: '\\u00A8',\n copy: '\\u00A9',\n ordf: '\\u00AA',\n laquo: '\\u00AB',\n not: '\\u00AC',\n shy: '\\u00AD',\n reg: '\\u00AE',\n macr: '\\u00AF',\n deg: '\\u00B0',\n plusmn: '\\u00B1',\n sup2: '\\u00B2',\n sup3: '\\u00B3',\n acute: '\\u00B4',\n micro: '\\u00B5',\n para: '\\u00B6',\n middot: '\\u00B7',\n cedil: '\\u00B8',\n sup1: '\\u00B9',\n ordm: '\\u00BA',\n raquo: '\\u00BB',\n frac14: '\\u00BC',\n frac12: '\\u00BD',\n frac34: '\\u00BE',\n iquest: '\\u00BF',\n Agrave: '\\u00C0',\n Aacute: '\\u00C1',\n Acirc: '\\u00C2',\n Atilde: '\\u00C3',\n Auml: '\\u00C4',\n Aring: '\\u00C5',\n AElig: '\\u00C6',\n Ccedil: '\\u00C7',\n Egrave: '\\u00C8',\n Eacute: '\\u00C9',\n Ecirc: '\\u00CA',\n Euml: '\\u00CB',\n Igrave: '\\u00CC',\n Iacute: '\\u00CD',\n Icirc: '\\u00CE',\n Iuml: '\\u00CF',\n ETH: '\\u00D0',\n Ntilde: '\\u00D1',\n Ograve: '\\u00D2',\n Oacute: '\\u00D3',\n Ocirc: '\\u00D4',\n Otilde: '\\u00D5',\n Ouml: '\\u00D6',\n times: '\\u00D7',\n Oslash: '\\u00D8',\n Ugrave: '\\u00D9',\n Uacute: '\\u00DA',\n Ucirc: '\\u00DB',\n Uuml: '\\u00DC',\n Yacute: '\\u00DD',\n THORN: '\\u00DE',\n szlig: '\\u00DF',\n agrave: '\\u00E0',\n aacute: '\\u00E1',\n acirc: '\\u00E2',\n atilde: '\\u00E3',\n auml: '\\u00E4',\n aring: '\\u00E5',\n aelig: '\\u00E6',\n ccedil: '\\u00E7',\n egrave: '\\u00E8',\n eacute: '\\u00E9',\n ecirc: '\\u00EA',\n euml: '\\u00EB',\n igrave: '\\u00EC',\n iacute: '\\u00ED',\n icirc: '\\u00EE',\n iuml: '\\u00EF',\n eth: '\\u00F0',\n ntilde: '\\u00F1',\n ograve: '\\u00F2',\n oacute: '\\u00F3',\n ocirc: '\\u00F4',\n otilde: '\\u00F5',\n ouml: '\\u00F6',\n divide: '\\u00F7',\n oslash: '\\u00F8',\n ugrave: '\\u00F9',\n uacute: '\\u00FA',\n ucirc: '\\u00FB',\n uuml: '\\u00FC',\n yacute: '\\u00FD',\n thorn: '\\u00FE',\n yuml: '\\u00FF',\n OElig: '\\u0152',\n oelig: '\\u0153',\n Scaron: '\\u0160',\n scaron: '\\u0161',\n Yuml: '\\u0178',\n fnof: '\\u0192',\n circ: '\\u02C6',\n tilde: '\\u02DC',\n Alpha: '\\u0391',\n Beta: '\\u0392',\n Gamma: '\\u0393',\n Delta: '\\u0394',\n Epsilon: '\\u0395',\n Zeta: '\\u0396',\n Eta: '\\u0397',\n Theta: '\\u0398',\n Iota: '\\u0399',\n Kappa: '\\u039A',\n Lambda: '\\u039B',\n Mu: '\\u039C',\n Nu: '\\u039D',\n Xi: '\\u039E',\n Omicron: '\\u039F',\n Pi: '\\u03A0',\n Rho: '\\u03A1',\n Sigma: '\\u03A3',\n Tau: '\\u03A4',\n Upsilon: '\\u03A5',\n Phi: '\\u03A6',\n Chi: '\\u03A7',\n Psi: '\\u03A8',\n Omega: '\\u03A9',\n alpha: '\\u03B1',\n beta: '\\u03B2',\n gamma: '\\u03B3',\n delta: '\\u03B4',\n epsilon: '\\u03B5',\n zeta: '\\u03B6',\n eta: '\\u03B7',\n theta: '\\u03B8',\n iota: '\\u03B9',\n kappa: '\\u03BA',\n lambda: '\\u03BB',\n mu: '\\u03BC',\n nu: '\\u03BD',\n xi: '\\u03BE',\n omicron: '\\u03BF',\n pi: '\\u03C0',\n rho: '\\u03C1',\n sigmaf: '\\u03C2',\n sigma: '\\u03C3',\n tau: '\\u03C4',\n upsilon: '\\u03C5',\n phi: '\\u03C6',\n chi: '\\u03C7',\n psi: '\\u03C8',\n omega: '\\u03C9',\n thetasym: '\\u03D1',\n upsih: '\\u03D2',\n piv: '\\u03D6',\n ensp: '\\u2002',\n emsp: '\\u2003',\n thinsp: '\\u2009',\n zwnj: '\\u200C',\n zwj: '\\u200D',\n lrm: '\\u200E',\n rlm: '\\u200F',\n ndash: '\\u2013',\n mdash: '\\u2014',\n lsquo: '\\u2018',\n rsquo: '\\u2019',\n sbquo: '\\u201A',\n ldquo: '\\u201C',\n rdquo: '\\u201D',\n bdquo: '\\u201E',\n dagger: '\\u2020',\n Dagger: '\\u2021',\n bull: '\\u2022',\n hellip: '\\u2026',\n permil: '\\u2030',\n prime: '\\u2032',\n Prime: '\\u2033',\n lsaquo: '\\u2039',\n rsaquo: '\\u203A',\n oline: '\\u203E',\n frasl: '\\u2044',\n euro: '\\u20AC',\n image: '\\u2111',\n weierp: '\\u2118',\n real: '\\u211C',\n trade: '\\u2122',\n alefsym: '\\u2135',\n larr: '\\u2190',\n uarr: '\\u2191',\n rarr: '\\u2192',\n darr: '\\u2193',\n harr: '\\u2194',\n crarr: '\\u21B5',\n lArr: '\\u21D0',\n uArr: '\\u21D1',\n rArr: '\\u21D2',\n dArr: '\\u21D3',\n hArr: '\\u21D4',\n forall: '\\u2200',\n part: '\\u2202',\n exist: '\\u2203',\n empty: '\\u2205',\n nabla: '\\u2207',\n isin: '\\u2208',\n notin: '\\u2209',\n ni: '\\u220B',\n prod: '\\u220F',\n sum: '\\u2211',\n minus: '\\u2212',\n lowast: '\\u2217',\n radic: '\\u221A',\n prop: '\\u221D',\n infin: '\\u221E',\n ang: '\\u2220',\n and: '\\u2227',\n or: '\\u2228',\n cap: '\\u2229',\n cup: '\\u222A',\n 'int': '\\u222B',\n there4: '\\u2234',\n sim: '\\u223C',\n cong: '\\u2245',\n asymp: '\\u2248',\n ne: '\\u2260',\n equiv: '\\u2261',\n le: '\\u2264',\n ge: '\\u2265',\n sub: '\\u2282',\n sup: '\\u2283',\n nsub: '\\u2284',\n sube: '\\u2286',\n supe: '\\u2287',\n oplus: '\\u2295',\n otimes: '\\u2297',\n perp: '\\u22A5',\n sdot: '\\u22C5',\n lceil: '\\u2308',\n rceil: '\\u2309',\n lfloor: '\\u230A',\n rfloor: '\\u230B',\n lang: '\\u2329',\n rang: '\\u232A',\n loz: '\\u25CA',\n spades: '\\u2660',\n clubs: '\\u2663',\n hearts: '\\u2665',\n diams: '\\u2666'\n};\n","// Reserved word lists for various dialects of the language\n\nvar reservedWords = {\n 3: \"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",\n 5: \"class enum extends super const export import\",\n 6: \"enum\",\n strict: \"implements interface let package private protected public static yield\",\n strictBind: \"eval arguments\"\n};\n\n// And the keywords\n\nvar ecma5AndLessKeywords = \"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\";\n\nvar keywords = {\n 5: ecma5AndLessKeywords,\n 6: ecma5AndLessKeywords + \" const class extends export import super\"\n};\n\nvar keywordRelationalOperator = /^in(stanceof)?$/;\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point above 128.\n// Generated by `bin/generate-identifier-regex.js`.\n\nvar nonASCIIidentifierStartChars = \"\\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\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\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\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08bd\\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\\u09fc\\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\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\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-\\u1878\\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\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\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-\\u312f\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fef\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7b9\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\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\";\nvar nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2-\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n\nvar nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nvar nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by bin/generate-identifier-regex.js\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541];\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code, set) {\n var pos = 0x10000;\n for (var i = 0; i < set.length; i += 2) {\n pos += set[i];\n if (pos > code) { return false }\n pos += set[i + 1];\n if (pos >= code) { return true }\n }\n}\n\n// Test whether a given character code starts an identifier.\n\nfunction isIdentifierStart(code, astral) {\n if (code < 65) { return code === 36 }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes)\n}\n\n// Test whether a given character is part of an identifier.\n\nfunction isIdentifierChar(code, astral) {\n if (code < 48) { return code === 36 }\n if (code < 58) { return true }\n if (code < 65) { return false }\n if (code < 91) { return true }\n if (code < 97) { return code === 95 }\n if (code < 123) { return true }\n if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) }\n if (astral === false) { return false }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)\n}\n\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between regular\n// expressions and divisions. It is set on all token types that can\n// be followed by an expression (thus, a slash after them would be a\n// regular expression).\n//\n// The `startsExpr` property is used to check if the token ends a\n// `yield` expression. It is set on all token types that either can\n// directly start an expression (like a quotation mark) or can\n// continue an expression (like the body of a string).\n//\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nvar TokenType = function TokenType(label, conf) {\n if ( conf === void 0 ) conf = {};\n\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop || null;\n this.updateContext = null;\n};\n\nfunction binop(name, prec) {\n return new TokenType(name, {beforeExpr: true, binop: prec})\n}\nvar beforeExpr = {beforeExpr: true};\nvar startsExpr = {startsExpr: true};\n\n// Map keyword names to token types.\n\nvar keywords$1 = {};\n\n// Succinct definitions of keyword token types\nfunction kw(name, options) {\n if ( options === void 0 ) options = {};\n\n options.keyword = name;\n return keywords$1[name] = new TokenType(name, options)\n}\n\nvar types = {\n num: new TokenType(\"num\", startsExpr),\n regexp: new TokenType(\"regexp\", startsExpr),\n string: new TokenType(\"string\", startsExpr),\n name: new TokenType(\"name\", startsExpr),\n eof: new TokenType(\"eof\"),\n\n // Punctuation token types.\n bracketL: new TokenType(\"[\", {beforeExpr: true, startsExpr: true}),\n bracketR: new TokenType(\"]\"),\n braceL: new TokenType(\"{\", {beforeExpr: true, startsExpr: true}),\n braceR: new TokenType(\"}\"),\n parenL: new TokenType(\"(\", {beforeExpr: true, startsExpr: true}),\n parenR: new TokenType(\")\"),\n comma: new TokenType(\",\", beforeExpr),\n semi: new TokenType(\";\", beforeExpr),\n colon: new TokenType(\":\", beforeExpr),\n dot: new TokenType(\".\"),\n question: new TokenType(\"?\", beforeExpr),\n arrow: new TokenType(\"=>\", beforeExpr),\n template: new TokenType(\"template\"),\n invalidTemplate: new TokenType(\"invalidTemplate\"),\n ellipsis: new TokenType(\"...\", beforeExpr),\n backQuote: new TokenType(\"`\", startsExpr),\n dollarBraceL: new TokenType(\"${\", {beforeExpr: true, startsExpr: true}),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n eq: new TokenType(\"=\", {beforeExpr: true, isAssign: true}),\n assign: new TokenType(\"_=\", {beforeExpr: true, isAssign: true}),\n incDec: new TokenType(\"++/--\", {prefix: true, postfix: true, startsExpr: true}),\n prefix: new TokenType(\"!/~\", {beforeExpr: true, prefix: true, startsExpr: true}),\n logicalOR: binop(\"||\", 1),\n logicalAND: binop(\"&&\", 2),\n bitwiseOR: binop(\"|\", 3),\n bitwiseXOR: binop(\"^\", 4),\n bitwiseAND: binop(\"&\", 5),\n equality: binop(\"==/!=/===/!==\", 6),\n relational: binop(\">/<=/>=\", 7),\n bitShift: binop(\"<>>/>>>\", 8),\n plusMin: new TokenType(\"+/-\", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),\n modulo: binop(\"%\", 10),\n star: binop(\"*\", 10),\n slash: binop(\"/\", 10),\n starstar: new TokenType(\"**\", {beforeExpr: true}),\n\n // Keyword token types.\n _break: kw(\"break\"),\n _case: kw(\"case\", beforeExpr),\n _catch: kw(\"catch\"),\n _continue: kw(\"continue\"),\n _debugger: kw(\"debugger\"),\n _default: kw(\"default\", beforeExpr),\n _do: kw(\"do\", {isLoop: true, beforeExpr: true}),\n _else: kw(\"else\", beforeExpr),\n _finally: kw(\"finally\"),\n _for: kw(\"for\", {isLoop: true}),\n _function: kw(\"function\", startsExpr),\n _if: kw(\"if\"),\n _return: kw(\"return\", beforeExpr),\n _switch: kw(\"switch\"),\n _throw: kw(\"throw\", beforeExpr),\n _try: kw(\"try\"),\n _var: kw(\"var\"),\n _const: kw(\"const\"),\n _while: kw(\"while\", {isLoop: true}),\n _with: kw(\"with\"),\n _new: kw(\"new\", {beforeExpr: true, startsExpr: true}),\n _this: kw(\"this\", startsExpr),\n _super: kw(\"super\", startsExpr),\n _class: kw(\"class\", startsExpr),\n _extends: kw(\"extends\", beforeExpr),\n _export: kw(\"export\"),\n _import: kw(\"import\"),\n _null: kw(\"null\", startsExpr),\n _true: kw(\"true\", startsExpr),\n _false: kw(\"false\", startsExpr),\n _in: kw(\"in\", {beforeExpr: true, binop: 7}),\n _instanceof: kw(\"instanceof\", {beforeExpr: true, binop: 7}),\n _typeof: kw(\"typeof\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _void: kw(\"void\", {beforeExpr: true, prefix: true, startsExpr: true}),\n _delete: kw(\"delete\", {beforeExpr: true, prefix: true, startsExpr: true})\n};\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\n\nvar lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/;\nvar lineBreakG = new RegExp(lineBreak.source, \"g\");\n\nfunction isNewLine(code, ecma2019String) {\n return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029))\n}\n\nvar nonASCIIwhitespace = /[\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/;\n\nvar skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nvar ref = Object.prototype;\nvar hasOwnProperty = ref.hasOwnProperty;\nvar toString = ref.toString;\n\n// Checks if an object has a property.\n\nfunction has(obj, propName) {\n return hasOwnProperty.call(obj, propName)\n}\n\nvar isArray = Array.isArray || (function (obj) { return (\n toString.call(obj) === \"[object Array]\"\n); });\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nvar Position = function Position(line, col) {\n this.line = line;\n this.column = col;\n};\n\nPosition.prototype.offset = function offset (n) {\n return new Position(this.line, this.column + n)\n};\n\nvar SourceLocation = function SourceLocation(p, start, end) {\n this.start = start;\n this.end = end;\n if (p.sourceFile !== null) { this.source = p.sourceFile; }\n};\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nfunction getLineInfo(input, offset) {\n for (var line = 1, cur = 0;;) {\n lineBreakG.lastIndex = cur;\n var match = lineBreakG.exec(input);\n if (match && match.index < offset) {\n ++line;\n cur = match.index + match[0].length;\n } else {\n return new Position(line, offset - cur)\n }\n }\n}\n\n// A second optional argument can be given to further configure\n// the parser process. These options are recognized:\n\nvar defaultOptions = {\n // `ecmaVersion` indicates the ECMAScript version to parse. Must\n // be either 3, 5, 6 (2015), 7 (2016), or 8 (2017). This influences support\n // for strict mode, the set of reserved words, and support for\n // new syntax features. The default is 7.\n ecmaVersion: 7,\n // `sourceType` indicates the mode the code should be parsed in.\n // Can be either `\"script\"` or `\"module\"`. This influences global\n // strict mode and parsing of `import` and `export` declarations.\n sourceType: \"script\",\n // `onInsertedSemicolon` can be a callback that will be called\n // when a semicolon is automatically inserted. It will be passed\n // th position of the comma as an offset, and if `locations` is\n // enabled, it is given the location as a `{line, column}` object\n // as second argument.\n onInsertedSemicolon: null,\n // `onTrailingComma` is similar to `onInsertedSemicolon`, but for\n // trailing commas.\n onTrailingComma: null,\n // By default, reserved words are only enforced if ecmaVersion >= 5.\n // Set `allowReserved` to a boolean value to explicitly turn this on\n // an off. When this option has the value \"never\", reserved words\n // and keywords can also not be used as property names.\n allowReserved: null,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program.\n allowImportExportEverywhere: false,\n // When enabled, await identifiers are allowed to appear at the top-level scope,\n // but they are still not allowed in non-async functions.\n allowAwaitOutsideFunction: false,\n // When enabled, hashbang directive in the beginning of file\n // is allowed and treated as a line comment.\n allowHashBang: false,\n // When `locations` is on, `loc` properties holding objects with\n // `start` and `end` properties in `{line, column}` form (with\n // line being 1-based and column 0-based) will be attached to the\n // nodes.\n locations: false,\n // A function can be passed as `onToken` option, which will\n // cause Acorn to call that function with object in the same\n // format as tokens returned from `tokenizer().getToken()`. Note\n // that you are not allowed to call the parser from the\n // callback—that will corrupt its internal state.\n onToken: null,\n // A function can be passed as `onComment` option, which will\n // cause Acorn to call that function with `(block, text, start,\n // end)` parameters whenever a comment is skipped. `block` is a\n // boolean indicating whether this is a block (`/* */`) comment,\n // `text` is the content of the comment, and `start` and `end` are\n // character offsets that denote the start and end of the comment.\n // When the `locations` option is on, two more parameters are\n // passed, the full `{line, column}` locations of the start and\n // end of the comments. Note that you are not allowed to call the\n // parser from the callback—that will corrupt its internal state.\n onComment: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // It is possible to parse multiple files into a single AST by\n // passing the tree produced by parsing the first file as\n // `program` option in subsequent parses. This will add the\n // toplevel forms of the parsed file to the `Program` (top) node\n // of an existing parse tree.\n program: null,\n // When `locations` is on, you can pass this to record the source\n // file in every node's `loc` object.\n sourceFile: null,\n // This value, if given, is stored in every node, whether\n // `locations` is on or off.\n directSourceFile: null,\n // When enabled, parenthesized expressions are represented by\n // (non-standard) ParenthesizedExpression nodes\n preserveParens: false,\n plugins: {}\n};\n\n// Interpret and default an options object\n\nfunction getOptions(opts) {\n var options = {};\n\n for (var opt in defaultOptions)\n { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; }\n\n if (options.ecmaVersion >= 2015)\n { options.ecmaVersion -= 2009; }\n\n if (options.allowReserved == null)\n { options.allowReserved = options.ecmaVersion < 5; }\n\n if (isArray(options.onToken)) {\n var tokens = options.onToken;\n options.onToken = function (token) { return tokens.push(token); };\n }\n if (isArray(options.onComment))\n { options.onComment = pushComment(options, options.onComment); }\n\n return options\n}\n\nfunction pushComment(options, array) {\n return function(block, text, start, end, startLoc, endLoc) {\n var comment = {\n type: block ? \"Block\" : \"Line\",\n value: text,\n start: start,\n end: end\n };\n if (options.locations)\n { comment.loc = new SourceLocation(this, startLoc, endLoc); }\n if (options.ranges)\n { comment.range = [start, end]; }\n array.push(comment);\n }\n}\n\n// Registered plugins\nvar plugins = {};\n\nfunction keywordRegexp(words) {\n return new RegExp(\"^(?:\" + words.replace(/ /g, \"|\") + \")$\")\n}\n\nvar Parser = function Parser(options, input, startPos) {\n this.options = options = getOptions(options);\n this.sourceFile = options.sourceFile;\n this.keywords = keywordRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5]);\n var reserved = \"\";\n if (!options.allowReserved) {\n for (var v = options.ecmaVersion;; v--)\n { if (reserved = reservedWords[v]) { break } }\n if (options.sourceType === \"module\") { reserved += \" await\"; }\n }\n this.reservedWords = keywordRegexp(reserved);\n var reservedStrict = (reserved ? reserved + \" \" : \"\") + reservedWords.strict;\n this.reservedWordsStrict = keywordRegexp(reservedStrict);\n this.reservedWordsStrictBind = keywordRegexp(reservedStrict + \" \" + reservedWords.strictBind);\n this.input = String(input);\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n this.containsEsc = false;\n\n // Load plugins\n this.loadPlugins(options.plugins);\n\n // Set up token state\n\n // The current position of the tokenizer in the input.\n if (startPos) {\n this.pos = startPos;\n this.lineStart = this.input.lastIndexOf(\"\\n\", startPos - 1) + 1;\n this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;\n } else {\n this.pos = this.lineStart = 0;\n this.curLine = 1;\n }\n\n // Properties of the current token:\n // Its type\n this.type = types.eof;\n // For tokens that include more information than their type, the value\n this.value = null;\n // Its start and end offset\n this.start = this.end = this.pos;\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n this.startLoc = this.endLoc = this.curPosition();\n\n // Position information for the previous token\n this.lastTokEndLoc = this.lastTokStartLoc = null;\n this.lastTokStart = this.lastTokEnd = this.pos;\n\n // The context stack is used to superficially track syntactic\n // context to predict whether a regular expression is allowed in a\n // given position.\n this.context = this.initialContext();\n this.exprAllowed = true;\n\n // Figure out if it's a module code.\n this.inModule = options.sourceType === \"module\";\n this.strict = this.inModule || this.strictDirective(this.pos);\n\n // Used to signify the start of a potential arrow function\n this.potentialArrowAt = -1;\n\n // Flags to track whether we are in a function, a generator, an async function.\n this.inFunction = this.inGenerator = this.inAsync = false;\n // Positions to delayed-check that yield/await does not exist in default parameters.\n this.yieldPos = this.awaitPos = 0;\n // Labels in scope.\n this.labels = [];\n\n // If enabled, skip leading hashbang line.\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === \"#!\")\n { this.skipLineComment(2); }\n\n // Scope tracking for duplicate variable names (see scope.js)\n this.scopeStack = [];\n this.enterFunctionScope();\n\n // For RegExp validation\n this.regexpState = null;\n};\n\n// DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them\nParser.prototype.isKeyword = function isKeyword (word) { return this.keywords.test(word) };\nParser.prototype.isReservedWord = function isReservedWord (word) { return this.reservedWords.test(word) };\n\nParser.prototype.extend = function extend (name, f) {\n this[name] = f(this[name]);\n};\n\nParser.prototype.loadPlugins = function loadPlugins (pluginConfigs) {\n var this$1 = this;\n\n for (var name in pluginConfigs) {\n var plugin = plugins[name];\n if (!plugin) { throw new Error(\"Plugin '\" + name + \"' not found\") }\n plugin(this$1, pluginConfigs[name]);\n }\n};\n\nParser.prototype.parse = function parse () {\n var node = this.options.program || this.startNode();\n this.nextToken();\n return this.parseTopLevel(node)\n};\n\nvar pp = Parser.prototype;\n\n// ## Parser utilities\n\nvar literal = /^(?:'((?:\\\\.|[^'])*?)'|\"((?:\\\\.|[^\"])*?)\"|;)/;\npp.strictDirective = function(start) {\n var this$1 = this;\n\n for (;;) {\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this$1.input)[0].length;\n var match = literal.exec(this$1.input.slice(start));\n if (!match) { return false }\n if ((match[1] || match[2]) === \"use strict\") { return true }\n start += match[0].length;\n }\n};\n\n// Predicate that tests whether the next token is of the given\n// type, and if yes, consumes it as a side effect.\n\npp.eat = function(type) {\n if (this.type === type) {\n this.next();\n return true\n } else {\n return false\n }\n};\n\n// Tests whether parsed token is a contextual keyword.\n\npp.isContextual = function(name) {\n return this.type === types.name && this.value === name && !this.containsEsc\n};\n\n// Consumes contextual keyword if possible.\n\npp.eatContextual = function(name) {\n if (!this.isContextual(name)) { return false }\n this.next();\n return true\n};\n\n// Asserts that following token is given contextual keyword.\n\npp.expectContextual = function(name) {\n if (!this.eatContextual(name)) { this.unexpected(); }\n};\n\n// Test whether a semicolon can be inserted at the current position.\n\npp.canInsertSemicolon = function() {\n return this.type === types.eof ||\n this.type === types.braceR ||\n lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\npp.insertSemicolon = function() {\n if (this.canInsertSemicolon()) {\n if (this.options.onInsertedSemicolon)\n { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }\n return true\n }\n};\n\n// Consume a semicolon, or, failing that, see if we are allowed to\n// pretend that there is a semicolon at this position.\n\npp.semicolon = function() {\n if (!this.eat(types.semi) && !this.insertSemicolon()) { this.unexpected(); }\n};\n\npp.afterTrailingComma = function(tokType, notNext) {\n if (this.type === tokType) {\n if (this.options.onTrailingComma)\n { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }\n if (!notNext)\n { this.next(); }\n return true\n }\n};\n\n// Expect a token of a given type. If found, consume it, otherwise,\n// raise an unexpected token error.\n\npp.expect = function(type) {\n this.eat(type) || this.unexpected();\n};\n\n// Raise an unexpected token error.\n\npp.unexpected = function(pos) {\n this.raise(pos != null ? pos : this.start, \"Unexpected token\");\n};\n\nfunction DestructuringErrors() {\n this.shorthandAssign =\n this.trailingComma =\n this.parenthesizedAssign =\n this.parenthesizedBind =\n this.doubleProto =\n -1;\n}\n\npp.checkPatternErrors = function(refDestructuringErrors, isAssign) {\n if (!refDestructuringErrors) { return }\n if (refDestructuringErrors.trailingComma > -1)\n { this.raiseRecoverable(refDestructuringErrors.trailingComma, \"Comma is not permitted after the rest element\"); }\n var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;\n if (parens > -1) { this.raiseRecoverable(parens, \"Parenthesized pattern\"); }\n};\n\npp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {\n if (!refDestructuringErrors) { return false }\n var shorthandAssign = refDestructuringErrors.shorthandAssign;\n var doubleProto = refDestructuringErrors.doubleProto;\n if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 }\n if (shorthandAssign >= 0)\n { this.raise(shorthandAssign, \"Shorthand property assignments are valid only in destructuring patterns\"); }\n if (doubleProto >= 0)\n { this.raiseRecoverable(doubleProto, \"Redefinition of __proto__ property\"); }\n};\n\npp.checkYieldAwaitInDefaultParams = function() {\n if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))\n { this.raise(this.yieldPos, \"Yield expression cannot be a default value\"); }\n if (this.awaitPos)\n { this.raise(this.awaitPos, \"Await expression cannot be a default value\"); }\n};\n\npp.isSimpleAssignTarget = function(expr) {\n if (expr.type === \"ParenthesizedExpression\")\n { return this.isSimpleAssignTarget(expr.expression) }\n return expr.type === \"Identifier\" || expr.type === \"MemberExpression\"\n};\n\nvar pp$1 = Parser.prototype;\n\n// ### Statement parsing\n\n// Parse a program. Initializes the parser, reads any number of\n// statements, and wraps them in a Program node. Optionally takes a\n// `program` argument. If present, the statements will be appended\n// to its body instead of creating a new node.\n\npp$1.parseTopLevel = function(node) {\n var this$1 = this;\n\n var exports = {};\n if (!node.body) { node.body = []; }\n while (this.type !== types.eof) {\n var stmt = this$1.parseStatement(true, true, exports);\n node.body.push(stmt);\n }\n this.adaptDirectivePrologue(node.body);\n this.next();\n if (this.options.ecmaVersion >= 6) {\n node.sourceType = this.options.sourceType;\n }\n return this.finishNode(node, \"Program\")\n};\n\nvar loopLabel = {kind: \"loop\"};\nvar switchLabel = {kind: \"switch\"};\n\npp$1.isLet = function() {\n if (this.options.ecmaVersion < 6 || !this.isContextual(\"let\")) { return false }\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);\n if (nextCh === 91 || nextCh === 123) { return true } // '{' and '['\n if (isIdentifierStart(nextCh, true)) {\n var pos = next + 1;\n while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; }\n var ident = this.input.slice(next, pos);\n if (!keywordRelationalOperator.test(ident)) { return true }\n }\n return false\n};\n\n// check 'async [no LineTerminator here] function'\n// - 'async /*foo*/ function' is OK.\n// - 'async /*\\n*/ function' is invalid.\npp$1.isAsyncFunction = function() {\n if (this.options.ecmaVersion < 8 || !this.isContextual(\"async\"))\n { return false }\n\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length;\n return !lineBreak.test(this.input.slice(this.pos, next)) &&\n this.input.slice(next, next + 8) === \"function\" &&\n (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))\n};\n\n// Parse a single statement.\n//\n// If expecting a statement and finding a slash operator, parse a\n// regular expression literal. This is to handle cases like\n// `if (foo) /blah/.exec(foo)`, where looking at the previous token\n// does not help.\n\npp$1.parseStatement = function(declaration, topLevel, exports) {\n var starttype = this.type, node = this.startNode(), kind;\n\n if (this.isLet()) {\n starttype = types._var;\n kind = \"let\";\n }\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case types._break: case types._continue: return this.parseBreakContinueStatement(node, starttype.keyword)\n case types._debugger: return this.parseDebuggerStatement(node)\n case types._do: return this.parseDoStatement(node)\n case types._for: return this.parseForStatement(node)\n case types._function:\n if (!declaration && this.options.ecmaVersion >= 6) { this.unexpected(); }\n return this.parseFunctionStatement(node, false)\n case types._class:\n if (!declaration) { this.unexpected(); }\n return this.parseClass(node, true)\n case types._if: return this.parseIfStatement(node)\n case types._return: return this.parseReturnStatement(node)\n case types._switch: return this.parseSwitchStatement(node)\n case types._throw: return this.parseThrowStatement(node)\n case types._try: return this.parseTryStatement(node)\n case types._const: case types._var:\n kind = kind || this.value;\n if (!declaration && kind !== \"var\") { this.unexpected(); }\n return this.parseVarStatement(node, kind)\n case types._while: return this.parseWhileStatement(node)\n case types._with: return this.parseWithStatement(node)\n case types.braceL: return this.parseBlock()\n case types.semi: return this.parseEmptyStatement(node)\n case types._export:\n case types._import:\n if (!this.options.allowImportExportEverywhere) {\n if (!topLevel)\n { this.raise(this.start, \"'import' and 'export' may only appear at the top level\"); }\n if (!this.inModule)\n { this.raise(this.start, \"'import' and 'export' may appear only with 'sourceType: module'\"); }\n }\n return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports)\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n default:\n if (this.isAsyncFunction()) {\n if (!declaration) { this.unexpected(); }\n this.next();\n return this.parseFunctionStatement(node, true)\n }\n\n var maybeName = this.value, expr = this.parseExpression();\n if (starttype === types.name && expr.type === \"Identifier\" && this.eat(types.colon))\n { return this.parseLabeledStatement(node, maybeName, expr) }\n else { return this.parseExpressionStatement(node, expr) }\n }\n};\n\npp$1.parseBreakContinueStatement = function(node, keyword) {\n var this$1 = this;\n\n var isBreak = keyword === \"break\";\n this.next();\n if (this.eat(types.semi) || this.insertSemicolon()) { node.label = null; }\n else if (this.type !== types.name) { this.unexpected(); }\n else {\n node.label = this.parseIdent();\n this.semicolon();\n }\n\n // Verify that there is an actual destination to break or\n // continue to.\n var i = 0;\n for (; i < this.labels.length; ++i) {\n var lab = this$1.labels[i];\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) { break }\n if (node.label && isBreak) { break }\n }\n }\n if (i === this.labels.length) { this.raise(node.start, \"Unsyntactic \" + keyword); }\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n};\n\npp$1.parseDebuggerStatement = function(node) {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\")\n};\n\npp$1.parseDoStatement = function(node) {\n this.next();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(false);\n this.labels.pop();\n this.expect(types._while);\n node.test = this.parseParenExpression();\n if (this.options.ecmaVersion >= 6)\n { this.eat(types.semi); }\n else\n { this.semicolon(); }\n return this.finishNode(node, \"DoWhileStatement\")\n};\n\n// Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n// loop is non-trivial. Basically, we have to parse the init `var`\n// statement or expression, disallowing the `in` operator (see\n// the second parameter to `parseExpression`), and then check\n// whether the next token is `in` or `of`. When there is no init\n// part (semicolon immediately after the opening parenthesis), it\n// is a regular `for` loop.\n\npp$1.parseForStatement = function(node) {\n this.next();\n var awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual(\"await\")) ? this.lastTokStart : -1;\n this.labels.push(loopLabel);\n this.enterLexicalScope();\n this.expect(types.parenL);\n if (this.type === types.semi) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, null)\n }\n var isLet = this.isLet();\n if (this.type === types._var || this.type === types._const || isLet) {\n var init$1 = this.startNode(), kind = isLet ? \"let\" : this.value;\n this.next();\n this.parseVar(init$1, true, kind);\n this.finishNode(init$1, \"VariableDeclaration\");\n if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) && init$1.declarations.length === 1 &&\n !(kind !== \"var\" && init$1.declarations[0].init)) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n } else { node.await = awaitAt > -1; }\n }\n return this.parseForIn(node, init$1)\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init$1)\n }\n var refDestructuringErrors = new DestructuringErrors;\n var init = this.parseExpression(true, refDestructuringErrors);\n if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n } else { node.await = awaitAt > -1; }\n }\n this.toAssignable(init, false, refDestructuringErrors);\n this.checkLVal(init);\n return this.parseForIn(node, init)\n } else {\n this.checkExpressionErrors(refDestructuringErrors, true);\n }\n if (awaitAt > -1) { this.unexpected(awaitAt); }\n return this.parseFor(node, init)\n};\n\npp$1.parseFunctionStatement = function(node, isAsync) {\n this.next();\n return this.parseFunction(node, true, false, isAsync)\n};\n\npp$1.parseIfStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n // allow function declarations in branches, but only in non-strict mode\n node.consequent = this.parseStatement(!this.strict && this.type === types._function);\n node.alternate = this.eat(types._else) ? this.parseStatement(!this.strict && this.type === types._function) : null;\n return this.finishNode(node, \"IfStatement\")\n};\n\npp$1.parseReturnStatement = function(node) {\n if (!this.inFunction && !this.options.allowReturnOutsideFunction)\n { this.raise(this.start, \"'return' outside of function\"); }\n this.next();\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.eat(types.semi) || this.insertSemicolon()) { node.argument = null; }\n else { node.argument = this.parseExpression(); this.semicolon(); }\n return this.finishNode(node, \"ReturnStatement\")\n};\n\npp$1.parseSwitchStatement = function(node) {\n var this$1 = this;\n\n this.next();\n node.discriminant = this.parseParenExpression();\n node.cases = [];\n this.expect(types.braceL);\n this.labels.push(switchLabel);\n this.enterLexicalScope();\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n var cur;\n for (var sawDefault = false; this.type !== types.braceR;) {\n if (this$1.type === types._case || this$1.type === types._default) {\n var isCase = this$1.type === types._case;\n if (cur) { this$1.finishNode(cur, \"SwitchCase\"); }\n node.cases.push(cur = this$1.startNode());\n cur.consequent = [];\n this$1.next();\n if (isCase) {\n cur.test = this$1.parseExpression();\n } else {\n if (sawDefault) { this$1.raiseRecoverable(this$1.lastTokStart, \"Multiple default clauses\"); }\n sawDefault = true;\n cur.test = null;\n }\n this$1.expect(types.colon);\n } else {\n if (!cur) { this$1.unexpected(); }\n cur.consequent.push(this$1.parseStatement(true));\n }\n }\n this.exitLexicalScope();\n if (cur) { this.finishNode(cur, \"SwitchCase\"); }\n this.next(); // Closing brace\n this.labels.pop();\n return this.finishNode(node, \"SwitchStatement\")\n};\n\npp$1.parseThrowStatement = function(node) {\n this.next();\n if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))\n { this.raise(this.lastTokEnd, \"Illegal newline after throw\"); }\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\")\n};\n\n// Reused empty array added for node fields that are always empty.\n\nvar empty = [];\n\npp$1.parseTryStatement = function(node) {\n this.next();\n node.block = this.parseBlock();\n node.handler = null;\n if (this.type === types._catch) {\n var clause = this.startNode();\n this.next();\n if (this.eat(types.parenL)) {\n clause.param = this.parseBindingAtom();\n this.enterLexicalScope();\n this.checkLVal(clause.param, \"let\");\n this.expect(types.parenR);\n } else {\n if (this.options.ecmaVersion < 10) { this.unexpected(); }\n clause.param = null;\n this.enterLexicalScope();\n }\n clause.body = this.parseBlock(false);\n this.exitLexicalScope();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n node.finalizer = this.eat(types._finally) ? this.parseBlock() : null;\n if (!node.handler && !node.finalizer)\n { this.raise(node.start, \"Missing catch or finally clause\"); }\n return this.finishNode(node, \"TryStatement\")\n};\n\npp$1.parseVarStatement = function(node, kind) {\n this.next();\n this.parseVar(node, false, kind);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\")\n};\n\npp$1.parseWhileStatement = function(node) {\n this.next();\n node.test = this.parseParenExpression();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(false);\n this.labels.pop();\n return this.finishNode(node, \"WhileStatement\")\n};\n\npp$1.parseWithStatement = function(node) {\n if (this.strict) { this.raise(this.start, \"'with' in strict mode\"); }\n this.next();\n node.object = this.parseParenExpression();\n node.body = this.parseStatement(false);\n return this.finishNode(node, \"WithStatement\")\n};\n\npp$1.parseEmptyStatement = function(node) {\n this.next();\n return this.finishNode(node, \"EmptyStatement\")\n};\n\npp$1.parseLabeledStatement = function(node, maybeName, expr) {\n var this$1 = this;\n\n for (var i$1 = 0, list = this$1.labels; i$1 < list.length; i$1 += 1)\n {\n var label = list[i$1];\n\n if (label.name === maybeName)\n { this$1.raise(expr.start, \"Label '\" + maybeName + \"' is already declared\");\n } }\n var kind = this.type.isLoop ? \"loop\" : this.type === types._switch ? \"switch\" : null;\n for (var i = this.labels.length - 1; i >= 0; i--) {\n var label$1 = this$1.labels[i];\n if (label$1.statementStart === node.start) {\n // Update information about previous labels on this node\n label$1.statementStart = this$1.start;\n label$1.kind = kind;\n } else { break }\n }\n this.labels.push({name: maybeName, kind: kind, statementStart: this.start});\n node.body = this.parseStatement(true);\n if (node.body.type === \"ClassDeclaration\" ||\n node.body.type === \"VariableDeclaration\" && node.body.kind !== \"var\" ||\n node.body.type === \"FunctionDeclaration\" && (this.strict || node.body.generator || node.body.async))\n { this.raiseRecoverable(node.body.start, \"Invalid labeled declaration\"); }\n this.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\")\n};\n\npp$1.parseExpressionStatement = function(node, expr) {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\")\n};\n\n// Parse a semicolon-enclosed block of statements, handling `\"use\n// strict\"` declarations when `allowStrict` is true (used for\n// function bodies).\n\npp$1.parseBlock = function(createNewLexicalScope) {\n var this$1 = this;\n if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;\n\n var node = this.startNode();\n node.body = [];\n this.expect(types.braceL);\n if (createNewLexicalScope) {\n this.enterLexicalScope();\n }\n while (!this.eat(types.braceR)) {\n var stmt = this$1.parseStatement(true);\n node.body.push(stmt);\n }\n if (createNewLexicalScope) {\n this.exitLexicalScope();\n }\n return this.finishNode(node, \"BlockStatement\")\n};\n\n// Parse a regular `for` loop. The disambiguation code in\n// `parseStatement` will already have parsed the init statement or\n// expression.\n\npp$1.parseFor = function(node, init) {\n node.init = init;\n this.expect(types.semi);\n node.test = this.type === types.semi ? null : this.parseExpression();\n this.expect(types.semi);\n node.update = this.type === types.parenR ? null : this.parseExpression();\n this.expect(types.parenR);\n this.exitLexicalScope();\n node.body = this.parseStatement(false);\n this.labels.pop();\n return this.finishNode(node, \"ForStatement\")\n};\n\n// Parse a `for`/`in` and `for`/`of` loop, which are almost\n// same from parser's perspective.\n\npp$1.parseForIn = function(node, init) {\n var type = this.type === types._in ? \"ForInStatement\" : \"ForOfStatement\";\n this.next();\n if (type === \"ForInStatement\") {\n if (init.type === \"AssignmentPattern\" ||\n (init.type === \"VariableDeclaration\" && init.declarations[0].init != null &&\n (this.strict || init.declarations[0].id.type !== \"Identifier\")))\n { this.raise(init.start, \"Invalid assignment in for-in loop head\"); }\n }\n node.left = init;\n node.right = type === \"ForInStatement\" ? this.parseExpression() : this.parseMaybeAssign();\n this.expect(types.parenR);\n this.exitLexicalScope();\n node.body = this.parseStatement(false);\n this.labels.pop();\n return this.finishNode(node, type)\n};\n\n// Parse a list of variable declarations.\n\npp$1.parseVar = function(node, isFor, kind) {\n var this$1 = this;\n\n node.declarations = [];\n node.kind = kind;\n for (;;) {\n var decl = this$1.startNode();\n this$1.parseVarId(decl, kind);\n if (this$1.eat(types.eq)) {\n decl.init = this$1.parseMaybeAssign(isFor);\n } else if (kind === \"const\" && !(this$1.type === types._in || (this$1.options.ecmaVersion >= 6 && this$1.isContextual(\"of\")))) {\n this$1.unexpected();\n } else if (decl.id.type !== \"Identifier\" && !(isFor && (this$1.type === types._in || this$1.isContextual(\"of\")))) {\n this$1.raise(this$1.lastTokEnd, \"Complex binding patterns require an initialization value\");\n } else {\n decl.init = null;\n }\n node.declarations.push(this$1.finishNode(decl, \"VariableDeclarator\"));\n if (!this$1.eat(types.comma)) { break }\n }\n return node\n};\n\npp$1.parseVarId = function(decl, kind) {\n decl.id = this.parseBindingAtom(kind);\n this.checkLVal(decl.id, kind, false);\n};\n\n// Parse a function declaration or literal (depending on the\n// `isStatement` parameter).\n\npp$1.parseFunction = function(node, isStatement, allowExpressionBody, isAsync) {\n this.initFunction(node);\n if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync)\n { node.generator = this.eat(types.star); }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n if (isStatement) {\n node.id = isStatement === \"nullableID\" && this.type !== types.name ? null : this.parseIdent();\n if (node.id) {\n this.checkLVal(node.id, this.inModule && !this.inFunction ? \"let\" : \"var\");\n }\n }\n\n var oldInGen = this.inGenerator, oldInAsync = this.inAsync,\n oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction;\n this.inGenerator = node.generator;\n this.inAsync = node.async;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.inFunction = true;\n this.enterFunctionScope();\n\n if (!isStatement)\n { node.id = this.type === types.name ? this.parseIdent() : null; }\n\n this.parseFunctionParams(node);\n this.parseFunctionBody(node, allowExpressionBody);\n\n this.inGenerator = oldInGen;\n this.inAsync = oldInAsync;\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.inFunction = oldInFunc;\n return this.finishNode(node, isStatement ? \"FunctionDeclaration\" : \"FunctionExpression\")\n};\n\npp$1.parseFunctionParams = function(node) {\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n};\n\n// Parse a class declaration or literal (depending on the\n// `isStatement` parameter).\n\npp$1.parseClass = function(node, isStatement) {\n var this$1 = this;\n\n this.next();\n\n this.parseClassId(node, isStatement);\n this.parseClassSuper(node);\n var classBody = this.startNode();\n var hadConstructor = false;\n classBody.body = [];\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n var member = this$1.parseClassMember(classBody);\n if (member && member.type === \"MethodDefinition\" && member.kind === \"constructor\") {\n if (hadConstructor) { this$1.raise(member.start, \"Duplicate constructor in the same class\"); }\n hadConstructor = true;\n }\n }\n node.body = this.finishNode(classBody, \"ClassBody\");\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n};\n\npp$1.parseClassMember = function(classBody) {\n var this$1 = this;\n\n if (this.eat(types.semi)) { return null }\n\n var method = this.startNode();\n var tryContextual = function (k, noLineBreak) {\n if ( noLineBreak === void 0 ) noLineBreak = false;\n\n var start = this$1.start, startLoc = this$1.startLoc;\n if (!this$1.eatContextual(k)) { return false }\n if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true }\n if (method.key) { this$1.unexpected(); }\n method.computed = false;\n method.key = this$1.startNodeAt(start, startLoc);\n method.key.name = k;\n this$1.finishNode(method.key, \"Identifier\");\n return false\n };\n\n method.kind = \"method\";\n method.static = tryContextual(\"static\");\n var isGenerator = this.eat(types.star);\n var isAsync = false;\n if (!isGenerator) {\n if (this.options.ecmaVersion >= 8 && tryContextual(\"async\", true)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n } else if (tryContextual(\"get\")) {\n method.kind = \"get\";\n } else if (tryContextual(\"set\")) {\n method.kind = \"set\";\n }\n }\n if (!method.key) { this.parsePropertyName(method); }\n var key = method.key;\n if (!method.computed && !method.static && (key.type === \"Identifier\" && key.name === \"constructor\" ||\n key.type === \"Literal\" && key.value === \"constructor\")) {\n if (method.kind !== \"method\") { this.raise(key.start, \"Constructor can't have get/set modifier\"); }\n if (isGenerator) { this.raise(key.start, \"Constructor can't be a generator\"); }\n if (isAsync) { this.raise(key.start, \"Constructor can't be an async method\"); }\n method.kind = \"constructor\";\n } else if (method.static && key.type === \"Identifier\" && key.name === \"prototype\") {\n this.raise(key.start, \"Classes may not have a static property named prototype\");\n }\n this.parseClassMethod(classBody, method, isGenerator, isAsync);\n if (method.kind === \"get\" && method.value.params.length !== 0)\n { this.raiseRecoverable(method.value.start, \"getter should have no params\"); }\n if (method.kind === \"set\" && method.value.params.length !== 1)\n { this.raiseRecoverable(method.value.start, \"setter should have exactly one param\"); }\n if (method.kind === \"set\" && method.value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(method.value.params[0].start, \"Setter cannot use rest params\"); }\n return method\n};\n\npp$1.parseClassMethod = function(classBody, method, isGenerator, isAsync) {\n method.value = this.parseMethod(isGenerator, isAsync);\n classBody.body.push(this.finishNode(method, \"MethodDefinition\"));\n};\n\npp$1.parseClassId = function(node, isStatement) {\n node.id = this.type === types.name ? this.parseIdent() : isStatement === true ? this.unexpected() : null;\n};\n\npp$1.parseClassSuper = function(node) {\n node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null;\n};\n\n// Parses module export declaration.\n\npp$1.parseExport = function(node, exports) {\n var this$1 = this;\n\n this.next();\n // export * from '...'\n if (this.eat(types.star)) {\n this.expectContextual(\"from\");\n if (this.type !== types.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n this.semicolon();\n return this.finishNode(node, \"ExportAllDeclaration\")\n }\n if (this.eat(types._default)) { // export default ...\n this.checkExport(exports, \"default\", this.lastTokStart);\n var isAsync;\n if (this.type === types._function || (isAsync = this.isAsyncFunction())) {\n var fNode = this.startNode();\n this.next();\n if (isAsync) { this.next(); }\n node.declaration = this.parseFunction(fNode, \"nullableID\", false, isAsync);\n } else if (this.type === types._class) {\n var cNode = this.startNode();\n node.declaration = this.parseClass(cNode, \"nullableID\");\n } else {\n node.declaration = this.parseMaybeAssign();\n this.semicolon();\n }\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n // export var|const|let|function|class ...\n if (this.shouldParseExportStatement()) {\n node.declaration = this.parseStatement(true);\n if (node.declaration.type === \"VariableDeclaration\")\n { this.checkVariableExport(exports, node.declaration.declarations); }\n else\n { this.checkExport(exports, node.declaration.id.name, node.declaration.id.start); }\n node.specifiers = [];\n node.source = null;\n } else { // export { x, y as z } [from '...']\n node.declaration = null;\n node.specifiers = this.parseExportSpecifiers(exports);\n if (this.eatContextual(\"from\")) {\n if (this.type !== types.string) { this.unexpected(); }\n node.source = this.parseExprAtom();\n } else {\n // check for keywords used as local names\n for (var i = 0, list = node.specifiers; i < list.length; i += 1) {\n var spec = list[i];\n\n this$1.checkUnreserved(spec.local);\n }\n\n node.source = null;\n }\n this.semicolon();\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n};\n\npp$1.checkExport = function(exports, name, pos) {\n if (!exports) { return }\n if (has(exports, name))\n { this.raiseRecoverable(pos, \"Duplicate export '\" + name + \"'\"); }\n exports[name] = true;\n};\n\npp$1.checkPatternExport = function(exports, pat) {\n var this$1 = this;\n\n var type = pat.type;\n if (type === \"Identifier\")\n { this.checkExport(exports, pat.name, pat.start); }\n else if (type === \"ObjectPattern\")\n { for (var i = 0, list = pat.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n this$1.checkPatternExport(exports, prop);\n } }\n else if (type === \"ArrayPattern\")\n { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {\n var elt = list$1[i$1];\n\n if (elt) { this$1.checkPatternExport(exports, elt); }\n } }\n else if (type === \"Property\")\n { this.checkPatternExport(exports, pat.value); }\n else if (type === \"AssignmentPattern\")\n { this.checkPatternExport(exports, pat.left); }\n else if (type === \"RestElement\")\n { this.checkPatternExport(exports, pat.argument); }\n else if (type === \"ParenthesizedExpression\")\n { this.checkPatternExport(exports, pat.expression); }\n};\n\npp$1.checkVariableExport = function(exports, decls) {\n var this$1 = this;\n\n if (!exports) { return }\n for (var i = 0, list = decls; i < list.length; i += 1)\n {\n var decl = list[i];\n\n this$1.checkPatternExport(exports, decl.id);\n }\n};\n\npp$1.shouldParseExportStatement = function() {\n return this.type.keyword === \"var\" ||\n this.type.keyword === \"const\" ||\n this.type.keyword === \"class\" ||\n this.type.keyword === \"function\" ||\n this.isLet() ||\n this.isAsyncFunction()\n};\n\n// Parses a comma-separated list of module exports.\n\npp$1.parseExportSpecifiers = function(exports) {\n var this$1 = this;\n\n var nodes = [], first = true;\n // export { x, y as z } [from '...']\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this$1.expect(types.comma);\n if (this$1.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var node = this$1.startNode();\n node.local = this$1.parseIdent(true);\n node.exported = this$1.eatContextual(\"as\") ? this$1.parseIdent(true) : node.local;\n this$1.checkExport(exports, node.exported.name, node.exported.start);\n nodes.push(this$1.finishNode(node, \"ExportSpecifier\"));\n }\n return nodes\n};\n\n// Parses import declaration.\n\npp$1.parseImport = function(node) {\n this.next();\n // import '...'\n if (this.type === types.string) {\n node.specifiers = empty;\n node.source = this.parseExprAtom();\n } else {\n node.specifiers = this.parseImportSpecifiers();\n this.expectContextual(\"from\");\n node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected();\n }\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\")\n};\n\n// Parses a comma-separated list of module imports.\n\npp$1.parseImportSpecifiers = function() {\n var this$1 = this;\n\n var nodes = [], first = true;\n if (this.type === types.name) {\n // import defaultObj, { x, y as z } from '...'\n var node = this.startNode();\n node.local = this.parseIdent();\n this.checkLVal(node.local, \"let\");\n nodes.push(this.finishNode(node, \"ImportDefaultSpecifier\"));\n if (!this.eat(types.comma)) { return nodes }\n }\n if (this.type === types.star) {\n var node$1 = this.startNode();\n this.next();\n this.expectContextual(\"as\");\n node$1.local = this.parseIdent();\n this.checkLVal(node$1.local, \"let\");\n nodes.push(this.finishNode(node$1, \"ImportNamespaceSpecifier\"));\n return nodes\n }\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this$1.expect(types.comma);\n if (this$1.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var node$2 = this$1.startNode();\n node$2.imported = this$1.parseIdent(true);\n if (this$1.eatContextual(\"as\")) {\n node$2.local = this$1.parseIdent();\n } else {\n this$1.checkUnreserved(node$2.imported);\n node$2.local = node$2.imported;\n }\n this$1.checkLVal(node$2.local, \"let\");\n nodes.push(this$1.finishNode(node$2, \"ImportSpecifier\"));\n }\n return nodes\n};\n\n// Set `ExpressionStatement#directive` property for directive prologues.\npp$1.adaptDirectivePrologue = function(statements) {\n for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {\n statements[i].directive = statements[i].expression.raw.slice(1, -1);\n }\n};\npp$1.isDirectiveCandidate = function(statement) {\n return (\n statement.type === \"ExpressionStatement\" &&\n statement.expression.type === \"Literal\" &&\n typeof statement.expression.value === \"string\" &&\n // Reject parenthesized strings.\n (this.input[statement.start] === \"\\\"\" || this.input[statement.start] === \"'\")\n )\n};\n\nvar pp$2 = Parser.prototype;\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\npp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {\n var this$1 = this;\n\n if (this.options.ecmaVersion >= 6 && node) {\n switch (node.type) {\n case \"Identifier\":\n if (this.inAsync && node.name === \"await\")\n { this.raise(node.start, \"Can not use 'await' as identifier inside an async function\"); }\n break\n\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"RestElement\":\n break\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n for (var i = 0, list = node.properties; i < list.length; i += 1) {\n var prop = list[i];\n\n this$1.toAssignable(prop, isBinding);\n // Early error:\n // AssignmentRestProperty[Yield, Await] :\n // `...` DestructuringAssignmentTarget[Yield, Await]\n //\n // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.\n if (\n prop.type === \"RestElement\" &&\n (prop.argument.type === \"ArrayPattern\" || prop.argument.type === \"ObjectPattern\")\n ) {\n this$1.raise(prop.argument.start, \"Unexpected token\");\n }\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n if (node.kind !== \"init\") { this.raise(node.key.start, \"Object pattern can't contain getter or setter\"); }\n this.toAssignable(node.value, isBinding);\n break\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n this.toAssignableList(node.elements, isBinding);\n break\n\n case \"SpreadElement\":\n node.type = \"RestElement\";\n this.toAssignable(node.argument, isBinding);\n if (node.argument.type === \"AssignmentPattern\")\n { this.raise(node.argument.start, \"Rest elements cannot have a default value\"); }\n break\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") { this.raise(node.left.end, \"Only '=' operator can be used for specifying default value.\"); }\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isBinding);\n // falls through to AssignmentPattern\n\n case \"AssignmentPattern\":\n break\n\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isBinding);\n break\n\n case \"MemberExpression\":\n if (!isBinding) { break }\n\n default:\n this.raise(node.start, \"Assigning to rvalue\");\n }\n } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }\n return node\n};\n\n// Convert list of expression atoms to binding list.\n\npp$2.toAssignableList = function(exprList, isBinding) {\n var this$1 = this;\n\n var end = exprList.length;\n for (var i = 0; i < end; i++) {\n var elt = exprList[i];\n if (elt) { this$1.toAssignable(elt, isBinding); }\n }\n if (end) {\n var last = exprList[end - 1];\n if (this.options.ecmaVersion === 6 && isBinding && last && last.type === \"RestElement\" && last.argument.type !== \"Identifier\")\n { this.unexpected(last.argument.start); }\n }\n return exprList\n};\n\n// Parses spread element.\n\npp$2.parseSpread = function(refDestructuringErrors) {\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n return this.finishNode(node, \"SpreadElement\")\n};\n\npp$2.parseRestBinding = function() {\n var node = this.startNode();\n this.next();\n\n // RestElement inside of a function parameter must be an identifier\n if (this.options.ecmaVersion === 6 && this.type !== types.name)\n { this.unexpected(); }\n\n node.argument = this.parseBindingAtom();\n\n return this.finishNode(node, \"RestElement\")\n};\n\n// Parses lvalue (assignable) atom.\n\npp$2.parseBindingAtom = function() {\n if (this.options.ecmaVersion >= 6) {\n switch (this.type) {\n case types.bracketL:\n var node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(types.bracketR, true, true);\n return this.finishNode(node, \"ArrayPattern\")\n\n case types.braceL:\n return this.parseObj(true)\n }\n }\n return this.parseIdent()\n};\n\npp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) {\n var this$1 = this;\n\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (first) { first = false; }\n else { this$1.expect(types.comma); }\n if (allowEmpty && this$1.type === types.comma) {\n elts.push(null);\n } else if (allowTrailingComma && this$1.afterTrailingComma(close)) {\n break\n } else if (this$1.type === types.ellipsis) {\n var rest = this$1.parseRestBinding();\n this$1.parseBindingListItem(rest);\n elts.push(rest);\n if (this$1.type === types.comma) { this$1.raise(this$1.start, \"Comma is not permitted after the rest element\"); }\n this$1.expect(close);\n break\n } else {\n var elem = this$1.parseMaybeDefault(this$1.start, this$1.startLoc);\n this$1.parseBindingListItem(elem);\n elts.push(elem);\n }\n }\n return elts\n};\n\npp$2.parseBindingListItem = function(param) {\n return param\n};\n\n// Parses assignment pattern around given atom if possible.\n\npp$2.parseMaybeDefault = function(startPos, startLoc, left) {\n left = left || this.parseBindingAtom();\n if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) { return left }\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.right = this.parseMaybeAssign();\n return this.finishNode(node, \"AssignmentPattern\")\n};\n\n// Verify that a node is an lval — something that can be assigned\n// to.\n// bindingType can be either:\n// 'var' indicating that the lval creates a 'var' binding\n// 'let' indicating that the lval creates a lexical ('let' or 'const') binding\n// 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references\n\npp$2.checkLVal = function(expr, bindingType, checkClashes) {\n var this$1 = this;\n\n switch (expr.type) {\n case \"Identifier\":\n if (this.strict && this.reservedWordsStrictBind.test(expr.name))\n { this.raiseRecoverable(expr.start, (bindingType ? \"Binding \" : \"Assigning to \") + expr.name + \" in strict mode\"); }\n if (checkClashes) {\n if (has(checkClashes, expr.name))\n { this.raiseRecoverable(expr.start, \"Argument name clash\"); }\n checkClashes[expr.name] = true;\n }\n if (bindingType && bindingType !== \"none\") {\n if (\n bindingType === \"var\" && !this.canDeclareVarName(expr.name) ||\n bindingType !== \"var\" && !this.canDeclareLexicalName(expr.name)\n ) {\n this.raiseRecoverable(expr.start, (\"Identifier '\" + (expr.name) + \"' has already been declared\"));\n }\n if (bindingType === \"var\") {\n this.declareVarName(expr.name);\n } else {\n this.declareLexicalName(expr.name);\n }\n }\n break\n\n case \"MemberExpression\":\n if (bindingType) { this.raiseRecoverable(expr.start, \"Binding member expression\"); }\n break\n\n case \"ObjectPattern\":\n for (var i = 0, list = expr.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n this$1.checkLVal(prop, bindingType, checkClashes);\n }\n break\n\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n this.checkLVal(expr.value, bindingType, checkClashes);\n break\n\n case \"ArrayPattern\":\n for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {\n var elem = list$1[i$1];\n\n if (elem) { this$1.checkLVal(elem, bindingType, checkClashes); }\n }\n break\n\n case \"AssignmentPattern\":\n this.checkLVal(expr.left, bindingType, checkClashes);\n break\n\n case \"RestElement\":\n this.checkLVal(expr.argument, bindingType, checkClashes);\n break\n\n case \"ParenthesizedExpression\":\n this.checkLVal(expr.expression, bindingType, checkClashes);\n break\n\n default:\n this.raise(expr.start, (bindingType ? \"Binding\" : \"Assigning to\") + \" rvalue\");\n }\n};\n\n// A recursive descent parser operates by defining functions for all\n// syntactic elements, and recursively calling those, each function\n// advancing the input stream and returning an AST node. Precedence\n// of constructs (for example, the fact that `!x[1]` means `!(x[1])`\n// instead of `(!x)[1]` is handled by the fact that the parser\n// function that parses unary prefix operators is called first, and\n// in turn calls the function that parses `[]` subscripts — that\n// way, it'll receive the node for `x[1]` already parsed, and wraps\n// *that* in the unary operator node.\n//\n// Acorn uses an [operator precedence parser][opp] to handle binary\n// operator precedence, because it is much more compact than using\n// the technique outlined above, which uses different, nesting\n// functions to specify precedence, for all of the ten binary\n// precedence levels that JavaScript defines.\n//\n// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser\n\nvar pp$3 = Parser.prototype;\n\n// Check if property name clashes with already added.\n// Object/class getters and setters are not allowed to clash —\n// either with each other or with an init property — and in\n// strict mode, init properties are also not allowed to be repeated.\n\npp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 9 && prop.type === \"SpreadElement\")\n { return }\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))\n { return }\n var key = prop.key;\n var name;\n switch (key.type) {\n case \"Identifier\": name = key.name; break\n case \"Literal\": name = String(key.value); break\n default: return\n }\n var kind = prop.kind;\n if (this.options.ecmaVersion >= 6) {\n if (name === \"__proto__\" && kind === \"init\") {\n if (propHash.proto) {\n if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) { refDestructuringErrors.doubleProto = key.start; }\n // Backwards-compat kludge. Can be removed in version 6.0\n else { this.raiseRecoverable(key.start, \"Redefinition of __proto__ property\"); }\n }\n propHash.proto = true;\n }\n return\n }\n name = \"$\" + name;\n var other = propHash[name];\n if (other) {\n var redefinition;\n if (kind === \"init\") {\n redefinition = this.strict && other.init || other.get || other.set;\n } else {\n redefinition = other.init || other[kind];\n }\n if (redefinition)\n { this.raiseRecoverable(key.start, \"Redefinition of property\"); }\n } else {\n other = propHash[name] = {\n init: false,\n get: false,\n set: false\n };\n }\n other[kind] = true;\n};\n\n// ### Expression parsing\n\n// These nest, from the most general expression type at the top to\n// 'atomic', nondivisible expression types at the bottom. Most of\n// the functions will simply let the function(s) below them parse,\n// and, *if* the syntactic construct they handle is present, wrap\n// the AST node that the inner parser gave them in another node.\n\n// Parse a full expression. The optional arguments are used to\n// forbid the `in` operator (in for loops initalization expressions)\n// and provide reference for storing '=' operator inside shorthand\n// property assignment in contexts where both object expression\n// and object pattern might appear (so it's possible to raise\n// delayed syntax error at correct position).\n\npp$3.parseExpression = function(noIn, refDestructuringErrors) {\n var this$1 = this;\n\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);\n if (this.type === types.comma) {\n var node = this.startNodeAt(startPos, startLoc);\n node.expressions = [expr];\n while (this.eat(types.comma)) { node.expressions.push(this$1.parseMaybeAssign(noIn, refDestructuringErrors)); }\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n};\n\n// Parse an assignment expression. This includes applications of\n// operators like `+=`.\n\npp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {\n if (this.inGenerator && this.isContextual(\"yield\")) { return this.parseYield() }\n\n var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1;\n if (refDestructuringErrors) {\n oldParenAssign = refDestructuringErrors.parenthesizedAssign;\n oldTrailingComma = refDestructuringErrors.trailingComma;\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1;\n } else {\n refDestructuringErrors = new DestructuringErrors;\n ownDestructuringErrors = true;\n }\n\n var startPos = this.start, startLoc = this.startLoc;\n if (this.type === types.parenL || this.type === types.name)\n { this.potentialArrowAt = this.start; }\n var left = this.parseMaybeConditional(noIn, refDestructuringErrors);\n if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }\n if (this.type.isAssign) {\n var node = this.startNodeAt(startPos, startLoc);\n node.operator = this.value;\n node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left;\n if (!ownDestructuringErrors) { DestructuringErrors.call(refDestructuringErrors); }\n refDestructuringErrors.shorthandAssign = -1; // reset because shorthand default was used correctly\n this.checkLVal(left);\n this.next();\n node.right = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"AssignmentExpression\")\n } else {\n if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }\n }\n if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; }\n if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; }\n return left\n};\n\n// Parse a ternary conditional (`?:`) operator.\n\npp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprOps(noIn, refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n if (this.eat(types.question)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssign();\n this.expect(types.colon);\n node.alternate = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n};\n\n// Start the precedence parser.\n\npp$3.parseExprOps = function(noIn, refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseMaybeUnary(refDestructuringErrors, false);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n return expr.start === startPos && expr.type === \"ArrowFunctionExpression\" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn)\n};\n\n// Parse binary operators with the operator precedence parsing\n// algorithm. `left` is the left-hand side of the operator.\n// `minPrec` provides context that allows the function to stop and\n// defer further parser to one of its callers when it encounters an\n// operator that has a lower precedence than the set it is parsing.\n\npp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {\n var prec = this.type.binop;\n if (prec != null && (!noIn || this.type !== types._in)) {\n if (prec > minPrec) {\n var logical = this.type === types.logicalOR || this.type === types.logicalAND;\n var op = this.value;\n this.next();\n var startPos = this.start, startLoc = this.startLoc;\n var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn);\n var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical);\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)\n }\n }\n return left\n};\n\npp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.operator = op;\n node.right = right;\n return this.finishNode(node, logical ? \"LogicalExpression\" : \"BinaryExpression\")\n};\n\n// Parse unary operators, both prefix and postfix.\n\npp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {\n var this$1 = this;\n\n var startPos = this.start, startLoc = this.startLoc, expr;\n if (this.isContextual(\"await\") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) {\n expr = this.parseAwait();\n sawUnary = true;\n } else if (this.type.prefix) {\n var node = this.startNode(), update = this.type === types.incDec;\n node.operator = this.value;\n node.prefix = true;\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n this.checkExpressionErrors(refDestructuringErrors, true);\n if (update) { this.checkLVal(node.argument); }\n else if (this.strict && node.operator === \"delete\" &&\n node.argument.type === \"Identifier\")\n { this.raiseRecoverable(node.start, \"Deleting local variable in strict mode\"); }\n else { sawUnary = true; }\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\");\n } else {\n expr = this.parseExprSubscripts(refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }\n while (this.type.postfix && !this.canInsertSemicolon()) {\n var node$1 = this$1.startNodeAt(startPos, startLoc);\n node$1.operator = this$1.value;\n node$1.prefix = false;\n node$1.argument = expr;\n this$1.checkLVal(expr);\n this$1.next();\n expr = this$1.finishNode(node$1, \"UpdateExpression\");\n }\n }\n\n if (!sawUnary && this.eat(types.starstar))\n { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), \"**\", false) }\n else\n { return expr }\n};\n\n// Parse call, dot, and `[]`-subscript expressions.\n\npp$3.parseExprSubscripts = function(refDestructuringErrors) {\n var startPos = this.start, startLoc = this.startLoc;\n var expr = this.parseExprAtom(refDestructuringErrors);\n var skipArrowSubscripts = expr.type === \"ArrowFunctionExpression\" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== \")\";\n if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) { return expr }\n var result = this.parseSubscripts(expr, startPos, startLoc);\n if (refDestructuringErrors && result.type === \"MemberExpression\") {\n if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }\n if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }\n }\n return result\n};\n\npp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {\n var this$1 = this;\n\n var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === \"Identifier\" && base.name === \"async\" &&\n this.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === \"async\";\n for (var computed = (void 0);;) {\n if ((computed = this$1.eat(types.bracketL)) || this$1.eat(types.dot)) {\n var node = this$1.startNodeAt(startPos, startLoc);\n node.object = base;\n node.property = computed ? this$1.parseExpression() : this$1.parseIdent(true);\n node.computed = !!computed;\n if (computed) { this$1.expect(types.bracketR); }\n base = this$1.finishNode(node, \"MemberExpression\");\n } else if (!noCalls && this$1.eat(types.parenL)) {\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this$1.yieldPos, oldAwaitPos = this$1.awaitPos;\n this$1.yieldPos = 0;\n this$1.awaitPos = 0;\n var exprList = this$1.parseExprList(types.parenR, this$1.options.ecmaVersion >= 8, false, refDestructuringErrors);\n if (maybeAsyncArrow && !this$1.canInsertSemicolon() && this$1.eat(types.arrow)) {\n this$1.checkPatternErrors(refDestructuringErrors, false);\n this$1.checkYieldAwaitInDefaultParams();\n this$1.yieldPos = oldYieldPos;\n this$1.awaitPos = oldAwaitPos;\n return this$1.parseArrowExpression(this$1.startNodeAt(startPos, startLoc), exprList, true)\n }\n this$1.checkExpressionErrors(refDestructuringErrors, true);\n this$1.yieldPos = oldYieldPos || this$1.yieldPos;\n this$1.awaitPos = oldAwaitPos || this$1.awaitPos;\n var node$1 = this$1.startNodeAt(startPos, startLoc);\n node$1.callee = base;\n node$1.arguments = exprList;\n base = this$1.finishNode(node$1, \"CallExpression\");\n } else if (this$1.type === types.backQuote) {\n var node$2 = this$1.startNodeAt(startPos, startLoc);\n node$2.tag = base;\n node$2.quasi = this$1.parseTemplate({isTagged: true});\n base = this$1.finishNode(node$2, \"TaggedTemplateExpression\");\n } else {\n return base\n }\n }\n};\n\n// Parse an atomic expression — either a single token that is an\n// expression, an expression started by a keyword like `function` or\n// `new`, or an expression wrapped in punctuation like `()`, `[]`,\n// or `{}`.\n\npp$3.parseExprAtom = function(refDestructuringErrors) {\n var node, canBeArrow = this.potentialArrowAt === this.start;\n switch (this.type) {\n case types._super:\n if (!this.inFunction)\n { this.raise(this.start, \"'super' outside of function or class\"); }\n node = this.startNode();\n this.next();\n // The `super` keyword can appear at below:\n // SuperProperty:\n // super [ Expression ]\n // super . IdentifierName\n // SuperCall:\n // super Arguments\n if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL)\n { this.unexpected(); }\n return this.finishNode(node, \"Super\")\n\n case types._this:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\")\n\n case types.name:\n var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;\n var id = this.parseIdent(this.type !== types.name);\n if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === \"async\" && !this.canInsertSemicolon() && this.eat(types._function))\n { return this.parseFunction(this.startNodeAt(startPos, startLoc), false, false, true) }\n if (canBeArrow && !this.canInsertSemicolon()) {\n if (this.eat(types.arrow))\n { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) }\n if (this.options.ecmaVersion >= 8 && id.name === \"async\" && this.type === types.name && !containsEsc) {\n id = this.parseIdent();\n if (this.canInsertSemicolon() || !this.eat(types.arrow))\n { this.unexpected(); }\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)\n }\n }\n return id\n\n case types.regexp:\n var value = this.value;\n node = this.parseLiteral(value.value);\n node.regex = {pattern: value.pattern, flags: value.flags};\n return node\n\n case types.num: case types.string:\n return this.parseLiteral(this.value)\n\n case types._null: case types._true: case types._false:\n node = this.startNode();\n node.value = this.type === types._null ? null : this.type === types._true;\n node.raw = this.type.keyword;\n this.next();\n return this.finishNode(node, \"Literal\")\n\n case types.parenL:\n var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow);\n if (refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))\n { refDestructuringErrors.parenthesizedAssign = start; }\n if (refDestructuringErrors.parenthesizedBind < 0)\n { refDestructuringErrors.parenthesizedBind = start; }\n }\n return expr\n\n case types.bracketL:\n node = this.startNode();\n this.next();\n node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors);\n return this.finishNode(node, \"ArrayExpression\")\n\n case types.braceL:\n return this.parseObj(false, refDestructuringErrors)\n\n case types._function:\n node = this.startNode();\n this.next();\n return this.parseFunction(node, false)\n\n case types._class:\n return this.parseClass(this.startNode(), false)\n\n case types._new:\n return this.parseNew()\n\n case types.backQuote:\n return this.parseTemplate()\n\n default:\n this.unexpected();\n }\n};\n\npp$3.parseLiteral = function(value) {\n var node = this.startNode();\n node.value = value;\n node.raw = this.input.slice(this.start, this.end);\n this.next();\n return this.finishNode(node, \"Literal\")\n};\n\npp$3.parseParenExpression = function() {\n this.expect(types.parenL);\n var val = this.parseExpression();\n this.expect(types.parenR);\n return val\n};\n\npp$3.parseParenAndDistinguishExpression = function(canBeArrow) {\n var this$1 = this;\n\n var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;\n if (this.options.ecmaVersion >= 6) {\n this.next();\n\n var innerStartPos = this.start, innerStartLoc = this.startLoc;\n var exprList = [], first = true, lastIsComma = false;\n var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart;\n this.yieldPos = 0;\n this.awaitPos = 0;\n while (this.type !== types.parenR) {\n first ? first = false : this$1.expect(types.comma);\n if (allowTrailingComma && this$1.afterTrailingComma(types.parenR, true)) {\n lastIsComma = true;\n break\n } else if (this$1.type === types.ellipsis) {\n spreadStart = this$1.start;\n exprList.push(this$1.parseParenItem(this$1.parseRestBinding()));\n if (this$1.type === types.comma) { this$1.raise(this$1.start, \"Comma is not permitted after the rest element\"); }\n break\n } else {\n exprList.push(this$1.parseMaybeAssign(false, refDestructuringErrors, this$1.parseParenItem));\n }\n }\n var innerEndPos = this.start, innerEndLoc = this.startLoc;\n this.expect(types.parenR);\n\n if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.parseParenArrowList(startPos, startLoc, exprList)\n }\n\n if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }\n if (spreadStart) { this.unexpected(spreadStart); }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc);\n val.expressions = exprList;\n this.finishNodeAt(val, \"SequenceExpression\", innerEndPos, innerEndLoc);\n } else {\n val = exprList[0];\n }\n } else {\n val = this.parseParenExpression();\n }\n\n if (this.options.preserveParens) {\n var par = this.startNodeAt(startPos, startLoc);\n par.expression = val;\n return this.finishNode(par, \"ParenthesizedExpression\")\n } else {\n return val\n }\n};\n\npp$3.parseParenItem = function(item) {\n return item\n};\n\npp$3.parseParenArrowList = function(startPos, startLoc, exprList) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)\n};\n\n// New's precedence is slightly tricky. It must allow its argument to\n// be a `[]` or dot subscript expression, but not a call — at least,\n// not without wrapping it in parentheses. Thus, it uses the noCalls\n// argument to parseSubscripts to prevent it from consuming the\n// argument list.\n\nvar empty$1 = [];\n\npp$3.parseNew = function() {\n var node = this.startNode();\n var meta = this.parseIdent(true);\n if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) {\n node.meta = meta;\n var containsEsc = this.containsEsc;\n node.property = this.parseIdent(true);\n if (node.property.name !== \"target\" || containsEsc)\n { this.raiseRecoverable(node.property.start, \"The only valid meta property for new is new.target\"); }\n if (!this.inFunction)\n { this.raiseRecoverable(node.start, \"new.target can only be used in functions\"); }\n return this.finishNode(node, \"MetaProperty\")\n }\n var startPos = this.start, startLoc = this.startLoc;\n node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);\n if (this.eat(types.parenL)) { node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false); }\n else { node.arguments = empty$1; }\n return this.finishNode(node, \"NewExpression\")\n};\n\n// Parse template expression.\n\npp$3.parseTemplateElement = function(ref) {\n var isTagged = ref.isTagged;\n\n var elem = this.startNode();\n if (this.type === types.invalidTemplate) {\n if (!isTagged) {\n this.raiseRecoverable(this.start, \"Bad escape sequence in untagged template literal\");\n }\n elem.value = {\n raw: this.value,\n cooked: null\n };\n } else {\n elem.value = {\n raw: this.input.slice(this.start, this.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.value\n };\n }\n this.next();\n elem.tail = this.type === types.backQuote;\n return this.finishNode(elem, \"TemplateElement\")\n};\n\npp$3.parseTemplate = function(ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;\n\n var node = this.startNode();\n this.next();\n node.expressions = [];\n var curElt = this.parseTemplateElement({isTagged: isTagged});\n node.quasis = [curElt];\n while (!curElt.tail) {\n if (this$1.type === types.eof) { this$1.raise(this$1.pos, \"Unterminated template literal\"); }\n this$1.expect(types.dollarBraceL);\n node.expressions.push(this$1.parseExpression());\n this$1.expect(types.braceR);\n node.quasis.push(curElt = this$1.parseTemplateElement({isTagged: isTagged}));\n }\n this.next();\n return this.finishNode(node, \"TemplateLiteral\")\n};\n\npp$3.isAsyncProp = function(prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && prop.key.name === \"async\" &&\n (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) &&\n !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n};\n\n// Parse an object literal or binding pattern.\n\npp$3.parseObj = function(isPattern, refDestructuringErrors) {\n var this$1 = this;\n\n var node = this.startNode(), first = true, propHash = {};\n node.properties = [];\n this.next();\n while (!this.eat(types.braceR)) {\n if (!first) {\n this$1.expect(types.comma);\n if (this$1.afterTrailingComma(types.braceR)) { break }\n } else { first = false; }\n\n var prop = this$1.parseProperty(isPattern, refDestructuringErrors);\n if (!isPattern) { this$1.checkPropClash(prop, propHash, refDestructuringErrors); }\n node.properties.push(prop);\n }\n return this.finishNode(node, isPattern ? \"ObjectPattern\" : \"ObjectExpression\")\n};\n\npp$3.parseProperty = function(isPattern, refDestructuringErrors) {\n var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;\n if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {\n if (isPattern) {\n prop.argument = this.parseIdent(false);\n if (this.type === types.comma) {\n this.raise(this.start, \"Comma is not permitted after the rest element\");\n }\n return this.finishNode(prop, \"RestElement\")\n }\n // To disallow parenthesized identifier via `this.toAssignable()`.\n if (this.type === types.parenL && refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0) {\n refDestructuringErrors.parenthesizedAssign = this.start;\n }\n if (refDestructuringErrors.parenthesizedBind < 0) {\n refDestructuringErrors.parenthesizedBind = this.start;\n }\n }\n // Parse argument.\n prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n // To disallow trailing comma via `this.toAssignable()`.\n if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {\n refDestructuringErrors.trailingComma = this.start;\n }\n // Finish\n return this.finishNode(prop, \"SpreadElement\")\n }\n if (this.options.ecmaVersion >= 6) {\n prop.method = false;\n prop.shorthand = false;\n if (isPattern || refDestructuringErrors) {\n startPos = this.start;\n startLoc = this.startLoc;\n }\n if (!isPattern)\n { isGenerator = this.eat(types.star); }\n }\n var containsEsc = this.containsEsc;\n this.parsePropertyName(prop);\n if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n this.parsePropertyName(prop, refDestructuringErrors);\n } else {\n isAsync = false;\n }\n this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc);\n return this.finishNode(prop, \"Property\")\n};\n\npp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {\n if ((isGenerator || isAsync) && this.type === types.colon)\n { this.unexpected(); }\n\n if (this.eat(types.colon)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);\n prop.kind = \"init\";\n } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) {\n if (isPattern) { this.unexpected(); }\n prop.kind = \"init\";\n prop.method = true;\n prop.value = this.parseMethod(isGenerator, isAsync);\n } else if (!isPattern && !containsEsc &&\n this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === \"Identifier\" &&\n (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.type !== types.comma && this.type !== types.braceR)) {\n if (isGenerator || isAsync) { this.unexpected(); }\n prop.kind = prop.key.name;\n this.parsePropertyName(prop);\n prop.value = this.parseMethod(false);\n var paramCount = prop.kind === \"get\" ? 0 : 1;\n if (prop.value.params.length !== paramCount) {\n var start = prop.value.start;\n if (prop.kind === \"get\")\n { this.raiseRecoverable(start, \"getter should have no params\"); }\n else\n { this.raiseRecoverable(start, \"setter should have exactly one param\"); }\n } else {\n if (prop.kind === \"set\" && prop.value.params[0].type === \"RestElement\")\n { this.raiseRecoverable(prop.value.params[0].start, \"Setter cannot use rest params\"); }\n }\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === \"Identifier\") {\n this.checkUnreserved(prop.key);\n prop.kind = \"init\";\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else if (this.type === types.eq && refDestructuringErrors) {\n if (refDestructuringErrors.shorthandAssign < 0)\n { refDestructuringErrors.shorthandAssign = this.start; }\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else {\n prop.value = prop.key;\n }\n prop.shorthand = true;\n } else { this.unexpected(); }\n};\n\npp$3.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(types.bracketL)) {\n prop.computed = true;\n prop.key = this.parseMaybeAssign();\n this.expect(types.bracketR);\n return prop.key\n } else {\n prop.computed = false;\n }\n }\n return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(true)\n};\n\n// Initialize empty function node.\n\npp$3.initFunction = function(node) {\n node.id = null;\n if (this.options.ecmaVersion >= 6) {\n node.generator = false;\n node.expression = false;\n }\n if (this.options.ecmaVersion >= 8)\n { node.async = false; }\n};\n\n// Parse object or class method.\n\npp$3.parseMethod = function(isGenerator, isAsync) {\n var node = this.startNode(), oldInGen = this.inGenerator, oldInAsync = this.inAsync,\n oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction;\n\n this.initFunction(node);\n if (this.options.ecmaVersion >= 6)\n { node.generator = isGenerator; }\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n this.inGenerator = node.generator;\n this.inAsync = node.async;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.inFunction = true;\n this.enterFunctionScope();\n\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n this.parseFunctionBody(node, false);\n\n this.inGenerator = oldInGen;\n this.inAsync = oldInAsync;\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.inFunction = oldInFunc;\n return this.finishNode(node, \"FunctionExpression\")\n};\n\n// Parse arrow function expression with given parameters.\n\npp$3.parseArrowExpression = function(node, params, isAsync) {\n var oldInGen = this.inGenerator, oldInAsync = this.inAsync,\n oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction;\n\n this.enterFunctionScope();\n this.initFunction(node);\n if (this.options.ecmaVersion >= 8)\n { node.async = !!isAsync; }\n\n this.inGenerator = false;\n this.inAsync = node.async;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.inFunction = true;\n\n node.params = this.toAssignableList(params, true);\n this.parseFunctionBody(node, true);\n\n this.inGenerator = oldInGen;\n this.inAsync = oldInAsync;\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n this.inFunction = oldInFunc;\n return this.finishNode(node, \"ArrowFunctionExpression\")\n};\n\n// Parse function body and check parameters.\n\npp$3.parseFunctionBody = function(node, isArrowFunction) {\n var isExpression = isArrowFunction && this.type !== types.braceL;\n var oldStrict = this.strict, useStrict = false;\n\n if (isExpression) {\n node.body = this.parseMaybeAssign();\n node.expression = true;\n this.checkParams(node, false);\n } else {\n var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);\n if (!oldStrict || nonSimple) {\n useStrict = this.strictDirective(this.end);\n // If this is a strict mode function, verify that argument names\n // are not repeated, and it does not try to bind the words `eval`\n // or `arguments`.\n if (useStrict && nonSimple)\n { this.raiseRecoverable(node.start, \"Illegal 'use strict' directive in function with non-simple parameter list\"); }\n }\n // Start a new scope with regard to labels and the `inFunction`\n // flag (restore them to their old value afterwards).\n var oldLabels = this.labels;\n this.labels = [];\n if (useStrict) { this.strict = true; }\n\n // Add the params to varDeclaredNames to ensure that an error is thrown\n // if a let/const declaration in the function clashes with one of the params.\n this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && this.isSimpleParamList(node.params));\n node.body = this.parseBlock(false);\n node.expression = false;\n this.adaptDirectivePrologue(node.body.body);\n this.labels = oldLabels;\n }\n this.exitFunctionScope();\n\n if (this.strict && node.id) {\n // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'\n this.checkLVal(node.id, \"none\");\n }\n this.strict = oldStrict;\n};\n\npp$3.isSimpleParamList = function(params) {\n for (var i = 0, list = params; i < list.length; i += 1)\n {\n var param = list[i];\n\n if (param.type !== \"Identifier\") { return false\n } }\n return true\n};\n\n// Checks function params for various disallowed patterns such as using \"eval\"\n// or \"arguments\" and duplicate parameters.\n\npp$3.checkParams = function(node, allowDuplicates) {\n var this$1 = this;\n\n var nameHash = {};\n for (var i = 0, list = node.params; i < list.length; i += 1)\n {\n var param = list[i];\n\n this$1.checkLVal(param, \"var\", allowDuplicates ? null : nameHash);\n }\n};\n\n// Parses a comma-separated list of expressions, and returns them as\n// an array. `close` is the token type that ends the list, and\n// `allowEmpty` can be turned on to allow subsequent commas with\n// nothing in between them to be parsed as `null` (which is needed\n// for array literals).\n\npp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {\n var this$1 = this;\n\n var elts = [], first = true;\n while (!this.eat(close)) {\n if (!first) {\n this$1.expect(types.comma);\n if (allowTrailingComma && this$1.afterTrailingComma(close)) { break }\n } else { first = false; }\n\n var elt = (void 0);\n if (allowEmpty && this$1.type === types.comma)\n { elt = null; }\n else if (this$1.type === types.ellipsis) {\n elt = this$1.parseSpread(refDestructuringErrors);\n if (refDestructuringErrors && this$1.type === types.comma && refDestructuringErrors.trailingComma < 0)\n { refDestructuringErrors.trailingComma = this$1.start; }\n } else {\n elt = this$1.parseMaybeAssign(false, refDestructuringErrors);\n }\n elts.push(elt);\n }\n return elts\n};\n\npp$3.checkUnreserved = function(ref) {\n var start = ref.start;\n var end = ref.end;\n var name = ref.name;\n\n if (this.inGenerator && name === \"yield\")\n { this.raiseRecoverable(start, \"Can not use 'yield' as identifier inside a generator\"); }\n if (this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Can not use 'await' as identifier inside an async function\"); }\n if (this.isKeyword(name))\n { this.raise(start, (\"Unexpected keyword '\" + name + \"'\")); }\n if (this.options.ecmaVersion < 6 &&\n this.input.slice(start, end).indexOf(\"\\\\\") !== -1) { return }\n var re = this.strict ? this.reservedWordsStrict : this.reservedWords;\n if (re.test(name)) {\n if (!this.inAsync && name === \"await\")\n { this.raiseRecoverable(start, \"Can not use keyword 'await' outside an async function\"); }\n this.raiseRecoverable(start, (\"The keyword '\" + name + \"' is reserved\"));\n }\n};\n\n// Parse the next token as an identifier. If `liberal` is true (used\n// when parsing properties), it will also convert keywords into\n// identifiers.\n\npp$3.parseIdent = function(liberal, isBinding) {\n var node = this.startNode();\n if (liberal && this.options.allowReserved === \"never\") { liberal = false; }\n if (this.type === types.name) {\n node.name = this.value;\n } else if (this.type.keyword) {\n node.name = this.type.keyword;\n\n // To fix https://github.com/acornjs/acorn/issues/575\n // `class` and `function` keywords push new context into this.context.\n // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.\n // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword\n if ((node.name === \"class\" || node.name === \"function\") &&\n (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {\n this.context.pop();\n }\n } else {\n this.unexpected();\n }\n this.next();\n this.finishNode(node, \"Identifier\");\n if (!liberal) { this.checkUnreserved(node); }\n return node\n};\n\n// Parses yield expression inside generator.\n\npp$3.parseYield = function() {\n if (!this.yieldPos) { this.yieldPos = this.start; }\n\n var node = this.startNode();\n this.next();\n if (this.type === types.semi || this.canInsertSemicolon() || (this.type !== types.star && !this.type.startsExpr)) {\n node.delegate = false;\n node.argument = null;\n } else {\n node.delegate = this.eat(types.star);\n node.argument = this.parseMaybeAssign();\n }\n return this.finishNode(node, \"YieldExpression\")\n};\n\npp$3.parseAwait = function() {\n if (!this.awaitPos) { this.awaitPos = this.start; }\n\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n return this.finishNode(node, \"AwaitExpression\")\n};\n\nvar pp$4 = Parser.prototype;\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\npp$4.raise = function(pos, message) {\n var loc = getLineInfo(this.input, pos);\n message += \" (\" + loc.line + \":\" + loc.column + \")\";\n var err = new SyntaxError(message);\n err.pos = pos; err.loc = loc; err.raisedAt = this.pos;\n throw err\n};\n\npp$4.raiseRecoverable = pp$4.raise;\n\npp$4.curPosition = function() {\n if (this.options.locations) {\n return new Position(this.curLine, this.pos - this.lineStart)\n }\n};\n\nvar pp$5 = Parser.prototype;\n\n// Object.assign polyfill\nvar assign = Object.assign || function(target) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n for (var i = 0, list = sources; i < list.length; i += 1) {\n var source = list[i];\n\n for (var key in source) {\n if (has(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target\n};\n\n// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.\n\npp$5.enterFunctionScope = function() {\n // var: a hash of var-declared names in the current lexical scope\n // lexical: a hash of lexically-declared names in the current lexical scope\n // childVar: a hash of var-declared names in all child lexical scopes of the current lexical scope (within the current function scope)\n // parentLexical: a hash of lexically-declared names in all parent lexical scopes of the current lexical scope (within the current function scope)\n this.scopeStack.push({var: {}, lexical: {}, childVar: {}, parentLexical: {}});\n};\n\npp$5.exitFunctionScope = function() {\n this.scopeStack.pop();\n};\n\npp$5.enterLexicalScope = function() {\n var parentScope = this.scopeStack[this.scopeStack.length - 1];\n var childScope = {var: {}, lexical: {}, childVar: {}, parentLexical: {}};\n\n this.scopeStack.push(childScope);\n assign(childScope.parentLexical, parentScope.lexical, parentScope.parentLexical);\n};\n\npp$5.exitLexicalScope = function() {\n var childScope = this.scopeStack.pop();\n var parentScope = this.scopeStack[this.scopeStack.length - 1];\n\n assign(parentScope.childVar, childScope.var, childScope.childVar);\n};\n\n/**\n * A name can be declared with `var` if there are no variables with the same name declared with `let`/`const`\n * in the current lexical scope or any of the parent lexical scopes in this function.\n */\npp$5.canDeclareVarName = function(name) {\n var currentScope = this.scopeStack[this.scopeStack.length - 1];\n\n return !has(currentScope.lexical, name) && !has(currentScope.parentLexical, name)\n};\n\n/**\n * A name can be declared with `let`/`const` if there are no variables with the same name declared with `let`/`const`\n * in the current scope, and there are no variables with the same name declared with `var` in the current scope or in\n * any child lexical scopes in this function.\n */\npp$5.canDeclareLexicalName = function(name) {\n var currentScope = this.scopeStack[this.scopeStack.length - 1];\n\n return !has(currentScope.lexical, name) && !has(currentScope.var, name) && !has(currentScope.childVar, name)\n};\n\npp$5.declareVarName = function(name) {\n this.scopeStack[this.scopeStack.length - 1].var[name] = true;\n};\n\npp$5.declareLexicalName = function(name) {\n this.scopeStack[this.scopeStack.length - 1].lexical[name] = true;\n};\n\nvar Node = function Node(parser, pos, loc) {\n this.type = \"\";\n this.start = pos;\n this.end = 0;\n if (parser.options.locations)\n { this.loc = new SourceLocation(parser, loc); }\n if (parser.options.directSourceFile)\n { this.sourceFile = parser.options.directSourceFile; }\n if (parser.options.ranges)\n { this.range = [pos, 0]; }\n};\n\n// Start an AST node, attaching a start offset.\n\nvar pp$6 = Parser.prototype;\n\npp$6.startNode = function() {\n return new Node(this, this.start, this.startLoc)\n};\n\npp$6.startNodeAt = function(pos, loc) {\n return new Node(this, pos, loc)\n};\n\n// Finish an AST node, adding `type` and `end` properties.\n\nfunction finishNodeAt(node, type, pos, loc) {\n node.type = type;\n node.end = pos;\n if (this.options.locations)\n { node.loc.end = loc; }\n if (this.options.ranges)\n { node.range[1] = pos; }\n return node\n}\n\npp$6.finishNode = function(node, type) {\n return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)\n};\n\n// Finish node at given position\n\npp$6.finishNodeAt = function(node, type, pos, loc) {\n return finishNodeAt.call(this, node, type, pos, loc)\n};\n\n// The algorithm used to determine whether a regexp can appear at a\n// given point in the program is loosely based on sweet.js' approach.\n// See https://github.com/mozilla/sweet.js/wiki/design\n\nvar TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {\n this.token = token;\n this.isExpr = !!isExpr;\n this.preserveSpace = !!preserveSpace;\n this.override = override;\n this.generator = !!generator;\n};\n\nvar types$1 = {\n b_stat: new TokContext(\"{\", false),\n b_expr: new TokContext(\"{\", true),\n b_tmpl: new TokContext(\"${\", false),\n p_stat: new TokContext(\"(\", false),\n p_expr: new TokContext(\"(\", true),\n q_tmpl: new TokContext(\"`\", true, true, function (p) { return p.tryReadTemplateToken(); }),\n f_stat: new TokContext(\"function\", false),\n f_expr: new TokContext(\"function\", true),\n f_expr_gen: new TokContext(\"function\", true, false, null, true),\n f_gen: new TokContext(\"function\", false, false, null, true)\n};\n\nvar pp$7 = Parser.prototype;\n\npp$7.initialContext = function() {\n return [types$1.b_stat]\n};\n\npp$7.braceIsBlock = function(prevType) {\n var parent = this.curContext();\n if (parent === types$1.f_expr || parent === types$1.f_stat)\n { return true }\n if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr))\n { return !parent.isExpr }\n\n // The check for `tt.name && exprAllowed` detects whether we are\n // after a `yield` or `of` construct. See the `updateContext` for\n // `tt.name`.\n if (prevType === types._return || prevType === types.name && this.exprAllowed)\n { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }\n if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow)\n { return true }\n if (prevType === types.braceL)\n { return parent === types$1.b_stat }\n if (prevType === types._var || prevType === types.name)\n { return false }\n return !this.exprAllowed\n};\n\npp$7.inGeneratorContext = function() {\n var this$1 = this;\n\n for (var i = this.context.length - 1; i >= 1; i--) {\n var context = this$1.context[i];\n if (context.token === \"function\")\n { return context.generator }\n }\n return false\n};\n\npp$7.updateContext = function(prevType) {\n var update, type = this.type;\n if (type.keyword && prevType === types.dot)\n { this.exprAllowed = false; }\n else if (update = type.updateContext)\n { update.call(this, prevType); }\n else\n { this.exprAllowed = type.beforeExpr; }\n};\n\n// Token-specific context update code\n\ntypes.parenR.updateContext = types.braceR.updateContext = function() {\n if (this.context.length === 1) {\n this.exprAllowed = true;\n return\n }\n var out = this.context.pop();\n if (out === types$1.b_stat && this.curContext().token === \"function\") {\n out = this.context.pop();\n }\n this.exprAllowed = !out.isExpr;\n};\n\ntypes.braceL.updateContext = function(prevType) {\n this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr);\n this.exprAllowed = true;\n};\n\ntypes.dollarBraceL.updateContext = function() {\n this.context.push(types$1.b_tmpl);\n this.exprAllowed = true;\n};\n\ntypes.parenL.updateContext = function(prevType) {\n var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while;\n this.context.push(statementParens ? types$1.p_stat : types$1.p_expr);\n this.exprAllowed = true;\n};\n\ntypes.incDec.updateContext = function() {\n // tokExprAllowed stays unchanged\n};\n\ntypes._function.updateContext = types._class.updateContext = function(prevType) {\n if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else &&\n !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat))\n { this.context.push(types$1.f_expr); }\n else\n { this.context.push(types$1.f_stat); }\n this.exprAllowed = false;\n};\n\ntypes.backQuote.updateContext = function() {\n if (this.curContext() === types$1.q_tmpl)\n { this.context.pop(); }\n else\n { this.context.push(types$1.q_tmpl); }\n this.exprAllowed = false;\n};\n\ntypes.star.updateContext = function(prevType) {\n if (prevType === types._function) {\n var index = this.context.length - 1;\n if (this.context[index] === types$1.f_expr)\n { this.context[index] = types$1.f_expr_gen; }\n else\n { this.context[index] = types$1.f_gen; }\n }\n this.exprAllowed = true;\n};\n\ntypes.name.updateContext = function(prevType) {\n var allowed = false;\n if (this.options.ecmaVersion >= 6 && prevType !== types.dot) {\n if (this.value === \"of\" && !this.exprAllowed ||\n this.value === \"yield\" && this.inGeneratorContext())\n { allowed = true; }\n }\n this.exprAllowed = allowed;\n};\n\nvar data = {\n \"$LONE\": [\n \"ASCII\",\n \"ASCII_Hex_Digit\",\n \"AHex\",\n \"Alphabetic\",\n \"Alpha\",\n \"Any\",\n \"Assigned\",\n \"Bidi_Control\",\n \"Bidi_C\",\n \"Bidi_Mirrored\",\n \"Bidi_M\",\n \"Case_Ignorable\",\n \"CI\",\n \"Cased\",\n \"Changes_When_Casefolded\",\n \"CWCF\",\n \"Changes_When_Casemapped\",\n \"CWCM\",\n \"Changes_When_Lowercased\",\n \"CWL\",\n \"Changes_When_NFKC_Casefolded\",\n \"CWKCF\",\n \"Changes_When_Titlecased\",\n \"CWT\",\n \"Changes_When_Uppercased\",\n \"CWU\",\n \"Dash\",\n \"Default_Ignorable_Code_Point\",\n \"DI\",\n \"Deprecated\",\n \"Dep\",\n \"Diacritic\",\n \"Dia\",\n \"Emoji\",\n \"Emoji_Component\",\n \"Emoji_Modifier\",\n \"Emoji_Modifier_Base\",\n \"Emoji_Presentation\",\n \"Extender\",\n \"Ext\",\n \"Grapheme_Base\",\n \"Gr_Base\",\n \"Grapheme_Extend\",\n \"Gr_Ext\",\n \"Hex_Digit\",\n \"Hex\",\n \"IDS_Binary_Operator\",\n \"IDSB\",\n \"IDS_Trinary_Operator\",\n \"IDST\",\n \"ID_Continue\",\n \"IDC\",\n \"ID_Start\",\n \"IDS\",\n \"Ideographic\",\n \"Ideo\",\n \"Join_Control\",\n \"Join_C\",\n \"Logical_Order_Exception\",\n \"LOE\",\n \"Lowercase\",\n \"Lower\",\n \"Math\",\n \"Noncharacter_Code_Point\",\n \"NChar\",\n \"Pattern_Syntax\",\n \"Pat_Syn\",\n \"Pattern_White_Space\",\n \"Pat_WS\",\n \"Quotation_Mark\",\n \"QMark\",\n \"Radical\",\n \"Regional_Indicator\",\n \"RI\",\n \"Sentence_Terminal\",\n \"STerm\",\n \"Soft_Dotted\",\n \"SD\",\n \"Terminal_Punctuation\",\n \"Term\",\n \"Unified_Ideograph\",\n \"UIdeo\",\n \"Uppercase\",\n \"Upper\",\n \"Variation_Selector\",\n \"VS\",\n \"White_Space\",\n \"space\",\n \"XID_Continue\",\n \"XIDC\",\n \"XID_Start\",\n \"XIDS\"\n ],\n \"General_Category\": [\n \"Cased_Letter\",\n \"LC\",\n \"Close_Punctuation\",\n \"Pe\",\n \"Connector_Punctuation\",\n \"Pc\",\n \"Control\",\n \"Cc\",\n \"cntrl\",\n \"Currency_Symbol\",\n \"Sc\",\n \"Dash_Punctuation\",\n \"Pd\",\n \"Decimal_Number\",\n \"Nd\",\n \"digit\",\n \"Enclosing_Mark\",\n \"Me\",\n \"Final_Punctuation\",\n \"Pf\",\n \"Format\",\n \"Cf\",\n \"Initial_Punctuation\",\n \"Pi\",\n \"Letter\",\n \"L\",\n \"Letter_Number\",\n \"Nl\",\n \"Line_Separator\",\n \"Zl\",\n \"Lowercase_Letter\",\n \"Ll\",\n \"Mark\",\n \"M\",\n \"Combining_Mark\",\n \"Math_Symbol\",\n \"Sm\",\n \"Modifier_Letter\",\n \"Lm\",\n \"Modifier_Symbol\",\n \"Sk\",\n \"Nonspacing_Mark\",\n \"Mn\",\n \"Number\",\n \"N\",\n \"Open_Punctuation\",\n \"Ps\",\n \"Other\",\n \"C\",\n \"Other_Letter\",\n \"Lo\",\n \"Other_Number\",\n \"No\",\n \"Other_Punctuation\",\n \"Po\",\n \"Other_Symbol\",\n \"So\",\n \"Paragraph_Separator\",\n \"Zp\",\n \"Private_Use\",\n \"Co\",\n \"Punctuation\",\n \"P\",\n \"punct\",\n \"Separator\",\n \"Z\",\n \"Space_Separator\",\n \"Zs\",\n \"Spacing_Mark\",\n \"Mc\",\n \"Surrogate\",\n \"Cs\",\n \"Symbol\",\n \"S\",\n \"Titlecase_Letter\",\n \"Lt\",\n \"Unassigned\",\n \"Cn\",\n \"Uppercase_Letter\",\n \"Lu\"\n ],\n \"Script\": [\n \"Adlam\",\n \"Adlm\",\n \"Ahom\",\n \"Anatolian_Hieroglyphs\",\n \"Hluw\",\n \"Arabic\",\n \"Arab\",\n \"Armenian\",\n \"Armn\",\n \"Avestan\",\n \"Avst\",\n \"Balinese\",\n \"Bali\",\n \"Bamum\",\n \"Bamu\",\n \"Bassa_Vah\",\n \"Bass\",\n \"Batak\",\n \"Batk\",\n \"Bengali\",\n \"Beng\",\n \"Bhaiksuki\",\n \"Bhks\",\n \"Bopomofo\",\n \"Bopo\",\n \"Brahmi\",\n \"Brah\",\n \"Braille\",\n \"Brai\",\n \"Buginese\",\n \"Bugi\",\n \"Buhid\",\n \"Buhd\",\n \"Canadian_Aboriginal\",\n \"Cans\",\n \"Carian\",\n \"Cari\",\n \"Caucasian_Albanian\",\n \"Aghb\",\n \"Chakma\",\n \"Cakm\",\n \"Cham\",\n \"Cherokee\",\n \"Cher\",\n \"Common\",\n \"Zyyy\",\n \"Coptic\",\n \"Copt\",\n \"Qaac\",\n \"Cuneiform\",\n \"Xsux\",\n \"Cypriot\",\n \"Cprt\",\n \"Cyrillic\",\n \"Cyrl\",\n \"Deseret\",\n \"Dsrt\",\n \"Devanagari\",\n \"Deva\",\n \"Duployan\",\n \"Dupl\",\n \"Egyptian_Hieroglyphs\",\n \"Egyp\",\n \"Elbasan\",\n \"Elba\",\n \"Ethiopic\",\n \"Ethi\",\n \"Georgian\",\n \"Geor\",\n \"Glagolitic\",\n \"Glag\",\n \"Gothic\",\n \"Goth\",\n \"Grantha\",\n \"Gran\",\n \"Greek\",\n \"Grek\",\n \"Gujarati\",\n \"Gujr\",\n \"Gurmukhi\",\n \"Guru\",\n \"Han\",\n \"Hani\",\n \"Hangul\",\n \"Hang\",\n \"Hanunoo\",\n \"Hano\",\n \"Hatran\",\n \"Hatr\",\n \"Hebrew\",\n \"Hebr\",\n \"Hiragana\",\n \"Hira\",\n \"Imperial_Aramaic\",\n \"Armi\",\n \"Inherited\",\n \"Zinh\",\n \"Qaai\",\n \"Inscriptional_Pahlavi\",\n \"Phli\",\n \"Inscriptional_Parthian\",\n \"Prti\",\n \"Javanese\",\n \"Java\",\n \"Kaithi\",\n \"Kthi\",\n \"Kannada\",\n \"Knda\",\n \"Katakana\",\n \"Kana\",\n \"Kayah_Li\",\n \"Kali\",\n \"Kharoshthi\",\n \"Khar\",\n \"Khmer\",\n \"Khmr\",\n \"Khojki\",\n \"Khoj\",\n \"Khudawadi\",\n \"Sind\",\n \"Lao\",\n \"Laoo\",\n \"Latin\",\n \"Latn\",\n \"Lepcha\",\n \"Lepc\",\n \"Limbu\",\n \"Limb\",\n \"Linear_A\",\n \"Lina\",\n \"Linear_B\",\n \"Linb\",\n \"Lisu\",\n \"Lycian\",\n \"Lyci\",\n \"Lydian\",\n \"Lydi\",\n \"Mahajani\",\n \"Mahj\",\n \"Malayalam\",\n \"Mlym\",\n \"Mandaic\",\n \"Mand\",\n \"Manichaean\",\n \"Mani\",\n \"Marchen\",\n \"Marc\",\n \"Masaram_Gondi\",\n \"Gonm\",\n \"Meetei_Mayek\",\n \"Mtei\",\n \"Mende_Kikakui\",\n \"Mend\",\n \"Meroitic_Cursive\",\n \"Merc\",\n \"Meroitic_Hieroglyphs\",\n \"Mero\",\n \"Miao\",\n \"Plrd\",\n \"Modi\",\n \"Mongolian\",\n \"Mong\",\n \"Mro\",\n \"Mroo\",\n \"Multani\",\n \"Mult\",\n \"Myanmar\",\n \"Mymr\",\n \"Nabataean\",\n \"Nbat\",\n \"New_Tai_Lue\",\n \"Talu\",\n \"Newa\",\n \"Nko\",\n \"Nkoo\",\n \"Nushu\",\n \"Nshu\",\n \"Ogham\",\n \"Ogam\",\n \"Ol_Chiki\",\n \"Olck\",\n \"Old_Hungarian\",\n \"Hung\",\n \"Old_Italic\",\n \"Ital\",\n \"Old_North_Arabian\",\n \"Narb\",\n \"Old_Permic\",\n \"Perm\",\n \"Old_Persian\",\n \"Xpeo\",\n \"Old_South_Arabian\",\n \"Sarb\",\n \"Old_Turkic\",\n \"Orkh\",\n \"Oriya\",\n \"Orya\",\n \"Osage\",\n \"Osge\",\n \"Osmanya\",\n \"Osma\",\n \"Pahawh_Hmong\",\n \"Hmng\",\n \"Palmyrene\",\n \"Palm\",\n \"Pau_Cin_Hau\",\n \"Pauc\",\n \"Phags_Pa\",\n \"Phag\",\n \"Phoenician\",\n \"Phnx\",\n \"Psalter_Pahlavi\",\n \"Phlp\",\n \"Rejang\",\n \"Rjng\",\n \"Runic\",\n \"Runr\",\n \"Samaritan\",\n \"Samr\",\n \"Saurashtra\",\n \"Saur\",\n \"Sharada\",\n \"Shrd\",\n \"Shavian\",\n \"Shaw\",\n \"Siddham\",\n \"Sidd\",\n \"SignWriting\",\n \"Sgnw\",\n \"Sinhala\",\n \"Sinh\",\n \"Sora_Sompeng\",\n \"Sora\",\n \"Soyombo\",\n \"Soyo\",\n \"Sundanese\",\n \"Sund\",\n \"Syloti_Nagri\",\n \"Sylo\",\n \"Syriac\",\n \"Syrc\",\n \"Tagalog\",\n \"Tglg\",\n \"Tagbanwa\",\n \"Tagb\",\n \"Tai_Le\",\n \"Tale\",\n \"Tai_Tham\",\n \"Lana\",\n \"Tai_Viet\",\n \"Tavt\",\n \"Takri\",\n \"Takr\",\n \"Tamil\",\n \"Taml\",\n \"Tangut\",\n \"Tang\",\n \"Telugu\",\n \"Telu\",\n \"Thaana\",\n \"Thaa\",\n \"Thai\",\n \"Tibetan\",\n \"Tibt\",\n \"Tifinagh\",\n \"Tfng\",\n \"Tirhuta\",\n \"Tirh\",\n \"Ugaritic\",\n \"Ugar\",\n \"Vai\",\n \"Vaii\",\n \"Warang_Citi\",\n \"Wara\",\n \"Yi\",\n \"Yiii\",\n \"Zanabazar_Square\",\n \"Zanb\"\n ]\n};\nArray.prototype.push.apply(data.$LONE, data.General_Category);\ndata.gc = data.General_Category;\ndata.sc = data.Script_Extensions = data.scx = data.Script;\n\nvar pp$9 = Parser.prototype;\n\nvar RegExpValidationState = function RegExpValidationState(parser) {\n this.parser = parser;\n this.validFlags = \"gim\" + (parser.options.ecmaVersion >= 6 ? \"uy\" : \"\") + (parser.options.ecmaVersion >= 9 ? \"s\" : \"\");\n this.source = \"\";\n this.flags = \"\";\n this.start = 0;\n this.switchU = false;\n this.switchN = false;\n this.pos = 0;\n this.lastIntValue = 0;\n this.lastStringValue = \"\";\n this.lastAssertionIsQuantifiable = false;\n this.numCapturingParens = 0;\n this.maxBackReference = 0;\n this.groupNames = [];\n this.backReferenceNames = [];\n};\n\nRegExpValidationState.prototype.reset = function reset (start, pattern, flags) {\n var unicode = flags.indexOf(\"u\") !== -1;\n this.start = start | 0;\n this.source = pattern + \"\";\n this.flags = flags;\n this.switchU = unicode && this.parser.options.ecmaVersion >= 6;\n this.switchN = unicode && this.parser.options.ecmaVersion >= 9;\n};\n\nRegExpValidationState.prototype.raise = function raise (message) {\n this.parser.raiseRecoverable(this.start, (\"Invalid regular expression: /\" + (this.source) + \"/: \" + message));\n};\n\n// If u flag is given, this returns the code point at the index (it combines a surrogate pair).\n// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).\nRegExpValidationState.prototype.at = function at (i) {\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return -1\n }\n var c = s.charCodeAt(i);\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return c\n }\n return (c << 10) + s.charCodeAt(i + 1) - 0x35FDC00\n};\n\nRegExpValidationState.prototype.nextIndex = function nextIndex (i) {\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return l\n }\n var c = s.charCodeAt(i);\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return i + 1\n }\n return i + 2\n};\n\nRegExpValidationState.prototype.current = function current () {\n return this.at(this.pos)\n};\n\nRegExpValidationState.prototype.lookahead = function lookahead () {\n return this.at(this.nextIndex(this.pos))\n};\n\nRegExpValidationState.prototype.advance = function advance () {\n this.pos = this.nextIndex(this.pos);\n};\n\nRegExpValidationState.prototype.eat = function eat (ch) {\n if (this.current() === ch) {\n this.advance();\n return true\n }\n return false\n};\n\nfunction codePointToString$1(ch) {\n if (ch <= 0xFFFF) { return String.fromCharCode(ch) }\n ch -= 0x10000;\n return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)\n}\n\n/**\n * Validate the flags part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$9.validateRegExpFlags = function(state) {\n var this$1 = this;\n\n var validFlags = state.validFlags;\n var flags = state.flags;\n\n for (var i = 0; i < flags.length; i++) {\n var flag = flags.charAt(i);\n if (validFlags.indexOf(flag) === -1) {\n this$1.raise(state.start, \"Invalid regular expression flag\");\n }\n if (flags.indexOf(flag, i + 1) > -1) {\n this$1.raise(state.start, \"Duplicate regular expression flag\");\n }\n }\n};\n\n/**\n * Validate the pattern part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$9.validateRegExpPattern = function(state) {\n this.regexp_pattern(state);\n\n // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of\n // parsing contains a |GroupName|, reparse with the goal symbol\n // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*\n // exception if _P_ did not conform to the grammar, if any elements of _P_\n // were not matched by the parse, or if any Early Error conditions exist.\n if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {\n state.switchN = true;\n this.regexp_pattern(state);\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\npp$9.regexp_pattern = function(state) {\n state.pos = 0;\n state.lastIntValue = 0;\n state.lastStringValue = \"\";\n state.lastAssertionIsQuantifiable = false;\n state.numCapturingParens = 0;\n state.maxBackReference = 0;\n state.groupNames.length = 0;\n state.backReferenceNames.length = 0;\n\n this.regexp_disjunction(state);\n\n if (state.pos !== state.source.length) {\n // Make the same messages as V8.\n if (state.eat(0x29 /* ) */)) {\n state.raise(\"Unmatched ')'\");\n }\n if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n }\n if (state.maxBackReference > state.numCapturingParens) {\n state.raise(\"Invalid escape\");\n }\n for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {\n var name = list[i];\n\n if (state.groupNames.indexOf(name) === -1) {\n state.raise(\"Invalid named capture referenced\");\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\npp$9.regexp_disjunction = function(state) {\n var this$1 = this;\n\n this.regexp_alternative(state);\n while (state.eat(0x7C /* | */)) {\n this$1.regexp_alternative(state);\n }\n\n // Make the same message as V8.\n if (this.regexp_eatQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n if (state.eat(0x7B /* { */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\npp$9.regexp_alternative = function(state) {\n while (state.pos < state.source.length && this.regexp_eatTerm(state))\n { }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term\npp$9.regexp_eatTerm = function(state) {\n if (this.regexp_eatAssertion(state)) {\n // Handle `QuantifiableAssertion Quantifier` alternative.\n // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion\n // is a QuantifiableAssertion.\n if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {\n // Make the same message as V8.\n if (state.switchU) {\n state.raise(\"Invalid quantifier\");\n }\n }\n return true\n }\n\n if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {\n this.regexp_eatQuantifier(state);\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion\npp$9.regexp_eatAssertion = function(state) {\n var start = state.pos;\n state.lastAssertionIsQuantifiable = false;\n\n // ^, $\n if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {\n return true\n }\n\n // \\b \\B\n if (state.eat(0x5C /* \\ */)) {\n if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {\n return true\n }\n state.pos = start;\n }\n\n // Lookahead / Lookbehind\n if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {\n var lookbehind = false;\n if (this.options.ecmaVersion >= 9) {\n lookbehind = state.eat(0x3C /* < */);\n }\n if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {\n this.regexp_disjunction(state);\n if (!state.eat(0x29 /* ) */)) {\n state.raise(\"Unterminated group\");\n }\n state.lastAssertionIsQuantifiable = !lookbehind;\n return true\n }\n }\n\n state.pos = start;\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\npp$9.regexp_eatQuantifier = function(state, noError) {\n if ( noError === void 0 ) noError = false;\n\n if (this.regexp_eatQuantifierPrefix(state, noError)) {\n state.eat(0x3F /* ? */);\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\npp$9.regexp_eatQuantifierPrefix = function(state, noError) {\n return (\n state.eat(0x2A /* * */) ||\n state.eat(0x2B /* + */) ||\n state.eat(0x3F /* ? */) ||\n this.regexp_eatBracedQuantifier(state, noError)\n )\n};\npp$9.regexp_eatBracedQuantifier = function(state, noError) {\n var start = state.pos;\n if (state.eat(0x7B /* { */)) {\n var min = 0, max = -1;\n if (this.regexp_eatDecimalDigits(state)) {\n min = state.lastIntValue;\n if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {\n max = state.lastIntValue;\n }\n if (state.eat(0x7D /* } */)) {\n // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term\n if (max !== -1 && max < min && !noError) {\n state.raise(\"numbers out of order in {} quantifier\");\n }\n return true\n }\n }\n if (state.switchU && !noError) {\n state.raise(\"Incomplete quantifier\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\npp$9.regexp_eatAtom = function(state) {\n return (\n this.regexp_eatPatternCharacters(state) ||\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state)\n )\n};\npp$9.regexp_eatReverseSolidusAtomEscape = function(state) {\n var start = state.pos;\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatAtomEscape(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$9.regexp_eatUncapturingGroup = function(state) {\n var start = state.pos;\n if (state.eat(0x28 /* ( */)) {\n if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n return true\n }\n state.raise(\"Unterminated group\");\n }\n state.pos = start;\n }\n return false\n};\npp$9.regexp_eatCapturingGroup = function(state) {\n if (state.eat(0x28 /* ( */)) {\n if (this.options.ecmaVersion >= 9) {\n this.regexp_groupSpecifier(state);\n } else if (state.current() === 0x3F /* ? */) {\n state.raise(\"Invalid group\");\n }\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n state.numCapturingParens += 1;\n return true\n }\n state.raise(\"Unterminated group\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom\npp$9.regexp_eatExtendedAtom = function(state) {\n return (\n state.eat(0x2E /* . */) ||\n this.regexp_eatReverseSolidusAtomEscape(state) ||\n this.regexp_eatCharacterClass(state) ||\n this.regexp_eatUncapturingGroup(state) ||\n this.regexp_eatCapturingGroup(state) ||\n this.regexp_eatInvalidBracedQuantifier(state) ||\n this.regexp_eatExtendedPatternCharacter(state)\n )\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier\npp$9.regexp_eatInvalidBracedQuantifier = function(state) {\n if (this.regexp_eatBracedQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\npp$9.regexp_eatSyntaxCharacter = function(state) {\n var ch = state.current();\n if (isSyntaxCharacter(ch)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n return false\n};\nfunction isSyntaxCharacter(ch) {\n return (\n ch === 0x24 /* $ */ ||\n ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||\n ch === 0x2E /* . */ ||\n ch === 0x3F /* ? */ ||\n ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||\n ch >= 0x7B /* { */ && ch <= 0x7D /* } */\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\n// But eat eager.\npp$9.regexp_eatPatternCharacters = function(state) {\n var start = state.pos;\n var ch = 0;\n while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {\n state.advance();\n }\n return state.pos !== start\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter\npp$9.regexp_eatExtendedPatternCharacter = function(state) {\n var ch = state.current();\n if (\n ch !== -1 &&\n ch !== 0x24 /* $ */ &&\n !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&\n ch !== 0x2E /* . */ &&\n ch !== 0x3F /* ? */ &&\n ch !== 0x5B /* [ */ &&\n ch !== 0x5E /* ^ */ &&\n ch !== 0x7C /* | */\n ) {\n state.advance();\n return true\n }\n return false\n};\n\n// GroupSpecifier[U] ::\n// [empty]\n// `?` GroupName[?U]\npp$9.regexp_groupSpecifier = function(state) {\n if (state.eat(0x3F /* ? */)) {\n if (this.regexp_eatGroupName(state)) {\n if (state.groupNames.indexOf(state.lastStringValue) !== -1) {\n state.raise(\"Duplicate capture group name\");\n }\n state.groupNames.push(state.lastStringValue);\n return\n }\n state.raise(\"Invalid group\");\n }\n};\n\n// GroupName[U] ::\n// `<` RegExpIdentifierName[?U] `>`\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$9.regexp_eatGroupName = function(state) {\n state.lastStringValue = \"\";\n if (state.eat(0x3C /* < */)) {\n if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {\n return true\n }\n state.raise(\"Invalid capture group name\");\n }\n return false\n};\n\n// RegExpIdentifierName[U] ::\n// RegExpIdentifierStart[?U]\n// RegExpIdentifierName[?U] RegExpIdentifierPart[?U]\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$9.regexp_eatRegExpIdentifierName = function(state) {\n state.lastStringValue = \"\";\n if (this.regexp_eatRegExpIdentifierStart(state)) {\n state.lastStringValue += codePointToString$1(state.lastIntValue);\n while (this.regexp_eatRegExpIdentifierPart(state)) {\n state.lastStringValue += codePointToString$1(state.lastIntValue);\n }\n return true\n }\n return false\n};\n\n// RegExpIdentifierStart[U] ::\n// UnicodeIDStart\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\npp$9.regexp_eatRegExpIdentifierStart = function(state) {\n var start = state.pos;\n var ch = state.current();\n state.advance();\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierStart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierStart(ch) {\n return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */\n}\n\n// RegExpIdentifierPart[U] ::\n// UnicodeIDContinue\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\n// \n// \npp$9.regexp_eatRegExpIdentifierPart = function(state) {\n var start = state.pos;\n var ch = state.current();\n state.advance();\n\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierPart(ch)) {\n state.lastIntValue = ch;\n return true\n }\n\n state.pos = start;\n return false\n};\nfunction isRegExpIdentifierPart(ch) {\n return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape\npp$9.regexp_eatAtomEscape = function(state) {\n if (\n this.regexp_eatBackReference(state) ||\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state) ||\n (state.switchN && this.regexp_eatKGroupName(state))\n ) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n if (state.current() === 0x63 /* c */) {\n state.raise(\"Invalid unicode escape\");\n }\n state.raise(\"Invalid escape\");\n }\n return false\n};\npp$9.regexp_eatBackReference = function(state) {\n var start = state.pos;\n if (this.regexp_eatDecimalEscape(state)) {\n var n = state.lastIntValue;\n if (state.switchU) {\n // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape\n if (n > state.maxBackReference) {\n state.maxBackReference = n;\n }\n return true\n }\n if (n <= state.numCapturingParens) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$9.regexp_eatKGroupName = function(state) {\n if (state.eat(0x6B /* k */)) {\n if (this.regexp_eatGroupName(state)) {\n state.backReferenceNames.push(state.lastStringValue);\n return true\n }\n state.raise(\"Invalid named reference\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape\npp$9.regexp_eatCharacterEscape = function(state) {\n return (\n this.regexp_eatControlEscape(state) ||\n this.regexp_eatCControlLetter(state) ||\n this.regexp_eatZero(state) ||\n this.regexp_eatHexEscapeSequence(state) ||\n this.regexp_eatRegExpUnicodeEscapeSequence(state) ||\n (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||\n this.regexp_eatIdentityEscape(state)\n )\n};\npp$9.regexp_eatCControlLetter = function(state) {\n var start = state.pos;\n if (state.eat(0x63 /* c */)) {\n if (this.regexp_eatControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n return false\n};\npp$9.regexp_eatZero = function(state) {\n if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {\n state.lastIntValue = 0;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\npp$9.regexp_eatControlEscape = function(state) {\n var ch = state.current();\n if (ch === 0x74 /* t */) {\n state.lastIntValue = 0x09; /* \\t */\n state.advance();\n return true\n }\n if (ch === 0x6E /* n */) {\n state.lastIntValue = 0x0A; /* \\n */\n state.advance();\n return true\n }\n if (ch === 0x76 /* v */) {\n state.lastIntValue = 0x0B; /* \\v */\n state.advance();\n return true\n }\n if (ch === 0x66 /* f */) {\n state.lastIntValue = 0x0C; /* \\f */\n state.advance();\n return true\n }\n if (ch === 0x72 /* r */) {\n state.lastIntValue = 0x0D; /* \\r */\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\npp$9.regexp_eatControlLetter = function(state) {\n var ch = state.current();\n if (isControlLetter(ch)) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\nfunction isControlLetter(ch) {\n return (\n (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||\n (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)\n )\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\npp$9.regexp_eatRegExpUnicodeEscapeSequence = function(state) {\n var start = state.pos;\n\n if (state.eat(0x75 /* u */)) {\n if (this.regexp_eatFixedHexDigits(state, 4)) {\n var lead = state.lastIntValue;\n if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) {\n var leadSurrogateEnd = state.pos;\n if (state.eat(0x5C /* \\ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {\n var trail = state.lastIntValue;\n if (trail >= 0xDC00 && trail <= 0xDFFF) {\n state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\n return true\n }\n }\n state.pos = leadSurrogateEnd;\n state.lastIntValue = lead;\n }\n return true\n }\n if (\n state.switchU &&\n state.eat(0x7B /* { */) &&\n this.regexp_eatHexDigits(state) &&\n state.eat(0x7D /* } */) &&\n isValidUnicode(state.lastIntValue)\n ) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid unicode escape\");\n }\n state.pos = start;\n }\n\n return false\n};\nfunction isValidUnicode(ch) {\n return ch >= 0 && ch <= 0x10FFFF\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape\npp$9.regexp_eatIdentityEscape = function(state) {\n if (state.switchU) {\n if (this.regexp_eatSyntaxCharacter(state)) {\n return true\n }\n if (state.eat(0x2F /* / */)) {\n state.lastIntValue = 0x2F; /* / */\n return true\n }\n return false\n }\n\n var ch = state.current();\n if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\npp$9.regexp_eatDecimalEscape = function(state) {\n state.lastIntValue = 0;\n var ch = state.current();\n if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {\n do {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\npp$9.regexp_eatCharacterClassEscape = function(state) {\n var ch = state.current();\n\n if (isCharacterClassEscape(ch)) {\n state.lastIntValue = -1;\n state.advance();\n return true\n }\n\n if (\n state.switchU &&\n this.options.ecmaVersion >= 9 &&\n (ch === 0x50 /* P */ || ch === 0x70 /* p */)\n ) {\n state.lastIntValue = -1;\n state.advance();\n if (\n state.eat(0x7B /* { */) &&\n this.regexp_eatUnicodePropertyValueExpression(state) &&\n state.eat(0x7D /* } */)\n ) {\n return true\n }\n state.raise(\"Invalid property name\");\n }\n\n return false\n};\nfunction isCharacterClassEscape(ch) {\n return (\n ch === 0x64 /* d */ ||\n ch === 0x44 /* D */ ||\n ch === 0x73 /* s */ ||\n ch === 0x53 /* S */ ||\n ch === 0x77 /* w */ ||\n ch === 0x57 /* W */\n )\n}\n\n// UnicodePropertyValueExpression ::\n// UnicodePropertyName `=` UnicodePropertyValue\n// LoneUnicodePropertyNameOrValue\npp$9.regexp_eatUnicodePropertyValueExpression = function(state) {\n var start = state.pos;\n\n // UnicodePropertyName `=` UnicodePropertyValue\n if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {\n var name = state.lastStringValue;\n if (this.regexp_eatUnicodePropertyValue(state)) {\n var value = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameAndValue(state, name, value);\n return true\n }\n }\n state.pos = start;\n\n // LoneUnicodePropertyNameOrValue\n if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {\n var nameOrValue = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);\n return true\n }\n return false\n};\npp$9.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {\n if (!data.hasOwnProperty(name) || data[name].indexOf(value) === -1) {\n state.raise(\"Invalid property name\");\n }\n};\npp$9.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {\n if (data.$LONE.indexOf(nameOrValue) === -1) {\n state.raise(\"Invalid property name\");\n }\n};\n\n// UnicodePropertyName ::\n// UnicodePropertyNameCharacters\npp$9.regexp_eatUnicodePropertyName = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyNameCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString$1(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\nfunction isUnicodePropertyNameCharacter(ch) {\n return isControlLetter(ch) || ch === 0x5F /* _ */\n}\n\n// UnicodePropertyValue ::\n// UnicodePropertyValueCharacters\npp$9.regexp_eatUnicodePropertyValue = function(state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyValueCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString$1(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\"\n};\nfunction isUnicodePropertyValueCharacter(ch) {\n return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)\n}\n\n// LoneUnicodePropertyNameOrValue ::\n// UnicodePropertyValueCharacters\npp$9.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {\n return this.regexp_eatUnicodePropertyValue(state)\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\npp$9.regexp_eatCharacterClass = function(state) {\n if (state.eat(0x5B /* [ */)) {\n state.eat(0x5E /* ^ */);\n this.regexp_classRanges(state);\n if (state.eat(0x5D /* [ */)) {\n return true\n }\n // Unreachable since it threw \"unterminated regular expression\" error before.\n state.raise(\"Unterminated character class\");\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\npp$9.regexp_classRanges = function(state) {\n var this$1 = this;\n\n while (this.regexp_eatClassAtom(state)) {\n var left = state.lastIntValue;\n if (state.eat(0x2D /* - */) && this$1.regexp_eatClassAtom(state)) {\n var right = state.lastIntValue;\n if (state.switchU && (left === -1 || right === -1)) {\n state.raise(\"Invalid character class\");\n }\n if (left !== -1 && right !== -1 && left > right) {\n state.raise(\"Range out of order in character class\");\n }\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\npp$9.regexp_eatClassAtom = function(state) {\n var start = state.pos;\n\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatClassEscape(state)) {\n return true\n }\n if (state.switchU) {\n // Make the same message as V8.\n var ch$1 = state.current();\n if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {\n state.raise(\"Invalid class escape\");\n }\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n\n var ch = state.current();\n if (ch !== 0x5D /* [ */) {\n state.lastIntValue = ch;\n state.advance();\n return true\n }\n\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape\npp$9.regexp_eatClassEscape = function(state) {\n var start = state.pos;\n\n if (state.eat(0x62 /* b */)) {\n state.lastIntValue = 0x08; /* */\n return true\n }\n\n if (state.switchU && state.eat(0x2D /* - */)) {\n state.lastIntValue = 0x2D; /* - */\n return true\n }\n\n if (!state.switchU && state.eat(0x63 /* c */)) {\n if (this.regexp_eatClassControlLetter(state)) {\n return true\n }\n state.pos = start;\n }\n\n return (\n this.regexp_eatCharacterClassEscape(state) ||\n this.regexp_eatCharacterEscape(state)\n )\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter\npp$9.regexp_eatClassControlLetter = function(state) {\n var ch = state.current();\n if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$9.regexp_eatHexEscapeSequence = function(state) {\n var start = state.pos;\n if (state.eat(0x78 /* x */)) {\n if (this.regexp_eatFixedHexDigits(state, 2)) {\n return true\n }\n if (state.switchU) {\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\npp$9.regexp_eatDecimalDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isDecimalDigit(ch = state.current())) {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isDecimalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\npp$9.regexp_eatHexDigits = function(state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isHexDigit(ch = state.current())) {\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return state.pos !== start\n};\nfunction isHexDigit(ch) {\n return (\n (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||\n (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||\n (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)\n )\n}\nfunction hexToInt(ch) {\n if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {\n return 10 + (ch - 0x41 /* A */)\n }\n if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {\n return 10 + (ch - 0x61 /* a */)\n }\n return ch - 0x30 /* 0 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence\n// Allows only 0-377(octal) i.e. 0-255(decimal).\npp$9.regexp_eatLegacyOctalEscapeSequence = function(state) {\n if (this.regexp_eatOctalDigit(state)) {\n var n1 = state.lastIntValue;\n if (this.regexp_eatOctalDigit(state)) {\n var n2 = state.lastIntValue;\n if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {\n state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;\n } else {\n state.lastIntValue = n1 * 8 + n2;\n }\n } else {\n state.lastIntValue = n1;\n }\n return true\n }\n return false\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\npp$9.regexp_eatOctalDigit = function(state) {\n var ch = state.current();\n if (isOctalDigit(ch)) {\n state.lastIntValue = ch - 0x30; /* 0 */\n state.advance();\n return true\n }\n state.lastIntValue = 0;\n return false\n};\nfunction isOctalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\n// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$9.regexp_eatFixedHexDigits = function(state, length) {\n var start = state.pos;\n state.lastIntValue = 0;\n for (var i = 0; i < length; ++i) {\n var ch = state.current();\n if (!isHexDigit(ch)) {\n state.pos = start;\n return false\n }\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return true\n};\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nvar Token = function Token(p) {\n this.type = p.type;\n this.value = p.value;\n this.start = p.start;\n this.end = p.end;\n if (p.options.locations)\n { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); }\n if (p.options.ranges)\n { this.range = [p.start, p.end]; }\n};\n\n// ## Tokenizer\n\nvar pp$8 = Parser.prototype;\n\n// Move to the next token\n\npp$8.next = function() {\n if (this.options.onToken)\n { this.options.onToken(new Token(this)); }\n\n this.lastTokEnd = this.end;\n this.lastTokStart = this.start;\n this.lastTokEndLoc = this.endLoc;\n this.lastTokStartLoc = this.startLoc;\n this.nextToken();\n};\n\npp$8.getToken = function() {\n this.next();\n return new Token(this)\n};\n\n// If we're in an ES6 environment, make parsers iterable\nif (typeof Symbol !== \"undefined\")\n { pp$8[Symbol.iterator] = function() {\n var this$1 = this;\n\n return {\n next: function () {\n var token = this$1.getToken();\n return {\n done: token.type === types.eof,\n value: token\n }\n }\n }\n }; }\n\n// Toggle strict mode. Re-reads the next number or string to please\n// pedantic tests (`\"use strict\"; 010;` should fail).\n\npp$8.curContext = function() {\n return this.context[this.context.length - 1]\n};\n\n// Read a single token, updating the parser object's token-related\n// properties.\n\npp$8.nextToken = function() {\n var curContext = this.curContext();\n if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }\n\n this.start = this.pos;\n if (this.options.locations) { this.startLoc = this.curPosition(); }\n if (this.pos >= this.input.length) { return this.finishToken(types.eof) }\n\n if (curContext.override) { return curContext.override(this) }\n else { this.readToken(this.fullCharCodeAtPos()); }\n};\n\npp$8.readToken = function(code) {\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\n // identifiers, so '\\' also dispatches to that.\n if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\\' */)\n { return this.readWord() }\n\n return this.getTokenFromCode(code)\n};\n\npp$8.fullCharCodeAtPos = function() {\n var code = this.input.charCodeAt(this.pos);\n if (code <= 0xd7ff || code >= 0xe000) { return code }\n var next = this.input.charCodeAt(this.pos + 1);\n return (code << 10) + next - 0x35fdc00\n};\n\npp$8.skipBlockComment = function() {\n var this$1 = this;\n\n var startLoc = this.options.onComment && this.curPosition();\n var start = this.pos, end = this.input.indexOf(\"*/\", this.pos += 2);\n if (end === -1) { this.raise(this.pos - 2, \"Unterminated comment\"); }\n this.pos = end + 2;\n if (this.options.locations) {\n lineBreakG.lastIndex = start;\n var match;\n while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {\n ++this$1.curLine;\n this$1.lineStart = match.index + match[0].length;\n }\n }\n if (this.options.onComment)\n { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\npp$8.skipLineComment = function(startSkip) {\n var this$1 = this;\n\n var start = this.pos;\n var startLoc = this.options.onComment && this.curPosition();\n var ch = this.input.charCodeAt(this.pos += startSkip);\n while (this.pos < this.input.length && !isNewLine(ch)) {\n ch = this$1.input.charCodeAt(++this$1.pos);\n }\n if (this.options.onComment)\n { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,\n startLoc, this.curPosition()); }\n};\n\n// Called at the start of the parse and after every token. Skips\n// whitespace and comments, and.\n\npp$8.skipSpace = function() {\n var this$1 = this;\n\n loop: while (this.pos < this.input.length) {\n var ch = this$1.input.charCodeAt(this$1.pos);\n switch (ch) {\n case 32: case 160: // ' '\n ++this$1.pos;\n break\n case 13:\n if (this$1.input.charCodeAt(this$1.pos + 1) === 10) {\n ++this$1.pos;\n }\n case 10: case 8232: case 8233:\n ++this$1.pos;\n if (this$1.options.locations) {\n ++this$1.curLine;\n this$1.lineStart = this$1.pos;\n }\n break\n case 47: // '/'\n switch (this$1.input.charCodeAt(this$1.pos + 1)) {\n case 42: // '*'\n this$1.skipBlockComment();\n break\n case 47:\n this$1.skipLineComment(2);\n break\n default:\n break loop\n }\n break\n default:\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n ++this$1.pos;\n } else {\n break loop\n }\n }\n }\n};\n\n// Called at the end of every token. Sets `end`, `val`, and\n// maintains `context` and `exprAllowed`, and skips the space after\n// the token, so that the next one's `start` will point at the\n// right position.\n\npp$8.finishToken = function(type, val) {\n this.end = this.pos;\n if (this.options.locations) { this.endLoc = this.curPosition(); }\n var prevType = this.type;\n this.type = type;\n this.value = val;\n\n this.updateContext(prevType);\n};\n\n// ### Token reading\n\n// This is the function that is called to fetch the next token. It\n// is somewhat obscure, because it works in character codes rather\n// than characters, and because operator parsing has been inlined\n// into it.\n//\n// All in the name of speed.\n//\npp$8.readToken_dot = function() {\n var next = this.input.charCodeAt(this.pos + 1);\n if (next >= 48 && next <= 57) { return this.readNumber(true) }\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'\n this.pos += 3;\n return this.finishToken(types.ellipsis)\n } else {\n ++this.pos;\n return this.finishToken(types.dot)\n }\n};\n\npp$8.readToken_slash = function() { // '/'\n var next = this.input.charCodeAt(this.pos + 1);\n if (this.exprAllowed) { ++this.pos; return this.readRegexp() }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.slash, 1)\n};\n\npp$8.readToken_mult_modulo_exp = function(code) { // '%*'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n var tokentype = code === 42 ? types.star : types.modulo;\n\n // exponentiation operator ** and **=\n if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {\n ++size;\n tokentype = types.starstar;\n next = this.input.charCodeAt(this.pos + 2);\n }\n\n if (next === 61) { return this.finishOp(types.assign, size + 1) }\n return this.finishOp(tokentype, size)\n};\n\npp$8.readToken_pipe_amp = function(code) { // '|&'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) { return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2) }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1)\n};\n\npp$8.readToken_caret = function() { // '^'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.bitwiseXOR, 1)\n};\n\npp$8.readToken_plus_min = function(code) { // '+-'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&\n (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {\n // A `-->` line comment\n this.skipLineComment(3);\n this.skipSpace();\n return this.nextToken()\n }\n return this.finishOp(types.incDec, 2)\n }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.plusMin, 1)\n};\n\npp$8.readToken_lt_gt = function(code) { // '<>'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;\n if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }\n return this.finishOp(types.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment\n this.skipLineComment(3);\n this.skipSpace();\n return this.nextToken()\n }\n return this.finishOp(types.incDec, 2)\n }\n if (next === 61) { return this.finishOp(types.assign, 2) }\n return this.finishOp(types.plusMin, 1)\n};\n\npp$8.readToken_lt_gt = function(code) { // '<>'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;\n if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }\n return this.finishOp(types.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `