require = function () {
return function e(t, n, r) {
function i(o, a) {
if (!n[o]) {
if (!t[o]) {
var u = 'function' == typeof require && require;
if (!a && u) return u(o, !0);
if (s) return s(o, !0);
var l = new Error('Cannot find module \'' + o + '\'');
throw l.code = 'MODULE_NOT_FOUND',
l
}
var c = n[o] = {
exports: {
}
};
t[o][0].call(c.exports, function (e) {
return i(t[o][1][e] || e)
}, c, c.exports, e, t, n, r)
}
return n[o].exports
}
for (var s = 'function' == typeof require && require, o = 0; o < r.length; o++) i(r[o]);
return i
}
}() ({
1: [
function (e, t, n) {
'use strict';
var r = e('acorn'),
i = e('acorn/dist/walk');
function s(e) {
return 'FunctionExpression' === e.type || 'FunctionDeclaration' === e.type || 'ArrowFunctionExpression' === e.type || 'Program' === e.type
}
function o(e) {
return 'BlockStatement' === e.type || s(e)
}
function a(e) {
return 'FunctionExpression' === e.type || 'FunctionDeclaration' === e.type
}
function u(e) {
return 'FunctionExpression' === e.type || 'FunctionDeclaration' === e.type
}
function l(e) {
return r.parse(e, {
allowReturnOutsideFunction: !0,
allowImportExportEverywhere: !0,
allowHashBang: !0
})
}
t.exports = function (e) {
var t,
n = [
];
t = 'string' == typeof e ? l(e) : e;
if (!t || 'object' != typeof t || 'Program' !== t.type) throw new TypeError('Source must be either a string of JavaScript or an acorn AST');
var r = function (e) {
var t = e;
t.locals = t.locals || {
},
e.params.forEach(function (e) {
c(e, t)
}),
e.id && (t.locals[e.id.name] = !0)
},
c = function (e, t) {
switch (e.type) {
case 'Identifier':
t.locals[e.name] = !0;
break;
case 'ObjectPattern':
e.properties.forEach(function (e) {
c(e.value, t)
});
break;
case 'ArrayPattern':
e.elements.forEach(function (e) {
e && c(e, t)
});
break;
case 'RestElement':
c(e.argument, t);
break;
case 'AssignmentPattern':
c(e.left, t);
break;
default:
throw new Error('Unrecognized pattern type: ' + e.type)
}
},
p = function (e, n) {
t.locals = t.locals || {
},
t.locals[e.local.name] = !0
};
function h(e, t) {
var r = e.name;
if ('undefined' !== r) {
for (var i = 0; i < t.length; i++) {
if ('arguments' === r && a(t[i])) return;
if (t[i].locals && r in t[i].locals) return
}
e.parents = t,
n.push(e)
}
}
i.ancestor(t, {
VariableDeclaration: function (e, t) {
for (var n = null, r = t.length - 1; r >= 0 && null === n; r--) ('var' === e.kind ? s(t[r]) : o(t[r])) && (n = t[r]);
n.locals = n.locals || {
},
e.declarations.forEach(function (e) {
c(e.id, n)
})
},
FunctionDeclaration: function (e, t) {
for (var n = null, i = t.length - 2; i >= 0 && null === n; i--) s(t[i]) && (n = t[i]);
n.locals = n.locals || {
},
n.locals[e.id.name] = !0,
r(e)
},
Function: r,
ClassDeclaration: function (e, t) {
for (var n = null, r = t.length - 2; r >= 0 && null === n; r--) s(t[r]) && (n = t[r]);
n.locals = n.locals || {
},
n.locals[e.id.name] = !0
},
TryStatement: function (e) {
null !== e.handler && (e.handler.locals = e.handler.locals || {
}, e.handler.locals[e.handler.param.name] = !0)
},
ImportDefaultSpecifier: p,
ImportSpecifier: p,
ImportNamespaceSpecifier: p
}),
i.ancestor(t, {
VariablePattern: h,
Identifier: h,
ThisExpression: function (e, t) {
for (var r = 0; r < t.length; r++) if (u(t[r])) return;
e.parents = t,
n.push(e)
}
});
var f = {
};
return n.forEach(function (e) {
var t = 'ThisExpression' === e.type ? 'this' : e.name;
f[t] = f[t] || [
],
f[t].push(e)
}),
Object.keys(f).sort().map(function (e) {
return {
name: e,
nodes: f[e]
}
})
},
t.exports.parse = l
},
{
acorn: 2,
'acorn/dist/walk': 3
}
],
2: [
function (e, t, n) {
var r,
i;
r = this,
i = function (e) {
'use strict';
var t = {
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'
},
n = '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',
r = {
5: n,
6: n + ' const class extends export import super'
},
i = 'ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ',
s = '·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_',
o = new RegExp('[' + i + ']'),
a = new RegExp('[' + i + s + ']');
i = s = 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,
17,
26,
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,
26,
45,
28,
4,
28,
36,
7,
2,
27,
28,
53,
11,
21,
11,
18,
14,
17,
111,
72,
56,
50,
14,
50,
785,
52,
76,
44,
33,
24,
27,
35,
42,
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,
25,
391,
63,
32,
0,
449,
56,
264,
8,
2,
36,
18,
0,
50,
29,
881,
921,
103,
110,
18,
195,
2749,
1070,
4050,
582,
8634,
568,
8,
30,
114,
29,
19,
47,
17,
3,
32,
20,
6,
18,
881,
68,
12,
0,
67,
12,
65,
0,
32,
6124,
20,
754,
9486,
1,
3071,
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,
10591,
541
],
l = [
509,
0,
227,
0,
150,
4,
294,
9,
1368,
2,
2,
1,
6,
3,
41,
2,
5,
0,
166,
1,
1306,
2,
54,
14,
32,
9,
16,
3,
46,
10,
54,
9,
7,
2,
37,
13,
2,
9,
52,
0,
13,
2,
49,
13,
10,
2,
4,
9,
83,
11,
7,
0,
161,
11,
6,
9,
7,
3,
57,
0,
2,
6,
3,
1,
3,
2,
10,
0,
11,
1,
3,
6,
4,
4,
193,
17,
10,
9,
87,
19,
13,
9,
214,
6,
3,
8,
28,
1,
83,
16,
16,
9,
82,
12,
9,
9,
84,
14,
5,
9,
423,
9,
838,
7,
2,
7,
17,
9,
57,
21,
2,
13,
19882,
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 c(e, t) {
for (var n = 65536, r = 0; r < t.length; r += 2) {
if ((n += t[r]) > e) return !1;
if ((n += t[r + 1]) >= e) return !0
}
}
function p(e, t) {
return e < 65 ? 36 === e : e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && o.test(String.fromCharCode(e)) : !1 !== t && c(e, u)))
}
function h(e, t) {
return e < 48 ? 36 === e : e < 58 || !(e < 65) && (e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && a.test(String.fromCharCode(e)) : !1 !== t && (c(e, u) || c(e, l)))))
}
var f = function (e, t) {
void 0 === t && (t = {
}),
this.label = e,
this.keyword = t.keyword,
this.beforeExpr = !!t.beforeExpr,
this.startsExpr = !!t.startsExpr,
this.isLoop = !!t.isLoop,
this.isAssign = !!t.isAssign,
this.prefix = !!t.prefix,
this.postfix = !!t.postfix,
this.binop = t.binop || null,
this.updateContext = null
};
function d(e, t) {
return new f(e, {
beforeExpr: !0,
binop: t
})
}
var m = {
beforeExpr: !0
},
g = {
startsExpr: !0
},
y = {
};
function v(e, t) {
return void 0 === t && (t = {
}),
t.keyword = e,
y[e] = new f(e, t)
}
var b = {
num: new f('num', g),
regexp: new f('regexp', g),
string: new f('string', g),
name: new f('name', g),
eof: new f('eof'),
bracketL: new f('[', {
beforeExpr: !0,
startsExpr: !0
}),
bracketR: new f(']'),
braceL: new f('{', {
beforeExpr: !0,
startsExpr: !0
}),
braceR: new f('}'),
parenL: new f('(', {
beforeExpr: !0,
startsExpr: !0
}),
parenR: new f(')'),
comma: new f(',', m),
semi: new f(';', m),
colon: new f(':', m),
dot: new f('.'),
question: new f('?', m),
arrow: new f('=>', m),
template: new f('template'),
ellipsis: new f('...', m),
backQuote: new f('`', g),
dollarBraceL: new f('${', {
beforeExpr: !0,
startsExpr: !0
}),
eq: new f('=', {
beforeExpr: !0,
isAssign: !0
}),
assign: new f('_=', {
beforeExpr: !0,
isAssign: !0
}),
incDec: new f('++/--', {
prefix: !0,
postfix: !0,
startsExpr: !0
}),
prefix: new f('prefix', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
logicalOR: d('||', 1),
logicalAND: d('&&', 2),
bitwiseOR: d('|', 3),
bitwiseXOR: d('^', 4),
bitwiseAND: d('&', 5),
equality: d('==/!=', 6),
relational: d('>', 7),
bitShift: d('<>>', 8),
plusMin: new f('+/-', {
beforeExpr: !0,
binop: 9,
prefix: !0,
startsExpr: !0
}),
modulo: d('%', 10),
star: d('*', 10),
slash: d('/', 10),
starstar: new f('**', {
beforeExpr: !0
}),
_break: v('break'),
_case: v('case', m),
_catch: v('catch'),
_continue: v('continue'),
_debugger: v('debugger'),
_default: v('default', m),
_do: v('do', {
isLoop: !0,
beforeExpr: !0
}),
_else: v('else', m),
_finally: v('finally'),
_for: v('for', {
isLoop: !0
}),
_function: v('function', g),
_if: v('if'),
_return: v('return', m),
_switch: v('switch'),
_throw: v('throw', m),
_try: v('try'),
_var: v('var'),
_const: v('const'),
_while: v('while', {
isLoop: !0
}),
_with: v('with'),
_new: v('new', {
beforeExpr: !0,
startsExpr: !0
}),
_this: v('this', g),
_super: v('super', g),
_class: v('class'),
_extends: v('extends', m),
_export: v('export'),
_import: v('import'),
_null: v('null', g),
_true: v('true', g),
_false: v('false', g),
_in: v('in', {
beforeExpr: !0,
binop: 7
}),
_instanceof: v('instanceof', {
beforeExpr: !0,
binop: 7
}),
_typeof: v('typeof', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
_void: v('void', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
_delete: v('delete', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
})
},
x = /\r\n?|\n|\u2028|\u2029/,
A = new RegExp(x.source, 'g');
function E(e) {
return 10 === e || 13 === e || 8232 === e || 8233 === e
}
var _ = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,
C = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
function w(e) {
return '[object Array]' === Object.prototype.toString.call(e)
}
function D(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
var k = function (e, t) {
this.line = e,
this.column = t
};
k.prototype.offset = function (e) {
return new k(this.line, this.column + e)
};
var S = function (e, t, n) {
this.start = t,
this.end = n,
null !== e.sourceFile && (this.source = e.sourceFile)
};
function T(e, t) {
for (var n = 1, r = 0; ; ) {
A.lastIndex = r;
var i = A.exec(e);
if (!(i && i.index < t)) return new k(n, t - r);
++n,
r = i.index + i[0].length
}
}
var F = {
ecmaVersion: 7,
sourceType: 'script',
onInsertedSemicolon: null,
onTrailingComma: null,
allowReserved: null,
allowReturnOutsideFunction: !1,
allowImportExportEverywhere: !1,
allowHashBang: !1,
locations: !1,
onToken: null,
onComment: null,
ranges: !1,
program: null,
sourceFile: null,
directSourceFile: null,
preserveParens: !1,
plugins: {
}
};
function O(e) {
var t = {
};
for (var n in F) t[n] = e && D(e, n) ? e[n] : F[n];
if (t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), null == t.allowReserved && (t.allowReserved = t.ecmaVersion < 5), w(t.onToken)) {
var r = t.onToken;
t.onToken = function (e) {
return r.push(e)
}
}
return w(t.onComment) && (t.onComment = function (e, t) {
return function (n, r, i, s, o, a) {
var u = {
type: n ? 'Block' : 'Line',
value: r,
start: i,
end: s
};
e.locations && (u.loc = new S(this, o, a)),
e.ranges && (u.range = [
i,
s
]),
t.push(u)
}
}(t, t.onComment)),
t
}
var B = {
};
function P(e) {
return new RegExp('^(' + e.replace(/ /g, '|') + ')$')
}
var N = function (e, n, i) {
this.options = e = O(e),
this.sourceFile = e.sourceFile,
this.keywords = P(r[e.ecmaVersion >= 6 ? 6 : 5]);
var s = '';
if (!e.allowReserved) {
for (var o = e.ecmaVersion; !(s = t[o]); o--);
'module' == e.sourceType && (s += ' await')
}
this.reservedWords = P(s);
var a = (s ? s + ' ' : '') + t.strict;
this.reservedWordsStrict = P(a),
this.reservedWordsStrictBind = P(a + ' ' + t.strictBind),
this.input = String(n),
this.containsEsc = !1,
this.loadPlugins(e.plugins),
i ? (this.pos = i, this.lineStart = this.input.lastIndexOf('\n', i - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(x).length) : (this.pos = this.lineStart = 0, this.curLine = 1),
this.type = b.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' === e.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 && e.allowHashBang && '#!' === this.input.slice(0, 2) && this.skipLineComment(2)
};
N.prototype.isKeyword = function (e) {
return this.keywords.test(e)
},
N.prototype.isReservedWord = function (e) {
return this.reservedWords.test(e)
},
N.prototype.extend = function (e, t) {
this[e] = t(this[e])
},
N.prototype.loadPlugins = function (e) {
for (var t in e) {
var n = B[t];
if (!n) throw new Error('Plugin \'' + t + '\' not found');
n(this, e[t])
}
},
N.prototype.parse = function () {
var e = this.options.program || this.startNode();
return this.nextToken(),
this.parseTopLevel(e)
};
var R = N.prototype,
L = /^(?:'((?:[^\']|\.)*)'|"((?:[^\"]|\.)*)"|;)/;
R.strictDirective = function (e) {
for (; ; ) {
C.lastIndex = e,
e += C.exec(this.input) [0].length;
var t = L.exec(this.input.slice(e));
if (!t) return !1;
if ('use strict' == (t[1] || t[2])) return !0;
e += t[0].length
}
},
R.eat = function (e) {
return this.type === e && (this.next(), !0)
},
R.isContextual = function (e) {
return this.type === b.name && this.value === e
},
R.eatContextual = function (e) {
return this.value === e && this.eat(b.name)
},
R.expectContextual = function (e) {
this.eatContextual(e) || this.unexpected()
},
R.canInsertSemicolon = function () {
return this.type === b.eof || this.type === b.braceR || x.test(this.input.slice(this.lastTokEnd, this.start))
},
R.insertSemicolon = function () {
if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc),
!0
},
R.semicolon = function () {
this.eat(b.semi) || this.insertSemicolon() || this.unexpected()
},
R.afterTrailingComma = function (e, t) {
if (this.type == e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc),
t || this.next(),
!0
},
R.expect = function (e) {
this.eat(e) || this.unexpected()
},
R.unexpected = function (e) {
this.raise(null != e ? e : this.start, 'Unexpected token')
};
var I = function () {
this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = - 1
};
R.checkPatternErrors = function (e, t) {
if (e) {
e.trailingComma > - 1 && this.raiseRecoverable(e.trailingComma, 'Comma is not permitted after the rest element');
var n = t ? e.parenthesizedAssign : e.parenthesizedBind;
n > - 1 && this.raiseRecoverable(n, 'Parenthesized pattern')
}
},
R.checkExpressionErrors = function (e, t) {
var n = e ? e.shorthandAssign : - 1;
if (!t) return n >= 0;
n > - 1 && this.raise(n, 'Shorthand property assignments are valid only in destructuring patterns')
},
R.checkYieldAwaitInDefaultParams = function () {
this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos) && this.raise(this.yieldPos, 'Yield expression cannot be a default value'),
this.awaitPos && this.raise(this.awaitPos, 'Await expression cannot be a default value')
},
R.isSimpleAssignTarget = function (e) {
return 'ParenthesizedExpression' === e.type ? this.isSimpleAssignTarget(e.expression) : 'Identifier' === e.type || 'MemberExpression' === e.type
};
var j = N.prototype;
j.parseTopLevel = function (e) {
var t = {
};
for (e.body || (e.body = [
]); this.type !== b.eof; ) {
var n = this.parseStatement(!0, !0, t);
e.body.push(n)
}
return this.next(),
this.options.ecmaVersion >= 6 && (e.sourceType = this.options.sourceType),
this.finishNode(e, 'Program')
};
var M = {
kind: 'loop'
},
U = {
kind: 'switch'
};
j.isLet = function () {
if (this.type !== b.name || this.options.ecmaVersion < 6 || 'let' != this.value) return !1;
C.lastIndex = this.pos;
var e = C.exec(this.input),
t = this.pos + e[0].length,
n = this.input.charCodeAt(t);
if (91 === n || 123 == n) return !0;
if (p(n, !0)) {
for (var r = t + 1; h(this.input.charCodeAt(r), !0); ++r);
var i = this.input.slice(t, r);
if (!this.isKeyword(i)) return !0
}
return !1
},
j.isAsyncFunction = function () {
if (this.type !== b.name || this.options.ecmaVersion < 8 || 'async' != this.value) return !1;
C.lastIndex = this.pos;
var e = C.exec(this.input),
t = this.pos + e[0].length;
return !(x.test(this.input.slice(this.pos, t)) || 'function' !== this.input.slice(t, t + 8) || t + 8 != this.input.length && h(this.input.charAt(t + 8)))
},
j.parseStatement = function (e, t, n) {
var r,
i = this.type,
s = this.startNode();
switch (this.isLet() && (i = b._var, r = 'let'), i) {
case b._break:
case b._continue:
return this.parseBreakContinueStatement(s, i.keyword);
case b._debugger:
return this.parseDebuggerStatement(s);
case b._do:
return this.parseDoStatement(s);
case b._for:
return this.parseForStatement(s);
case b._function:
return !e && this.options.ecmaVersion >= 6 && this.unexpected(),
this.parseFunctionStatement(s, !1);
case b._class:
return e || this.unexpected(),
this.parseClass(s, !0);
case b._if:
return this.parseIfStatement(s);
case b._return:
return this.parseReturnStatement(s);
case b._switch:
return this.parseSwitchStatement(s);
case b._throw:
return this.parseThrowStatement(s);
case b._try:
return this.parseTryStatement(s);
case b._const:
case b._var:
return r = r || this.value,
e || 'var' == r || this.unexpected(),
this.parseVarStatement(s, r);
case b._while:
return this.parseWhileStatement(s);
case b._with:
return this.parseWithStatement(s);
case b.braceL:
return this.parseBlock();
case b.semi:
return this.parseEmptyStatement(s);
case b._export:
case b._import:
return this.options.allowImportExportEverywhere || (t || 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\'')),
i === b._import ? this.parseImport(s) : this.parseExport(s, n);
default:
if (this.isAsyncFunction() && e) return this.next(),
this.parseFunctionStatement(s, !0);
var o = this.value,
a = this.parseExpression();
return i === b.name && 'Identifier' === a.type && this.eat(b.colon) ? this.parseLabeledStatement(s, o, a) : this.parseExpressionStatement(s, a)
}
},
j.parseBreakContinueStatement = function (e, t) {
var n = 'break' == t;
this.next(),
this.eat(b.semi) || this.insertSemicolon() ? e.label = null : this.type !== b.name ? this.unexpected() : (e.label = this.parseIdent(), this.semicolon());
for (var r = 0; r < this.labels.length; ++r) {
var i = this.labels[r];
if (null == e.label || i.name === e.label.name) {
if (null != i.kind && (n || 'loop' === i.kind)) break;
if (e.label && n) break
}
}
return r === this.labels.length && this.raise(e.start, 'Unsyntactic ' + t),
this.finishNode(e, n ? 'BreakStatement' : 'ContinueStatement')
},
j.parseDebuggerStatement = function (e) {
return this.next(),
this.semicolon(),
this.finishNode(e, 'DebuggerStatement')
},
j.parseDoStatement = function (e) {
return this.next(),
this.labels.push(M),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.expect(b._while),
e.test = this.parseParenExpression(),
this.options.ecmaVersion >= 6 ? this.eat(b.semi) : this.semicolon(),
this.finishNode(e, 'DoWhileStatement')
},
j.parseForStatement = function (e) {
if (this.next(), this.labels.push(M), this.expect(b.parenL), this.type === b.semi) return this.parseFor(e, null);
var t = this.isLet();
if (this.type === b._var || this.type === b._const || t) {
var n = this.startNode(),
r = t ? 'let' : this.value;
return this.next(),
this.parseVar(n, !0, r),
this.finishNode(n, 'VariableDeclaration'),
!(this.type === b._in || this.options.ecmaVersion >= 6 && this.isContextual('of')) || 1 !== n.declarations.length || 'var' !== r && n.declarations[0].init ? this.parseFor(e, n) : this.parseForIn(e, n)
}
var i = new I,
s = this.parseExpression(!0, i);
return this.type === b._in || this.options.ecmaVersion >= 6 && this.isContextual('of') ? (this.toAssignable(s), this.checkLVal(s), this.checkPatternErrors(i, !0), this.parseForIn(e, s)) : (this.checkExpressionErrors(i, !0), this.parseFor(e, s))
},
j.parseFunctionStatement = function (e, t) {
return this.next(),
this.parseFunction(e, !0, !1, t)
},
j.isFunction = function () {
return this.type === b._function || this.isAsyncFunction()
},
j.parseIfStatement = function (e) {
return this.next(),
e.test = this.parseParenExpression(),
e.consequent = this.parseStatement(!this.strict && this.isFunction()),
e.alternate = this.eat(b._else) ? this.parseStatement(!this.strict && this.isFunction()) : null,
this.finishNode(e, 'IfStatement')
},
j.parseReturnStatement = function (e) {
return this.inFunction || this.options.allowReturnOutsideFunction || this.raise(this.start, '\'return\' outside of function'),
this.next(),
this.eat(b.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()),
this.finishNode(e, 'ReturnStatement')
},
j.parseSwitchStatement = function (e) {
this.next(),
e.discriminant = this.parseParenExpression(),
e.cases = [
],
this.expect(b.braceL),
this.labels.push(U);
for (var t, n = !1; this.type != b.braceR; ) if (this.type === b._case || this.type === b._default) {
var r = this.type === b._case;
t && this.finishNode(t, 'SwitchCase'),
e.cases.push(t = this.startNode()),
t.consequent = [
],
this.next(),
r ? t.test = this.parseExpression() : (n && this.raiseRecoverable(this.lastTokStart, 'Multiple default clauses'), n = !0, t.test = null),
this.expect(b.colon)
} else t || this.unexpected(),
t.consequent.push(this.parseStatement(!0));
return t && this.finishNode(t, 'SwitchCase'),
this.next(),
this.labels.pop(),
this.finishNode(e, 'SwitchStatement')
},
j.parseThrowStatement = function (e) {
return this.next(),
x.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, 'Illegal newline after throw'),
e.argument = this.parseExpression(),
this.semicolon(),
this.finishNode(e, 'ThrowStatement')
};
var V = [
];
j.parseTryStatement = function (e) {
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === b._catch) {
var t = this.startNode();
this.next(),
this.expect(b.parenL),
t.param = this.parseBindingAtom(),
this.checkLVal(t.param, !0),
this.expect(b.parenR),
t.body = this.parseBlock(),
e.handler = this.finishNode(t, 'CatchClause')
}
return e.finalizer = this.eat(b._finally) ? this.parseBlock() : null,
e.handler || e.finalizer || this.raise(e.start, 'Missing catch or finally clause'),
this.finishNode(e, 'TryStatement')
},
j.parseVarStatement = function (e, t) {
return this.next(),
this.parseVar(e, !1, t),
this.semicolon(),
this.finishNode(e, 'VariableDeclaration')
},
j.parseWhileStatement = function (e) {
return this.next(),
e.test = this.parseParenExpression(),
this.labels.push(M),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.finishNode(e, 'WhileStatement')
},
j.parseWithStatement = function (e) {
return this.strict && this.raise(this.start, '\'with\' in strict mode'),
this.next(),
e.object = this.parseParenExpression(),
e.body = this.parseStatement(!1),
this.finishNode(e, 'WithStatement')
},
j.parseEmptyStatement = function (e) {
return this.next(),
this.finishNode(e, 'EmptyStatement')
},
j.parseLabeledStatement = function (e, t, n) {
for (var r = 0; r < this.labels.length; ++r) this.labels[r].name === t && this.raise(n.start, 'Label \'' + t + '\' is already declared');
for (var i = this.type.isLoop ? 'loop' : this.type === b._switch ? 'switch' : null, s = this.labels.length - 1; s >= 0; s--) {
var o = this.labels[s];
if (o.statementStart != e.start) break;
o.statementStart = this.start,
o.kind = i
}
return this.labels.push({
name: t,
kind: i,
statementStart: this.start
}),
e.body = this.parseStatement(!0),
('ClassDeclaration' == e.body.type || 'VariableDeclaration' == e.body.type && (this.strict || 'var' != e.body.kind) || 'FunctionDeclaration' == e.body.type && (this.strict || e.body.generator)) && this.raiseRecoverable(e.body.start, 'Invalid labeled declaration'),
this.labels.pop(),
e.label = n,
this.finishNode(e, 'LabeledStatement')
},
j.parseExpressionStatement = function (e, t) {
return e.expression = t,
this.semicolon(),
this.finishNode(e, 'ExpressionStatement')
},
j.parseBlock = function () {
var e = this.startNode();
for (e.body = [
], this.expect(b.braceL); !this.eat(b.braceR); ) {
var t = this.parseStatement(!0);
e.body.push(t)
}
return this.finishNode(e, 'BlockStatement')
},
j.parseFor = function (e, t) {
return e.init = t,
this.expect(b.semi),
e.test = this.type === b.semi ? null : this.parseExpression(),
this.expect(b.semi),
e.update = this.type === b.parenR ? null : this.parseExpression(),
this.expect(b.parenR),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.finishNode(e, 'ForStatement')
},
j.parseForIn = function (e, t) {
var n = this.type === b._in ? 'ForInStatement' : 'ForOfStatement';
return this.next(),
e.left = t,
e.right = this.parseExpression(),
this.expect(b.parenR),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.finishNode(e, n)
},
j.parseVar = function (e, t, n) {
for (e.declarations = [
], e.kind = n; ; ) {
var r = this.startNode();
if (this.parseVarId(r), this.eat(b.eq) ? r.init = this.parseMaybeAssign(t) : 'const' !== n || this.type === b._in || this.options.ecmaVersion >= 6 && this.isContextual('of') ? 'Identifier' == r.id.type || t && (this.type === b._in || this.isContextual('of')) ? r.init = null : this.raise(this.lastTokEnd, 'Complex binding patterns require an initialization value') : this.unexpected(), e.declarations.push(this.finishNode(r, 'VariableDeclarator')), !this.eat(b.comma)) break
}
return e
},
j.parseVarId = function (e) {
e.id = this.parseBindingAtom(),
this.checkLVal(e.id, !0)
},
j.parseFunction = function (e, t, n, r) {
this.initFunction(e),
this.options.ecmaVersion >= 6 && !r && (e.generator = this.eat(b.star)),
this.options.ecmaVersion >= 8 && (e.async = !!r),
null == t && (t = this.type == b.name),
t && (e.id = this.parseIdent());
var i = this.inGenerator,
s = this.inAsync,
o = this.yieldPos,
a = this.awaitPos,
u = this.inFunction;
return this.inGenerator = e.generator,
this.inAsync = e.async,
this.yieldPos = 0,
this.awaitPos = 0,
this.inFunction = !0,
t || this.type !== b.name || (e.id = this.parseIdent()),
this.parseFunctionParams(e),
this.parseFunctionBody(e, n),
this.inGenerator = i,
this.inAsync = s,
this.yieldPos = o,
this.awaitPos = a,
this.inFunction = u,
this.finishNode(e, t ? 'FunctionDeclaration' : 'FunctionExpression')
},
j.parseFunctionParams = function (e) {
this.expect(b.parenL),
e.params = this.parseBindingList(b.parenR, !1, this.options.ecmaVersion >= 8, !0),
this.checkYieldAwaitInDefaultParams()
},
j.parseClass = function (e, t) {
this.next(),
null == t && (t = this.type === b.name),
this.parseClassId(e, t),
this.parseClassSuper(e);
var n = this.startNode(),
r = !1;
for (n.body = [
], this.expect(b.braceL); !this.eat(b.braceR); ) if (!this.eat(b.semi)) {
var i = this.startNode(),
s = this.eat(b.star),
o = !1,
a = this.type === b.name && 'static' === this.value;
this.parsePropertyName(i),
i.static = a && this.type !== b.parenL,
i.static && (s && this.unexpected(), s = this.eat(b.star), this.parsePropertyName(i)),
this.options.ecmaVersion >= 8 && !s && !i.computed && 'Identifier' === i.key.type && 'async' === i.key.name && this.type !== b.parenL && !this.canInsertSemicolon() && (o = !0, this.parsePropertyName(i)),
i.kind = 'method';
var u = !1;
if (!i.computed) {
var l = i.key;
s || o || 'Identifier' !== l.type || this.type === b.parenL || 'get' !== l.name && 'set' !== l.name || (u = !0, i.kind = l.name, l = this.parsePropertyName(i)),
!i.static && ('Identifier' === l.type && 'constructor' === l.name || 'Literal' === l.type && 'constructor' === l.value) && (r && this.raise(l.start, 'Duplicate constructor in the same class'), u && this.raise(l.start, 'Constructor can\'t have get/set modifier'), s && this.raise(l.start, 'Constructor can\'t be a generator'), o && this.raise(l.start, 'Constructor can\'t be an async method'), i.kind = 'constructor', r = !0)
}
if (this.parseClassMethod(n, i, s, o), u) {
var c = 'get' === i.kind ? 0 : 1;
if (i.value.params.length !== c) {
var p = i.value.start;
'get' === i.kind ? this.raiseRecoverable(p, 'getter should have no params') : this.raiseRecoverable(p, 'setter should have exactly one param')
} else 'set' === i.kind && 'RestElement' === i.value.params[0].type && this.raiseRecoverable(i.value.params[0].start, 'Setter cannot use rest params')
}
}
return e.body = this.finishNode(n, 'ClassBody'),
this.finishNode(e, t ? 'ClassDeclaration' : 'ClassExpression')
},
j.parseClassMethod = function (e, t, n, r) {
t.value = this.parseMethod(n, r),
e.body.push(this.finishNode(t, 'MethodDefinition'))
},
j.parseClassId = function (e, t) {
e.id = this.type === b.name ? this.parseIdent() : t ? this.unexpected() : null
},
j.parseClassSuper = function (e) {
e.superClass = this.eat(b._extends) ? this.parseExprSubscripts() : null
},
j.parseExport = function (e, t) {
if (this.next(), this.eat(b.star)) return this.expectContextual('from'),
e.source = this.type === b.string ? this.parseExprAtom() : this.unexpected(),
this.semicolon(),
this.finishNode(e, 'ExportAllDeclaration');
if (this.eat(b._default)) {
var n;
if (this.checkExport(t, 'default', this.lastTokStart), this.type === b._function || (n = this.isAsyncFunction())) {
var r = this.startNode();
this.next(),
n && this.next(),
e.declaration = this.parseFunction(r, null, !1, n)
} else if (this.type === b._class) {
var i = this.startNode();
e.declaration = this.parseClass(i, null)
} else e.declaration = this.parseMaybeAssign(),
this.semicolon();
return this.finishNode(e, 'ExportDefaultDeclaration')
}
if (this.shouldParseExportStatement()) e.declaration = this.parseStatement(!0),
'VariableDeclaration' === e.declaration.type ? this.checkVariableExport(t, e.declaration.declarations) : this.checkExport(t, e.declaration.id.name, e.declaration.id.start),
e.specifiers = [
],
e.source = null;
else {
if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual('from')) e.source = this.type === b.string ? this.parseExprAtom() : this.unexpected();
else {
for (var s = 0; s < e.specifiers.length; s++) (this.keywords.test(e.specifiers[s].local.name) || this.reservedWords.test(e.specifiers[s].local.name)) && this.unexpected(e.specifiers[s].local.start);
e.source = null
}
this.semicolon()
}
return this.finishNode(e, 'ExportNamedDeclaration')
},
j.checkExport = function (e, t, n) {
e && (Object.prototype.hasOwnProperty.call(e, t) && this.raiseRecoverable(n, 'Duplicate export \'' + t + '\''), e[t] = !0)
},
j.checkPatternExport = function (e, t) {
var n = t.type;
if ('Identifier' == n) this.checkExport(e, t.name, t.start);
else if ('ObjectPattern' == n) for (var r = 0; r < t.properties.length; ++r) this.checkPatternExport(e, t.properties[r].value);
else if ('ArrayPattern' == n) for (var i = 0; i < t.elements.length; ++i) {
var s = t.elements[i];
s && this.checkPatternExport(e, s)
} else 'AssignmentPattern' == n ? this.checkPatternExport(e, t.left) : 'ParenthesizedExpression' == n && this.checkPatternExport(e, t.expression)
},
j.checkVariableExport = function (e, t) {
if (e) for (var n = 0; n < t.length; n++) this.checkPatternExport(e, t[n].id)
},
j.shouldParseExportStatement = function () {
return 'var' === this.type.keyword || 'const' === this.type.keyword || 'class' === this.type.keyword || 'function' === this.type.keyword || this.isLet() || this.isAsyncFunction()
},
j.parseExportSpecifiers = function (e) {
var t = [
],
n = !0;
for (this.expect(b.braceL); !this.eat(b.braceR); ) {
if (n) n = !1;
else if (this.expect(b.comma), this.afterTrailingComma(b.braceR)) break;
var r = this.startNode();
r.local = this.parseIdent(!0),
r.exported = this.eatContextual('as') ? this.parseIdent(!0) : r.local,
this.checkExport(e, r.exported.name, r.exported.start),
t.push(this.finishNode(r, 'ExportSpecifier'))
}
return t
},
j.parseImport = function (e) {
return this.next(),
this.type === b.string ? (e.specifiers = V, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual('from'), e.source = this.type === b.string ? this.parseExprAtom() : this.unexpected()),
this.semicolon(),
this.finishNode(e, 'ImportDeclaration')
},
j.parseImportSpecifiers = function () {
var e = [
],
t = !0;
if (this.type === b.name) {
var n = this.startNode();
if (n.local = this.parseIdent(), this.checkLVal(n.local, !0), e.push(this.finishNode(n, 'ImportDefaultSpecifier')), !this.eat(b.comma)) return e
}
if (this.type === b.star) {
var r = this.startNode();
return this.next(),
this.expectContextual('as'),
r.local = this.parseIdent(),
this.checkLVal(r.local, !0),
e.push(this.finishNode(r, 'ImportNamespaceSpecifier')),
e
}
for (this.expect(b.braceL); !this.eat(b.braceR); ) {
if (t) t = !1;
else if (this.expect(b.comma), this.afterTrailingComma(b.braceR)) break;
var i = this.startNode();
i.imported = this.parseIdent(!0),
this.eatContextual('as') ? i.local = this.parseIdent() : (i.local = i.imported, this.isKeyword(i.local.name) && this.unexpected(i.local.start), this.reservedWordsStrict.test(i.local.name) && this.raiseRecoverable(i.local.start, 'The keyword \'' + i.local.name + '\' is reserved')),
this.checkLVal(i.local, !0),
e.push(this.finishNode(i, 'ImportSpecifier'))
}
return e
};
var z = N.prototype;
z.toAssignable = function (e, t) {
if (this.options.ecmaVersion >= 6 && e) switch (e.type) {
case 'Identifier':
this.inAsync && 'await' === e.name && this.raise(e.start, 'Can not use \'await\' as identifier inside an async function');
break;
case 'ObjectPattern':
case 'ArrayPattern':
break;
case 'ObjectExpression':
e.type = 'ObjectPattern';
for (var n = 0; n < e.properties.length; n++) {
var r = e.properties[n];
'init' !== r.kind && this.raise(r.key.start, 'Object pattern can\'t contain getter or setter'),
this.toAssignable(r.value, t)
}
break;
case 'ArrayExpression':
e.type = 'ArrayPattern',
this.toAssignableList(e.elements, t);
break;
case 'AssignmentExpression':
if ('=' !== e.operator) {
this.raise(e.left.end, 'Only \'=\' operator can be used for specifying default value.');
break
}
e.type = 'AssignmentPattern',
delete e.operator,
this.toAssignable(e.left, t);
case 'AssignmentPattern':
break;
case 'ParenthesizedExpression':
e.expression = this.toAssignable(e.expression, t);
break;
case 'MemberExpression':
if (!t) break;
default:
this.raise(e.start, 'Assigning to rvalue')
}
return e
},
z.toAssignableList = function (e, t) {
var n = e.length;
if (n) {
var r = e[n - 1];
if (r && 'RestElement' == r.type) --n;
else if (r && 'SpreadElement' == r.type) {
r.type = 'RestElement';
var i = r.argument;
this.toAssignable(i, t),
'Identifier' !== i.type && 'MemberExpression' !== i.type && 'ArrayPattern' !== i.type && this.unexpected(i.start),
--n
}
t && r && 'RestElement' === r.type && 'Identifier' !== r.argument.type && this.unexpected(r.argument.start)
}
for (var s = 0; s < n; s++) {
var o = e[s];
o && this.toAssignable(o, t)
}
return e
},
z.parseSpread = function (e) {
var t = this.startNode();
return this.next(),
t.argument = this.parseMaybeAssign(!1, e),
this.finishNode(t, 'SpreadElement')
},
z.parseRest = function (e) {
var t = this.startNode();
return this.next(),
t.argument = e ? this.type === b.name ? this.parseIdent() : this.unexpected() : this.type === b.name || this.type === b.bracketL ? this.parseBindingAtom() : this.unexpected(),
this.finishNode(t, 'RestElement')
},
z.parseBindingAtom = function () {
if (this.options.ecmaVersion < 6) return this.parseIdent();
switch (this.type) {
case b.name:
return this.parseIdent();
case b.bracketL:
var e = this.startNode();
return this.next(),
e.elements = this.parseBindingList(b.bracketR, !0, !0),
this.finishNode(e, 'ArrayPattern');
case b.braceL:
return this.parseObj(!0);
default:
this.unexpected()
}
},
z.parseBindingList = function (e, t, n, r) {
for (var i = [
], s = !0; !this.eat(e); ) if (s ? s = !1 : this.expect(b.comma), t && this.type === b.comma) i.push(null);
else {
if (n && this.afterTrailingComma(e)) break;
if (this.type === b.ellipsis) {
var o = this.parseRest(r);
this.parseBindingListItem(o),
i.push(o),
this.type === b.comma && this.raise(this.start, 'Comma is not permitted after the rest element'),
this.expect(e);
break
}
var a = this.parseMaybeDefault(this.start, this.startLoc);
this.parseBindingListItem(a),
i.push(a)
}
return i
},
z.parseBindingListItem = function (e) {
return e
},
z.parseMaybeDefault = function (e, t, n) {
if (n = n || this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(b.eq)) return n;
var r = this.startNodeAt(e, t);
return r.left = n,
r.right = this.parseMaybeAssign(),
this.finishNode(r, 'AssignmentPattern')
},
z.checkLVal = function (e, t, n) {
switch (e.type) {
case 'Identifier':
this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (t ? 'Binding ' : 'Assigning to ') + e.name + ' in strict mode'),
n && (D(n, e.name) && this.raiseRecoverable(e.start, 'Argument name clash'), n[e.name] = !0);
break;
case 'MemberExpression':
t && this.raiseRecoverable(e.start, (t ? 'Binding' : 'Assigning to') + ' member expression');
break;
case 'ObjectPattern':
for (var r = 0; r < e.properties.length; r++) this.checkLVal(e.properties[r].value, t, n);
break;
case 'ArrayPattern':
for (var i = 0; i < e.elements.length; i++) {
var s = e.elements[i];
s && this.checkLVal(s, t, n)
}
break;
case 'AssignmentPattern':
this.checkLVal(e.left, t, n);
break;
case 'RestElement':
this.checkLVal(e.argument, t, n);
break;
case 'ParenthesizedExpression':
this.checkLVal(e.expression, t, n);
break;
default:
this.raise(e.start, (t ? 'Binding' : 'Assigning to') + ' rvalue')
}
};
var q = N.prototype;
q.checkPropClash = function (e, t) {
if (!(this.options.ecmaVersion >= 6 && (e.computed || e.method || e.shorthand))) {
var n,
r = e.key;
switch (r.type) {
case 'Identifier':
n = r.name;
break;
case 'Literal':
n = String(r.value);
break;
default:
return
}
var i = e.kind;
if (this.options.ecmaVersion >= 6) '__proto__' === n && 'init' === i && (t.proto && this.raiseRecoverable(r.start, 'Redefinition of __proto__ property'), t.proto = !0);
else {
var s = t[n = '$' + n];
if (s) {
var o = 'init' !== i;
(!this.strict && !o || !s[i]) && o ^ s.init || this.raiseRecoverable(r.start, 'Redefinition of property')
} else s = t[n] = {
init: !1,
get: !1,
set: !1
};
s[i] = !0
}
}
},
q.parseExpression = function (e, t) {
var n = this.start,
r = this.startLoc,
i = this.parseMaybeAssign(e, t);
if (this.type === b.comma) {
var s = this.startNodeAt(n, r);
for (s.expressions = [
i
]; this.eat(b.comma); ) s.expressions.push(this.parseMaybeAssign(e, t));
return this.finishNode(s, 'SequenceExpression')
}
return i
},
q.parseMaybeAssign = function (e, t, n) {
if (this.inGenerator && this.isContextual('yield')) return this.parseYield();
var r = !1,
i = - 1;
t ? (i = t.parenthesizedAssign, t.parenthesizedAssign = - 1) : (t = new I, r = !0);
var s = this.start,
o = this.startLoc;
this.type != b.parenL && this.type != b.name || (this.potentialArrowAt = this.start);
var a = this.parseMaybeConditional(e, t);
if (n && (a = n.call(this, a, s, o)), this.type.isAssign) {
this.checkPatternErrors(t, !0),
r || I.call(t);
var u = this.startNodeAt(s, o);
return u.operator = this.value,
u.left = this.type === b.eq ? this.toAssignable(a) : a,
t.shorthandAssign = - 1,
this.checkLVal(a),
this.next(),
u.right = this.parseMaybeAssign(e),
this.finishNode(u, 'AssignmentExpression')
}
return r && this.checkExpressionErrors(t, !0),
i > - 1 && (t.parenthesizedAssign = i),
a
},
q.parseMaybeConditional = function (e, t) {
var n = this.start,
r = this.startLoc,
i = this.parseExprOps(e, t);
if (this.checkExpressionErrors(t)) return i;
if (this.eat(b.question)) {
var s = this.startNodeAt(n, r);
return s.test = i,
s.consequent = this.parseMaybeAssign(),
this.expect(b.colon),
s.alternate = this.parseMaybeAssign(e),
this.finishNode(s, 'ConditionalExpression')
}
return i
},
q.parseExprOps = function (e, t) {
var n = this.start,
r = this.startLoc,
i = this.parseMaybeUnary(t, !1);
return this.checkExpressionErrors(t) ? i : this.parseExprOp(i, n, r, - 1, e)
},
q.parseExprOp = function (e, t, n, r, i) {
var s = this.type.binop;
if (null != s && (!i || this.type !== b._in) && s > r) {
var o = this.type === b.logicalOR || this.type === b.logicalAND,
a = this.value;
this.next();
var u = this.start,
l = this.startLoc,
c = this.parseExprOp(this.parseMaybeUnary(null, !1), u, l, s, i),
p = this.buildBinary(t, n, e, c, a, o);
return this.parseExprOp(p, t, n, r, i)
}
return e
},
q.buildBinary = function (e, t, n, r, i, s) {
var o = this.startNodeAt(e, t);
return o.left = n,
o.operator = i,
o.right = r,
this.finishNode(o, s ? 'LogicalExpression' : 'BinaryExpression')
},
q.parseMaybeUnary = function (e, t) {
var n,
r = this.start,
i = this.startLoc;
if (this.inAsync && this.isContextual('await')) n = this.parseAwait(e),
t = !0;
else if (this.type.prefix) {
var s = this.startNode(),
o = this.type === b.incDec;
s.operator = this.value,
s.prefix = !0,
this.next(),
s.argument = this.parseMaybeUnary(null, !0),
this.checkExpressionErrors(e, !0),
o ? this.checkLVal(s.argument) : this.strict && 'delete' === s.operator && 'Identifier' === s.argument.type ? this.raiseRecoverable(s.start, 'Deleting local variable in strict mode') : t = !0,
n = this.finishNode(s, o ? 'UpdateExpression' : 'UnaryExpression')
} else {
if (n = this.parseExprSubscripts(e), this.checkExpressionErrors(e)) return n;
for (; this.type.postfix && !this.canInsertSemicolon(); ) {
var a = this.startNodeAt(r, i);
a.operator = this.value,
a.prefix = !1,
a.argument = n,
this.checkLVal(n),
this.next(),
n = this.finishNode(a, 'UpdateExpression')
}
}
return !t && this.eat(b.starstar) ? this.buildBinary(r, i, n, this.parseMaybeUnary(null, !1), '**', !1) : n
},
q.parseExprSubscripts = function (e) {
var t = this.start,
n = this.startLoc,
r = this.parseExprAtom(e),
i = 'ArrowFunctionExpression' === r.type && ')' !== this.input.slice(this.lastTokStart, this.lastTokEnd);
if (this.checkExpressionErrors(e) || i) return r;
var s = this.parseSubscripts(r, t, n);
return e && 'MemberExpression' === s.type && (e.parenthesizedAssign >= s.start && (e.parenthesizedAssign = - 1), e.parenthesizedBind >= s.start && (e.parenthesizedBind = - 1)),
s
},
q.parseSubscripts = function (e, t, n, r) {
for (var i, s = this.options.ecmaVersion >= 8 && 'Identifier' === e.type && 'async' === e.name && this.lastTokEnd == e.end && !this.canInsertSemicolon(); ; ) if ((i = this.eat(b.bracketL)) || this.eat(b.dot)) {
var o = this.startNodeAt(t, n);
o.object = e,
o.property = i ? this.parseExpression() : this.parseIdent(!0),
o.computed = !!i,
i && this.expect(b.bracketR),
e = this.finishNode(o, 'MemberExpression')
} else if (!r && this.eat(b.parenL)) {
var a = new I,
u = this.yieldPos,
l = this.awaitPos;
this.yieldPos = 0,
this.awaitPos = 0;
var c = this.parseExprList(b.parenR, this.options.ecmaVersion >= 8, !1, a);
if (s && !this.canInsertSemicolon() && this.eat(b.arrow)) return this.checkPatternErrors(a, !1),
this.checkYieldAwaitInDefaultParams(),
this.yieldPos = u,
this.awaitPos = l,
this.parseArrowExpression(this.startNodeAt(t, n), c, !0);
this.checkExpressionErrors(a, !0),
this.yieldPos = u || this.yieldPos,
this.awaitPos = l || this.awaitPos;
var p = this.startNodeAt(t, n);
p.callee = e,
p.arguments = c,
e = this.finishNode(p, 'CallExpression')
} else {
if (this.type !== b.backQuote) return e;
var h = this.startNodeAt(t, n);
h.tag = e,
h.quasi = this.parseTemplate(),
e = this.finishNode(h, 'TaggedTemplateExpression')
}
},
q.parseExprAtom = function (e) {
var t,
n = this.potentialArrowAt == this.start;
switch (this.type) {
case b._super:
this.inFunction || this.raise(this.start, '\'super\' outside of function or class');
case b._this:
var r = this.type === b._this ? 'ThisExpression' : 'Super';
return t = this.startNode(),
this.next(),
this.finishNode(t, r);
case b.name:
var i = this.start,
s = this.startLoc,
o = this.parseIdent(this.type !== b.name);
if (this.options.ecmaVersion >= 8 && 'async' === o.name && !this.canInsertSemicolon() && this.eat(b._function)) return this.parseFunction(this.startNodeAt(i, s), !1, !1, !0);
if (n && !this.canInsertSemicolon()) {
if (this.eat(b.arrow)) return this.parseArrowExpression(this.startNodeAt(i, s), [
o
], !1);
if (this.options.ecmaVersion >= 8 && 'async' === o.name && this.type === b.name) return o = this.parseIdent(),
!this.canInsertSemicolon() && this.eat(b.arrow) || this.unexpected(),
this.parseArrowExpression(this.startNodeAt(i, s), [
o
], !0)
}
return o;
case b.regexp:
var a = this.value;
return (t = this.parseLiteral(a.value)).regex = {
pattern: a.pattern,
flags: a.flags
},
t;
case b.num:
case b.string:
return this.parseLiteral(this.value);
case b._null:
case b._true:
case b._false:
return (t = this.startNode()).value = this.type === b._null ? null : this.type === b._true,
t.raw = this.type.keyword,
this.next(),
this.finishNode(t, 'Literal');
case b.parenL:
var u = this.start,
l = this.parseParenAndDistinguishExpression(n);
return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(l) && (e.parenthesizedAssign = u), e.parenthesizedBind < 0 && (e.parenthesizedBind = u)),
l;
case b.bracketL:
return t = this.startNode(),
this.next(),
t.elements = this.parseExprList(b.bracketR, !0, !0, e),
this.finishNode(t, 'ArrayExpression');
case b.braceL:
return this.parseObj(!1, e);
case b._function:
return t = this.startNode(),
this.next(),
this.parseFunction(t, !1);
case b._class:
return this.parseClass(this.startNode(), !1);
case b._new:
return this.parseNew();
case b.backQuote:
return this.parseTemplate();
default:
this.unexpected()
}
},
q.parseLiteral = function (e) {
var t = this.startNode();
return t.value = e,
t.raw = this.input.slice(this.start, this.end),
this.next(),
this.finishNode(t, 'Literal')
},
q.parseParenExpression = function () {
this.expect(b.parenL);
var e = this.parseExpression();
return this.expect(b.parenR),
e
},
q.parseParenAndDistinguishExpression = function (e) {
var t,
n = this.start,
r = this.startLoc,
i = this.options.ecmaVersion >= 8;
if (this.options.ecmaVersion >= 6) {
this.next();
var s,
o,
a = this.start,
u = this.startLoc,
l = [
],
c = !0,
p = !1,
h = new I,
f = this.yieldPos,
d = this.awaitPos;
for (this.yieldPos = 0, this.awaitPos = 0; this.type !== b.parenR; ) {
if (c ? c = !1 : this.expect(b.comma), i && this.afterTrailingComma(b.parenR, !0)) {
p = !0;
break
}
if (this.type === b.ellipsis) {
s = this.start,
l.push(this.parseParenItem(this.parseRest())),
this.type === b.comma && this.raise(this.start, 'Comma is not permitted after the rest element');
break
}
this.type !== b.parenL || o || (o = this.start),
l.push(this.parseMaybeAssign(!1, h, this.parseParenItem))
}
var m = this.start,
g = this.startLoc;
if (this.expect(b.parenR), e && !this.canInsertSemicolon() && this.eat(b.arrow)) return this.checkPatternErrors(h, !1),
this.checkYieldAwaitInDefaultParams(),
o && this.unexpected(o),
this.yieldPos = f,
this.awaitPos = d,
this.parseParenArrowList(n, r, l);
l.length && !p || this.unexpected(this.lastTokStart),
s && this.unexpected(s),
this.checkExpressionErrors(h, !0),
this.yieldPos = f || this.yieldPos,
this.awaitPos = d || this.awaitPos,
l.length > 1 ? ((t = this.startNodeAt(a, u)).expressions = l, this.finishNodeAt(t, 'SequenceExpression', m, g)) : t = l[0]
} else t = this.parseParenExpression();
if (this.options.preserveParens) {
var y = this.startNodeAt(n, r);
return y.expression = t,
this.finishNode(y, 'ParenthesizedExpression')
}
return t
},
q.parseParenItem = function (e) {
return e
},
q.parseParenArrowList = function (e, t, n) {
return this.parseArrowExpression(this.startNodeAt(e, t), n)
};
var K = [
];
q.parseNew = function () {
var e = this.startNode(),
t = this.parseIdent(!0);
if (this.options.ecmaVersion >= 6 && this.eat(b.dot)) return e.meta = t,
e.property = this.parseIdent(!0),
'target' !== e.property.name && this.raiseRecoverable(e.property.start, 'The only valid meta property for new is new.target'),
this.inFunction || this.raiseRecoverable(e.start, 'new.target can only be used in functions'),
this.finishNode(e, 'MetaProperty');
var n = this.start,
r = this.startLoc;
return e.callee = this.parseSubscripts(this.parseExprAtom(), n, r, !0),
this.eat(b.parenL) ? e.arguments = this.parseExprList(b.parenR, this.options.ecmaVersion >= 8, !1) : e.arguments = K,
this.finishNode(e, 'NewExpression')
},
q.parseTemplateElement = function () {
var e = this.startNode();
return e.value = {
raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, '\n'),
cooked: this.value
},
this.next(),
e.tail = this.type === b.backQuote,
this.finishNode(e, 'TemplateElement')
},
q.parseTemplate = function () {
var e = this.startNode();
this.next(),
e.expressions = [
];
var t = this.parseTemplateElement();
for (e.quasis = [
t
]; !t.tail; ) this.expect(b.dollarBraceL),
e.expressions.push(this.parseExpression()),
this.expect(b.braceR),
e.quasis.push(t = this.parseTemplateElement());
return this.next(),
this.finishNode(e, 'TemplateLiteral')
},
q.parseObj = function (e, t) {
var n = this.startNode(),
r = !0,
i = {
};
for (n.properties = [
], this.next(); !this.eat(b.braceR); ) {
if (r) r = !1;
else if (this.expect(b.comma), this.afterTrailingComma(b.braceR)) break;
var s,
o,
a,
u,
l = this.startNode();
this.options.ecmaVersion >= 6 && (l.method = !1, l.shorthand = !1, (e || t) && (a = this.start, u = this.startLoc), e || (s = this.eat(b.star))),
this.parsePropertyName(l),
e || !(this.options.ecmaVersion >= 8) || s || l.computed || 'Identifier' !== l.key.type || 'async' !== l.key.name || this.type === b.parenL || this.type === b.colon || this.canInsertSemicolon() ? o = !1 : (o = !0, this.parsePropertyName(l, t)),
this.parsePropertyValue(l, e, s, o, a, u, t),
this.checkPropClash(l, i),
n.properties.push(this.finishNode(l, 'Property'))
}
return this.finishNode(n, e ? 'ObjectPattern' : 'ObjectExpression')
},
q.parsePropertyValue = function (e, t, n, r, i, s, o) {
if ((n || r) && this.type === b.colon && this.unexpected(), this.eat(b.colon)) e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(!1, o),
e.kind = 'init';
else if (this.options.ecmaVersion >= 6 && this.type === b.parenL) t && this.unexpected(),
e.kind = 'init',
e.method = !0,
e.value = this.parseMethod(n, r);
else if (this.options.ecmaVersion >= 5 && !e.computed && 'Identifier' === e.key.type && ('get' === e.key.name || 'set' === e.key.name) && this.type != b.comma && this.type != b.braceR) {
(n || r || t) && this.unexpected(),
e.kind = e.key.name,
this.parsePropertyName(e),
e.value = this.parseMethod(!1);
var a = 'get' === e.kind ? 0 : 1;
if (e.value.params.length !== a) {
var u = e.value.start;
'get' === e.kind ? this.raiseRecoverable(u, 'getter should have no params') : this.raiseRecoverable(u, 'setter should have exactly one param')
} else 'set' === e.kind && 'RestElement' === e.value.params[0].type && this.raiseRecoverable(e.value.params[0].start, 'Setter cannot use rest params')
} else this.options.ecmaVersion >= 6 && !e.computed && 'Identifier' === e.key.type ? ((this.keywords.test(e.key.name) || (this.strict ? this.reservedWordsStrict : this.reservedWords).test(e.key.name) || this.inGenerator && 'yield' == e.key.name || this.inAsync && 'await' == e.key.name) && this.raiseRecoverable(e.key.start, '\'' + e.key.name + '\' can not be used as shorthand property'), e.kind = 'init', t ? e.value = this.parseMaybeDefault(i, s, e.key) : this.type === b.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(i, s, e.key)) : e.value = e.key, e.shorthand = !0) : this.unexpected()
},
q.parsePropertyName = function (e) {
if (this.options.ecmaVersion >= 6) {
if (this.eat(b.bracketL)) return e.computed = !0,
e.key = this.parseMaybeAssign(),
this.expect(b.bracketR),
e.key;
e.computed = !1
}
return e.key = this.type === b.num || this.type === b.string ? this.parseExprAtom() : this.parseIdent(!0)
},
q.initFunction = function (e) {
e.id = null,
this.options.ecmaVersion >= 6 && (e.generator = !1, e.expression = !1),
this.options.ecmaVersion >= 8 && (e.async = !1)
},
q.parseMethod = function (e, t) {
var n = this.startNode(),
r = this.inGenerator,
i = this.inAsync,
s = this.yieldPos,
o = this.awaitPos,
a = this.inFunction;
return this.initFunction(n),
this.options.ecmaVersion >= 6 && (n.generator = e),
this.options.ecmaVersion >= 8 && (n.async = !!t),
this.inGenerator = n.generator,
this.inAsync = n.async,
this.yieldPos = 0,
this.awaitPos = 0,
this.inFunction = !0,
this.expect(b.parenL),
n.params = this.parseBindingList(b.parenR, !1, this.options.ecmaVersion >= 8),
this.checkYieldAwaitInDefaultParams(),
this.parseFunctionBody(n, !1),
this.inGenerator = r,
this.inAsync = i,
this.yieldPos = s,
this.awaitPos = o,
this.inFunction = a,
this.finishNode(n, 'FunctionExpression')
},
q.parseArrowExpression = function (e, t, n) {
var r = this.inGenerator,
i = this.inAsync,
s = this.yieldPos,
o = this.awaitPos,
a = this.inFunction;
return this.initFunction(e),
this.options.ecmaVersion >= 8 && (e.async = !!n),
this.inGenerator = !1,
this.inAsync = e.async,
this.yieldPos = 0,
this.awaitPos = 0,
this.inFunction = !0,
e.params = this.toAssignableList(t, !0),
this.parseFunctionBody(e, !0),
this.inGenerator = r,
this.inAsync = i,
this.yieldPos = s,
this.awaitPos = o,
this.inFunction = a,
this.finishNode(e, 'ArrowFunctionExpression')
},
q.parseFunctionBody = function (e, t) {
var n = t && this.type !== b.braceL,
r = this.strict,
i = !1;
if (n) e.body = this.parseMaybeAssign(),
e.expression = !0;
else {
var s = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(e.params);
r && !s || (i = this.strictDirective(this.end)) && s && this.raiseRecoverable(e.start, 'Illegal \'use strict\' directive in function with non-simple parameter list');
var o = this.labels;
this.labels = [
],
i && (this.strict = !0),
e.body = this.parseBlock(!0),
e.expression = !1,
this.labels = o
}
r || i ? (this.strict = !0, e.id && this.checkLVal(e.id, !0), this.checkParams(e), this.strict = r) : !t && this.isSimpleParamList(e.params) || this.checkParams(e)
},
q.isSimpleParamList = function (e) {
for (var t = 0; t < e.length; t++) if ('Identifier' !== e[t].type) return !1;
return !0
},
q.checkParams = function (e) {
for (var t = {
}, n = 0; n < e.params.length; n++) this.checkLVal(e.params[n], !0, t)
},
q.parseExprList = function (e, t, n, r) {
for (var i = [
], s = !0; !this.eat(e); ) {
if (s) s = !1;
else if (this.expect(b.comma), t && this.afterTrailingComma(e)) break;
var o;
n && this.type === b.comma ? o = null : this.type === b.ellipsis ? (o = this.parseSpread(r), r && this.type === b.comma && r.trailingComma < 0 && (r.trailingComma = this.start)) : o = this.parseMaybeAssign(!1, r),
i.push(o)
}
return i
},
q.parseIdent = function (e) {
var t = this.startNode();
return e && 'never' == this.options.allowReserved && (e = !1),
this.type === b.name ? (!e && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(this.value) && (this.options.ecmaVersion >= 6 || - 1 == this.input.slice(this.start, this.end).indexOf('\\')) && this.raiseRecoverable(this.start, 'The keyword \'' + this.value + '\' is reserved'), this.inGenerator && 'yield' === this.value && this.raiseRecoverable(this.start, 'Can not use \'yield\' as identifier inside a generator'), this.inAsync && 'await' === this.value && this.raiseRecoverable(this.start, 'Can not use \'await\' as identifier inside an async function'), t.name = this.value) : e && this.type.keyword ? t.name = this.type.keyword : this.unexpected(),
this.next(),
this.finishNode(t, 'Identifier')
},
q.parseYield = function () {
this.yieldPos || (this.yieldPos = this.start);
var e = this.startNode();
return this.next(),
this.type == b.semi || this.canInsertSemicolon() || this.type != b.star && !this.type.startsExpr ? (e.delegate = !1, e.argument = null) : (e.delegate = this.eat(b.star), e.argument = this.parseMaybeAssign()),
this.finishNode(e, 'YieldExpression')
},
q.parseAwait = function () {
this.awaitPos || (this.awaitPos = this.start);
var e = this.startNode();
return this.next(),
e.argument = this.parseMaybeUnary(null, !0),
this.finishNode(e, 'AwaitExpression')
};
var $ = N.prototype;
$.raise = function (e, t) {
var n = T(this.input, e);
t += ' (' + n.line + ':' + n.column + ')';
var r = new SyntaxError(t);
throw r.pos = e,
r.loc = n,
r.raisedAt = this.pos,
r
},
$.raiseRecoverable = $.raise,
$.curPosition = function () {
if (this.options.locations) return new k(this.curLine, this.pos - this.lineStart)
};
var Y = function (e, t, n) {
this.type = '',
this.start = t,
this.end = 0,
e.options.locations && (this.loc = new S(e, n)),
e.options.directSourceFile && (this.sourceFile = e.options.directSourceFile),
e.options.ranges && (this.range = [
t,
0
])
},
W = N.prototype;
function G(e, t, n, r) {
return e.type = t,
e.end = n,
this.options.locations && (e.loc.end = r),
this.options.ranges && (e.range[1] = n),
e
}
W.startNode = function () {
return new Y(this, this.start, this.startLoc)
},
W.startNodeAt = function (e, t) {
return new Y(this, e, t)
},
W.finishNode = function (e, t) {
return G.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc)
},
W.finishNodeAt = function (e, t, n, r) {
return G.call(this, e, t, n, r)
};
var H = function (e, t, n, r) {
this.token = e,
this.isExpr = !!t,
this.preserveSpace = !!n,
this.override = r
},
X = {
b_stat: new H('{', !1),
b_expr: new H('{', !0),
b_tmpl: new H('${', !0),
p_stat: new H('(', !1),
p_expr: new H('(', !0),
q_tmpl: new H('`', !0, !0, function (e) {
return e.readTmplToken()
}),
f_expr: new H('function', !0)
},
J = N.prototype;
J.initialContext = function () {
return [X.b_stat]
},
J.braceIsBlock = function (e) {
if (e === b.colon) {
var t = this.curContext();
if (t === X.b_stat || t === X.b_expr) return !t.isExpr
}
return e === b._return ? x.test(this.input.slice(this.lastTokEnd, this.start)) : e === b._else || e === b.semi || e === b.eof || e === b.parenR || (e == b.braceL ? this.curContext() === X.b_stat : !this.exprAllowed)
},
J.updateContext = function (e) {
var t,
n = this.type;
n.keyword && e == b.dot ? this.exprAllowed = !1 : (t = n.updateContext) ? t.call(this, e) : this.exprAllowed = n.beforeExpr
},
b.parenR.updateContext = b.braceR.updateContext = function () {
if (1 != this.context.length) {
var e = this.context.pop();
e === X.b_stat && this.curContext() === X.f_expr ? (this.context.pop(), this.exprAllowed = !1) : this.exprAllowed = e === X.b_tmpl || !e.isExpr
} else this.exprAllowed = !0
},
b.braceL.updateContext = function (e) {
this.context.push(this.braceIsBlock(e) ? X.b_stat : X.b_expr),
this.exprAllowed = !0
},
b.dollarBraceL.updateContext = function () {
this.context.push(X.b_tmpl),
this.exprAllowed = !0
},
b.parenL.updateContext = function (e) {
var t = e === b._if || e === b._for || e === b._with || e === b._while;
this.context.push(t ? X.p_stat : X.p_expr),
this.exprAllowed = !0
},
b.incDec.updateContext = function () {
},
b._function.updateContext = function (e) {
e.beforeExpr && e !== b.semi && e !== b._else && (e !== b.colon && e !== b.braceL || this.curContext() !== X.b_stat) && this.context.push(X.f_expr),
this.exprAllowed = !1
},
b.backQuote.updateContext = function () {
this.curContext() === X.q_tmpl ? this.context.pop() : this.context.push(X.q_tmpl),
this.exprAllowed = !1
};
var Q = function (e) {
this.type = e.type,
this.value = e.value,
this.start = e.start,
this.end = e.end,
e.options.locations && (this.loc = new S(e, e.startLoc, e.endLoc)),
e.options.ranges && (this.range = [
e.start,
e.end
])
},
Z = N.prototype,
ee = 'object' == typeof Packages && '[object JavaPackage]' == Object.prototype.toString.call(Packages);
function te(e, t, n, r) {
try {
return new RegExp(e, t)
} catch (e) {
if (void 0 !== n) throw e instanceof SyntaxError && r.raise(n, 'Error parsing regular expression: ' + e.message),
e
}
}
Z.next = function () {
this.options.onToken && this.options.onToken(new Q(this)),
this.lastTokEnd = this.end,
this.lastTokStart = this.start,
this.lastTokEndLoc = this.endLoc,
this.lastTokStartLoc = this.startLoc,
this.nextToken()
},
Z.getToken = function () {
return this.next(),
new Q(this)
},
'undefined' != typeof Symbol && (Z[Symbol.iterator] = function () {
var e = this;
return {
next: function () {
var t = e.getToken();
return {
done: t.type === b.eof,
value: t
}
}
}
}),
Z.curContext = function () {
return this.context[this.context.length - 1]
},
Z.nextToken = function () {
var e = this.curContext();
return e && e.preserveSpace || this.skipSpace(),
this.start = this.pos,
this.options.locations && (this.startLoc = this.curPosition()),
this.pos >= this.input.length ? this.finishToken(b.eof) : e.override ? e.override(this) : void this.readToken(this.fullCharCodeAtPos())
},
Z.readToken = function (e) {
return p(e, this.options.ecmaVersion >= 6) || 92 === e ? this.readWord() : this.getTokenFromCode(e)
},
Z.fullCharCodeAtPos = function () {
var e = this.input.charCodeAt(this.pos);
return e <= 55295 || e >= 57344 ? e : (e << 10) + this.input.charCodeAt(this.pos + 1) - 56613888
},
Z.skipBlockComment = function () {
var e,
t = this.options.onComment && this.curPosition(),
n = this.pos,
r = this.input.indexOf('*/', this.pos += 2);
if ( - 1 === r && this.raise(this.pos - 2, 'Unterminated comment'), this.pos = r + 2, this.options.locations) for (A.lastIndex = n; (e = A.exec(this.input)) && e.index < this.pos; ) ++this.curLine,
this.lineStart = e.index + e[0].length;
this.options.onComment && this.options.onComment(!0, this.input.slice(n + 2, r), n, this.pos, t, this.curPosition())
},
Z.skipLineComment = function (e) {
for (var t = this.pos, n = this.options.onComment && this.curPosition(), r = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && 10 !== r && 13 !== r && 8232 !== r && 8233 !== r; ) ++this.pos,
r = this.input.charCodeAt(this.pos);
this.options.onComment && this.options.onComment(!1, this.input.slice(t + e, this.pos), t, this.pos, n, this.curPosition())
},
Z.skipSpace = function () {
e: for (; this.pos < this.input.length; ) {
var e = this.input.charCodeAt(this.pos);
switch (e) {
case 32:
case 160:
++this.pos;
break;
case 13:
10 === this.input.charCodeAt(this.pos + 1) && ++this.pos;
case 10:
case 8232:
case 8233:
++this.pos,
this.options.locations && (++this.curLine, this.lineStart = this.pos);
break;
case 47:
switch (this.input.charCodeAt(this.pos + 1)) {
case 42:
this.skipBlockComment();
break;
case 47:
this.skipLineComment(2);
break;
default:
break e
}
break;
default:
if (!(e > 8 && e < 14 || e >= 5760 && _.test(String.fromCharCode(e)))) break e;
++this.pos
}
}
},
Z.finishToken = function (e, t) {
this.end = this.pos,
this.options.locations && (this.endLoc = this.curPosition());
var n = this.type;
this.type = e,
this.value = t,
this.updateContext(n)
},
Z.readToken_dot = function () {
var e = this.input.charCodeAt(this.pos + 1);
if (e >= 48 && e <= 57) return this.readNumber(!0);
var t = this.input.charCodeAt(this.pos + 2);
return this.options.ecmaVersion >= 6 && 46 === e && 46 === t ? (this.pos += 3, this.finishToken(b.ellipsis)) : (++this.pos, this.finishToken(b.dot))
},
Z.readToken_slash = function () {
var e = this.input.charCodeAt(this.pos + 1);
return this.exprAllowed ? (++this.pos, this.readRegexp()) : 61 === e ? this.finishOp(b.assign, 2) : this.finishOp(b.slash, 1)
},
Z.readToken_mult_modulo_exp = function (e) {
var t = this.input.charCodeAt(this.pos + 1),
n = 1,
r = 42 === e ? b.star : b.modulo;
return this.options.ecmaVersion >= 7 && 42 === t && (++n, r = b.starstar, t = this.input.charCodeAt(this.pos + 2)),
61 === t ? this.finishOp(b.assign, n + 1) : this.finishOp(r, n)
},
Z.readToken_pipe_amp = function (e) {
var t = this.input.charCodeAt(this.pos + 1);
return t === e ? this.finishOp(124 === e ? b.logicalOR : b.logicalAND, 2) : 61 === t ? this.finishOp(b.assign, 2) : this.finishOp(124 === e ? b.bitwiseOR : b.bitwiseAND, 1)
},
Z.readToken_caret = function () {
return 61 === this.input.charCodeAt(this.pos + 1) ? this.finishOp(b.assign, 2) : this.finishOp(b.bitwiseXOR, 1)
},
Z.readToken_plus_min = function (e) {
var t = this.input.charCodeAt(this.pos + 1);
return t === e ? 45 == t && 62 == this.input.charCodeAt(this.pos + 2) && x.test(this.input.slice(this.lastTokEnd, this.pos)) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(b.incDec, 2) : 61 === t ? this.finishOp(b.assign, 2) : this.finishOp(b.plusMin, 1)
},
Z.readToken_lt_gt = function (e) {
var t = this.input.charCodeAt(this.pos + 1),
n = 1;
return t === e ? (n = 62 === e && 62 === this.input.charCodeAt(this.pos + 2) ? 3 : 2, 61 === this.input.charCodeAt(this.pos + n) ? this.finishOp(b.assign, n + 1) : this.finishOp(b.bitShift, n)) : 33 == t && 60 == e && 45 == this.input.charCodeAt(this.pos + 2) && 45 == this.input.charCodeAt(this.pos + 3) ? (this.inModule && this.unexpected(), this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (61 === t && (n = 2), this.finishOp(b.relational, n))
},
Z.readToken_eq_excl = function (e) {
var t = this.input.charCodeAt(this.pos + 1);
return 61 === t ? this.finishOp(b.equality, 61 === this.input.charCodeAt(this.pos + 2) ? 3 : 2) : 61 === e && 62 === t && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(b.arrow)) : this.finishOp(61 === e ? b.eq : b.prefix, 1)
},
Z.getTokenFromCode = function (e) {
switch (e) {
case 46:
return this.readToken_dot();
case 40:
return ++this.pos,
this.finishToken(b.parenL);
case 41:
return ++this.pos,
this.finishToken(b.parenR);
case 59:
return ++this.pos,
this.finishToken(b.semi);
case 44:
return ++this.pos,
this.finishToken(b.comma);
case 91:
return ++this.pos,
this.finishToken(b.bracketL);
case 93:
return ++this.pos,
this.finishToken(b.bracketR);
case 123:
return ++this.pos,
this.finishToken(b.braceL);
case 125:
return ++this.pos,
this.finishToken(b.braceR);
case 58:
return ++this.pos,
this.finishToken(b.colon);
case 63:
return ++this.pos,
this.finishToken(b.question);
case 96:
if (this.options.ecmaVersion < 6) break;
return ++this.pos,
this.finishToken(b.backQuote);
case 48:
var t = this.input.charCodeAt(this.pos + 1);
if (120 === t || 88 === t) return this.readRadixNumber(16);
if (this.options.ecmaVersion >= 6) {
if (111 === t || 79 === t) return this.readRadixNumber(8);
if (98 === t || 66 === t) 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(e);
case 47:
return this.readToken_slash();
case 37:
case 42:
return this.readToken_mult_modulo_exp(e);
case 124:
case 38:
return this.readToken_pipe_amp(e);
case 94:
return this.readToken_caret();
case 43:
case 45:
return this.readToken_plus_min(e);
case 60:
case 62:
return this.readToken_lt_gt(e);
case 61:
case 33:
return this.readToken_eq_excl(e);
case 126:
return this.finishOp(b.prefix, 1)
}
this.raise(this.pos, 'Unexpected character \'' + re(e) + '\'')
},
Z.finishOp = function (e, t) {
var n = this.input.slice(this.pos, this.pos + t);
return this.pos += t,
this.finishToken(e, n)
};
var ne = !!te('', 'u');
function re(e) {
return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode(55296 + (e >> 10), 56320 + (1023 & e)))
}
Z.readRegexp = function () {
for (var e, t, n = this, r = this.pos; ; ) {
n.pos >= n.input.length && n.raise(r, 'Unterminated regular expression');
var i = n.input.charAt(n.pos);
if (x.test(i) && n.raise(r, 'Unterminated regular expression'), e) e = !1;
else {
if ('[' === i) t = !0;
else if (']' === i && t) t = !1;
else if ('/' === i && !t) break;
e = '\\' === i
}
++n.pos
}
var s = this.input.slice(r, this.pos);
++this.pos;
var o = this.readWord1(),
a = s,
u = '';
if (o) {
var l = /^[gim]*$/;
this.options.ecmaVersion >= 6 && (l = /^[gimuy]*$/),
l.test(o) || this.raise(r, 'Invalid regular expression flag'),
o.indexOf('u') >= 0 && (ne ? u = 'u' : (a = (a = a.replace(/\\u\{([0-9a-fA-F]+)\}/g, function (e, t, i) {
return (t = Number('0x' + t)) > 1114111 && n.raise(r + i + 3, 'Code point out of bounds'),
'x'
})).replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, 'x'), u = u.replace('u', '')))
}
var c = null;
return ee || (te(a, u, r, this), c = te(s, o)),
this.finishToken(b.regexp, {
pattern: s,
flags: o,
value: c
})
},
Z.readInt = function (e, t) {
for (var n = this.pos, r = 0, i = 0, s = null == t ? 1 / 0 : t; i < s; ++i) {
var o,
a = this.input.charCodeAt(this.pos);
if ((o = a >= 97 ? a - 97 + 10 : a >= 65 ? a - 65 + 10 : a >= 48 && a <= 57 ? a - 48 : 1 / 0) >= e) break;
++this.pos,
r = r * e + o
}
return this.pos === n || null != t && this.pos - n !== t ? null : r
},
Z.readRadixNumber = function (e) {
this.pos += 2;
var t = this.readInt(e);
return null == t && this.raise(this.start + 2, 'Expected number in radix ' + e),
p(this.fullCharCodeAtPos()) && this.raise(this.pos, 'Identifier directly after number'),
this.finishToken(b.num, t)
},
Z.readNumber = function (e) {
var t = this.pos,
n = !1,
r = 48 === this.input.charCodeAt(this.pos);
e || null !== this.readInt(10) || this.raise(t, 'Invalid number'),
r && this.pos == t + 1 && (r = !1);
var i = this.input.charCodeAt(this.pos);
46 !== i || r || (++this.pos, this.readInt(10), n = !0, i = this.input.charCodeAt(this.pos)),
69 !== i && 101 !== i || r || (43 !== (i = this.input.charCodeAt(++this.pos)) && 45 !== i || ++this.pos, null === this.readInt(10) && this.raise(t, 'Invalid number'), n = !0),
p(this.fullCharCodeAtPos()) && this.raise(this.pos, 'Identifier directly after number');
var s,
o = this.input.slice(t, this.pos);
return n ? s = parseFloat(o) : r && 1 !== o.length ? /[89]/.test(o) || this.strict ? this.raise(t, 'Invalid number') : s = parseInt(o, 8) : s = parseInt(o, 10),
this.finishToken(b.num, s)
},
Z.readCodePoint = function () {
var e;
if (123 === this.input.charCodeAt(this.pos)) {
this.options.ecmaVersion < 6 && this.unexpected();
var t = ++this.pos;
e = this.readHexChar(this.input.indexOf('}', this.pos) - this.pos),
++this.pos,
e > 1114111 && this.raise(t, 'Code point out of bounds')
} else e = this.readHexChar(4);
return e
},
Z.readString = function (e) {
for (var t = '', n = ++this.pos; ; ) {
this.pos >= this.input.length && this.raise(this.start, 'Unterminated string constant');
var r = this.input.charCodeAt(this.pos);
if (r === e) break;
92 === r ? (t += this.input.slice(n, this.pos), t += this.readEscapedChar(!1), n = this.pos) : (E(r) && this.raise(this.start, 'Unterminated string constant'), ++this.pos)
}
return t += this.input.slice(n, this.pos++),
this.finishToken(b.string, t)
},
Z.readTmplToken = function () {
for (var e = '', t = this.pos; ; ) {
this.pos >= this.input.length && this.raise(this.start, 'Unterminated template');
var n = this.input.charCodeAt(this.pos);
if (96 === n || 36 === n && 123 === this.input.charCodeAt(this.pos + 1)) return this.pos === this.start && this.type === b.template ? 36 === n ? (this.pos += 2, this.finishToken(b.dollarBraceL)) : (++this.pos, this.finishToken(b.backQuote)) : (e += this.input.slice(t, this.pos), this.finishToken(b.template, e));
if (92 === n) e += this.input.slice(t, this.pos),
e += this.readEscapedChar(!0),
t = this.pos;
else if (E(n)) {
switch (e += this.input.slice(t, this.pos), ++this.pos, n) {
case 13:
10 === this.input.charCodeAt(this.pos) && ++this.pos;
case 10:
e += '\n';
break;
default:
e += String.fromCharCode(n)
}
this.options.locations && (++this.curLine, this.lineStart = this.pos),
t = this.pos
} else ++this.pos
}
},
Z.readEscapedChar = function (e) {
var t = this.input.charCodeAt(++this.pos);
switch (++this.pos, t) {
case 110:
return '\n';
case 114:
return '\r';
case 120:
return String.fromCharCode(this.readHexChar(2));
case 117:
return re(this.readCodePoint());
case 116:
return '\t';
case 98:
return '';
case 118:
return '\v';
case 102:
return '\f';
case 13:
10 === this.input.charCodeAt(this.pos) && ++this.pos;
case 10:
return this.options.locations && (this.lineStart = this.pos, ++this.curLine),
'';
default:
if (t >= 48 && t <= 55) {
var n = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/) [0],
r = parseInt(n, 8);
return r > 255 && (n = n.slice(0, - 1), r = parseInt(n, 8)),
'0' !== n && (this.strict || e) && this.raise(this.pos - 2, 'Octal literal in strict mode'),
this.pos += n.length - 1,
String.fromCharCode(r)
}
return String.fromCharCode(t)
}
},
Z.readHexChar = function (e) {
var t = this.pos,
n = this.readInt(16, e);
return null === n && this.raise(t, 'Bad character escape sequence'),
n
},
Z.readWord1 = function () {
this.containsEsc = !1;
for (var e = '', t = !0, n = this.pos, r = this.options.ecmaVersion >= 6; this.pos < this.input.length; ) {
var i = this.fullCharCodeAtPos();
if (h(i, r)) this.pos += i <= 65535 ? 1 : 2;
else {
if (92 !== i) break;
this.containsEsc = !0,
e += this.input.slice(n, this.pos);
var s = this.pos;
117 != this.input.charCodeAt(++this.pos) && this.raise(this.pos, 'Expecting Unicode escape sequence \\uXXXX'),
++this.pos;
var o = this.readCodePoint();
(t ? p : h) (o, r) || this.raise(s, 'Invalid Unicode escape'),
e += re(o),
n = this.pos
}
t = !1
}
return e + this.input.slice(n, this.pos)
},
Z.readWord = function () {
var e = this.readWord1(),
t = b.name;
return this.keywords.test(e) && (this.containsEsc && this.raiseRecoverable(this.start, 'Escape sequence in keyword ' + e), t = y[e]),
this.finishToken(t, e)
};
e.version = '4.0.11',
e.parse = function (e, t) {
return new N(t, e).parse()
},
e.parseExpressionAt = function (e, t, n) {
var r = new N(n, e, t);
return r.nextToken(),
r.parseExpression()
},
e.tokenizer = function (e, t) {
return new N(t, e)
},
e.addLooseExports = function (t, n, r) {
e.parse_dammit = t,
e.LooseParser = n,
e.pluginsLoose = r
},
e.Parser = N,
e.plugins = B,
e.defaultOptions = F,
e.Position = k,
e.SourceLocation = S,
e.getLineInfo = T,
e.Node = Y,
e.TokenType = f,
e.tokTypes = b,
e.keywordTypes = y,
e.TokContext = H,
e.tokContexts = X,
e.isIdentifierChar = h,
e.isIdentifierStart = p,
e.Token = Q,
e.isNewLine = E,
e.lineBreak = x,
e.lineBreakG = A,
Object.defineProperty(e, '__esModule', {
value: !0
})
},
'object' == typeof n && void 0 !== t ? i(n) : 'function' == typeof define && define.amd ? define(['exports'], i) : i(r.acorn = r.acorn || {
})
},
{
}
],
3: [
function (e, t, n) {
var r,
i;
r = this,
i = function (e) {
'use strict';
function t(e) {
return 'string' == typeof e ? function (t) {
return t == e
}
: e || function () {
return !0
}
}
var n = function (e, t) {
this.node = e,
this.state = t
};
var r = Object.create || function (e) {
function t() {
}
return t.prototype = e,
new t
};
function i(e, t, n) {
n(e, t)
}
function s(e, t, n) {
}
var o = {
};
o.Program = o.BlockStatement = function (e, t, n) {
for (var r = 0; r < e.body.length; ++r) n(e.body[r], t, 'Statement')
},
o.Statement = i,
o.EmptyStatement = s,
o.ExpressionStatement = o.ParenthesizedExpression = function (e, t, n) {
return n(e.expression, t, 'Expression')
},
o.IfStatement = function (e, t, n) {
n(e.test, t, 'Expression'),
n(e.consequent, t, 'Statement'),
e.alternate && n(e.alternate, t, 'Statement')
},
o.LabeledStatement = function (e, t, n) {
return n(e.body, t, 'Statement')
},
o.BreakStatement = o.ContinueStatement = s,
o.WithStatement = function (e, t, n) {
n(e.object, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.SwitchStatement = function (e, t, n) {
n(e.discriminant, t, 'Expression');
for (var r = 0; r < e.cases.length; ++r) {
var i = e.cases[r];
i.test && n(i.test, t, 'Expression');
for (var s = 0; s < i.consequent.length; ++s) n(i.consequent[s], t, 'Statement')
}
},
o.ReturnStatement = o.YieldExpression = o.AwaitExpression = function (e, t, n) {
e.argument && n(e.argument, t, 'Expression')
},
o.ThrowStatement = o.SpreadElement = function (e, t, n) {
return n(e.argument, t, 'Expression')
},
o.TryStatement = function (e, t, n) {
n(e.block, t, 'Statement'),
e.handler && n(e.handler, t),
e.finalizer && n(e.finalizer, t, 'Statement')
},
o.CatchClause = function (e, t, n) {
n(e.param, t, 'Pattern'),
n(e.body, t, 'ScopeBody')
},
o.WhileStatement = o.DoWhileStatement = function (e, t, n) {
n(e.test, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.ForStatement = function (e, t, n) {
e.init && n(e.init, t, 'ForInit'),
e.test && n(e.test, t, 'Expression'),
e.update && n(e.update, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.ForInStatement = o.ForOfStatement = function (e, t, n) {
n(e.left, t, 'ForInit'),
n(e.right, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.ForInit = function (e, t, n) {
'VariableDeclaration' == e.type ? n(e, t) : n(e, t, 'Expression')
},
o.DebuggerStatement = s,
o.FunctionDeclaration = function (e, t, n) {
return n(e, t, 'Function')
},
o.VariableDeclaration = function (e, t, n) {
for (var r = 0; r < e.declarations.length; ++r) n(e.declarations[r], t)
},
o.VariableDeclarator = function (e, t, n) {
n(e.id, t, 'Pattern'),
e.init && n(e.init, t, 'Expression')
},
o.Function = function (e, t, n) {
e.id && n(e.id, t, 'Pattern');
for (var r = 0; r < e.params.length; r++) n(e.params[r], t, 'Pattern');
n(e.body, t, e.expression ? 'ScopeExpression' : 'ScopeBody')
},
o.ScopeBody = function (e, t, n) {
return n(e, t, 'Statement')
},
o.ScopeExpression = function (e, t, n) {
return n(e, t, 'Expression')
},
o.Pattern = function (e, t, n) {
'Identifier' == e.type ? n(e, t, 'VariablePattern') : 'MemberExpression' == e.type ? n(e, t, 'MemberPattern') : n(e, t)
},
o.VariablePattern = s,
o.MemberPattern = i,
o.RestElement = function (e, t, n) {
return n(e.argument, t, 'Pattern')
},
o.ArrayPattern = function (e, t, n) {
for (var r = 0; r < e.elements.length; ++r) {
var i = e.elements[r];
i && n(i, t, 'Pattern')
}
},
o.ObjectPattern = function (e, t, n) {
for (var r = 0; r < e.properties.length; ++r) n(e.properties[r].value, t, 'Pattern')
},
o.Expression = i,
o.ThisExpression = o.Super = o.MetaProperty = s,
o.ArrayExpression = function (e, t, n) {
for (var r = 0; r < e.elements.length; ++r) {
var i = e.elements[r];
i && n(i, t, 'Expression')
}
},
o.ObjectExpression = function (e, t, n) {
for (var r = 0; r < e.properties.length; ++r) n(e.properties[r], t)
},
o.FunctionExpression = o.ArrowFunctionExpression = o.FunctionDeclaration,
o.SequenceExpression = o.TemplateLiteral = function (e, t, n) {
for (var r = 0; r < e.expressions.length; ++r) n(e.expressions[r], t, 'Expression')
},
o.UnaryExpression = o.UpdateExpression = function (e, t, n) {
n(e.argument, t, 'Expression')
},
o.BinaryExpression = o.LogicalExpression = function (e, t, n) {
n(e.left, t, 'Expression'),
n(e.right, t, 'Expression')
},
o.AssignmentExpression = o.AssignmentPattern = function (e, t, n) {
n(e.left, t, 'Pattern'),
n(e.right, t, 'Expression')
},
o.ConditionalExpression = function (e, t, n) {
n(e.test, t, 'Expression'),
n(e.consequent, t, 'Expression'),
n(e.alternate, t, 'Expression')
},
o.NewExpression = o.CallExpression = function (e, t, n) {
if (n(e.callee, t, 'Expression'), e.arguments) for (var r = 0; r < e.arguments.length; ++r) n(e.arguments[r], t, 'Expression')
},
o.MemberExpression = function (e, t, n) {
n(e.object, t, 'Expression'),
e.computed && n(e.property, t, 'Expression')
},
o.ExportNamedDeclaration = o.ExportDefaultDeclaration = function (e, t, n) {
e.declaration && n(e.declaration, t, 'ExportNamedDeclaration' == e.type || e.declaration.id ? 'Statement' : 'Expression'),
e.source && n(e.source, t, 'Expression')
},
o.ExportAllDeclaration = function (e, t, n) {
n(e.source, t, 'Expression')
},
o.ImportDeclaration = function (e, t, n) {
for (var r = 0; r < e.specifiers.length; r++) n(e.specifiers[r], t);
n(e.source, t, 'Expression')
},
o.ImportSpecifier = o.ImportDefaultSpecifier = o.ImportNamespaceSpecifier = o.Identifier = o.Literal = s,
o.TaggedTemplateExpression = function (e, t, n) {
n(e.tag, t, 'Expression'),
n(e.quasi, t)
},
o.ClassDeclaration = o.ClassExpression = function (e, t, n) {
return n(e, t, 'Class')
},
o.Class = function (e, t, n) {
e.id && n(e.id, t, 'Pattern'),
e.superClass && n(e.superClass, t, 'Expression');
for (var r = 0; r < e.body.body.length; r++) n(e.body.body[r], t)
},
o.MethodDefinition = o.Property = function (e, t, n) {
e.computed && n(e.key, t, 'Expression'),
n(e.value, t, 'Expression')
},
e.simple = function (t, n, r, i, s) {
r || (r = e.base),
function e(t, i, s) {
var o = s || t.type,
a = n[o];
r[o](t, i, e),
a && a(t, i)
}(t, i, s)
},
e.ancestor = function (t, n, r, i) {
r || (r = e.base);
var s = [
];
!function e(t, i, o) {
var a = o || t.type,
u = n[a],
l = t != s[s.length - 1];
l && s.push(t),
r[a](t, i, e),
u && u(t, i || s, s),
l && s.pop()
}(t, i)
},
e.recursive = function (t, n, r, i, s) {
var o = r ? e.make(r, i) : i;
!function e(t, n, r) {
o[r || t.type](t, n, e)
}(t, n, s)
},
e.findNodeAt = function (r, i, s, o, a, u) {
o = t(o),
a || (a = e.base);
try {
!function e(t, r, u) {
var l = u || t.type;
if ((null == i || t.start <= i) && (null == s || t.end >= s) && a[l](t, r, e), (null == i || t.start == i) && (null == s || t.end == s) && o(l, t)) throw new n(t, r)
}(r, u)
} catch (e) {
if (e instanceof n) return e;
throw e
}
},
e.findNodeAround = function (r, i, s, o, a) {
s = t(s),
o || (o = e.base);
try {
!function e(t, r, a) {
var u = a || t.type;
if (!(t.start > i || t.end < i) && (o[u](t, r, e), s(u, t))) throw new n(t, r)
}(r, a)
} catch (e) {
if (e instanceof n) return e;
throw e
}
},
e.findNodeAfter = function (r, i, s, o, a) {
s = t(s),
o || (o = e.base);
try {
!function e(t, r, a) {
if (!(t.end < i)) {
var u = a || t.type;
if (t.start >= i && s(u, t)) throw new n(t, r);
o[u](t, r, e)
}
}(r, a)
} catch (e) {
if (e instanceof n) return e;
throw e
}
},
e.findNodeBefore = function (r, i, s, o, a) {
var u;
return s = t(s),
o || (o = e.base),
function e(t, r, a) {
if (!(t.start > i)) {
var l = a || t.type;
t.end <= i && (!u || u.node.end < t.end) && s(l, t) && (u = new n(t, r)),
o[l](t, r, e)
}
}(r, a),
u
},
e.make = function (t, n) {
n || (n = e.base);
var i = r(n);
for (var s in t) i[s] = t[s];
return i
},
e.base = o,
Object.defineProperty(e, '__esModule', {
value: !0
})
},
'object' == typeof n && void 0 !== t ? i(n) : 'function' == typeof define && define.amd ? define(['exports'], i) : i((r.acorn = r.acorn || {
}, r.acorn.walk = r.acorn.walk || {
}))
},
{
}
],
4: [
function (e, t, n) {
var r,
i;
r = this,
i = function (e) {
'use strict';
var t = {
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',
7: 'enum',
strict: 'implements interface let package private protected public static yield',
strictBind: 'eval arguments'
},
n = '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',
r = {
5: n,
6: n + ' const class extends export import super'
},
i = 'ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ',
s = '·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_',
o = new RegExp('[' + i + ']'),
a = new RegExp('[' + i + s + ']');
i = s = 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,
17,
26,
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,
26,
45,
28,
4,
28,
36,
7,
2,
27,
28,
53,
11,
21,
11,
18,
14,
17,
111,
72,
56,
50,
14,
50,
785,
52,
76,
44,
33,
24,
27,
35,
42,
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,
25,
391,
63,
32,
0,
449,
56,
264,
8,
2,
36,
18,
0,
50,
29,
881,
921,
103,
110,
18,
195,
2749,
1070,
4050,
582,
8634,
568,
8,
30,
114,
29,
19,
47,
17,
3,
32,
20,
6,
18,
881,
68,
12,
0,
67,
12,
65,
0,
32,
6124,
20,
754,
9486,
1,
3071,
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,
10591,
541
],
l = [
509,
0,
227,
0,
150,
4,
294,
9,
1368,
2,
2,
1,
6,
3,
41,
2,
5,
0,
166,
1,
1306,
2,
54,
14,
32,
9,
16,
3,
46,
10,
54,
9,
7,
2,
37,
13,
2,
9,
52,
0,
13,
2,
49,
13,
10,
2,
4,
9,
83,
11,
7,
0,
161,
11,
6,
9,
7,
3,
57,
0,
2,
6,
3,
1,
3,
2,
10,
0,
11,
1,
3,
6,
4,
4,
193,
17,
10,
9,
87,
19,
13,
9,
214,
6,
3,
8,
28,
1,
83,
16,
16,
9,
82,
12,
9,
9,
84,
14,
5,
9,
423,
9,
838,
7,
2,
7,
17,
9,
57,
21,
2,
13,
19882,
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 c(e, t) {
for (var n = 65536, r = 0; r < t.length; r += 2) {
if ((n += t[r]) > e) return !1;
if ((n += t[r + 1]) >= e) return !0
}
}
function p(e, t) {
return e < 65 ? 36 === e : e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && o.test(String.fromCharCode(e)) : !1 !== t && c(e, u)))
}
function h(e, t) {
return e < 48 ? 36 === e : e < 58 || !(e < 65) && (e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && a.test(String.fromCharCode(e)) : !1 !== t && (c(e, u) || c(e, l)))))
}
var f = function (e, t) {
void 0 === t && (t = {
}),
this.label = e,
this.keyword = t.keyword,
this.beforeExpr = !!t.beforeExpr,
this.startsExpr = !!t.startsExpr,
this.isLoop = !!t.isLoop,
this.isAssign = !!t.isAssign,
this.prefix = !!t.prefix,
this.postfix = !!t.postfix,
this.binop = t.binop || null,
this.updateContext = null
};
function d(e, t) {
return new f(e, {
beforeExpr: !0,
binop: t
})
}
var m = {
beforeExpr: !0
},
g = {
startsExpr: !0
},
y = {
};
function v(e, t) {
return void 0 === t && (t = {
}),
t.keyword = e,
y[e] = new f(e, t)
}
var b = {
num: new f('num', g),
regexp: new f('regexp', g),
string: new f('string', g),
name: new f('name', g),
eof: new f('eof'),
bracketL: new f('[', {
beforeExpr: !0,
startsExpr: !0
}),
bracketR: new f(']'),
braceL: new f('{', {
beforeExpr: !0,
startsExpr: !0
}),
braceR: new f('}'),
parenL: new f('(', {
beforeExpr: !0,
startsExpr: !0
}),
parenR: new f(')'),
comma: new f(',', m),
semi: new f(';', m),
colon: new f(':', m),
dot: new f('.'),
question: new f('?', m),
arrow: new f('=>', m),
template: new f('template'),
ellipsis: new f('...', m),
backQuote: new f('`', g),
dollarBraceL: new f('${', {
beforeExpr: !0,
startsExpr: !0
}),
eq: new f('=', {
beforeExpr: !0,
isAssign: !0
}),
assign: new f('_=', {
beforeExpr: !0,
isAssign: !0
}),
incDec: new f('++/--', {
prefix: !0,
postfix: !0,
startsExpr: !0
}),
prefix: new f('prefix', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
logicalOR: d('||', 1),
logicalAND: d('&&', 2),
bitwiseOR: d('|', 3),
bitwiseXOR: d('^', 4),
bitwiseAND: d('&', 5),
equality: d('==/!=', 6),
relational: d('>', 7),
bitShift: d('<>>', 8),
plusMin: new f('+/-', {
beforeExpr: !0,
binop: 9,
prefix: !0,
startsExpr: !0
}),
modulo: d('%', 10),
star: d('*', 10),
slash: d('/', 10),
starstar: new f('**', {
beforeExpr: !0
}),
_break: v('break'),
_case: v('case', m),
_catch: v('catch'),
_continue: v('continue'),
_debugger: v('debugger'),
_default: v('default', m),
_do: v('do', {
isLoop: !0,
beforeExpr: !0
}),
_else: v('else', m),
_finally: v('finally'),
_for: v('for', {
isLoop: !0
}),
_function: v('function', g),
_if: v('if'),
_return: v('return', m),
_switch: v('switch'),
_throw: v('throw', m),
_try: v('try'),
_var: v('var'),
_const: v('const'),
_while: v('while', {
isLoop: !0
}),
_with: v('with'),
_new: v('new', {
beforeExpr: !0,
startsExpr: !0
}),
_this: v('this', g),
_super: v('super', g),
_class: v('class'),
_extends: v('extends', m),
_export: v('export'),
_import: v('import'),
_null: v('null', g),
_true: v('true', g),
_false: v('false', g),
_in: v('in', {
beforeExpr: !0,
binop: 7
}),
_instanceof: v('instanceof', {
beforeExpr: !0,
binop: 7
}),
_typeof: v('typeof', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
_void: v('void', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
_delete: v('delete', {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
})
},
x = /\r\n?|\n|\u2028|\u2029/,
A = new RegExp(x.source, 'g');
function E(e) {
return 10 === e || 13 === e || 8232 === e || 8233 == e
}
var _ = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,
C = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
function w(e) {
return '[object Array]' === Object.prototype.toString.call(e)
}
function D(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
var k = function (e, t) {
this.line = e,
this.column = t
};
k.prototype.offset = function (e) {
return new k(this.line, this.column + e)
};
var S = function (e, t, n) {
this.start = t,
this.end = n,
null !== e.sourceFile && (this.source = e.sourceFile)
};
function T(e, t) {
for (var n = 1, r = 0; ; ) {
A.lastIndex = r;
var i = A.exec(e);
if (!(i && i.index < t)) return new k(n, t - r);
++n,
r = i.index + i[0].length
}
}
var F = {
ecmaVersion: 6,
sourceType: 'script',
onInsertedSemicolon: null,
onTrailingComma: null,
allowReserved: null,
allowReturnOutsideFunction: !1,
allowImportExportEverywhere: !1,
allowHashBang: !1,
locations: !1,
onToken: null,
onComment: null,
ranges: !1,
program: null,
sourceFile: null,
directSourceFile: null,
preserveParens: !1,
plugins: {
}
};
function O(e) {
var t = {
};
for (var n in F) t[n] = e && D(e, n) ? e[n] : F[n];
if (null == t.allowReserved && (t.allowReserved = t.ecmaVersion < 5), w(t.onToken)) {
var r = t.onToken;
t.onToken = function (e) {
return r.push(e)
}
}
return w(t.onComment) && (t.onComment = function (e, t) {
return function (n, r, i, s, o, a) {
var u = {
type: n ? 'Block' : 'Line',
value: r,
start: i,
end: s
};
e.locations && (u.loc = new S(this, o, a)),
e.ranges && (u.range = [
i,
s
]),
t.push(u)
}
}(t, t.onComment)),
t
}
var B = {
};
function P(e) {
return new RegExp('^(' + e.replace(/ /g, '|') + ')$')
}
var N = function (e, n, i) {
this.options = e = O(e),
this.sourceFile = e.sourceFile,
this.keywords = P(r[e.ecmaVersion >= 6 ? 6 : 5]);
var s = e.allowReserved ? '' : t[e.ecmaVersion] + ('module' == e.sourceType ? ' await' : '');
this.reservedWords = P(s);
var o = (s ? s + ' ' : '') + t.strict;
this.reservedWordsStrict = P(o),
this.reservedWordsStrictBind = P(o + ' ' + t.strictBind),
this.input = String(n),
this.containsEsc = !1,
this.loadPlugins(e.plugins),
i ? (this.pos = i, this.lineStart = Math.max(0, this.input.lastIndexOf('\n', i)), this.curLine = this.input.slice(0, this.lineStart).split(x).length) : (this.pos = this.lineStart = 0, this.curLine = 1),
this.type = b.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.strict = this.inModule = 'module' === e.sourceType,
this.potentialArrowAt = - 1,
this.inFunction = this.inGenerator = !1,
this.labels = [
],
0 === this.pos && e.allowHashBang && '#!' === this.input.slice(0, 2) && this.skipLineComment(2)
};
N.prototype.isKeyword = function (e) {
return this.keywords.test(e)
},
N.prototype.isReservedWord = function (e) {
return this.reservedWords.test(e)
},
N.prototype.extend = function (e, t) {
this[e] = t(this[e])
},
N.prototype.loadPlugins = function (e) {
for (var t in e) {
var n = B[t];
if (!n) throw new Error('Plugin \'' + t + '\' not found');
n(this, e[t])
}
},
N.prototype.parse = function () {
var e = this.options.program || this.startNode();
return this.nextToken(),
this.parseTopLevel(e)
};
var R = N.prototype;
R.isUseStrict = function (e) {
return this.options.ecmaVersion >= 5 && 'ExpressionStatement' === e.type && 'Literal' === e.expression.type && 'use strict' === e.expression.raw.slice(1, - 1)
},
R.eat = function (e) {
return this.type === e && (this.next(), !0)
},
R.isContextual = function (e) {
return this.type === b.name && this.value === e
},
R.eatContextual = function (e) {
return this.value === e && this.eat(b.name)
},
R.expectContextual = function (e) {
this.eatContextual(e) || this.unexpected()
},
R.canInsertSemicolon = function () {
return this.type === b.eof || this.type === b.braceR || x.test(this.input.slice(this.lastTokEnd, this.start))
},
R.insertSemicolon = function () {
if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc),
!0
},
R.semicolon = function () {
this.eat(b.semi) || this.insertSemicolon() || this.unexpected()
},
R.afterTrailingComma = function (e) {
if (this.type == e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc),
this.next(),
!0
},
R.expect = function (e) {
this.eat(e) || this.unexpected()
},
R.unexpected = function (e) {
this.raise(null != e ? e : this.start, 'Unexpected token')
};
var L = function () {
this.shorthandAssign = 0,
this.trailingComma = 0
};
R.checkPatternErrors = function (e, t) {
var n = e && e.trailingComma;
if (!t) return !!n;
n && this.raise(n, 'Comma is not permitted after the rest element')
},
R.checkExpressionErrors = function (e, t) {
var n = e && e.shorthandAssign;
if (!t) return !!n;
n && this.raise(n, 'Shorthand property assignments are valid only in destructuring patterns')
};
var I = N.prototype;
I.parseTopLevel = function (e) {
var t = !0;
for (e.body || (e.body = [
]); this.type !== b.eof; ) {
var n = this.parseStatement(!0, !0);
e.body.push(n),
t && (this.isUseStrict(n) && this.setStrict(!0), t = !1)
}
return this.next(),
this.options.ecmaVersion >= 6 && (e.sourceType = this.options.sourceType),
this.finishNode(e, 'Program')
};
var j = {
kind: 'loop'
},
M = {
kind: 'switch'
};
I.isLet = function () {
if (this.type !== b.name || this.options.ecmaVersion < 6 || 'let' != this.value) return !1;
C.lastIndex = this.pos;
var e = C.exec(this.input),
t = this.pos + e[0].length,
n = this.input.charCodeAt(t);
if (91 === n || 123 == n) return !0;
if (p(n, !0)) {
for (var r = t + 1; h(this.input.charCodeAt(r), !0); ++r);
var i = this.input.slice(t, r);
if (!this.isKeyword(i)) return !0
}
return !1
},
I.parseStatement = function (e, t) {
var n,
r = this.type,
i = this.startNode();
switch (this.isLet() && (r = b._var, n = 'let'), r) {
case b._break:
case b._continue:
return this.parseBreakContinueStatement(i, r.keyword);
case b._debugger:
return this.parseDebuggerStatement(i);
case b._do:
return this.parseDoStatement(i);
case b._for:
return this.parseForStatement(i);
case b._function:
return !e && this.options.ecmaVersion >= 6 && this.unexpected(),
this.parseFunctionStatement(i);
case b._class:
return e || this.unexpected(),
this.parseClass(i, !0);
case b._if:
return this.parseIfStatement(i);
case b._return:
return this.parseReturnStatement(i);
case b._switch:
return this.parseSwitchStatement(i);
case b._throw:
return this.parseThrowStatement(i);
case b._try:
return this.parseTryStatement(i);
case b._const:
case b._var:
return n = n || this.value,
e || 'var' == n || this.unexpected(),
this.parseVarStatement(i, n);
case b._while:
return this.parseWhileStatement(i);
case b._with:
return this.parseWithStatement(i);
case b.braceL:
return this.parseBlock();
case b.semi:
return this.parseEmptyStatement(i);
case b._export:
case b._import:
return this.options.allowImportExportEverywhere || (t || 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 === b._import ? this.parseImport(i) : this.parseExport(i);
default:
var s = this.value,
o = this.parseExpression();
return r === b.name && 'Identifier' === o.type && this.eat(b.colon) ? this.parseLabeledStatement(i, s, o) : this.parseExpressionStatement(i, o)
}
},
I.parseBreakContinueStatement = function (e, t) {
var n = 'break' == t;
this.next(),
this.eat(b.semi) || this.insertSemicolon() ? e.label = null : this.type !== b.name ? this.unexpected() : (e.label = this.parseIdent(), this.semicolon());
for (var r = 0; r < this.labels.length; ++r) {
var i = this.labels[r];
if (null == e.label || i.name === e.label.name) {
if (null != i.kind && (n || 'loop' === i.kind)) break;
if (e.label && n) break
}
}
return r === this.labels.length && this.raise(e.start, 'Unsyntactic ' + t),
this.finishNode(e, n ? 'BreakStatement' : 'ContinueStatement')
},
I.parseDebuggerStatement = function (e) {
return this.next(),
this.semicolon(),
this.finishNode(e, 'DebuggerStatement')
},
I.parseDoStatement = function (e) {
return this.next(),
this.labels.push(j),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.expect(b._while),
e.test = this.parseParenExpression(),
this.options.ecmaVersion >= 6 ? this.eat(b.semi) : this.semicolon(),
this.finishNode(e, 'DoWhileStatement')
},
I.parseForStatement = function (e) {
if (this.next(), this.labels.push(j), this.expect(b.parenL), this.type === b.semi) return this.parseFor(e, null);
var t = this.isLet();
if (this.type === b._var || this.type === b._const || t) {
var n = this.startNode(),
r = t ? 'let' : this.value;
return this.next(),
this.parseVar(n, !0, r),
this.finishNode(n, 'VariableDeclaration'),
!(this.type === b._in || this.options.ecmaVersion >= 6 && this.isContextual('of')) || 1 !== n.declarations.length || 'var' !== r && n.declarations[0].init ? this.parseFor(e, n) : this.parseForIn(e, n)
}
var i = new L,
s = this.parseExpression(!0, i);
return this.type === b._in || this.options.ecmaVersion >= 6 && this.isContextual('of') ? (this.checkPatternErrors(i, !0), this.toAssignable(s), this.checkLVal(s), this.parseForIn(e, s)) : (this.checkExpressionErrors(i, !0), this.parseFor(e, s))
},
I.parseFunctionStatement = function (e) {
return this.next(),
this.parseFunction(e, !0)
},
I.parseIfStatement = function (e) {
return this.next(),
e.test = this.parseParenExpression(),
e.consequent = this.parseStatement(!1),
e.alternate = this.eat(b._else) ? this.parseStatement(!1) : null,
this.finishNode(e, 'IfStatement')
},
I.parseReturnStatement = function (e) {
return this.inFunction || this.options.allowReturnOutsideFunction || this.raise(this.start, '\'return\' outside of function'),
this.next(),
this.eat(b.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()),
this.finishNode(e, 'ReturnStatement')
},
I.parseSwitchStatement = function (e) {
this.next(),
e.discriminant = this.parseParenExpression(),
e.cases = [
],
this.expect(b.braceL),
this.labels.push(M);
for (var t, n = !1; this.type != b.braceR; ) if (this.type === b._case || this.type === b._default) {
var r = this.type === b._case;
t && this.finishNode(t, 'SwitchCase'),
e.cases.push(t = this.startNode()),
t.consequent = [
],
this.next(),
r ? t.test = this.parseExpression() : (n && this.raiseRecoverable(this.lastTokStart, 'Multiple default clauses'), n = !0, t.test = null),
this.expect(b.colon)
} else t || this.unexpected(),
t.consequent.push(this.parseStatement(!0));
return t && this.finishNode(t, 'SwitchCase'),
this.next(),
this.labels.pop(),
this.finishNode(e, 'SwitchStatement')
},
I.parseThrowStatement = function (e) {
return this.next(),
x.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, 'Illegal newline after throw'),
e.argument = this.parseExpression(),
this.semicolon(),
this.finishNode(e, 'ThrowStatement')
};
var U = [
];
I.parseTryStatement = function (e) {
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === b._catch) {
var t = this.startNode();
this.next(),
this.expect(b.parenL),
t.param = this.parseBindingAtom(),
this.checkLVal(t.param, !0),
this.expect(b.parenR),
t.body = this.parseBlock(),
e.handler = this.finishNode(t, 'CatchClause')
}
return e.finalizer = this.eat(b._finally) ? this.parseBlock() : null,
e.handler || e.finalizer || this.raise(e.start, 'Missing catch or finally clause'),
this.finishNode(e, 'TryStatement')
},
I.parseVarStatement = function (e, t) {
return this.next(),
this.parseVar(e, !1, t),
this.semicolon(),
this.finishNode(e, 'VariableDeclaration')
},
I.parseWhileStatement = function (e) {
return this.next(),
e.test = this.parseParenExpression(),
this.labels.push(j),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.finishNode(e, 'WhileStatement')
},
I.parseWithStatement = function (e) {
return this.strict && this.raise(this.start, '\'with\' in strict mode'),
this.next(),
e.object = this.parseParenExpression(),
e.body = this.parseStatement(!1),
this.finishNode(e, 'WithStatement')
},
I.parseEmptyStatement = function (e) {
return this.next(),
this.finishNode(e, 'EmptyStatement')
},
I.parseLabeledStatement = function (e, t, n) {
for (var r = 0; r < this.labels.length; ++r) this.labels[r].name === t && this.raise(n.start, 'Label \'' + t + '\' is already declared');
for (var i = this.type.isLoop ? 'loop' : this.type === b._switch ? 'switch' : null, s = this.labels.length - 1; s >= 0; s--) {
var o = this.labels[s];
if (o.statementStart != e.start) break;
o.statementStart = this.start,
o.kind = i
}
return this.labels.push({
name: t,
kind: i,
statementStart: this.start
}),
e.body = this.parseStatement(!0),
this.labels.pop(),
e.label = n,
this.finishNode(e, 'LabeledStatement')
},
I.parseExpressionStatement = function (e, t) {
return e.expression = t,
this.semicolon(),
this.finishNode(e, 'ExpressionStatement')
},
I.parseBlock = function (e) {
var t,
n = this.startNode(),
r = !0;
for (n.body = [
], this.expect(b.braceL); !this.eat(b.braceR); ) {
var i = this.parseStatement(!0);
n.body.push(i),
r && e && this.isUseStrict(i) && (t = this.strict, this.setStrict(this.strict = !0)),
r = !1
}
return !1 === t && this.setStrict(!1),
this.finishNode(n, 'BlockStatement')
},
I.parseFor = function (e, t) {
return e.init = t,
this.expect(b.semi),
e.test = this.type === b.semi ? null : this.parseExpression(),
this.expect(b.semi),
e.update = this.type === b.parenR ? null : this.parseExpression(),
this.expect(b.parenR),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.finishNode(e, 'ForStatement')
},
I.parseForIn = function (e, t) {
var n = this.type === b._in ? 'ForInStatement' : 'ForOfStatement';
return this.next(),
e.left = t,
e.right = this.parseExpression(),
this.expect(b.parenR),
e.body = this.parseStatement(!1),
this.labels.pop(),
this.finishNode(e, n)
},
I.parseVar = function (e, t, n) {
for (e.declarations = [
], e.kind = n; ; ) {
var r = this.startNode();
if (this.parseVarId(r), this.eat(b.eq) ? r.init = this.parseMaybeAssign(t) : 'const' !== n || this.type === b._in || this.options.ecmaVersion >= 6 && this.isContextual('of') ? 'Identifier' == r.id.type || t && (this.type === b._in || this.isContextual('of')) ? r.init = null : this.raise(this.lastTokEnd, 'Complex binding patterns require an initialization value') : this.unexpected(), e.declarations.push(this.finishNode(r, 'VariableDeclarator')), !this.eat(b.comma)) break
}
return e
},
I.parseVarId = function (e) {
e.id = this.parseBindingAtom(),
this.checkLVal(e.id, !0)
},
I.parseFunction = function (e, t, n) {
this.initFunction(e),
this.options.ecmaVersion >= 6 && (e.generator = this.eat(b.star));
var r = this.inGenerator;
return this.inGenerator = e.generator,
(t || this.type === b.name) && (e.id = this.parseIdent()),
this.parseFunctionParams(e),
this.parseFunctionBody(e, n),
this.inGenerator = r,
this.finishNode(e, t ? 'FunctionDeclaration' : 'FunctionExpression')
},
I.parseFunctionParams = function (e) {
this.expect(b.parenL),
e.params = this.parseBindingList(b.parenR, !1, !1, !0)
},
I.parseClass = function (e, t) {
this.next(),
this.parseClassId(e, t),
this.parseClassSuper(e);
var n = this.startNode(),
r = !1;
for (n.body = [
], this.expect(b.braceL); !this.eat(b.braceR); ) if (!this.eat(b.semi)) {
var i = this.startNode(),
s = this.eat(b.star),
o = this.type === b.name && 'static' === this.value;
this.parsePropertyName(i),
i.static = o && this.type !== b.parenL,
i.static && (s && this.unexpected(), s = this.eat(b.star), this.parsePropertyName(i)),
i.kind = 'method';
var a = !1;
if (!i.computed) {
var u = i.key;
s || 'Identifier' !== u.type || this.type === b.parenL || 'get' !== u.name && 'set' !== u.name || (a = !0, i.kind = u.name, u = this.parsePropertyName(i)),
!i.static && ('Identifier' === u.type && 'constructor' === u.name || 'Literal' === u.type && 'constructor' === u.value) && (r && this.raise(u.start, 'Duplicate constructor in the same class'), a && this.raise(u.start, 'Constructor can\'t have get/set modifier'), s && this.raise(u.start, 'Constructor can\'t be a generator'), i.kind = 'constructor', r = !0)
}
if (this.parseClassMethod(n, i, s), a) {
var l = 'get' === i.kind ? 0 : 1;
if (i.value.params.length !== l) {
var c = i.value.start;
'get' === i.kind ? this.raiseRecoverable(c, 'getter should have no params') : this.raiseRecoverable(c, 'setter should have exactly one param')
}
'set' === i.kind && 'RestElement' === i.value.params[0].type && this.raise(i.value.params[0].start, 'Setter cannot use rest params')
}
}
return e.body = this.finishNode(n, 'ClassBody'),
this.finishNode(e, t ? 'ClassDeclaration' : 'ClassExpression')
},
I.parseClassMethod = function (e, t, n) {
t.value = this.parseMethod(n),
e.body.push(this.finishNode(t, 'MethodDefinition'))
},
I.parseClassId = function (e, t) {
e.id = this.type === b.name ? this.parseIdent() : t ? this.unexpected() : null
},
I.parseClassSuper = function (e) {
e.superClass = this.eat(b._extends) ? this.parseExprSubscripts() : null
},
I.parseExport = function (e) {
if (this.next(), this.eat(b.star)) return this.expectContextual('from'),
e.source = this.type === b.string ? this.parseExprAtom() : this.unexpected(),
this.semicolon(),
this.finishNode(e, 'ExportAllDeclaration');
if (this.eat(b._default)) {
var t = this.type == b.parenL,
n = this.parseMaybeAssign(),
r = !0;
return t || 'FunctionExpression' != n.type && 'ClassExpression' != n.type || (r = !1, n.id && (n.type = 'FunctionExpression' == n.type ? 'FunctionDeclaration' : 'ClassDeclaration')),
e.declaration = n,
r && this.semicolon(),
this.finishNode(e, 'ExportDefaultDeclaration')
}
if (this.shouldParseExportStatement()) e.declaration = this.parseStatement(!0),
e.specifiers = [
],
e.source = null;
else {
if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(), this.eatContextual('from')) e.source = this.type === b.string ? this.parseExprAtom() : this.unexpected();
else {
for (var i = 0; i < e.specifiers.length; i++) (this.keywords.test(e.specifiers[i].local.name) || this.reservedWords.test(e.specifiers[i].local.name)) && this.unexpected(e.specifiers[i].local.start);
e.source = null
}
this.semicolon()
}
return this.finishNode(e, 'ExportNamedDeclaration')
},
I.shouldParseExportStatement = function () {
return this.type.keyword || this.isLet()
},
I.parseExportSpecifiers = function () {
var e = [
],
t = !0;
for (this.expect(b.braceL); !this.eat(b.braceR); ) {
if (t) t = !1;
else if (this.expect(b.comma), this.afterTrailingComma(b.braceR)) break;
var n = this.startNode();
n.local = this.parseIdent(this.type === b._default),
n.exported = this.eatContextual('as') ? this.parseIdent(!0) : n.local,
e.push(this.finishNode(n, 'ExportSpecifier'))
}
return e
},
I.parseImport = function (e) {
return this.next(),
this.type === b.string ? (e.specifiers = U, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual('from'), e.source = this.type === b.string ? this.parseExprAtom() : this.unexpected()),
this.semicolon(),
this.finishNode(e, 'ImportDeclaration')
},
I.parseImportSpecifiers = function () {
var e = [
],
t = !0;
if (this.type === b.name) {
var n = this.startNode();
if (n.local = this.parseIdent(), this.checkLVal(n.local, !0), e.push(this.finishNode(n, 'ImportDefaultSpecifier')), !this.eat(b.comma)) return e
}
if (this.type === b.star) {
var r = this.startNode();
return this.next(),
this.expectContextual('as'),
r.local = this.parseIdent(),
this.checkLVal(r.local, !0),
e.push(this.finishNode(r, 'ImportNamespaceSpecifier')),
e
}
for (this.expect(b.braceL); !this.eat(b.braceR); ) {
if (t) t = !1;
else if (this.expect(b.comma), this.afterTrailingComma(b.braceR)) break;
var i = this.startNode();
i.imported = this.parseIdent(!0),
this.eatContextual('as') ? i.local = this.parseIdent() : (i.local = i.imported, this.isKeyword(i.local.name) && this.unexpected(i.local.start), this.reservedWordsStrict.test(i.local.name) && this.raise(i.local.start, 'The keyword \'' + i.local.name + '\' is reserved')),
this.checkLVal(i.local, !0),
e.push(this.finishNode(i, 'ImportSpecifier'))
}
return e
};
var V = N.prototype;
V.toAssignable = function (e, t) {
if (this.options.ecmaVersion >= 6 && e) switch (e.type) {
case 'Identifier':
case 'ObjectPattern':
case 'ArrayPattern':
break;
case 'ObjectExpression':
e.type = 'ObjectPattern';
for (var n = 0; n < e.properties.length; n++) {
var r = e.properties[n];
'init' !== r.kind && this.raise(r.key.start, 'Object pattern can\'t contain getter or setter'),
this.toAssignable(r.value, t)
}
break;
case 'ArrayExpression':
e.type = 'ArrayPattern',
this.toAssignableList(e.elements, t);
break;
case 'AssignmentExpression':
if ('=' !== e.operator) {
this.raise(e.left.end, 'Only \'=\' operator can be used for specifying default value.');
break
}
e.type = 'AssignmentPattern',
delete e.operator;
case 'AssignmentPattern':
'YieldExpression' === e.right.type && this.raise(e.right.start, 'Yield expression cannot be a default value');
break;
case 'ParenthesizedExpression':
e.expression = this.toAssignable(e.expression, t);
break;
case 'MemberExpression':
if (!t) break;
default:
this.raise(e.start, 'Assigning to rvalue')
}
return e
},
V.toAssignableList = function (e, t) {
var n = e.length;
if (n) {
var r = e[n - 1];
if (r && 'RestElement' == r.type) --n;
else if (r && 'SpreadElement' == r.type) {
r.type = 'RestElement';
var i = r.argument;
this.toAssignable(i, t),
'Identifier' !== i.type && 'MemberExpression' !== i.type && 'ArrayPattern' !== i.type && this.unexpected(i.start),
--n
}
t && r && 'RestElement' === r.type && 'Identifier' !== r.argument.type && this.unexpected(r.argument.start)
}
for (var s = 0; s < n; s++) {
var o = e[s];
o && this.toAssignable(o, t)
}
return e
},
V.parseSpread = function (e) {
var t = this.startNode();
return this.next(),
t.argument = this.parseMaybeAssign(!1, e),
this.finishNode(t, 'SpreadElement')
},
V.parseRest = function (e) {
var t = this.startNode();
return this.next(),
t.argument = e ? this.type === b.name ? this.parseIdent() : this.unexpected() : this.type === b.name || this.type === b.bracketL ? this.parseBindingAtom() : this.unexpected(),
this.finishNode(t, 'RestElement')
},
V.parseBindingAtom = function () {
if (this.options.ecmaVersion < 6) return this.parseIdent();
switch (this.type) {
case b.name:
return this.parseIdent();
case b.bracketL:
var e = this.startNode();
return this.next(),
e.elements = this.parseBindingList(b.bracketR, !0, !0),
this.finishNode(e, 'ArrayPattern');
case b.braceL:
return this.parseObj(!0);
default:
this.unexpected()
}
},
V.parseBindingList = function (e, t, n, r) {
for (var i = [
], s = !0; !this.eat(e); ) if (s ? s = !1 : this.expect(b.comma), t && this.type === b.comma) i.push(null);
else {
if (n && this.afterTrailingComma(e)) break;
if (this.type === b.ellipsis) {
var o = this.parseRest(r);
this.parseBindingListItem(o),
i.push(o),
this.type === b.comma && this.raise(this.start, 'Comma is not permitted after the rest element'),
this.expect(e);
break
}
var a = this.parseMaybeDefault(this.start, this.startLoc);
this.parseBindingListItem(a),
i.push(a)
}
return i
},
V.parseBindingListItem = function (e) {
return e
},
V.parseMaybeDefault = function (e, t, n) {
if (n = n || this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(b.eq)) return n;
var r = this.startNodeAt(e, t);
return r.left = n,
r.right = this.parseMaybeAssign(),
this.finishNode(r, 'AssignmentPattern')
},
V.checkLVal = function (e, t, n) {
switch (e.type) {
case 'Identifier':
this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (t ? 'Binding ' : 'Assigning to ') + e.name + ' in strict mode'),
n && (D(n, e.name) && this.raiseRecoverable(e.start, 'Argument name clash'), n[e.name] = !0);
break;
case 'MemberExpression':
t && this.raiseRecoverable(e.start, (t ? 'Binding' : 'Assigning to') + ' member expression');
break;
case 'ObjectPattern':
for (var r = 0; r < e.properties.length; r++) this.checkLVal(e.properties[r].value, t, n);
break;
case 'ArrayPattern':
for (var i = 0; i < e.elements.length; i++) {
var s = e.elements[i];
s && this.checkLVal(s, t, n)
}
break;
case 'AssignmentPattern':
this.checkLVal(e.left, t, n);
break;
case 'RestElement':
this.checkLVal(e.argument, t, n);
break;
case 'ParenthesizedExpression':
this.checkLVal(e.expression, t, n);
break;
default:
this.raise(e.start, (t ? 'Binding' : 'Assigning to') + ' rvalue')
}
};
var z = N.prototype;
z.checkPropClash = function (e, t) {
if (!(this.options.ecmaVersion >= 6 && (e.computed || e.method || e.shorthand))) {
var n,
r = e.key;
switch (r.type) {
case 'Identifier':
n = r.name;
break;
case 'Literal':
n = String(r.value);
break;
default:
return
}
var i = e.kind;
if (this.options.ecmaVersion >= 6) '__proto__' === n && 'init' === i && (t.proto && this.raiseRecoverable(r.start, 'Redefinition of __proto__ property'), t.proto = !0);
else {
var s = t[n = '$' + n];
if (s) {
var o = 'init' !== i;
(!this.strict && !o || !s[i]) && o ^ s.init || this.raiseRecoverable(r.start, 'Redefinition of property')
} else s = t[n] = {
init: !1,
get: !1,
set: !1
};
s[i] = !0
}
}
},
z.parseExpression = function (e, t) {
var n = this.start,
r = this.startLoc,
i = this.parseMaybeAssign(e, t);
if (this.type === b.comma) {
var s = this.startNodeAt(n, r);
for (s.expressions = [
i
]; this.eat(b.comma); ) s.expressions.push(this.parseMaybeAssign(e, t));
return this.finishNode(s, 'SequenceExpression')
}
return i
},
z.parseMaybeAssign = function (e, t, n) {
if (this.inGenerator && this.isContextual('yield')) return this.parseYield();
var r = !1;
t || (t = new L, r = !0);
var i = this.start,
s = this.startLoc;
this.type != b.parenL && this.type != b.name || (this.potentialArrowAt = this.start);
var o = this.parseMaybeConditional(e, t);
if (n && (o = n.call(this, o, i, s)), this.type.isAssign) {
this.checkPatternErrors(t, !0),
r || L.call(t);
var a = this.startNodeAt(i, s);
return a.operator = this.value,
a.left = this.type === b.eq ? this.toAssignable(o) : o,
t.shorthandAssign = 0,
this.checkLVal(o),
this.next(),
a.right = this.parseMaybeAssign(e),
this.finishNode(a, 'AssignmentExpression')
}
return r && this.checkExpressionErrors(t, !0),
o
},
z.parseMaybeConditional = function (e, t) {
var n = this.start,
r = this.startLoc,
i = this.parseExprOps(e, t);
if (this.checkExpressionErrors(t)) return i;
if (this.eat(b.question)) {
var s = this.startNodeAt(n, r);
return s.test = i,
s.consequent = this.parseMaybeAssign(),
this.expect(b.colon),
s.alternate = this.parseMaybeAssign(e),
this.finishNode(s, 'ConditionalExpression')
}
return i
},
z.parseExprOps = function (e, t) {
var n = this.start,
r = this.startLoc,
i = this.parseMaybeUnary(t, !1);
return this.checkExpressionErrors(t) ? i : this.parseExprOp(i, n, r, - 1, e)
},
z.parseExprOp = function (e, t, n, r, i) {
var s = this.type.binop;
if (null != s && (!i || this.type !== b._in) && s > r) {
var o = this.type === b.logicalOR || this.type === b.logicalAND,
a = this.value;
this.next();
var u = this.start,
l = this.startLoc,
c = this.parseExprOp(this.parseMaybeUnary(null, !1), u, l, s, i),
p = this.buildBinary(t, n, e, c, a, o);
return this.parseExprOp(p, t, n, r, i)
}
return e
},
z.buildBinary = function (e, t, n, r, i, s) {
var o = this.startNodeAt(e, t);
return o.left = n,
o.operator = i,
o.right = r,
this.finishNode(o, s ? 'LogicalExpression' : 'BinaryExpression')
},
z.parseMaybeUnary = function (e, t) {
var n,
r = this.start,
i = this.startLoc;
if (this.type.prefix) {
var s = this.startNode(),
o = this.type === b.incDec;
s.operator = this.value,
s.prefix = !0,
this.next(),
s.argument = this.parseMaybeUnary(null, !0),
this.checkExpressionErrors(e, !0),
o ? this.checkLVal(s.argument) : this.strict && 'delete' === s.operator && 'Identifier' === s.argument.type ? this.raiseRecoverable(s.start, 'Deleting local variable in strict mode') : t = !0,
n = this.finishNode(s, o ? 'UpdateExpression' : 'UnaryExpression')
} else {
if (n = this.parseExprSubscripts(e), this.checkExpressionErrors(e)) return n;
for (; this.type.postfix && !this.canInsertSemicolon(); ) {
var a = this.startNodeAt(r, i);
a.operator = this.value,
a.prefix = !1,
a.argument = n,
this.checkLVal(n),
this.next(),
n = this.finishNode(a, 'UpdateExpression')
}
}
return !t && this.eat(b.starstar) ? this.buildBinary(r, i, n, this.parseMaybeUnary(null, !1), '**', !1) : n
},
z.parseExprSubscripts = function (e) {
var t = this.start,
n = this.startLoc,
r = this.parseExprAtom(e),
i = 'ArrowFunctionExpression' === r.type && ')' !== this.input.slice(this.lastTokStart, this.lastTokEnd);
return this.checkExpressionErrors(e) || i ? r : this.parseSubscripts(r, t, n)
},
z.parseSubscripts = function (e, t, n, r) {
for (; ; ) if (this.eat(b.dot)) {
var i = this.startNodeAt(t, n);
i.object = e,
i.property = this.parseIdent(!0),
i.computed = !1,
e = this.finishNode(i, 'MemberExpression')
} else if (this.eat(b.bracketL)) {
var s = this.startNodeAt(t, n);
s.object = e,
s.property = this.parseExpression(),
s.computed = !0,
this.expect(b.bracketR),
e = this.finishNode(s, 'MemberExpression')
} else if (!r && this.eat(b.parenL)) {
var o = this.startNodeAt(t, n);
o.callee = e,
o.arguments = this.parseExprList(b.parenR, !1),
e = this.finishNode(o, 'CallExpression')
} else {
if (this.type !== b.backQuote) return e;
var a = this.startNodeAt(t, n);
a.tag = e,
a.quasi = this.parseTemplate(),
e = this.finishNode(a, 'TaggedTemplateExpression')
}
},
z.parseExprAtom = function (e) {
var t,
n = this.potentialArrowAt == this.start;
switch (this.type) {
case b._super:
this.inFunction || this.raise(this.start, '\'super\' outside of function or class');
case b._this:
var r = this.type === b._this ? 'ThisExpression' : 'Super';
return t = this.startNode(),
this.next(),
this.finishNode(t, r);
case b.name:
var i = this.start,
s = this.startLoc,
o = this.parseIdent(this.type !== b.name);
return n && !this.canInsertSemicolon() && this.eat(b.arrow) ? this.parseArrowExpression(this.startNodeAt(i, s), [
o
]) : o;
case b.regexp:
var a = this.value;
return (t = this.parseLiteral(a.value)).regex = {
pattern: a.pattern,
flags: a.flags
},
t;
case b.num:
case b.string:
return this.parseLiteral(this.value);
case b._null:
case b._true:
case b._false:
return (t = this.startNode()).value = this.type === b._null ? null : this.type === b._true,
t.raw = this.type.keyword,
this.next(),
this.finishNode(t, 'Literal');
case b.parenL:
return this.parseParenAndDistinguishExpression(n);
case b.bracketL:
return t = this.startNode(),
this.next(),
t.elements = this.parseExprList(b.bracketR, !0, !0, e),
this.finishNode(t, 'ArrayExpression');
case b.braceL:
return this.parseObj(!1, e);
case b._function:
return t = this.startNode(),
this.next(),
this.parseFunction(t, !1);
case b._class:
return this.parseClass(this.startNode(), !1);
case b._new:
return this.parseNew();
case b.backQuote:
return this.parseTemplate();
default:
this.unexpected()
}
},
z.parseLiteral = function (e) {
var t = this.startNode();
return t.value = e,
t.raw = this.input.slice(this.start, this.end),
this.next(),
this.finishNode(t, 'Literal')
},
z.parseParenExpression = function () {
this.expect(b.parenL);
var e = this.parseExpression();
return this.expect(b.parenR),
e
},
z.parseParenAndDistinguishExpression = function (e) {
var t,
n = this.start,
r = this.startLoc;
if (this.options.ecmaVersion >= 6) {
this.next();
for (var i, s, o = this.start, a = this.startLoc, u = [
], l = !0, c = new L; this.type !== b.parenR; ) {
if (l ? l = !1 : this.expect(b.comma), this.type === b.ellipsis) {
i = this.start,
u.push(this.parseParenItem(this.parseRest()));
break
}
this.type !== b.parenL || s || (s = this.start),
u.push(this.parseMaybeAssign(!1, c, this.parseParenItem))
}
var p = this.start,
h = this.startLoc;
if (this.expect(b.parenR), e && !this.canInsertSemicolon() && this.eat(b.arrow)) return this.checkPatternErrors(c, !0),
s && this.unexpected(s),
this.parseParenArrowList(n, r, u);
u.length || this.unexpected(this.lastTokStart),
i && this.unexpected(i),
this.checkExpressionErrors(c, !0),
u.length > 1 ? ((t = this.startNodeAt(o, a)).expressions = u, this.finishNodeAt(t, 'SequenceExpression', p, h)) : t = u[0]
} else t = this.parseParenExpression();
if (this.options.preserveParens) {
var f = this.startNodeAt(n, r);
return f.expression = t,
this.finishNode(f, 'ParenthesizedExpression')
}
return t
},
z.parseParenItem = function (e) {
return e
},
z.parseParenArrowList = function (e, t, n) {
return this.parseArrowExpression(this.startNodeAt(e, t), n)
};
var q = [
];
z.parseNew = function () {
var e = this.startNode(),
t = this.parseIdent(!0);
if (this.options.ecmaVersion >= 6 && this.eat(b.dot)) return e.meta = t,
e.property = this.parseIdent(!0),
'target' !== e.property.name && this.raiseRecoverable(e.property.start, 'The only valid meta property for new is new.target'),
this.inFunction || this.raiseRecoverable(e.start, 'new.target can only be used in functions'),
this.finishNode(e, 'MetaProperty');
var n = this.start,
r = this.startLoc;
return e.callee = this.parseSubscripts(this.parseExprAtom(), n, r, !0),
this.eat(b.parenL) ? e.arguments = this.parseExprList(b.parenR, !1) : e.arguments = q,
this.finishNode(e, 'NewExpression')
},
z.parseTemplateElement = function () {
var e = this.startNode();
return e.value = {
raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, '\n'),
cooked: this.value
},
this.next(),
e.tail = this.type === b.backQuote,
this.finishNode(e, 'TemplateElement')
},
z.parseTemplate = function () {
var e = this.startNode();
this.next(),
e.expressions = [
];
var t = this.parseTemplateElement();
for (e.quasis = [
t
]; !t.tail; ) this.expect(b.dollarBraceL),
e.expressions.push(this.parseExpression()),
this.expect(b.braceR),
e.quasis.push(t = this.parseTemplateElement());
return this.next(),
this.finishNode(e, 'TemplateLiteral')
},
z.parseObj = function (e, t) {
var n = this.startNode(),
r = !0,
i = {
};
for (n.properties = [
], this.next(); !this.eat(b.braceR); ) {
if (r) r = !1;
else if (this.expect(b.comma), this.afterTrailingComma(b.braceR)) break;
var s,
o,
a,
u = this.startNode();
this.options.ecmaVersion >= 6 && (u.method = !1, u.shorthand = !1, (e || t) && (o = this.start, a = this.startLoc), e || (s = this.eat(b.star))),
this.parsePropertyName(u),
this.parsePropertyValue(u, e, s, o, a, t),
this.checkPropClash(u, i),
n.properties.push(this.finishNode(u, 'Property'))
}
return this.finishNode(n, e ? 'ObjectPattern' : 'ObjectExpression')
},
z.parsePropertyValue = function (e, t, n, r, i, s) {
if (this.eat(b.colon)) e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(!1, s),
e.kind = 'init';
else if (this.options.ecmaVersion >= 6 && this.type === b.parenL) t && this.unexpected(),
e.kind = 'init',
e.method = !0,
e.value = this.parseMethod(n);
else if (this.options.ecmaVersion >= 5 && !e.computed && 'Identifier' === e.key.type && ('get' === e.key.name || 'set' === e.key.name) && this.type != b.comma && this.type != b.braceR) {
(n || t) && this.unexpected(),
e.kind = e.key.name,
this.parsePropertyName(e),
e.value = this.parseMethod(!1);
var o = 'get' === e.kind ? 0 : 1;
if (e.value.params.length !== o) {
var a = e.value.start;
'get' === e.kind ? this.raiseRecoverable(a, 'getter should have no params') : this.raiseRecoverable(a, 'setter should have exactly one param')
}
'set' === e.kind && 'RestElement' === e.value.params[0].type && this.raiseRecoverable(e.value.params[0].start, 'Setter cannot use rest params')
} else this.options.ecmaVersion >= 6 && !e.computed && 'Identifier' === e.key.type ? ((this.keywords.test(e.key.name) || (this.strict ? this.reservedWordsStrictBind : this.reservedWords).test(e.key.name) || this.inGenerator && 'yield' == e.key.name) && this.raiseRecoverable(e.key.start, '\'' + e.key.name + '\' can not be used as shorthand property'), e.kind = 'init', t ? e.value = this.parseMaybeDefault(r, i, e.key) : this.type === b.eq && s ? (s.shorthandAssign || (s.shorthandAssign = this.start), e.value = this.parseMaybeDefault(r, i, e.key)) : e.value = e.key, e.shorthand = !0) : this.unexpected()
},
z.parsePropertyName = function (e) {
if (this.options.ecmaVersion >= 6) {
if (this.eat(b.bracketL)) return e.computed = !0,
e.key = this.parseMaybeAssign(),
this.expect(b.bracketR),
e.key;
e.computed = !1
}
return e.key = this.type === b.num || this.type === b.string ? this.parseExprAtom() : this.parseIdent(!0)
},
z.initFunction = function (e) {
e.id = null,
this.options.ecmaVersion >= 6 && (e.generator = !1, e.expression = !1)
},
z.parseMethod = function (e) {
var t = this.startNode(),
n = this.inGenerator;
return this.inGenerator = e,
this.initFunction(t),
this.expect(b.parenL),
t.params = this.parseBindingList(b.parenR, !1, !1),
this.options.ecmaVersion >= 6 && (t.generator = e),
this.parseFunctionBody(t, !1),
this.inGenerator = n,
this.finishNode(t, 'FunctionExpression')
},
z.parseArrowExpression = function (e, t) {
var n = this.inGenerator;
return this.inGenerator = !1,
this.initFunction(e),
e.params = this.toAssignableList(t, !0),
this.parseFunctionBody(e, !0),
this.inGenerator = n,
this.finishNode(e, 'ArrowFunctionExpression')
},
z.parseFunctionBody = function (e, t) {
var n = t && this.type !== b.braceL;
if (n) e.body = this.parseMaybeAssign(),
e.expression = !0;
else {
var r = this.inFunction,
i = this.labels;
this.inFunction = !0,
this.labels = [
],
e.body = this.parseBlock(!0),
e.expression = !1,
this.inFunction = r,
this.labels = i
}
var s = !n && e.body.body.length && this.isUseStrict(e.body.body[0]) ? e.body.body[0] : null;
if (this.strict || s) {
var o = this.strict;
this.strict = !0,
e.id && this.checkLVal(e.id, !0),
this.checkParams(e, s),
this.strict = o
} else t && this.checkParams(e, s)
},
z.checkParams = function (e, t) {
for (var n = {
}, r = 0; r < e.params.length; r++) t && this.options.ecmaVersion >= 7 && 'Identifier' !== e.params[r].type && this.raiseRecoverable(t.start, 'Illegal \'use strict\' directive in function with non-simple parameter list'),
this.checkLVal(e.params[r], !0, n)
},
z.parseExprList = function (e, t, n, r) {
for (var i = [
], s = !0; !this.eat(e); ) {
if (s) s = !1;
else if (this.expect(b.comma), t && this.afterTrailingComma(e)) break;
var o;
n && this.type === b.comma ? o = null : this.type === b.ellipsis ? (o = this.parseSpread(r), this.type === b.comma && r && !r.trailingComma && (r.trailingComma = this.lastTokStart)) : o = this.parseMaybeAssign(!1, r),
i.push(o)
}
return i
},
z.parseIdent = function (e) {
var t = this.startNode();
return e && 'never' == this.options.allowReserved && (e = !1),
this.type === b.name ? (!e && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(this.value) && (this.options.ecmaVersion >= 6 || - 1 == this.input.slice(this.start, this.end).indexOf('\\')) && this.raiseRecoverable(this.start, 'The keyword \'' + this.value + '\' is reserved'), !e && this.inGenerator && 'yield' === this.value && this.raiseRecoverable(this.start, 'Can not use \'yield\' as identifier inside a generator'), t.name = this.value) : e && this.type.keyword ? t.name = this.type.keyword : this.unexpected(),
this.next(),
this.finishNode(t, 'Identifier')
},
z.parseYield = function () {
var e = this.startNode();
return this.next(),
this.type == b.semi || this.canInsertSemicolon() || this.type != b.star && !this.type.startsExpr ? (e.delegate = !1, e.argument = null) : (e.delegate = this.eat(b.star), e.argument = this.parseMaybeAssign()),
this.finishNode(e, 'YieldExpression')
};
var K = N.prototype;
K.raise = function (e, t) {
var n = T(this.input, e);
t += ' (' + n.line + ':' + n.column + ')';
var r = new SyntaxError(t);
throw r.pos = e,
r.loc = n,
r.raisedAt = this.pos,
r
},
K.raiseRecoverable = K.raise,
K.curPosition = function () {
if (this.options.locations) return new k(this.curLine, this.pos - this.lineStart)
};
var $ = function (e, t, n) {
this.type = '',
this.start = t,
this.end = 0,
e.options.locations && (this.loc = new S(e, n)),
e.options.directSourceFile && (this.sourceFile = e.options.directSourceFile),
e.options.ranges && (this.range = [
t,
0
])
},
Y = N.prototype;
function W(e, t, n, r) {
return e.type = t,
e.end = n,
this.options.locations && (e.loc.end = r),
this.options.ranges && (e.range[1] = n),
e
}
Y.startNode = function () {
return new $(this, this.start, this.startLoc)
},
Y.startNodeAt = function (e, t) {
return new $(this, e, t)
},
Y.finishNode = function (e, t) {
return W.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc)
},
Y.finishNodeAt = function (e, t, n, r) {
return W.call(this, e, t, n, r)
};
var G = function (e, t, n, r) {
this.token = e,
this.isExpr = !!t,
this.preserveSpace = !!n,
this.override = r
},
H = {
b_stat: new G('{', !1),
b_expr: new G('{', !0),
b_tmpl: new G('${', !0),
p_stat: new G('(', !1),
p_expr: new G('(', !0),
q_tmpl: new G('`', !0, !0, function (e) {
return e.readTmplToken()
}),
f_expr: new G('function', !0)
},
X = N.prototype;
X.initialContext = function () {
return [H.b_stat]
},
X.braceIsBlock = function (e) {
if (e === b.colon) {
var t = this.curContext();
if (t === H.b_stat || t === H.b_expr) return !t.isExpr
}
return e === b._return ? x.test(this.input.slice(this.lastTokEnd, this.start)) : e === b._else || e === b.semi || e === b.eof || e === b.parenR || (e == b.braceL ? this.curContext() === H.b_stat : !this.exprAllowed)
},
X.updateContext = function (e) {
var t,
n = this.type;
n.keyword && e == b.dot ? this.exprAllowed = !1 : (t = n.updateContext) ? t.call(this, e) : this.exprAllowed = n.beforeExpr
},
b.parenR.updateContext = b.braceR.updateContext = function () {
if (1 != this.context.length) {
var e = this.context.pop();
e === H.b_stat && this.curContext() === H.f_expr ? (this.context.pop(), this.exprAllowed = !1) : this.exprAllowed = e === H.b_tmpl || !e.isExpr
} else this.exprAllowed = !0
},
b.braceL.updateContext = function (e) {
this.context.push(this.braceIsBlock(e) ? H.b_stat : H.b_expr),
this.exprAllowed = !0
},
b.dollarBraceL.updateContext = function () {
this.context.push(H.b_tmpl),
this.exprAllowed = !0
},
b.parenL.updateContext = function (e) {
var t = e === b._if || e === b._for || e === b._with || e === b._while;
this.context.push(t ? H.p_stat : H.p_expr),
this.exprAllowed = !0
},
b.incDec.updateContext = function () {
},
b._function.updateContext = function (e) {
e.beforeExpr && e !== b.semi && e !== b._else && (e !== b.colon && e !== b.braceL || this.curContext() !== H.b_stat) && this.context.push(H.f_expr),
this.exprAllowed = !1
},
b.backQuote.updateContext = function () {
this.curContext() === H.q_tmpl ? this.context.pop() : this.context.push(H.q_tmpl),
this.exprAllowed = !1
};
var J = function (e) {
this.type = e.type,
this.value = e.value,
this.start = e.start,
this.end = e.end,
e.options.locations && (this.loc = new S(e, e.startLoc, e.endLoc)),
e.options.ranges && (this.range = [
e.start,
e.end
])
},
Q = N.prototype,
Z = 'object' == typeof Packages && '[object JavaPackage]' == Object.prototype.toString.call(Packages);
function ee(e, t, n, r) {
try {
return new RegExp(e, t)
} catch (e) {
if (void 0 !== n) throw e instanceof SyntaxError && r.raise(n, 'Error parsing regular expression: ' + e.message),
e
}
}
Q.next = function () {
this.options.onToken && this.options.onToken(new J(this)),
this.lastTokEnd = this.end,
this.lastTokStart = this.start,
this.lastTokEndLoc = this.endLoc,
this.lastTokStartLoc = this.startLoc,
this.nextToken()
},
Q.getToken = function () {
return this.next(),
new J(this)
},
'undefined' != typeof Symbol && (Q[Symbol.iterator] = function () {
var e = this;
return {
next: function () {
var t = e.getToken();
return {
done: t.type === b.eof,
value: t
}
}
}
}),
Q.setStrict = function (e) {
if (this.strict = e, this.type === b.num || this.type === b.string) {
if (this.pos = this.start, this.options.locations) for (; this.pos < this.lineStart; ) this.lineStart = this.input.lastIndexOf('\n', this.lineStart - 2) + 1,
--this.curLine;
this.nextToken()
}
},
Q.curContext = function () {
return this.context[this.context.length - 1]
},
Q.nextToken = function () {
var e = this.curContext();
return e && e.preserveSpace || this.skipSpace(),
this.start = this.pos,
this.options.locations && (this.startLoc = this.curPosition()),
this.pos >= this.input.length ? this.finishToken(b.eof) : e.override ? e.override(this) : void this.readToken(this.fullCharCodeAtPos())
},
Q.readToken = function (e) {
return p(e, this.options.ecmaVersion >= 6) || 92 === e ? this.readWord() : this.getTokenFromCode(e)
},
Q.fullCharCodeAtPos = function () {
var e = this.input.charCodeAt(this.pos);
return e <= 55295 || e >= 57344 ? e : (e << 10) + this.input.charCodeAt(this.pos + 1) - 56613888
},
Q.skipBlockComment = function () {
var e,
t = this.options.onComment && this.curPosition(),
n = this.pos,
r = this.input.indexOf('*/', this.pos += 2);
if ( - 1 === r && this.raise(this.pos - 2, 'Unterminated comment'), this.pos = r + 2, this.options.locations) for (A.lastIndex = n; (e = A.exec(this.input)) && e.index < this.pos; ) ++this.curLine,
this.lineStart = e.index + e[0].length;
this.options.onComment && this.options.onComment(!0, this.input.slice(n + 2, r), n, this.pos, t, this.curPosition())
},
Q.skipLineComment = function (e) {
for (var t = this.pos, n = this.options.onComment && this.curPosition(), r = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && 10 !== r && 13 !== r && 8232 !== r && 8233 !== r; ) ++this.pos,
r = this.input.charCodeAt(this.pos);
this.options.onComment && this.options.onComment(!1, this.input.slice(t + e, this.pos), t, this.pos, n, this.curPosition())
},
Q.skipSpace = function () {
e: for (; this.pos < this.input.length; ) {
var e = this.input.charCodeAt(this.pos);
switch (e) {
case 32:
case 160:
++this.pos;
break;
case 13:
10 === this.input.charCodeAt(this.pos + 1) && ++this.pos;
case 10:
case 8232:
case 8233:
++this.pos,
this.options.locations && (++this.curLine, this.lineStart = this.pos);
break;
case 47:
switch (this.input.charCodeAt(this.pos + 1)) {
case 42:
this.skipBlockComment();
break;
case 47:
this.skipLineComment(2);
break;
default:
break e
}
break;
default:
if (!(e > 8 && e < 14 || e >= 5760 && _.test(String.fromCharCode(e)))) break e;
++this.pos
}
}
},
Q.finishToken = function (e, t) {
this.end = this.pos,
this.options.locations && (this.endLoc = this.curPosition());
var n = this.type;
this.type = e,
this.value = t,
this.updateContext(n)
},
Q.readToken_dot = function () {
var e = this.input.charCodeAt(this.pos + 1);
if (e >= 48 && e <= 57) return this.readNumber(!0);
var t = this.input.charCodeAt(this.pos + 2);
return this.options.ecmaVersion >= 6 && 46 === e && 46 === t ? (this.pos += 3, this.finishToken(b.ellipsis)) : (++this.pos, this.finishToken(b.dot))
},
Q.readToken_slash = function () {
var e = this.input.charCodeAt(this.pos + 1);
return this.exprAllowed ? (++this.pos, this.readRegexp()) : 61 === e ? this.finishOp(b.assign, 2) : this.finishOp(b.slash, 1)
},
Q.readToken_mult_modulo_exp = function (e) {
var t = this.input.charCodeAt(this.pos + 1),
n = 1,
r = 42 === e ? b.star : b.modulo;
return this.options.ecmaVersion >= 7 && 42 === t && (++n, r = b.starstar, t = this.input.charCodeAt(this.pos + 2)),
61 === t ? this.finishOp(b.assign, n + 1) : this.finishOp(r, n)
},
Q.readToken_pipe_amp = function (e) {
var t = this.input.charCodeAt(this.pos + 1);
return t === e ? this.finishOp(124 === e ? b.logicalOR : b.logicalAND, 2) : 61 === t ? this.finishOp(b.assign, 2) : this.finishOp(124 === e ? b.bitwiseOR : b.bitwiseAND, 1)
},
Q.readToken_caret = function () {
return 61 === this.input.charCodeAt(this.pos + 1) ? this.finishOp(b.assign, 2) : this.finishOp(b.bitwiseXOR, 1)
},
Q.readToken_plus_min = function (e) {
var t = this.input.charCodeAt(this.pos + 1);
return t === e ? 45 == t && 62 == this.input.charCodeAt(this.pos + 2) && x.test(this.input.slice(this.lastTokEnd, this.pos)) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(b.incDec, 2) : 61 === t ? this.finishOp(b.assign, 2) : this.finishOp(b.plusMin, 1)
},
Q.readToken_lt_gt = function (e) {
var t = this.input.charCodeAt(this.pos + 1),
n = 1;
return t === e ? (n = 62 === e && 62 === this.input.charCodeAt(this.pos + 2) ? 3 : 2, 61 === this.input.charCodeAt(this.pos + n) ? this.finishOp(b.assign, n + 1) : this.finishOp(b.bitShift, n)) : 33 == t && 60 == e && 45 == this.input.charCodeAt(this.pos + 2) && 45 == this.input.charCodeAt(this.pos + 3) ? (this.inModule && this.unexpected(), this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (61 === t && (n = 2), this.finishOp(b.relational, n))
},
Q.readToken_eq_excl = function (e) {
var t = this.input.charCodeAt(this.pos + 1);
return 61 === t ? this.finishOp(b.equality, 61 === this.input.charCodeAt(this.pos + 2) ? 3 : 2) : 61 === e && 62 === t && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(b.arrow)) : this.finishOp(61 === e ? b.eq : b.prefix, 1)
},
Q.getTokenFromCode = function (e) {
switch (e) {
case 46:
return this.readToken_dot();
case 40:
return ++this.pos,
this.finishToken(b.parenL);
case 41:
return ++this.pos,
this.finishToken(b.parenR);
case 59:
return ++this.pos,
this.finishToken(b.semi);
case 44:
return ++this.pos,
this.finishToken(b.comma);
case 91:
return ++this.pos,
this.finishToken(b.bracketL);
case 93:
return ++this.pos,
this.finishToken(b.bracketR);
case 123:
return ++this.pos,
this.finishToken(b.braceL);
case 125:
return ++this.pos,
this.finishToken(b.braceR);
case 58:
return ++this.pos,
this.finishToken(b.colon);
case 63:
return ++this.pos,
this.finishToken(b.question);
case 96:
if (this.options.ecmaVersion < 6) break;
return ++this.pos,
this.finishToken(b.backQuote);
case 48:
var t = this.input.charCodeAt(this.pos + 1);
if (120 === t || 88 === t) return this.readRadixNumber(16);
if (this.options.ecmaVersion >= 6) {
if (111 === t || 79 === t) return this.readRadixNumber(8);
if (98 === t || 66 === t) 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(e);
case 47:
return this.readToken_slash();
case 37:
case 42:
return this.readToken_mult_modulo_exp(e);
case 124:
case 38:
return this.readToken_pipe_amp(e);
case 94:
return this.readToken_caret();
case 43:
case 45:
return this.readToken_plus_min(e);
case 60:
case 62:
return this.readToken_lt_gt(e);
case 61:
case 33:
return this.readToken_eq_excl(e);
case 126:
return this.finishOp(b.prefix, 1)
}
this.raise(this.pos, 'Unexpected character \'' + ne(e) + '\'')
},
Q.finishOp = function (e, t) {
var n = this.input.slice(this.pos, this.pos + t);
return this.pos += t,
this.finishToken(e, n)
};
var te = !!ee('', 'u');
function ne(e) {
return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode(55296 + (e >> 10), 56320 + (1023 & e)))
}
Q.readRegexp = function () {
for (var e, t, n = this, r = this.pos; ; ) {
n.pos >= n.input.length && n.raise(r, 'Unterminated regular expression');
var i = n.input.charAt(n.pos);
if (x.test(i) && n.raise(r, 'Unterminated regular expression'), e) e = !1;
else {
if ('[' === i) t = !0;
else if (']' === i && t) t = !1;
else if ('/' === i && !t) break;
e = '\\' === i
}
++n.pos
}
var s = this.input.slice(r, this.pos);
++this.pos;
var o = this.readWord1(),
a = s,
u = '';
if (o) {
var l = /^[gim]*$/;
this.options.ecmaVersion >= 6 && (l = /^[gimuy]*$/),
l.test(o) || this.raise(r, 'Invalid regular expression flag'),
o.indexOf('u') >= 0 && (te ? u = 'u' : (a = (a = a.replace(/\\u\{([0-9a-fA-F]+)\}/g, function (e, t, i) {
return (t = Number('0x' + t)) > 1114111 && n.raise(r + i + 3, 'Code point out of bounds'),
'x'
})).replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, 'x'), u = u.replace('u', '')))
}
var c = null;
return Z || (ee(a, u, r, this), c = ee(s, o)),
this.finishToken(b.regexp, {
pattern: s,
flags: o,
value: c
})
},
Q.readInt = function (e, t) {
for (var n = this.pos, r = 0, i = 0, s = null == t ? 1 / 0 : t; i < s; ++i) {
var o,
a = this.input.charCodeAt(this.pos);
if ((o = a >= 97 ? a - 97 + 10 : a >= 65 ? a - 65 + 10 : a >= 48 && a <= 57 ? a - 48 : 1 / 0) >= e) break;
++this.pos,
r = r * e + o
}
return this.pos === n || null != t && this.pos - n !== t ? null : r
},
Q.readRadixNumber = function (e) {
this.pos += 2;
var t = this.readInt(e);
return null == t && this.raise(this.start + 2, 'Expected number in radix ' + e),
p(this.fullCharCodeAtPos()) && this.raise(this.pos, 'Identifier directly after number'),
this.finishToken(b.num, t)
},
Q.readNumber = function (e) {
var t = this.pos,
n = !1,
r = 48 === this.input.charCodeAt(this.pos);
e || null !== this.readInt(10) || this.raise(t, 'Invalid number');
var i = this.input.charCodeAt(this.pos);
46 === i && (++this.pos, this.readInt(10), n = !0, i = this.input.charCodeAt(this.pos)),
69 !== i && 101 !== i || (43 !== (i = this.input.charCodeAt(++this.pos)) && 45 !== i || ++this.pos, null === this.readInt(10) && this.raise(t, 'Invalid number'), n = !0),
p(this.fullCharCodeAtPos()) && this.raise(this.pos, 'Identifier directly after number');
var s,
o = this.input.slice(t, this.pos);
return n ? s = parseFloat(o) : r && 1 !== o.length ? /[89]/.test(o) || this.strict ? this.raise(t, 'Invalid number') : s = parseInt(o, 8) : s = parseInt(o, 10),
this.finishToken(b.num, s)
},
Q.readCodePoint = function () {
var e;
if (123 === this.input.charCodeAt(this.pos)) {
this.options.ecmaVersion < 6 && this.unexpected();
var t = ++this.pos;
e = this.readHexChar(this.input.indexOf('}', this.pos) - this.pos),
++this.pos,
e > 1114111 && this.raise(t, 'Code point out of bounds')
} else e = this.readHexChar(4);
return e
},
Q.readString = function (e) {
for (var t = '', n = ++this.pos; ; ) {
this.pos >= this.input.length && this.raise(this.start, 'Unterminated string constant');
var r = this.input.charCodeAt(this.pos);
if (r === e) break;
92 === r ? (t += this.input.slice(n, this.pos), t += this.readEscapedChar(!1), n = this.pos) : (E(r) && this.raise(this.start, 'Unterminated string constant'), ++this.pos)
}
return t += this.input.slice(n, this.pos++),
this.finishToken(b.string, t)
},
Q.readTmplToken = function () {
for (var e = '', t = this.pos; ; ) {
this.pos >= this.input.length && this.raise(this.start, 'Unterminated template');
var n = this.input.charCodeAt(this.pos);
if (96 === n || 36 === n && 123 === this.input.charCodeAt(this.pos + 1)) return this.pos === this.start && this.type === b.template ? 36 === n ? (this.pos += 2, this.finishToken(b.dollarBraceL)) : (++this.pos, this.finishToken(b.backQuote)) : (e += this.input.slice(t, this.pos), this.finishToken(b.template, e));
if (92 === n) e += this.input.slice(t, this.pos),
e += this.readEscapedChar(!0),
t = this.pos;
else if (E(n)) {
switch (e += this.input.slice(t, this.pos), ++this.pos, n) {
case 13:
10 === this.input.charCodeAt(this.pos) && ++this.pos;
case 10:
e += '\n';
break;
default:
e += String.fromCharCode(n)
}
this.options.locations && (++this.curLine, this.lineStart = this.pos),
t = this.pos
} else ++this.pos
}
},
Q.readEscapedChar = function (e) {
var t = this.input.charCodeAt(++this.pos);
switch (++this.pos, t) {
case 110:
return '\n';
case 114:
return '\r';
case 120:
return String.fromCharCode(this.readHexChar(2));
case 117:
return ne(this.readCodePoint());
case 116:
return '\t';
case 98:
return '';
case 118:
return '\v';
case 102:
return '\f';
case 13:
10 === this.input.charCodeAt(this.pos) && ++this.pos;
case 10:
return this.options.locations && (this.lineStart = this.pos, ++this.curLine),
'';
default:
if (t >= 48 && t <= 55) {
var n = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/) [0],
r = parseInt(n, 8);
return r > 255 && (n = n.slice(0, - 1), r = parseInt(n, 8)),
'0' !== n && (this.strict || e) && this.raise(this.pos - 2, 'Octal literal in strict mode'),
this.pos += n.length - 1,
String.fromCharCode(r)
}
return String.fromCharCode(t)
}
},
Q.readHexChar = function (e) {
var t = this.pos,
n = this.readInt(16, e);
return null === n && this.raise(t, 'Bad character escape sequence'),
n
},
Q.readWord1 = function () {
this.containsEsc = !1;
for (var e = '', t = !0, n = this.pos, r = this.options.ecmaVersion >= 6; this.pos < this.input.length; ) {
var i = this.fullCharCodeAtPos();
if (h(i, r)) this.pos += i <= 65535 ? 1 : 2;
else {
if (92 !== i) break;
this.containsEsc = !0,
e += this.input.slice(n, this.pos);
var s = this.pos;
117 != this.input.charCodeAt(++this.pos) && this.raise(this.pos, 'Expecting Unicode escape sequence \\uXXXX'),
++this.pos;
var o = this.readCodePoint();
(t ? p : h) (o, r) || this.raise(s, 'Invalid Unicode escape'),
e += ne(o),
n = this.pos
}
t = !1
}
return e + this.input.slice(n, this.pos)
},
Q.readWord = function () {
var e = this.readWord1(),
t = b.name;
return (this.options.ecmaVersion >= 6 || !this.containsEsc) && this.keywords.test(e) && (t = y[e]),
this.finishToken(t, e)
};
e.version = '3.3.0',
e.parse = function (e, t) {
return new N(t, e).parse()
},
e.parseExpressionAt = function (e, t, n) {
var r = new N(n, e, t);
return r.nextToken(),
r.parseExpression()
},
e.tokenizer = function (e, t) {
return new N(t, e)
},
e.Parser = N,
e.plugins = B,
e.defaultOptions = F,
e.Position = k,
e.SourceLocation = S,
e.getLineInfo = T,
e.Node = $,
e.TokenType = f,
e.tokTypes = b,
e.TokContext = G,
e.tokContexts = H,
e.isIdentifierChar = h,
e.isIdentifierStart = p,
e.Token = J,
e.isNewLine = E,
e.lineBreak = x,
e.lineBreakG = A,
Object.defineProperty(e, '__esModule', {
value: !0
})
},
'object' == typeof n && void 0 !== t ? i(n) : 'function' == typeof define && define.amd ? define(['exports'], i) : i(r.acorn = r.acorn || {
})
},
{
}
],
5: [
function (e, t, n) {
var r,
i;
r = this,
i = function (e) {
'use strict';
function t(e) {
return 'string' == typeof e ? function (t) {
return t == e
}
: e || function () {
return !0
}
}
var n = function (e, t) {
this.node = e,
this.state = t
};
var r = Object.create || function (e) {
function t() {
}
return t.prototype = e,
new t
};
function i(e, t, n) {
n(e, t)
}
function s(e, t, n) {
}
var o = {
};
o.Program = o.BlockStatement = function (e, t, n) {
for (var r = 0; r < e.body.length; ++r) n(e.body[r], t, 'Statement')
},
o.Statement = i,
o.EmptyStatement = s,
o.ExpressionStatement = o.ParenthesizedExpression = function (e, t, n) {
return n(e.expression, t, 'Expression')
},
o.IfStatement = function (e, t, n) {
n(e.test, t, 'Expression'),
n(e.consequent, t, 'Statement'),
e.alternate && n(e.alternate, t, 'Statement')
},
o.LabeledStatement = function (e, t, n) {
return n(e.body, t, 'Statement')
},
o.BreakStatement = o.ContinueStatement = s,
o.WithStatement = function (e, t, n) {
n(e.object, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.SwitchStatement = function (e, t, n) {
n(e.discriminant, t, 'Expression');
for (var r = 0; r < e.cases.length; ++r) {
var i = e.cases[r];
i.test && n(i.test, t, 'Expression');
for (var s = 0; s < i.consequent.length; ++s) n(i.consequent[s], t, 'Statement')
}
},
o.ReturnStatement = o.YieldExpression = function (e, t, n) {
e.argument && n(e.argument, t, 'Expression')
},
o.ThrowStatement = o.SpreadElement = function (e, t, n) {
return n(e.argument, t, 'Expression')
},
o.TryStatement = function (e, t, n) {
n(e.block, t, 'Statement'),
e.handler && n(e.handler, t),
e.finalizer && n(e.finalizer, t, 'Statement')
},
o.CatchClause = function (e, t, n) {
n(e.param, t, 'Pattern'),
n(e.body, t, 'ScopeBody')
},
o.WhileStatement = o.DoWhileStatement = function (e, t, n) {
n(e.test, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.ForStatement = function (e, t, n) {
e.init && n(e.init, t, 'ForInit'),
e.test && n(e.test, t, 'Expression'),
e.update && n(e.update, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.ForInStatement = o.ForOfStatement = function (e, t, n) {
n(e.left, t, 'ForInit'),
n(e.right, t, 'Expression'),
n(e.body, t, 'Statement')
},
o.ForInit = function (e, t, n) {
'VariableDeclaration' == e.type ? n(e, t) : n(e, t, 'Expression')
},
o.DebuggerStatement = s,
o.FunctionDeclaration = function (e, t, n) {
return n(e, t, 'Function')
},
o.VariableDeclaration = function (e, t, n) {
for (var r = 0; r < e.declarations.length; ++r) n(e.declarations[r], t)
},
o.VariableDeclarator = function (e, t, n) {
n(e.id, t, 'Pattern'),
e.init && n(e.init, t, 'Expression')
},
o.Function = function (e, t, n) {
e.id && n(e.id, t, 'Pattern');
for (var r = 0; r < e.params.length; r++) n(e.params[r], t, 'Pattern');
n(e.body, t, e.expression ? 'ScopeExpression' : 'ScopeBody')
},
o.ScopeBody = function (e, t, n) {
return n(e, t, 'Statement')
},
o.ScopeExpression = function (e, t, n) {
return n(e, t, 'Expression')
},
o.Pattern = function (e, t, n) {
'Identifier' == e.type ? n(e, t, 'VariablePattern') : 'MemberExpression' == e.type ? n(e, t, 'MemberPattern') : n(e, t)
},
o.VariablePattern = s,
o.MemberPattern = i,
o.RestElement = function (e, t, n) {
return n(e.argument, t, 'Pattern')
},
o.ArrayPattern = function (e, t, n) {
for (var r = 0; r < e.elements.length; ++r) {
var i = e.elements[r];
i && n(i, t, 'Pattern')
}
},
o.ObjectPattern = function (e, t, n) {
for (var r = 0; r < e.properties.length; ++r) n(e.properties[r].value, t, 'Pattern')
},
o.Expression = i,
o.ThisExpression = o.Super = o.MetaProperty = s,
o.ArrayExpression = function (e, t, n) {
for (var r = 0; r < e.elements.length; ++r) {
var i = e.elements[r];
i && n(i, t, 'Expression')
}
},
o.ObjectExpression = function (e, t, n) {
for (var r = 0; r < e.properties.length; ++r) n(e.properties[r], t)
},
o.FunctionExpression = o.ArrowFunctionExpression = o.FunctionDeclaration,
o.SequenceExpression = o.TemplateLiteral = function (e, t, n) {
for (var r = 0; r < e.expressions.length; ++r) n(e.expressions[r], t, 'Expression')
},
o.UnaryExpression = o.UpdateExpression = function (e, t, n) {
n(e.argument, t, 'Expression')
},
o.BinaryExpression = o.LogicalExpression = function (e, t, n) {
n(e.left, t, 'Expression'),
n(e.right, t, 'Expression')
},
o.AssignmentExpression = o.AssignmentPattern = function (e, t, n) {
n(e.left, t, 'Pattern'),
n(e.right, t, 'Expression')
},
o.ConditionalExpression = function (e, t, n) {
n(e.test, t, 'Expression'),
n(e.consequent, t, 'Expression'),
n(e.alternate, t, 'Expression')
},
o.NewExpression = o.CallExpression = function (e, t, n) {
if (n(e.callee, t, 'Expression'), e.arguments) for (var r = 0; r < e.arguments.length; ++r) n(e.arguments[r], t, 'Expression')
},
o.MemberExpression = function (e, t, n) {
n(e.object, t, 'Expression'),
e.computed && n(e.property, t, 'Expression')
},
o.ExportNamedDeclaration = o.ExportDefaultDeclaration = function (e, t, n) {
e.declaration && n(e.declaration, t, 'ExportNamedDeclaration' == e.type || e.declaration.id ? 'Statement' : 'Expression'),
e.source && n(e.source, t, 'Expression')
},
o.ExportAllDeclaration = function (e, t, n) {
n(e.source, t, 'Expression')
},
o.ImportDeclaration = function (e, t, n) {
for (var r = 0; r < e.specifiers.length; r++) n(e.specifiers[r], t);
n(e.source, t, 'Expression')
},
o.ImportSpecifier = o.ImportDefaultSpecifier = o.ImportNamespaceSpecifier = o.Identifier = o.Literal = s,
o.TaggedTemplateExpression = function (e, t, n) {
n(e.tag, t, 'Expression'),
n(e.quasi, t)
},
o.ClassDeclaration = o.ClassExpression = function (e, t, n) {
return n(e, t, 'Class')
},
o.Class = function (e, t, n) {
e.id && n(e.id, t, 'Pattern'),
e.superClass && n(e.superClass, t, 'Expression');
for (var r = 0; r < e.body.body.length; r++) n(e.body.body[r], t)
},
o.MethodDefinition = o.Property = function (e, t, n) {
e.computed && n(e.key, t, 'Expression'),
n(e.value, t, 'Expression')
},
e.simple = function (t, n, r, i, s) {
r || (r = e.base),
function e(t, i, s) {
var o = s || t.type,
a = n[o];
r[o](t, i, e),
a && a(t, i)
}(t, i, s)
},
e.ancestor = function (t, n, r, i) {
r || (r = e.base);
var s = [
];
!function e(t, i, o) {
var a = o || t.type,
u = n[a],
l = t != s[s.length - 1];
l && s.push(t),
r[a](t, i, e),
u && u(t, i || s, s),
l && s.pop()
}(t, i)
},
e.recursive = function (t, n, r, i, s) {
var o = r ? e.make(r, i) : i;
!function e(t, n, r) {
o[r || t.type](t, n, e)
}(t, n, s)
},
e.findNodeAt = function (r, i, s, o, a, u) {
o = t(o),
a || (a = e.base);
try {
!function e(t, r, u) {
var l = u || t.type;
if ((null == i || t.start <= i) && (null == s || t.end >= s) && a[l](t, r, e), (null == i || t.start == i) && (null == s || t.end == s) && o(l, t)) throw new n(t, r)
}(r, u)
} catch (e) {
if (e instanceof n) return e;
throw e
}
},
e.findNodeAround = function (r, i, s, o, a) {
s = t(s),
o || (o = e.base);
try {
!function e(t, r, a) {
var u = a || t.type;
if (!(t.start > i || t.end < i) && (o[u](t, r, e), s(u, t))) throw new n(t, r)
}(r, a)
} catch (e) {
if (e instanceof n) return e;
throw e
}
},
e.findNodeAfter = function (r, i, s, o, a) {
s = t(s),
o || (o = e.base);
try {
!function e(t, r, a) {
if (!(t.end < i)) {
var u = a || t.type;
if (t.start >= i && s(u, t)) throw new n(t, r);
o[u](t, r, e)
}
}(r, a)
} catch (e) {
if (e instanceof n) return e;
throw e
}
},
e.findNodeBefore = function (r, i, s, o, a) {
var u;
return s = t(s),
o || (o = e.base),
function e(t, r, a) {
if (!(t.start > i)) {
var l = a || t.type;
t.end <= i && (!u || u.node.end < t.end) && s(l, t) && (u = new n(t, r)),
o[l](t, r, e)
}
}(r, a),
u
},
e.make = function (t, n) {
n || (n = e.base);
var i = r(n);
for (var s in t) i[s] = t[s];
return i
},
e.base = o,
Object.defineProperty(e, '__esModule', {
value: !0
})
},
'object' == typeof n && void 0 !== t ? i(n) : 'function' == typeof define && define.amd ? define(['exports'], i) : i((r.acorn = r.acorn || {
}, r.acorn.walk = r.acorn.walk || {
}))
},
{
}
],
6: [
function (e, t, n) {
'use strict';
var r = e('./raw'),
i = [
],
s = [
],
o = r.makeRequestCallFromTimer(function () {
if (s.length) throw s.shift()
});
function a(e) {
var t;
(t = i.length ? i.pop() : new u).task = e,
r(t)
}
function u() {
this.task = null
}
t.exports = a,
u.prototype.call = function () {
try {
this.task.call()
} catch (e) {
a.onerror ? a.onerror(e) : (s.push(e), o())
} finally {
this.task = null,
i[i.length] = this
}
}
},
{
'./raw': 7
}
],
7: [
function (e, t, n) {
(function (e) {
'use strict';
function n(e) {
i.length || (r(), !0),
i[i.length] = e
}
t.exports = n;
var r,
i = [
],
s = 0,
o = 1024;
function a() {
for (; s < i.length; ) {
var e = s;
if (s += 1, i[e].call(), s > o) {
for (var t = 0, n = i.length - s; t < n; t++) i[t] = i[t + s];
i.length -= s,
s = 0
}
}
i.length = 0,
s = 0,
!1
}
var u,
l,
c,
p = void 0 !== e ? e : self,
h = p.MutationObserver || p.WebKitMutationObserver;
function f(e) {
return function () {
var t = setTimeout(r, 0),
n = setInterval(r, 50);
function r() {
clearTimeout(t),
clearInterval(n),
e()
}
}
}
'function' == typeof h ? (u = 1, l = new h(a), c = document.createTextNode(''), l.observe(c, {
characterData: !0
}), r = function () {
u = - u,
c.data = u
}) : r = f(a),
n.requestFlush = r,
n.makeRequestCallFromTimer = f
}).call(this, 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : {
})
},
{
}
],
8: [
function (e, t, n) {
(function (n) {
'use strict';
var r = e('object-assign');
function i(e, t) {
if (e === t) return 0;
for (var n = e.length, r = t.length, i = 0, s = Math.min(n, r); i < s; ++i) if (e[i] !== t[i]) {
n = e[i],
r = t[i];
break
}
return n < r ? - 1 : r < n ? 1 : 0
}
function s(e) {
return n.Buffer && 'function' == typeof n.Buffer.isBuffer ? n.Buffer.isBuffer(e) : !(null == e || !e._isBuffer)
}
var o = e('util/'),
a = Object.prototype.hasOwnProperty,
u = Array.prototype.slice,
l = 'foo' === function () {
}.name;
function c(e) {
return Object.prototype.toString.call(e)
}
function p(e) {
return !s(e) && ('function' == typeof n.ArrayBuffer && ('function' == typeof ArrayBuffer.isView ? ArrayBuffer.isView(e) : !!e && (e instanceof DataView || !!(e.buffer && e.buffer instanceof ArrayBuffer))))
}
var h = t.exports = v,
f = /\s*function\s+([^\(\s]*)\s*/;
function d(e) {
if (o.isFunction(e)) {
if (l) return e.name;
var t = e.toString().match(f);
return t && t[1]
}
}
function m(e, t) {
return 'string' == typeof e ? e.length < t ? e : e.slice(0, t) : e
}
function g(e) {
if (l || !o.isFunction(e)) return o.inspect(e);
var t = d(e);
return '[Function' + (t ? ': ' + t : '') + ']'
}
function y(e, t, n, r, i) {
throw new h.AssertionError({
message: n,
actual: e,
expected: t,
operator: r,
stackStartFunction: i
})
}
function v(e, t) {
e || y(e, !0, t, '==', h.ok)
}
function b(e, t, n, r) {
if (e === t) return !0;
if (s(e) && s(t)) return 0 === i(e, t);
if (o.isDate(e) && o.isDate(t)) return e.getTime() === t.getTime();
if (o.isRegExp(e) && o.isRegExp(t)) return e.source === t.source && e.global === t.global && e.multiline === t.multiline && e.lastIndex === t.lastIndex && e.ignoreCase === t.ignoreCase;
if (null !== e && 'object' == typeof e || null !== t && 'object' == typeof t) {
if (p(e) && p(t) && c(e) === c(t) && !(e instanceof Float32Array || e instanceof Float64Array)) return 0 === i(new Uint8Array(e.buffer), new Uint8Array(t.buffer));
if (s(e) !== s(t)) return !1;
var a = (r = r || {
actual: [
],
expected: [
]
}).actual.indexOf(e);
return - 1 !== a && a === r.expected.indexOf(t) || (r.actual.push(e), r.expected.push(t), function (e, t, n, r) {
if (null === e || void 0 === e || null === t || void 0 === t) return !1;
if (o.isPrimitive(e) || o.isPrimitive(t)) return e === t;
if (n && Object.getPrototypeOf(e) !== Object.getPrototypeOf(t)) return !1;
var i = x(e),
s = x(t);
if (i && !s || !i && s) return !1;
if (i) return e = u.call(e),
t = u.call(t),
b(e, t, n);
var a,
l,
c = _(e),
p = _(t);
if (c.length !== p.length) return !1;
for (c.sort(), p.sort(), l = c.length - 1; l >= 0; l--) if (c[l] !== p[l]) return !1;
for (l = c.length - 1; l >= 0; l--) if (a = c[l], !b(e[a], t[a], n, r)) return !1;
return !0
}(e, t, n, r))
}
return n ? e === t : e == t
}
function x(e) {
return '[object Arguments]' == Object.prototype.toString.call(e)
}
function A(e, t) {
if (!e || !t) return !1;
if ('[object RegExp]' == Object.prototype.toString.call(t)) return t.test(e);
try {
if (e instanceof t) return !0
} catch (e) {
}
return !Error.isPrototypeOf(t) && !0 === t.call({
}, e)
}
function E(e, t, n, r) {
var i;
if ('function' != typeof t) throw new TypeError('"block" argument must be a function');
'string' == typeof n && (r = n, n = null),
i = function (e) {
var t;
try {
e()
} catch (e) {
t = e
}
return t
}(t),
r = (n && n.name ? ' (' + n.name + ').' : '.') + (r ? ' ' + r : '.'),
e && !i && y(i, n, 'Missing expected exception' + r);
var s = 'string' == typeof r,
a = !e && o.isError(i),
u = !e && i && !n;
if ((a && s && A(i, n) || u) && y(i, n, 'Got unwanted exception' + r), e && i && n && !A(i, n) || !e && i) throw i
}
h.AssertionError = function (e) {
var t;
this.name = 'AssertionError',
this.actual = e.actual,
this.expected = e.expected,
this.operator = e.operator,
e.message ? (this.message = e.message, this.generatedMessage = !1) : (this.message = m(g((t = this).actual), 128) + ' ' + t.operator + ' ' + m(g(t.expected), 128), this.generatedMessage = !0);
var n = e.stackStartFunction || y;
if (Error.captureStackTrace) Error.captureStackTrace(this, n);
else {
var r = new Error;
if (r.stack) {
var i = r.stack,
s = d(n),
o = i.indexOf('\n' + s);
if (o >= 0) {
var a = i.indexOf('\n', o + 1);
i = i.substring(a + 1)
}
this.stack = i
}
}
},
o.inherits(h.AssertionError, Error),
h.fail = y,
h.ok = v,
h.equal = function (e, t, n) {
e != t && y(e, t, n, '==', h.equal)
},
h.notEqual = function (e, t, n) {
e == t && y(e, t, n, '!=', h.notEqual)
},
h.deepEqual = function (e, t, n) {
b(e, t, !1) || y(e, t, n, 'deepEqual', h.deepEqual)
},
h.deepStrictEqual = function (e, t, n) {
b(e, t, !0) || y(e, t, n, 'deepStrictEqual', h.deepStrictEqual)
},
h.notDeepEqual = function (e, t, n) {
b(e, t, !1) && y(e, t, n, 'notDeepEqual', h.notDeepEqual)
},
h.notDeepStrictEqual = function e(t, n, r) {
b(t, n, !0) && y(t, n, r, 'notDeepStrictEqual', e)
},
h.strictEqual = function (e, t, n) {
e !== t && y(e, t, n, '===', h.strictEqual)
},
h.notStrictEqual = function (e, t, n) {
e === t && y(e, t, n, '!==', h.notStrictEqual)
},
h.throws = function (e, t, n) {
E(!0, e, t, n)
},
h.doesNotThrow = function (e, t, n) {
E(!1, e, t, n)
},
h.ifError = function (e) {
if (e) throw e
},
h.strict = r(function e(t, n) {
t || y(t, !0, n, '==', e)
}, h, {
equal: h.strictEqual,
deepEqual: h.deepStrictEqual,
notEqual: h.notStrictEqual,
notDeepEqual: h.notDeepStrictEqual
}),
h.strict.strict = h.strict;
var _ = Object.keys || function (e) {
var t = [
];
for (var n in e) a.call(e, n) && t.push(n);
return t
}
}).call(this, 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : {
})
},
{
'object-assign': 370,
'util/': 11
}
],
9: [
function (e, t, n) {
'function' == typeof Object.create ? t.exports = function (e, t) {
e.super_ = t,
e.prototype = Object.create(t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
})
}
: t.exports = function (e, t) {
e.super_ = t;
var n = function () {
};
n.prototype = t.prototype,
e.prototype = new n,
e.prototype.constructor = e
}
},
{
}
],
10: [
function (e, t, n) {
t.exports = function (e) {
return e && 'object' == typeof e && 'function' == typeof e.copy && 'function' == typeof e.fill && 'function' == typeof e.readUInt8
}
},
{
}
],
11: [
function (e, t, n) {
(function (t, r) {
var i = /%[sdj%]/g;
n.format = function (e) {
if (!y(e)) {
for (var t = [
], n = 0; n < arguments.length; n++) t.push(a(arguments[n]));
return t.join(' ')
}
n = 1;
for (var r = arguments, s = r.length, o = String(e).replace(i, function (e) {
if ('%%' === e) return '%';
if (n >= s) return e;
switch (e) {
case '%s':
return String(r[n++]);
case '%d':
return Number(r[n++]);
case '%j':
try {
return JSON.stringify(r[n++])
} catch (e) {
return '[Circular]'
}
default:
return e
}
}), u = r[n]; n < s; u = r[++n]) m(u) || !x(u) ? o += ' ' + u : o += ' ' + a(u);
return o
},
n.deprecate = function (e, i) {
if (v(r.process)) return function () {
return n.deprecate(e, i).apply(this, arguments)
};
if (!0 === t.noDeprecation) return e;
var s = !1;
return function () {
if (!s) {
if (t.throwDeprecation) throw new Error(i);
t.traceDeprecation ? console.trace(i) : console.error(i),
s = !0
}
return e.apply(this, arguments)
}
};
var s,
o = {
};
function a(e, t) {
var r = {
seen: [
],
stylize: l
};
return arguments.length >= 3 && (r.depth = arguments[2]),
arguments.length >= 4 && (r.colors = arguments[3]),
d(t) ? r.showHidden = t : t && n._extend(r, t),
v(r.showHidden) && (r.showHidden = !1),
v(r.depth) && (r.depth = 2),
v(r.colors) && (r.colors = !1),
v(r.customInspect) && (r.customInspect = !0),
r.colors && (r.stylize = u),
c(r, e, r.depth)
}
function u(e, t) {
var n = a.styles[t];
return n ? '[' + a.colors[n][0] + 'm' + e + '[' + a.colors[n][1] + 'm' : e
}
function l(e, t) {
return e
}
function c(e, t, r) {
if (e.customInspect && t && _(t.inspect) && t.inspect !== n.inspect && (!t.constructor || t.constructor.prototype !== t)) {
var i = t.inspect(r, e);
return y(i) || (i = c(e, i, r)),
i
}
var s = function (e, t) {
if (v(t)) return e.stylize('undefined', 'undefined');
if (y(t)) {
var n = '\'' + JSON.stringify(t).replace(/^"|"$/g, '').replace(/'/g, '\\\'').replace(/\\"/g, '"') + '\'';
return e.stylize(n, 'string')
}
if (g(t)) return e.stylize('' + t, 'number');
if (d(t)) return e.stylize('' + t, 'boolean');
if (m(t)) return e.stylize('null', 'null')
}(e, t);
if (s) return s;
var o = Object.keys(t),
a = function (e) {
var t = {
};
return e.forEach(function (e, n) {
t[e] = !0
}),
t
}(o);
if (e.showHidden && (o = Object.getOwnPropertyNames(t)), E(t) && (o.indexOf('message') >= 0 || o.indexOf('description') >= 0)) return p(t);
if (0 === o.length) {
if (_(t)) {
var u = t.name ? ': ' + t.name : '';
return e.stylize('[Function' + u + ']', 'special')
}
if (b(t)) return e.stylize(RegExp.prototype.toString.call(t), 'regexp');
if (A(t)) return e.stylize(Date.prototype.toString.call(t), 'date');
if (E(t)) return p(t)
}
var l,
x = '',
C = !1,
w = [
'{',
'}'
];
(f(t) && (C = !0, w = [
'[',
']'
]), _(t)) && (x = ' [Function' + (t.name ? ': ' + t.name : '') + ']');
return b(t) && (x = ' ' + RegExp.prototype.toString.call(t)),
A(t) && (x = ' ' + Date.prototype.toUTCString.call(t)),
E(t) && (x = ' ' + p(t)),
0 !== o.length || C && 0 != t.length ? r < 0 ? b(t) ? e.stylize(RegExp.prototype.toString.call(t), 'regexp') : e.stylize('[Object]', 'special') : (e.seen.push(t), l = C ? function (e, t, n, r, i) {
for (var s = [
], o = 0, a = t.length; o < a; ++o) k(t, String(o)) ? s.push(h(e, t, n, r, String(o), !0)) : s.push('');
return i.forEach(function (i) {
i.match(/^\d+$/) || s.push(h(e, t, n, r, i, !0))
}),
s
}(e, t, r, a, o) : o.map(function (n) {
return h(e, t, r, a, n, C)
}), e.seen.pop(), function (e, t, n) {
if (e.reduce(function (e, t) {
return 0,
t.indexOf('\n') >= 0 && 0,
e + t.replace(/\u001b\[\d\d?m/g, '').length + 1
}, 0) > 60) return n[0] + ('' === t ? '' : t + '\n ') + ' ' + e.join(',\n ') + ' ' + n[1];
return n[0] + t + ' ' + e.join(', ') + ' ' + n[1]
}(l, x, w)) : w[0] + x + w[1]
}
function p(e) {
return '[' + Error.prototype.toString.call(e) + ']'
}
function h(e, t, n, r, i, s) {
var o,
a,
u;
if ((u = Object.getOwnPropertyDescriptor(t, i) || {
value: t[i]
}).get ? a = u.set ? e.stylize('[Getter/Setter]', 'special') : e.stylize('[Getter]', 'special') : u.set && (a = e.stylize('[Setter]', 'special')), k(r, i) || (o = '[' + i + ']'), a || (e.seen.indexOf(u.value) < 0 ? (a = m(n) ? c(e, u.value, null) : c(e, u.value, n - 1)).indexOf('\n') > - 1 && (a = s ? a.split('\n').map(function (e) {
return ' ' + e
}).join('\n').substr(2) : '\n' + a.split('\n').map(function (e) {
return ' ' + e
}).join('\n')) : a = e.stylize('[Circular]', 'special')), v(o)) {
if (s && i.match(/^\d+$/)) return a;
(o = JSON.stringify('' + i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (o = o.substr(1, o.length - 2), o = e.stylize(o, 'name')) : (o = o.replace(/'/g, '\\\'').replace(/\\"/g, '"').replace(/(^"|"$)/g, '\''), o = e.stylize(o, 'string'))
}
return o + ': ' + a
}
function f(e) {
return Array.isArray(e)
}
function d(e) {
return 'boolean' == typeof e
}
function m(e) {
return null === e
}
function g(e) {
return 'number' == typeof e
}
function y(e) {
return 'string' == typeof e
}
function v(e) {
return void 0 === e
}
function b(e) {
return x(e) && '[object RegExp]' === C(e)
}
function x(e) {
return 'object' == typeof e && null !== e
}
function A(e) {
return x(e) && '[object Date]' === C(e)
}
function E(e) {
return x(e) && ('[object Error]' === C(e) || e instanceof Error)
}
function _(e) {
return 'function' == typeof e
}
function C(e) {
return Object.prototype.toString.call(e)
}
function w(e) {
return e < 10 ? '0' + e.toString(10) : e.toString(10)
}
n.debuglog = function (e) {
if (v(s) && (s = t.env.NODE_DEBUG || ''), e = e.toUpperCase(), !o[e]) if (new RegExp('\\b' + e + '\\b', 'i').test(s)) {
var r = t.pid;
o[e] = function () {
var t = n.format.apply(n, arguments);
console.error('%s %d: %s', e, r, t)
}
} else o[e] = function () {
};
return o[e]
},
n.inspect = a,
a.colors = {
bold: [
1,
22
],
italic: [
3,
23
],
underline: [
4,
24
],
inverse: [
7,
27
],
white: [
37,
39
],
grey: [
90,
39
],
black: [
30,
39
],
blue: [
34,
39
],
cyan: [
36,
39
],
green: [
32,
39
],
magenta: [
35,
39
],
red: [
31,
39
],
yellow: [
33,
39
]
},
a.styles = {
special: 'cyan',
number: 'yellow',
boolean: 'yellow',
undefined: 'grey',
null: 'bold',
string: 'green',
date: 'magenta',
regexp: 'red'
},
n.isArray = f,
n.isBoolean = d,
n.isNull = m,
n.isNullOrUndefined = function (e) {
return null == e
},
n.isNumber = g,
n.isString = y,
n.isSymbol = function (e) {
return 'symbol' == typeof e
},
n.isUndefined = v,
n.isRegExp = b,
n.isObject = x,
n.isDate = A,
n.isError = E,
n.isFunction = _,
n.isPrimitive = function (e) {
return null === e || 'boolean' == typeof e || 'number' == typeof e || 'string' == typeof e || 'symbol' == typeof e || void 0 === e
},
n.isBuffer = e('./support/isBuffer');
var D = [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
];
function k(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
n.log = function () {
var e,
t;
console.log('%s - %s', (e = new Date, t = [
w(e.getHours()),
w(e.getMinutes()),
w(e.getSeconds())
].join(':'), [
e.getDate(),
D[e.getMonth()],
t
].join(' ')), n.format.apply(n, arguments))
},
n.inherits = e('inherits'),
n._extend = function (e, t) {
if (!t || !x(t)) return e;
for (var n = Object.keys(t), r = n.length; r--; ) e[n[r]] = t[n[r]];
return e
}
}).call(this, e('_process'), 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : {
})
},
{
'./support/isBuffer': 10,
_process: 373,
inherits: 9
}
],
12: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/get-iterator'),
__esModule: !0
}
},
{
'core-js/library/fn/get-iterator': 150
}
],
13: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/json/stringify'),
__esModule: !0
}
},
{
'core-js/library/fn/json/stringify': 151
}
],
14: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/number/max-safe-integer'),
__esModule: !0
}
},
{
'core-js/library/fn/number/max-safe-integer': 152
}
],
15: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/object/create'),
__esModule: !0
}
},
{
'core-js/library/fn/object/create': 153
}
],
16: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/object/get-own-property-symbols'),
__esModule: !0
}
},
{
'core-js/library/fn/object/get-own-property-symbols': 154
}
],
17: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/object/keys'),
__esModule: !0
}
},
{
'core-js/library/fn/object/keys': 155
}
],
18: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/symbol'),
__esModule: !0
}
},
{
'core-js/library/fn/symbol': 157
}
],
19: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/symbol/for'),
__esModule: !0
}
},
{
'core-js/library/fn/symbol/for': 156
}
],
20: [
function (e, t, n) {
t.exports = {
default:
e('core-js/library/fn/symbol/iterator'),
__esModule: !0
}
},
{
'core-js/library/fn/symbol/iterator': 158
}
],
21: [
function (e, t, n) {
'use strict';
n.__esModule = !0;
var r = o(e('../core-js/symbol/iterator')),
i = o(e('../core-js/symbol')),
s = 'function' == typeof i.default && 'symbol' == typeof r.default ? function (e) {
return typeof e
}
: function (e) {
return e && 'function' == typeof i.default && e.constructor === i.default && e !== i.default.prototype ? 'symbol' : typeof e
};
function o(e) {
return e && e.__esModule ? e : {
default:
e
}
}
n.default = 'function' == typeof i.default && 'symbol' === s(r.default) ? function (e) {
return void 0 === e ? 'undefined' : s(e)
}
: function (e) {
return e && 'function' == typeof i.default && e.constructor === i.default && e !== i.default.prototype ? 'symbol' : void 0 === e ? 'undefined' : s(e)
}
},
{
'../core-js/symbol': 18,
'../core-js/symbol/iterator': 20
}
],
22: [
function (e, t, n) {
'use strict';
n.__esModule = !0,
n.NOT_LOCAL_BINDING = n.BLOCK_SCOPED_SYMBOL = n.INHERIT_KEYS = n.UNARY_OPERATORS = n.STRING_UNARY_OPERATORS = n.NUMBER_UNARY_OPERATORS = n.BOOLEAN_UNARY_OPERATORS = n.BINARY_OPERATORS = n.NUMBER_BINARY_OPERATORS = n.BOOLEAN_BINARY_OPERATORS = n.COMPARISON_BINARY_OPERATORS = n.EQUALITY_BINARY_OPERATORS = n.BOOLEAN_NUMBER_BINARY_OPERATORS = n.UPDATE_OPERATORS = n.LOGICAL_OPERATORS = n.COMMENT_KEYS = n.FOR_INIT_KEYS = n.FLATTENABLE_KEYS = n.STATEMENT_OR_BLOCK_KEYS = void 0;
var r,
i = e('babel-runtime/core-js/symbol/for'),
s = (r = i) && r.__esModule ? r : {
default:
r
};
n.STATEMENT_OR_BLOCK_KEYS = [
'consequent',
'body',
'alternate'
],
n.FLATTENABLE_KEYS = [
'body',
'expressions'
],
n.FOR_INIT_KEYS = [
'left',
'init'
],
n.COMMENT_KEYS = [
'leadingComments',
'trailingComments',
'innerComments'
],
n.LOGICAL_OPERATORS = [
'||',
'&&'
],
n.UPDATE_OPERATORS = [
'++',
'--'
];
var o = n.BOOLEAN_NUMBER_BINARY_OPERATORS = [
'>',
'<',
'>=',
'<='
],
a = n.EQUALITY_BINARY_OPERATORS = [
'==',
'===',
'!=',
'!=='
],
u = n.COMPARISON_BINARY_OPERATORS = [
].concat(a, [
'in',
'instanceof'
]),
l = n.BOOLEAN_BINARY_OPERATORS = [
].concat(u, o),
c = n.NUMBER_BINARY_OPERATORS = [
'-',
'/',
'%',
'*',
'**',
'&',
'|',
'>>',
'>>>',
'<<',
'^'
],
p = (n.BINARY_OPERATORS = [
'+'
].concat(c, l), n.BOOLEAN_UNARY_OPERATORS = [
'delete',
'!'
]),
h = n.NUMBER_UNARY_OPERATORS = [
'+',
'-',
'++',
'--',
'~'
],
f = n.STRING_UNARY_OPERATORS = [
'typeof'
];
n.UNARY_OPERATORS = [
'void'
].concat(p, h, f),
n.INHERIT_KEYS = {
optional: [
'typeAnnotation',
'typeParameters',
'returnType'
],
force: [
'start',
'loc',
'end'
]
},
n.BLOCK_SCOPED_SYMBOL = (0, s.default) ('var used to be block scoped'),
n.NOT_LOCAL_BINDING = (0, s.default) ('should not be considered a local binding')
},
{
'babel-runtime/core-js/symbol/for': 19
}
],
23: [
function (e, t, n) {
'use strict';
n.__esModule = !0;
var r = l(e('babel-runtime/core-js/number/max-safe-integer')),
i = l(e('babel-runtime/core-js/json/stringify')),
s = l(e('babel-runtime/core-js/get-iterator'));
n.toComputedKey = function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : e.key || e.property;
e.computed || u.isIdentifier(t) && (t = u.stringLiteral(t.name));
return t
},
n.toSequenceExpression = function (e, t) {
if (!e || !e.length) return;
var n = [
],
r = function e(t, n, r) {
var i = [
];
var o = !0;
for (var a = t, l = Array.isArray(a), c = 0, a = l ? a : (0, s.default) (a); ; ) {
var p;
if (l) {
if (c >= a.length) break;
p = a[c++]
} else {
if ((c = a.next()).done) break;
p = c.value
}
var h = p;
if (o = !1, u.isExpression(h)) i.push(h);
else if (u.isExpressionStatement(h)) i.push(h.expression);
else if (u.isVariableDeclaration(h)) {
if ('var' !== h.kind) return;
for (var f = h.declarations, d = Array.isArray(f), m = 0, f = d ? f : (0, s.default) (f); ; ) {
var g;
if (d) {
if (m >= f.length) break;
g = f[m++]
} else {
if ((m = f.next()).done) break;
g = m.value
}
var y = g,
v = u.getBindingIdentifiers(y);
for (var b in v) r.push({
kind: h.kind,
id: v[b]
});
y.init && i.push(u.assignmentExpression('=', y.id, y.init))
}
o = !0
} else if (u.isIfStatement(h)) {
var x = h.consequent ? e([h.consequent], n, r) : n.buildUndefinedNode(),
A = h.alternate ? e([h.alternate], n, r) : n.buildUndefinedNode();
if (!x || !A) return;
i.push(u.conditionalExpression(h.test, x, A))
} else if (u.isBlockStatement(h)) {
var E = e(h.body, n, r);
if (!E) return;
i.push(E)
} else {
if (!u.isEmptyStatement(h)) return;
o = !0
}
}
o && i.push(n.buildUndefinedNode());
return 1 === i.length ? i[0] : u.sequenceExpression(i)
}(e, t, n);
if (!r) return;
for (var i = n, o = Array.isArray(i), a = 0, i = o ? i : (0, s.default) (i); ; ) {
var l;
if (o) {
if (a >= i.length) break;
l = i[a++]
} else {
if ((a = i.next()).done) break;
l = a.value
}
var c = l;
t.push(c)
}
return r
},
n.toKeyAlias = c,
n.toIdentifier = p,
n.toBindingIdentifierName = function (e) {
'eval' !== (e = p(e)) && 'arguments' !== e || (e = '_' + e);
return e
},
n.toStatement = function (e, t) {
if (u.isStatement(e)) return e;
var n = !1,
r = void 0;
if (u.isClass(e)) n = !0,
r = 'ClassDeclaration';
else if (u.isFunction(e)) n = !0,
r = 'FunctionDeclaration';
else if (u.isAssignmentExpression(e)) return u.expressionStatement(e);
n && !e.id && (r = !1);
if (!r) {
if (t) return !1;
throw new Error('cannot turn ' + e.type + ' to a statement')
}
return e.type = r,
e
},
n.toExpression = function (e) {
u.isExpressionStatement(e) && (e = e.expression);
if (u.isExpression(e)) return e;
u.isClass(e) ? e.type = 'ClassExpression' : u.isFunction(e) && (e.type = 'FunctionExpression');
if (!u.isExpression(e)) throw new Error('cannot turn ' + e.type + ' to an expression');
return e
},
n.toBlock = function (e, t) {
if (u.isBlockStatement(e)) return e;
u.isEmptyStatement(e) && (e = [
]);
Array.isArray(e) || (u.isStatement(e) || (e = u.isFunction(t) ? u.returnStatement(e) : u.expressionStatement(e)), e = [
e
]);
return u.blockStatement(e)
},
n.valueToNode = function (e) {
if (void 0 === e) return u.identifier('undefined');
if (!0 === e || !1 === e) return u.booleanLiteral(e);
if (null === e) return u.nullLiteral();
if ('string' == typeof e) return u.stringLiteral(e);
if ('number' == typeof e) return u.numericLiteral(e);
if ((0, a.default) (e)) {
var t = e.source,
n = e.toString().match(/\/([a-z]+|)$/) [1];
return u.regExpLiteral(t, n)
}
if (Array.isArray(e)) return u.arrayExpression(e.map(u.valueToNode));
if ((0, o.default) (e)) {
var r = [
];
for (var i in e) {
var s = void 0;
s = u.isValidIdentifier(i) ? u.identifier(i) : u.stringLiteral(i),
r.push(u.objectProperty(s, u.valueToNode(e[i])))
}
return u.objectExpression(r)
}
throw new Error('don\'t know how to turn this value into a node')
};
var o = l(e('lodash/isPlainObject')),
a = l(e('lodash/isRegExp')),
u = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('./index'));
function l(e) {
return e && e.__esModule ? e : {
default:
e
}
}
function c(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : e.key,
n = void 0;
return 'method' === e.kind ? c.increment() + '' : (n = u.isIdentifier(t) ? t.name : u.isStringLiteral(t) ? (0, i.default) (t.value) : (0, i.default) (u.removePropertiesDeep(u.cloneDeep(t))), e.computed && (n = '[' + n + ']'), e.static && (n = 'static:' + n), n)
}
function p(e) {
return e = (e = (e = (e += '').replace(/[^a-zA-Z0-9$_]/g, '-')).replace(/^[-0-9]+/, '')).replace(/[-\s]+(.)?/g, function (e, t) {
return t ? t.toUpperCase() : ''
}),
u.isValidIdentifier(e) || (e = '_' + e),
e || '_'
}
c.uid = 0,
c.increment = function () {
return c.uid >= r.default ? c.uid = 0 : c.uid++
}
},
{
'./index': 33,
'babel-runtime/core-js/get-iterator': 12,
'babel-runtime/core-js/json/stringify': 13,
'babel-runtime/core-js/number/max-safe-integer': 14,
'lodash/isPlainObject': 360,
'lodash/isRegExp': 361
}
],
24: [
function (e, t, n) {
'use strict';
var r,
i = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('../index')),
s = e('../constants'),
o = e('./index'),
a = (r = o) && r.__esModule ? r : {
default:
r
};
(0, a.default) ('ArrayExpression', {
fields: {
elements: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeOrValueType) ('null', 'Expression', 'SpreadElement'))),
default:
[
]
}
},
visitor: [
'elements'
],
aliases: [
'Expression'
]
}),
(0, a.default) ('AssignmentExpression', {
fields: {
operator: {
validate: (0, o.assertValueType) ('string')
},
left: {
validate: (0, o.assertNodeType) ('LVal')
},
right: {
validate: (0, o.assertNodeType) ('Expression')
}
},
builder: [
'operator',
'left',
'right'
],
visitor: [
'left',
'right'
],
aliases: [
'Expression'
]
}),
(0, a.default) ('BinaryExpression', {
builder: [
'operator',
'left',
'right'
],
fields: {
operator: {
validate: o.assertOneOf.apply(void 0, s.BINARY_OPERATORS)
},
left: {
validate: (0, o.assertNodeType) ('Expression')
},
right: {
validate: (0, o.assertNodeType) ('Expression')
}
},
visitor: [
'left',
'right'
],
aliases: [
'Binary',
'Expression'
]
}),
(0, a.default) ('Directive', {
visitor: [
'value'
],
fields: {
value: {
validate: (0, o.assertNodeType) ('DirectiveLiteral')
}
}
}),
(0, a.default) ('DirectiveLiteral', {
builder: [
'value'
],
fields: {
value: {
validate: (0, o.assertValueType) ('string')
}
}
}),
(0, a.default) ('BlockStatement', {
builder: [
'body',
'directives'
],
visitor: [
'directives',
'body'
],
fields: {
directives: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Directive'))),
default:
[
]
},
body: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Statement')))
}
},
aliases: [
'Scopable',
'BlockParent',
'Block',
'Statement'
]
}),
(0, a.default) ('BreakStatement', {
visitor: [
'label'
],
fields: {
label: {
validate: (0, o.assertNodeType) ('Identifier'),
optional: !0
}
},
aliases: [
'Statement',
'Terminatorless',
'CompletionStatement'
]
}),
(0, a.default) ('CallExpression', {
visitor: [
'callee',
'arguments'
],
fields: {
callee: {
validate: (0, o.assertNodeType) ('Expression')
},
arguments: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Expression', 'SpreadElement')))
}
},
aliases: [
'Expression'
]
}),
(0, a.default) ('CatchClause', {
visitor: [
'param',
'body'
],
fields: {
param: {
validate: (0, o.assertNodeType) ('Identifier')
},
body: {
validate: (0, o.assertNodeType) ('BlockStatement')
}
},
aliases: [
'Scopable'
]
}),
(0, a.default) ('ConditionalExpression', {
visitor: [
'test',
'consequent',
'alternate'
],
fields: {
test: {
validate: (0, o.assertNodeType) ('Expression')
},
consequent: {
validate: (0, o.assertNodeType) ('Expression')
},
alternate: {
validate: (0, o.assertNodeType) ('Expression')
}
},
aliases: [
'Expression',
'Conditional'
]
}),
(0, a.default) ('ContinueStatement', {
visitor: [
'label'
],
fields: {
label: {
validate: (0, o.assertNodeType) ('Identifier'),
optional: !0
}
},
aliases: [
'Statement',
'Terminatorless',
'CompletionStatement'
]
}),
(0, a.default) ('DebuggerStatement', {
aliases: [
'Statement'
]
}),
(0, a.default) ('DoWhileStatement', {
visitor: [
'test',
'body'
],
fields: {
test: {
validate: (0, o.assertNodeType) ('Expression')
},
body: {
validate: (0, o.assertNodeType) ('Statement')
}
},
aliases: [
'Statement',
'BlockParent',
'Loop',
'While',
'Scopable'
]
}),
(0, a.default) ('EmptyStatement', {
aliases: [
'Statement'
]
}),
(0, a.default) ('ExpressionStatement', {
visitor: [
'expression'
],
fields: {
expression: {
validate: (0, o.assertNodeType) ('Expression')
}
},
aliases: [
'Statement',
'ExpressionWrapper'
]
}),
(0, a.default) ('File', {
builder: [
'program',
'comments',
'tokens'
],
visitor: [
'program'
],
fields: {
program: {
validate: (0, o.assertNodeType) ('Program')
}
}
}),
(0, a.default) ('ForInStatement', {
visitor: [
'left',
'right',
'body'
],
aliases: [
'Scopable',
'Statement',
'For',
'BlockParent',
'Loop',
'ForXStatement'
],
fields: {
left: {
validate: (0, o.assertNodeType) ('VariableDeclaration', 'LVal')
},
right: {
validate: (0, o.assertNodeType) ('Expression')
},
body: {
validate: (0, o.assertNodeType) ('Statement')
}
}
}),
(0, a.default) ('ForStatement', {
visitor: [
'init',
'test',
'update',
'body'
],
aliases: [
'Scopable',
'Statement',
'For',
'BlockParent',
'Loop'
],
fields: {
init: {
validate: (0, o.assertNodeType) ('VariableDeclaration', 'Expression'),
optional: !0
},
test: {
validate: (0, o.assertNodeType) ('Expression'),
optional: !0
},
update: {
validate: (0, o.assertNodeType) ('Expression'),
optional: !0
},
body: {
validate: (0, o.assertNodeType) ('Statement')
}
}
}),
(0, a.default) ('FunctionDeclaration', {
builder: [
'id',
'params',
'body',
'generator',
'async'
],
visitor: [
'id',
'params',
'body',
'returnType',
'typeParameters'
],
fields: {
id: {
validate: (0, o.assertNodeType) ('Identifier')
},
params: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('LVal')))
},
body: {
validate: (0, o.assertNodeType) ('BlockStatement')
},
generator: {
default:
!1,
validate: (0, o.assertValueType) ('boolean')
},
async: {
default:
!1,
validate: (0, o.assertValueType) ('boolean')
}
},
aliases: [
'Scopable',
'Function',
'BlockParent',
'FunctionParent',
'Statement',
'Pureish',
'Declaration'
]
}),
(0, a.default) ('FunctionExpression', {
inherits: 'FunctionDeclaration',
aliases: [
'Scopable',
'Function',
'BlockParent',
'FunctionParent',
'Expression',
'Pureish'
],
fields: {
id: {
validate: (0, o.assertNodeType) ('Identifier'),
optional: !0
},
params: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('LVal')))
},
body: {
validate: (0, o.assertNodeType) ('BlockStatement')
},
generator: {
default:
!1,
validate: (0, o.assertValueType) ('boolean')
},
async: {
default:
!1,
validate: (0, o.assertValueType) ('boolean')
}
}
}),
(0, a.default) ('Identifier', {
builder: [
'name'
],
visitor: [
'typeAnnotation'
],
aliases: [
'Expression',
'LVal'
],
fields: {
name: {
validate: function (e, t, n) {
i.isValidIdentifier(n)
}
},
decorators: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Decorator')))
}
}
}),
(0, a.default) ('IfStatement', {
visitor: [
'test',
'consequent',
'alternate'
],
aliases: [
'Statement',
'Conditional'
],
fields: {
test: {
validate: (0, o.assertNodeType) ('Expression')
},
consequent: {
validate: (0, o.assertNodeType) ('Statement')
},
alternate: {
optional: !0,
validate: (0, o.assertNodeType) ('Statement')
}
}
}),
(0, a.default) ('LabeledStatement', {
visitor: [
'label',
'body'
],
aliases: [
'Statement'
],
fields: {
label: {
validate: (0, o.assertNodeType) ('Identifier')
},
body: {
validate: (0, o.assertNodeType) ('Statement')
}
}
}),
(0, a.default) ('StringLiteral', {
builder: [
'value'
],
fields: {
value: {
validate: (0, o.assertValueType) ('string')
}
},
aliases: [
'Expression',
'Pureish',
'Literal',
'Immutable'
]
}),
(0, a.default) ('NumericLiteral', {
builder: [
'value'
],
deprecatedAlias: 'NumberLiteral',
fields: {
value: {
validate: (0, o.assertValueType) ('number')
}
},
aliases: [
'Expression',
'Pureish',
'Literal',
'Immutable'
]
}),
(0, a.default) ('NullLiteral', {
aliases: [
'Expression',
'Pureish',
'Literal',
'Immutable'
]
}),
(0, a.default) ('BooleanLiteral', {
builder: [
'value'
],
fields: {
value: {
validate: (0, o.assertValueType) ('boolean')
}
},
aliases: [
'Expression',
'Pureish',
'Literal',
'Immutable'
]
}),
(0, a.default) ('RegExpLiteral', {
builder: [
'pattern',
'flags'
],
deprecatedAlias: 'RegexLiteral',
aliases: [
'Expression',
'Literal'
],
fields: {
pattern: {
validate: (0, o.assertValueType) ('string')
},
flags: {
validate: (0, o.assertValueType) ('string'),
default:
''
}
}
}),
(0, a.default) ('LogicalExpression', {
builder: [
'operator',
'left',
'right'
],
visitor: [
'left',
'right'
],
aliases: [
'Binary',
'Expression'
],
fields: {
operator: {
validate: o.assertOneOf.apply(void 0, s.LOGICAL_OPERATORS)
},
left: {
validate: (0, o.assertNodeType) ('Expression')
},
right: {
validate: (0, o.assertNodeType) ('Expression')
}
}
}),
(0, a.default) ('MemberExpression', {
builder: [
'object',
'property',
'computed'
],
visitor: [
'object',
'property'
],
aliases: [
'Expression',
'LVal'
],
fields: {
object: {
validate: (0, o.assertNodeType) ('Expression')
},
property: {
validate: function (e, t, n) {
var r = e.computed ? 'Expression' : 'Identifier';
(0, o.assertNodeType) (r) (e, t, n)
}
},
computed: {
default:
!1
}
}
}),
(0, a.default) ('NewExpression', {
visitor: [
'callee',
'arguments'
],
aliases: [
'Expression'
],
fields: {
callee: {
validate: (0, o.assertNodeType) ('Expression')
},
arguments: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Expression', 'SpreadElement')))
}
}
}),
(0, a.default) ('Program', {
visitor: [
'directives',
'body'
],
builder: [
'body',
'directives'
],
fields: {
directives: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Directive'))),
default:
[
]
},
body: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Statement')))
}
},
aliases: [
'Scopable',
'BlockParent',
'Block',
'FunctionParent'
]
}),
(0, a.default) ('ObjectExpression', {
visitor: [
'properties'
],
aliases: [
'Expression'
],
fields: {
properties: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('ObjectMethod', 'ObjectProperty', 'SpreadProperty')))
}
}
}),
(0, a.default) ('ObjectMethod', {
builder: [
'kind',
'key',
'params',
'body',
'computed'
],
fields: {
kind: {
validate: (0, o.chain) ((0, o.assertValueType) ('string'), (0, o.assertOneOf) ('method', 'get', 'set')),
default:
'method'
},
computed: {
validate: (0, o.assertValueType) ('boolean'),
default:
!1
},
key: {
validate: function (e, t, n) {
var r = e.computed ? [
'Expression'
] : [
'Identifier',
'StringLiteral',
'NumericLiteral'
];
o.assertNodeType.apply(void 0, r) (e, t, n)
}
},
decorators: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Decorator')))
},
body: {
validate: (0, o.assertNodeType) ('BlockStatement')
},
generator: {
default:
!1,
validate: (0, o.assertValueType) ('boolean')
},
async: {
default:
!1,
validate: (0, o.assertValueType) ('boolean')
}
},
visitor: [
'key',
'params',
'body',
'decorators',
'returnType',
'typeParameters'
],
aliases: [
'UserWhitespacable',
'Function',
'Scopable',
'BlockParent',
'FunctionParent',
'Method',
'ObjectMember'
]
}),
(0, a.default) ('ObjectProperty', {
builder: [
'key',
'value',
'computed',
'shorthand',
'decorators'
],
fields: {
computed: {
validate: (0, o.assertValueType) ('boolean'),
default:
!1
},
key: {
validate: function (e, t, n) {
var r = e.computed ? [
'Expression'
] : [
'Identifier',
'StringLiteral',
'NumericLiteral'
];
o.assertNodeType.apply(void 0, r) (e, t, n)
}
},
value: {
validate: (0, o.assertNodeType) ('Expression', 'Pattern', 'RestElement')
},
shorthand: {
validate: (0, o.assertValueType) ('boolean'),
default:
!1
},
decorators: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Decorator'))),
optional: !0
}
},
visitor: [
'key',
'value',
'decorators'
],
aliases: [
'UserWhitespacable',
'Property',
'ObjectMember'
]
}),
(0, a.default) ('RestElement', {
visitor: [
'argument',
'typeAnnotation'
],
aliases: [
'LVal'
],
fields: {
argument: {
validate: (0, o.assertNodeType) ('LVal')
},
decorators: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Decorator')))
}
}
}),
(0, a.default) ('ReturnStatement', {
visitor: [
'argument'
],
aliases: [
'Statement',
'Terminatorless',
'CompletionStatement'
],
fields: {
argument: {
validate: (0, o.assertNodeType) ('Expression'),
optional: !0
}
}
}),
(0, a.default) ('SequenceExpression', {
visitor: [
'expressions'
],
fields: {
expressions: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Expression')))
}
},
aliases: [
'Expression'
]
}),
(0, a.default) ('SwitchCase', {
visitor: [
'test',
'consequent'
],
fields: {
test: {
validate: (0, o.assertNodeType) ('Expression'),
optional: !0
},
consequent: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('Statement')))
}
}
}),
(0, a.default) ('SwitchStatement', {
visitor: [
'discriminant',
'cases'
],
aliases: [
'Statement',
'BlockParent',
'Scopable'
],
fields: {
discriminant: {
validate: (0, o.assertNodeType) ('Expression')
},
cases: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('SwitchCase')))
}
}
}),
(0, a.default) ('ThisExpression', {
aliases: [
'Expression'
]
}),
(0, a.default) ('ThrowStatement', {
visitor: [
'argument'
],
aliases: [
'Statement',
'Terminatorless',
'CompletionStatement'
],
fields: {
argument: {
validate: (0, o.assertNodeType) ('Expression')
}
}
}),
(0, a.default) ('TryStatement', {
visitor: [
'block',
'handler',
'finalizer'
],
aliases: [
'Statement'
],
fields: {
body: {
validate: (0, o.assertNodeType) ('BlockStatement')
},
handler: {
optional: !0,
handler: (0, o.assertNodeType) ('BlockStatement')
},
finalizer: {
optional: !0,
validate: (0, o.assertNodeType) ('BlockStatement')
}
}
}),
(0, a.default) ('UnaryExpression', {
builder: [
'operator',
'argument',
'prefix'
],
fields: {
prefix: {
default:
!0
},
argument: {
validate: (0, o.assertNodeType) ('Expression')
},
operator: {
validate: o.assertOneOf.apply(void 0, s.UNARY_OPERATORS)
}
},
visitor: [
'argument'
],
aliases: [
'UnaryLike',
'Expression'
]
}),
(0, a.default) ('UpdateExpression', {
builder: [
'operator',
'argument',
'prefix'
],
fields: {
prefix: {
default:
!1
},
argument: {
validate: (0, o.assertNodeType) ('Expression')
},
operator: {
validate: o.assertOneOf.apply(void 0, s.UPDATE_OPERATORS)
}
},
visitor: [
'argument'
],
aliases: [
'Expression'
]
}),
(0, a.default) ('VariableDeclaration', {
builder: [
'kind',
'declarations'
],
visitor: [
'declarations'
],
aliases: [
'Statement',
'Declaration'
],
fields: {
kind: {
validate: (0, o.chain) ((0, o.assertValueType) ('string'), (0, o.assertOneOf) ('var', 'let', 'const'))
},
declarations: {
validate: (0, o.chain) ((0, o.assertValueType) ('array'), (0, o.assertEach) ((0, o.assertNodeType) ('VariableDeclarator')))
}
}
}),
(0, a.default) ('VariableDeclarator', {
visitor: [
'id',
'init'
],
fields: {
id: {
validate: (0, o.assertNodeType) ('LVal')
},
init: {
optional: !0,
validate: (0, o.assertNodeType) ('Expression')
}
}
}),
(0, a.default) ('WhileStatement', {
visitor: [
'test',
'body'
],
aliases: [
'Statement',
'BlockParent',
'Loop',
'While',
'Scopable'
],
fields: {
test: {
validate: (0, o.assertNodeType) ('Expression')
},
body: {
validate: (0, o.assertNodeType) ('BlockStatement', 'Statement')
}
}
}),
(0, a.default) ('WithStatement', {
visitor: [
'object',
'body'
],
aliases: [
'Statement'
],
fields: {
object: {
object: (0, o.assertNodeType) ('Expression')
},
body: {
validate: (0, o.assertNodeType) ('BlockStatement', 'Statement')
}
}
})
},
{
'../constants': 22,
'../index': 33,
'./index': 28
}
],
25: [
function (e, t, n) {
'use strict';
var r,
i = e('./index'),
s = (r = i) && r.__esModule ? r : {
default:
r
};
(0, s.default) ('AssignmentPattern', {
visitor: [
'left',
'right'
],
aliases: [
'Pattern',
'LVal'
],
fields: {
left: {
validate: (0, i.assertNodeType) ('Identifier')
},
right: {
validate: (0, i.assertNodeType) ('Expression')
},
decorators: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('Decorator')))
}
}
}),
(0, s.default) ('ArrayPattern', {
visitor: [
'elements',
'typeAnnotation'
],
aliases: [
'Pattern',
'LVal'
],
fields: {
elements: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('Identifier', 'Pattern', 'RestElement')))
},
decorators: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('Decorator')))
}
}
}),
(0, s.default) ('ArrowFunctionExpression', {
builder: [
'params',
'body',
'async'
],
visitor: [
'params',
'body',
'returnType',
'typeParameters'
],
aliases: [
'Scopable',
'Function',
'BlockParent',
'FunctionParent',
'Expression',
'Pureish'
],
fields: {
params: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('LVal')))
},
body: {
validate: (0, i.assertNodeType) ('BlockStatement', 'Expression')
},
async: {
validate: (0, i.assertValueType) ('boolean'),
default:
!1
}
}
}),
(0, s.default) ('ClassBody', {
visitor: [
'body'
],
fields: {
body: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('ClassMethod', 'ClassProperty')))
}
}
}),
(0, s.default) ('ClassDeclaration', {
builder: [
'id',
'superClass',
'body',
'decorators'
],
visitor: [
'id',
'body',
'superClass',
'mixins',
'typeParameters',
'superTypeParameters',
'implements',
'decorators'
],
aliases: [
'Scopable',
'Class',
'Statement',
'Declaration',
'Pureish'
],
fields: {
id: {
validate: (0, i.assertNodeType) ('Identifier')
},
body: {
validate: (0, i.assertNodeType) ('ClassBody')
},
superClass: {
optional: !0,
validate: (0, i.assertNodeType) ('Expression')
},
decorators: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('Decorator')))
}
}
}),
(0, s.default) ('ClassExpression', {
inherits: 'ClassDeclaration',
aliases: [
'Scopable',
'Class',
'Expression',
'Pureish'
],
fields: {
id: {
optional: !0,
validate: (0, i.assertNodeType) ('Identifier')
},
body: {
validate: (0, i.assertNodeType) ('ClassBody')
},
superClass: {
optional: !0,
validate: (0, i.assertNodeType) ('Expression')
},
decorators: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('Decorator')))
}
}
}),
(0, s.default) ('ExportAllDeclaration', {
visitor: [
'source'
],
aliases: [
'Statement',
'Declaration',
'ModuleDeclaration',
'ExportDeclaration'
],
fields: {
source: {
validate: (0, i.assertNodeType) ('StringLiteral')
}
}
}),
(0, s.default) ('ExportDefaultDeclaration', {
visitor: [
'declaration'
],
aliases: [
'Statement',
'Declaration',
'ModuleDeclaration',
'ExportDeclaration'
],
fields: {
declaration: {
validate: (0, i.assertNodeType) ('FunctionDeclaration', 'ClassDeclaration', 'Expression')
}
}
}),
(0, s.default) ('ExportNamedDeclaration', {
visitor: [
'declaration',
'specifiers',
'source'
],
aliases: [
'Statement',
'Declaration',
'ModuleDeclaration',
'ExportDeclaration'
],
fields: {
declaration: {
validate: (0, i.assertNodeType) ('Declaration'),
optional: !0
},
specifiers: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('ExportSpecifier')))
},
source: {
validate: (0, i.assertNodeType) ('StringLiteral'),
optional: !0
}
}
}),
(0, s.default) ('ExportSpecifier', {
visitor: [
'local',
'exported'
],
aliases: [
'ModuleSpecifier'
],
fields: {
local: {
validate: (0, i.assertNodeType) ('Identifier')
},
exported: {
validate: (0, i.assertNodeType) ('Identifier')
}
}
}),
(0, s.default) ('ForOfStatement', {
visitor: [
'left',
'right',
'body'
],
aliases: [
'Scopable',
'Statement',
'For',
'BlockParent',
'Loop',
'ForXStatement'
],
fields: {
left: {
validate: (0, i.assertNodeType) ('VariableDeclaration', 'LVal')
},
right: {
validate: (0, i.assertNodeType) ('Expression')
},
body: {
validate: (0, i.assertNodeType) ('Statement')
}
}
}),
(0, s.default) ('ImportDeclaration', {
visitor: [
'specifiers',
'source'
],
aliases: [
'Statement',
'Declaration',
'ModuleDeclaration'
],
fields: {
specifiers: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('ImportSpecifier', 'ImportDefaultSpecifier', 'ImportNamespaceSpecifier')))
},
source: {
validate: (0, i.assertNodeType) ('StringLiteral')
}
}
}),
(0, s.default) ('ImportDefaultSpecifier', {
visitor: [
'local'
],
aliases: [
'ModuleSpecifier'
],
fields: {
local: {
validate: (0, i.assertNodeType) ('Identifier')
}
}
}),
(0, s.default) ('ImportNamespaceSpecifier', {
visitor: [
'local'
],
aliases: [
'ModuleSpecifier'
],
fields: {
local: {
validate: (0, i.assertNodeType) ('Identifier')
}
}
}),
(0, s.default) ('ImportSpecifier', {
visitor: [
'local',
'imported'
],
aliases: [
'ModuleSpecifier'
],
fields: {
local: {
validate: (0, i.assertNodeType) ('Identifier')
},
imported: {
validate: (0, i.assertNodeType) ('Identifier')
},
importKind: {
validate: (0, i.assertOneOf) (null, 'type', 'typeof')
}
}
}),
(0, s.default) ('MetaProperty', {
visitor: [
'meta',
'property'
],
aliases: [
'Expression'
],
fields: {
meta: {
validate: (0, i.assertValueType) ('string')
},
property: {
validate: (0, i.assertValueType) ('string')
}
}
}),
(0, s.default) ('ClassMethod', {
aliases: [
'Function',
'Scopable',
'BlockParent',
'FunctionParent',
'Method'
],
builder: [
'kind',
'key',
'params',
'body',
'computed',
'static'
],
visitor: [
'key',
'params',
'body',
'decorators',
'returnType',
'typeParameters'
],
fields: {
kind: {
validate: (0, i.chain) ((0, i.assertValueType) ('string'), (0, i.assertOneOf) ('get', 'set', 'method', 'constructor')),
default:
'method'
},
computed: {
default:
!1,
validate: (0, i.assertValueType) ('boolean')
},
static: {
default:
!1,
validate: (0, i.assertValueType) ('boolean')
},
key: {
validate: function (e, t, n) {
var r = e.computed ? [
'Expression'
] : [
'Identifier',
'StringLiteral',
'NumericLiteral'
];
i.assertNodeType.apply(void 0, r) (e, t, n)
}
},
params: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('LVal')))
},
body: {
validate: (0, i.assertNodeType) ('BlockStatement')
},
generator: {
default:
!1,
validate: (0, i.assertValueType) ('boolean')
},
async: {
default:
!1,
validate: (0, i.assertValueType) ('boolean')
}
}
}),
(0, s.default) ('ObjectPattern', {
visitor: [
'properties',
'typeAnnotation'
],
aliases: [
'Pattern',
'LVal'
],
fields: {
properties: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('RestProperty', 'Property')))
},
decorators: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('Decorator')))
}
}
}),
(0, s.default) ('SpreadElement', {
visitor: [
'argument'
],
aliases: [
'UnaryLike'
],
fields: {
argument: {
validate: (0, i.assertNodeType) ('Expression')
}
}
}),
(0, s.default) ('Super', {
aliases: [
'Expression'
]
}),
(0, s.default) ('TaggedTemplateExpression', {
visitor: [
'tag',
'quasi'
],
aliases: [
'Expression'
],
fields: {
tag: {
validate: (0, i.assertNodeType) ('Expression')
},
quasi: {
validate: (0, i.assertNodeType) ('TemplateLiteral')
}
}
}),
(0, s.default) ('TemplateElement', {
builder: [
'value',
'tail'
],
fields: {
value: {
},
tail: {
validate: (0, i.assertValueType) ('boolean'),
default:
!1
}
}
}),
(0, s.default) ('TemplateLiteral', {
visitor: [
'quasis',
'expressions'
],
aliases: [
'Expression',
'Literal'
],
fields: {
quasis: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('TemplateElement')))
},
expressions: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('Expression')))
}
}
}),
(0, s.default) ('YieldExpression', {
builder: [
'argument',
'delegate'
],
visitor: [
'argument'
],
aliases: [
'Expression',
'Terminatorless'
],
fields: {
delegate: {
validate: (0, i.assertValueType) ('boolean'),
default:
!1
},
argument: {
optional: !0,
validate: (0, i.assertNodeType) ('Expression')
}
}
})
},
{
'./index': 28
}
],
26: [
function (e, t, n) {
'use strict';
var r,
i = e('./index'),
s = (r = i) && r.__esModule ? r : {
default:
r
};
(0, s.default) ('AwaitExpression', {
builder: [
'argument'
],
visitor: [
'argument'
],
aliases: [
'Expression',
'Terminatorless'
],
fields: {
argument: {
validate: (0, i.assertNodeType) ('Expression')
}
}
}),
(0, s.default) ('ForAwaitStatement', {
visitor: [
'left',
'right',
'body'
],
aliases: [
'Scopable',
'Statement',
'For',
'BlockParent',
'Loop',
'ForXStatement'
],
fields: {
left: {
validate: (0, i.assertNodeType) ('VariableDeclaration', 'LVal')
},
right: {
validate: (0, i.assertNodeType) ('Expression')
},
body: {
validate: (0, i.assertNodeType) ('Statement')
}
}
}),
(0, s.default) ('BindExpression', {
visitor: [
'object',
'callee'
],
aliases: [
'Expression'
],
fields: {
}
}),
(0, s.default) ('Import', {
aliases: [
'Expression'
]
}),
(0, s.default) ('Decorator', {
visitor: [
'expression'
],
fields: {
expression: {
validate: (0, i.assertNodeType) ('Expression')
}
}
}),
(0, s.default) ('DoExpression', {
visitor: [
'body'
],
aliases: [
'Expression'
],
fields: {
body: {
validate: (0, i.assertNodeType) ('BlockStatement')
}
}
}),
(0, s.default) ('ExportDefaultSpecifier', {
visitor: [
'exported'
],
aliases: [
'ModuleSpecifier'
],
fields: {
exported: {
validate: (0, i.assertNodeType) ('Identifier')
}
}
}),
(0, s.default) ('ExportNamespaceSpecifier', {
visitor: [
'exported'
],
aliases: [
'ModuleSpecifier'
],
fields: {
exported: {
validate: (0, i.assertNodeType) ('Identifier')
}
}
}),
(0, s.default) ('RestProperty', {
visitor: [
'argument'
],
aliases: [
'UnaryLike'
],
fields: {
argument: {
validate: (0, i.assertNodeType) ('LVal')
}
}
}),
(0, s.default) ('SpreadProperty', {
visitor: [
'argument'
],
aliases: [
'UnaryLike'
],
fields: {
argument: {
validate: (0, i.assertNodeType) ('Expression')
}
}
})
},
{
'./index': 28
}
],
27: [
function (e, t, n) {
'use strict';
var r,
i = e('./index'),
s = (r = i) && r.__esModule ? r : {
default:
r
};
(0, s.default) ('AnyTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
],
fields: {
}
}),
(0, s.default) ('ArrayTypeAnnotation', {
visitor: [
'elementType'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('BooleanTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
],
fields: {
}
}),
(0, s.default) ('BooleanLiteralTypeAnnotation', {
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('NullLiteralTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
],
fields: {
}
}),
(0, s.default) ('ClassImplements', {
visitor: [
'id',
'typeParameters'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('ClassProperty', {
visitor: [
'key',
'value',
'typeAnnotation',
'decorators'
],
builder: [
'key',
'value',
'typeAnnotation',
'decorators',
'computed'
],
aliases: [
'Property'
],
fields: {
computed: {
validate: (0, i.assertValueType) ('boolean'),
default:
!1
}
}
}),
(0, s.default) ('DeclareClass', {
visitor: [
'id',
'typeParameters',
'extends',
'body'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareFunction', {
visitor: [
'id'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareInterface', {
visitor: [
'id',
'typeParameters',
'extends',
'body'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareModule', {
visitor: [
'id',
'body'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareModuleExports', {
visitor: [
'typeAnnotation'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareTypeAlias', {
visitor: [
'id',
'typeParameters',
'right'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareOpaqueType', {
visitor: [
'id',
'typeParameters',
'supertype'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareVariable', {
visitor: [
'id'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('DeclareExportDeclaration', {
visitor: [
'declaration',
'specifiers',
'source'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('ExistentialTypeParam', {
aliases: [
'Flow'
]
}),
(0, s.default) ('FunctionTypeAnnotation', {
visitor: [
'typeParameters',
'params',
'rest',
'returnType'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('FunctionTypeParam', {
visitor: [
'name',
'typeAnnotation'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('GenericTypeAnnotation', {
visitor: [
'id',
'typeParameters'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('InterfaceExtends', {
visitor: [
'id',
'typeParameters'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('InterfaceDeclaration', {
visitor: [
'id',
'typeParameters',
'extends',
'body'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('IntersectionTypeAnnotation', {
visitor: [
'types'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('MixedTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
]
}),
(0, s.default) ('EmptyTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
]
}),
(0, s.default) ('NullableTypeAnnotation', {
visitor: [
'typeAnnotation'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('NumericLiteralTypeAnnotation', {
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('NumberTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
],
fields: {
}
}),
(0, s.default) ('StringLiteralTypeAnnotation', {
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('StringTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
],
fields: {
}
}),
(0, s.default) ('ThisTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
],
fields: {
}
}),
(0, s.default) ('TupleTypeAnnotation', {
visitor: [
'types'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('TypeofTypeAnnotation', {
visitor: [
'argument'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('TypeAlias', {
visitor: [
'id',
'typeParameters',
'right'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('OpaqueType', {
visitor: [
'id',
'typeParameters',
'impltype',
'supertype'
],
aliases: [
'Flow',
'FlowDeclaration',
'Statement',
'Declaration'
],
fields: {
}
}),
(0, s.default) ('TypeAnnotation', {
visitor: [
'typeAnnotation'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('TypeCastExpression', {
visitor: [
'expression',
'typeAnnotation'
],
aliases: [
'Flow',
'ExpressionWrapper',
'Expression'
],
fields: {
}
}),
(0, s.default) ('TypeParameter', {
visitor: [
'bound'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('TypeParameterDeclaration', {
visitor: [
'params'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('TypeParameterInstantiation', {
visitor: [
'params'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('ObjectTypeAnnotation', {
visitor: [
'properties',
'indexers',
'callProperties'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('ObjectTypeCallProperty', {
visitor: [
'value'
],
aliases: [
'Flow',
'UserWhitespacable'
],
fields: {
}
}),
(0, s.default) ('ObjectTypeIndexer', {
visitor: [
'id',
'key',
'value'
],
aliases: [
'Flow',
'UserWhitespacable'
],
fields: {
}
}),
(0, s.default) ('ObjectTypeProperty', {
visitor: [
'key',
'value'
],
aliases: [
'Flow',
'UserWhitespacable'
],
fields: {
}
}),
(0, s.default) ('ObjectTypeSpreadProperty', {
visitor: [
'argument'
],
aliases: [
'Flow',
'UserWhitespacable'
],
fields: {
}
}),
(0, s.default) ('QualifiedTypeIdentifier', {
visitor: [
'id',
'qualification'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('UnionTypeAnnotation', {
visitor: [
'types'
],
aliases: [
'Flow'
],
fields: {
}
}),
(0, s.default) ('VoidTypeAnnotation', {
aliases: [
'Flow',
'FlowBaseAnnotation'
],
fields: {
}
})
},
{
'./index': 28
}
],
28: [
function (e, t, n) {
'use strict';
n.__esModule = !0,
n.DEPRECATED_KEYS = n.BUILDER_KEYS = n.NODE_FIELDS = n.ALIAS_KEYS = n.VISITOR_KEYS = void 0;
var r = a(e('babel-runtime/core-js/get-iterator')),
i = a(e('babel-runtime/core-js/json/stringify')),
s = a(e('babel-runtime/helpers/typeof'));
n.assertEach = function (e) {
function t(t, n, r) {
if (Array.isArray(r)) for (var i = 0; i < r.length; i++) e(t, n + '[' + i + ']', r[i])
}
return t.each = e,
t
},
n.assertOneOf = function () {
for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];
function r(e, n, r) {
if (t.indexOf(r) < 0) throw new TypeError('Property ' + n + ' expected value to be one of ' + (0, i.default) (t) + ' but got ' + (0, i.default) (r))
}
return r.oneOf = t,
r
},
n.assertNodeType = function () {
for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];
function s(e, n, s) {
for (var a = !1, u = t, l = Array.isArray(u), c = 0, u = l ? u : (0, r.default) (u); ; ) {
var p;
if (l) {
if (c >= u.length) break;
p = u[c++]
} else {
if ((c = u.next()).done) break;
p = c.value
}
var h = p;
if (o.is(h, s)) {
a = !0;
break
}
}
if (!a) throw new TypeError('Property ' + n + ' of ' + e.type + ' expected node to be of a type ' + (0, i.default) (t) + ' but instead got ' + (0, i.default) (s && s.type))
}
return s.oneOfNodeTypes = t,
s
},
n.assertNodeOrValueType = function () {
for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];
function s(e, n, s) {
for (var a = !1, u = t, l = Array.isArray(u), c = 0, u = l ? u : (0, r.default) (u); ; ) {
var p;
if (l) {
if (c >= u.length) break;
p = u[c++]
} else {
if ((c = u.next()).done) break;
p = c.value
}
var h = p;
if (f(s) === h || o.is(h, s)) {
a = !0;
break
}
}
if (!a) throw new TypeError('Property ' + n + ' of ' + e.type + ' expected node to be of a type ' + (0, i.default) (t) + ' but instead got ' + (0, i.default) (s && s.type))
}
return s.oneOfNodeOrValueTypes = t,
s
},
n.assertValueType = d,
n.chain = function () {
for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];
function i() {
for (var e = t, n = Array.isArray(e), i = 0, e = n ? e : (0, r.default) (e); ; ) {
var s;
if (n) {
if (i >= e.length) break;
s = e[i++]
} else {
if ((i = e.next()).done) break;
s = i.value
}
var o = s;
o.apply(void 0, arguments)
}
}
return i.chainOf = t,
i
},
n.default = function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
},
n = t.inherits && m[t.inherits] || {
};
t.fields = t.fields || n.fields || {
},
t.visitor = t.visitor || n.visitor || [
],
t.aliases = t.aliases || n.aliases || [
],
t.builder = t.builder || n.builder || t.visitor || [
],
t.deprecatedAlias && (h[t.deprecatedAlias] = e);
for (var i = t.visitor.concat(t.builder), s = Array.isArray(i), o = 0, i = s ? i : (0, r.default) (i); ; ) {
var a;
if (s) {
if (o >= i.length) break;
a = i[o++]
} else {
if ((o = i.next()).done) break;
a = o.value
}
var g = a;
t.fields[g] = t.fields[g] || {
}
}
for (var y in t.fields) {
var v = t.fields[y];
- 1 === t.builder.indexOf(y) && (v.optional = !0),
void 0 === v.default ? v.default = null : v.validate || (v.validate = d(f(v.default)))
}
u[e] = t.visitor,
p[e] = t.builder,
c[e] = t.fields,
l[e] = t.aliases,
m[e] = t
};
var o = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('../index'));
function a(e) {
return e && e.__esModule ? e : {
default:
e
}
}
var u = n.VISITOR_KEYS = {
},
l = n.ALIAS_KEYS = {
},
c = n.NODE_FIELDS = {
},
p = n.BUILDER_KEYS = {
},
h = n.DEPRECATED_KEYS = {
};
function f(e) {
return Array.isArray(e) ? 'array' : null === e ? 'null' : void 0 === e ? 'undefined' : void 0 === e ? 'undefined' : (0, s.default) (e)
}
function d(e) {
function t(t, n, r) {
if (!(f(r) === e)) throw new TypeError('Property ' + n + ' expected type of ' + e + ' but got ' + f(r))
}
return t.type = e,
t
}
var m = {
}
},
{
'../index': 33,
'babel-runtime/core-js/get-iterator': 12,
'babel-runtime/core-js/json/stringify': 13,
'babel-runtime/helpers/typeof': 21
}
],
29: [
function (e, t, n) {
'use strict';
e('./index'),
e('./core'),
e('./es2015'),
e('./flow'),
e('./jsx'),
e('./misc'),
e('./experimental')
},
{
'./core': 24,
'./es2015': 25,
'./experimental': 26,
'./flow': 27,
'./index': 28,
'./jsx': 30,
'./misc': 31
}
],
30: [
function (e, t, n) {
'use strict';
var r,
i = e('./index'),
s = (r = i) && r.__esModule ? r : {
default:
r
};
(0, s.default) ('JSXAttribute', {
visitor: [
'name',
'value'
],
aliases: [
'JSX',
'Immutable'
],
fields: {
name: {
validate: (0, i.assertNodeType) ('JSXIdentifier', 'JSXNamespacedName')
},
value: {
optional: !0,
validate: (0, i.assertNodeType) ('JSXElement', 'StringLiteral', 'JSXExpressionContainer')
}
}
}),
(0, s.default) ('JSXClosingElement', {
visitor: [
'name'
],
aliases: [
'JSX',
'Immutable'
],
fields: {
name: {
validate: (0, i.assertNodeType) ('JSXIdentifier', 'JSXMemberExpression')
}
}
}),
(0, s.default) ('JSXElement', {
builder: [
'openingElement',
'closingElement',
'children',
'selfClosing'
],
visitor: [
'openingElement',
'children',
'closingElement'
],
aliases: [
'JSX',
'Immutable',
'Expression'
],
fields: {
openingElement: {
validate: (0, i.assertNodeType) ('JSXOpeningElement')
},
closingElement: {
optional: !0,
validate: (0, i.assertNodeType) ('JSXClosingElement')
},
children: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('JSXText', 'JSXExpressionContainer', 'JSXSpreadChild', 'JSXElement')))
}
}
}),
(0, s.default) ('JSXEmptyExpression', {
aliases: [
'JSX',
'Expression'
]
}),
(0, s.default) ('JSXExpressionContainer', {
visitor: [
'expression'
],
aliases: [
'JSX',
'Immutable'
],
fields: {
expression: {
validate: (0, i.assertNodeType) ('Expression')
}
}
}),
(0, s.default) ('JSXSpreadChild', {
visitor: [
'expression'
],
aliases: [
'JSX',
'Immutable'
],
fields: {
expression: {
validate: (0, i.assertNodeType) ('Expression')
}
}
}),
(0, s.default) ('JSXIdentifier', {
builder: [
'name'
],
aliases: [
'JSX',
'Expression'
],
fields: {
name: {
validate: (0, i.assertValueType) ('string')
}
}
}),
(0, s.default) ('JSXMemberExpression', {
visitor: [
'object',
'property'
],
aliases: [
'JSX',
'Expression'
],
fields: {
object: {
validate: (0, i.assertNodeType) ('JSXMemberExpression', 'JSXIdentifier')
},
property: {
validate: (0, i.assertNodeType) ('JSXIdentifier')
}
}
}),
(0, s.default) ('JSXNamespacedName', {
visitor: [
'namespace',
'name'
],
aliases: [
'JSX'
],
fields: {
namespace: {
validate: (0, i.assertNodeType) ('JSXIdentifier')
},
name: {
validate: (0, i.assertNodeType) ('JSXIdentifier')
}
}
}),
(0, s.default) ('JSXOpeningElement', {
builder: [
'name',
'attributes',
'selfClosing'
],
visitor: [
'name',
'attributes'
],
aliases: [
'JSX',
'Immutable'
],
fields: {
name: {
validate: (0, i.assertNodeType) ('JSXIdentifier', 'JSXMemberExpression')
},
selfClosing: {
default:
!1,
validate: (0, i.assertValueType) ('boolean')
},
attributes: {
validate: (0, i.chain) ((0, i.assertValueType) ('array'), (0, i.assertEach) ((0, i.assertNodeType) ('JSXAttribute', 'JSXSpreadAttribute')))
}
}
}),
(0, s.default) ('JSXSpreadAttribute', {
visitor: [
'argument'
],
aliases: [
'JSX'
],
fields: {
argument: {
validate: (0, i.assertNodeType) ('Expression')
}
}
}),
(0, s.default) ('JSXText', {
aliases: [
'JSX',
'Immutable'
],
builder: [
'value'
],
fields: {
value: {
validate: (0, i.assertValueType) ('string')
}
}
})
},
{
'./index': 28
}
],
31: [
function (e, t, n) {
'use strict';
var r,
i = e('./index'),
s = (r = i) && r.__esModule ? r : {
default:
r
};
(0, s.default) ('Noop', {
visitor: [
]
}),
(0, s.default) ('ParenthesizedExpression', {
visitor: [
'expression'
],
aliases: [
'Expression',
'ExpressionWrapper'
],
fields: {
expression: {
validate: (0, i.assertNodeType) ('Expression')
}
}
})
},
{
'./index': 28
}
],
32: [
function (e, t, n) {
'use strict';
n.__esModule = !0,
n.createUnionTypeAnnotation = function (e) {
var t = i(e);
return 1 === t.length ? t[0] : r.unionTypeAnnotation(t)
},
n.removeTypeDuplicates = i,
n.createTypeAnnotationBasedOnTypeof = function (e) {
if ('string' === e) return r.stringTypeAnnotation();
if ('number' === e) return r.numberTypeAnnotation();
if ('undefined' === e) return r.voidTypeAnnotation();
if ('boolean' === e) return r.booleanTypeAnnotation();
if ('function' === e) return r.genericTypeAnnotation(r.identifier('Function'));
if ('object' === e) return r.genericTypeAnnotation(r.identifier('Object'));
if ('symbol' === e) return r.genericTypeAnnotation(r.identifier('Symbol'));
throw new Error('Invalid typeof value')
};
var r = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('./index'));
function i(e) {
for (var t = {
}, n = {
}, s = [
], o = [
], a = 0; a < e.length; a++) {
var u = e[a];
if (u && !(o.indexOf(u) >= 0)) {
if (r.isAnyTypeAnnotation(u)) return [u];
if (r.isFlowBaseAnnotation(u)) n[u.type] = u;
else if (r.isUnionTypeAnnotation(u)) s.indexOf(u.types) < 0 && (e = e.concat(u.types), s.push(u.types));
else if (r.isGenericTypeAnnotation(u)) {
var l = u.id.name;
if (t[l]) {
var c = t[l];
c.typeParameters ? u.typeParameters && (c.typeParameters.params = i(c.typeParameters.params.concat(u.typeParameters.params))) : c = u.typeParameters
} else t[l] = u
} else o.push(u)
}
}
for (var p in n) o.push(n[p]);
for (var h in t) o.push(t[h]);
return o
}
},
{
'./index': 33
}
],
33: [
function (e, t, n) {
'use strict';
n.__esModule = !0,
n.createTypeAnnotationBasedOnTypeof = n.removeTypeDuplicates = n.createUnionTypeAnnotation = n.valueToNode = n.toBlock = n.toExpression = n.toStatement = n.toBindingIdentifierName = n.toIdentifier = n.toKeyAlias = n.toSequenceExpression = n.toComputedKey = n.isNodesEquivalent = n.isImmutable = n.isScope = n.isSpecifierDefault = n.isVar = n.isBlockScoped = n.isLet = n.isValidIdentifier = n.isReferenced = n.isBinding = n.getOuterBindingIdentifiers = n.getBindingIdentifiers = n.TYPES = n.react = n.DEPRECATED_KEYS = n.BUILDER_KEYS = n.NODE_FIELDS = n.ALIAS_KEYS = n.VISITOR_KEYS = n.NOT_LOCAL_BINDING = n.BLOCK_SCOPED_SYMBOL = n.INHERIT_KEYS = n.UNARY_OPERATORS = n.STRING_UNARY_OPERATORS = n.NUMBER_UNARY_OPERATORS = n.BOOLEAN_UNARY_OPERATORS = n.BINARY_OPERATORS = n.NUMBER_BINARY_OPERATORS = n.BOOLEAN_BINARY_OPERATORS = n.COMPARISON_BINARY_OPERATORS = n.EQUALITY_BINARY_OPERATORS = n.BOOLEAN_NUMBER_BINARY_OPERATORS = n.UPDATE_OPERATORS = n.LOGICAL_OPERATORS = n.COMMENT_KEYS = n.FOR_INIT_KEYS = n.FLATTENABLE_KEYS = n.STATEMENT_OR_BLOCK_KEYS = void 0;
var r = y(e('babel-runtime/core-js/object/get-own-property-symbols')),
i = y(e('babel-runtime/core-js/get-iterator')),
s = y(e('babel-runtime/core-js/object/keys')),
o = y(e('babel-runtime/core-js/json/stringify')),
a = e('./constants');
Object.defineProperty(n, 'STATEMENT_OR_BLOCK_KEYS', {
enumerable: !0,
get: function () {
return a.STATEMENT_OR_BLOCK_KEYS
}
}),
Object.defineProperty(n, 'FLATTENABLE_KEYS', {
enumerable: !0,
get: function () {
return a.FLATTENABLE_KEYS
}
}),
Object.defineProperty(n, 'FOR_INIT_KEYS', {
enumerable: !0,
get: function () {
return a.FOR_INIT_KEYS
}
}),
Object.defineProperty(n, 'COMMENT_KEYS', {
enumerable: !0,
get: function () {
return a.COMMENT_KEYS
}
}),
Object.defineProperty(n, 'LOGICAL_OPERATORS', {
enumerable: !0,
get: function () {
return a.LOGICAL_OPERATORS
}
}),
Object.defineProperty(n, 'UPDATE_OPERATORS', {
enumerable: !0,
get: function () {
return a.UPDATE_OPERATORS
}
}),
Object.defineProperty(n, 'BOOLEAN_NUMBER_BINARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.BOOLEAN_NUMBER_BINARY_OPERATORS
}
}),
Object.defineProperty(n, 'EQUALITY_BINARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.EQUALITY_BINARY_OPERATORS
}
}),
Object.defineProperty(n, 'COMPARISON_BINARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.COMPARISON_BINARY_OPERATORS
}
}),
Object.defineProperty(n, 'BOOLEAN_BINARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.BOOLEAN_BINARY_OPERATORS
}
}),
Object.defineProperty(n, 'NUMBER_BINARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.NUMBER_BINARY_OPERATORS
}
}),
Object.defineProperty(n, 'BINARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.BINARY_OPERATORS
}
}),
Object.defineProperty(n, 'BOOLEAN_UNARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.BOOLEAN_UNARY_OPERATORS
}
}),
Object.defineProperty(n, 'NUMBER_UNARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.NUMBER_UNARY_OPERATORS
}
}),
Object.defineProperty(n, 'STRING_UNARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.STRING_UNARY_OPERATORS
}
}),
Object.defineProperty(n, 'UNARY_OPERATORS', {
enumerable: !0,
get: function () {
return a.UNARY_OPERATORS
}
}),
Object.defineProperty(n, 'INHERIT_KEYS', {
enumerable: !0,
get: function () {
return a.INHERIT_KEYS
}
}),
Object.defineProperty(n, 'BLOCK_SCOPED_SYMBOL', {
enumerable: !0,
get: function () {
return a.BLOCK_SCOPED_SYMBOL
}
}),
Object.defineProperty(n, 'NOT_LOCAL_BINDING', {
enumerable: !0,
get: function () {
return a.NOT_LOCAL_BINDING
}
}),
n.is = function (e, t, n) {
if (!t) return !1;
if (!A(t.type, e)) return !1;
return void 0 === n || v.shallowEqual(t, n)
},
n.isType = A,
n.validate = C,
n.shallowEqual = function (e, t) {
for (var n = (0, s.default) (t), r = Array.isArray(n), o = 0, n = r ? n : (0, i.default) (n); ; ) {
var a;
if (r) {
if (o >= n.length) break;
a = n[o++]
} else {
if ((o = n.next()).done) break;
a = o.value
}
var u = a;
if (e[u] !== t[u]) return !1
}
return !0
},
n.appendToMemberExpression = function (e, t, n) {
return e.object = v.memberExpression(e.object, e.property, e.computed),
e.property = t,
e.computed = !!n,
e
},
n.prependToMemberExpression = function (e, t) {
return e.object = v.memberExpression(t, e.object),
e
},
n.ensureBlock = function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 'body';
return e[t] = v.toBlock(e[t], e)
},
n.clone = w,
n.cloneWithoutLoc = function (e) {
var t = w(e);
return delete t.loc,
t
},
n.cloneDeep = function (e) {
if (!e) return e;
var t = {
};
for (var n in e) if ('_' !== n[0]) {
var r = e[n];
r && (r.type ? r = v.cloneDeep(r) : Array.isArray(r) && (r = r.map(v.cloneDeep))),
t[n] = r
}
return t
},
n.buildMatchMemberExpression = function (e, t) {
var n = e.split('.');
return function (e) {
if (!v.isMemberExpression(e)) return !1;
for (var r = [
e
], i = 0; r.length; ) {
var s = r.shift();
if (t && i === n.length) return !0;
if (v.isIdentifier(s)) {
if (n[i] !== s.name) return !1
} else {
if (!v.isStringLiteral(s)) {
if (v.isMemberExpression(s)) {
if (s.computed && !v.isStringLiteral(s.property)) return !1;
r.push(s.object),
r.push(s.property);
continue
}
return !1
}
if (n[i] !== s.value) return !1
}
if (++i > n.length) return !1
}
return !0
}
},
n.removeComments = function (e) {
for (var t = v.COMMENT_KEYS, n = Array.isArray(t), r = 0, t = n ? t : (0, i.default) (t); ; ) {
var s;
if (n) {
if (r >= t.length) break;
s = t[r++]
} else {
if ((r = t.next()).done) break;
s = r.value
}
var o = s;
delete e[o]
}
return e
},
n.inheritsComments = function (e, t) {
return D(e, t),
k(e, t),
S(e, t),
e
},
n.inheritTrailingComments = D,
n.inheritLeadingComments = k,
n.inheritInnerComments = S,
n.inherits = function (e, t) {
if (!e || !t) return e;
for (var n = v.INHERIT_KEYS.optional, r = Array.isArray(n), s = 0, n = r ? n : (0, i.default) (n); ; ) {
var o;
if (r) {
if (s >= n.length) break;
o = n[s++]
} else {
if ((s = n.next()).done) break;
o = s.value
}
var a = o;
null == e[a] && (e[a] = t[a])
}
for (var u in t) '_' === u[0] && (e[u] = t[u]);
for (var l = v.INHERIT_KEYS.force, c = Array.isArray(l), p = 0, l = c ? l : (0, i.default) (l); ; ) {
var h;
if (c) {
if (p >= l.length) break;
h = l[p++]
} else {
if ((p = l.next()).done) break;
h = p.value
}
var f = h;
e[f] = t[f]
}
return v.inheritsComments(e, t),
e
},
n.assertNode = function (e) {
if (!F(e)) throw new TypeError('Not a valid node ' + (e && e.type))
},
n.isNode = F,
n.traverseFast = O,
n.removeProperties = N,
n.removePropertiesDeep = function (e, t) {
return O(e, N, t),
e
};
var u = e('./retrievers');
Object.defineProperty(n, 'getBindingIdentifiers', {
enumerable: !0,
get: function () {
return u.getBindingIdentifiers
}
}),
Object.defineProperty(n, 'getOuterBindingIdentifiers', {
enumerable: !0,
get: function () {
return u.getOuterBindingIdentifiers
}
});
var l = e('./validators');
Object.defineProperty(n, 'isBinding', {
enumerable: !0,
get: function () {
return l.isBinding
}
}),
Object.defineProperty(n, 'isReferenced', {
enumerable: !0,
get: function () {
return l.isReferenced
}
}),
Object.defineProperty(n, 'isValidIdentifier', {
enumerable: !0,
get: function () {
return l.isValidIdentifier
}
}),
Object.defineProperty(n, 'isLet', {
enumerable: !0,
get: function () {
return l.isLet
}
}),
Object.defineProperty(n, 'isBlockScoped', {
enumerable: !0,
get: function () {
return l.isBlockScoped
}
}),
Object.defineProperty(n, 'isVar', {
enumerable: !0,
get: function () {
return l.isVar
}
}),
Object.defineProperty(n, 'isSpecifierDefault', {
enumerable: !0,
get: function () {
return l.isSpecifierDefault
}
}),
Object.defineProperty(n, 'isScope', {
enumerable: !0,
get: function () {
return l.isScope
}
}),
Object.defineProperty(n, 'isImmutable', {
enumerable: !0,
get: function () {
return l.isImmutable
}
}),
Object.defineProperty(n, 'isNodesEquivalent', {
enumerable: !0,
get: function () {
return l.isNodesEquivalent
}
});
var c = e('./converters');
Object.defineProperty(n, 'toComputedKey', {
enumerable: !0,
get: function () {
return c.toComputedKey
}
}),
Object.defineProperty(n, 'toSequenceExpression', {
enumerable: !0,
get: function () {
return c.toSequenceExpression
}
}),
Object.defineProperty(n, 'toKeyAlias', {
enumerable: !0,
get: function () {
return c.toKeyAlias
}
}),
Object.defineProperty(n, 'toIdentifier', {
enumerable: !0,
get: function () {
return c.toIdentifier
}
}),
Object.defineProperty(n, 'toBindingIdentifierName', {
enumerable: !0,
get: function () {
return c.toBindingIdentifierName
}
}),
Object.defineProperty(n, 'toStatement', {
enumerable: !0,
get: function () {
return c.toStatement
}
}),
Object.defineProperty(n, 'toExpression', {
enumerable: !0,
get: function () {
return c.toExpression
}
}),
Object.defineProperty(n, 'toBlock', {
enumerable: !0,
get: function () {
return c.toBlock
}
}),
Object.defineProperty(n, 'valueToNode', {
enumerable: !0,
get: function () {
return c.valueToNode
}
});
var p = e('./flow');
Object.defineProperty(n, 'createUnionTypeAnnotation', {
enumerable: !0,
get: function () {
return p.createUnionTypeAnnotation
}
}),
Object.defineProperty(n, 'removeTypeDuplicates', {
enumerable: !0,
get: function () {
return p.removeTypeDuplicates
}
}),
Object.defineProperty(n, 'createTypeAnnotationBasedOnTypeof', {
enumerable: !0,
get: function () {
return p.createTypeAnnotationBasedOnTypeof
}
});
var h = y(e('to-fast-properties')),
f = y(e('lodash/clone')),
d = y(e('lodash/uniq'));
e('./definitions/init');
var m = e('./definitions'),
g = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('./react'));
function y(e) {
return e && e.__esModule ? e : {
default:
e
}
}
var v = n;
function b(e) {
var t = v['is' + e];
t || (t = v['is' + e] = function (t, n) {
return v.is(e, t, n)
}),
v['assert' + e] = function (n, r) {
if (!t(n, r = r || {
})) throw new Error('Expected type ' + (0, o.default) (e) + ' with option ' + (0, o.default) (r))
}
}
for (var x in n.VISITOR_KEYS = m.VISITOR_KEYS, n.ALIAS_KEYS = m.ALIAS_KEYS, n.NODE_FIELDS = m.NODE_FIELDS, n.BUILDER_KEYS = m.BUILDER_KEYS, n.DEPRECATED_KEYS = m.DEPRECATED_KEYS, n.react = g, v.VISITOR_KEYS) b(x);
v.FLIPPED_ALIAS_KEYS = {
},
(0, s.default) (v.ALIAS_KEYS).forEach(function (e) {
v.ALIAS_KEYS[e].forEach(function (t) {
(v.FLIPPED_ALIAS_KEYS[t] = v.FLIPPED_ALIAS_KEYS[t] || [
]).push(e)
})
}),
(0, s.default) (v.FLIPPED_ALIAS_KEYS).forEach(function (e) {
v[e.toUpperCase() + '_TYPES'] = v.FLIPPED_ALIAS_KEYS[e],
b(e)
});
n.TYPES = (0, s.default) (v.VISITOR_KEYS).concat((0, s.default) (v.FLIPPED_ALIAS_KEYS)).concat((0, s.default) (v.DEPRECATED_KEYS));
function A(e, t) {
if (e === t) return !0;
if (v.ALIAS_KEYS[t]) return !1;
var n = v.FLIPPED_ALIAS_KEYS[t];
if (n) {
if (n[0] === e) return !0;
var r = n,
s = Array.isArray(r),
o = 0;
for (r = s ? r : (0, i.default) (r); ; ) {
var a;
if (s) {
if (o >= r.length) break;
a = r[o++]
} else {
if ((o = r.next()).done) break;
a = o.value
}
if (e === a) return !0
}
}
return !1
}(0, s.default) (v.BUILDER_KEYS).forEach(function (e) {
var t = v.BUILDER_KEYS[e];
function n() {
if (arguments.length > t.length) throw new Error('t.' + e + ': Too many arguments passed. Received ' + arguments.length + ' but can receive no more than ' + t.length);
var n = {
};
n.type = e;
var r = 0,
s = t,
o = Array.isArray(s),
a = 0;
for (s = o ? s : (0, i.default) (s); ; ) {
var u;
if (o) {
if (a >= s.length) break;
u = s[a++]
} else {
if ((a = s.next()).done) break;
u = a.value
}
var l = u,
c = v.NODE_FIELDS[e][l],
p = arguments[r++];
void 0 === p && (p = (0, f.default) (c.default)),
n[l] = p
}
for (var h in n) C(n, h, n[h]);
return n
}
v[e] = n,
v[e[0].toLowerCase() + e.slice(1)] = n
});
var E = function (e) {
var t = v.DEPRECATED_KEYS[e];
function n(n) {
return function () {
return console.trace('The node type ' + e + ' has been renamed to ' + t),
n.apply(this, arguments)
}
}
v[e] = v[e[0].toLowerCase() + e.slice(1)] = n(v[t]),
v['is' + e] = n(v['is' + t]),
v['assert' + e] = n(v['assert' + t])
};
for (var _ in v.DEPRECATED_KEYS) E(_);
function C(e, t, n) {
if (e) {
var r = v.NODE_FIELDS[e.type];
if (r) {
var i = r[t];
i && i.validate && (i.optional && null == n || i.validate(e, t, n))
}
}
}
function w(e) {
if (!e) return e;
var t = {
};
for (var n in e) '_' !== n[0] && (t[n] = e[n]);
return t
}
function D(e, t) {
T('trailingComments', e, t)
}
function k(e, t) {
T('leadingComments', e, t)
}
function S(e, t) {
T('innerComments', e, t)
}
function T(e, t, n) {
t && n && (t[e] = (0, d.default) ([].concat(t[e], n[e]).filter(Boolean)))
}
function F(e) {
return !(!e || !m.VISITOR_KEYS[e.type])
}
function O(e, t, n) {
if (e) {
var r = v.VISITOR_KEYS[e.type];
if (r) {
t(e, n = n || {
});
var s = r,
o = Array.isArray(s),
a = 0;
for (s = o ? s : (0, i.default) (s); ; ) {
var u;
if (o) {
if (a >= s.length) break;
u = s[a++]
} else {
if ((a = s.next()).done) break;
u = a.value
}
var l = e[u];
if (Array.isArray(l)) {
var c = l,
p = Array.isArray(c),
h = 0;
for (c = p ? c : (0, i.default) (c); ; ) {
var f;
if (p) {
if (h >= c.length) break;
f = c[h++]
} else {
if ((h = c.next()).done) break;
f = h.value
}
O(f, t, n)
}
} else O(l, t, n)
}
}
}
}(0, h.default) (v),
(0, h.default) (v.VISITOR_KEYS);
var B = [
'tokens',
'start',
'end',
'loc',
'raw',
'rawValue'
],
P = v.COMMENT_KEYS.concat(['comments']).concat(B);
function N(e, t) {
var n = (t = t || {
}).preserveComments ? B : P,
s = Array.isArray(n),
o = 0;
for (n = s ? n : (0, i.default) (n); ; ) {
var a;
if (s) {
if (o >= n.length) break;
a = n[o++]
} else {
if ((o = n.next()).done) break;
a = o.value
}
var u = a;
null != e[u] && (e[u] = void 0)
}
for (var l in e) '_' === l[0] && null != e[l] && (e[l] = void 0);
var c = (0, r.default) (e),
p = Array.isArray(c),
h = 0;
for (c = p ? c : (0, i.default) (c); ; ) {
var f;
if (p) {
if (h >= c.length) break;
f = c[h++]
} else {
if ((h = c.next()).done) break;
f = h.value
}
e[f] = null
}
}
},
{
'./constants': 22,
'./converters': 23,
'./definitions': 28,
'./definitions/init': 29,
'./flow': 32,
'./react': 34,
'./retrievers': 35,
'./validators': 36,
'babel-runtime/core-js/get-iterator': 12,
'babel-runtime/core-js/json/stringify': 13,
'babel-runtime/core-js/object/get-own-property-symbols': 16,
'babel-runtime/core-js/object/keys': 17,
'lodash/clone': 349,
'lodash/uniq': 369,
'to-fast-properties': 37
}
],
34: [
function (e, t, n) {
'use strict';
n.__esModule = !0,
n.isReactComponent = void 0,
n.isCompatTag = function (e) {
return !!e && /^[a-z]|\-/.test(e)
},
n.buildChildren = function (e) {
for (var t = [
], n = 0; n < e.children.length; n++) {
var s = e.children[n];
r.isJSXText(s) ? i(s, t) : (r.isJSXExpressionContainer(s) && (s = s.expression), r.isJSXEmptyExpression(s) || t.push(s))
}
return t
};
var r = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('./index'));
n.isReactComponent = r.buildMatchMemberExpression('React.Component');
function i(e, t) {
for (var n = e.value.split(/\r\n|\n|\r/), i = 0, s = 0; s < n.length; s++) n[s].match(/[^ \t]/) && (i = s);
for (var o = '', a = 0; a < n.length; a++) {
var u = n[a],
l = 0 === a,
c = a === n.length - 1,
p = a === i,
h = u.replace(/\t/g, ' ');
l || (h = h.replace(/^[ ]+/, '')),
c || (h = h.replace(/[ ]+$/, '')),
h && (p || (h += ' '), o += h)
}
o && t.push(r.stringLiteral(o))
}
},
{
'./index': 33
}
],
35: [
function (e, t, n) {
'use strict';
n.__esModule = !0;
var r,
i = e('babel-runtime/core-js/object/create'),
s = (r = i) && r.__esModule ? r : {
default:
r
};
n.getBindingIdentifiers = a,
n.getOuterBindingIdentifiers = function (e, t) {
return a(e, t, !0)
};
var o = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('./index'));
function a(e, t, n) {
for (var r = [
].concat(e), i = (0, s.default) (null); r.length; ) {
var a = r.shift();
if (a) {
var u = o.getBindingIdentifiers.keys[a.type];
if (o.isIdentifier(a)) t ? (i[a.name] = i[a.name] || [
]).push(a) : i[a.name] = a;
else if (o.isExportDeclaration(a)) o.isDeclaration(a.declaration) && r.push(a.declaration);
else {
if (n) {
if (o.isFunctionDeclaration(a)) {
r.push(a.id);
continue
}
if (o.isFunctionExpression(a)) continue
}
if (u) for (var l = 0; l < u.length; l++) {
var c = u[l];
a[c] && (r = r.concat(a[c]))
}
}
}
}
return i
}
a.keys = {
DeclareClass: [
'id'
],
DeclareFunction: [
'id'
],
DeclareModule: [
'id'
],
DeclareVariable: [
'id'
],
InterfaceDeclaration: [
'id'
],
TypeAlias: [
'id'
],
OpaqueType: [
'id'
],
CatchClause: [
'param'
],
LabeledStatement: [
'label'
],
UnaryExpression: [
'argument'
],
AssignmentExpression: [
'left'
],
ImportSpecifier: [
'local'
],
ImportNamespaceSpecifier: [
'local'
],
ImportDefaultSpecifier: [
'local'
],
ImportDeclaration: [
'specifiers'
],
ExportSpecifier: [
'exported'
],
ExportNamespaceSpecifier: [
'exported'
],
ExportDefaultSpecifier: [
'exported'
],
FunctionDeclaration: [
'id',
'params'
],
FunctionExpression: [
'id',
'params'
],
ClassDeclaration: [
'id'
],
ClassExpression: [
'id'
],
RestElement: [
'argument'
],
UpdateExpression: [
'argument'
],
RestProperty: [
'argument'
],
ObjectProperty: [
'value'
],
AssignmentPattern: [
'left'
],
ArrayPattern: [
'elements'
],
ObjectPattern: [
'properties'
],
VariableDeclaration: [
'declarations'
],
VariableDeclarator: [
'id'
]
}
},
{
'./index': 33,
'babel-runtime/core-js/object/create': 15
}
],
36: [
function (e, t, n) {
'use strict';
n.__esModule = !0;
var r = c(e('babel-runtime/core-js/object/keys')),
i = c(e('babel-runtime/helpers/typeof')),
s = c(e('babel-runtime/core-js/get-iterator'));
n.isBinding = function (e, t) {
var n = o.getBindingIdentifiers.keys[t.type];
if (n) for (var r = 0; r < n.length; r++) {
var i = n[r],
s = t[i];
if (Array.isArray(s)) {
if (s.indexOf(e) >= 0) return !0
} else if (s === e) return !0
}
return !1
},
n.isReferenced = function (e, t) {
switch (t.type) {
case 'BindExpression':
return t.object === e || t.callee === e;
case 'MemberExpression':
case 'JSXMemberExpression':
return !(t.property !== e || !t.computed) || t.object === e;
case 'MetaProperty':
return !1;
case 'ObjectProperty':
if (t.key === e) return t.computed;
case 'VariableDeclarator':
return t.id !== e;
case 'ArrowFunctionExpression':
case 'FunctionDeclaration':
case 'FunctionExpression':
for (var n = t.params, r = Array.isArray(n), i = 0, n = r ? n : (0, s.default) (n); ; ) {
var o;
if (r) {
if (i >= n.length) break;
o = n[i++]
} else {
if ((i = n.next()).done) break;
o = i.value
}
var a = o;
if (a === e) return !1
}
return t.id !== e;
case 'ExportSpecifier':
return !t.source && t.local === e;
case 'ExportNamespaceSpecifier':
case 'ExportDefaultSpecifier':
return !1;
case 'JSXAttribute':
return t.name !== e;
case 'ClassProperty':
return t.key === e ? t.computed : t.value === e;
case 'ImportDefaultSpecifier':
case 'ImportNamespaceSpecifier':
case 'ImportSpecifier':
return !1;
case 'ClassDeclaration':
case 'ClassExpression':
return t.id !== e;
case 'ClassMethod':
case 'ObjectMethod':
return t.key === e && t.computed;
case 'LabeledStatement':
return !1;
case 'CatchClause':
return t.param !== e;
case 'RestElement':
return !1;
case 'AssignmentExpression':
case 'AssignmentPattern':
return t.right === e;
case 'ObjectPattern':
case 'ArrayPattern':
return !1
}
return !0
},
n.isValidIdentifier = function (e) {
return 'string' == typeof e && !a.default.keyword.isReservedWordES6(e, !0) && ('await' !== e && a.default.keyword.isIdentifierNameES6(e))
},
n.isLet = function (e) {
return u.isVariableDeclaration(e) && ('var' !== e.kind || e[l.BLOCK_SCOPED_SYMBOL])
},
n.isBlockScoped = function (e) {
return u.isFunctionDeclaration(e) || u.isClassDeclaration(e) || u.isLet(e)
},
n.isVar = function (e) {
return u.isVariableDeclaration(e, {
kind: 'var'
}) && !e[l.BLOCK_SCOPED_SYMBOL]
},
n.isSpecifierDefault = function (e) {
return u.isImportDefaultSpecifier(e) || u.isIdentifier(e.imported || e.exported, {
name: 'default'
})
},
n.isScope = function (e, t) {
if (u.isBlockStatement(e) && u.isFunction(t, {
body: e
})) return !1;
return u.isScopable(e)
},
n.isImmutable = function (e) {
if (u.isType(e.type, 'Immutable')) return !0;
if (u.isIdentifier(e)) return 'undefined' === e.name;
return !1
},
n.isNodesEquivalent = function e(t, n) {
if ('object' !== (void 0 === t ? 'undefined' : (0, i.default) (t)) || 'object' !== (void 0 === t ? 'undefined' : (0, i.default) (t)) || null == t || null == n) return t === n;
if (t.type !== n.type) return !1;
var o = (0, r.default) (u.NODE_FIELDS[t.type] || t.type);
for (var a = o, l = Array.isArray(a), c = 0, a = l ? a : (0, s.default) (a); ; ) {
var p;
if (l) {
if (c >= a.length) break;
p = a[c++]
} else {
if ((c = a.next()).done) break;
p = c.value
}
var h = p;
if ((0, i.default) (t[h]) !== (0, i.default) (n[h])) return !1;
if (Array.isArray(t[h])) {
if (!Array.isArray(n[h])) return !1;
if (t[h].length !== n[h].length) return !1;
for (var f = 0; f < t[h].length; f++) if (!e(t[h][f], n[h][f])) return !1
} else if (!e(t[h], n[h])) return !1
}
return !0
};
var o = e('./retrievers'),
a = c(e('esutils')),
u = function (e) {
if (e && e.__esModule) return e;
var t = {
};
if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t.default = e,
t
}(e('./index')),
l = e('./constants');
function c(e) {
return e && e.__esModule ? e : {
default:
e
}
}
},
{
'./constants': 22,
'./index': 33,
'./retrievers': 35,
'babel-runtime/core-js/get-iterator': 12,
'babel-runtime/core-js/object/keys': 17,
'babel-runtime/helpers/typeof': 21,
esutils: 232
}
],
37: [
function (e, t, n) {
'use strict';
t.exports = function e(t) {
function n() {
}
n.prototype = t;
var r = new n;
function i() {
return typeof r.foo
}
return i(),
i(),
t
}
},
{
}
],
38: [
function (e, t, n) {
'use strict';
function r(e) {
return e = e.split(' '),
function (t) {
return e.indexOf(t) >= 0
}
}
Object.defineProperty(n, '__esModule', {
value: !0
});
var i = {
6: r('enum await'),
strict: r('implements interface let package private protected public static yield'),
strictBind: r('eval arguments')
},
s = 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 let const class extends export import yield super'),
o = 'ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ',
a = '·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_',
u = new RegExp('[' + o + ']'),
l = new RegExp('[' + o + a + ']');
o = a = null;
var c = [
0,
11,
2,
25,
2,
18,
2,
1,
2,
14,
3,
13,
35,
122,
70,
52,
268,
28,
4,
48,
48,
31,
17,
26,
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,
26,
45,
28,
4,
28,
36,
7,
2,
27,
28,
53,
11,
21,
11,
18,
14,
17,
111,
72,
56,
50,
14,
50,
785,
52,
76,
44,
33,
24,
27,
35,
42,
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,
25,
391,
63,
32,
0,
449,
56,
264,
8,
2,
36,
18,
0,
50,
29,
881,
921,
103,
110,
18,
195,
2749,
1070,
4050,
582,
8634,
568,
8,
30,
114,
29,
19,
47,
17,
3,
32,
20,
6,
18,
881,
68,
12,
0,
67,
12,
65,
0,
32,
6124,
20,
754,
9486,
1,
3071,
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,
10591,
541
],
p = [
509,
0,
227,
0,
150,
4,
294,
9,
1368,
2,
2,
1,
6,
3,
41,
2,
5,
0,
166,
1,
1306,
2,
54,
14,
32,
9,
16,
3,
46,
10,
54,
9,
7,
2,
37,
13,
2,
9,
52,
0,
13,
2,
49,
13,
10,
2,
4,
9,
83,
11,
7,
0,
161,
11,
6,
9,
7,
3,
57,
0,
2,
6,
3,
1,
3,
2,
10,
0,
11,
1,
3,
6,
4,
4,
193,
17,
10,
9,
87,
19,
13,
9,
214,
6,
3,
8,
28,
1,
83,
16,
16,
9,
82,
12,
9,
9,
84,
14,
5,
9,
423,
9,
838,
7,
2,
7,
17,
9,
57,
21,
2,
13,
19882,
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 h(e, t) {
for (var n = 65536, r = 0; r < t.length; r += 2) {
if ((n += t[r]) > e) return !1;
if ((n += t[r + 1]) >= e) return !0
}
}
function f(e) {
return e < 65 ? 36 === e : e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && u.test(String.fromCharCode(e)) : h(e, c)))
}
function d(e) {
return e < 48 ? 36 === e : e < 58 || !(e < 65) && (e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && l.test(String.fromCharCode(e)) : h(e, c) || h(e, p))))
}
var m = {
sourceType: 'script',
sourceFilename: void 0,
startLine: 1,
allowReturnOutsideFunction: !1,
allowImportExportEverywhere: !1,
allowSuperOutsideMethod: !1,
plugins: [
],
strictMode: null
};
var g = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) {
return typeof e
}
: function (e) {
return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e
},
y = function (e, t) {
if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
},
v = function (e, t) {
if ('function' != typeof t && null !== t) throw new TypeError('Super expression must either be null or a function, not ' + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}),
t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
},
b = function (e, t) {
if (!e) throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called');
return !t || 'object' != typeof t && 'function' != typeof t ? e : t
},
x = !0,
A = function e(t) {
var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
};
y(this, e),
this.label = t,
this.keyword = n.keyword,
this.beforeExpr = !!n.beforeExpr,
this.startsExpr = !!n.startsExpr,
this.rightAssociative = !!n.rightAssociative,
this.isLoop = !!n.isLoop,
this.isAssign = !!n.isAssign,
this.prefix = !!n.prefix,
this.postfix = !!n.postfix,
this.binop = n.binop || null,
this.updateContext = null
},
E = function (e) {
function t(n) {
var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
};
return y(this, t),
r.keyword = n,
b(this, e.call(this, n, r))
}
return v(t, e),
t
}(A),
_ = function (e) {
function t(n, r) {
return y(this, t),
b(this, e.call(this, n, {
beforeExpr: x,
binop: r
}))
}
return v(t, e),
t
}(A),
C = {
num: new A('num', {
startsExpr: !0
}),
regexp: new A('regexp', {
startsExpr: !0
}),
string: new A('string', {
startsExpr: !0
}),
name: new A('name', {
startsExpr: !0
}),
eof: new A('eof'),
bracketL: new A('[', {
beforeExpr: x,
startsExpr: !0
}),
bracketR: new A(']'),
braceL: new A('{', {
beforeExpr: x,
startsExpr: !0
}),
braceBarL: new A('{|', {
beforeExpr: x,
startsExpr: !0
}),
braceR: new A('}'),
braceBarR: new A('|}'),
parenL: new A('(', {
beforeExpr: x,
startsExpr: !0
}),
parenR: new A(')'),
comma: new A(',', {
beforeExpr: x
}),
semi: new A(';', {
beforeExpr: x
}),
colon: new A(':', {
beforeExpr: x
}),
doubleColon: new A('::', {
beforeExpr: x
}),
dot: new A('.'),
question: new A('?', {
beforeExpr: x
}),
arrow: new A('=>', {
beforeExpr: x
}),
template: new A('template'),
ellipsis: new A('...', {
beforeExpr: x
}),
backQuote: new A('`', {
startsExpr: !0
}),
dollarBraceL: new A('${', {
beforeExpr: x,
startsExpr: !0
}),
at: new A('@'),
eq: new A('=', {
beforeExpr: x,
isAssign: !0
}),
assign: new A('_=', {
beforeExpr: x,
isAssign: !0
}),
incDec: new A('++/--', {
prefix: !0,
postfix: !0,
startsExpr: !0
}),
prefix: new A('prefix', {
beforeExpr: x,
prefix: !0,
startsExpr: !0
}),
logicalOR: new _('||', 1),
logicalAND: new _('&&', 2),
bitwiseOR: new _('|', 3),
bitwiseXOR: new _('^', 4),
bitwiseAND: new _('&', 5),
equality: new _('==/!=', 6),
relational: new _('>', 7),
bitShift: new _('<>>', 8),
plusMin: new A('+/-', {
beforeExpr: x,
binop: 9,
prefix: !0,
startsExpr: !0
}),
modulo: new _('%', 10),
star: new _('*', 10),
slash: new _('/', 10),
exponent: new A('**', {
beforeExpr: x,
binop: 11,
rightAssociative: !0
})
},
w = {
break : new E('break'),
case :
new E('case', {
beforeExpr: x
}),
catch : new E('catch'),
continue : new E('continue'),
debugger: new E('debugger'),
default:
new E('default', {
beforeExpr: x
}),
do : new E('do', {
isLoop: !0,
beforeExpr: x
}),
else : new E('else', {
beforeExpr: x
}),
finally : new E('finally'),
for : new E('for', {
isLoop: !0
}),
function : new E('function', {
startsExpr: !0
}),
if : new E('if'),
return : new E('return', {
beforeExpr: x
}),
switch : new E('switch'),
throw : new E('throw', {
beforeExpr: x
}),
try : new E('try'),
var : new E('var'),
let: new E('let'),
const : new E('const'),
while : new E('while', {
isLoop: !0
}),
with : new E('with'),
new : new E('new', {
beforeExpr: x,
startsExpr: !0
}),
this: new E('this', {
startsExpr: !0
}),
super : new E('super', {
startsExpr: !0
}),
class : new E('class'),
extends : new E('extends', {
beforeExpr: x
}),
export : new E('export'),
import : new E('import', {
startsExpr: !0
}),
yield: new E('yield', {
beforeExpr: x,
startsExpr: !0
}),
null: new E('null', {
startsExpr: !0
}),
true: new E('true', {
startsExpr: !0
}),
false: new E('false', {
startsExpr: !0
}),
in : new E('in', {
beforeExpr: x,
binop: 7
}),
instanceof : new E('instanceof', {
beforeExpr: x,
binop: 7
}),
typeof : new E('typeof', {
beforeExpr: x,
prefix: !0,
startsExpr: !0
}),
void : new E('void', {
beforeExpr: x,
prefix: !0,
startsExpr: !0
}),
delete : new E('delete', {
beforeExpr: x,
prefix: !0,
startsExpr: !0
})
};
Object.keys(w).forEach(function (e) {
C['_' + e] = w[e]
});
var D = /\r\n?|\n|\u2028|\u2029/,
k = new RegExp(D.source, 'g');
function S(e) {
return 10 === e || 13 === e || 8232 === e || 8233 === e
}
var T = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,
F = function e(t, n, r, i) {
y(this, e),
this.token = t,
this.isExpr = !!n,
this.preserveSpace = !!r,
this.override = i
},
O = {
braceStatement: new F('{', !1),
braceExpression: new F('{', !0),
templateQuasi: new F('${', !0),
parenStatement: new F('(', !1),
parenExpression: new F('(', !0),
template: new F('`', !0, !0, function (e) {
return e.readTmplToken()
}),
functionExpression: new F('function', !0)
};
C.parenR.updateContext = C.braceR.updateContext = function () {
if (1 !== this.state.context.length) {
var e = this.state.context.pop();
e === O.braceStatement && this.curContext() === O.functionExpression ? (this.state.context.pop(), this.state.exprAllowed = !1) : e === O.templateQuasi ? this.state.exprAllowed = !0 : this.state.exprAllowed = !e.isExpr
} else this.state.exprAllowed = !0
},
C.name.updateContext = function (e) {
this.state.exprAllowed = !1,
e !== C._let && e !== C._const && e !== C._var || D.test(this.input.slice(this.state.end)) && (this.state.exprAllowed = !0)
},
C.braceL.updateContext = function (e) {
this.state.context.push(this.braceIsBlock(e) ? O.braceStatement : O.braceExpression),
this.state.exprAllowed = !0
},
C.dollarBraceL.updateContext = function () {
this.state.context.push(O.templateQuasi),
this.state.exprAllowed = !0
},
C.parenL.updateContext = function (e) {
var t = e === C._if || e === C._for || e === C._with || e === C._while;
this.state.context.push(t ? O.parenStatement : O.parenExpression),
this.state.exprAllowed = !0
},
C.incDec.updateContext = function () {
},
C._function.updateContext = function () {
this.curContext() !== O.braceStatement && this.state.context.push(O.functionExpression),
this.state.exprAllowed = !1
},
C.backQuote.updateContext = function () {
this.curContext() === O.template ? this.state.context.pop() : this.state.context.push(O.template),
this.state.exprAllowed = !1
};
var B = function e(t, n) {
y(this, e),
this.line = t,
this.column = n
},
P = function e(t, n) {
y(this, e),
this.start = t,
this.end = n
};
var N = function () {
function e() {
y(this, e)
}
return e.prototype.init = function (e, t) {
return this.strict = !1 !== e.strictMode && 'module' === e.sourceType,
this.input = t,
this.potentialArrowAt = - 1,
this.inMethod = this.inFunction = this.inGenerator = this.inAsync = this.inPropertyName = this.inType = this.inClassProperty = this.noAnonFunctionType = !1,
this.labels = [
],
this.decorators = [
],
this.tokens = [
],
this.comments = [
],
this.trailingComments = [
],
this.leadingComments = [
],
this.commentStack = [
],
this.pos = this.lineStart = 0,
this.curLine = e.startLine,
this.type = C.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 = [
O.braceStatement
],
this.exprAllowed = !0,
this.containsEsc = this.containsOctal = !1,
this.octalPosition = null,
this.invalidTemplateEscapePosition = null,
this.exportedIdentifiers = [
],
this
},
e.prototype.curPosition = function () {
return new B(this.curLine, this.pos - this.lineStart)
},
e.prototype.clone = function (t) {
var n = new e;
for (var r in this) {
var i = this[r];
t && 'context' !== r || !Array.isArray(i) || (i = i.slice()),
n[r] = i
}
return n
},
e
}();
function R(e) {
return e <= 65535 ? String.fromCharCode(e) : String.fromCharCode(55296 + (e - 65536 >> 10), 56320 + (e - 65536 & 1023))
}
var L = {
},
I = [
'jsx',
'doExpressions',
'objectRestSpread',
'decorators',
'classProperties',
'exportExtensions',
'asyncGenerators',
'functionBind',
'functionSent',
'dynamicImport',
'flow'
],
j = function (e) {
function t(n, r) {
y(this, t),
n = function (e) {
var t = {
};
for (var n in m) t[n] = e && n in e ? e[n] : m[n];
return t
}(n);
var i = b(this, e.call(this, n, r));
return i.options = n,
i.inModule = 'module' === i.options.sourceType,
i.input = r,
i.plugins = i.loadPlugins(i.options.plugins),
i.filename = n.sourceFilename,
0 === i.state.pos && '#' === i.input[0] && '!' === i.input[1] && i.skipLineComment(2),
i
}
return v(t, e),
t.prototype.isReservedWord = function (e) {
return 'await' === e ? this.inModule : i[6](e)
},
t.prototype.hasPlugin = function (e) {
return !!(this.plugins['*'] && I.indexOf(e) > - 1) || !!this.plugins[e]
},
t.prototype.extend = function (e, t) {
this[e] = t(this[e])
},
t.prototype.loadAllPlugins = function () {
var e = this,
t = Object.keys(L).filter(function (e) {
return 'flow' !== e && 'estree' !== e
});
t.push('flow'),
t.forEach(function (t) {
var n = L[t];
n && n(e)
})
},
t.prototype.loadPlugins = function (e) {
if (e.indexOf('*') >= 0) return this.loadAllPlugins(),
{
'*': !0
};
var t = {
};
e.indexOf('flow') >= 0 && (e = e.filter(function (e) {
return 'flow' !== e
})).push('flow'),
e.indexOf('estree') >= 0 && (e = e.filter(function (e) {
return 'estree' !== e
})).unshift('estree');
var n = e,
r = Array.isArray(n),
i = 0;
for (n = r ? n : n[Symbol.iterator](); ; ) {
var s;
if (r) {
if (i >= n.length) break;
s = n[i++]
} else {
if ((i = n.next()).done) break;
s = i.value
}
var o = s;
if (!t[o]) {
t[o] = !0;
var a = L[o];
a && a(this)
}
}
return t
},
t.prototype.parse = function () {
var e = this.startNode(),
t = this.startNode();
return this.nextToken(),
this.parseTopLevel(e, t)
},
t
}(function () {
function e(t, n) {
y(this, e),
this.state = new N,
this.state.init(t, n)
}
return e.prototype.next = function () {
this.isLookahead || this.state.tokens.push(new function e(t) {
y(this, e),
this.type = t.type,
this.value = t.value,
this.start = t.start,
this.end = t.end,
this.loc = new P(t.startLoc, t.endLoc)
}(this.state)),
this.state.lastTokEnd = this.state.end,
this.state.lastTokStart = this.state.start,
this.state.lastTokEndLoc = this.state.endLoc,
this.state.lastTokStartLoc = this.state.startLoc,
this.nextToken()
},
e.prototype.eat = function (e) {
return !!this.match(e) && (this.next(), !0)
},
e.prototype.match = function (e) {
return this.state.type === e
},
e.prototype.isKeyword = function (e) {
return s(e)
},
e.prototype.lookahead = function () {
var e = this.state;
this.state = e.clone(!0),
this.isLookahead = !0,
this.next(),
this.isLookahead = !1;
var t = this.state.clone(!0);
return this.state = e,
t
},
e.prototype.setStrict = function (e) {
if (this.state.strict = e, this.match(C.num) || this.match(C.string)) {
for (this.state.pos = this.state.start; this.state.pos < this.state.lineStart; ) this.state.lineStart = this.input.lastIndexOf('\n', this.state.lineStart - 2) + 1,
--this.state.curLine;
this.nextToken()
}
},
e.prototype.curContext = function () {
return this.state.context[this.state.context.length - 1]
},
e.prototype.nextToken = function () {
var e = this.curContext();
return e && e.preserveSpace || this.skipSpace(),
this.state.containsOctal = !1,
this.state.octalPosition = null,
this.state.start = this.state.pos,
this.state.startLoc = this.state.curPosition(),
this.state.pos >= this.input.length ? this.finishToken(C.eof) : e.override ? e.override(this) : this.readToken(this.fullCharCodeAtPos())
},
e.prototype.readToken = function (e) {
return f(e) || 92 === e ? this.readWord() : this.getTokenFromCode(e)
},
e.prototype.fullCharCodeAtPos = function () {
var e = this.input.charCodeAt(this.state.pos);
return e <= 55295 || e >= 57344 ? e : (e << 10) + this.input.charCodeAt(this.state.pos + 1) - 56613888
},
e.prototype.pushComment = function (e, t, n, r, i, s) {
var o = {
type: e ? 'CommentBlock' : 'CommentLine',
value: t,
start: n,
end: r,
loc: new P(i, s)
};
this.isLookahead || (this.state.tokens.push(o), this.state.comments.push(o), this.addComment(o))
},
e.prototype.skipBlockComment = function () {
var e = this.state.curPosition(),
t = this.state.pos,
n = this.input.indexOf('*/', this.state.pos += 2);
- 1 === n && this.raise(this.state.pos - 2, 'Unterminated comment'),
this.state.pos = n + 2,
k.lastIndex = t;
for (var r = void 0; (r = k.exec(this.input)) && r.index < this.state.pos; ) ++this.state.curLine,
this.state.lineStart = r.index + r[0].length;
this.pushComment(!0, this.input.slice(t + 2, n), t, this.state.pos, e, this.state.curPosition())
},
e.prototype.skipLineComment = function (e) {
for (var t = this.state.pos, n = this.state.curPosition(), r = this.input.charCodeAt(this.state.pos += e); this.state.pos < this.input.length && 10 !== r && 13 !== r && 8232 !== r && 8233 !== r; ) ++this.state.pos,
r = this.input.charCodeAt(this.state.pos);
this.pushComment(!1, this.input.slice(t + e, this.state.pos), t, this.state.pos, n, this.state.curPosition())
},
e.prototype.skipSpace = function () {
e: for (; this.state.pos < this.input.length; ) {
var e = this.input.charCodeAt(this.state.pos);
switch (e) {
case 32:
case 160:
++this.state.pos;
break;
case 13:
10 === this.input.charCodeAt(this.state.pos + 1) && ++this.state.pos;
case 10:
case 8232:
case 8233:
++this.state.pos,
++this.state.curLine,
this.state.lineStart = this.state.pos;
break;
case 47:
switch (this.input.charCodeAt(this.state.pos + 1)) {
case 42:
this.skipBlockComment();
break;
case 47:
this.skipLineComment(2);
break;
default:
break e
}
break;
default:
if (!(e > 8 && e < 14 || e >= 5760 && T.test(String.fromCharCode(e)))) break e;
++this.state.pos
}
}
},
e.prototype.finishToken = function (e, t) {
this.state.end = this.state.pos,
this.state.endLoc = this.state.curPosition();
var n = this.state.type;
this.state.type = e,
this.state.value = t,
this.updateContext(n)
},
e.prototype.readToken_dot = function () {
var e = this.input.charCodeAt(this.state.pos + 1);
if (e >= 48 && e <= 57) return this.readNumber(!0);
var t = this.input.charCodeAt(this.state.pos + 2);
return 46 === e && 46 === t ? (this.state.pos += 3, this.finishToken(C.ellipsis)) : (++this.state.pos, this.finishToken(C.dot))
},
e.prototype.readToken_slash = function () {
return this.state.exprAllowed ? (++this.state.pos, this.readRegexp()) : 61 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.assign, 2) : this.finishOp(C.slash, 1)
},
e.prototype.readToken_mult_modulo = function (e) {
var t = 42 === e ? C.star : C.modulo,
n = 1,
r = this.input.charCodeAt(this.state.pos + 1);
return 42 === r && (n++, r = this.input.charCodeAt(this.state.pos + 2), t = C.exponent),
61 === r && (n++, t = C.assign),
this.finishOp(t, n)
},
e.prototype.readToken_pipe_amp = function (e) {
var t = this.input.charCodeAt(this.state.pos + 1);
return t === e ? this.finishOp(124 === e ? C.logicalOR : C.logicalAND, 2) : 61 === t ? this.finishOp(C.assign, 2) : 124 === e && 125 === t && this.hasPlugin('flow') ? this.finishOp(C.braceBarR, 2) : this.finishOp(124 === e ? C.bitwiseOR : C.bitwiseAND, 1)
},
e.prototype.readToken_caret = function () {
return 61 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.assign, 2) : this.finishOp(C.bitwiseXOR, 1)
},
e.prototype.readToken_plus_min = function (e) {
var t = this.input.charCodeAt(this.state.pos + 1);
return t === e ? 45 === t && 62 === this.input.charCodeAt(this.state.pos + 2) && D.test(this.input.slice(this.state.lastTokEnd, this.state.pos)) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(C.incDec, 2) : 61 === t ? this.finishOp(C.assign, 2) : this.finishOp(C.plusMin, 1)
},
e.prototype.readToken_lt_gt = function (e) {
var t = this.input.charCodeAt(this.state.pos + 1),
n = 1;
return t === e ? (n = 62 === e && 62 === this.input.charCodeAt(this.state.pos + 2) ? 3 : 2, 61 === this.input.charCodeAt(this.state.pos + n) ? this.finishOp(C.assign, n + 1) : this.finishOp(C.bitShift, n)) : 33 === t && 60 === e && 45 === this.input.charCodeAt(this.state.pos + 2) && 45 === this.input.charCodeAt(this.state.pos + 3) ? (this.inModule && this.unexpected(), this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (61 === t && (n = 2), this.finishOp(C.relational, n))
},
e.prototype.readToken_eq_excl = function (e) {
var t = this.input.charCodeAt(this.state.pos + 1);
return 61 === t ? this.finishOp(C.equality, 61 === this.input.charCodeAt(this.state.pos + 2) ? 3 : 2) : 61 === e && 62 === t ? (this.state.pos += 2, this.finishToken(C.arrow)) : this.finishOp(61 === e ? C.eq : C.prefix, 1)
},
e.prototype.getTokenFromCode = function (e) {
switch (e) {
case 46:
return this.readToken_dot();
case 40:
return ++this.state.pos,
this.finishToken(C.parenL);
case 41:
return ++this.state.pos,
this.finishToken(C.parenR);
case 59:
return ++this.state.pos,
this.finishToken(C.semi);
case 44:
return ++this.state.pos,
this.finishToken(C.comma);
case 91:
return ++this.state.pos,
this.finishToken(C.bracketL);
case 93:
return ++this.state.pos,
this.finishToken(C.bracketR);
case 123:
return this.hasPlugin('flow') && 124 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.braceBarL, 2) : (++this.state.pos, this.finishToken(C.braceL));
case 125:
return ++this.state.pos,
this.finishToken(C.braceR);
case 58:
return this.hasPlugin('functionBind') && 58 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.doubleColon, 2) : (++this.state.pos, this.finishToken(C.colon));
case 63:
return ++this.state.pos,
this.finishToken(C.question);
case 64:
return ++this.state.pos,
this.finishToken(C.at);
case 96:
return ++this.state.pos,
this.finishToken(C.backQuote);
case 48:
var t = this.input.charCodeAt(this.state.pos + 1);
if (120 === t || 88 === t) return this.readRadixNumber(16);
if (111 === t || 79 === t) return this.readRadixNumber(8);
if (98 === t || 66 === t) 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(e);
case 47:
return this.readToken_slash();
case 37:
case 42:
return this.readToken_mult_modulo(e);
case 124:
case 38:
return this.readToken_pipe_amp(e);
case 94:
return this.readToken_caret();
case 43:
case 45:
return this.readToken_plus_min(e);
case 60:
case 62:
return this.readToken_lt_gt(e);
case 61:
case 33:
return this.readToken_eq_excl(e);
case 126:
return this.finishOp(C.prefix, 1)
}
this.raise(this.state.pos, 'Unexpected character \'' + R(e) + '\'')
},
e.prototype.finishOp = function (e, t) {
var n = this.input.slice(this.state.pos, this.state.pos + t);
return this.state.pos += t,
this.finishToken(e, n)
},
e.prototype.readRegexp = function () {
for (var e = this.state.pos, t = void 0, n = void 0; ; ) {
this.state.pos >= this.input.length && this.raise(e, 'Unterminated regular expression');
var r = this.input.charAt(this.state.pos);
if (D.test(r) && this.raise(e, 'Unterminated regular expression'), t) t = !1;
else {
if ('[' === r) n = !0;
else if (']' === r && n) n = !1;
else if ('/' === r && !n) break;
t = '\\' === r
}
++this.state.pos
}
var i = this.input.slice(e, this.state.pos);
++this.state.pos;
var s = this.readWord1();
if (s) {
/^[gmsiyu]*$/.test(s) || this.raise(e, 'Invalid regular expression flag')
}
return this.finishToken(C.regexp, {
pattern: i,
flags: s
})
},
e.prototype.readInt = function (e, t) {
for (var n = this.state.pos, r = 0, i = 0, s = null == t ? 1 / 0 : t; i < s; ++i) {
var o = this.input.charCodeAt(this.state.pos),
a = void 0;
if ((a = o >= 97 ? o - 97 + 10 : o >= 65 ? o - 65 + 10 : o >= 48 && o <= 57 ? o - 48 : 1 / 0) >= e) break;
++this.state.pos,
r = r * e + a
}
return this.state.pos === n || null != t && this.state.pos - n !== t ? null : r
},
e.prototype.readRadixNumber = function (e) {
this.state.pos += 2;
var t = this.readInt(e);
return null == t && this.raise(this.state.start + 2, 'Expected number in radix ' + e),
f(this.fullCharCodeAtPos()) && this.raise(this.state.pos, 'Identifier directly after number'),
this.finishToken(C.num, t)
},
e.prototype.readNumber = function (e) {
var t = this.state.pos,
n = 48 === this.input.charCodeAt(t),
r = !1;
e || null !== this.readInt(10) || this.raise(t, 'Invalid number'),
n && this.state.pos == t + 1 && (n = !1);
var i = this.input.charCodeAt(this.state.pos);
46 !== i || n || (++this.state.pos, this.readInt(10), r = !0, i = this.input.charCodeAt(this.state.pos)),
69 !== i && 101 !== i || n || (43 !== (i = this.input.charCodeAt(++this.state.pos)) && 45 !== i || ++this.state.pos, null === this.readInt(10) && this.raise(t, 'Invalid number'), r = !0),
f(this.fullCharCodeAtPos()) && this.raise(this.state.pos, 'Identifier directly after number');
var s = this.input.slice(t, this.state.pos),
o = void 0;
return r ? o = parseFloat(s) : n && 1 !== s.length ? this.state.strict ? this.raise(t, 'Invalid number') : o = /[89]/.test(s) ? parseInt(s, 10) : parseInt(s, 8) : o = parseInt(s, 10),
this.finishToken(C.num, o)
},
e.prototype.readCodePoint = function (e) {
var t = void 0;
if (123 === this.input.charCodeAt(this.state.pos)) {
var n = ++this.state.pos;
if (t = this.readHexChar(this.input.indexOf('}', this.state.pos) - this.state.pos, e), ++this.state.pos, null === t) --this.state.invalidTemplateEscapePosition;
else if (t > 1114111) {
if (!e) return this.state.invalidTemplateEscapePosition = n - 2,
null;
this.raise(n, 'Code point out of bounds')
}
} else t = this.readHexChar(4, e);
return t
},
e.prototype.readString = function (e) {
for (var t = '', n = ++this.state.pos; ; ) {
this.state.pos >= this.input.length && this.raise(this.state.start, 'Unterminated string constant');
var r = this.input.charCodeAt(this.state.pos);
if (r === e) break;
92 === r ? (t += this.input.slice(n, this.state.pos), t += this.readEscapedChar(!1), n = this.state.pos) : (S(r) && this.raise(this.state.start, 'Unterminated string constant'), ++this.state.pos)
}
return t += this.input.slice(n, this.state.pos++),
this.finishToken(C.string, t)
},
e.prototype.readTmplToken = function () {
for (var e = '', t = this.state.pos, n = !1; ; ) {
this.state.pos >= this.input.length && this.raise(this.state.start, 'Unterminated template');
var r = this.input.charCodeAt(this.state.pos);
if (96 === r || 36 === r && 123 === this.input.charCodeAt(this.state.pos + 1)) return this.state.pos === this.state.start && this.match(C.template) ? 36 === r ? (this.state.pos += 2, this.finishToken(C.dollarBraceL)) : (++this.state.pos, this.finishToken(C.backQuote)) : (e += this.input.slice(t, this.state.pos), this.finishToken(C.template, n ? null : e));
if (92 === r) {
e += this.input.slice(t, this.state.pos);
var i = this.readEscapedChar(!0);
null === i ? n = !0 : e += i,
t = this.state.pos
} else if (S(r)) {
switch (e += this.input.slice(t, this.state.pos), ++this.state.pos, r) {
case 13:
10 === this.input.charCodeAt(this.state.pos) && ++this.state.pos;
case 10:
e += '\n';
break;
default:
e += String.fromCharCode(r)
}
++this.state.curLine,
this.state.lineStart = this.state.pos,
t = this.state.pos
} else ++this.state.pos
}
},
e.prototype.readEscapedChar = function (e) {
var t = !e,
n = this.input.charCodeAt(++this.state.pos);
switch (++this.state.pos, n) {
case 110:
return '\n';
case 114:
return '\r';
case 120:
var r = this.readHexChar(2, t);
return null === r ? null : String.fromCharCode(r);
case 117:
var i = this.readCodePoint(t);
return null === i ? null : R(i);
case 116:
return '\t';
case 98:
return '';
case 118:
return '\v';
case 102:
return '\f';
case 13:
10 === this.input.charCodeAt(this.state.pos) && ++this.state.pos;
case 10:
return this.state.lineStart = this.state.pos,
++this.state.curLine,
'';
default:
if (n >= 48 && n <= 55) {
var s = this.state.pos - 1,
o = this.input.substr(this.state.pos - 1, 3).match(/^[0-7]+/) [0],
a = parseInt(o, 8);
if (a > 255 && (o = o.slice(0, - 1), a = parseInt(o, 8)), a > 0) {
if (e) return this.state.invalidTemplateEscapePosition = s,
null;
this.state.strict ? this.raise(s, 'Octal literal in strict mode') : this.state.containsOctal || (this.state.containsOctal = !0, this.state.octalPosition = s)
}
return this.state.pos += o.length - 1,
String.fromCharCode(a)
}
return String.fromCharCode(n)
}
},
e.prototype.readHexChar = function (e, t) {
var n = this.state.pos,
r = this.readInt(16, e);
return null === r && (t ? this.raise(n, 'Bad character escape sequence') : (this.state.pos = n - 1, this.state.invalidTemplateEscapePosition = n - 1)),
r
},
e.prototype.readWord1 = function () {
this.state.containsEsc = !1;
for (var e = '', t = !0, n = this.state.pos; this.state.pos < this.input.length; ) {
var r = this.fullCharCodeAtPos();
if (d(r)) this.state.pos += r <= 65535 ? 1 : 2;
else {
if (92 !== r) break;
this.state.containsEsc = !0,
e += this.input.slice(n, this.state.pos);
var i = this.state.pos;
117 !== this.input.charCodeAt(++this.state.pos) && this.raise(this.state.pos, 'Expecting Unicode escape sequence \\uXXXX'),
++this.state.pos;
var s = this.readCodePoint(!0);
(t ? f : d) (s, !0) || this.raise(i, 'Invalid Unicode escape'),
e += R(s),
n = this.state.pos
}
t = !1
}
return e + this.input.slice(n, this.state.pos)
},
e.prototype.readWord = function () {
var e = this.readWord1(),
t = C.name;
return !this.state.containsEsc && this.isKeyword(e) && (t = w[e]),
this.finishToken(t, e)
},
e.prototype.braceIsBlock = function (e) {
if (e === C.colon) {
var t = this.curContext();
if (t === O.braceStatement || t === O.braceExpression) return !t.isExpr
}
return e === C._return ? D.test(this.input.slice(this.state.lastTokEnd, this.state.start)) : e === C._else || e === C.semi || e === C.eof || e === C.parenR || (e === C.braceL ? this.curContext() === O.braceStatement : !this.state.exprAllowed)
},
e.prototype.updateContext = function (e) {
var t = this.state.type,
n = void 0;
t.keyword && e === C.dot ? this.state.exprAllowed = !1 : (n = t.updateContext) ? n.call(this, e) : this.state.exprAllowed = t.beforeExpr
},
e
}()),
M = j.prototype;
M.addExtra = function (e, t, n) {
e && ((e.extra = e.extra || {
}) [t] = n)
},
M.isRelational = function (e) {
return this.match(C.relational) && this.state.value === e
},
M.expectRelational = function (e) {
this.isRelational(e) ? this.next() : this.unexpected(null, C.relational)
},
M.isContextual = function (e) {
return this.match(C.name) && this.state.value === e
},
M.eatContextual = function (e) {
return this.state.value === e && this.eat(C.name)
},
M.expectContextual = function (e, t) {
this.eatContextual(e) || this.unexpected(null, t)
},
M.canInsertSemicolon = function () {
return this.match(C.eof) || this.match(C.braceR) || D.test(this.input.slice(this.state.lastTokEnd, this.state.start))
},
M.isLineTerminator = function () {
return this.eat(C.semi) || this.canInsertSemicolon()
},
M.semicolon = function () {
this.isLineTerminator() || this.unexpected(null, C.semi)
},
M.expect = function (e, t) {
return this.eat(e) || this.unexpected(t, e)
},
M.unexpected = function (e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 'Unexpected token';
t && 'object' === (void 0 === t ? 'undefined' : g(t)) && t.label && (t = 'Unexpected token, expected ' + t.label),
this.raise(null != e ? e : this.state.start, t)
};
var U = j.prototype;
U.parseTopLevel = function (e, t) {
return t.sourceType = this.options.sourceType,
this.parseBlockBody(t, !0, !0, C.eof),
e.program = this.finishNode(t, 'Program'),
e.comments = this.state.comments,
e.tokens = this.state.tokens,
this.finishNode(e, 'File')
};
var V = {
kind: 'loop'
},
z = {
kind: 'switch'
};
U.stmtToDirective = function (e) {
var t = e.expression,
n = this.startNodeAt(t.start, t.loc.start),
r = this.startNodeAt(e.start, e.loc.start),
i = this.input.slice(t.start, t.end),
s = n.value = i.slice(1, - 1);
return this.addExtra(n, 'raw', i),
this.addExtra(n, 'rawValue', s),
r.value = this.finishNodeAt(n, 'DirectiveLiteral', t.end, t.loc.end),
this.finishNodeAt(r, 'Directive', e.end, e.loc.end)
},
U.parseStatement = function (e, t) {
this.match(C.at) && this.parseDecorators(!0);
var n = this.state.type,
r = this.startNode();
switch (n) {
case C._break:
case C._continue:
return this.parseBreakContinueStatement(r, n.keyword);
case C._debugger:
return this.parseDebuggerStatement(r);
case C._do:
return this.parseDoStatement(r);
case C._for:
return this.parseForStatement(r);
case C._function:
return e || this.unexpected(),
this.parseFunctionStatement(r);
case C._class:
return e || this.unexpected(),
this.parseClass(r, !0);
case C._if:
return this.parseIfStatement(r);
case C._return:
return this.parseReturnStatement(r);
case C._switch:
return this.parseSwitchStatement(r);
case C._throw:
return this.parseThrowStatement(r);
case C._try:
return this.parseTryStatement(r);
case C._let:
case C._const:
e || this.unexpected();
case C._var:
return this.parseVarStatement(r, n);
case C._while:
return this.parseWhileStatement(r);
case C._with:
return this.parseWithStatement(r);
case C.braceL:
return this.parseBlock();
case C.semi:
return this.parseEmptyStatement(r);
case C._export:
case C._import:
if (this.hasPlugin('dynamicImport') && this.lookahead().type === C.parenL) break;
return this.options.allowImportExportEverywhere || (t || this.raise(this.state.start, '\'import\' and \'export\' may only appear at the top level'), this.inModule || this.raise(this.state.start, '\'import\' and \'export\' may appear only with \'sourceType: "module"\'')),
n === C._import ? this.parseImport(r) : this.parseExport(r);
case C.name:
if ('async' === this.state.value) {
var i = this.state.clone();
if (this.next(), this.match(C._function) && !this.canInsertSemicolon()) return this.expect(C._function),
this.parseFunction(r, !0, !1, !0);
this.state = i
}
}
var s = this.state.value,
o = this.parseExpression();
return n === C.name && 'Identifier' === o.type && this.eat(C.colon) ? this.parseLabeledStatement(r, s, o) : this.parseExpressionStatement(r, o)
},
U.takeDecorators = function (e) {
this.state.decorators.length && (e.decorators = this.state.decorators, this.state.decorators = [
])
},
U.parseDecorators = function (e) {
for (; this.match(C.at); ) {
var t = this.parseDecorator();
this.state.decorators.push(t)
}
e && this.match(C._export) || this.match(C._class) || this.raise(this.state.start, 'Leading decorators must be attached to a class declaration')
},
U.parseDecorator = function () {
this.hasPlugin('decorators') || this.unexpected();
var e = this.startNode();
return this.next(),
e.expression = this.parseMaybeAssign(),
this.finishNode(e, 'Decorator')
},
U.parseBreakContinueStatement = function (e, t) {
var n = 'break' === t;
this.next(),
this.isLineTerminator() ? e.label = null : this.match(C.name) ? (e.label = this.parseIdentifier(), this.semicolon()) : this.unexpected();
var r = void 0;
for (r = 0; r < this.state.labels.length; ++r) {
var i = this.state.labels[r];
if (null == e.label || i.name === e.label.name) {
if (null != i.kind && (n || 'loop' === i.kind)) break;
if (e.label && n) break
}
}
return r === this.state.labels.length && this.raise(e.start, 'Unsyntactic ' + t),
this.finishNode(e, n ? 'BreakStatement' : 'ContinueStatement')
},
U.parseDebuggerStatement = function (e) {
return this.next(),
this.semicolon(),
this.finishNode(e, 'DebuggerStatement')
},
U.parseDoStatement = function (e) {
return this.next(),
this.state.labels.push(V),
e.body = this.parseStatement(!1),
this.state.labels.pop(),
this.expect(C._while),
e.test = this.parseParenExpression(),
this.eat(C.semi),
this.finishNode(e, 'DoWhileStatement')
},
U.parseForStatement = function (e) {
this.next(),
this.state.labels.push(V);
var t = !1;
if (this.hasPlugin('asyncGenerators') && this.state.inAsync && this.isContextual('await') && (t = !0, this.next()), this.expect(C.parenL), this.match(C.semi)) return t && this.unexpected(),
this.parseFor(e, null);
if (this.match(C._var) || this.match(C._let) || this.match(C._const)) {
var n = this.startNode(),
r = this.state.type;
return this.next(),
this.parseVar(n, !0, r),
this.finishNode(n, 'VariableDeclaration'),
!this.match(C._in) && !this.isContextual('of') || 1 !== n.declarations.length || n.declarations[0].init ? (t && this.unexpected(), this.parseFor(e, n)) : this.parseForIn(e, n, t)
}
var i = {
start: 0
},
s = this.parseExpression(!0, i);
if (this.match(C._in) || this.isContextual('of')) {
var o = this.isContextual('of') ? 'for-of statement' : 'for-in statement';
return this.toAssignable(s, void 0, o),
this.checkLVal(s, void 0, void 0, o),
this.parseForIn(e, s, t)
}
return i.start && this.unexpected(i.start),
t && this.unexpected(),
this.parseFor(e, s)
},
U.parseFunctionStatement = function (e) {
return this.next(),
this.parseFunction(e, !0)
},
U.parseIfStatement = function (e) {
return this.next(),
e.test = this.parseParenExpression(),
e.consequent = this.parseStatement(!1),
e.alternate = this.eat(C._else) ? this.parseStatement(!1) : null,
this.finishNode(e, 'IfStatement')
},
U.parseReturnStatement = function (e) {
return this.state.inFunction || this.options.allowReturnOutsideFunction || this.raise(this.state.start, '\'return\' outside of function'),
this.next(),
this.isLineTerminator() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()),
this.finishNode(e, 'ReturnStatement')
},
U.parseSwitchStatement = function (e) {
this.next(),
e.discriminant = this.parseParenExpression(),
e.cases = [
],
this.expect(C.braceL),
this.state.labels.push(z);
for (var t, n = void 0; !this.match(C.braceR); ) if (this.match(C._case) || this.match(C._default)) {
var r = this.match(C._case);
n && this.finishNode(n, 'SwitchCase'),
e.cases.push(n = this.startNode()),
n.consequent = [
],
this.next(),
r ? n.test = this.parseExpression() : (t && this.raise(this.state.lastTokStart, 'Multiple default clauses'), t = !0, n.test = null),
this.expect(C.colon)
} else n ? n.consequent.push(this.parseStatement(!0)) : this.unexpected();
return n && this.finishNode(n, 'SwitchCase'),
this.next(),
this.state.labels.pop(),
this.finishNode(e, 'SwitchStatement')
},
U.parseThrowStatement = function (e) {
return this.next(),
D.test(this.input.slice(this.state.lastTokEnd, this.state.start)) && this.raise(this.state.lastTokEnd, 'Illegal newline after throw'),
e.argument = this.parseExpression(),
this.semicolon(),
this.finishNode(e, 'ThrowStatement')
};
var q = [
];
U.parseTryStatement = function (e) {
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.match(C._catch)) {
var t = this.startNode();
this.next(),
this.expect(C.parenL),
t.param = this.parseBindingAtom(),
this.checkLVal(t.param, !0, Object.create(null), 'catch clause'),
this.expect(C.parenR),
t.body = this.parseBlock(),
e.handler = this.finishNode(t, 'CatchClause')
}
return e.guardedHandlers = q,
e.finalizer = this.eat(C._finally) ? this.parseBlock() : null,
e.handler || e.finalizer || this.raise(e.start, 'Missing catch or finally clause'),
this.finishNode(e, 'TryStatement')
},
U.parseVarStatement = function (e, t) {
return this.next(),
this.parseVar(e, !1, t),
this.semicolon(),
this.finishNode(e, 'VariableDeclaration')
},
U.parseWhileStatement = function (e) {
return this.next(),
e.test = this.parseParenExpression(),
this.state.labels.push(V),
e.body = this.parseStatement(!1),
this.state.labels.pop(),
this.finishNode(e, 'WhileStatement')
},
U.parseWithStatement = function (e) {
return this.state.strict && this.raise(this.state.start, '\'with\' in strict mode'),
this.next(),
e.object = this.parseParenExpression(),
e.body = this.parseStatement(!1),
this.finishNode(e, 'WithStatement')
},
U.parseEmptyStatement = function (e) {
return this.next(),
this.finishNode(e, 'EmptyStatement')
},
U.parseLabeledStatement = function (e, t, n) {
var r = this.state.labels,
i = Array.isArray(r),
s = 0;
for (r = i ? r : r[Symbol.iterator](); ; ) {
var o;
if (i) {
if (s >= r.length) break;
o = r[s++]
} else {
if ((s = r.next()).done) break;
o = s.value
}
o.name === t && this.raise(n.start, 'Label \'' + t + '\' is already declared')
}
for (var a = this.state.type.isLoop ? 'loop' : this.match(C._switch) ? 'switch' : null, u = this.state.labels.length - 1; u >= 0; u--) {
var l = this.state.labels[u];
if (l.statementStart !== e.start) break;
l.statementStart = this.state.start,
l.kind = a
}
return this.state.labels.push({
name: t,
kind: a,
statementStart: this.state.start
}),
e.body = this.parseStatement(!0),
this.state.labels.pop(),
e.label = n,
this.finishNode(e, 'LabeledStatement')
},
U.parseExpressionStatement = function (e, t) {
return e.expression = t,
this.semicolon(),
this.finishNode(e, 'ExpressionStatement')
},
U.parseBlock = function (e) {
var t = this.startNode();
return this.expect(C.braceL),
this.parseBlockBody(t, e, !1, C.braceR),
this.finishNode(t, 'BlockStatement')
},
U.isValidDirective = function (e) {
return 'ExpressionStatement' === e.type && 'StringLiteral' === e.expression.type && !e.expression.extra.parenthesized
},
U.parseBlockBody = function (e, t, n, r) {
e.body = [
],
e.directives = [
];
for (var i = !1, s = void 0, o = void 0; !this.eat(r); ) {
i || !this.state.containsOctal || o || (o = this.state.octalPosition);
var a = this.parseStatement(!0, n);
if (t && !i && this.isValidDirective(a)) {
var u = this.stmtToDirective(a);
e.directives.push(u),
void 0 === s && 'use strict' === u.value.value && (s = this.state.strict, this.setStrict(!0), o && this.raise(o, 'Octal literal in strict mode'))
} else i = !0,
e.body.push(a)
}
!1 === s && this.setStrict(!1)
},
U.parseFor = function (e, t) {
return e.init = t,
this.expect(C.semi),
e.test = this.match(C.semi) ? null : this.parseExpression(),
this.expect(C.semi),
e.update = this.match(C.parenR) ? null : this.parseExpression(),
this.expect(C.parenR),
e.body = this.parseStatement(!1),
this.state.labels.pop(),
this.finishNode(e, 'ForStatement')
},
U.parseForIn = function (e, t, n) {
var r = void 0;
return n ? (this.eatContextual('of'), r = 'ForAwaitStatement') : (r = this.match(C._in) ? 'ForInStatement' : 'ForOfStatement', this.next()),
e.left = t,
e.right = this.parseExpression(),
this.expect(C.parenR),
e.body = this.parseStatement(!1),
this.state.labels.pop(),
this.finishNode(e, r)
},
U.parseVar = function (e, t, n) {
for (e.declarations = [
], e.kind = n.keyword; ; ) {
var r = this.startNode();
if (this.parseVarHead(r), this.eat(C.eq) ? r.init = this.parseMaybeAssign(t) : n !== C._const || this.match(C._in) || this.isContextual('of') ? 'Identifier' === r.id.type || t && (this.match(C._in) || this.isContextual('of')) ? r.init = null : this.raise(this.state.lastTokEnd, 'Complex binding patterns require an initialization value') : this.unexpected(), e.declarations.push(this.finishNode(r, 'VariableDeclarator')), !this.eat(C.comma)) break
}
return e
},
U.parseVarHead = function (e) {
e.id = this.parseBindingAtom(),
this.checkLVal(e.id, !0, void 0, 'variable declaration')
},
U.parseFunction = function (e, t, n, r, i) {
var s = this.state.inMethod;
return this.state.inMethod = !1,
this.initFunction(e, r),
this.match(C.star) && (e.async && !this.hasPlugin('asyncGenerators') ? this.unexpected() : (e.generator = !0, this.next())),
!t || i || this.match(C.name) || this.match(C._yield) || this.unexpected(),
(this.match(C.name) || this.match(C._yield)) && (e.id = this.parseBindingIdentifier()),
this.parseFunctionParams(e),
this.parseFunctionBody(e, n),
this.state.inMethod = s,
this.finishNode(e, t ? 'FunctionDeclaration' : 'FunctionExpression')
},
U.parseFunctionParams = function (e) {
this.expect(C.parenL),
e.params = this.parseBindingList(C.parenR)
},
U.parseClass = function (e, t, n) {
return this.next(),
this.takeDecorators(e),
this.parseClassId(e, t, n),
this.parseClassSuper(e),
this.parseClassBody(e),
this.finishNode(e, t ? 'ClassDeclaration' : 'ClassExpression')
},
U.isClassProperty = function () {
return this.match(C.eq) || this.match(C.semi) || this.match(C.braceR)
},
U.isClassMethod = function () {
return this.match(C.parenL)
},
U.isNonstaticConstructor = function (e) {
return !(e.computed || e.static || 'constructor' !== e.key.name && 'constructor' !== e.key.value)
},
U.parseClassBody = function (e) {
var t = this.state.strict;
this.state.strict = !0;
var n = !1,
r = !1,
i = [
],
s = this.startNode();
for (s.body = [
], this.expect(C.braceL); !this.eat(C.braceR); ) if (this.eat(C.semi)) i.length > 0 && this.raise(this.state.lastTokEnd, 'Decorators must not be followed by a semicolon');
else if (this.match(C.at)) i.push(this.parseDecorator());
else {
var o = this.startNode();
if (i.length && (o.decorators = i, i = [
]), o.static = !1, this.match(C.name) && 'static' === this.state.value) {
var a = this.parseIdentifier(!0);
if (this.isClassMethod()) {
o.kind = 'method',
o.computed = !1,
o.key = a,
this.parseClassMethod(s, o, !1, !1);
continue
}
if (this.isClassProperty()) {
o.computed = !1,
o.key = a,
s.body.push(this.parseClassProperty(o));
continue
}
o.static = !0
}
if (this.eat(C.star)) o.kind = 'method',
this.parsePropertyName(o),
this.isNonstaticConstructor(o) && this.raise(o.key.start, 'Constructor can\'t be a generator'),
o.computed || !o.static || 'prototype' !== o.key.name && 'prototype' !== o.key.value || this.raise(o.key.start, 'Classes may not have static property named prototype'),
this.parseClassMethod(s, o, !0, !1);
else {
var u = this.match(C.name),
l = this.parsePropertyName(o);
if (o.computed || !o.static || 'prototype' !== o.key.name && 'prototype' !== o.key.value || this.raise(o.key.start, 'Classes may not have static property named prototype'), this.isClassMethod()) this.isNonstaticConstructor(o) ? (r ? this.raise(l.start, 'Duplicate constructor in the same class') : o.decorators && this.raise(o.start, 'You can\'t attach decorators to a class constructor'), r = !0, o.kind = 'constructor') : o.kind = 'method',
this.parseClassMethod(s, o, !1, !1);
else if (this.isClassProperty()) this.isNonstaticConstructor(o) && this.raise(o.key.start, 'Classes may not have a non-static field named \'constructor\''),
s.body.push(this.parseClassProperty(o));
else if (u && 'async' === l.name && !this.isLineTerminator()) {
var c = this.hasPlugin('asyncGenerators') && this.eat(C.star);
o.kind = 'method',
this.parsePropertyName(o),
this.isNonstaticConstructor(o) && this.raise(o.key.start, 'Constructor can\'t be an async function'),
this.parseClassMethod(s, o, c, !0)
} else !u || 'get' !== l.name && 'set' !== l.name || this.isLineTerminator() && this.match(C.star) ? this.hasPlugin('classConstructorCall') && u && 'call' === l.name && this.match(C.name) && 'constructor' === this.state.value ? (n ? this.raise(o.start, 'Duplicate constructor call in the same class') : o.decorators && this.raise(o.start, 'You can\'t attach decorators to a class constructor'), n = !0, o.kind = 'constructorCall', this.parsePropertyName(o), this.parseClassMethod(s, o, !1, !1)) : this.isLineTerminator() ? (this.isNonstaticConstructor(o) && this.raise(o.key.start, 'Classes may not have a non-static field named \'constructor\''), s.body.push(this.parseClassProperty(o))) : this.unexpected() : (o.kind = l.name, this.parsePropertyName(o), this.isNonstaticConstructor(o) && this.raise(o.key.start, 'Constructor can\'t have get/set modifier'), this.parseClassMethod(s, o, !1, !1), this.checkGetterSetterParamCount(o))
}
}
i.length && this.raise(this.state.start, 'You have trailing decorators with no method'),
e.body = this.finishNode(s, 'ClassBody'),
this.state.strict = t
},
U.parseClassProperty = function (e) {
return this.state.inClassProperty = !0,
this.match(C.eq) ? (this.hasPlugin('classProperties') || this.unexpected(), this.next(), e.value = this.parseMaybeAssign()) : e.value = null,
this.semicolon(),
this.state.inClassProperty = !1,
this.finishNode(e, 'ClassProperty')
},
U.parseClassMethod = function (e, t, n, r) {
this.parseMethod(t, n, r),
e.body.push(this.finishNode(t, 'ClassMethod'))
},
U.parseClassId = function (e, t, n) {
this.match(C.name) ? e.id = this.parseIdentifier() : n || !t ? e.id = null : this.unexpected()
},
U.parseClassSuper = function (e) {
e.superClass = this.eat(C._extends) ? this.parseExprSubscripts() : null
},
U.parseExport = function (e) {
if (this.next(), this.match(C.star)) {
var t = this.startNode();
if (this.next(), !this.hasPlugin('exportExtensions') || !this.eatContextual('as')) return this.parseExportFrom(e, !0),
this.finishNode(e, 'ExportAllDeclaration');
t.exported = this.parseIdentifier(),
e.specifiers = [
this.finishNode(t, 'ExportNamespaceSpecifier')
],
this.parseExportSpecifiersMaybe(e),
this.parseExportFrom(e, !0)
} else if (this.hasPlugin('exportExtensions') && this.isExportDefaultSpecifier()) {
var n = this.startNode();
if (n.exported = this.parseIdentifier(!0), e.specifiers = [
this.finishNode(n, 'ExportDefaultSpecifier')
], this.match(C.comma) && this.lookahead().type === C.star) {
this.expect(C.comma);
var r = this.startNode();
this.expect(C.star),
this.expectContextual('as'),
r.exported = this.parseIdentifier(),
e.specifiers.push(this.finishNode(r, 'ExportNamespaceSpecifier'))
} else this.parseExportSpecifiersMaybe(e);
this.parseExportFrom(e, !0)
} else {
if (this.eat(C._default)) {
var i = this.startNode(),
s = !1;
return this.eat(C._function) ? i = this.parseFunction(i, !0, !1, !1, !0) : this.match(C._class) ? i = this.parseClass(i, !0, !0) : (s = !0, i = this.parseMaybeAssign()),
e.declaration = i,
s && this.semicolon(),
this.checkExport(e, !0, !0),
this.finishNode(e, 'ExportDefaultDeclaration')
}
this.shouldParseExportDeclaration() ? (e.specifiers = [
], e.source = null, e.declaration = this.parseExportDeclaration(e)) : (e.declaration = null, e.specifiers = this.parseExportSpecifiers(), this.parseExportFrom(e))
}
return this.checkExport(e, !0),
this.finishNode(e, 'ExportNamedDeclaration')
},
U.parseExportDeclaration = function () {
return this.parseStatement(!0)
},
U.isExportDefaultSpecifier = function () {
if (this.match(C.name)) return 'async' !== this.state.value;
if (!this.match(C._default)) return !1;
var e = this.lookahead();
return e.type === C.comma || e.type === C.name && 'from' === e.value
},
U.parseExportSpecifiersMaybe = function (e) {
this.eat(C.comma) && (e.specifiers = e.specifiers.concat(this.parseExportSpecifiers()))
},
U.parseExportFrom = function (e, t) {
this.eatContextual('from') ? (e.source = this.match(C.string) ? this.parseExprAtom() : this.unexpected(), this.checkExport(e)) : t ? this.unexpected() : e.source = null,
this.semicolon()
},
U.shouldParseExportDeclaration = function () {
return 'var' === this.state.type.keyword || 'const' === this.state.type.keyword || 'let' === this.state.type.keyword || 'function' === this.state.type.keyword || 'class' === this.state.type.keyword || this.isContextual('async')
},
U.checkExport = function (e, t, n) {
if (t) if (n) this.checkDuplicateExports(e, 'default');
else if (e.specifiers && e.specifiers.length) {
var r = e.specifiers,
i = Array.isArray(r),
s = 0;
for (r = i ? r : r[Symbol.iterator](); ; ) {
var o;
if (i) {
if (s >= r.length) break;
o = r[s++]
} else {
if ((s = r.next()).done) break;
o = s.value
}
var a = o;
this.checkDuplicateExports(a, a.exported.name)
}
} else if (e.declaration) if ('FunctionDeclaration' === e.declaration.type || 'ClassDeclaration' === e.declaration.type) this.checkDuplicateExports(e, e.declaration.id.name);
else if ('VariableDeclaration' === e.declaration.type) {
var u = e.declaration.declarations,
l = Array.isArray(u),
c = 0;
for (u = l ? u : u[Symbol.iterator](); ; ) {
var p;
if (l) {
if (c >= u.length) break;
p = u[c++]
} else {
if ((c = u.next()).done) break;
p = c.value
}
var h = p;
this.checkDeclaration(h.id)
}
}
if (this.state.decorators.length) {
var f = e.declaration && ('ClassDeclaration' === e.declaration.type || 'ClassExpression' === e.declaration.type);
e.declaration && f || this.raise(e.start, 'You can only use decorators on an export when exporting a class'),
this.takeDecorators(e.declaration)
}
},
U.checkDeclaration = function (e) {
if ('ObjectPattern' === e.type) {
var t = e.properties,
n = Array.isArray(t),
r = 0;
for (t = n ? t : t[Symbol.iterator](); ; ) {
var i;
if (n) {
if (r >= t.length) break;
i = t[r++]
} else {
if ((r = t.next()).done) break;
i = r.value
}
var s = i;
this.checkDeclaration(s)
}
} else if ('ArrayPattern' === e.type) {
var o = e.elements,
a = Array.isArray(o),
u = 0;
for (o = a ? o : o[Symbol.iterator](); ; ) {
var l;
if (a) {
if (u >= o.length) break;
l = o[u++]
} else {
if ((u = o.next()).done) break;
l = u.value
}
var c = l;
c && this.checkDeclaration(c)
}
} else 'ObjectProperty' === e.type ? this.checkDeclaration(e.value) : 'RestElement' === e.type || 'RestProperty' === e.type ? this.checkDeclaration(e.argument) : 'Identifier' === e.type && this.checkDuplicateExports(e, e.name)
},
U.checkDuplicateExports = function (e, t) {
this.state.exportedIdentifiers.indexOf(t) > - 1 && this.raiseDuplicateExportError(e, t),
this.state.exportedIdentifiers.push(t)
},
U.raiseDuplicateExportError = function (e, t) {
this.raise(e.start, 'default' === t ? 'Only one default export allowed per module.' : '`' + t + '` has already been exported. Exported identifiers must be unique.')
},
U.parseExportSpecifiers = function () {
var e = [
],
t = !0,
n = void 0;
for (this.expect(C.braceL); !this.eat(C.braceR); ) {
if (t) t = !1;
else if (this.expect(C.comma), this.eat(C.braceR)) break;
var r = this.match(C._default);
r && !n && (n = !0);
var i = this.startNode();
i.local = this.parseIdentifier(r),
i.exported = this.eatContextual('as') ? this.parseIdentifier(!0) : i.local.__clone(),
e.push(this.finishNode(i, 'ExportSpecifier'))
}
return n && !this.isContextual('from') && this.unexpected(),
e
},
U.parseImport = function (e) {
return this.eat(C._import),
this.match(C.string) ? (e.specifiers = [
], e.source = this.parseExprAtom()) : (e.specifiers = [
], this.parseImportSpecifiers(e), this.expectContextual('from'), e.source = this.match(C.string) ? this.parseExprAtom() : this.unexpected()),
this.semicolon(),
this.finishNode(e, 'ImportDeclaration')
},
U.parseImportSpecifiers = function (e) {
var t = !0;
if (this.match(C.name)) {
var n = this.state.start,
r = this.state.startLoc;
if (e.specifiers.push(this.parseImportSpecifierDefault(this.parseIdentifier(), n, r)), !this.eat(C.comma)) return
}
if (this.match(C.star)) {
var i = this.startNode();
return this.next(),
this.expectContextual('as'),
i.local = this.parseIdentifier(),
this.checkLVal(i.local, !0, void 0, 'import namespace specifier'),
void e.specifiers.push(this.finishNode(i, 'ImportNamespaceSpecifier'))
}
for (this.expect(C.braceL); !this.eat(C.braceR); ) {
if (t) t = !1;
else if (this.eat(C.colon) && this.unexpected(null, 'ES2015 named imports do not destructure. Use another statement for destructuring after the import.'), this.expect(C.comma), this.eat(C.braceR)) break;
this.parseImportSpecifier(e)
}
},
U.parseImportSpecifier = function (e) {
var t = this.startNode();
t.imported = this.parseIdentifier(!0),
this.eatContextual('as') ? t.local = this.parseIdentifier() : (this.checkReservedWord(t.imported.name, t.start, !0, !0), t.local = t.imported.__clone()),
this.checkLVal(t.local, !0, void 0, 'import specifier'),
e.specifiers.push(this.finishNode(t, 'ImportSpecifier'))
},
U.parseImportSpecifierDefault = function (e, t, n) {
var r = this.startNodeAt(t, n);
return r.local = e,
this.checkLVal(r.local, !0, void 0, 'default import specifier'),
this.finishNode(r, 'ImportDefaultSpecifier')
};
var K = j.prototype;
K.toAssignable = function (e, t, n) {
if (e) switch (e.type) {
case 'Identifier':
case 'ObjectPattern':
case 'ArrayPattern':
case 'AssignmentPattern':
break;
case 'ObjectExpression':
e.type = 'ObjectPattern';
var r = e.properties,
i = Array.isArray(r),
s = 0;
for (r = i ? r : r[Symbol.iterator](); ; ) {
var o;
if (i) {
if (s >= r.length) break;
o = r[s++]
} else {
if ((s = r.next()).done) break;
o = s.value
}
var a = o;
'ObjectMethod' === a.type ? 'get' === a.kind || 'set' === a.kind ? this.raise(a.key.start, 'Object pattern can\'t contain getter or setter') : this.raise(a.key.start, 'Object pattern can\'t contain methods') : this.toAssignable(a, t, 'object destructuring pattern')
}
break;
case 'ObjectProperty':
this.toAssignable(e.value, t, n);
break;
case 'SpreadProperty':
e.type = 'RestProperty';
var u = e.argument;
this.toAssignable(u, t, n);
break;
case 'ArrayExpression':
e.type = 'ArrayPattern',
this.toAssignableList(e.elements, t, n);
break;
case 'AssignmentExpression':
'=' === e.operator ? (e.type = 'AssignmentPattern', delete e.operator) : this.raise(e.left.end, 'Only \'=\' operator can be used for specifying default value.');
break;
case 'MemberExpression':
if (!t) break;
default:
var l = 'Invalid left-hand side' + (n ? ' in ' + n : 'expression');
this.raise(e.start, l)
}
return e
},
K.toAssignableList = function (e, t, n) {
var r = e.length;
if (r) {
var i = e[r - 1];
if (i && 'RestElement' === i.type) --r;
else if (i && 'SpreadElement' === i.type) {
i.type = 'RestElement';
var s = i.argument;
this.toAssignable(s, t, n),
'Identifier' !== s.type && 'MemberExpression' !== s.type && 'ArrayPattern' !== s.type && this.unexpected(s.start),
--r
}
}
for (var o = 0; o < r; o++) {
var a = e[o];
a && this.toAssignable(a, t, n)
}
return e
},
K.toReferencedList = function (e) {
return e
},
K.parseSpread = function (e) {
var t = this.startNode();
return this.next(),
t.argument = this.parseMaybeAssign(!1, e),
this.finishNode(t, 'SpreadElement')
},
K.parseRest = function () {
var e = this.startNode();
return this.next(),
e.argument = this.parseBindingIdentifier(),
this.finishNode(e, 'RestElement')
},
K.shouldAllowYieldIdentifier = function () {
return this.match(C._yield) && !this.state.strict && !this.state.inGenerator
},
K.parseBindingIdentifier = function () {
return this.parseIdentifier(this.shouldAllowYieldIdentifier())
},
K.parseBindingAtom = function () {
switch (this.state.type) {
case C._yield:
(this.state.strict || this.state.inGenerator) && this.unexpected();
case C.name:
return this.parseIdentifier(!0);
case C.bracketL:
var e = this.startNode();
return this.next(),
e.elements = this.parseBindingList(C.bracketR, !0),
this.finishNode(e, 'ArrayPattern');
case C.braceL:
return this.parseObj(!0);
default:
this.unexpected()
}
},
K.parseBindingList = function (e, t) {
for (var n = [
], r = !0; !this.eat(e); ) if (r ? r = !1 : this.expect(C.comma), t && this.match(C.comma)) n.push(null);
else {
if (this.eat(e)) break;
if (this.match(C.ellipsis)) {
n.push(this.parseAssignableListItemTypes(this.parseRest())),
this.expect(e);
break
}
for (var i = [
]; this.match(C.at); ) i.push(this.parseDecorator());
var s = this.parseMaybeDefault();
i.length && (s.decorators = i),
this.parseAssignableListItemTypes(s),
n.push(this.parseMaybeDefault(s.start, s.loc.start, s))
}
return n
},
K.parseAssignableListItemTypes = function (e) {
return e
},
K.parseMaybeDefault = function (e, t, n) {
if (t = t || this.state.startLoc, e = e || this.state.start, n = n || this.parseBindingAtom(), !this.eat(C.eq)) return n;
var r = this.startNodeAt(e, t);
return r.left = n,
r.right = this.parseMaybeAssign(),
this.finishNode(r, 'AssignmentPattern')
},
K.checkLVal = function (e, t, n, r) {
switch (e.type) {
case 'Identifier':
if (this.checkReservedWord(e.name, e.start, !1, !0), n) {
var i = '_' + e.name;
n[i] ? this.raise(e.start, 'Argument name clash in strict mode') : n[i] = !0
}
break;
case 'MemberExpression':
t && this.raise(e.start, (t ? 'Binding' : 'Assigning to') + ' member expression');
break;
case 'ObjectPattern':
var s = e.properties,
o = Array.isArray(s),
a = 0;
for (s = o ? s : s[Symbol.iterator](); ; ) {
var u;
if (o) {
if (a >= s.length) break;
u = s[a++]
} else {
if ((a = s.next()).done) break;
u = a.value
}
var l = u;
'ObjectProperty' === l.type && (l = l.value),
this.checkLVal(l, t, n, 'object destructuring pattern')
}
break;
case 'ArrayPattern':
var c = e.elements,
p = Array.isArray(c),
h = 0;
for (c = p ? c : c[Symbol.iterator](); ; ) {
var f;
if (p) {
if (h >= c.length) break;
f = c[h++]
} else {
if ((h = c.next()).done) break;
f = h.value
}
var d = f;
d && this.checkLVal(d, t, n, 'array destructuring pattern')
}
break;
case 'AssignmentPattern':
this.checkLVal(e.left, t, n, 'assignment pattern');
break;
case 'RestProperty':
this.checkLVal(e.argument, t, n, 'rest property');
break;
case 'RestElement':
this.checkLVal(e.argument, t, n, 'rest element');
break;
default:
var m = (t ? 'Binding invalid' : 'Invalid') + ' left-hand side' + (r ? ' in ' + r : 'expression');
this.raise(e.start, m)
}
};
var $ = j.prototype;
$.checkPropClash = function (e, t) {
if (!e.computed && !e.kind) {
var n = e.key;
'__proto__' === ('Identifier' === n.type ? n.name : String(n.value)) && (t.proto && this.raise(n.start, 'Redefinition of __proto__ property'), t.proto = !0)
}
},
$.getExpression = function () {
this.nextToken();
var e = this.parseExpression();
return this.match(C.eof) || this.unexpected(),
e
},
$.parseExpression = function (e, t) {
var n = this.state.start,
r = this.state.startLoc,
i = this.parseMaybeAssign(e, t);
if (this.match(C.comma)) {
var s = this.startNodeAt(n, r);
for (s.expressions = [
i
]; this.eat(C.comma); ) s.expressions.push(this.parseMaybeAssign(e, t));
return this.toReferencedList(s.expressions),
this.finishNode(s, 'SequenceExpression')
}
return i
},
$.parseMaybeAssign = function (e, t, n, r) {
var i = this.state.start,
s = this.state.startLoc;
if (this.match(C._yield) && this.state.inGenerator) {
var o = this.parseYield();
return n && (o = n.call(this, o, i, s)),
o
}
var a = void 0;
t ? a = !1 : (t = {
start: 0
}, a = !0),
(this.match(C.parenL) || this.match(C.name)) && (this.state.potentialArrowAt = this.state.start);
var u = this.parseMaybeConditional(e, t, r);
if (n && (u = n.call(this, u, i, s)), this.state.type.isAssign) {
var l = this.startNodeAt(i, s);
if (l.operator = this.state.value, l.left = this.match(C.eq) ? this.toAssignable(u, void 0, 'assignment expression') : u, t.start = 0, this.checkLVal(u, void 0, void 0, 'assignment expression'), u.extra && u.extra.parenthesized) {
var c = void 0;
'ObjectPattern' === u.type ? c = '`({a}) = 0` use `({a} = 0)`' : 'ArrayPattern' === u.type && (c = '`([a]) = 0` use `([a] = 0)`'),
c && this.raise(u.start, 'You\'re trying to assign to a parenthesized expression, eg. instead of ' + c)
}
return this.next(),
l.right = this.parseMaybeAssign(e),
this.finishNode(l, 'AssignmentExpression')
}
return a && t.start && this.unexpected(t.start),
u
},
$.parseMaybeConditional = function (e, t, n) {
var r = this.state.start,
i = this.state.startLoc,
s = this.parseExprOps(e, t);
return t && t.start ? s : this.parseConditional(s, e, r, i, n)
},
$.parseConditional = function (e, t, n, r) {
if (this.eat(C.question)) {
var i = this.startNodeAt(n, r);
return i.test = e,
i.consequent = this.parseMaybeAssign(),
this.expect(C.colon),
i.alternate = this.parseMaybeAssign(t),
this.finishNode(i, 'ConditionalExpression')
}
return e
},
$.parseExprOps = function (e, t) {
var n = this.state.start,
r = this.state.startLoc,
i = this.parseMaybeUnary(t);
return t && t.start ? i : this.parseExprOp(i, n, r, - 1, e)
},
$.parseExprOp = function (e, t, n, r, i) {
var s = this.state.type.binop;
if (!(null == s || i && this.match(C._in)) && s > r) {
var o = this.startNodeAt(t, n);
o.left = e,
o.operator = this.state.value,
'**' !== o.operator || 'UnaryExpression' !== e.type || !e.extra || e.extra.parenthesizedArgument || e.extra.parenthesized || this.raise(e.argument.start, 'Illegal expression. Wrap left hand side or entire exponentiation in parentheses.');
var a = this.state.type;
this.next();
var u = this.state.start,
l = this.state.startLoc;
return o.right = this.parseExprOp(this.parseMaybeUnary(), u, l, a.rightAssociative ? s - 1 : s, i),
this.finishNode(o, a === C.logicalOR || a === C.logicalAND ? 'LogicalExpression' : 'BinaryExpression'),
this.parseExprOp(o, t, n, r, i)
}
return e
},
$.parseMaybeUnary = function (e) {
if (this.state.type.prefix) {
var t = this.startNode(),
n = this.match(C.incDec);
t.operator = this.state.value,
t.prefix = !0,
this.next();
var r = this.state.type;
return t.argument = this.parseMaybeUnary(),
this.addExtra(t, 'parenthesizedArgument', !(r !== C.parenL || t.argument.extra && t.argument.extra.parenthesized)),
e && e.start && this.unexpected(e.start),
n ? this.checkLVal(t.argument, void 0, void 0, 'prefix operation') : this.state.strict && 'delete' === t.operator && 'Identifier' === t.argument.type && this.raise(t.start, 'Deleting local variable in strict mode'),
this.finishNode(t, n ? 'UpdateExpression' : 'UnaryExpression')
}
var i = this.state.start,
s = this.state.startLoc,
o = this.parseExprSubscripts(e);
if (e && e.start) return o;
for (; this.state.type.postfix && !this.canInsertSemicolon(); ) {
var a = this.startNodeAt(i, s);
a.operator = this.state.value,
a.prefix = !1,
a.argument = o,
this.checkLVal(o, void 0, void 0, 'postfix operation'),
this.next(),
o = this.finishNode(a, 'UpdateExpression')
}
return o
},
$.parseExprSubscripts = function (e) {
var t = this.state.start,
n = this.state.startLoc,
r = this.state.potentialArrowAt,
i = this.parseExprAtom(e);
return 'ArrowFunctionExpression' === i.type && i.start === r ? i : e && e.start ? i : this.parseSubscripts(i, t, n)
},
$.parseSubscripts = function (e, t, n, r) {
for (; ; ) {
if (!r && this.eat(C.doubleColon)) {
var i = this.startNodeAt(t, n);
return i.object = e,
i.callee = this.parseNoCallExpr(),
this.parseSubscripts(this.finishNode(i, 'BindExpression'), t, n, r)
}
if (this.eat(C.dot)) {
var s = this.startNodeAt(t, n);
s.object = e,
s.property = this.parseIdentifier(!0),
s.computed = !1,
e = this.finishNode(s, 'MemberExpression')
} else if (this.eat(C.bracketL)) {
var o = this.startNodeAt(t, n);
o.object = e,
o.property = this.parseExpression(),
o.computed = !0,
this.expect(C.bracketR),
e = this.finishNode(o, 'MemberExpression')
} else if (!r && this.match(C.parenL)) {
var a = this.state.potentialArrowAt === e.start && 'Identifier' === e.type && 'async' === e.name && !this.canInsertSemicolon();
this.next();
var u = this.startNodeAt(t, n);
if (u.callee = e, u.arguments = this.parseCallExpressionArguments(C.parenR, a), 'Import' === u.callee.type && 1 !== u.arguments.length && this.raise(u.start, 'import() requires exactly one argument'), e = this.finishNode(u, 'CallExpression'), a && this.shouldParseAsyncArrow()) return this.parseAsyncArrowFromCallExpression(this.startNodeAt(t, n), u);
this.toReferencedList(u.arguments)
} else {
if (!this.match(C.backQuote)) return e;
var l = this.startNodeAt(t, n);
l.tag = e,
l.quasi = this.parseTemplate(!0),
e = this.finishNode(l, 'TaggedTemplateExpression')
}
}
},
$.parseCallExpressionArguments = function (e, t) {
for (var n = [
], r = void 0, i = !0; !this.eat(e); ) {
if (i) i = !1;
else if (this.expect(C.comma), this.eat(e)) break;
this.match(C.parenL) && !r && (r = this.state.start),
n.push(this.parseExprListItem(!1, t ? {
start: 0
}
: void 0, t ? {
start: 0
}
: void 0))
}
return t && r && this.shouldParseAsyncArrow() && this.unexpected(),
n
},
$.shouldParseAsyncArrow = function () {
return this.match(C.arrow)
},
$.parseAsyncArrowFromCallExpression = function (e, t) {
return this.expect(C.arrow),
this.parseArrowExpression(e, t.arguments, !0)
},
$.parseNoCallExpr = function () {
var e = this.state.start,
t = this.state.startLoc;
return this.parseSubscripts(this.parseExprAtom(), e, t, !0)
},
$.parseExprAtom = function (e) {
var t = this.state.potentialArrowAt === this.state.start,
n = void 0;
switch (this.state.type) {
case C._super:
return this.state.inMethod || this.state.inClassProperty || this.options.allowSuperOutsideMethod || this.raise(this.state.start, '\'super\' outside of function or class'),
n = this.startNode(),
this.next(),
this.match(C.parenL) || this.match(C.bracketL) || this.match(C.dot) || this.unexpected(),
this.match(C.parenL) && 'constructor' !== this.state.inMethod && !this.options.allowSuperOutsideMethod && this.raise(n.start, 'super() outside of class constructor'),
this.finishNode(n, 'Super');
case C._import:
return this.hasPlugin('dynamicImport') || this.unexpected(),
n = this.startNode(),
this.next(),
this.match(C.parenL) || this.unexpected(null, C.parenL),
this.finishNode(n, 'Import');
case C._this:
return n = this.startNode(),
this.next(),
this.finishNode(n, 'ThisExpression');
case C._yield:
this.state.inGenerator && this.unexpected();
case C.name:
n = this.startNode();
var r = 'await' === this.state.value && this.state.inAsync,
i = this.shouldAllowYieldIdentifier(),
s = this.parseIdentifier(r || i);
if ('await' === s.name) {
if (this.state.inAsync || this.inModule) return this.parseAwait(n)
} else {
if ('async' === s.name && this.match(C._function) && !this.canInsertSemicolon()) return this.next(),
this.parseFunction(n, !1, !1, !0);
if (t && 'async' === s.name && this.match(C.name)) {
var o = [
this.parseIdentifier()
];
return this.expect(C.arrow),
this.parseArrowExpression(n, o, !0)
}
}
return t && !this.canInsertSemicolon() && this.eat(C.arrow) ? this.parseArrowExpression(n, [
s
]) : s;
case C._do:
if (this.hasPlugin('doExpressions')) {
var a = this.startNode();
this.next();
var u = this.state.inFunction,
l = this.state.labels;
return this.state.labels = [
],
this.state.inFunction = !1,
a.body = this.parseBlock(!1, !0),
this.state.inFunction = u,
this.state.labels = l,
this.finishNode(a, 'DoExpression')
}
case C.regexp:
var c = this.state.value;
return (n = this.parseLiteral(c.value, 'RegExpLiteral')).pattern = c.pattern,
n.flags = c.flags,
n;
case C.num:
return this.parseLiteral(this.state.value, 'NumericLiteral');
case C.string:
return this.parseLiteral(this.state.value, 'StringLiteral');
case C._null:
return n = this.startNode(),
this.next(),
this.finishNode(n, 'NullLiteral');
case C._true:
case C._false:
return (n = this.startNode()).value = this.match(C._true),
this.next(),
this.finishNode(n, 'BooleanLiteral');
case C.parenL:
return this.parseParenAndDistinguishExpression(null, null, t);
case C.bracketL:
return n = this.startNode(),
this.next(),
n.elements = this.parseExprList(C.bracketR, !0, e),
this.toReferencedList(n.elements),
this.finishNode(n, 'ArrayExpression');
case C.braceL:
return this.parseObj(!1, e);
case C._function:
return this.parseFunctionExpression();
case C.at:
this.parseDecorators();
case C._class:
return n = this.startNode(),
this.takeDecorators(n),
this.parseClass(n, !1);
case C._new:
return this.parseNew();
case C.backQuote:
return this.parseTemplate(!1);
case C.doubleColon:
n = this.startNode(),
this.next(),
n.object = null;
var p = n.callee = this.parseNoCallExpr();
if ('MemberExpression' === p.type) return this.finishNode(n, 'BindExpression');
this.raise(p.start, 'Binding should be performed on object property.');
default:
this.unexpected()
}
},
$.parseFunctionExpression = function () {
var e = this.startNode(),
t = this.parseIdentifier(!0);
return this.state.inGenerator && this.eat(C.dot) && this.hasPlugin('functionSent') ? this.parseMetaProperty(e, t, 'sent') : this.parseFunction(e, !1)
},
$.parseMetaProperty = function (e, t, n) {
return e.meta = t,
e.property = this.parseIdentifier(!0),
e.property.name !== n && this.raise(e.property.start, 'The only valid meta property for new is ' + t.name + '.' + n),
this.finishNode(e, 'MetaProperty')
},
$.parseLiteral = function (e, t, n, r) {
n = n || this.state.start,
r = r || this.state.startLoc;
var i = this.startNodeAt(n, r);
return this.addExtra(i, 'rawValue', e),
this.addExtra(i, 'raw', this.input.slice(n, this.state.end)),
i.value = e,
this.next(),
this.finishNode(i, t)
},
$.parseParenExpression = function () {
this.expect(C.parenL);
var e = this.parseExpression();
return this.expect(C.parenR),
e
},
$.parseParenAndDistinguishExpression = function (e, t, n) {
e = e || this.state.start,
t = t || this.state.startLoc;
var r = void 0;
this.expect(C.parenL);
for (var i = this.state.start, s = this.state.startLoc, o = [
], a = {
start: 0
}, u = {
start: 0
}, l = !0, c = void 0, p = void 0; !this.match(C.parenR); ) {
if (l) l = !1;
else if (this.expect(C.comma, u.start || null), this.match(C.parenR)) {
p = this.state.start;
break
}
if (this.match(C.ellipsis)) {
var h = this.state.start,
f = this.state.startLoc;
c = this.state.start,
o.push(this.parseParenItem(this.parseRest(), h, f));
break
}
o.push(this.parseMaybeAssign(!1, a, this.parseParenItem, u))
}
var d = this.state.start,
m = this.state.startLoc;
this.expect(C.parenR);
var g = this.startNodeAt(e, t);
if (n && this.shouldParseArrow() && (g = this.parseArrow(g))) {
var y = o,
v = Array.isArray(y),
b = 0;
for (y = v ? y : y[Symbol.iterator](); ; ) {
var x;
if (v) {
if (b >= y.length) break;
x = y[b++]
} else {
if ((b = y.next()).done) break;
x = b.value
}
var A = x;
A.extra && A.extra.parenthesized && this.unexpected(A.extra.parenStart)
}
return this.parseArrowExpression(g, o)
}
return o.length || this.unexpected(this.state.lastTokStart),
p && this.unexpected(p),
c && this.unexpected(c),
a.start && this.unexpected(a.start),
u.start && this.unexpected(u.start),
o.length > 1 ? ((r = this.startNodeAt(i, s)).expressions = o, this.toReferencedList(r.expressions), this.finishNodeAt(r, 'SequenceExpression', d, m)) : r = o[0],
this.addExtra(r, 'parenthesized', !0),
this.addExtra(r, 'parenStart', e),
r
},
$.shouldParseArrow = function () {
return !this.canInsertSemicolon()
},
$.parseArrow = function (e) {
if (this.eat(C.arrow)) return e
},
$.parseParenItem = function (e) {
return e
},
$.parseNew = function () {
var e = this.startNode(),
t = this.parseIdentifier(!0);
if (this.eat(C.dot)) {
var n = this.parseMetaProperty(e, t, 'target');
return this.state.inFunction || this.raise(n.property.start, 'new.target can only be used in functions'),
n
}
return e.callee = this.parseNoCallExpr(),
this.eat(C.parenL) ? (e.arguments = this.parseExprList(C.parenR), this.toReferencedList(e.arguments)) : e.arguments = [
],
this.finishNode(e, 'NewExpression')
},
$.parseTemplateElement = function (e) {
var t = this.startNode();
return null === this.state.value && (e && this.hasPlugin('templateInvalidEscapes') ? this.state.invalidTemplateEscapePosition = null : this.raise(this.state.invalidTemplateEscapePosition, 'Invalid escape sequence in template')),
t.value = {
raw: this.input.slice(this.state.start, this.state.end).replace(/\r\n?/g, '\n'),
cooked: this.state.value
},
this.next(),
t.tail = this.match(C.backQuote),
this.finishNode(t, 'TemplateElement')
},
$.parseTemplate = function (e) {
var t = this.startNode();
this.next(),
t.expressions = [
];
var n = this.parseTemplateElement(e);
for (t.quasis = [
n
]; !n.tail; ) this.expect(C.dollarBraceL),
t.expressions.push(this.parseExpression()),
this.expect(C.braceR),
t.quasis.push(n = this.parseTemplateElement(e));
return this.next(),
this.finishNode(t, 'TemplateLiteral')
},
$.parseObj = function (e, t) {
var n = [
],
r = Object.create(null),
i = !0,
s = this.startNode();
s.properties = [
],
this.next();
for (var o = null; !this.eat(C.braceR); ) {
if (i) i = !1;
else if (this.expect(C.comma), this.eat(C.braceR)) break;
for (; this.match(C.at); ) n.push(this.parseDecorator());
var a = this.startNode(),
u = !1,
l = !1,
c = void 0,
p = void 0;
if (n.length && (a.decorators = n, n = [
]), this.hasPlugin('objectRestSpread') && this.match(C.ellipsis)) {
if ((a = this.parseSpread(e ? {
start: 0
}
: void 0)).type = e ? 'RestProperty' : 'SpreadProperty', e && this.toAssignable(a.argument, !0, 'object pattern'), s.properties.push(a), !e) continue;
var h = this.state.start;
if (null === o) {
if (this.eat(C.braceR)) break;
if (this.match(C.comma) && this.lookahead().type === C.braceR) continue;
o = h;
continue
}
this.unexpected(o, 'Cannot have multiple rest elements when destructuring')
}
if (a.method = !1, a.shorthand = !1, (e || t) && (c = this.state.start, p = this.state.startLoc), e || (u = this.eat(C.star)), !e && this.isContextual('async')) {
u && this.unexpected();
var f = this.parseIdentifier();
this.match(C.colon) || this.match(C.parenL) || this.match(C.braceR) || this.match(C.eq) || this.match(C.comma) ? (a.key = f, a.computed = !1) : (l = !0, this.hasPlugin('asyncGenerators') && (u = this.eat(C.star)), this.parsePropertyName(a))
} else this.parsePropertyName(a);
this.parseObjPropValue(a, c, p, u, l, e, t),
this.checkPropClash(a, r),
a.shorthand && this.addExtra(a, 'shorthand', !0),
s.properties.push(a)
}
return null !== o && this.unexpected(o, 'The rest element has to be the last element when destructuring'),
n.length && this.raise(this.state.start, 'You have trailing decorators with no property'),
this.finishNode(s, e ? 'ObjectPattern' : 'ObjectExpression')
},
$.isGetterOrSetterMethod = function (e, t) {
return !t && !e.computed && 'Identifier' === e.key.type && ('get' === e.key.name || 'set' === e.key.name) && (this.match(C.string) || this.match(C.num) || this.match(C.bracketL) || this.match(C.name) || this.state.type.keyword)
},
$.checkGetterSetterParamCount = function (e) {
var t = 'get' === e.kind ? 0 : 1;
if (e.params.length !== t) {
var n = e.start;
'get' === e.kind ? this.raise(n, 'getter should have no params') : this.raise(n, 'setter should have exactly one param')
}
},
$.parseObjectMethod = function (e, t, n, r) {
return n || t || this.match(C.parenL) ? (r && this.unexpected(), e.kind = 'method', e.method = !0, this.parseMethod(e, t, n), this.finishNode(e, 'ObjectMethod')) : this.isGetterOrSetterMethod(e, r) ? ((t || n) && this.unexpected(), e.kind = e.key.name, this.parsePropertyName(e), this.parseMethod(e), this.checkGetterSetterParamCount(e), this.finishNode(e, 'ObjectMethod')) : void 0
},
$.parseObjectProperty = function (e, t, n, r, i) {
return this.eat(C.colon) ? (e.value = r ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssign(!1, i), this.finishNode(e, 'ObjectProperty')) : e.computed || 'Identifier' !== e.key.type ? void 0 : (this.checkReservedWord(e.key.name, e.key.start, !0, !0), r ? e.value = this.parseMaybeDefault(t, n, e.key.__clone()) : this.match(C.eq) && i ? (i.start || (i.start = this.state.start), e.value = this.parseMaybeDefault(t, n, e.key.__clone())) : e.value = e.key.__clone(), e.shorthand = !0, this.finishNode(e, 'ObjectProperty'))
},
$.parseObjPropValue = function (e, t, n, r, i, s, o) {
var a = this.parseObjectMethod(e, r, i, s) || this.parseObjectProperty(e, t, n, s, o);
return a || this.unexpected(),
a
},
$.parsePropertyName = function (e) {
if (this.eat(C.bracketL)) e.computed = !0,
e.key = this.parseMaybeAssign(),
this.expect(C.bracketR);
else {
e.computed = !1;
var t = this.state.inPropertyName;
this.state.inPropertyName = !0,
e.key = this.match(C.num) || this.match(C.string) ? this.parseExprAtom() : this.parseIdentifier(!0),
this.state.inPropertyName = t
}
return e.key
},
$.initFunction = function (e, t) {
e.id = null,
e.generator = !1,
e.expression = !1,
e.async = !!t
},
$.parseMethod = function (e, t, n) {
var r = this.state.inMethod;
return this.state.inMethod = e.kind || !0,
this.initFunction(e, n),
this.expect(C.parenL),
e.params = this.parseBindingList(C.parenR),
e.generator = !!t,
this.parseFunctionBody(e),
this.state.inMethod = r,
e
},
$.parseArrowExpression = function (e, t, n) {
return this.initFunction(e, n),
e.params = this.toAssignableList(t, !0, 'arrow function parameters'),
this.parseFunctionBody(e, !0),
this.finishNode(e, 'ArrowFunctionExpression')
},
$.isStrictBody = function (e, t) {
if (!t && e.body.directives.length) {
var n = e.body.directives,
r = Array.isArray(n),
i = 0;
for (n = r ? n : n[Symbol.iterator](); ; ) {
var s;
if (r) {
if (i >= n.length) break;
s = n[i++]
} else {
if ((i = n.next()).done) break;
s = i.value
}
if ('use strict' === s.value.value) return !0
}
}
return !1
},
$.parseFunctionBody = function (e, t) {
var n = t && !this.match(C.braceL),
r = this.state.inAsync;
if (this.state.inAsync = e.async, n) e.body = this.parseMaybeAssign(),
e.expression = !0;
else {
var i = this.state.inFunction,
s = this.state.inGenerator,
o = this.state.labels;
this.state.inFunction = !0,
this.state.inGenerator = e.generator,
this.state.labels = [
],
e.body = this.parseBlock(!0),
e.expression = !1,
this.state.inFunction = i,
this.state.inGenerator = s,
this.state.labels = o
}
this.state.inAsync = r;
var a = this.isStrictBody(e, n),
u = this.state.strict || t || a;
if (a && e.id && 'Identifier' === e.id.type && 'yield' === e.id.name && this.raise(e.id.start, 'Binding yield in strict mode'), u) {
var l = Object.create(null),
c = this.state.strict;
a && (this.state.strict = !0),
e.id && this.checkLVal(e.id, !0, void 0, 'function name');
var p = e.params,
h = Array.isArray(p),
f = 0;
for (p = h ? p : p[Symbol.iterator](); ; ) {
var d;
if (h) {
if (f >= p.length) break;
d = p[f++]
} else {
if ((f = p.next()).done) break;
d = f.value
}
var m = d;
a && 'Identifier' !== m.type && this.raise(m.start, 'Non-simple parameter in strict mode'),
this.checkLVal(m, !0, l, 'function parameter list')
}
this.state.strict = c
}
},
$.parseExprList = function (e, t, n) {
for (var r = [
], i = !0; !this.eat(e); ) {
if (i) i = !1;
else if (this.expect(C.comma), this.eat(e)) break;
r.push(this.parseExprListItem(t, n))
}
return r
},
$.parseExprListItem = function (e, t, n) {
return e && this.match(C.comma) ? null : this.match(C.ellipsis) ? this.parseSpread(t) : this.parseMaybeAssign(!1, t, this.parseParenItem, n)
},
$.parseIdentifier = function (e) {
var t = this.startNode();
return e || this.checkReservedWord(this.state.value, this.state.start, !!this.state.type.keyword, !1),
this.match(C.name) ? t.name = this.state.value : this.state.type.keyword ? t.name = this.state.type.keyword : this.unexpected(),
!e && 'await' === t.name && this.state.inAsync && this.raise(t.start, 'invalid use of await inside of an async function'),
t.loc.identifierName = t.name,
this.next(),
this.finishNode(t, 'Identifier')
},
$.checkReservedWord = function (e, t, n, r) {
(this.isReservedWord(e) || n && this.isKeyword(e)) && this.raise(t, e + ' is a reserved word'),
this.state.strict && (i.strict(e) || r && i.strictBind(e)) && this.raise(t, e + ' is a reserved word in strict mode')
},
$.parseAwait = function (e) {
return this.state.inAsync || this.unexpected(),
this.match(C.star) && this.raise(e.start, 'await* has been removed from the async functions proposal. Use Promise.all() instead.'),
e.argument = this.parseMaybeUnary(),
this.finishNode(e, 'AwaitExpression')
},
$.parseYield = function () {
var e = this.startNode();
return this.next(),
this.match(C.semi) || this.canInsertSemicolon() || !this.match(C.star) && !this.state.type.startsExpr ? (e.delegate = !1, e.argument = null) : (e.delegate = this.eat(C.star), e.argument = this.parseMaybeAssign()),
this.finishNode(e, 'YieldExpression')
};
var Y = j.prototype,
W = [
'leadingComments',
'trailingComments',
'innerComments'
],
G = function () {
function e(t, n, r) {
y(this, e),
this.type = '',
this.start = t,
this.end = 0,
this.loc = new P(n),
r && (this.loc.filename = r)
}
return e.prototype.__clone = function () {
var t = new e;
for (var n in this) W.indexOf(n) < 0 && (t[n] = this[n]);
return t
},
e
}();
function H(e, t, n, r) {
return e.type = t,
e.end = n,
e.loc.end = r,
this.processComment(e),
e
}
function X(e) {
return e[e.length - 1]
}
Y.startNode = function () {
return new G(this.state.start, this.state.startLoc, this.filename)
},
Y.startNodeAt = function (e, t) {
return new G(e, t, this.filename)
},
Y.finishNode = function (e, t) {
return H.call(this, e, t, this.state.lastTokEnd, this.state.lastTokEndLoc)
},
Y.finishNodeAt = function (e, t, n, r) {
return H.call(this, e, t, n, r)
},
j.prototype.raise = function (e, t) {
var n = function (e, t) {
for (var n = 1, r = 0; ; ) {
k.lastIndex = r;
var i = k.exec(e);
if (!(i && i.index < t)) return new B(n, t - r);
++n,
r = i.index + i[0].length
}
}(this.input, e);
t += ' (' + n.line + ':' + n.column + ')';
var r = new SyntaxError(t);
throw r.pos = e,
r.loc = n,
r
};
var J = j.prototype;
J.addComment = function (e) {
this.filename && (e.loc.filename = this.filename),
this.state.trailingComments.push(e),
this.state.leadingComments.push(e)
},
J.processComment = function (e) {
if (!('Program' === e.type && e.body.length > 0)) {
var t = this.state.commentStack,
n = void 0,
r = void 0,
i = void 0,
s = void 0,
o = void 0;
if (this.state.trailingComments.length > 0) this.state.trailingComments[0].start >= e.end ? (i = this.state.trailingComments, this.state.trailingComments = [
]) : this.state.trailingComments.length = 0;
else {
var a = X(t);
t.length > 0 && a.trailingComments && a.trailingComments[0].start >= e.end && (i = a.trailingComments, a.trailingComments = null)
}
for (t.length > 0 && X(t).start >= e.start && (n = t.pop()); t.length > 0 && X(t).start >= e.start; ) r = t.pop();
if (!r && n && (r = n), n && this.state.leadingComments.length > 0) {
var u = X(this.state.leadingComments);
if ('ObjectProperty' === n.type) {
if (u.start >= e.start && this.state.commentPreviousNode) {
for (o = 0; o < this.state.leadingComments.length; o++) this.state.leadingComments[o].end < this.state.commentPreviousNode.end && (this.state.leadingComments.splice(o, 1), o--);
this.state.leadingComments.length > 0 && (n.trailingComments = this.state.leadingComments, this.state.leadingComments = [
])
}
} else if ('CallExpression' === e.type && e.arguments && e.arguments.length) {
var l = X(e.arguments);
l && u.start >= l.start && u.end <= e.end && this.state.commentPreviousNode && this.state.leadingComments.length > 0 && (l.trailingComments = this.state.leadingComments, this.state.leadingComments = [
])
}
}
if (r) {
if (r.leadingComments) if (r !== e && X(r.leadingComments).end <= e.start) e.leadingComments = r.leadingComments,
r.leadingComments = null;
else for (s = r.leadingComments.length - 2; s >= 0; --s) if (r.leadingComments[s].end <= e.start) {
e.leadingComments = r.leadingComments.splice(0, s + 1);
break
}
} else if (this.state.leadingComments.length > 0) if (X(this.state.leadingComments).end <= e.start) {
if (this.state.commentPreviousNode) for (o = 0; o < this.state.leadingComments.length; o++) this.state.leadingComments[o].end < this.state.commentPreviousNode.end && (this.state.leadingComments.splice(o, 1), o--);
this.state.leadingComments.length > 0 && (e.leadingComments = this.state.leadingComments, this.state.leadingComments = [
])
} else {
for (s = 0; s < this.state.leadingComments.length && !(this.state.leadingComments[s].end > e.start); s++);
e.leadingComments = this.state.leadingComments.slice(0, s),
0 === e.leadingComments.length && (e.leadingComments = null),
0 === (i = this.state.leadingComments.slice(s)).length && (i = null)
}
this.state.commentPreviousNode = e,
i && (i.length && i[0].start >= e.start && X(i).end <= e.end ? e.innerComments = i : e.trailingComments = i),
t.push(e)
}
};
var Q = j.prototype;
function Z(e) {
return e && 'Property' === e.type && 'init' === e.kind && !1 === e.method
}
Q.estreeParseRegExpLiteral = function (e) {
var t = e.pattern,
n = e.flags,
r = null;
try {
r = new RegExp(t, n)
} catch (e) {
}
var i = this.estreeParseLiteral(r);
return i.regex = {
pattern: t,
flags: n
},
i
},
Q.estreeParseLiteral = function (e) {
return this.parseLiteral(e, 'Literal')
},
Q.directiveToStmt = function (e) {
var t = e.value,
n = this.startNodeAt(e.start, e.loc.start),
r = this.startNodeAt(t.start, t.loc.start);
return r.value = t.value,
r.raw = t.extra.raw,
n.expression = this.finishNodeAt(r, 'Literal', t.end, t.loc.end),
n.directive = t.extra.raw.slice(1, - 1),
this.finishNodeAt(n, 'ExpressionStatement', e.end, e.loc.end)
};
var ee = [
'any',
'mixed',
'empty',
'bool',
'boolean',
'number',
'string',
'void',
'null'
],
te = j.prototype;
te.flowParseTypeInitialiser = function (e) {
var t = this.state.inType;
this.state.inType = !0,
this.expect(e || C.colon);
var n = this.flowParseType();
return this.state.inType = t,
n
},
te.flowParsePredicate = function () {
var e = this.startNode(),
t = this.state.startLoc,
n = this.state.start;
this.expect(C.modulo);
var r = this.state.startLoc;
return this.expectContextual('checks'),
t.line === r.line && t.column === r.column - 1 || this.raise(n, 'Spaces between ´%´ and ´checks´ are not allowed here.'),
this.eat(C.parenL) ? (e.expression = this.parseExpression(), this.expect(C.parenR), this.finishNode(e, 'DeclaredPredicate')) : this.finishNode(e, 'InferredPredicate')
},
te.flowParseTypeAndPredicateInitialiser = function () {
var e = this.state.inType;
this.state.inType = !0,
this.expect(C.colon);
var t = null,
n = null;
return this.match(C.modulo) ? (this.state.inType = e, n = this.flowParsePredicate()) : (t = this.flowParseType(), this.state.inType = e, this.match(C.modulo) && (n = this.flowParsePredicate())),
[
t,
n
]
},
te.flowParseDeclareClass = function (e) {
return this.next(),
this.flowParseInterfaceish(e, !0),
this.finishNode(e, 'DeclareClass')
},
te.flowParseDeclareFunction = function (e) {
this.next();
var t = e.id = this.parseIdentifier(),
n = this.startNode(),
r = this.startNode();
this.isRelational('<') ? n.typeParameters = this.flowParseTypeParameterDeclaration() : n.typeParameters = null,
this.expect(C.parenL);
var i = this.flowParseFunctionTypeParams();
n.params = i.params,
n.rest = i.rest,
this.expect(C.parenR);
var s,
o = this.flowParseTypeAndPredicateInitialiser();
return n.returnType = o[0],
s = o[1],
r.typeAnnotation = this.finishNode(n, 'FunctionTypeAnnotation'),
r.predicate = s,
t.typeAnnotation = this.finishNode(r, 'TypeAnnotation'),
this.finishNode(t, t.type),
this.semicolon(),
this.finishNode(e, 'DeclareFunction')
},
te.flowParseDeclare = function (e) {
return this.match(C._class) ? this.flowParseDeclareClass(e) : this.match(C._function) ? this.flowParseDeclareFunction(e) : this.match(C._var) ? this.flowParseDeclareVariable(e) : this.isContextual('module') ? this.lookahead().type === C.dot ? this.flowParseDeclareModuleExports(e) : this.flowParseDeclareModule(e) : this.isContextual('type') ? this.flowParseDeclareTypeAlias(e) : this.isContextual('opaque') ? this.flowParseDeclareOpaqueType(e) : this.isContextual('interface') ? this.flowParseDeclareInterface(e) : this.match(C._export) ? this.flowParseDeclareExportDeclaration(e) : void this.unexpected()
},
te.flowParseDeclareExportDeclaration = function (e) {
if (this.expect(C._export), this.isContextual('opaque')) return e.declaration = this.flowParseDeclare(this.startNode()),
e.default = !1,
this.finishNode(e, 'DeclareExportDeclaration');
throw this.unexpected()
},
te.flowParseDeclareVariable = function (e) {
return this.next(),
e.id = this.flowParseTypeAnnotatableIdentifier(),
this.semicolon(),
this.finishNode(e, 'DeclareVariable')
},
te.flowParseDeclareModule = function (e) {
this.next(),
this.match(C.string) ? e.id = this.parseExprAtom() : e.id = this.parseIdentifier();
var t = e.body = this.startNode(),
n = t.body = [
];
for (this.expect(C.braceL); !this.match(C.braceR); ) {
var r = this.startNode();
if (this.match(C._import)) {
var i = this.lookahead();
'type' !== i.value && 'typeof' !== i.value && this.unexpected(null, 'Imports within a `declare module` body must always be `import type` or `import typeof`'),
this.parseImport(r)
} else this.expectContextual('declare', 'Only declares and type imports are allowed inside declare module'),
r = this.flowParseDeclare(r, !0);
n.push(r)
}
return this.expect(C.braceR),
this.finishNode(t, 'BlockStatement'),
this.finishNode(e, 'DeclareModule')
},
te.flowParseDeclareModuleExports = function (e) {
return this.expectContextual('module'),
this.expect(C.dot),
this.expectContextual('exports'),
e.typeAnnotation = this.flowParseTypeAnnotation(),
this.semicolon(),
this.finishNode(e, 'DeclareModuleExports')
},
te.flowParseDeclareTypeAlias = function (e) {
return this.next(),
this.flowParseTypeAlias(e),
this.finishNode(e, 'DeclareTypeAlias')
},
te.flowParseDeclareOpaqueType = function (e) {
return this.next(),
this.flowParseOpaqueType(e, !0),
this.finishNode(e, 'DeclareOpaqueType')
},
te.flowParseDeclareInterface = function (e) {
return this.next(),
this.flowParseInterfaceish(e),
this.finishNode(e, 'DeclareInterface')
},
te.flowParseInterfaceish = function (e) {
if (e.id = this.parseIdentifier(), this.isRelational('<') ? e.typeParameters = this.flowParseTypeParameterDeclaration() : e.typeParameters = null, e.extends = [
], e.mixins = [
], this.eat(C._extends)) do {
e.extends.push(this.flowParseInterfaceExtends())
} while (this.eat(C.comma));
if (this.isContextual('mixins')) {
this.next();
do {
e.mixins.push(this.flowParseInterfaceExtends())
} while (this.eat(C.comma))
}
e.body = this.flowParseObjectType(!0, !1, !1)
},
te.flowParseInterfaceExtends = function () {
var e = this.startNode();
return e.id = this.flowParseQualifiedTypeIdentifier(),
this.isRelational('<') ? e.typeParameters = this.flowParseTypeParameterInstantiation() : e.typeParameters = null,
this.finishNode(e, 'InterfaceExtends')
},
te.flowParseInterface = function (e) {
return this.flowParseInterfaceish(e, !1),
this.finishNode(e, 'InterfaceDeclaration')
},
te.flowParseRestrictedIdentifier = function (e) {
return ee.indexOf(this.state.value) > - 1 && this.raise(this.state.start, 'Cannot overwrite primitive type ' + this.state.value),
this.parseIdentifier(e)
},
te.flowParseTypeAlias = function (e) {
return e.id = this.flowParseRestrictedIdentifier(),
this.isRelational('<') ? e.typeParameters = this.flowParseTypeParameterDeclaration() : e.typeParameters = null,
e.right = this.flowParseTypeInitialiser(C.eq),
this.semicolon(),
this.finishNode(e, 'TypeAlias')
},
te.flowParseOpaqueType = function (e, t) {
return this.expectContextual('type'),
e.id = this.flowParseRestrictedIdentifier(),
this.isRelational('<') ? e.typeParameters = this.flowParseTypeParameterDeclaration() : e.typeParameters = null,
e.supertype = null,
this.match(C.colon) && (e.supertype = this.flowParseTypeInitialiser(C.colon)),
e.impltype = null,
t || (e.impltype = this.flowParseTypeInitialiser(C.eq)),
this.semicolon(),
this.finishNode(e, 'OpaqueType')
},
te.flowParseTypeParameter = function () {
var e = this.startNode(),
t = this.flowParseVariance(),
n = this.flowParseTypeAnnotatableIdentifier();
return e.name = n.name,
e.variance = t,
e.bound = n.typeAnnotation,
this.match(C.eq) && (this.eat(C.eq), e.default = this.flowParseType()),
this.finishNode(e, 'TypeParameter')
},
te.flowParseTypeParameterDeclaration = function () {
var e = this.state.inType,
t = this.startNode();
t.params = [
],
this.state.inType = !0,
this.isRelational('<') || this.match(C.jsxTagStart) ? this.next() : this.unexpected();
do {
t.params.push(this.flowParseTypeParameter()),
this.isRelational('>') || this.expect(C.comma)
} while (!this.isRelational('>'));
return this.expectRelational('>'),
this.state.inType = e,
this.finishNode(t, 'TypeParameterDeclaration')
},
te.flowParseTypeParameterInstantiation = function () {
var e = this.startNode(),
t = this.state.inType;
for (e.params = [
], this.state.inType = !0, this.expectRelational('<'); !this.isRelational('>'); ) e.params.push(this.flowParseType()),
this.isRelational('>') || this.expect(C.comma);
return this.expectRelational('>'),
this.state.inType = t,
this.finishNode(e, 'TypeParameterInstantiation')
},
te.flowParseObjectPropertyKey = function () {
return this.match(C.num) || this.match(C.string) ? this.parseExprAtom() : this.parseIdentifier(!0)
},
te.flowParseObjectTypeIndexer = function (e, t, n) {
return e.static = t,
this.expect(C.bracketL),
this.lookahead().type === C.colon ? (e.id = this.flowParseObjectPropertyKey(), e.key = this.flowParseTypeInitialiser()) : (e.id = null, e.key = this.flowParseType()),
this.expect(C.bracketR),
e.value = this.flowParseTypeInitialiser(),
e.variance = n,
this.flowObjectTypeSemicolon(),
this.finishNode(e, 'ObjectTypeIndexer')
},
te.flowParseObjectTypeMethodish = function (e) {
for (e.params = [
], e.rest = null, e.typeParameters = null, this.isRelational('<') && (e.typeParameters = this.flowParseTypeParameterDeclaration()), this.expect(C.parenL); !this.match(C.parenR) && !this.match(C.ellipsis); ) e.params.push(this.flowParseFunctionTypeParam()),
this.match(C.parenR) || this.expect(C.comma);
return this.eat(C.ellipsis) && (e.rest = this.flowParseFunctionTypeParam()),
this.expect(C.parenR),
e.returnType = this.flowParseTypeInitialiser(),
this.finishNode(e, 'FunctionTypeAnnotation')
},
te.flowParseObjectTypeMethod = function (e, t, n, r) {
var i = this.startNodeAt(e, t);
return i.value = this.flowParseObjectTypeMethodish(this.startNodeAt(e, t)),
i.static = n,
i.key = r,
i.optional = !1,
this.flowObjectTypeSemicolon(),
this.finishNode(i, 'ObjectTypeProperty')
},
te.flowParseObjectTypeCallProperty = function (e, t) {
var n = this.startNode();
return e.static = t,
e.value = this.flowParseObjectTypeMethodish(n),
this.flowObjectTypeSemicolon(),
this.finishNode(e, 'ObjectTypeCallProperty')
},
te.flowParseObjectType = function (e, t, n) {
var r = this.state.inType;
this.state.inType = !0;
var i = this.startNode(),
s = void 0,
o = void 0,
a = !1;
i.callProperties = [
],
i.properties = [
],
i.indexers = [
];
var u = void 0,
l = void 0;
for (t && this.match(C.braceBarL) ? (this.expect(C.braceBarL), u = C.braceBarR, l = !0) : (this.expect(C.braceL), u = C.braceR, l = !1), i.exact = l; !this.match(u); ) {
var c = !1,
p = this.state.start,
h = this.state.startLoc;
s = this.startNode(),
e && this.isContextual('static') && this.lookahead().type !== C.colon && (this.next(), a = !0);
var f = this.state.start,
d = this.flowParseVariance();
this.match(C.bracketL) ? i.indexers.push(this.flowParseObjectTypeIndexer(s, a, d)) : this.match(C.parenL) || this.isRelational('<') ? (d && this.unexpected(f), i.callProperties.push(this.flowParseObjectTypeCallProperty(s, a))) : this.match(C.ellipsis) ? (n || this.unexpected(null, 'Spread operator cannot appear in class or interface definitions'), d && this.unexpected(d.start, 'Spread properties cannot have variance'), this.expect(C.ellipsis), s.argument = this.flowParseType(), this.flowObjectTypeSemicolon(), i.properties.push(this.finishNode(s, 'ObjectTypeSpreadProperty'))) : (o = this.flowParseObjectPropertyKey(), this.isRelational('<') || this.match(C.parenL) ? (d && this.unexpected(d.start), i.properties.push(this.flowParseObjectTypeMethod(p, h, a, o))) : (this.eat(C.question) && (c = !0), s.key = o, s.value = this.flowParseTypeInitialiser(), s.optional = c, s.static = a, s.variance = d, this.flowObjectTypeSemicolon(), i.properties.push(this.finishNode(s, 'ObjectTypeProperty')))),
a = !1
}
this.expect(u);
var m = this.finishNode(i, 'ObjectTypeAnnotation');
return this.state.inType = r,
m
},
te.flowObjectTypeSemicolon = function () {
this.eat(C.semi) || this.eat(C.comma) || this.match(C.braceR) || this.match(C.braceBarR) || this.unexpected()
},
te.flowParseQualifiedTypeIdentifier = function (e, t, n) {
e = e || this.state.start,
t = t || this.state.startLoc;
for (var r = n || this.parseIdentifier(); this.eat(C.dot); ) {
var i = this.startNodeAt(e, t);
i.qualification = r,
i.id = this.parseIdentifier(),
r = this.finishNode(i, 'QualifiedTypeIdentifier')
}
return r
},
te.flowParseGenericType = function (e, t, n) {
var r = this.startNodeAt(e, t);
return r.typeParameters = null,
r.id = this.flowParseQualifiedTypeIdentifier(e, t, n),
this.isRelational('<') && (r.typeParameters = this.flowParseTypeParameterInstantiation()),
this.finishNode(r, 'GenericTypeAnnotation')
},
te.flowParseTypeofType = function () {
var e = this.startNode();
return this.expect(C._typeof),
e.argument = this.flowParsePrimaryType(),
this.finishNode(e, 'TypeofTypeAnnotation')
},
te.flowParseTupleType = function () {
var e = this.startNode();
for (e.types = [
], this.expect(C.bracketL); this.state.pos < this.input.length && !this.match(C.bracketR) && (e.types.push(this.flowParseType()), !this.match(C.bracketR)); ) this.expect(C.comma);
return this.expect(C.bracketR),
this.finishNode(e, 'TupleTypeAnnotation')
},
te.flowParseFunctionTypeParam = function () {
var e = null,
t = !1,
n = null,
r = this.startNode(),
i = this.lookahead();
return i.type === C.colon || i.type === C.question ? (e = this.parseIdentifier(), this.eat(C.question) && (t = !0), n = this.flowParseTypeInitialiser()) : n = this.flowParseType(),
r.name = e,
r.optional = t,
r.typeAnnotation = n,
this.finishNode(r, 'FunctionTypeParam')
},
te.reinterpretTypeAsFunctionTypeParam = function (e) {
var t = this.startNodeAt(e.start, e.loc.start);
return t.name = null,
t.optional = !1,
t.typeAnnotation = e,
this.finishNode(t, 'FunctionTypeParam')
},
te.flowParseFunctionTypeParams = function () {
for (var e = {
params: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [
],
rest: null
}; !this.match(C.parenR) && !this.match(C.ellipsis); ) e.params.push(this.flowParseFunctionTypeParam()),
this.match(C.parenR) || this.expect(C.comma);
return this.eat(C.ellipsis) && (e.rest = this.flowParseFunctionTypeParam()),
e
},
te.flowIdentToTypeAnnotation = function (e, t, n, r) {
switch (r.name) {
case 'any':
return this.finishNode(n, 'AnyTypeAnnotation');
case 'void':
return this.finishNode(n, 'VoidTypeAnnotation');
case 'bool':
case 'boolean':
return this.finishNode(n, 'BooleanTypeAnnotation');
case 'mixed':
return this.finishNode(n, 'MixedTypeAnnotation');
case 'empty':
return this.finishNode(n, 'EmptyTypeAnnotation');
case 'number':
return this.finishNode(n, 'NumberTypeAnnotation');
case 'string':
return this.finishNode(n, 'StringTypeAnnotation');
default:
return this.flowParseGenericType(e, t, r)
}
},
te.flowParsePrimaryType = function () {
var e = this.state.start,
t = this.state.startLoc,
n = this.startNode(),
r = void 0,
i = void 0,
s = !1,
o = this.state.noAnonFunctionType;
switch (this.state.type) {
case C.name:
return this.flowIdentToTypeAnnotation(e, t, n, this.parseIdentifier());
case C.braceL:
return this.flowParseObjectType(!1, !1, !0);
case C.braceBarL:
return this.flowParseObjectType(!1, !0, !0);
case C.bracketL:
return this.flowParseTupleType();
case C.relational:
if ('<' === this.state.value) return n.typeParameters = this.flowParseTypeParameterDeclaration(),
this.expect(C.parenL),
r = this.flowParseFunctionTypeParams(),
n.params = r.params,
n.rest = r.rest,
this.expect(C.parenR),
this.expect(C.arrow),
n.returnType = this.flowParseType(),
this.finishNode(n, 'FunctionTypeAnnotation');
break;
case C.parenL:
if (this.next(), !this.match(C.parenR) && !this.match(C.ellipsis)) if (this.match(C.name)) {
var a = this.lookahead().type;
s = a !== C.question && a !== C.colon
} else s = !0;
if (s) {
if (this.state.noAnonFunctionType = !1, i = this.flowParseType(), this.state.noAnonFunctionType = o, this.state.noAnonFunctionType || !(this.match(C.comma) || this.match(C.parenR) && this.lookahead().type === C.arrow)) return this.expect(C.parenR),
i;
this.eat(C.comma)
}
return r = i ? this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(i)]) : this.flowParseFunctionTypeParams(),
n.params = r.params,
n.rest = r.rest,
this.expect(C.parenR),
this.expect(C.arrow),
n.returnType = this.flowParseType(),
n.typeParameters = null,
this.finishNode(n, 'FunctionTypeAnnotation');
case C.string:
return this.parseLiteral(this.state.value, 'StringLiteralTypeAnnotation');
case C._true:
case C._false:
return n.value = this.match(C._true),
this.next(),
this.finishNode(n, 'BooleanLiteralTypeAnnotation');
case C.plusMin:
if ('-' === this.state.value) return this.next(),
this.match(C.num) || this.unexpected(null, 'Unexpected token, expected number'),
this.parseLiteral( - this.state.value, 'NumericLiteralTypeAnnotation', n.start, n.loc.start);
this.unexpected();
case C.num:
return this.parseLiteral(this.state.value, 'NumericLiteralTypeAnnotation');
case C._null:
return n.value = this.match(C._null),
this.next(),
this.finishNode(n, 'NullLiteralTypeAnnotation');
case C._this:
return n.value = this.match(C._this),
this.next(),
this.finishNode(n, 'ThisTypeAnnotation');
case C.star:
return this.next(),
this.finishNode(n, 'ExistentialTypeParam');
default:
if ('typeof' === this.state.type.keyword) return this.flowParseTypeofType()
}
this.unexpected()
},
te.flowParsePostfixType = function () {
for (var e = this.state.start, t = this.state.startLoc, n = this.flowParsePrimaryType(); !this.canInsertSemicolon() && this.match(C.bracketL); ) {
var r = this.startNodeAt(e, t);
r.elementType = n,
this.expect(C.bracketL),
this.expect(C.bracketR),
n = this.finishNode(r, 'ArrayTypeAnnotation')
}
return n
},
te.flowParsePrefixType = function () {
var e = this.startNode();
return this.eat(C.question) ? (e.typeAnnotation = this.flowParsePrefixType(), this.finishNode(e, 'NullableTypeAnnotation')) : this.flowParsePostfixType()
},
te.flowParseAnonFunctionWithoutParens = function () {
var e = this.flowParsePrefixType();
if (!this.state.noAnonFunctionType && this.eat(C.arrow)) {
var t = this.startNodeAt(e.start, e.loc.start);
return t.params = [
this.reinterpretTypeAsFunctionTypeParam(e)
],
t.rest = null,
t.returnType = this.flowParseType(),
t.typeParameters = null,
this.finishNode(t, 'FunctionTypeAnnotation')
}
return e
},
te.flowParseIntersectionType = function () {
var e = this.startNode();
this.eat(C.bitwiseAND);
var t = this.flowParseAnonFunctionWithoutParens();
for (e.types = [
t
]; this.eat(C.bitwiseAND); ) e.types.push(this.flowParseAnonFunctionWithoutParens());
return 1 === e.types.length ? t : this.finishNode(e, 'IntersectionTypeAnnotation')
},
te.flowParseUnionType = function () {
var e = this.startNode();
this.eat(C.bitwiseOR);
var t = this.flowParseIntersectionType();
for (e.types = [
t
]; this.eat(C.bitwiseOR); ) e.types.push(this.flowParseIntersectionType());
return 1 === e.types.length ? t : this.finishNode(e, 'UnionTypeAnnotation')
},
te.flowParseType = function () {
var e = this.state.inType;
this.state.inType = !0;
var t = this.flowParseUnionType();
return this.state.inType = e,
t
},
te.flowParseTypeAnnotation = function () {
var e = this.startNode();
return e.typeAnnotation = this.flowParseTypeInitialiser(),
this.finishNode(e, 'TypeAnnotation')
},
te.flowParseTypeAndPredicateAnnotation = function () {
var e = this.startNode(),
t = this.flowParseTypeAndPredicateInitialiser();
return e.typeAnnotation = t[0],
e.predicate = t[1],
this.finishNode(e, 'TypeAnnotation')
},
te.flowParseTypeAnnotatableIdentifier = function () {
var e = this.flowParseRestrictedIdentifier();
return this.match(C.colon) && (e.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(e, e.type)),
e
},
te.typeCastToParameter = function (e) {
return e.expression.typeAnnotation = e.typeAnnotation,
this.finishNodeAt(e.expression, e.expression.type, e.typeAnnotation.end, e.typeAnnotation.loc.end)
},
te.flowParseVariance = function () {
var e = null;
return this.match(C.plusMin) && ('+' === this.state.value ? e = 'plus' : '-' === this.state.value && (e = 'minus'), this.next()),
e
};
var ne = String.fromCodePoint;
if (!ne) {
var re = String.fromCharCode,
ie = Math.floor;
ne = function () {
var e = [
],
t = void 0,
n = void 0,
r = - 1,
i = arguments.length;
if (!i) return '';
for (var s = ''; ++r < i; ) {
var o = Number(arguments[r]);
if (!isFinite(o) || o < 0 || o > 1114111 || ie(o) != o) throw RangeError('Invalid code point: ' + o);
o <= 65535 ? e.push(o) : (t = 55296 + ((o -= 65536) >> 10), n = o % 1024 + 56320, e.push(t, n)),
(r + 1 == i || e.length > 16384) && (s += re.apply(null, e), e.length = 0)
}
return s
}
}
var se = ne,
oe = {
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: '♦'
},
ae = /^[\da-fA-F]+$/,
ue = /^\d+$/;
O.j_oTag = new F('...', !0, !0),
C.jsxName = new A('jsxName'),
C.jsxText = new A('jsxText', {
beforeExpr: !0
}),
C.jsxTagStart = new A('jsxTagStart', {
startsExpr: !0
}),
C.jsxTagEnd = new A('jsxTagEnd'),
C.jsxTagStart.updateContext = function () {
this.state.context.push(O.j_expr),
this.state.context.push(O.j_oTag),
this.state.exprAllowed = !1
},
C.jsxTagEnd.updateContext = function (e) {
var t = this.state.context.pop();
t === O.j_oTag && e === C.slash || t === O.j_cTag ? (this.state.context.pop(), this.state.exprAllowed = this.curContext() === O.j_expr) : this.state.exprAllowed = !0
};
var le = j.prototype;
function ce(e) {
return 'JSXIdentifier' === e.type ? e.name : 'JSXNamespacedName' === e.type ? e.namespace.name + ':' + e.name.name : 'JSXMemberExpression' === e.type ? ce(e.object) + '.' + ce(e.property) : void 0
}
le.jsxReadToken = function () {
for (var e = '', t = this.state.pos; ; ) {
this.state.pos >= this.input.length && this.raise(this.state.start, 'Unterminated JSX contents');
var n = this.input.charCodeAt(this.state.pos);
switch (n) {
case 60:
case 123:
return this.state.pos === this.state.start ? 60 === n && this.state.exprAllowed ? (++this.state.pos, this.finishToken(C.jsxTagStart)) : this.getTokenFromCode(n) : (e += this.input.slice(t, this.state.pos), this.finishToken(C.jsxText, e));
case 38:
e += this.input.slice(t, this.state.pos),
e += this.jsxReadEntity(),
t = this.state.pos;
break;
default:
S(n) ? (e += this.input.slice(t, this.state.pos), e += this.jsxReadNewLine(!0), t = this.state.pos) : ++this.state.pos
}
}
},
le.jsxReadNewLine = function (e) {
var t = this.input.charCodeAt(this.state.pos),
n = void 0;
return ++this.state.pos,
13 === t && 10 === this.input.charCodeAt(this.state.pos) ? (++this.state.pos, n = e ? '\n' : '\r\n') : n = String.fromCharCode(t),
++this.state.curLine,
this.state.lineStart = this.state.pos,
n
},
le.jsxReadString = function (e) {
for (var t = '', n = ++this.state.pos; ; ) {
this.state.pos >= this.input.length && this.raise(this.state.start, 'Unterminated string constant');
var r = this.input.charCodeAt(this.state.pos);
if (r === e) break;
38 === r ? (t += this.input.slice(n, this.state.pos), t += this.jsxReadEntity(), n = this.state.pos) : S(r) ? (t += this.input.slice(n, this.state.pos), t += this.jsxReadNewLine(!1), n = this.state.pos) : ++this.state.pos
}
return t += this.input.slice(n, this.state.pos++),
this.finishToken(C.string, t)
},
le.jsxReadEntity = function () {
for (var e = '', t = 0, n = void 0, r = this.input[this.state.pos], i = ++this.state.pos; this.state.pos < this.input.length && t++ < 10; ) {
if (';' === (r = this.input[this.state.pos++])) {
'#' === e[0] ? 'x' === e[1] ? (e = e.substr(2), ae.test(e) && (n = se(parseInt(e, 16)))) : (e = e.substr(1), ue.test(e) && (n = se(parseInt(e, 10)))) : n = oe[e];
break
}
e += r
}
return n || (this.state.pos = i, '&')
},
le.jsxReadWord = function () {
var e = void 0,
t = this.state.pos;
do {
e = this.input.charCodeAt(++this.state.pos)
} while (d(e) || 45 === e);
return this.finishToken(C.jsxName, this.input.slice(t, this.state.pos))
},
le.jsxParseIdentifier = function () {
var e = this.startNode();
return this.match(C.jsxName) ? e.name = this.state.value : this.state.type.keyword ? e.name = this.state.type.keyword : this.unexpected(),
this.next(),
this.finishNode(e, 'JSXIdentifier')
},
le.jsxParseNamespacedName = function () {
var e = this.state.start,
t = this.state.startLoc,
n = this.jsxParseIdentifier();
if (!this.eat(C.colon)) return n;
var r = this.startNodeAt(e, t);
return r.namespace = n,
r.name = this.jsxParseIdentifier(),
this.finishNode(r, 'JSXNamespacedName')
},
le.jsxParseElementName = function () {
for (var e = this.state.start, t = this.state.startLoc, n = this.jsxParseNamespacedName(); this.eat(C.dot); ) {
var r = this.startNodeAt(e, t);
r.object = n,
r.property = this.jsxParseIdentifier(),
n = this.finishNode(r, 'JSXMemberExpression')
}
return n
},
le.jsxParseAttributeValue = function () {
var e = void 0;
switch (this.state.type) {
case C.braceL:
if ('JSXEmptyExpression' !== (e = this.jsxParseExpressionContainer()).expression.type) return e;
this.raise(e.start, 'JSX attributes must only be assigned a non-empty expression');
case C.jsxTagStart:
case C.string:
return (e = this.parseExprAtom()).extra = null,
e;
default:
this.raise(this.state.start, 'JSX value should be either an expression or a quoted JSX text')
}
},
le.jsxParseEmptyExpression = function () {
var e = this.startNodeAt(this.state.lastTokEnd, this.state.lastTokEndLoc);
return this.finishNodeAt(e, 'JSXEmptyExpression', this.state.start, this.state.startLoc)
},
le.jsxParseSpreadChild = function () {
var e = this.startNode();
return this.expect(C.braceL),
this.expect(C.ellipsis),
e.expression = this.parseExpression(),
this.expect(C.braceR),
this.finishNode(e, 'JSXSpreadChild')
},
le.jsxParseExpressionContainer = function () {
var e = this.startNode();
return this.next(),
this.match(C.braceR) ? e.expression = this.jsxParseEmptyExpression() : e.expression = this.parseExpression(),
this.expect(C.braceR),
this.finishNode(e, 'JSXExpressionContainer')
},
le.jsxParseAttribute = function () {
var e = this.startNode();
return this.eat(C.braceL) ? (this.expect(C.ellipsis), e.argument = this.parseMaybeAssign(), this.expect(C.braceR), this.finishNode(e, 'JSXSpreadAttribute')) : (e.name = this.jsxParseNamespacedName(), e.value = this.eat(C.eq) ? this.jsxParseAttributeValue() : null, this.finishNode(e, 'JSXAttribute'))
},
le.jsxParseOpeningElementAt = function (e, t) {
var n = this.startNodeAt(e, t);
for (n.attributes = [
], n.name = this.jsxParseElementName(); !this.match(C.slash) && !this.match(C.jsxTagEnd); ) n.attributes.push(this.jsxParseAttribute());
return n.selfClosing = this.eat(C.slash),
this.expect(C.jsxTagEnd),
this.finishNode(n, 'JSXOpeningElement')
},
le.jsxParseClosingElementAt = function (e, t) {
var n = this.startNodeAt(e, t);
return n.name = this.jsxParseElementName(),
this.expect(C.jsxTagEnd),
this.finishNode(n, 'JSXClosingElement')
},
le.jsxParseElementAt = function (e, t) {
var n = this.startNodeAt(e, t),
r = [
],
i = this.jsxParseOpeningElementAt(e, t),
s = null;
if (!i.selfClosing) {
e: for (; ; ) switch (this.state.type) {
case C.jsxTagStart:
if (e = this.state.start, t = this.state.startLoc, this.next(), this.eat(C.slash)) {
s = this.jsxParseClosingElementAt(e, t);
break e
}
r.push(this.jsxParseElementAt(e, t));
break;
case C.jsxText:
r.push(this.parseExprAtom());
break;
case C.braceL:
this.lookahead().type === C.ellipsis ? r.push(this.jsxParseSpreadChild()) : r.push(this.jsxParseExpressionContainer());
break;
default:
this.unexpected()
}
ce(s.name) !== ce(i.name) && this.raise(s.start, 'Expected corresponding JSX closing tag for <' + ce(i.name) + '>')
}
return n.openingElement = i,
n.closingElement = s,
n.children = r,
this.match(C.relational) && '<' === this.state.value && this.raise(this.state.start, 'Adjacent JSX elements must be wrapped in an enclosing tag'),
this.finishNode(n, 'JSXElement')
},
le.jsxParseElement = function () {
var e = this.state.start,
t = this.state.startLoc;
return this.next(),
this.jsxParseElementAt(e, t)
};
L.estree = function (e) {
e.extend('checkDeclaration', function (e) {
return function (t) {
Z(t) ? this.checkDeclaration(t.value) : e.call(this, t)
}
}),
e.extend('checkGetterSetterParamCount', function () {
return function (e) {
var t = 'get' === e.kind ? 0 : 1;
if (e.value.params.length !== t) {
var n = e.start;
'get' === e.kind ? this.raise(n, 'getter should have no params') : this.raise(n, 'setter should have exactly one param')
}
}
}),
e.extend('checkLVal', function (e) {
return function (t, n, r) {
var i = this;
switch (t.type) {
case 'ObjectPattern':
t.properties.forEach(function (e) {
i.checkLVal('Property' === e.type ? e.value : e, n, r, 'object destructuring pattern')
});
break;
default:
for (var s = arguments.length, o = Array(s > 3 ? s - 3 : 0), a = 3; a < s; a++) o[a - 3] = arguments[a];
e.call.apply(e, [
this,
t,
n,
r
].concat(o))
}
}
}),
e.extend('checkPropClash', function () {
return function (e, t) {
if (!e.computed && Z(e)) {
var n = e.key;
'__proto__' === ('Identifier' === n.type ? n.name : String(n.value)) && (t.proto && this.raise(n.start, 'Redefinition of __proto__ property'), t.proto = !0)
}
}
}),
e.extend('isStrictBody', function () {
return function (e, t) {
if (!t && e.body.body.length > 0) {
var n = e.body.body,
r = Array.isArray(n),
i = 0;
for (n = r ? n : n[Symbol.iterator](); ; ) {
var s;
if (r) {
if (i >= n.length) break;
s = n[i++]
} else {
if ((i = n.next()).done) break;
s = i.value
}
var o = s;
if ('ExpressionStatement' !== o.type || 'Literal' !== o.expression.type) break;
if ('use strict' === o.expression.value) return !0
}
}
return !1
}
}),
e.extend('isValidDirective', function () {
return function (e) {
return !('ExpressionStatement' !== e.type || 'Literal' !== e.expression.type || 'string' != typeof e.expression.value || e.expression.extra && e.expression.extra.parenthesized)
}
}),
e.extend('stmtToDirective', function (e) {
return function (t) {
var n = e.call(this, t),
r = t.expression.value;
return n.value.value = r,
n
}
}),
e.extend('parseBlockBody', function (e) {
return function (t) {
for (var n = this, r = arguments.length, i = Array(r > 1 ? r - 1 : 0), s = 1; s < r; s++) i[s - 1] = arguments[s];
e.call.apply(e, [
this,
t
].concat(i)),
t.directives.reverse().forEach(function (e) {
t.body.unshift(n.directiveToStmt(e))
}),
delete t.directives
}
}),
e.extend('parseClassMethod', function () {
return function (e, t, n, r) {
this.parseMethod(t, n, r),
t.typeParameters && (t.value.typeParameters = t.typeParameters, delete t.typeParameters),
e.body.push(this.finishNode(t, 'MethodDefinition'))
}
}),
e.extend('parseExprAtom', function (e) {
return function () {
switch (this.state.type) {
case C.regexp:
return this.estreeParseRegExpLiteral(this.state.value);
case C.num:
case C.string:
return this.estreeParseLiteral(this.state.value);
case C._null:
return this.estreeParseLiteral(null);
case C._true:
return this.estreeParseLiteral(!0);
case C._false:
return this.estreeParseLiteral(!1);
default:
for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
return e.call.apply(e, [
this
].concat(n))
}
}
}),
e.extend('parseLiteral', function (e) {
return function () {
for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
var i = e.call.apply(e, [
this
].concat(n));
return i.raw = i.extra.raw,
delete i.extra,
i
}
}),
e.extend('parseMethod', function (e) {
return function (t) {
var n = this.startNode();
n.kind = t.kind;
for (var r = arguments.length, i = Array(r > 1 ? r - 1 : 0), s = 1; s < r; s++) i[s - 1] = arguments[s];
return delete (n = e.call.apply(e, [
this,
n
].concat(i))).kind,
t.value = this.finishNode(n, 'FunctionExpression'),
t
}
}),
e.extend('parseObjectMethod', function (e) {
return function () {
for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
var i = e.call.apply(e, [
this
].concat(n));
return i && ('method' === i.kind && (i.kind = 'init'), i.type = 'Property'),
i
}
}),
e.extend('parseObjectProperty', function (e) {
return function () {
for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
var i = e.call.apply(e, [
this
].concat(n));
return i && (i.kind = 'init', i.type = 'Property'),
i
}
}),
e.extend('toAssignable', function (e) {
return function (t, n) {
for (var r = arguments.length, i = Array(r > 2 ? r - 2 : 0), s = 2; s < r; s++) i[s - 2] = arguments[s];
if (Z(t)) return this.toAssignable.apply(this, [
t.value,
n
].concat(i)),
t;
if ('ObjectExpression' === t.type) {
t.type = 'ObjectPattern';
var o = t.properties,
a = Array.isArray(o),
u = 0;
for (o = a ? o : o[Symbol.iterator](); ; ) {
var l;
if (a) {
if (u >= o.length) break;
l = o[u++]
} else {
if ((u = o.next()).done) break;
l = u.value
}
var c = l;
'get' === c.kind || 'set' === c.kind ? this.raise(c.key.start, 'Object pattern can\'t contain getter or setter') : c.method ? this.raise(c.key.start, 'Object pattern can\'t contain methods') : this.toAssignable(c, n, 'object destructuring pattern')
}
return t
}
return e.call.apply(e, [
this,
t,
n
].concat(i))
}
})
},
L.flow = function (e) {
e.extend('parseFunctionBody', function (e) {
return function (t, n) {
return this.match(C.colon) && !n && (t.returnType = this.flowParseTypeAndPredicateAnnotation()),
e.call(this, t, n)
}
}),
e.extend('parseStatement', function (e) {
return function (t, n) {
if (this.state.strict && this.match(C.name) && 'interface' === this.state.value) {
var r = this.startNode();
return this.next(),
this.flowParseInterface(r)
}
return e.call(this, t, n)
}
}),
e.extend('parseExpressionStatement', function (e) {
return function (t, n) {
if ('Identifier' === n.type) if ('declare' === n.name) {
if (this.match(C._class) || this.match(C.name) || this.match(C._function) || this.match(C._var) || this.match(C._export)) return this.flowParseDeclare(t)
} else if (this.match(C.name)) {
if ('interface' === n.name) return this.flowParseInterface(t);
if ('type' === n.name) return this.flowParseTypeAlias(t);
if ('opaque' === n.name) return this.flowParseOpaqueType(t, !1)
}
return e.call(this, t, n)
}
}),
e.extend('shouldParseExportDeclaration', function (e) {
return function () {
return this.isContextual('type') || this.isContextual('interface') || this.isContextual('opaque') || e.call(this)
}
}),
e.extend('isExportDefaultSpecifier', function (e) {
return function () {
return (!this.match(C.name) || 'type' !== this.state.value && 'interface' !== this.state.value && 'opaque' !== this.state.value) && e.call(this)
}
}),
e.extend('parseConditional', function (e) {
return function (t, n, r, i, s) {
if (s && this.match(C.question)) {
var o = this.state.clone();
try {
return e.call(this, t, n, r, i)
} catch (e) {
if (e instanceof SyntaxError) return this.state = o,
s.start = e.pos || this.state.start,
t;
throw e
}
}
return e.call(this, t, n, r, i)
}
}),
e.extend('parseParenItem', function (e) {
return function (t, n, r) {
if (t = e.call(this, t, n, r), this.eat(C.question) && (t.optional = !0), this.match(C.colon)) {
var i = this.startNodeAt(n, r);
return i.expression = t,
i.typeAnnotation = this.flowParseTypeAnnotation(),
this.finishNode(i, 'TypeCastExpression')
}
return t
}
}),
e.extend('parseExport', function (e) {
return function (t) {
return 'ExportNamedDeclaration' === (t = e.call(this, t)).type && (t.exportKind = t.exportKind || 'value'),
t
}
}),
e.extend('parseExportDeclaration', function (e) {
return function (t) {
if (this.isContextual('type')) {
t.exportKind = 'type';
var n = this.startNode();
return this.next(),
this.match(C.braceL) ? (t.specifiers = this.parseExportSpecifiers(), this.parseExportFrom(t), null) : this.flowParseTypeAlias(n)
}
if (this.isContextual('opaque')) {
t.exportKind = 'type';
var r = this.startNode();
return this.next(),
this.flowParseOpaqueType(r, !1)
}
if (this.isContextual('interface')) {
t.exportKind = 'type';
var i = this.startNode();
return this.next(),
this.flowParseInterface(i)
}
return e.call(this, t)
}
}),
e.extend('parseClassId', function (e) {
return function (t) {
e.apply(this, arguments),
this.isRelational('<') && (t.typeParameters = this.flowParseTypeParameterDeclaration())
}
}),
e.extend('isKeyword', function (e) {
return function (t) {
return (!this.state.inType || 'void' !== t) && e.call(this, t)
}
}),
e.extend('readToken', function (e) {
return function (t) {
return !this.state.inType || 62 !== t && 60 !== t ? e.call(this, t) : this.finishOp(C.relational, 1)
}
}),
e.extend('jsx_readToken', function (e) {
return function () {
if (!this.state.inType) return e.call(this)
}
}),
e.extend('toAssignable', function (e) {
return function (t, n, r) {
return 'TypeCastExpression' === t.type ? e.call(this, this.typeCastToParameter(t), n, r) : e.call(this, t, n, r)
}
}),
e.extend('toAssignableList', function (e) {
return function (t, n, r) {
for (var i = 0; i < t.length; i++) {
var s = t[i];
s && 'TypeCastExpression' === s.type && (t[i] = this.typeCastToParameter(s))
}
return e.call(this, t, n, r)
}
}),
e.extend('toReferencedList', function () {
return function (e) {
for (var t = 0; t < e.length; t++) {
var n = e[t];
n && n._exprListItem && 'TypeCastExpression' === n.type && this.raise(n.start, 'Unexpected type cast')
}
return e
}
}),
e.extend('parseExprListItem', function (e) {
return function () {
for (var t = this.startNode(), n = arguments.length, r = Array(n), i = 0; i < n; i++) r[i] = arguments[i];
var s = e.call.apply(e, [
this
].concat(r));
return this.match(C.colon) ? (t._exprListItem = !0, t.expression = s, t.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(t, 'TypeCastExpression')) : s
}
}),
e.extend('checkLVal', function (e) {
return function (t) {
if ('TypeCastExpression' !== t.type) return e.apply(this, arguments)
}
}),
e.extend('parseClassProperty', function (e) {
return function (t) {
return delete t.variancePos,
this.match(C.colon) && (t.typeAnnotation = this.flowParseTypeAnnotation()),
e.call(this, t)
}
}),
e.extend('isClassMethod', function (e) {
return function () {
return this.isRelational('<') || e.call(this)
}
}),
e.extend('isClassProperty', function (e) {
return function () {
return this.match(C.colon) || e.call(this)
}
}),
e.extend('isNonstaticConstructor', function (e) {
return function (t) {
return !this.match(C.colon) && e.call(this, t)
}
}),
e.extend('parseClassMethod', function (e) {
return function (t, n) {
n.variance && this.unexpected(n.variancePos),
delete n.variance,
delete n.variancePos,
this.isRelational('<') && (n.typeParameters = this.flowParseTypeParameterDeclaration());
for (var r = arguments.length, i = Array(r > 2 ? r - 2 : 0), s = 2; s < r; s++) i[s - 2] = arguments[s];
e.call.apply(e, [
this,
t,
n
].concat(i))
}
}),
e.extend('parseClassSuper', function (e) {
return function (t, n) {
if (e.call(this, t, n), t.superClass && this.isRelational('<') && (t.superTypeParameters = this.flowParseTypeParameterInstantiation()), this.isContextual('implements')) {
this.next();
var r = t.implements = [
];
do {
var i = this.startNode();
i.id = this.parseIdentifier(),
this.isRelational('<') ? i.typeParameters = this.flowParseTypeParameterInstantiation() : i.typeParameters = null,
r.push(this.finishNode(i, 'ClassImplements'))
} while (this.eat(C.comma))
}
}
}),
e.extend('parsePropertyName', function (e) {
return function (t) {
var n = this.state.start,
r = this.flowParseVariance(),
i = e.call(this, t);
return t.variance = r,
t.variancePos = n,
i
}
}),
e.extend('parseObjPropValue', function (e) {
return function (t) {
t.variance && this.unexpected(t.variancePos),
delete t.variance,
delete t.variancePos;
var n = void 0;
this.isRelational('<') && (n = this.flowParseTypeParameterDeclaration(), this.match(C.parenL) || this.unexpected()),
e.apply(this, arguments),
n && ((t.value || t).typeParameters = n)
}
}),
e.extend('parseAssignableListItemTypes', function () {
return function (e) {
return this.eat(C.question) && (e.optional = !0),
this.match(C.colon) && (e.typeAnnotation = this.flowParseTypeAnnotation()),
this.finishNode(e, e.type),
e
}
}),
e.extend('parseMaybeDefault', function (e) {
return function () {
for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
var i = e.apply(this, n);
return 'AssignmentPattern' === i.type && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(i.typeAnnotation.start, 'Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`'),
i
}
}),
e.extend('parseImportSpecifiers', function (e) {
return function (t) {
t.importKind = 'value';
var n = null;
if (this.match(C._typeof) ? n = 'typeof' : this.isContextual('type') && (n = 'type'), n) {
var r = this.lookahead();
(r.type === C.name && 'from' !== r.value || r.type === C.braceL || r.type === C.star) && (this.next(), t.importKind = n)
}
e.call(this, t)
}
}),
e.extend('parseImportSpecifier', function () {
return function (e) {
var t = this.startNode(),
n = this.state.start,
r = this.parseIdentifier(!0),
i = null;
'type' === r.name ? i = 'type' : 'typeof' === r.name && (i = 'typeof');
var s = !1;
if (this.isContextual('as')) {
var o = this.parseIdentifier(!0);
null === i || this.match(C.name) || this.state.type.keyword ? (t.imported = r, t.importKind = null, t.local = this.parseIdentifier()) : (t.imported = o, t.importKind = i, t.local = o.__clone())
} else null !== i && (this.match(C.name) || this.state.type.keyword) ? (t.imported = this.parseIdentifier(!0), t.importKind = i, this.eatContextual('as') ? t.local = this.parseIdentifier() : (s = !0, t.local = t.imported.__clone())) : (s = !0, t.imported = r, t.importKind = null, t.local = t.imported.__clone());
'type' !== e.importKind && 'typeof' !== e.importKind || 'type' !== t.importKind && 'typeof' !== t.importKind || this.raise(n, '`The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements`'),
s && this.checkReservedWord(t.local.name, t.start, !0, !0),
this.checkLVal(t.local, !0, void 0, 'import specifier'),
e.specifiers.push(this.finishNode(t, 'ImportSpecifier'))
}
}),
e.extend('parseFunctionParams', function (e) {
return function (t) {
this.isRelational('<') && (t.typeParameters = this.flowParseTypeParameterDeclaration()),
e.call(this, t)
}
}),
e.extend('parseVarHead', function (e) {
return function (t) {
e.call(this, t),
this.match(C.colon) && (t.id.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(t.id, t.id.type))
}
}),
e.extend('parseAsyncArrowFromCallExpression', function (e) {
return function (t, n) {
if (this.match(C.colon)) {
var r = this.state.noAnonFunctionType;
this.state.noAnonFunctionType = !0,
t.returnType = this.flowParseTypeAnnotation(),
this.state.noAnonFunctionType = r
}
return e.call(this, t, n)
}
}),
e.extend('shouldParseAsyncArrow', function (e) {
return function () {
return this.match(C.colon) || e.call(this)
}
}),
e.extend('parseMaybeAssign', function (e) {
return function () {
for (var t = null, n = arguments.length, r = Array(n), i = 0; i < n; i++) r[i] = arguments[i];
if (C.jsxTagStart && this.match(C.jsxTagStart)) {
var s = this.state.clone();
try {
return e.apply(this, r)
} catch (e) {
if (!(e instanceof SyntaxError)) throw e;
this.state = s,
this.state.context.length -= 2,
t = e
}
}
if (null != t || this.isRelational('<')) {
var o = void 0,
a = void 0;
try {
a = this.flowParseTypeParameterDeclaration(),
(o = e.apply(this, r)).typeParameters = a,
o.start = a.start,
o.loc.start = a.loc.start
} catch (e) {
throw t || e
}
if ('ArrowFunctionExpression' === o.type) return o;
if (null != t) throw t;
this.raise(a.start, 'Expected an arrow function after this type parameter declaration')
}
return e.apply(this, r)
}
}),
e.extend('parseArrow', function (e) {
return function (t) {
if (this.match(C.colon)) {
var n = this.state.clone();
try {
var r = this.state.noAnonFunctionType;
this.state.noAnonFunctionType = !0;
var i = this.flowParseTypeAndPredicateAnnotation();
this.state.noAnonFunctionType = r,
this.canInsertSemicolon() && this.unexpected(),
this.match(C.arrow) || this.unexpected(),
t.returnType = i
} catch (e) {
if (!(e instanceof SyntaxError)) throw e;
this.state = n
}
}
return e.call(this, t)
}
}),
e.extend('shouldParseArrow', function (e) {
return function () {
return this.match(C.colon) || e.call(this)
}
})
},
L.jsx = function (e) {
e.extend('parseExprAtom', function (e) {
return function (t) {
if (this.match(C.jsxText)) {
var n = this.parseLiteral(this.state.value, 'JSXText');
return n.extra = null,
n
}
return this.match(C.jsxTagStart) ? this.jsxParseElement() : e.call(this, t)
}
}),
e.extend('readToken', function (e) {
return function (t) {
if (this.state.inPropertyName) return e.call(this, t);
var n = this.curContext();
if (n === O.j_expr) return this.jsxReadToken();
if (n === O.j_oTag || n === O.j_cTag) {
if (f(t)) return this.jsxReadWord();
if (62 === t) return ++this.state.pos,
this.finishToken(C.jsxTagEnd);
if ((34 === t || 39 === t) && n === O.j_oTag) return this.jsxReadString(t)
}
return 60 === t && this.state.exprAllowed ? (++this.state.pos, this.finishToken(C.jsxTagStart)) : e.call(this, t)
}
}),
e.extend('updateContext', function (e) {
return function (t) {
if (this.match(C.braceL)) {
var n = this.curContext();
n === O.j_oTag ? this.state.context.push(O.braceExpression) : n === O.j_expr ? this.state.context.push(O.templateQuasi) : e.call(this, t),
this.state.exprAllowed = !0
} else {
if (!this.match(C.slash) || t !== C.jsxTagStart) return e.call(this, t);
this.state.context.length -= 2,
this.state.context.push(O.j_cTag),
this.state.exprAllowed = !1
}
}
})
},
n.parse = function (e, t) {
return new j(t, e).parse()
},
n.parseExpression = function (e, t) {
var n = new j(t, e);
return n.options.strictMode && (n.state.strict = !0),
n.getExpression()
},
n.tokTypes = C
},
{
}
],
39: [
function (e, t, n) {
'use strict';
n.byteLength = function (e) {
var t = l(e),
n = t[0],
r = t[1];
return 3 * (n + r) / 4 - r
},
n.toByteArray = function (e) {
var t,
n,
r = l(e),
o = r[0],
a = r[1],
u = new s(function (e, t, n) {
return 3 * (t + n) / 4 - n
}(0, o, a)),
c = 0,
p = a > 0 ? o - 4 : o;
for (n = 0; n < p; n += 4) t = i[e.charCodeAt(n)] << 18 | i[e.charCodeAt(n + 1)] << 12 | i[e.charCodeAt(n + 2)] << 6 | i[e.charCodeAt(n + 3)],
u[c++] = t >> 16 & 255,
u[c++] = t >> 8 & 255,
u[c++] = 255 & t;
2 === a && (t = i[e.charCodeAt(n)] << 2 | i[e.charCodeAt(n + 1)] >> 4, u[c++] = 255 & t);
1 === a && (t = i[e.charCodeAt(n)] << 10 | i[e.charCodeAt(n + 1)] << 4 | i[e.charCodeAt(n + 2)] >> 2, u[c++] = t >> 8 & 255, u[c++] = 255 & t);
return u
},
n.fromByteArray = function (e) {
for (var t, n = e.length, i = n % 3, s = [
], o = 0, a = n - i; o < a; o += 16383) s.push(c(e, o, o + 16383 > a ? a : o + 16383));
1 === i ? (t = e[n - 1], s.push(r[t >> 2] + r[t << 4 & 63] + '==')) : 2 === i && (t = (e[n - 2] << 8) + e[n - 1], s.push(r[t >> 10] + r[t >> 4 & 63] + r[t << 2 & 63] + '='));
return s.join('')
};
for (var r = [
], i = [
], s = 'undefined' != typeof Uint8Array ? Uint8Array : Array, o = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', a = 0, u = o.length; a < u; ++a) r[a] = o[a],
i[o.charCodeAt(a)] = a;
function l(e) {
var t = e.length;
if (t % 4 > 0) throw new Error('Invalid string. Length must be a multiple of 4');
var n = e.indexOf('=');
return - 1 === n && (n = t),
[
n,
n === t ? 0 : 4 - n % 4
]
}
function c(e, t, n) {
for (var i, s, o = [
], a = t; a < n; a += 3) i = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (255 & e[a + 2]),
o.push(r[(s = i) >> 18 & 63] + r[s >> 12 & 63] + r[s >> 6 & 63] + r[63 & s]);
return o.join('')
}
i['-'.charCodeAt(0)] = 62,
i['_'.charCodeAt(0)] = 63
},
{
}
],
40: [
function (e, t, n) {
},
{
}
],
41: [
function (e, t, n) {
arguments[4][40][0].apply(n, arguments)
},
{
dup: 40
}
],
42: [
function (e, t, n) {
(function (t) {
'use strict';
var r = e('base64-js'),
i = e('ieee754'),
s = 'function' == typeof Symbol && 'function' == typeof Symbol.for ? Symbol.for('nodejs.util.inspect.custom') : null;
n.Buffer = t,
n.SlowBuffer = function (e) {
+ e != e && (e = 0);
return t.alloc( + e)
},
n.INSPECT_MAX_BYTES = 50;
var o = 2147483647;
function a(e) {
if (e > o) throw new RangeError('The value "' + e + '" is invalid for option "size"');
var n = new Uint8Array(e);
return Object.setPrototypeOf(n, t.prototype),
n
}
function t(e, t, n) {
if ('number' == typeof e) {
if ('string' == typeof t) throw new TypeError('The "string" argument must be of type string. Received type number');
return c(e)
}
return u(e, t, n)
}
function u(e, n, r) {
if ('string' == typeof e) return function (e, n) {
'string' == typeof n && '' !== n || (n = 'utf8');
if (!t.isEncoding(n)) throw new TypeError('Unknown encoding: ' + n);
var r = 0 | f(e, n),
i = a(r),
s = i.write(e, n);
s !== r && (i = i.slice(0, s));
return i
}(e, n);
if (ArrayBuffer.isView(e)) return p(e);
if (null == e) throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof e);
if (M(e, ArrayBuffer) || e && M(e.buffer, ArrayBuffer)) return function (e, n, r) {
if (n < 0 || e.byteLength < n) throw new RangeError('"offset" is outside of buffer bounds');
if (e.byteLength < n + (r || 0)) throw new RangeError('"length" is outside of buffer bounds');
var i;
i = void 0 === n && void 0 === r ? new Uint8Array(e) : void 0 === r ? new Uint8Array(e, n) : new Uint8Array(e, n, r);
return Object.setPrototypeOf(i, t.prototype),
i
}(e, n, r);
if ('number' == typeof e) throw new TypeError('The "value" argument must not be of type number. Received type number');
var i = e.valueOf && e.valueOf();
if (null != i && i !== e) return t.from(i, n, r);
var s = function (e) {
if (t.isBuffer(e)) {
var n = 0 | h(e.length),
r = a(n);
return 0 === r.length ? r : (e.copy(r, 0, 0, n), r)
}
if (void 0 !== e.length) return 'number' != typeof e.length || U(e.length) ? a(0) : p(e);
if ('Buffer' === e.type && Array.isArray(e.data)) return p(e.data)
}(e);
if (s) return s;
if ('undefined' != typeof Symbol && null != Symbol.toPrimitive && 'function' == typeof e[Symbol.toPrimitive]) return t.from(e[Symbol.toPrimitive]('string'), n, r);
throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof e)
}
function l(e) {
if ('number' != typeof e) throw new TypeError('"size" argument must be of type number');
if (e < 0) throw new RangeError('The value "' + e + '" is invalid for option "size"')
}
function c(e) {
return l(e),
a(e < 0 ? 0 : 0 | h(e))
}
function p(e) {
for (var t = e.length < 0 ? 0 : 0 | h(e.length), n = a(t), r = 0; r < t; r += 1) n[r] = 255 & e[r];
return n
}
function h(e) {
if (e >= o) throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x' + o.toString(16) + ' bytes');
return 0 | e
}
function f(e, n) {
if (t.isBuffer(e)) return e.length;
if (ArrayBuffer.isView(e) || M(e, ArrayBuffer)) return e.byteLength;
if ('string' != typeof e) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof e);
var r = e.length,
i = arguments.length > 2 && !0 === arguments[2];
if (!i && 0 === r) return 0;
for (var s = !1; ; ) switch (n) {
case 'ascii':
case 'latin1':
case 'binary':
return r;
case 'utf8':
case 'utf-8':
return L(e).length;
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return 2 * r;
case 'hex':
return r >>> 1;
case 'base64':
return I(e).length;
default:
if (s) return i ? - 1 : L(e).length;
n = ('' + n).toLowerCase(),
s = !0
}
}
function d(e, t, n) {
var r = e[t];
e[t] = e[n],
e[n] = r
}
function m(e, n, r, i, s) {
if (0 === e.length) return - 1;
if ('string' == typeof r ? (i = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < - 2147483648 && (r = - 2147483648), U(r = + r) && (r = s ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length) {
if (s) return - 1;
r = e.length - 1
} else if (r < 0) {
if (!s) return - 1;
r = 0
}
if ('string' == typeof n && (n = t.from(n, i)), t.isBuffer(n)) return 0 === n.length ? - 1 : g(e, n, r, i, s);
if ('number' == typeof n) return n &= 255,
'function' == typeof Uint8Array.prototype.indexOf ? s ? Uint8Array.prototype.indexOf.call(e, n, r) : Uint8Array.prototype.lastIndexOf.call(e, n, r) : g(e, [
n
], r, i, s);
throw new TypeError('val must be string, number or Buffer')
}
function g(e, t, n, r, i) {
var s,
o = 1,
a = e.length,
u = t.length;
if (void 0 !== r && ('ucs2' === (r = String(r).toLowerCase()) || 'ucs-2' === r || 'utf16le' === r || 'utf-16le' === r)) {
if (e.length < 2 || t.length < 2) return - 1;
o = 2,
a /= 2,
u /= 2,
n /= 2
}
function l(e, t) {
return 1 === o ? e[t] : e.readUInt16BE(t * o)
}
if (i) {
var c = - 1;
for (s = n; s < a; s++) if (l(e, s) === l(t, - 1 === c ? 0 : s - c)) {
if ( - 1 === c && (c = s), s - c + 1 === u) return c * o
} else - 1 !== c && (s -= s - c),
c = - 1
} else for (n + u > a && (n = a - u), s = n; s >= 0; s--) {
for (var p = !0, h = 0; h < u; h++) if (l(e, s + h) !== l(t, h)) {
p = !1;
break
}
if (p) return s
}
return - 1
}
function y(e, t, n, r) {
n = Number(n) || 0;
var i = e.length - n;
r ? (r = Number(r)) > i && (r = i) : r = i;
var s = t.length;
r > s / 2 && (r = s / 2);
for (var o = 0; o < r; ++o) {
var a = parseInt(t.substr(2 * o, 2), 16);
if (U(a)) return o;
e[n + o] = a
}
return o
}
function v(e, t, n, r) {
return j(L(t, e.length - n), e, n, r)
}
function b(e, t, n, r) {
return j(function (e) {
for (var t = [
], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n));
return t
}(t), e, n, r)
}
function x(e, t, n, r) {
return b(e, t, n, r)
}
function A(e, t, n, r) {
return j(I(t), e, n, r)
}
function E(e, t, n, r) {
return j(function (e, t) {
for (var n, r, i, s = [
], o = 0; o < e.length && !((t -= 2) < 0); ++o) n = e.charCodeAt(o),
r = n >> 8,
i = n % 256,
s.push(i),
s.push(r);
return s
}(t, e.length - n), e, n, r)
}
function _(e, t, n) {
return 0 === t && n === e.length ? r.fromByteArray(e) : r.fromByteArray(e.slice(t, n))
}
function C(e, t, n) {
n = Math.min(e.length, n);
for (var r = [
], i = t; i < n; ) {
var s,
o,
a,
u,
l = e[i],
c = null,
p = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;
if (i + p <= n) switch (p) {
case 1:
l < 128 && (c = l);
break;
case 2:
128 == (192 & (s = e[i + 1])) && (u = (31 & l) << 6 | 63 & s) > 127 && (c = u);
break;
case 3:
s = e[i + 1],
o = e[i + 2],
128 == (192 & s) && 128 == (192 & o) && (u = (15 & l) << 12 | (63 & s) << 6 | 63 & o) > 2047 && (u < 55296 || u > 57343) && (c = u);
break;
case 4:
s = e[i + 1],
o = e[i + 2],
a = e[i + 3],
128 == (192 & s) && 128 == (192 & o) && 128 == (192 & a) && (u = (15 & l) << 18 | (63 & s) << 12 | (63 & o) << 6 | 63 & a) > 65535 && u < 1114112 && (c = u)
}
null === c ? (c = 65533, p = 1) : c > 65535 && (c -= 65536, r.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c),
r.push(c),
i += p
}
return function (e) {
var t = e.length;
if (t <= w) return String.fromCharCode.apply(String, e);
var n = '',
r = 0;
for (; r < t; ) n += String.fromCharCode.apply(String, e.slice(r, r += w));
return n
}(r)
}
n.kMaxLength = o,
t.TYPED_ARRAY_SUPPORT = function () {
try {
var e = new Uint8Array(1),
t = {
foo: function () {
return 42
}
};
return Object.setPrototypeOf(t, Uint8Array.prototype),
Object.setPrototypeOf(e, t),
42 === e.foo()
} catch (e) {
return !1
}
}(),
t.TYPED_ARRAY_SUPPORT || 'undefined' == typeof console || 'function' != typeof console.error || console.error('This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.'),
Object.defineProperty(t.prototype, 'parent', {
enumerable: !0,
get: function () {
if (t.isBuffer(this)) return this.buffer
}
}),
Object.defineProperty(t.prototype, 'offset', {
enumerable: !0,
get: function () {
if (t.isBuffer(this)) return this.byteOffset
}
}),
'undefined' != typeof Symbol && null != Symbol.species && t[Symbol.species] === t && Object.defineProperty(t, Symbol.species, {
value: null,
configurable: !0,
enumerable: !1,
writable: !1
}),
t.poolSize = 8192,
t.from = function (e, t, n) {
return u(e, t, n)
},
Object.setPrototypeOf(t.prototype, Uint8Array.prototype),
Object.setPrototypeOf(t, Uint8Array),
t.alloc = function (e, t, n) {
return function (e, t, n) {
return l(e),
e <= 0 ? a(e) : void 0 !== t ? 'string' == typeof n ? a(e).fill(t, n) : a(e).fill(t) : a(e)
}(e, t, n)
},
t.allocUnsafe = function (e) {
return c(e)
},
t.allocUnsafeSlow = function (e) {
return c(e)
},
t.isBuffer = function (e) {
return null != e && !0 === e._isBuffer && e !== t.prototype
},
t.compare = function (e, n) {
if (M(e, Uint8Array) && (e = t.from(e, e.offset, e.byteLength)), M(n, Uint8Array) && (n = t.from(n, n.offset, n.byteLength)), !t.isBuffer(e) || !t.isBuffer(n)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');
if (e === n) return 0;
for (var r = e.length, i = n.length, s = 0, o = Math.min(r, i); s < o; ++s) if (e[s] !== n[s]) {
r = e[s],
i = n[s];
break
}
return r < i ? - 1 : i < r ? 1 : 0
},
t.isEncoding = function (e) {
switch (String(e).toLowerCase()) {
case 'hex':
case 'utf8':
case 'utf-8':
case 'ascii':
case 'latin1':
case 'binary':
case 'base64':
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return !0;
default:
return !1
}
},
t.concat = function (e, n) {
if (!Array.isArray(e)) throw new TypeError('"list" argument must be an Array of Buffers');
if (0 === e.length) return t.alloc(0);
var r;
if (void 0 === n) for (n = 0, r = 0; r < e.length; ++r) n += e[r].length;
var i = t.allocUnsafe(n),
s = 0;
for (r = 0; r < e.length; ++r) {
var o = e[r];
if (M(o, Uint8Array) && (o = t.from(o)), !t.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers');
o.copy(i, s),
s += o.length
}
return i
},
t.byteLength = f,
t.prototype._isBuffer = !0,
t.prototype.swap16 = function () {
var e = this.length;
if (e % 2 != 0) throw new RangeError('Buffer size must be a multiple of 16-bits');
for (var t = 0; t < e; t += 2) d(this, t, t + 1);
return this
},
t.prototype.swap32 = function () {
var e = this.length;
if (e % 4 != 0) throw new RangeError('Buffer size must be a multiple of 32-bits');
for (var t = 0; t < e; t += 4) d(this, t, t + 3),
d(this, t + 1, t + 2);
return this
},
t.prototype.swap64 = function () {
var e = this.length;
if (e % 8 != 0) throw new RangeError('Buffer size must be a multiple of 64-bits');
for (var t = 0; t < e; t += 8) d(this, t, t + 7),
d(this, t + 1, t + 6),
d(this, t + 2, t + 5),
d(this, t + 3, t + 4);
return this
},
t.prototype.toString = function () {
var e = this.length;
return 0 === e ? '' : 0 === arguments.length ? C(this, 0, e) : function (e, t, n) {
var r = !1;
if ((void 0 === t || t < 0) && (t = 0), t > this.length) return '';
if ((void 0 === n || n > this.length) && (n = this.length), n <= 0) return '';
if ((n >>>= 0) <= (t >>>= 0)) return '';
for (e || (e = 'utf8'); ; ) switch (e) {
case 'hex':
return S(this, t, n);
case 'utf8':
case 'utf-8':
return C(this, t, n);
case 'ascii':
return D(this, t, n);
case 'latin1':
case 'binary':
return k(this, t, n);
case 'base64':
return _(this, t, n);
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return T(this, t, n);
default:
if (r) throw new TypeError('Unknown encoding: ' + e);
e = (e + '').toLowerCase(),
r = !0
}
}.apply(this, arguments)
},
t.prototype.toLocaleString = t.prototype.toString,
t.prototype.equals = function (e) {
if (!t.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
return this === e || 0 === t.compare(this, e)
},
t.prototype.inspect = function () {
var e = '',
t = n.INSPECT_MAX_BYTES;
return e = this.toString('hex', 0, t).replace(/(.{2})/g, '$1 ').trim(),
this.length > t && (e += ' ... '),
''
},
s && (t.prototype[s] = t.prototype.inspect),
t.prototype.compare = function (e, n, r, i, s) {
if (M(e, Uint8Array) && (e = t.from(e, e.offset, e.byteLength)), !t.isBuffer(e)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof e);
if (void 0 === n && (n = 0), void 0 === r && (r = e ? e.length : 0), void 0 === i && (i = 0), void 0 === s && (s = this.length), n < 0 || r > e.length || i < 0 || s > this.length) throw new RangeError('out of range index');
if (i >= s && n >= r) return 0;
if (i >= s) return - 1;
if (n >= r) return 1;
if (n >>>= 0, r >>>= 0, i >>>= 0, s >>>= 0, this === e) return 0;
for (var o = s - i, a = r - n, u = Math.min(o, a), l = this.slice(i, s), c = e.slice(n, r), p = 0; p < u; ++p) if (l[p] !== c[p]) {
o = l[p],
a = c[p];
break
}
return o < a ? - 1 : a < o ? 1 : 0
},
t.prototype.includes = function (e, t, n) {
return - 1 !== this.indexOf(e, t, n)
},
t.prototype.indexOf = function (e, t, n) {
return m(this, e, t, n, !0)
},
t.prototype.lastIndexOf = function (e, t, n) {
return m(this, e, t, n, !1)
},
t.prototype.write = function (e, t, n, r) {
if (void 0 === t) r = 'utf8',
n = this.length,
t = 0;
else if (void 0 === n && 'string' == typeof t) r = t,
n = this.length,
t = 0;
else {
if (!isFinite(t)) throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
t >>>= 0,
isFinite(n) ? (n >>>= 0, void 0 === r && (r = 'utf8')) : (r = n, n = void 0)
}
var i = this.length - t;
if ((void 0 === n || n > i) && (n = i), e.length > 0 && (n < 0 || t < 0) || t > this.length) throw new RangeError('Attempt to write outside buffer bounds');
r || (r = 'utf8');
for (var s = !1; ; ) switch (r) {
case 'hex':
return y(this, e, t, n);
case 'utf8':
case 'utf-8':
return v(this, e, t, n);
case 'ascii':
return b(this, e, t, n);
case 'latin1':
case 'binary':
return x(this, e, t, n);
case 'base64':
return A(this, e, t, n);
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
return E(this, e, t, n);
default:
if (s) throw new TypeError('Unknown encoding: ' + r);
r = ('' + r).toLowerCase(),
s = !0
}
},
t.prototype.toJSON = function () {
return {
type: 'Buffer',
data: Array.prototype.slice.call(this._arr || this, 0)
}
};
var w = 4096;
function D(e, t, n) {
var r = '';
n = Math.min(e.length, n);
for (var i = t; i < n; ++i) r += String.fromCharCode(127 & e[i]);
return r
}
function k(e, t, n) {
var r = '';
n = Math.min(e.length, n);
for (var i = t; i < n; ++i) r += String.fromCharCode(e[i]);
return r
}
function S(e, t, n) {
var r = e.length;
(!t || t < 0) && (t = 0),
(!n || n < 0 || n > r) && (n = r);
for (var i = '', s = t; s < n; ++s) i += V[e[s]];
return i
}
function T(e, t, n) {
for (var r = e.slice(t, n), i = '', s = 0; s < r.length; s += 2) i += String.fromCharCode(r[s] + 256 * r[s + 1]);
return i
}
function F(e, t, n) {
if (e % 1 != 0 || e < 0) throw new RangeError('offset is not uint');
if (e + t > n) throw new RangeError('Trying to access beyond buffer length')
}
function O(e, n, r, i, s, o) {
if (!t.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
if (n > s || n < o) throw new RangeError('"value" argument is out of bounds');
if (r + i > e.length) throw new RangeError('Index out of range')
}
function B(e, t, n, r, i, s) {
if (n + r > e.length) throw new RangeError('Index out of range');
if (n < 0) throw new RangeError('Index out of range')
}
function P(e, t, n, r, s) {
return t = + t,
n >>>= 0,
s || B(e, 0, n, 4),
i.write(e, t, n, r, 23, 4),
n + 4
}
function N(e, t, n, r, s) {
return t = + t,
n >>>= 0,
s || B(e, 0, n, 8),
i.write(e, t, n, r, 52, 8),
n + 8
}
t.prototype.slice = function (e, n) {
var r = this.length;
e = ~~e,
n = void 0 === n ? r : ~~n,
e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r),
n < 0 ? (n += r) < 0 && (n = 0) : n > r && (n = r),
n < e && (n = e);
var i = this.subarray(e, n);
return Object.setPrototypeOf(i, t.prototype),
i
},
t.prototype.readUIntLE = function (e, t, n) {
e >>>= 0,
t >>>= 0,
n || F(e, t, this.length);
for (var r = this[e], i = 1, s = 0; ++s < t && (i *= 256); ) r += this[e + s] * i;
return r
},
t.prototype.readUIntBE = function (e, t, n) {
e >>>= 0,
t >>>= 0,
n || F(e, t, this.length);
for (var r = this[e + --t], i = 1; t > 0 && (i *= 256); ) r += this[e + --t] * i;
return r
},
t.prototype.readUInt8 = function (e, t) {
return e >>>= 0,
t || F(e, 1, this.length),
this[e]
},
t.prototype.readUInt16LE = function (e, t) {
return e >>>= 0,
t || F(e, 2, this.length),
this[e] | this[e + 1] << 8
},
t.prototype.readUInt16BE = function (e, t) {
return e >>>= 0,
t || F(e, 2, this.length),
this[e] << 8 | this[e + 1]
},
t.prototype.readUInt32LE = function (e, t) {
return e >>>= 0,
t || F(e, 4, this.length),
(this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3]
},
t.prototype.readUInt32BE = function (e, t) {
return e >>>= 0,
t || F(e, 4, this.length),
16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3])
},
t.prototype.readIntLE = function (e, t, n) {
e >>>= 0,
t >>>= 0,
n || F(e, t, this.length);
for (var r = this[e], i = 1, s = 0; ++s < t && (i *= 256); ) r += this[e + s] * i;
return r >= (i *= 128) && (r -= Math.pow(2, 8 * t)),
r
},
t.prototype.readIntBE = function (e, t, n) {
e >>>= 0,
t >>>= 0,
n || F(e, t, this.length);
for (var r = t, i = 1, s = this[e + --r]; r > 0 && (i *= 256); ) s += this[e + --r] * i;
return s >= (i *= 128) && (s -= Math.pow(2, 8 * t)),
s
},
t.prototype.readInt8 = function (e, t) {
return e >>>= 0,
t || F(e, 1, this.length),
128 & this[e] ? - 1 * (255 - this[e] + 1) : this[e]
},
t.prototype.readInt16LE = function (e, t) {
e >>>= 0,
t || F(e, 2, this.length);
var n = this[e] | this[e + 1] << 8;
return 32768 & n ? 4294901760 | n : n
},
t.prototype.readInt16BE = function (e, t) {
e >>>= 0,
t || F(e, 2, this.length);
var n = this[e + 1] | this[e] << 8;
return 32768 & n ? 4294901760 | n : n
},
t.prototype.readInt32LE = function (e, t) {
return e >>>= 0,
t || F(e, 4, this.length),
this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24
},
t.prototype.readInt32BE = function (e, t) {
return e >>>= 0,
t || F(e, 4, this.length),
this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]
},
t.prototype.readFloatLE = function (e, t) {
return e >>>= 0,
t || F(e, 4, this.length),
i.read(this, e, !0, 23, 4)
},
t.prototype.readFloatBE = function (e, t) {
return e >>>= 0,
t || F(e, 4, this.length),
i.read(this, e, !1, 23, 4)
},
t.prototype.readDoubleLE = function (e, t) {
return e >>>= 0,
t || F(e, 8, this.length),
i.read(this, e, !0, 52, 8)
},
t.prototype.readDoubleBE = function (e, t) {
return e >>>= 0,
t || F(e, 8, this.length),
i.read(this, e, !1, 52, 8)
},
t.prototype.writeUIntLE = function (e, t, n, r) {
(e = + e, t >>>= 0, n >>>= 0, r) || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);
var i = 1,
s = 0;
for (this[t] = 255 & e; ++s < n && (i *= 256); ) this[t + s] = e / i & 255;
return t + n
},
t.prototype.writeUIntBE = function (e, t, n, r) {
(e = + e, t >>>= 0, n >>>= 0, r) || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);
var i = n - 1,
s = 1;
for (this[t + i] = 255 & e; --i >= 0 && (s *= 256); ) this[t + i] = e / s & 255;
return t + n
},
t.prototype.writeUInt8 = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 1, 255, 0),
this[t] = 255 & e,
t + 1
},
t.prototype.writeUInt16LE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 2, 65535, 0),
this[t] = 255 & e,
this[t + 1] = e >>> 8,
t + 2
},
t.prototype.writeUInt16BE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 2, 65535, 0),
this[t] = e >>> 8,
this[t + 1] = 255 & e,
t + 2
},
t.prototype.writeUInt32LE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 4, 4294967295, 0),
this[t + 3] = e >>> 24,
this[t + 2] = e >>> 16,
this[t + 1] = e >>> 8,
this[t] = 255 & e,
t + 4
},
t.prototype.writeUInt32BE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 4, 4294967295, 0),
this[t] = e >>> 24,
this[t + 1] = e >>> 16,
this[t + 2] = e >>> 8,
this[t + 3] = 255 & e,
t + 4
},
t.prototype.writeIntLE = function (e, t, n, r) {
if (e = + e, t >>>= 0, !r) {
var i = Math.pow(2, 8 * n - 1);
O(this, e, t, n, i - 1, - i)
}
var s = 0,
o = 1,
a = 0;
for (this[t] = 255 & e; ++s < n && (o *= 256); ) e < 0 && 0 === a && 0 !== this[t + s - 1] && (a = 1),
this[t + s] = (e / o >> 0) - a & 255;
return t + n
},
t.prototype.writeIntBE = function (e, t, n, r) {
if (e = + e, t >>>= 0, !r) {
var i = Math.pow(2, 8 * n - 1);
O(this, e, t, n, i - 1, - i)
}
var s = n - 1,
o = 1,
a = 0;
for (this[t + s] = 255 & e; --s >= 0 && (o *= 256); ) e < 0 && 0 === a && 0 !== this[t + s + 1] && (a = 1),
this[t + s] = (e / o >> 0) - a & 255;
return t + n
},
t.prototype.writeInt8 = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 1, 127, - 128),
e < 0 && (e = 255 + e + 1),
this[t] = 255 & e,
t + 1
},
t.prototype.writeInt16LE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 2, 32767, - 32768),
this[t] = 255 & e,
this[t + 1] = e >>> 8,
t + 2
},
t.prototype.writeInt16BE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 2, 32767, - 32768),
this[t] = e >>> 8,
this[t + 1] = 255 & e,
t + 2
},
t.prototype.writeInt32LE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 4, 2147483647, - 2147483648),
this[t] = 255 & e,
this[t + 1] = e >>> 8,
this[t + 2] = e >>> 16,
this[t + 3] = e >>> 24,
t + 4
},
t.prototype.writeInt32BE = function (e, t, n) {
return e = + e,
t >>>= 0,
n || O(this, e, t, 4, 2147483647, - 2147483648),
e < 0 && (e = 4294967295 + e + 1),
this[t] = e >>> 24,
this[t + 1] = e >>> 16,
this[t + 2] = e >>> 8,
this[t + 3] = 255 & e,
t + 4
},
t.prototype.writeFloatLE = function (e, t, n) {
return P(this, e, t, !0, n)
},
t.prototype.writeFloatBE = function (e, t, n) {
return P(this, e, t, !1, n)
},
t.prototype.writeDoubleLE = function (e, t, n) {
return N(this, e, t, !0, n)
},
t.prototype.writeDoubleBE = function (e, t, n) {
return N(this, e, t, !1, n)
},
t.prototype.copy = function (e, n, r, i) {
if (!t.isBuffer(e)) throw new TypeError('argument should be a Buffer');
if (r || (r = 0), i || 0 === i || (i = this.length), n >= e.length && (n = e.length), n || (n = 0), i > 0 && i < r && (i = r), i === r) return 0;
if (0 === e.length || 0 === this.length) return 0;
if (n < 0) throw new RangeError('targetStart out of bounds');
if (r < 0 || r >= this.length) throw new RangeError('Index out of range');
if (i < 0) throw new RangeError('sourceEnd out of bounds');
i > this.length && (i = this.length),
e.length - n < i - r && (i = e.length - n + r);
var s = i - r;
if (this === e && 'function' == typeof Uint8Array.prototype.copyWithin) this.copyWithin(n, r, i);
else if (this === e && r < n && n < i) for (var o = s - 1; o >= 0; --o) e[o + n] = this[o + r];
else Uint8Array.prototype.set.call(e, this.subarray(r, i), n);
return s
},
t.prototype.fill = function (e, n, r, i) {
if ('string' == typeof e) {
if ('string' == typeof n ? (i = n, n = 0, r = this.length) : 'string' == typeof r && (i = r, r = this.length), void 0 !== i && 'string' != typeof i) throw new TypeError('encoding must be a string');
if ('string' == typeof i && !t.isEncoding(i)) throw new TypeError('Unknown encoding: ' + i);
if (1 === e.length) {
var s = e.charCodeAt(0);
('utf8' === i && s < 128 || 'latin1' === i) && (e = s)
}
} else 'number' == typeof e ? e &= 255 : 'boolean' == typeof e && (e = Number(e));
if (n < 0 || this.length < n || this.length < r) throw new RangeError('Out of range index');
if (r <= n) return this;
var o;
if (n >>>= 0, r = void 0 === r ? this.length : r >>> 0, e || (e = 0), 'number' == typeof e) for (o = n; o < r; ++o) this[o] = e;
else {
var a = t.isBuffer(e) ? e : t.from(e, i),
u = a.length;
if (0 === u) throw new TypeError('The value "' + e + '" is invalid for argument "value"');
for (o = 0; o < r - n; ++o) this[o + n] = a[o % u]
}
return this
};
var R = /[^+/0-9A-Za-z-_]/g;
function L(e, t) {
var n;
t = t || 1 / 0;
for (var r = e.length, i = null, s = [
], o = 0; o < r; ++o) {
if ((n = e.charCodeAt(o)) > 55295 && n < 57344) {
if (!i) {
if (n > 56319) {
(t -= 3) > - 1 && s.push(239, 191, 189);
continue
}
if (o + 1 === r) {
(t -= 3) > - 1 && s.push(239, 191, 189);
continue
}
i = n;
continue
}
if (n < 56320) {
(t -= 3) > - 1 && s.push(239, 191, 189),
i = n;
continue
}
n = 65536 + (i - 55296 << 10 | n - 56320)
} else i && (t -= 3) > - 1 && s.push(239, 191, 189);
if (i = null, n < 128) {
if ((t -= 1) < 0) break;
s.push(n)
} else if (n < 2048) {
if ((t -= 2) < 0) break;
s.push(n >> 6 | 192, 63 & n | 128)
} else if (n < 65536) {
if ((t -= 3) < 0) break;
s.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128)
} else {
if (!(n < 1114112)) throw new Error('Invalid code point');
if ((t -= 4) < 0) break;
s.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128)
}
}
return s
}
function I(e) {
return r.toByteArray(function (e) {
if ((e = (e = e.split('=') [0]).trim().replace(R, '')).length < 2) return '';
for (; e.length % 4 != 0; ) e += '=';
return e
}(e))
}
function j(e, t, n, r) {
for (var i = 0; i < r && !(i + n >= t.length || i >= e.length); ++i) t[i + n] = e[i];
return i
}
function M(e, t) {
return e instanceof t || null != e && null != e.constructor && null != e.constructor.name && e.constructor.name === t.name
}
function U(e) {
return e != e
}
var V = function () {
for (var e = new Array(256), t = 0; t < 16; ++t) for (var n = 16 * t, r = 0; r < 16; ++r) e[n + r] = '0123456789abcdef'[t] + '0123456789abcdef'[r];
return e
}()
}).call(this, e('buffer').Buffer)
},
{
'base64-js': 39,
buffer: 42,
ieee754: 236
}
],
43: [
function (e, t, n) {
'use strict';
var r = e('is-regex'),
i = (n = t.exports = a).TOKEN_TYPES = {
LINE_COMMENT: '//',
BLOCK_COMMENT: '/**/',
SINGLE_QUOTE: '\'',
DOUBLE_QUOTE: '"',
TEMPLATE_QUOTE: '`',
REGEXP: '//g'
},
s = n.BRACKETS = {
'(': ')',
'{': '}',
'[': ']'
},
o = {
')': '(',
'}': '{',
']': '['
};
function a(e, t, r) {
r = r || {
},
t = t || n.defaultState();
for (var i = r.start || 0, s = r.end || e.length, o = i; o < s; ) {
try {
u(e[o], t)
} catch (e) {
throw e.index = o,
e
}
o++
}
return t
}
function u(e, t) {
if (1 !== e.length) throw (l = new Error('Character must be a string of length 1')).name = 'InvalidArgumentError',
l.code = 'CHARACTER_PARSER:CHAR_LENGTH_NOT_ONE',
l;
(t = t || n.defaultState()).src += e;
var r,
a = t.isComment(),
u = t.history ? t.history[0] : '';
switch (t.regexpStart && ('/' !== e && '*' != e || t.stack.pop(), t.regexpStart = !1), t.current()) {
case i.LINE_COMMENT:
'\n' === e && t.stack.pop();
break;
case i.BLOCK_COMMENT:
'*' === t.lastChar && '/' === e && t.stack.pop();
break;
case i.SINGLE_QUOTE:
'\'' !== e || t.escaped ? '\\' !== e || t.escaped ? t.escaped = !1 : t.escaped = !0 : t.stack.pop();
break;
case i.DOUBLE_QUOTE:
'"' !== e || t.escaped ? '\\' !== e || t.escaped ? t.escaped = !1 : t.escaped = !0 : t.stack.pop();
break;
case i.TEMPLATE_QUOTE:
'`' !== e || t.escaped ? '\\' !== e || t.escaped ? '$' !== e || t.escaped ? '{' === e && t.hasDollar ? t.stack.push(s[e]) : (t.escaped = !1, t.hasDollar = !1) : t.hasDollar = !0 : (t.escaped = !0, t.hasDollar = !1) : (t.stack.pop(), t.hasDollar = !1);
break;
case i.REGEXP:
'/' !== e || t.escaped ? '\\' !== e || t.escaped ? t.escaped = !1 : t.escaped = !0 : t.stack.pop();
break;
default:
if (e in s) t.stack.push(s[e]);
else if (e in o) {
var l;
if (t.current() !== e) throw (l = new SyntaxError('Mismatched Bracket: ' + e)).code = 'CHARACTER_PARSER:MISMATCHED_BRACKET',
l;
t.stack.pop()
} else '/' === u && '/' === e ? (t.history = t.history.substr(1), t.stack.push(i.LINE_COMMENT)) : '/' === u && '*' === e ? (t.history = t.history.substr(1), t.stack.push(i.BLOCK_COMMENT)) : '/' === e && (')' !== (r = (r = t.history).replace(/^\s*/, '')) [0] && ('}' === r[0] || p(r[0]) || /^\w+\b/.test(r) && h(/^\w+\b/.exec(r) [0].split('').reverse().join('')))) ? (t.stack.push(i.REGEXP), t.regexpStart = !0) : '\'' === e ? t.stack.push(i.SINGLE_QUOTE) : '"' === e ? t.stack.push(i.DOUBLE_QUOTE) : '`' === e && t.stack.push(i.TEMPLATE_QUOTE)
}
return t.isComment() || a || (t.history = e + t.history),
t.lastChar = e,
t
}
function l() {
this.stack = [
],
this.regexpStart = !1,
this.escaped = !1,
this.hasDollar = !1,
this.src = '',
this.history = '',
this.lastChar = ''
}
function c(e, t, n) {
return r(t) ? t.test(e.substr(n || 0)) : e.substr(n || 0, t.length) === t
}
function p(e) {
if (!e) return !0;
switch (e.charCodeAt(0)) {
case 46:
case 40:
case 41:
case 59:
case 44:
case 123:
case 125:
case 91:
case 93:
case 58:
case 63:
case 126:
case 37:
case 38:
case 42:
case 43:
case 45:
case 47:
case 60:
case 62:
case 94:
case 124:
case 33:
case 61:
return !0;
default:
return !1
}
}
function h(e) {
return 'if' === e || 'in' === e || 'do' === e || 'var' === e || 'for' === e || 'new' === e || 'try' === e || 'let' === e || 'this' === e || 'else' === e || 'case' === e || 'void' === e || 'with' === e || 'enum' === e || 'while' === e || 'break' === e || 'catch' === e || 'throw' === e || 'const' === e || 'yield' === e || 'class' === e || 'super' === e || 'return' === e || 'typeof' === e || 'delete' === e || 'switch' === e || 'export' === e || 'import' === e || 'default' === e || 'finally' === e || 'extends' === e || 'function' === e || 'continue' === e || 'debugger' === e || 'package' === e || 'private' === e || 'interface' === e || 'instanceof' === e || 'implements' === e || 'protected' === e || 'public' === e || 'static' === e
}
n.parse = a,
n.parseUntil = function (e, t, r) {
var i = (r = r || {
}).start || 0,
s = i,
o = n.defaultState();
for (; s < e.length; ) {
if ((r.ignoreNesting || !o.isNesting(r)) && c(e, t, s)) {
var a = s;
return {
start: i,
end: a,
src: e.substring(i, a)
}
}
try {
u(e[s], o)
} catch (e) {
throw e.index = s,
e
}
s++
}
var l = new Error('The end of the string was reached with no closing bracket found.');
throw l.code = 'CHARACTER_PARSER:END_OF_STRING_REACHED',
l.index = s,
l
},
n.parseChar = u,
n.defaultState = function () {
return new l
},
l.prototype.current = function () {
return this.stack[this.stack.length - 1]
},
l.prototype.isString = function () {
return this.current() === i.SINGLE_QUOTE || this.current() === i.DOUBLE_QUOTE || this.current() === i.TEMPLATE_QUOTE
},
l.prototype.isComment = function () {
return this.current() === i.LINE_COMMENT || this.current() === i.BLOCK_COMMENT
},
l.prototype.isNesting = function (e) {
return (!e || !e.ignoreLineComment || 1 !== this.stack.length || this.stack[0] !== i.LINE_COMMENT) && !!this.stack.length
},
n.isPunctuator = p,
n.isKeyword = h
},
{
'is-regex': 241
}
],
44: [
function (e, t, n) {
t.exports = e('./lib/clean')
},
{
'./lib/clean': 45
}
],
45: [
function (e, t, n) {
(function (n) {
var r = e('./optimizer/level-0/optimize'),
i = e('./optimizer/level-1/optimize'),
s = e('./optimizer/level-2/optimize'),
o = e('./optimizer/validator'),
a = e('./options/compatibility'),
u = e('./options/fetch'),
l = e('./options/format').formatFrom,
c = e('./options/inline'),
p = e('./options/inline-request'),
h = e('./options/inline-timeout'),
f = e('./options/optimization-level').OptimizationLevel,
d = e('./options/optimization-level').optimizationLevelFrom,
m = e('./options/rebase'),
g = e('./options/rebase-to'),
y = e('./reader/input-source-map-tracker'),
v = e('./reader/read-sources'),
b = e('./writer/simple'),
x = e('./writer/source-maps'),
A = t.exports = function (e) {
e = e || {
},
this.options = {
compatibility: a(e.compatibility),
fetch: u(e.fetch),
format: l(e.format),
inline: c(e.inline),
inlineRequest: p(e.inlineRequest),
inlineTimeout: h(e.inlineTimeout),
level: d(e.level),
rebase: m(e.rebase),
rebaseTo: g(e.rebaseTo),
returnPromise: !!e.returnPromise,
sourceMap: !!e.sourceMap,
sourceMapInlineSources: !!e.sourceMapInlineSources
}
};
function E(e, t, a, u) {
var l = 'function' != typeof a ? a : null,
c = 'function' == typeof u ? u : 'function' == typeof a ? a : null,
p = {
stats: {
efficiency: 0,
minifiedSize: 0,
originalSize: 0,
startedAt: Date.now(),
timeSpent: 0
},
cache: {
specificity: {
}
},
errors: [
],
inlinedStylesheets: [
],
inputSourceMapTracker: y(),
localOnly: !c,
options: t,
source: null,
sourcesContent: {
},
validator: o(t.compatibility),
warnings: [
]
};
return l && p.inputSourceMapTracker.track(void 0, l),
(p.localOnly ? function (e) {
return e()
}
: n.nextTick) (function () {
return v(e, p, function (e) {
var t = function (e, t) {
return e.stats = function (e, t) {
var n = Date.now() - t.stats.startedAt;
return delete t.stats.startedAt,
t.stats.timeSpent = n,
t.stats.efficiency = 1 - e.length / t.stats.originalSize,
t.stats.minifiedSize = e.length,
t.stats
}(e.styles, t),
e.errors = t.errors,
e.inlinedStylesheets = t.inlinedStylesheets,
e.warnings = t.warnings,
e
}((p.options.sourceMap ? x : b) (function (e, t) {
var n;
return n = r(e, t),
n = f.One in t.options.level ? i(e, t) : e,
n = f.Two in t.options.level ? s(e, t, !0) : n
}(e, p), p), p);
return c ? c(p.errors.length > 0 ? p.errors : null, t) : t
})
})
}
A.process = function (e, t) {
var n = t.to;
return delete t.to,
new A(Object.assign({
returnPromise: !0,
rebaseTo: n
}, t)).minify(e).then(function (e) {
return {
css: e.styles
}
})
},
A.prototype.minify = function (e, t, n) {
var r = this.options;
return r.returnPromise ? new Promise(function (n, i) {
E(e, r, t, function (e, t) {
return e ? i(e) : n(t)
})
}) : E(e, r, t, n)
}
}).call(this, e('_process'))
},
{
'./optimizer/level-0/optimize': 47,
'./optimizer/level-1/optimize': 48,
'./optimizer/level-2/optimize': 67,
'./optimizer/validator': 95,
'./options/compatibility': 97,
'./options/fetch': 98,
'./options/format': 99,
'./options/inline': 102,
'./options/inline-request': 100,
'./options/inline-timeout': 101,
'./options/optimization-level': 103,
'./options/rebase': 105,
'./options/rebase-to': 104,
'./reader/input-source-map-tracker': 109,
'./reader/read-sources': 115,
'./writer/simple': 137,
'./writer/source-maps': 138,
_process: 373
}
],
46: [
function (e, t, n) {
t.exports = {
ASTERISK: 'asterisk',
BANG: 'bang',
BACKSLASH: 'backslash',
UNDERSCORE: 'underscore'
}
},
{
}
],
47: [
function (e, t, n) {
t.exports = function (e) {
return e
}
},
{
}
],
48: [
function (e, t, n) {
var r = e('./shorten-hex'),
i = e('./shorten-hsl'),
s = e('./shorten-rgb'),
o = e('./sort-selectors'),
a = e('./tidy-rules'),
u = e('./tidy-block'),
l = e('./tidy-at-rule'),
c = e('../hack'),
p = e('../remove-unused'),
h = e('../restore-from-optimizing'),
f = e('../wrap-for-optimizing').all,
d = e('../../options/optimization-level').OptimizationLevel,
m = e('../../tokenizer/token'),
g = e('../../tokenizer/marker'),
y = e('../../utils/format-position'),
v = e('../../utils/split'),
b = e('../../writer/one-time').rules,
x = 'ignore-property',
A = '@charset',
E = new RegExp('^' + A, 'i'),
_ = e('../../options/rounding-precision').DEFAULT,
C = /(?:^|\s|\()(-?\d+)px/,
w = /^(\-?[\d\.]+)(m?s)$/,
D = /[0-9a-f]/i,
k = /^(?:\-chrome\-|\-[\w\-]+\w|\w[\w\-]+\w|\-\-\S+)$/,
S = /^@import/i,
T = /^('.*'|".*")$/,
F = /^['"][a-zA-Z][a-zA-Z\d\-_]+['"]$/,
O = /^url\(/i,
B = /^--\S+$/;
function P(e) {
return e && '-' == e[1][0] && parseFloat(e[1]) < 0
}
function N(e) {
return T.test(e)
}
function R(e) {
return O.test(e)
}
function L(e) {
return e.replace(O, 'url(').replace(/\\?\n|\\?\r\n/g, '')
}
function I(e) {
var t = e.value;
1 == t.length && 'none' == t[0][1] && (t[0][1] = '0 0'),
1 == t.length && 'transparent' == t[0][1] && (t[0][1] = '0 0')
}
function j(e) {
var t,
n = e.value;
3 == n.length && '/' == n[1][1] && n[0][1] == n[2][1] ? t = 1 : 5 == n.length && '/' == n[2][1] && n[0][1] == n[3][1] && n[1][1] == n[4][1] ? t = 2 : 7 == n.length && '/' == n[3][1] && n[0][1] == n[4][1] && n[1][1] == n[5][1] && n[2][1] == n[6][1] ? t = 3 : 9 == n.length && '/' == n[4][1] && n[0][1] == n[5][1] && n[1][1] == n[6][1] && n[2][1] == n[7][1] && n[3][1] == n[8][1] && (t = 4),
t && (e.value.splice(t), e.dirty = !0)
}
function M(e, t, n) {
return - 1 === t.indexOf('#') && - 1 == t.indexOf('rgb') && - 1 == t.indexOf('hsl') ? r(t) : (t = t.replace(/rgb\((\-?\d+),(\-?\d+),(\-?\d+)\)/g, function (e, t, n, r) {
return s(t, n, r)
}).replace(/hsl\((-?\d+),(-?\d+)%?,(-?\d+)%?\)/g, function (e, t, n, r) {
return i(t, n, r)
}).replace(/(^|[^='"])#([0-9a-f]{6})/gi, function (e, t, n, r, i) {
var s = i[r + e.length];
return s && D.test(s) ? e : n[0] == n[1] && n[2] == n[3] && n[4] == n[5] ? (t + '#' + n[0] + n[2] + n[4]).toLowerCase() : (t + '#' + n).toLowerCase()
}).replace(/(^|[^='"])#([0-9a-f]{3})/gi, function (e, t, n) {
return t + '#' + n.toLowerCase()
}).replace(/(rgb|rgba|hsl|hsla)\(([^\)]+)\)/g, function (e, t, n) {
var r = n.split(',');
return 'hsl' == t && 3 == r.length || 'hsla' == t && 4 == r.length || 'rgb' == t && 3 == r.length && n.indexOf('%') > 0 || 'rgba' == t && 4 == r.length && n.indexOf('%') > 0 ? ( - 1 == r[1].indexOf('%') && (r[1] += '%'), - 1 == r[2].indexOf('%') && (r[2] += '%'), t + '(' + r.join(',') + ')') : e
}), n.colors.opacity && - 1 == e.indexOf('background') && (t = t.replace(/(?:rgba|hsla)\(0,0%?,0%?,0\)/g, function (e) {
return v(t, ',').pop().indexOf('gradient(') > - 1 ? e : 'transparent'
})), r(t))
}
function U(e) {
1 == e.value.length && (e.value[0][1] = e.value[0][1].replace(/progid:DXImageTransform\.Microsoft\.(Alpha|Chroma)(\W)/, function (e, t, n) {
return t.toLowerCase() + n
})),
e.value[0][1] = e.value[0][1].replace(/,(\S)/g, ', $1').replace(/ ?= ?/g, '=')
}
function V(e, t) {
var n = e.value[t][1];
'normal' == n ? n = '400' : 'bold' == n && (n = '700'),
e.value[t][1] = n
}
function z(e) {
var t,
n = e.value;
4 == n.length && '0' === n[0][1] && '0' === n[1][1] && '0' === n[2][1] && '0' === n[3][1] && (t = e.name.indexOf('box-shadow') > - 1 ? 2 : 1),
t && (e.value.splice(t), e.dirty = !0)
}
function q(e) {
var t = e.value;
1 == t.length && 'none' == t[0][1] && (t[0][1] = '0')
}
function K(e, t, n) {
return C.test(t) ? t.replace(C, function (e, t) {
var r,
i = parseInt(t);
return 0 === i ? e : (n.properties.shorterLengthUnits && n.units.pt && 3 * i % 4 == 0 && (r = 3 * i / 4 + 'pt'), n.properties.shorterLengthUnits && n.units.pc && i % 16 == 0 && (r = i / 16 + 'pc'), n.properties.shorterLengthUnits && n.units.in && i % 96 == 0 && (r = i / 96 + 'in'), r && (r = e.substring(0, e.indexOf(t)) + r), r && r.length < e.length ? r : e)
}) : t
}
function $(e, t, n) {
return n.enabled && - 1 !== t.indexOf('.') ? t.replace(n.decimalPointMatcher, '$1$2$3').replace(n.zeroMatcher, function (e, t, r, i) {
var s = n.units[i].multiplier,
o = parseInt(t),
a = isNaN(o) ? 0 : o,
u = parseFloat(r);
return Math.round((a + u) * s) / s + i
}) : t
}
function Y(e, t) {
return w.test(t) ? t.replace(w, function (e, t, n) {
var r;
return 'ms' == n ? r = parseInt(t) / 1000 + 's' : 's' == n && (r = 1000 * parseFloat(t) + 'ms'),
r.length < e.length ? r : e
}) : t
}
function W(e, t, n) {
return /^(?:\-moz\-calc|\-webkit\-calc|calc|rgb|hsl|rgba|hsla)\(/.test(t) ? t : 'flex' == e || '-ms-flex' == e || '-webkit-flex' == e || 'flex-basis' == e || '-webkit-flex-basis' == e ? t : t.indexOf('%') > 0 && ('height' == e || 'max-height' == e || 'width' == e || 'max-width' == e) ? t : t.replace(n, '$10$2').replace(n, '$10$2')
}
function G(e, t) {
return e.indexOf('filter') > - 1 || - 1 == t.indexOf(' ') || 0 === t.indexOf('expression') ? t : t.indexOf(g.SINGLE_QUOTE) > - 1 || t.indexOf(g.DOUBLE_QUOTE) > - 1 ? t : ((t = t.replace(/\s+/g, ' ')).indexOf('calc') > - 1 && (t = t.replace(/\) ?\/ ?/g, ')/ ')), t.replace(/(\(;?)\s+/g, '$1').replace(/\s+(;?\))/g, '$1').replace(/, /g, ','))
}
function H(e, t) {
return - 1 == t.indexOf('0deg') ? t : t.replace(/\(0deg\)/g, '(0)')
}
function X(e, t) {
return - 1 == t.indexOf('0') ? t : (t.indexOf('-') > - 1 && (t = t.replace(/([^\w\d\-]|^)\-0([^\.]|$)/g, '$10$2').replace(/([^\w\d\-]|^)\-0([^\.]|$)/g, '$10$2')), t.replace(/(^|\s)0+([1-9])/g, '$1$2').replace(/(^|\D)\.0+(\D|$)/g, '$10$2').replace(/(^|\D)\.0+(\D|$)/g, '$10$2').replace(/\.([1-9]*)0+(\D|$)/g, function (e, t, n) {
return (t.length > 0 ? '.' : '') + t + n
}).replace(/(^|\D)0\.(\d)/g, '$1.$2'))
}
function J(e, t) {
return 'content' == e || e.indexOf('font-variation-settings') > - 1 || e.indexOf('font-feature-settings') > - 1 || e.indexOf('grid-') > - 1 ? t : F.test(t) ? t.substring(1, t.length - 1) : t
}
function Q(e) {
return !/^url\(['"].+['"]\)$/.test(e) || /^url\(['"].*[\*\s\(\)'"].*['"]\)$/.test(e) || /^url\(['"]data:[^;]+;charset/.test(e) ? e : e.replace(/["']/g, '')
}
function Z(e, t, n, r) {
var i = r(e, t, b(n));
return void 0 === i ? t : !1 === i ? x : i
}
function ee(e, t, n) {
var r,
i,
s,
o,
a,
u,
l = n.options,
g = l.level[d.One],
v = f(t, !0);
e: for (var b = 0, A = v.length; b < A; b++) if (i = (r = v[b]).name, k.test(i) || (u = r.all[r.position], n.warnings.push('Invalid property name \'' + i + '\' at ' + y(u[1][2][0]) + '. Ignoring.'), r.unused = !0), 0 === r.value.length && (u = r.all[r.position], n.warnings.push('Empty property \'' + i + '\' at ' + y(u[1][2][0]) + '. Ignoring.'), r.unused = !0), r.hack && ((r.hack[0] == c.ASTERISK || r.hack[0] == c.UNDERSCORE) && !l.compatibility.properties.iePrefixHack || r.hack[0] == c.BACKSLASH && !l.compatibility.properties.ieSuffixHack || r.hack[0] == c.BANG && !l.compatibility.properties.ieBangHack) && (r.unused = !0), g.removeNegativePaddings && 0 === i.indexOf('padding') && (P(r.value[0]) || P(r.value[1]) || P(r.value[2]) || P(r.value[3])) && (r.unused = !0), !l.compatibility.properties.ieFilters && re(r) && (r.unused = !0), !r.unused) if (r.block) ee(e, r.value[0][1], n);
else if (!B.test(i)) {
for (var E = 0, _ = r.value.length; E < _; E++) {
if (s = r.value[E][0], a = R(o = r.value[E][1]), s == m.PROPERTY_BLOCK) {
r.unused = !0,
n.warnings.push('Invalid value token at ' + y(o[0][1][2][0]) + '. Ignoring.');
break
}
if (a && !n.validator.isUrl(o)) {
r.unused = !0,
n.warnings.push('Broken URL \'' + o + '\' at ' + y(r.value[E][2][0]) + '. Ignoring.');
break
}
if (a ? (o = g.normalizeUrls ? L(o) : o, o = l.compatibility.properties.urlQuotes ? o : Q(o)) : N(o) ? o = g.removeQuotes ? J(i, o) : o : (o = K(0, o = $(0, o = g.removeWhitespace ? G(i, o) : o, l.precision), l.compatibility), o = g.replaceTimeUnits ? Y(0, o) : o, o = g.replaceZeroUnits ? X(0, o) : o, l.compatibility.properties.zeroUnits && (o = W(i, o = H(0, o), l.unitsRegexp)), l.compatibility.properties.colors && (o = M(i, o, l.compatibility))), (o = Z(i, o, e, g.transform)) === x) {
r.unused = !0;
continue e
}
r.value[E][1] = o
}
g.replaceMultipleZeros && z(r),
'background' == i && g.optimizeBackground ? I(r) : 0 === i.indexOf('border') && i.indexOf('radius') > 0 && g.optimizeBorderRadius ? j(r) : 'filter' == i && g.optimizeFilter && l.compatibility.properties.ieFilters ? U(r) : 'font-weight' == i && g.optimizeFontWeight ? V(r, 0) : 'outline' == i && g.optimizeOutline && q(r)
}
h(v),
p(v),
function (e, t) {
var n,
r;
for (r = 0; r < e.length; r++) (n = e[r]) [0] == m.COMMENT && (te(n, t), 0 === n[1].length && (e.splice(r, 1), r--))
}(t, l)
}
function te(e, t) {
e[1][2] == g.EXCLAMATION && ('all' == t.level[d.One].specialComments || t.commentsKept < t.level[d.One].specialComments) ? t.commentsKept++ : e[1] = [
]
}
function ne(e) {
return S.test(e[1])
}
function re(e) {
var t;
return ('filter' == e.name || '-ms-filter' == e.name) && ((t = e.value[0][1]).indexOf('progid') > - 1 || 0 === t.indexOf('alpha') || 0 === t.indexOf('chroma'))
}
t.exports = function e(t, n) {
var r = n.options,
i = r.level[d.One],
s = r.compatibility.selectors.ie7Hack,
c = r.compatibility.selectors.adjacentSpace,
p = r.compatibility.properties.spaceAfterClosingBrace,
h = r.format,
f = !1,
g = !1;
r.unitsRegexp = r.unitsRegexp || function (e) {
var t = [
'px',
'em',
'ex',
'cm',
'mm',
'in',
'pt',
'pc',
'%'
];
return ['ch',
'rem',
'vh',
'vm',
'vmax',
'vmin',
'vw'].forEach(function (n) {
e.compatibility.units[n] && t.push(n)
}),
new RegExp('(^|\\s|\\(|,)0(?:' + t.join('|') + ')(\\W|$)', 'g')
}(r),
r.precision = r.precision || function (e) {
var t,
n,
r = {
matcher: null,
units: {
}
},
i = [
];
for (t in e) (n = e[t]) != _ && (r.units[t] = {
}, r.units[t].value = n, r.units[t].multiplier = Math.pow(10, n), i.push(t));
return i.length > 0 && (r.enabled = !0, r.decimalPointMatcher = new RegExp('(\\d)\\.($|' + i.join('|') + ')($|W)', 'g'), r.zeroMatcher = new RegExp('(\\d*)(\\.\\d+)(' + i.join('|') + ')', 'g')),
r
}(i.roundingPrecision),
r.commentsKept = r.commentsKept || 0;
for (var y = 0, v = t.length; y < v; y++) {
var b = t[y];
switch (b[0]) {
case m.AT_RULE:
b[1] = ne(b) && g ? '' : b[1],
b[1] = i.tidyAtRules ? l(b[1]) : b[1],
f = !0;
break;
case m.AT_RULE_BLOCK:
ee(b[1], b[2], n),
g = !0;
break;
case m.NESTED_BLOCK:
b[1] = i.tidyBlockScopes ? u(b[1], p) : b[1],
e(b[2], n),
g = !0;
break;
case m.COMMENT:
te(b, r);
break;
case m.RULE:
b[1] = i.tidySelectors ? a(b[1], !s, c, h, n.warnings) : b[1],
b[1] = b[1].length > 1 ? o(b[1], i.selectorsSortingMethod) : b[1],
ee(b[1], b[2], n),
g = !0
}(b[0] == m.COMMENT && 0 === b[1].length || i.removeEmpty && (0 === b[1].length || b[2] && 0 === b[2].length)) && (t.splice(y, 1), y--, v--)
}
return i.cleanupCharsets && f && function (e) {
for (var t = !1, n = 0, r = e.length; n < r; n++) {
var i = e[n];
i[0] == m.AT_RULE && E.test(i[1]) && (t || - 1 == i[1].indexOf(A) ? (e.splice(n, 1), n--, r--) : (t = !0, e.splice(n, 1), e.unshift([m.AT_RULE,
i[1].replace(E, A)])))
}
}(t),
t
}
},
{
'../../options/optimization-level': 103,
'../../options/rounding-precision': 106,
'../../tokenizer/marker': 121,
'../../tokenizer/token': 122,
'../../utils/format-position': 125,
'../../utils/split': 134,
'../../writer/one-time': 136,
'../hack': 46,
'../remove-unused': 93,
'../restore-from-optimizing': 94,
'../wrap-for-optimizing': 96,
'./shorten-hex': 49,
'./shorten-hsl': 50,
'./shorten-rgb': 51,
'./sort-selectors': 52,
'./tidy-at-rule': 53,
'./tidy-block': 54,
'./tidy-rules': 55
}
],
49: [
function (e, t, n) {
var r = {
aliceblue: '#f0f8ff',
antiquewhite: '#faebd7',
aqua: '#0ff',
aquamarine: '#7fffd4',
azure: '#f0ffff',
beige: '#f5f5dc',
bisque: '#ffe4c4',
black: '#000',
blanchedalmond: '#ffebcd',
blue: '#00f',
blueviolet: '#8a2be2',
brown: '#a52a2a',
burlywood: '#deb887',
cadetblue: '#5f9ea0',
chartreuse: '#7fff00',
chocolate: '#d2691e',
coral: '#ff7f50',
cornflowerblue: '#6495ed',
cornsilk: '#fff8dc',
crimson: '#dc143c',
cyan: '#0ff',
darkblue: '#00008b',
darkcyan: '#008b8b',
darkgoldenrod: '#b8860b',
darkgray: '#a9a9a9',
darkgreen: '#006400',
darkgrey: '#a9a9a9',
darkkhaki: '#bdb76b',
darkmagenta: '#8b008b',
darkolivegreen: '#556b2f',
darkorange: '#ff8c00',
darkorchid: '#9932cc',
darkred: '#8b0000',
darksalmon: '#e9967a',
darkseagreen: '#8fbc8f',
darkslateblue: '#483d8b',
darkslategray: '#2f4f4f',
darkslategrey: '#2f4f4f',
darkturquoise: '#00ced1',
darkviolet: '#9400d3',
deeppink: '#ff1493',
deepskyblue: '#00bfff',
dimgray: '#696969',
dimgrey: '#696969',
dodgerblue: '#1e90ff',
firebrick: '#b22222',
floralwhite: '#fffaf0',
forestgreen: '#228b22',
fuchsia: '#f0f',
gainsboro: '#dcdcdc',
ghostwhite: '#f8f8ff',
gold: '#ffd700',
goldenrod: '#daa520',
gray: '#808080',
green: '#008000',
greenyellow: '#adff2f',
grey: '#808080',
honeydew: '#f0fff0',
hotpink: '#ff69b4',
indianred: '#cd5c5c',
indigo: '#4b0082',
ivory: '#fffff0',
khaki: '#f0e68c',
lavender: '#e6e6fa',
lavenderblush: '#fff0f5',
lawngreen: '#7cfc00',
lemonchiffon: '#fffacd',
lightblue: '#add8e6',
lightcoral: '#f08080',
lightcyan: '#e0ffff',
lightgoldenrodyellow: '#fafad2',
lightgray: '#d3d3d3',
lightgreen: '#90ee90',
lightgrey: '#d3d3d3',
lightpink: '#ffb6c1',
lightsalmon: '#ffa07a',
lightseagreen: '#20b2aa',
lightskyblue: '#87cefa',
lightslategray: '#778899',
lightslategrey: '#778899',
lightsteelblue: '#b0c4de',
lightyellow: '#ffffe0',
lime: '#0f0',
limegreen: '#32cd32',
linen: '#faf0e6',
magenta: '#ff00ff',
maroon: '#800000',
mediumaquamarine: '#66cdaa',
mediumblue: '#0000cd',
mediumorchid: '#ba55d3',
mediumpurple: '#9370db',
mediumseagreen: '#3cb371',
mediumslateblue: '#7b68ee',
mediumspringgreen: '#00fa9a',
mediumturquoise: '#48d1cc',
mediumvioletred: '#c71585',
midnightblue: '#191970',
mintcream: '#f5fffa',
mistyrose: '#ffe4e1',
moccasin: '#ffe4b5',
navajowhite: '#ffdead',
navy: '#000080',
oldlace: '#fdf5e6',
olive: '#808000',
olivedrab: '#6b8e23',
orange: '#ffa500',
orangered: '#ff4500',
orchid: '#da70d6',
palegoldenrod: '#eee8aa',
palegreen: '#98fb98',
paleturquoise: '#afeeee',
palevioletred: '#db7093',
papayawhip: '#ffefd5',
peachpuff: '#ffdab9',
peru: '#cd853f',
pink: '#ffc0cb',
plum: '#dda0dd',
powderblue: '#b0e0e6',
purple: '#800080',
rebeccapurple: '#663399',
red: '#f00',
rosybrown: '#bc8f8f',
royalblue: '#4169e1',
saddlebrown: '#8b4513',
salmon: '#fa8072',
sandybrown: '#f4a460',
seagreen: '#2e8b57',
seashell: '#fff5ee',
sienna: '#a0522d',
silver: '#c0c0c0',
skyblue: '#87ceeb',
slateblue: '#6a5acd',
slategray: '#708090',
slategrey: '#708090',
snow: '#fffafa',
springgreen: '#00ff7f',
steelblue: '#4682b4',
tan: '#d2b48c',
teal: '#008080',
thistle: '#d8bfd8',
tomato: '#ff6347',
turquoise: '#40e0d0',
violet: '#ee82ee',
wheat: '#f5deb3',
white: '#fff',
whitesmoke: '#f5f5f5',
yellow: '#ff0',
yellowgreen: '#9acd32'
},
i = {
},
s = {
};
for (var o in r) {
var a = r[o];
o.length < a.length ? s[a] = o : i[o] = a
}
var u = new RegExp('(^| |,|\\))(' + Object.keys(i).join('|') + ')( |,|\\)|$)', 'ig'),
l = new RegExp('(' + Object.keys(s).join('|') + ')([^a-f0-9]|$)', 'ig');
function c(e, t, n, r) {
return t + i[n.toLowerCase()] + r
}
function p(e, t, n) {
return s[t.toLowerCase()] + n
}
t.exports = function (e) {
var t = e.indexOf('#') > - 1,
n = e.replace(u, c);
return n != e && (n = n.replace(u, c)),
t ? n.replace(l, p) : n
}
},
{
}
],
50: [
function (e, t, n) {
function r(e, t, n) {
return n < 0 && (n += 1),
n > 1 && (n -= 1),
n < 1 / 6 ? e + 6 * (t - e) * n : n < 0.5 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e
}
t.exports = function (e, t, n) {
var i = function (e, t, n) {
var i,
s,
o;
if ((e %= 360) < 0 && (e += 360), e = ~~e / 360, t < 0 ? t = 0 : t > 100 && (t = 100), t = ~~t / 100, n < 0 ? n = 0 : n > 100 && (n = 100), n = ~~n / 100, 0 === t) i = s = o = n;
else {
var a = n < 0.5 ? n * (1 + t) : n + t - n * t,
u = 2 * n - a;
i = r(u, a, e + 1 / 3),
s = r(u, a, e),
o = r(u, a, e - 1 / 3)
}
return [~~(255 * i),
~~(255 * s),
~~(255 * o)]
}(e, t, n),
s = i[0].toString(16),
o = i[1].toString(16),
a = i[2].toString(16);
return '#' + (1 == s.length ? '0' : '') + s + (1 == o.length ? '0' : '') + o + (1 == a.length ? '0' : '') + a
}
},
{
}
],
51: [
function (e, t, n) {
t.exports = function (e, t, n) {
return '#' + ('00000' + (Math.max(0, Math.min(parseInt(e), 255)) << 16 | Math.max(0, Math.min(parseInt(t), 255)) << 8 | Math.max(0, Math.min(parseInt(n), 255))).toString(16)).slice( - 6)
}
},
{
}
],
52: [
function (e, t, n) {
var r = e('../../utils/natural-compare');
function i(e, t) {
return r(e[1], t[1])
}
function s(e, t) {
return e[1] > t[1] ? 1 : - 1
}
t.exports = function (e, t) {
switch (t) {
case 'natural':
return e.sort(i);
case 'standard':
return e.sort(s);
case 'none':
case !1:
return e
}
}
},
{
'../../utils/natural-compare': 132
}
],
53: [
function (e, t, n) {
t.exports = function (e) {
return e.replace(/\s+/g, ' ').replace(/url\(\s+/g, 'url(').replace(/\s+\)/g, ')').trim()
}
},
{
}
],
54: [
function (e, t, n) {
var r = /^@media\W/;
t.exports = function (e, t) {
var n,
i;
for (i = e.length - 1; i >= 0; i--) n = !t && r.test(e[i][1]),
e[i][1] = e[i][1].replace(/\n|\r\n/g, ' ').replace(/\s+/g, ' ').replace(/(,|:|\() /g, '$1').replace(/ \)/g, ')').replace(/'([a-zA-Z][a-zA-Z\d\-_]+)'/, '$1').replace(/"([a-zA-Z][a-zA-Z\d\-_]+)"/, '$1').replace(n ? /\) /g : null, ')');
return e
}
},
{
}
],
55: [
function (e, t, n) {
var r = e('../../options/format').Spaces,
i = e('../../tokenizer/marker'),
s = e('../../utils/format-position'),
o = /[\s"'][iI]\s*\]/,
a = /([\d\w])([iI])\]/g,
u = /="([a-zA-Z][a-zA-Z\d\-_]+)"([iI])/g,
l = /="([a-zA-Z][a-zA-Z\d\-_]+)"(\s|\])/g,
c = /^(?:(?:)\s*)+/,
p = /='([a-zA-Z][a-zA-Z\d\-_]+)'([iI])/g,
h = /='([a-zA-Z][a-zA-Z\d\-_]+)'(\s|\])/g,
f = /[>\+~]/,
d = /\s/,
m = '*+html ',
g = '*:first-child+html ',
y = '<';
function v(e) {
var t,
n,
r,
s,
o = !1,
a = !1;
for (r = 0, s = e.length; r < s; r++) {
if (n = e[r], t);
else if (n == i.SINGLE_QUOTE || n == i.DOUBLE_QUOTE) a = !a;
else {
if (!(a || n != i.CLOSE_CURLY_BRACKET && n != i.EXCLAMATION && n != y && n != i.SEMICOLON)) {
o = !0;
break
}
if (!a && 0 === r && f.test(n)) {
o = !0;
break
}
}
t = n == i.BACK_SLASH
}
return o
}
function b(e, t) {
var n,
s,
u,
l,
c,
p,
h,
m,
g,
y,
v,
b,
x,
A = [
],
E = 0,
_ = !1,
C = !1,
w = o.test(e),
D = t && t.spaces[r.AroundSelectorRelation];
for (b = 0, x = e.length; b < x; b++) {
if (s = (n = e[b]) == i.NEW_LINE_NIX, u = n == i.NEW_LINE_NIX && e[b - 1] == i.CARRIAGE_RETURN, p = h || m, y = !g && !l && 0 === E && f.test(n), v = d.test(n), c && p && u) A.pop(),
A.pop();
else if (l && p && s) A.pop();
else if (l) A.push(n);
else if (n != i.OPEN_SQUARE_BRACKET || p) if (n != i.CLOSE_SQUARE_BRACKET || p) if (n != i.OPEN_ROUND_BRACKET || p) if (n != i.CLOSE_ROUND_BRACKET || p) if (n != i.SINGLE_QUOTE || p) if (n != i.DOUBLE_QUOTE || p) if (n == i.SINGLE_QUOTE && p) A.push(n),
h = !1;
else if (n == i.DOUBLE_QUOTE && p) A.push(n),
m = !1;
else {
if (v && _ && !D) continue;
!v && _ && D ? (A.push(i.SPACE), A.push(n)) : v && (g || E > 0) && !p || v && C && !p || (u || s) && (g || E > 0) && p || (y && C && !D ? (A.pop(), A.push(n)) : y && !C && D ? (A.push(i.SPACE), A.push(n)) : v ? A.push(i.SPACE) : A.push(n))
} else A.push(n),
m = !0;
else A.push(n),
h = !0;
else A.push(n),
E--;
else A.push(n),
E++;
else A.push(n),
g = !1;
else A.push(n),
g = !0;
c = l,
l = n == i.BACK_SLASH,
_ = y,
C = v
}
return w ? A.join('').replace(a, '$1 $2]') : A.join('')
}
t.exports = function (e, t, n, r, i) {
var o,
a = [
],
f = [
];
function d(e, t) {
return i.push('HTML comment \'' + t + '\' at ' + s(e[2][0]) + '. Removing.'),
''
}
for (var y = 0, x = e.length; y < x; y++) {
var A = e[y],
E = A[1];
v(E = E.replace(c, d.bind(null, A))) ? i.push('Invalid selector \'' + A[1] + '\' at ' + s(A[2][0]) + '. Ignoring.') : (E = b(E, r), E = - 1 == (o = E).indexOf('\'') && - 1 == o.indexOf('"') ? o : o.replace(p, '=$1 $2').replace(h, '=$1$2').replace(u, '=$1 $2').replace(l, '=$1$2'), n && E.indexOf('nav') > 0 && (E = E.replace(/\+nav(\S|$)/, '+ nav$1')), t && E.indexOf(m) > - 1 || t && E.indexOf(g) > - 1 || (E.indexOf('*') > - 1 && (E = E.replace(/\*([:#\.\[])/g, '$1').replace(/^(\:first\-child)?\+html/, '*$1+html')), f.indexOf(E) > - 1 || (A[1] = E, f.push(E), a.push(A))))
}
return 1 == a.length && 0 === a[0][1].length && (i.push('Empty selector \'' + a[0][1] + '\' at ' + s(a[0][2][0]) + '. Ignoring.'), a = [
]),
a
}
},
{
'../../options/format': 99,
'../../tokenizer/marker': 121,
'../../utils/format-position': 125
}
],
56: [
function (e, t, n) {
var r = e('./invalid-property-error'),
i = e('../wrap-for-optimizing').single,
s = e('../../tokenizer/token'),
o = e('../../tokenizer/marker'),
a = e('../../utils/format-position');
function u(e) {
var t,
n;
for (t = 0, n = e.length; t < n; t++) if ('inherit' == e[t][1]) return !0;
return !1
}
function l(e, t, n) {
var r = n[e];
return r.doubleValues && 2 == r.defaultValue.length ? i([s.PROPERTY,
[
s.PROPERTY_NAME,
e
],
[
s.PROPERTY_VALUE,
r.defaultValue[0]
],
[
s.PROPERTY_VALUE,
r.defaultValue[1]
]]) : r.doubleValues && 1 == r.defaultValue.length ? i([s.PROPERTY,
[
s.PROPERTY_NAME,
e
],
[
s.PROPERTY_VALUE,
r.defaultValue[0]
]]) : i([s.PROPERTY,
[
s.PROPERTY_NAME,
e
],
[
s.PROPERTY_VALUE,
r.defaultValue
]])
}
function c(e, t) {
var n = t[e.name].components,
r = [
],
o = e.value;
if (o.length < 1) return [];
o.length < 2 && (o[1] = o[0].slice(0)),
o.length < 3 && (o[2] = o[0].slice(0)),
o.length < 4 && (o[3] = o[1].slice(0));
for (var a = n.length - 1; a >= 0; a--) {
var u = i([s.PROPERTY,
[
s.PROPERTY_NAME,
n[a]
]]);
u.value = [
o[a]
],
r.unshift(u)
}
return r
}
function p(e, t, n) {
for (var r, i, s, o = t[e.name], a = [
l(o.components[0], 0, t),
l(o.components[1], 0, t),
l(o.components[2], 0, t)
], u = 0; u < 3; u++) {
var c = a[u];
c.name.indexOf('color') > 0 ? r = c : c.name.indexOf('style') > 0 ? i = c : s = c
}
if (1 == e.value.length && 'inherit' == e.value[0][1] || 3 == e.value.length && 'inherit' == e.value[0][1] && 'inherit' == e.value[1][1] && 'inherit' == e.value[2][1]) return r.value = i.value = s.value = [
e.value[0]
],
a;
var p,
h,
f = e.value.slice(0);
return f.length > 0 && (p = (h = f.filter(function (e) {
return function (t) {
return 'inherit' != t[1] && (e.isWidth(t[1]) || e.isUnit(t[1]) && !e.isDynamicUnit(t[1])) && !e.isStyleKeyword(t[1]) && !e.isColorFunction(t[1])
}
}(n))).length > 1 && ('none' == h[0][1] || 'auto' == h[0][1]) ? h[1] : h[0]) && (s.value = [
p
], f.splice(f.indexOf(p), 1)),
f.length > 0 && (p = f.filter(function (e) {
return function (t) {
return 'inherit' != t[1] && e.isStyleKeyword(t[1]) && !e.isColorFunction(t[1])
}
}(n)) [0]) && (i.value = [
p
], f.splice(f.indexOf(p), 1)),
f.length > 0 && (p = f.filter(function (e) {
return function (t) {
return 'invert' == t[1] || e.isColor(t[1]) || e.isPrefixed(t[1])
}
}(n)) [0]) && (r.value = [
p
], f.splice(f.indexOf(p), 1)),
a
}
t.exports = {
animation: function (e, t, n) {
var i,
s,
o,
c = l(e.name + '-duration', 0, t),
p = l(e.name + '-timing-function', 0, t),
h = l(e.name + '-delay', 0, t),
f = l(e.name + '-iteration-count', 0, t),
d = l(e.name + '-direction', 0, t),
m = l(e.name + '-fill-mode', 0, t),
g = l(e.name + '-play-state', 0, t),
y = l(e.name + '-name', 0, t),
v = [
c,
p,
h,
f,
d,
m,
g,
y
],
b = e.value,
x = !1,
A = !1,
E = !1,
_ = !1,
C = !1,
w = !1,
D = !1,
k = !1;
if (1 == e.value.length && 'inherit' == e.value[0][1]) return c.value = p.value = h.value = f.value = d.value = m.value = g.value = y.value = e.value,
v;
if (b.length > 1 && u(b)) throw new r('Invalid animation values at ' + a(b[0][2][0]) + '. Ignoring.');
for (s = 0, o = b.length; s < o; s++) if (i = b[s], n.isTime(i[1]) && !x) c.value = [
i
],
x = !0;
else if (n.isTime(i[1]) && !E) h.value = [
i
],
E = !0;
else if (!n.isGlobal(i[1]) && !n.isTimingFunction(i[1]) || A) if (!n.isAnimationIterationCountKeyword(i[1]) && !n.isPositiveNumber(i[1]) || _) if (n.isAnimationDirectionKeyword(i[1]) && !C) d.value = [
i
],
C = !0;
else if (n.isAnimationFillModeKeyword(i[1]) && !w) m.value = [
i
],
w = !0;
else if (n.isAnimationPlayStateKeyword(i[1]) && !D) g.value = [
i
],
D = !0;
else {
if (!n.isAnimationNameKeyword(i[1]) && !n.isIdentifier(i[1]) || k) throw new r('Invalid animation value at ' + a(i[2][0]) + '. Ignoring.');
y.value = [
i
],
k = !0
} else f.value = [
i
],
_ = !0;
else p.value = [
i
],
A = !0;
return v
},
background: function (e, t, n) {
var i = l('background-image', 0, t),
s = l('background-position', 0, t),
u = l('background-size', 0, t),
c = l('background-repeat', 0, t),
p = l('background-attachment', 0, t),
h = l('background-origin', 0, t),
f = l('background-clip', 0, t),
d = l('background-color', 0, t),
m = [
i,
s,
u,
c,
p,
h,
f,
d
],
g = e.value,
y = !1,
v = !1,
b = !1,
x = !1,
A = !1;
if (1 == e.value.length && 'inherit' == e.value[0][1]) return d.value = i.value = c.value = s.value = u.value = h.value = f.value = e.value,
m;
if (1 == e.value.length && '0 0' == e.value[0][1]) return m;
for (var E = g.length - 1; E >= 0; E--) {
var _ = g[E];
if (n.isBackgroundAttachmentKeyword(_[1])) p.value = [
_
],
A = !0;
else if (n.isBackgroundClipKeyword(_[1]) || n.isBackgroundOriginKeyword(_[1])) v ? (h.value = [
_
], b = !0) : (f.value = [
_
], v = !0),
A = !0;
else if (n.isBackgroundRepeatKeyword(_[1])) x ? c.value.unshift(_) : (c.value = [
_
], x = !0),
A = !0;
else if (n.isBackgroundPositionKeyword(_[1]) || n.isBackgroundSizeKeyword(_[1]) || n.isUnit(_[1]) || n.isDynamicUnit(_[1])) {
if (E > 0) {
var C = g[E - 1];
C[1] == o.FORWARD_SLASH ? u.value = [
_
] : E > 1 && g[E - 2][1] == o.FORWARD_SLASH ? (u.value = [
C,
_
], E -= 2) : (y || (s.value = [
]), s.value.unshift(_), y = !0)
} else y || (s.value = [
]),
s.value.unshift(_),
y = !0;
A = !0
} else d.value[0][1] != t[d.name].defaultValue && 'none' != d.value[0][1] || !n.isColor(_[1]) && !n.isPrefixed(_[1]) ? (n.isUrl(_[1]) || n.isFunction(_[1])) && (i.value = [
_
], A = !0) : (d.value = [
_
], A = !0)
}
if (v && !b && (h.value = f.value.slice(0)), !A) throw new r('Invalid background value at ' + a(g[0][2][0]) + '. Ignoring.');
return m
},
border: p,
borderRadius: function (e, t) {
for (var n = e.value, i = - 1, s = 0, u = n.length; s < u; s++) if (n[s][1] == o.FORWARD_SLASH) {
i = s;
break
}
if (0 === i || i === n.length - 1) throw new r('Invalid border-radius value at ' + a(n[0][2][0]) + '. Ignoring.');
var p = l(e.name, 0, t);
p.value = i > - 1 ? n.slice(0, i) : n.slice(0),
p.components = c(p, t);
var h = l(e.name, 0, t);
h.value = i > - 1 ? n.slice(i + 1) : n.slice(0),
h.components = c(h, t);
for (var f = 0; f < 4; f++) p.components[f].multiplex = !0,
p.components[f].value = p.components[f].value.concat(h.components[f].value);
return p.components
},
font: function (e, t, n) {
var i,
s,
c,
p,
h = l('font-style', 0, t),
f = l('font-variant', 0, t),
d = l('font-weight', 0, t),
m = l('font-stretch', 0, t),
g = l('font-size', 0, t),
y = l('line-height', 0, t),
v = l('font-family', 0, t),
b = [
h,
f,
d,
m,
g,
y,
v
],
x = e.value,
A = 0,
E = !1,
_ = !1,
C = !1,
w = !1,
D = !1,
k = !1;
if (!x[A]) throw new r('Missing font values at ' + a(e.all[e.position][1][2][0]) + '. Ignoring.');
if (1 == x.length && 'inherit' == x[0][1]) return h.value = f.value = d.value = m.value = g.value = y.value = v.value = x,
b;
if (1 == x.length && (n.isFontKeyword(x[0][1]) || n.isGlobal(x[0][1]) || n.isPrefixed(x[0][1]))) return x[0][1] = o.INTERNAL + x[0][1],
h.value = f.value = d.value = m.value = g.value = y.value = v.value = x,
b;
if (x.length < 2 || !function (e, t) {
var n,
r,
i;
for (r = 0, i = e.length; r < i; r++) if (n = e[r], t.isFontSizeKeyword(n[1]) || t.isUnit(n[1]) && !t.isDynamicUnit(n[1]) || t.isFunction(n[1])) return !0;
return !1
}(x, n) || !function (e, t) {
var n,
r,
i;
for (r = 0, i = e.length; r < i; r++) if (n = e[r], t.isIdentifier(n[1])) return !0;
return !1
}(x, n)) throw new r('Invalid font values at ' + a(e.all[e.position][1][2][0]) + '. Ignoring.');
if (x.length > 1 && u(x)) throw new r('Invalid font values at ' + a(x[0][2][0]) + '. Ignoring.');
for (; A < 4; ) {
if (i = n.isFontStretchKeyword(x[A][1]) || n.isGlobal(x[A][1]), s = n.isFontStyleKeyword(x[A][1]) || n.isGlobal(x[A][1]), c = n.isFontVariantKeyword(x[A][1]) || n.isGlobal(x[A][1]), p = n.isFontWeightKeyword(x[A][1]) || n.isGlobal(x[A][1]), s && !_) h.value = [
x[A]
],
_ = !0;
else if (c && !C) f.value = [
x[A]
],
C = !0;
else if (p && !w) d.value = [
x[A]
],
w = !0;
else {
if (!i || E) {
if (s && _ || c && C || p && w || i && E) throw new r('Invalid font style / variant / weight / stretch value at ' + a(x[0][2][0]) + '. Ignoring.');
break
}
m.value = [
x[A]
],
E = !0
}
A++
}
if (!(n.isFontSizeKeyword(x[A][1]) || n.isUnit(x[A][1]) && !n.isDynamicUnit(x[A][1]))) throw new r('Missing font size at ' + a(x[0][2][0]) + '. Ignoring.');
if (g.value = [
x[A]
], D = !0, !x[++A]) throw new r('Missing font family at ' + a(x[0][2][0]) + '. Ignoring.');
for (D && x[A] && x[A][1] == o.FORWARD_SLASH && x[A + 1] && (n.isLineHeightKeyword(x[A + 1][1]) || n.isUnit(x[A + 1][1]) || n.isNumber(x[A + 1][1])) && (y.value = [
x[A + 1]
], A++, A++), v.value = [
]; x[A]; ) x[A][1] == o.COMMA ? k = !1 : (k ? v.value[v.value.length - 1][1] += o.SPACE + x[A][1] : v.value.push(x[A]), k = !0),
A++;
if (0 === v.value.length) throw new r('Missing font family at ' + a(x[0][2][0]) + '. Ignoring.');
return b
},
fourValues: c,
listStyle: function (e, t, n) {
var r = l('list-style-type', 0, t),
i = l('list-style-position', 0, t),
s = l('list-style-image', 0, t),
o = [
r,
i,
s
];
if (1 == e.value.length && 'inherit' == e.value[0][1]) return r.value = i.value = s.value = [
e.value[0]
],
o;
var a = e.value.slice(0),
u = a.length,
c = 0;
for (c = 0, u = a.length; c < u; c++) if (n.isUrl(a[c][1]) || '0' == a[c][1]) {
s.value = [
a[c]
],
a.splice(c, 1);
break
}
for (c = 0, u = a.length; c < u; c++) if (n.isListStylePositionKeyword(a[c][1])) {
i.value = [
a[c]
],
a.splice(c, 1);
break
}
return a.length > 0 && (n.isListStyleTypeKeyword(a[0][1]) || n.isIdentifier(a[0][1])) && (r.value = [
a[0]
]),
o
},
multiplex: function (e) {
return function (t, n, r) {
var i,
a,
u,
c,
p = [
],
h = t.value;
for (i = 0, u = h.length; i < u; i++) ',' == h[i][1] && p.push(i);
if (0 === p.length) return e(t, n, r);
var f = [
];
for (i = 0, u = p.length; i <= u; i++) {
var d = 0 === i ? 0 : p[i - 1] + 1,
m = i < u ? p[i] : h.length,
g = l(t.name, 0, n);
g.value = h.slice(d, m),
f.push(e(g, n, r))
}
var y = f[0];
for (i = 0, u = y.length; i < u; i++) for (y[i].multiplex = !0, a = 1, c = f.length; a < c; a++) y[i].value.push([s.PROPERTY_VALUE,
o.COMMA]),
Array.prototype.push.apply(y[i].value, f[a][i].value);
return y
}
},
outline: p,
transition: function (e, t, n) {
var i,
s,
o,
c = l(e.name + '-property', 0, t),
p = l(e.name + '-duration', 0, t),
h = l(e.name + '-timing-function', 0, t),
f = l(e.name + '-delay', 0, t),
d = [
c,
p,
h,
f
],
m = e.value,
g = !1,
y = !1,
v = !1,
b = !1;
if (1 == e.value.length && 'inherit' == e.value[0][1]) return c.value = p.value = h.value = f.value = e.value,
d;
if (m.length > 1 && u(m)) throw new r('Invalid animation values at ' + a(m[0][2][0]) + '. Ignoring.');
for (s = 0, o = m.length; s < o; s++) if (i = m[s], n.isTime(i[1]) && !g) p.value = [
i
],
g = !0;
else if (n.isTime(i[1]) && !y) f.value = [
i
],
y = !0;
else if (!n.isGlobal(i[1]) && !n.isTimingFunction(i[1]) || b) {
if (!n.isIdentifier(i[1]) || v) throw new r('Invalid animation value at ' + a(i[2][0]) + '. Ignoring.');
c.value = [
i
],
v = !0
} else h.value = [
i
],
b = !0;
return d
}
}
},
{
'../../tokenizer/marker': 121,
'../../tokenizer/token': 122,
'../../utils/format-position': 125,
'../wrap-for-optimizing': 96,
'./invalid-property-error': 61
}
],
57: [
function (e, t, n) {
var r = e('./properties/understandable');
function i(e) {
return function (t, n, i) {
return !(!r(t, n, i, 0, !0) && !t.isKeyword(e) (i)) && (!(!t.isVariable(n) || !t.isVariable(i)) || t.isKeyword(e) (i))
}
}
function s(e) {
return function (t, n, i) {
return !!(r(t, n, i, 0, !0) || t.isKeyword(e) (i) || t.isGlobal(i)) && (!(!t.isVariable(n) || !t.isVariable(i)) || (t.isKeyword(e) (i) || t.isGlobal(i)))
}
}
function o(e, t, n) {
return !!function (e, t, n) {
return !(!e.isFunction(t) || !e.isFunction(n)) && t.substring(0, t.indexOf('(')) === n.substring(0, n.indexOf('('))
}(e, t, n) || t === n
}
function a(e, t, n) {
return !(!r(e, t, n, 0, !0) && !e.isUnit(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || !(e.isUnit(t) && !e.isUnit(n)) && (!!e.isUnit(n) || !e.isUnit(t) && (!(!e.isFunction(t) || e.isPrefixed(t) || !e.isFunction(n) || e.isPrefixed(n)) || o(e, t, n))))
}
function u(e) {
var t = s(e);
return function (e, n, r) {
return a(e, n, r) || t(e, n, r)
}
}
t.exports = {
generic: {
color: function (e, t, n) {
return !(!r(e, t, n, 0, !0) && !e.isColor(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || !(!e.colorOpacity && (e.isRgbColor(t) || e.isHslColor(t))) && !(!e.colorOpacity && (e.isRgbColor(n) || e.isHslColor(n))) && (!(!e.isColor(t) || !e.isColor(n)) || o(e, t, n)))
},
components: function (e) {
return function (t, n, r, i) {
return e[i](t, n, r)
}
},
image: function (e, t, n) {
return !(!r(e, t, n, 0, !0) && !e.isImage(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || !!e.isImage(n) || !e.isImage(t) && o(e, t, n))
},
propertyName: function (e, t, n) {
return !(!r(e, t, n, 0, !0) && !e.isIdentifier(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || e.isIdentifier(n))
},
time: function (e, t, n) {
return !(!r(e, t, n, 0, !0) && !e.isTime(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || !(e.isTime(t) && !e.isTime(n)) && (!!e.isTime(n) || !e.isTime(t) && (!(!e.isFunction(t) || e.isPrefixed(t) || !e.isFunction(n) || e.isPrefixed(n)) || o(e, t, n))))
},
timingFunction: function (e, t, n) {
return !!(r(e, t, n, 0, !0) || e.isTimingFunction(n) || e.isGlobal(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || e.isTimingFunction(n) || e.isGlobal(n))
},
unit: a,
unitOrNumber: function (e, t, n) {
return !!(r(e, t, n, 0, !0) || e.isUnit(n) || e.isNumber(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || !((e.isUnit(t) || e.isNumber(t)) && !e.isUnit(n) && !e.isNumber(n)) && (!(!e.isUnit(n) && !e.isNumber(n)) || !e.isUnit(t) && !e.isNumber(t) && (!(!e.isFunction(t) || e.isPrefixed(t) || !e.isFunction(n) || e.isPrefixed(n)) || o(e, t, n))))
}
},
property: {
animationDirection: s('animation-direction'),
animationFillMode: i('animation-fill-mode'),
animationIterationCount: function (e, t, n) {
return !!(r(e, t, n, 0, !0) || e.isAnimationIterationCountKeyword(n) || e.isPositiveNumber(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || e.isAnimationIterationCountKeyword(n) || e.isPositiveNumber(n))
},
animationName: function (e, t, n) {
return !!(r(e, t, n, 0, !0) || e.isAnimationNameKeyword(n) || e.isIdentifier(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || e.isAnimationNameKeyword(n) || e.isIdentifier(n))
},
animationPlayState: s('animation-play-state'),
backgroundAttachment: i('background-attachment'),
backgroundClip: s('background-clip'),
backgroundOrigin: i('background-origin'),
backgroundPosition: function (e, t, n) {
return !!(r(e, t, n, 0, !0) || e.isBackgroundPositionKeyword(n) || e.isGlobal(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || !(!e.isBackgroundPositionKeyword(n) && !e.isGlobal(n)) || a(e, t, n))
},
backgroundRepeat: i('background-repeat'),
backgroundSize: function (e, t, n) {
return !!(r(e, t, n, 0, !0) || e.isBackgroundSizeKeyword(n) || e.isGlobal(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || !(!e.isBackgroundSizeKeyword(n) && !e.isGlobal(n)) || a(e, t, n))
},
bottom: u('bottom'),
borderCollapse: i('border-collapse'),
borderStyle: s('*-style'),
clear: s('clear'),
cursor: s('cursor'),
display: s('display'),
float: s('float'),
left: u('left'),
fontFamily: function (e, t, n) {
return r(e, t, n, 0, !0)
},
fontStretch: s('font-stretch'),
fontStyle: s('font-style'),
fontVariant: s('font-variant'),
fontWeight: s('font-weight'),
listStyleType: s('list-style-type'),
listStylePosition: s('list-style-position'),
outlineStyle: s('*-style'),
overflow: s('overflow'),
position: s('position'),
right: u('right'),
textAlign: s('text-align'),
textDecoration: s('text-decoration'),
textOverflow: s('text-overflow'),
textShadow: function (e, t, n) {
return !!(r(e, t, n, 0, !0) || e.isUnit(n) || e.isColor(n) || e.isGlobal(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || e.isUnit(n) || e.isColor(n) || e.isGlobal(n))
},
top: u('top'),
transform: o,
verticalAlign: u('vertical-align'),
visibility: s('visibility'),
whiteSpace: s('white-space'),
zIndex: function (e, t, n) {
return !(!r(e, t, n, 0, !0) && !e.isZIndex(n)) && (!(!e.isVariable(t) || !e.isVariable(n)) || e.isZIndex(n))
}
}
}
},
{
'./properties/understandable': 78
}
],
58: [
function (e, t, n) {
var r = e('../wrap-for-optimizing').single,
i = e('../../tokenizer/token');
function s(e) {
var t = r([i.PROPERTY,
[
i.PROPERTY_NAME,
e.name
]]);
return t.important = e.important,
t.hack = e.hack,
t.unused = !1,
t
}
t.exports = {
deep: function (e) {
for (var t = s(e), n = e.components.length - 1; n >= 0; n--) {
var r = s(e.components[n]);
r.value = e.components[n].value.slice(0),
t.components.unshift(r)
}
return t.dirty = !0,
t.value = e.value.slice(0),
t
},
shallow: s
}
},
{
'../../tokenizer/token': 122,
'../wrap-for-optimizing': 96
}
],
59: [
function (e, t, n) {
var r = e('./break-up'),
i = e('./can-override'),
s = e('./restore'),
o = e('../../utils/override'),
a = {
animation: {
canOverride: i.generic.components([i.generic.time,
i.generic.timingFunction,
i.generic.time,
i.property.animationIterationCount,
i.property.animationDirection,
i.property.animationFillMode,
i.property.animationPlayState,
i.property.animationName]),
components: [
'animation-duration',
'animation-timing-function',
'animation-delay',
'animation-iteration-count',
'animation-direction',
'animation-fill-mode',
'animation-play-state',
'animation-name'
],
breakUp: r.multiplex(r.animation),
defaultValue: 'none',
restore: s.multiplex(s.withoutDefaults),
shorthand: !0,
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-delay': {
canOverride: i.generic.time,
componentOf: [
'animation'
],
defaultValue: '0s',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-direction': {
canOverride: i.property.animationDirection,
componentOf: [
'animation'
],
defaultValue: 'normal',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-duration': {
canOverride: i.generic.time,
componentOf: [
'animation'
],
defaultValue: '0s',
intoMultiplexMode: 'real',
keepUnlessDefault: 'animation-delay',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-fill-mode': {
canOverride: i.property.animationFillMode,
componentOf: [
'animation'
],
defaultValue: 'none',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-iteration-count': {
canOverride: i.property.animationIterationCount,
componentOf: [
'animation'
],
defaultValue: '1',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-name': {
canOverride: i.property.animationName,
componentOf: [
'animation'
],
defaultValue: 'none',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-play-state': {
canOverride: i.property.animationPlayState,
componentOf: [
'animation'
],
defaultValue: 'running',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'animation-timing-function': {
canOverride: i.generic.timingFunction,
componentOf: [
'animation'
],
defaultValue: 'ease',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
background: {
canOverride: i.generic.components([i.generic.image,
i.property.backgroundPosition,
i.property.backgroundSize,
i.property.backgroundRepeat,
i.property.backgroundAttachment,
i.property.backgroundOrigin,
i.property.backgroundClip,
i.generic.color]),
components: [
'background-image',
'background-position',
'background-size',
'background-repeat',
'background-attachment',
'background-origin',
'background-clip',
'background-color'
],
breakUp: r.multiplex(r.background),
defaultValue: '0 0',
restore: s.multiplex(s.background),
shortestValue: '0',
shorthand: !0
},
'background-attachment': {
canOverride: i.property.backgroundAttachment,
componentOf: [
'background'
],
defaultValue: 'scroll',
intoMultiplexMode: 'real'
},
'background-clip': {
canOverride: i.property.backgroundClip,
componentOf: [
'background'
],
defaultValue: 'border-box',
intoMultiplexMode: 'real',
shortestValue: 'border-box'
},
'background-color': {
canOverride: i.generic.color,
componentOf: [
'background'
],
defaultValue: 'transparent',
intoMultiplexMode: 'real',
multiplexLastOnly: !0,
nonMergeableValue: 'none',
shortestValue: 'red'
},
'background-image': {
canOverride: i.generic.image,
componentOf: [
'background'
],
defaultValue: 'none',
intoMultiplexMode: 'default'
},
'background-origin': {
canOverride: i.property.backgroundOrigin,
componentOf: [
'background'
],
defaultValue: 'padding-box',
intoMultiplexMode: 'real',
shortestValue: 'border-box'
},
'background-position': {
canOverride: i.property.backgroundPosition,
componentOf: [
'background'
],
defaultValue: [
'0',
'0'
],
doubleValues: !0,
intoMultiplexMode: 'real',
shortestValue: '0'
},
'background-repeat': {
canOverride: i.property.backgroundRepeat,
componentOf: [
'background'
],
defaultValue: [
'repeat'
],
doubleValues: !0,
intoMultiplexMode: 'real'
},
'background-size': {
canOverride: i.property.backgroundSize,
componentOf: [
'background'
],
defaultValue: [
'auto'
],
doubleValues: !0,
intoMultiplexMode: 'real',
shortestValue: '0 0'
},
bottom: {
canOverride: i.property.bottom,
defaultValue: 'auto'
},
border: {
breakUp: r.border,
canOverride: i.generic.components([i.generic.unit,
i.property.borderStyle,
i.generic.color]),
components: [
'border-width',
'border-style',
'border-color'
],
defaultValue: 'none',
overridesShorthands: [
'border-bottom',
'border-left',
'border-right',
'border-top'
],
restore: s.withoutDefaults,
shorthand: !0,
shorthandComponents: !0
},
'border-bottom': {
breakUp: r.border,
canOverride: i.generic.components([i.generic.unit,
i.property.borderStyle,
i.generic.color]),
components: [
'border-bottom-width',
'border-bottom-style',
'border-bottom-color'
],
defaultValue: 'none',
restore: s.withoutDefaults,
shorthand: !0
},
'border-bottom-color': {
canOverride: i.generic.color,
componentOf: [
'border-bottom',
'border-color'
],
defaultValue: 'none'
},
'border-bottom-left-radius': {
canOverride: i.generic.unit,
componentOf: [
'border-radius'
],
defaultValue: '0',
vendorPrefixes: [
'-moz-',
'-o-'
]
},
'border-bottom-right-radius': {
canOverride: i.generic.unit,
componentOf: [
'border-radius'
],
defaultValue: '0',
vendorPrefixes: [
'-moz-',
'-o-'
]
},
'border-bottom-style': {
canOverride: i.property.borderStyle,
componentOf: [
'border-bottom',
'border-style'
],
defaultValue: 'none'
},
'border-bottom-width': {
canOverride: i.generic.unit,
componentOf: [
'border-bottom',
'border-width'
],
defaultValue: 'medium',
oppositeTo: 'border-top-width',
shortestValue: '0'
},
'border-collapse': {
canOverride: i.property.borderCollapse,
defaultValue: 'separate'
},
'border-color': {
breakUp: r.fourValues,
canOverride: i.generic.components([i.generic.color,
i.generic.color,
i.generic.color,
i.generic.color]),
componentOf: [
'border'
],
components: [
'border-top-color',
'border-right-color',
'border-bottom-color',
'border-left-color'
],
defaultValue: 'none',
restore: s.fourValues,
shortestValue: 'red',
shorthand: !0
},
'border-left': {
breakUp: r.border,
canOverride: i.generic.components([i.generic.unit,
i.property.borderStyle,
i.generic.color]),
components: [
'border-left-width',
'border-left-style',
'border-left-color'
],
defaultValue: 'none',
restore: s.withoutDefaults,
shorthand: !0
},
'border-left-color': {
canOverride: i.generic.color,
componentOf: [
'border-color',
'border-left'
],
defaultValue: 'none'
},
'border-left-style': {
canOverride: i.property.borderStyle,
componentOf: [
'border-left',
'border-style'
],
defaultValue: 'none'
},
'border-left-width': {
canOverride: i.generic.unit,
componentOf: [
'border-left',
'border-width'
],
defaultValue: 'medium',
oppositeTo: 'border-right-width',
shortestValue: '0'
},
'border-radius': {
breakUp: r.borderRadius,
canOverride: i.generic.components([i.generic.unit,
i.generic.unit,
i.generic.unit,
i.generic.unit]),
components: [
'border-top-left-radius',
'border-top-right-radius',
'border-bottom-right-radius',
'border-bottom-left-radius'
],
defaultValue: '0',
restore: s.borderRadius,
shorthand: !0,
vendorPrefixes: [
'-moz-',
'-o-'
]
},
'border-right': {
breakUp: r.border,
canOverride: i.generic.components([i.generic.unit,
i.property.borderStyle,
i.generic.color]),
components: [
'border-right-width',
'border-right-style',
'border-right-color'
],
defaultValue: 'none',
restore: s.withoutDefaults,
shorthand: !0
},
'border-right-color': {
canOverride: i.generic.color,
componentOf: [
'border-color',
'border-right'
],
defaultValue: 'none'
},
'border-right-style': {
canOverride: i.property.borderStyle,
componentOf: [
'border-right',
'border-style'
],
defaultValue: 'none'
},
'border-right-width': {
canOverride: i.generic.unit,
componentOf: [
'border-right',
'border-width'
],
defaultValue: 'medium',
oppositeTo: 'border-left-width',
shortestValue: '0'
},
'border-style': {
breakUp: r.fourValues,
canOverride: i.generic.components([i.property.borderStyle,
i.property.borderStyle,
i.property.borderStyle,
i.property.borderStyle]),
componentOf: [
'border'
],
components: [
'border-top-style',
'border-right-style',
'border-bottom-style',
'border-left-style'
],
defaultValue: 'none',
restore: s.fourValues,
shorthand: !0
},
'border-top': {
breakUp: r.border,
canOverride: i.generic.components([i.generic.unit,
i.property.borderStyle,
i.generic.color]),
components: [
'border-top-width',
'border-top-style',
'border-top-color'
],
defaultValue: 'none',
restore: s.withoutDefaults,
shorthand: !0
},
'border-top-color': {
canOverride: i.generic.color,
componentOf: [
'border-color',
'border-top'
],
defaultValue: 'none'
},
'border-top-left-radius': {
canOverride: i.generic.unit,
componentOf: [
'border-radius'
],
defaultValue: '0',
vendorPrefixes: [
'-moz-',
'-o-'
]
},
'border-top-right-radius': {
canOverride: i.generic.unit,
componentOf: [
'border-radius'
],
defaultValue: '0',
vendorPrefixes: [
'-moz-',
'-o-'
]
},
'border-top-style': {
canOverride: i.property.borderStyle,
componentOf: [
'border-style',
'border-top'
],
defaultValue: 'none'
},
'border-top-width': {
canOverride: i.generic.unit,
componentOf: [
'border-top',
'border-width'
],
defaultValue: 'medium',
oppositeTo: 'border-bottom-width',
shortestValue: '0'
},
'border-width': {
breakUp: r.fourValues,
canOverride: i.generic.components([i.generic.unit,
i.generic.unit,
i.generic.unit,
i.generic.unit]),
componentOf: [
'border'
],
components: [
'border-top-width',
'border-right-width',
'border-bottom-width',
'border-left-width'
],
defaultValue: 'medium',
restore: s.fourValues,
shortestValue: '0',
shorthand: !0
},
clear: {
canOverride: i.property.clear,
defaultValue: 'none'
},
color: {
canOverride: i.generic.color,
defaultValue: 'transparent',
shortestValue: 'red'
},
cursor: {
canOverride: i.property.cursor,
defaultValue: 'auto'
},
display: {
canOverride: i.property.display
},
float: {
canOverride: i.property.float,
defaultValue: 'none'
},
font: {
breakUp: r.font,
canOverride: i.generic.components([i.property.fontStyle,
i.property.fontVariant,
i.property.fontWeight,
i.property.fontStretch,
i.generic.unit,
i.generic.unit,
i.property.fontFamily]),
components: [
'font-style',
'font-variant',
'font-weight',
'font-stretch',
'font-size',
'line-height',
'font-family'
],
restore: s.font,
shorthand: !0
},
'font-family': {
canOverride: i.property.fontFamily,
defaultValue: 'user|agent|specific'
},
'font-size': {
canOverride: i.generic.unit,
defaultValue: 'medium',
shortestValue: '0'
},
'font-stretch': {
canOverride: i.property.fontStretch,
defaultValue: 'normal'
},
'font-style': {
canOverride: i.property.fontStyle,
defaultValue: 'normal'
},
'font-variant': {
canOverride: i.property.fontVariant,
defaultValue: 'normal'
},
'font-weight': {
canOverride: i.property.fontWeight,
defaultValue: 'normal',
shortestValue: '400'
},
height: {
canOverride: i.generic.unit,
defaultValue: 'auto',
shortestValue: '0'
},
left: {
canOverride: i.property.left,
defaultValue: 'auto'
},
'line-height': {
canOverride: i.generic.unitOrNumber,
defaultValue: 'normal',
shortestValue: '0'
},
'list-style': {
canOverride: i.generic.components([i.property.listStyleType,
i.property.listStylePosition,
i.property.listStyleImage]),
components: [
'list-style-type',
'list-style-position',
'list-style-image'
],
breakUp: r.listStyle,
restore: s.withoutDefaults,
defaultValue: 'outside',
shortestValue: 'none',
shorthand: !0
},
'list-style-image': {
canOverride: i.generic.image,
componentOf: [
'list-style'
],
defaultValue: 'none'
},
'list-style-position': {
canOverride: i.property.listStylePosition,
componentOf: [
'list-style'
],
defaultValue: 'outside',
shortestValue: 'inside'
},
'list-style-type': {
canOverride: i.property.listStyleType,
componentOf: [
'list-style'
],
defaultValue: 'decimal|disc',
shortestValue: 'none'
},
margin: {
breakUp: r.fourValues,
canOverride: i.generic.components([i.generic.unit,
i.generic.unit,
i.generic.unit,
i.generic.unit]),
components: [
'margin-top',
'margin-right',
'margin-bottom',
'margin-left'
],
defaultValue: '0',
restore: s.fourValues,
shorthand: !0
},
'margin-bottom': {
canOverride: i.generic.unit,
componentOf: [
'margin'
],
defaultValue: '0',
oppositeTo: 'margin-top'
},
'margin-left': {
canOverride: i.generic.unit,
componentOf: [
'margin'
],
defaultValue: '0',
oppositeTo: 'margin-right'
},
'margin-right': {
canOverride: i.generic.unit,
componentOf: [
'margin'
],
defaultValue: '0',
oppositeTo: 'margin-left'
},
'margin-top': {
canOverride: i.generic.unit,
componentOf: [
'margin'
],
defaultValue: '0',
oppositeTo: 'margin-bottom'
},
outline: {
canOverride: i.generic.components([i.generic.color,
i.property.outlineStyle,
i.generic.unit]),
components: [
'outline-color',
'outline-style',
'outline-width'
],
breakUp: r.outline,
restore: s.withoutDefaults,
defaultValue: '0',
shorthand: !0
},
'outline-color': {
canOverride: i.generic.color,
componentOf: [
'outline'
],
defaultValue: 'invert',
shortestValue: 'red'
},
'outline-style': {
canOverride: i.property.outlineStyle,
componentOf: [
'outline'
],
defaultValue: 'none'
},
'outline-width': {
canOverride: i.generic.unit,
componentOf: [
'outline'
],
defaultValue: 'medium',
shortestValue: '0'
},
overflow: {
canOverride: i.property.overflow,
defaultValue: 'visible'
},
'overflow-x': {
canOverride: i.property.overflow,
defaultValue: 'visible'
},
'overflow-y': {
canOverride: i.property.overflow,
defaultValue: 'visible'
},
padding: {
breakUp: r.fourValues,
canOverride: i.generic.components([i.generic.unit,
i.generic.unit,
i.generic.unit,
i.generic.unit]),
components: [
'padding-top',
'padding-right',
'padding-bottom',
'padding-left'
],
defaultValue: '0',
restore: s.fourValues,
shorthand: !0
},
'padding-bottom': {
canOverride: i.generic.unit,
componentOf: [
'padding'
],
defaultValue: '0',
oppositeTo: 'padding-top'
},
'padding-left': {
canOverride: i.generic.unit,
componentOf: [
'padding'
],
defaultValue: '0',
oppositeTo: 'padding-right'
},
'padding-right': {
canOverride: i.generic.unit,
componentOf: [
'padding'
],
defaultValue: '0',
oppositeTo: 'padding-left'
},
'padding-top': {
canOverride: i.generic.unit,
componentOf: [
'padding'
],
defaultValue: '0',
oppositeTo: 'padding-bottom'
},
position: {
canOverride: i.property.position,
defaultValue: 'static'
},
right: {
canOverride: i.property.right,
defaultValue: 'auto'
},
'text-align': {
canOverride: i.property.textAlign,
defaultValue: 'left|right'
},
'text-decoration': {
canOverride: i.property.textDecoration,
defaultValue: 'none'
},
'text-overflow': {
canOverride: i.property.textOverflow,
defaultValue: 'none'
},
'text-shadow': {
canOverride: i.property.textShadow,
defaultValue: 'none'
},
top: {
canOverride: i.property.top,
defaultValue: 'auto'
},
transform: {
canOverride: i.property.transform,
vendorPrefixes: [
'-moz-',
'-ms-',
'-webkit-'
]
},
transition: {
breakUp: r.multiplex(r.transition),
canOverride: i.generic.components([i.property.transitionProperty,
i.generic.time,
i.generic.timingFunction,
i.generic.time]),
components: [
'transition-property',
'transition-duration',
'transition-timing-function',
'transition-delay'
],
defaultValue: 'none',
restore: s.multiplex(s.withoutDefaults),
shorthand: !0,
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'transition-delay': {
canOverride: i.generic.time,
componentOf: [
'transition'
],
defaultValue: '0s',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'transition-duration': {
canOverride: i.generic.time,
componentOf: [
'transition'
],
defaultValue: '0s',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'transition-property': {
canOverride: i.generic.propertyName,
componentOf: [
'transition'
],
defaultValue: 'all',
intoMultiplexMode: 'placeholder',
placeholderValue: '_',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'transition-timing-function': {
canOverride: i.generic.timingFunction,
componentOf: [
'transition'
],
defaultValue: 'ease',
intoMultiplexMode: 'real',
vendorPrefixes: [
'-moz-',
'-o-',
'-webkit-'
]
},
'vertical-align': {
canOverride: i.property.verticalAlign,
defaultValue: 'baseline'
},
visibility: {
canOverride: i.property.visibility,
defaultValue: 'visible'
},
'white-space': {
canOverride: i.property.whiteSpace,
defaultValue: 'normal'
},
width: {
canOverride: i.generic.unit,
defaultValue: 'auto',
shortestValue: '0'
},
'z-index': {
canOverride: i.property.zIndex,
defaultValue: 'auto'
}
};
function u(e, t) {
var n = o(a[e], {
});
return 'componentOf' in n && (n.componentOf = n.componentOf.map(function (e) {
return t + e
})),
'components' in n && (n.components = n.components.map(function (e) {
return t + e
})),
'keepUnlessDefault' in n && (n.keepUnlessDefault = t + n.keepUnlessDefault),
n
}
var l = {
};
for (var c in a) {
var p = a[c];
if ('vendorPrefixes' in p) {
for (var h = 0; h < p.vendorPrefixes.length; h++) {
var f = p.vendorPrefixes[h],
d = u(c, f);
delete d.vendorPrefixes,
l[f + c] = d
}
delete p.vendorPrefixes
}
}
t.exports = o(a, l)
},
{
'../../utils/override': 133,
'./break-up': 56,
'./can-override': 57,
'./restore': 87
}
],
60: [
function (e, t, n) {
var r = e('../../tokenizer/token'),
i = e('../../writer/one-time').rules,
s = e('../../writer/one-time').value;
function o(e) {
return 'list-style' == e ? e : e.indexOf('-radius') > 0 ? 'border-radius' : 'border-collapse' == e || 'border-spacing' == e || 'border-image' == e ? e : 0 === e.indexOf('border-') && /^border\-\w+\-\w+$/.test(e) ? e.match(/border\-\w+/) [0] : 0 === e.indexOf('border-') && /^border\-\w+$/.test(e) ? 'border' : 0 === e.indexOf('text-') ? e : '-chrome-' == e ? e : e.replace(/^\-\w+\-/, '').match(/([a-zA-Z]+)/) [0].toLowerCase()
}
t.exports = function e(t) {
var n,
a,
u,
l,
c,
p,
h = [
];
if (t[0] == r.RULE) for (n = !/[\.\+>~]/.test(i(t[1])), c = 0, p = t[2].length; c < p; c++) (a = t[2][c]) [0] == r.PROPERTY && 0 !== (u = a[1][1]).length && 0 !== u.indexOf('--') && (l = s(a, c), h.push([u,
l,
o(u),
t[2][c],
u + ':' + l,
t[1],
n]));
else if (t[0] == r.NESTED_BLOCK) for (c = 0, p = t[2].length; c < p; c++) h = h.concat(e(t[2][c]));
return h
}
},
{
'../../tokenizer/token': 122,
'../../writer/one-time': 136
}
],
61: [
function (e, t, n) {
function r(e) {
this.name = 'InvalidPropertyError',
this.message = e,
this.stack = (new Error).stack
}
r.prototype = Object.create(Error.prototype),
r.prototype.constructor = r,
t.exports = r
},
{
}
],
62: [
function (e, t, n) {
var r = e('../../tokenizer/marker'),
i = e('../../utils/split'),
s = /\/deep\//,
o = /^::/,
a = ':not',
u = [
':dir',
':lang',
':not',
':nth-child',
':nth-last-child',
':nth-last-of-type',
':nth-of-type'
],
l = /[>\+~]/,
c = [
':after',
':before',
':first-letter',
':first-line',
':lang'
],
p = [
'::after',
'::before',
'::first-letter',
'::first-line'
],
h = {
DOUBLE_QUOTE: 'double-quote',
SINGLE_QUOTE: 'single-quote',
ROOT: 'root'
};
function f(e) {
return s.test(e)
}
function d(e) {
var t,
n,
i,
s,
o,
a,
u = [
],
c = [
],
p = h.ROOT,
f = 0,
d = !1,
m = !1;
for (o = 0, a = e.length; o < a; o++) t = e[o],
s = !i && l.test(t),
n = p == h.DOUBLE_QUOTE || p == h.SINGLE_QUOTE,
i ? c.push(t) : t == r.DOUBLE_QUOTE && p == h.ROOT ? (c.push(t), p = h.DOUBLE_QUOTE) : t == r.DOUBLE_QUOTE && p == h.DOUBLE_QUOTE ? (c.push(t), p = h.ROOT) : t == r.SINGLE_QUOTE && p == h.ROOT ? (c.push(t), p = h.SINGLE_QUOTE) : t == r.SINGLE_QUOTE && p == h.SINGLE_QUOTE ? (c.push(t), p = h.ROOT) : n ? c.push(t) : t == r.OPEN_ROUND_BRACKET ? (c.push(t), f++) : t == r.CLOSE_ROUND_BRACKET && 1 == f && d ? (c.push(t), u.push(c.join('')), f--, c = [
], d = !1) : t == r.CLOSE_ROUND_BRACKET ? (c.push(t), f--) : t == r.COLON && 0 === f && d && !m ? (u.push(c.join('')), (c = [
]).push(t)) : t != r.COLON || 0 !== f || m ? t == r.SPACE && 0 === f && d ? (u.push(c.join('')), c = [
], d = !1) : s && 0 === f && d ? (u.push(c.join('')), c = [
], d = !1) : c.push(t) : ((c = [
]).push(t), d = !0),
i = t == r.BACK_SLASH,
m = t == r.COLON;
return c.length > 0 && d && u.push(c.join('')),
u
}
function m(e, t, n, i, s) {
return function (e, t, n) {
var i,
s,
o,
a;
for (o = 0, a = e.length; o < a; o++) if (i = e[o], s = i.indexOf(r.OPEN_ROUND_BRACKET) > - 1 ? i.substring(0, i.indexOf(r.OPEN_ROUND_BRACKET)) : i, - 1 === t.indexOf(s) && - 1 === n.indexOf(s)) return !1;
return !0
}(t, n, i) && function (e) {
var t,
n,
i,
s,
o,
a;
for (o = 0, a = e.length; o < a; o++) {
if (t = e[o], i = t.indexOf(r.OPEN_ROUND_BRACKET), n = (s = i > - 1) ? t.substring(0, i) : t, s && - 1 == u.indexOf(n)) return !1;
if (!s && u.indexOf(n) > - 1) return !1
}
return !0
}(t) && (t.length < 2 || !function (e, t) {
var n,
i,
s,
o,
u,
l,
c,
p,
h = 0;
for (c = 0, p = t.length; c < p && (n = t[c], s = t[c + 1]); c++) if (i = e.indexOf(n, h), o = e.indexOf(n, i + 1), h = o, i + n.length == o && (u = n.indexOf(r.OPEN_ROUND_BRACKET) > - 1 ? n.substring(0, n.indexOf(r.OPEN_ROUND_BRACKET)) : n, l = s.indexOf(r.OPEN_ROUND_BRACKET) > - 1 ? s.substring(0, s.indexOf(r.OPEN_ROUND_BRACKET)) : s, u != a || l != a)) return !0;
return !1
}(e, t)) && (t.length < 2 || s && function (e) {
var t,
n,
r,
i = 0;
for (n = 0, r = e.length; n < r; n++) if (t = e[n], s = t, o.test(s) ? i += p.indexOf(t) > - 1 ? 1 : 0 : i += c.indexOf(t) > - 1 ? 1 : 0, i > 1) return !1;
var s;
return !0
}(t))
}
t.exports = function (e, t, n, s) {
var o,
a,
u,
l = i(e, r.COMMA);
for (a = 0, u = l.length; a < u; a++) if (0 === (o = l[a]).length || f(o) || o.indexOf(r.COLON) > - 1 && !m(o, d(o), t, n, s)) return !1;
return !0
}
},
{
'../../tokenizer/marker': 121,
'../../utils/split': 134
}
],
63: [
function (e, t, n) {
var r = e('./is-mergeable'),
i = e('./properties/optimize'),
s = e('../level-1/sort-selectors'),
o = e('../level-1/tidy-rules'),
a = e('../../options/optimization-level').OptimizationLevel,
u = e('../../writer/one-time').body,
l = e('../../writer/one-time').rules,
c = e('../../tokenizer/token');
t.exports = function (e, t) {
for (var n = [
null,
[
],
[
]
], p = t.options, h = p.compatibility.selectors.adjacentSpace, f = p.level[a.One].selectorsSortingMethod, d = p.compatibility.selectors.mergeablePseudoClasses, m = p.compatibility.selectors.mergeablePseudoElements, g = p.compatibility.selectors.mergeLimit, y = p.compatibility.selectors.multiplePseudoMerging, v = 0, b = e.length; v < b; v++) {
var x = e[v];
x[0] == c.RULE ? n[0] == c.RULE && l(x[1]) == l(n[1]) ? (Array.prototype.push.apply(n[2], x[2]), i(n[2], !0, !0, t), x[2] = [
]) : n[0] == c.RULE && u(x[2]) == u(n[2]) && r(l(x[1]), d, m, y) && r(l(n[1]), d, m, y) && n[1].length < g ? (n[1] = o(n[1].concat(x[1]), !1, h, !1, t.warnings), n[1] = n.length > 1 ? s(n[1], f) : n[1], x[2] = [
]) : n = x : n = [
null,
[
],
[
]
]
}
}
},
{
'../../options/optimization-level': 103,
'../../tokenizer/token': 122,
'../../writer/one-time': 136,
'../level-1/sort-selectors': 52,
'../level-1/tidy-rules': 55,
'./is-mergeable': 62,
'./properties/optimize': 74
}
],
64: [
function (e, t, n) {
var r = e('./reorderable').canReorder,
i = e('./reorderable').canReorderSingle,
s = e('./extract-properties'),
o = e('./rules-overlap'),
a = e('../../writer/one-time').rules,
u = e('../../options/optimization-level').OptimizationLevel,
l = e('../../tokenizer/token');
function c(e, t, n) {
var r,
s,
a,
u,
l,
c,
p,
h;
for (l = 0, c = e.length; l < c; l++) for (s = (r = e[l]) [5], p = 0, h = t.length; p < h; p++) if (u = (a = t[p]) [5], o(s, u, !0) && !i(r, a, n)) return !1;
return !0
}
t.exports = function (e, t) {
for (var n = t.options.level[u.Two].mergeSemantically, i = t.cache.specificity, o = {
}, p = [
], h = e.length - 1; h >= 0; h--) {
var f = e[h];
if (f[0] == l.NESTED_BLOCK) {
var d = a(f[1]),
m = o[d];
m || (m = [
], o[d] = m),
m.push(h)
}
}
for (var g in o) {
var y = o[g];
e: for (var v = y.length - 1; v > 0; v--) {
var b = y[v],
x = e[b],
A = y[v - 1],
E = e[A];
t: for (var _ = 1; _ >= - 1; _ -= 2) {
for (var C = 1 == _, w = C ? b + 1 : A - 1, D = C ? A : b, k = C ? 1 : - 1, S = C ? x : E, T = C ? E : x, F = s(S); w != D; ) {
var O = s(e[w]);
if (w += k, !(n && c(F, O, i) || r(F, O, i))) continue t
}
T[2] = C ? S[2].concat(T[2]) : T[2].concat(S[2]),
S[2] = [
],
p.push(T);
continue e
}
}
}
return p
}
},
{
'../../options/optimization-level': 103,
'../../tokenizer/token': 122,
'../../writer/one-time': 136,
'./extract-properties': 60,
'./reorderable': 85,
'./rules-overlap': 89
}
],
65: [
function (e, t, n) {
var r = e('./is-mergeable'),
i = e('../level-1/sort-selectors'),
s = e('../level-1/tidy-rules'),
o = e('../../options/optimization-level').OptimizationLevel,
a = e('../../writer/one-time').body,
u = e('../../writer/one-time').rules,
l = e('../../tokenizer/token');
function c(e) {
var t = u(e[1]);
return t.indexOf('__') > - 1 || t.indexOf('--') > - 1
}
function p(e) {
return e.replace(/--[^ ,>\+~:]+/g, '')
}
function h(e, t) {
var n = p(u(e[1]));
for (var r in t) {
var i = t[r],
s = p(u(i[1]));
(s.indexOf(n) > - 1 || n.indexOf(s) > - 1) && delete t[r]
}
}
t.exports = function (e, t) {
for (var n, p = t.options, f = p.level[o.Two].mergeSemantically, d = p.compatibility.selectors.adjacentSpace, m = p.level[o.One].selectorsSortingMethod, g = p.compatibility.selectors.mergeablePseudoClasses, y = p.compatibility.selectors.mergeablePseudoElements, v = p.compatibility.selectors.multiplePseudoMerging, b = {
}, x = e.length - 1; x >= 0; x--) {
var A = e[x];
if (A[0] == l.RULE) {
A[2].length > 0 && !f && (n = u(A[1]), /\.|\*| :/.test(n)) && (b = {
}),
A[2].length > 0 && f && c(A) && h(A, b);
var E = a(A[2]),
_ = b[E];
_ && r(u(A[1]), g, y, v) && r(u(_[1]), g, y, v) && (A[2].length > 0 ? (A[1] = s(_[1].concat(A[1]), !1, d, !1, t.warnings), A[1] = A[1].length > 1 ? i(A[1], m) : A[1]) : A[1] = _[1].concat(A[1]), _[2] = [
], b[E] = null),
b[a(A[2])] = A
}
}
}
},
{
'../../options/optimization-level': 103,
'../../tokenizer/token': 122,
'../../writer/one-time': 136,
'../level-1/sort-selectors': 52,
'../level-1/tidy-rules': 55,
'./is-mergeable': 62
}
],
66: [
function (e, t, n) {
var r = e('./reorderable').canReorder,
i = e('./extract-properties'),
s = e('./properties/optimize'),
o = e('../../writer/one-time').rules,
a = e('../../tokenizer/token');
t.exports = function (e, t) {
var n,
u = t.cache.specificity,
l = {
},
c = [
];
for (n = e.length - 1; n >= 0; n--) if (e[n][0] == a.RULE && 0 !== e[n][2].length) {
var p = o(e[n][1]);
l[p] = [
n
].concat(l[p] || [
]),
2 == l[p].length && c.push(p)
}
for (n = c.length - 1; n >= 0; n--) {
var h = l[c[n]];
e: for (var f = h.length - 1; f > 0; f--) {
var d = h[f - 1],
m = e[d],
g = h[f],
y = e[g];
t: for (var v = 1; v >= - 1; v -= 2) {
for (var b = 1 == v, x = b ? d + 1 : g - 1, A = b ? g : d, E = b ? 1 : - 1, _ = b ? m : y, C = b ? y : m, w = i(_); x != A; ) {
var D = i(e[x]);
x += E;
var k = b ? r(w, D, u) : r(D, w, u);
if (!k && !b) continue e;
if (!k && b) continue t
}
b ? (Array.prototype.push.apply(_[2], C[2]), C[2] = _[2]) : Array.prototype.push.apply(C[2], _[2]),
s(C[2], !0, !0, t),
_[2] = [
]
}
}
}
}
},
{
'../../tokenizer/token': 122,
'../../writer/one-time': 136,
'./extract-properties': 60,
'./properties/optimize': 74,
'./reorderable': 85
}
],
67: [
function (e, t, n) {
var r = e('./merge-adjacent'),
i = e('./merge-media-queries'),
s = e('./merge-non-adjacent-by-body'),
o = e('./merge-non-adjacent-by-selector'),
a = e('./reduce-non-adjacent'),
u = e('./remove-duplicate-font-at-rules'),
l = e('./remove-duplicate-media-queries'),
c = e('./remove-duplicates'),
p = e('./remove-unused-at-rules'),
h = e('./restructure'),
f = e('./properties/optimize'),
d = e('../../options/optimization-level').OptimizationLevel,
m = e('../../tokenizer/token');
function g(e, t, n) {
var y,
v,
b = t.options.level[d.Two];
if (function (e, t) {
for (var n = 0, r = e.length; n < r; n++) {
var i = e[n];
if (i[0] == m.NESTED_BLOCK) {
var s = /@(-moz-|-o-|-webkit-)?keyframes/.test(i[1][0][1]);
g(i[2], t, !s)
}
}
}(e, t), function e(t, n) {
for (var r = 0, i = t.length; r < i; r++) {
var s = t[r];
switch (s[0]) {
case m.RULE:
f(s[2], !0, !0, n);
break;
case m.NESTED_BLOCK:
e(s[2], n)
}
}
}(e, t), b.removeDuplicateRules && c(e, t), b.mergeAdjacentRules && r(e, t), b.reduceNonAdjacentRules && a(e, t), b.mergeNonAdjacentRules && 'body' != b.mergeNonAdjacentRules && o(e, t), b.mergeNonAdjacentRules && 'selector' != b.mergeNonAdjacentRules && s(e, t), b.restructureRules && b.mergeAdjacentRules && n && (h(e, t), r(e, t)), b.restructureRules && !b.mergeAdjacentRules && n && h(e, t), b.removeDuplicateFontRules && u(e, t), b.removeDuplicateMediaBlocks && l(e, t), b.removeUnusedAtRules && p(e, t), b.mergeMedia) for (v = (y = i(e, t)).length - 1; v >= 0; v--) g(y[v][2], t, !1);
return b.removeEmpty && function e(t) {
for (var n = 0, r = t.length; n < r; n++) {
var i = t[n],
s = !1;
switch (i[0]) {
case m.RULE:
s = 0 === i[1].length || 0 === i[2].length;
break;
case m.NESTED_BLOCK:
e(i[2]),
s = 0 === i[2].length;
break;
case m.AT_RULE:
s = 0 === i[1].length;
break;
case m.AT_RULE_BLOCK:
s = 0 === i[2].length
}
s && (t.splice(n, 1), n--, r--)
}
}(e),
e
}
t.exports = g
},
{
'../../options/optimization-level': 103,
'../../tokenizer/token': 122,
'./merge-adjacent': 63,
'./merge-media-queries': 64,
'./merge-non-adjacent-by-body': 65,
'./merge-non-adjacent-by-selector': 66,
'./properties/optimize': 74,
'./reduce-non-adjacent': 80,
'./remove-duplicate-font-at-rules': 81,
'./remove-duplicate-media-queries': 82,
'./remove-duplicates': 83,
'./remove-unused-at-rules': 84,
'./restructure': 88
}
],
68: [
function (e, t, n) {
var r = e('../../../tokenizer/marker');
t.exports = function (e, t, n) {
var i,
s,
o,
a = t.value.length,
u = n.value.length,
l = Math.max(a, u),
c = Math.min(a, u) - 1;
for (o = 0; o < l; o++) if (i = t.value[o] && t.value[o][1] || i, s = n.value[o] && n.value[o][1] || s, i != r.COMMA && s != r.COMMA && !e(i, s, o, o <= c)) return !1;
return !0
}
},
{
'../../../tokenizer/marker': 121
}
],
69: [
function (e, t, n) {
var r = e('../compactable');
function i(e, t) {
return e.components.filter(t) [0]
}
t.exports = function (e, t) {
var n,
s = (n = t, function (e) {
return n.name === e.name
});
return i(e, s) || function (e, t) {
var n,
s,
o,
a;
if (r[e.name].shorthandComponents) for (o = 0, a = e.components.length; o < a; o++) if (n = e.components[o], s = i(n, t)) return s
}(e, s)
}
},
{
'../compactable': 59
}
],
70: [
function (e, t, n) {
t.exports = function (e) {
for (var t = e.value.length - 1; t >= 0; t--) if ('inherit' == e.value[t][1]) return !0;
return !1
}
},
{
}
],
71: [
function (e, t, n) {
var r = e('../compactable');
function i(e, t) {
var n = r[e.name];
return 'components' in n && n.components.indexOf(t.name) > - 1
}
t.exports = function (e, t, n) {
return i(e, t) || !n && !!r[e.name].shorthandComponents && function (e, t) {
return e.components.some(function (e) {
return i(e, t)
})
}(e, t)
}
},
{
'../compactable': 59
}
],
72: [
function (e, t, n) {
var r = e('../../../tokenizer/marker');
t.exports = function (e) {
return 'font' != e.name || - 1 == e.value[0][1].indexOf(r.INTERNAL)
}
},
{
'../../../tokenizer/marker': 121
}
],
73: [
function (e, t, n) {
var r = e('./every-values-pair'),
i = e('./has-inherit'),
s = e('./populate-components'),
o = e('../compactable'),
a = e('../clone').deep,
u = e('../restore-with-components'),
l = e('../../restore-from-optimizing'),
c = e('../../wrap-for-optimizing').single,
p = e('../../../writer/one-time').body,
h = e('../../../tokenizer/token');
function f(e, t, n, r) {
var i,
s,
a,
u = e[t];
for (i in n) void 0 !== u && i == u.name || (s = o[i], a = n[i], u && d(n, i, u) ? delete n[i] : s.components.length > Object.keys(a).length || m(a) || g(a, i, r) && y(a) && (v(a) ? b(e, a, i, r) : C(e, a, i, r)))
}
function d(e, t, n) {
var r,
i = o[t],
s = o[n.name];
if ('overridesShorthands' in i && i.overridesShorthands.indexOf(n.name) > - 1) return !0;
if (s && 'componentOf' in s) for (r in e[t]) if (s.componentOf.indexOf(r) > - 1) return !0;
return !1
}
function m(e) {
var t,
n;
for (n in e) {
if (void 0 !== t && e[n].important != t) return !0;
t = e[n].important
}
return !1
}
function g(e, t, n) {
var i,
a,
u,
l,
p = o[t],
f = [
h.PROPERTY,
[
h.PROPERTY_NAME,
t
],
[
h.PROPERTY_VALUE,
p.defaultValue
]
],
d = c(f);
for (s([d], n, [
]), u = 0, l = p.components.length; u < l; u++) if (i = e[p.components[u]], a = o[i.name].canOverride, !r(a.bind(null, n), d.components[u], i)) return !1;
return !0
}
function y(e) {
var t,
n,
r,
i,
s = null;
for (n in e) if (r = e[n], 'restore' in (i = o[n])) {
if (l([r.all[r.position]], u), t = i.restore(r, o).length, null !== s && t !== s) return !1;
s = t
}
return !0
}
function v(e) {
var t,
n,
r = null;
for (t in e) {
if (n = i(e[t]), null !== r && r !== n) return !0;
r = n
}
return !1
}
function b(e, t, n, r) {
var f,
d,
m,
g,
y = function (e, t, n) {
var r,
p,
f,
d,
m,
g,
y = [
],
v = {
},
b = {
},
E = o[t],
_ = [
h.PROPERTY,
[
h.PROPERTY_NAME,
t
],
[
h.PROPERTY_VALUE,
E.defaultValue
]
],
C = c(_);
for (s([C], n, [
]), m = 0, g = E.components.length; m < g; m++) r = e[E.components[m]],
i(r) ? (p = r.all[r.position].slice(0, 2), Array.prototype.push.apply(p, r.value), y.push(p), (f = a(r)).value = x(e, f.name), C.components[m] = f, v[r.name] = a(r)) : ((f = a(r)).all = r.all, C.components[m] = f, b[r.name] = r);
return d = A(b, 1),
_[1].push(d),
l([C], u),
_ = _.slice(0, 2),
Array.prototype.push.apply(_, C.value),
y.unshift(_),
[
y,
C,
v
]
}(t, n, r),
v = function (e, t, n) {
var r,
u,
l,
p,
f,
d,
m = [
],
g = {
},
y = {
},
v = o[t],
b = [
h.PROPERTY,
[
h.PROPERTY_NAME,
t
],
[
h.PROPERTY_VALUE,
'inherit'
]
],
x = c(b);
for (s([x], n, [
]), f = 0, d = v.components.length; f < d; f++) r = e[v.components[f]],
i(r) ? g[r.name] = r : (u = r.all[r.position].slice(0, 2), Array.prototype.push.apply(u, r.value), m.push(u), y[r.name] = a(r));
return l = A(g, 1),
b[1].push(l),
p = A(g, 2),
b[2].push(p),
m.unshift(b),
[
m,
x,
y
]
}(t, n, r),
b = y[0],
E = v[0],
C = p(b).length < p(E).length,
w = C ? b : E,
D = C ? y[1] : v[1],
k = C ? y[2] : v[2],
S = t[Object.keys(t) [0]].all;
for (f in D.position = S.length, D.shorthand = !0, D.dirty = !0, D.all = S, D.all.push(w[0]), e.push(D), t) (d = t[f]).unused = !0,
d.name in k && (m = k[d.name], g = _(w, f), m.position = S.length, m.all = S, m.all.push(g), e.push(m))
}
function x(e, t) {
var n = o[t];
return 'oppositeTo' in n ? e[n.oppositeTo].value : [
[h.PROPERTY_VALUE,
n.defaultValue]
]
}
function A(e, t) {
var n,
r,
i,
s,
o = [
];
for (s in e) i = (r = (n = e[s]).all[n.position]) [t][r[t].length - 1],
Array.prototype.push.apply(o, i);
return o.sort(E)
}
function E(e, t) {
var n = e[0],
r = t[0],
i = e[1],
s = t[1];
return n < r ? - 1 : n === r && i < s ? - 1 : 1
}
function _(e, t) {
var n,
r;
for (n = 0, r = e.length; n < r; n++) if (e[n][1][1] == t) return e[n]
}
function C(e, t, n, r) {
var i,
u,
l,
p = o[n],
f = [
h.PROPERTY,
[
h.PROPERTY_NAME,
n
],
[
h.PROPERTY_VALUE,
p.defaultValue
]
],
d = c(f);
d.shorthand = !0,
d.dirty = !0,
s([d], r, [
]);
for (var m = 0, g = p.components.length; m < g; m++) {
var y = t[p.components[m]];
d.components[m] = a(y),
d.important = y.important,
l = y.all
}
for (var v in t) t[v].unused = !0;
i = A(t, 1),
f[1].push(i),
u = A(t, 2),
f[2].push(u),
d.position = l.length,
d.all = l,
d.all.push(f),
e.push(d)
}
t.exports = function (e, t) {
var n,
r,
i,
s,
a,
u,
l,
c = {
};
if (!(e.length < 3)) {
for (s = 0, a = e.length; s < a; s++) if (i = e[s], n = o[i.name], !i.unused && !i.hack && !i.block && (f(e, s, c, t), n && n.componentOf)) for (u = 0, l = n.componentOf.length; u < l; u++) c[r = n.componentOf[u]] = c[r] || {
},
c[r][i.name] = i;
f(e, s, c, t)
}
}
},
{
'../../../tokenizer/token': 122,
'../../../writer/one-time': 136,
'../../restore-from-optimizing': 94,
'../../wrap-for-optimizing': 96,
'../clone': 58,
'../compactable': 59,
'../restore-with-components': 86,
'./every-values-pair': 68,
'./has-inherit': 70,
'./populate-components': 77
}
],
74: [
function (e, t, n) {
var r = e('./merge-into-shorthands'),
i = e('./override-properties'),
s = e('./populate-components'),
o = e('../restore-with-components'),
a = e('../../wrap-for-optimizing').all,
u = e('../../remove-unused'),
l = e('../../restore-from-optimizing'),
c = e('../../../options/optimization-level').OptimizationLevel;
t.exports = function e(t, n, p, h) {
var f,
d,
m,
g = h.options.level[c.Two],
y = a(t, !1, g.skipProperties);
for (s(y, h.validator, h.warnings), d = 0, m = y.length; d < m; d++) (f = y[d]).block && e(f.value[0][1], n, p, h);
p && g.mergeIntoShorthands && r(y, h.validator),
n && g.overrideProperties && i(y, p, h.options.compatibility, h.validator),
l(y, o),
u(y)
}
},
{
'../../../options/optimization-level': 103,
'../../remove-unused': 93,
'../../restore-from-optimizing': 94,
'../../wrap-for-optimizing': 96,
'../restore-with-components': 86,
'./merge-into-shorthands': 73,
'./override-properties': 75,
'./populate-components': 77
}
],
75: [
function (e, t, n) {
var r = e('./has-inherit'),
i = e('./every-values-pair'),
s = e('./find-component-in'),
o = e('./is-component-of'),
a = e('./is-mergeable-shorthand'),
u = e('./overrides-non-component-shorthand'),
l = e('./vendor-prefixes').same,
c = e('../compactable'),
p = e('../clone').deep,
h = e('../restore-with-components'),
f = e('../clone').shallow,
d = e('../../restore-from-optimizing'),
m = e('../../../tokenizer/token'),
g = e('../../../tokenizer/marker'),
y = e('../../../writer/one-time').property;
function v(e, t) {
for (var n = 0; n < e.components.length; n++) {
var r = e.components[n],
s = c[r.name],
o = s && s.canOverride || o.sameValue,
a = f(r);
if (a.value = [
[m.PROPERTY_VALUE,
s.defaultValue]
], !i(o.bind(null, t), a, r)) return !0
}
return !1
}
function b(e, t) {
t.unused = !0,
_(t, w(e)),
e.value = t.value
}
function x(e, t) {
t.unused = !0,
e.multiplex = !0,
e.value = t.value
}
function A(e, t) {
t.multiplex ? x(e, t) : e.multiplex ? b(e, t) : function (e, t) {
t.unused = !0,
e.value = t.value
}(e, t)
}
function E(e, t) {
t.unused = !0;
for (var n = 0, r = e.components.length; n < r; n++) A(e.components[n], t.components[n], e.multiplex)
}
function _(e, t) {
e.multiplex = !0,
c[e.name].shorthand ? function (e, t) {
var n,
r,
i;
for (r = 0, i = e.components.length; r < i; r++) (n = e.components[r]).multiplex || C(n, t)
}(e, t) : C(e, t)
}
function C(e, t) {
for (var n, r = c[e.name], i = 'real' == r.intoMultiplexMode, s = 'real' == r.intoMultiplexMode ? e.value.slice(0) : 'placeholder' == r.intoMultiplexMode ? r.placeholderValue : r.defaultValue, o = w(e), a = s.length; o < t; o++) if (e.value.push([m.PROPERTY_VALUE,
g.COMMA]), Array.isArray(s)) for (n = 0; n < a; n++) e.value.push(i ? s[n] : [
m.PROPERTY_VALUE,
s[n]
]);
else e.value.push(i ? s : [
m.PROPERTY_VALUE,
s
])
}
function w(e) {
for (var t = 0, n = 0, r = e.value.length; n < r; n++) e.value[n][1] == g.COMMA && t++;
return t + 1
}
function D(e) {
var t = [
m.PROPERTY,
[
m.PROPERTY_NAME,
e.name
]
].concat(e.value);
return y([t], 0).length
}
function k(e, t, n) {
for (var r = 0, i = t; i >= 0 && (e[i].name != n || e[i].unused || r++, !(r > 1)); i--);
return r > 1
}
function S(e, t) {
for (var n = 0, r = e.components.length; n < r; n++) if (!T(t.isUrl, e.components[n]) && T(t.isFunction, e.components[n])) return !0;
return !1
}
function T(e, t) {
for (var n = 0, r = t.value.length; n < r; n++) if (t.value[n][1] != g.COMMA && e(t.value[n][1])) return !0;
return !1
}
function F(e, t) {
if (!e.multiplex && !t.multiplex || e.multiplex && t.multiplex) return !1;
var n,
r = e.multiplex ? e : t,
i = e.multiplex ? t : e,
o = p(r);
d([o], h);
var a = p(i);
d([a], h);
var u = D(o) + 1 + D(a);
return e.multiplex ? b(n = s(o, a), a) : (n = s(a, o), _(a, w(o)), x(n, o)),
d([a], h),
u <= D(a)
}
function O(e) {
return e.name in c
}
function B(e, t) {
return !e.multiplex && ('background' == e.name || 'background-image' == e.name) && t.multiplex && ('background' == t.name || 'background-image' == t.name) && function (e) {
for (var t = function (e) {
for (var t = [
], n = 0, r = [
], i = e.length; n < i; n++) {
var s = e[n];
s[1] == g.COMMA ? (t.push(r), r = [
]) : r.push(s)
}
return t.push(r),
t
}(e), n = 0, r = t.length; n < r; n++) if (1 == t[n].length && 'none' == t[n][0][1]) return !0;
return !1
}(t.value)
}
t.exports = function (e, t, n, p) {
var h,
f,
d,
m,
g,
y,
b,
x,
C,
D,
P;
e: for (C = e.length - 1; C >= 0; C--) if (O(f = e[C]) && !f.block) {
h = c[f.name].canOverride;
t: for (D = C - 1; D >= 0; D--) if (O(d = e[D]) && !d.block && !d.unused && !f.unused && (!d.hack || f.hack || f.important) && (d.hack || d.important || !f.hack) && (d.important != f.important || d.hack[0] == f.hack[0]) && !(d.important == f.important && (d.hack[0] != f.hack[0] || d.hack[1] && d.hack[1] != f.hack[1]) || r(f) || B(d, f))) if (f.shorthand && o(f, d)) {
if (!f.important && d.important) continue;
if (!l([d], f.components)) continue;
if (!T(p.isFunction, d) && S(f, p)) continue;
if (!a(f)) {
d.unused = !0;
continue
}
m = s(f, d),
h = c[d.name].canOverride,
i(h.bind(null, p), d, m) && (d.unused = !0)
} else if (f.shorthand && u(f, d)) {
if (!f.important && d.important) continue;
if (!l([d], f.components)) continue;
if (!T(p.isFunction, d) && S(f, p)) continue;
for (P = (g = d.shorthand ? d.components : [
d
]).length - 1; P >= 0; P--) if (y = g[P], b = s(f, y), h = c[y.name].canOverride, !i(h.bind(null, p), d, b)) continue t;
d.unused = !0
} else if (t && d.shorthand && !f.shorthand && o(d, f, !0)) {
if (f.important && !d.important) continue;
if (!f.important && d.important) {
f.unused = !0;
continue
}
if (k(e, C - 1, d.name)) continue;
if (S(d, p)) continue;
if (!a(d)) continue;
if (m = s(d, f), i(h.bind(null, p), m, f)) {
var N = !n.properties.backgroundClipMerging && m.name.indexOf('background-clip') > - 1 || !n.properties.backgroundOriginMerging && m.name.indexOf('background-origin') > - 1 || !n.properties.backgroundSizeMerging && m.name.indexOf('background-size') > - 1,
R = c[f.name].nonMergeableValue === f.value[0][1];
if (N || R) continue;
if (!n.properties.merging && v(d, p)) continue;
if (m.value[0][1] != f.value[0][1] && (r(d) || r(f))) continue;
if (F(d, f)) continue;
!d.multiplex && f.multiplex && _(d, w(f)),
A(m, f),
d.dirty = !0
}
} else if (t && d.shorthand && f.shorthand && d.name == f.name) {
if (!d.multiplex && f.multiplex) continue;
if (!f.important && d.important) {
f.unused = !0;
continue e
}
if (f.important && !d.important) {
d.unused = !0;
continue
}
if (!a(f)) {
d.unused = !0;
continue
}
for (P = d.components.length - 1; P >= 0; P--) {
var L = d.components[P],
I = f.components[P];
if (h = c[L.name].canOverride, !i(h.bind(null, p), L, I)) continue e
}
E(d, f),
d.dirty = !0
} else if (t && d.shorthand && f.shorthand && o(d, f)) {
if (!d.important && f.important) continue;
if (m = s(d, f), h = c[f.name].canOverride, !i(h.bind(null, p), m, f)) continue;
if (d.important && !f.important) {
f.unused = !0;
continue
}
if (c[f.name].restore(f, c).length > 1) continue;
A(m = s(d, f), f),
f.dirty = !0
} else if (d.name == f.name) {
if (x = !0, f.shorthand) for (P = f.components.length - 1; P >= 0 && x; P--) y = d.components[P],
b = f.components[P],
h = c[b.name].canOverride,
x = x && i(h.bind(null, p), y, b);
else h = c[f.name].canOverride,
x = i(h.bind(null, p), d, f);
if (d.important && !f.important && x) {
f.unused = !0;
continue
}
if (!d.important && f.important && x) {
d.unused = !0;
continue
}
if (!x) continue;
d.unused = !0
}
}
}
},
{
'../../../tokenizer/marker': 121,
'../../../tokenizer/token': 122,
'../../../writer/one-time': 136,
'../../restore-from-optimizing': 94,
'../clone': 58,
'../compactable': 59,
'../restore-with-components': 86,
'./every-values-pair': 68,
'./find-component-in': 69,
'./has-inherit': 70,
'./is-component-of': 71,
'./is-mergeable-shorthand': 72,
'./overrides-non-component-shorthand': 76,
'./vendor-prefixes': 79
}
],
76: [
function (e, t, n) {
var r = e('../compactable');
t.exports = function (e, t) {
return e.name in r && 'overridesShorthands' in r[e.name] && r[e.name].overridesShorthands.indexOf(t.name) > - 1
}
},
{
'../compactable': 59
}
],
77: [
function (e, t, n) {
var r = e('../compactable'),
i = e('../invalid-property-error');
t.exports = function (e, t, n) {
for (var s, o, a, u = e.length - 1; u >= 0; u--) {
var l = e[u],
c = r[l.name];
if (c && c.shorthand) {
l.shorthand = !0,
l.dirty = !0;
try {
if (l.components = c.breakUp(l, r, t), c.shorthandComponents) for (o = 0, a = l.components.length; o < a; o++) (s = l.components[o]).components = r[s.name].breakUp(s, r, t)
} catch (e) {
if (!(e instanceof i)) throw e;
l.components = [
],
n.push(e.message)
}
l.components.length > 0 ? l.multiplex = l.components[0].multiplex : l.unused = !0
}
}
}
},
{
'../compactable': 59,
'../invalid-property-error': 61
}
],
78: [
function (e, t, n) {
var r = e('./vendor-prefixes').same;
t.exports = function (e, t, n, i, s) {
return !(!r(t, n) || s && e.isVariable(t) !== e.isVariable(n))
}
},
{
'./vendor-prefixes': 79
}
],
79: [
function (e, t, n) {
var r = /(?:^|\W)(\-\w+\-)/g;
function i(e) {
for (var t, n = [
]; null !== (t = r.exec(e)); ) - 1 == n.indexOf(t[0]) && n.push(t[0]);
return n
}
t.exports = {
unique: i,
same: function (e, t) {
return i(e).sort().join(',') == i(t).sort().join(',')
}
}
},
{
}
],
80: [
function (e, t, n) {
var r = e('./is-mergeable'),
i = e('./properties/optimize'),
s = e('../../utils/clone-array'),
o = e('../../tokenizer/token'),
a = e('../../writer/one-time').body,
u = e('../../writer/one-time').rules;
function l(e) {
for (var t = [
], n = 0; n < e.length; n++) t.push([e[n][1]]);
return t
}
function c(e, t, n, r, o) {
for (var a = [
], u = [
], l = [
], c = t.length - 1; c >= 0; c--) if (!n.filterOut(c, a)) {
var p = t[c].where,
h = e[p],
f = s(h[2]);
a = a.concat(f),
u.push(f),
l.push(p)
}
i(a, !0, !1, o);
for (var d = l.length, m = a.length - 1, g = d - 1; g >= 0; ) if ((0 === g || a[m] && u[g].indexOf(a[m]) > - 1) && m > - 1) m--;
else {
var y = a.splice(m + 1);
n.callback(e[l[g]], y, d, g),
g--
}
}
t.exports = function (e, t) {
for (var n = t.options, i = n.compatibility.selectors.mergeablePseudoClasses, s = n.compatibility.selectors.mergeablePseudoElements, p = n.compatibility.selectors.multiplePseudoMerging, h = {
}, f = [
], d = e.length - 1; d >= 0; d--) {
var m = e[d];
if (m[0] == o.RULE && 0 !== m[2].length) for (var g = u(m[1]), y = m[1].length > 1 && r(g, i, s, p), v = l(m[1]), b = y ? [
g
].concat(v) : [
g
], x = 0, A = b.length; x < A; x++) {
var E = b[x];
h[E] ? f.push(E) : h[E] = [
],
h[E].push({
where: d,
list: v,
isPartial: y && x > 0,
isComplex: y && 0 === x
})
}
}
!function (e, t, n, r, i) {
function s(e, t) {
return p[e].isPartial && 0 === t.length
}
function o(e, t, n, r) {
p[n - r - 1].isPartial || (e[2] = t)
}
for (var a = 0, u = t.length; a < u; a++) {
var l = t[a],
p = n[l];
c(e, p, {
filterOut: s,
callback: o
}, 0, i)
}
}(e, f, h, 0, t),
function (e, t, n, i) {
var s = n.compatibility.selectors.mergeablePseudoClasses,
o = n.compatibility.selectors.mergeablePseudoElements,
u = n.compatibility.selectors.multiplePseudoMerging,
l = {
};
function p(e) {
return l.data[e].where < l.intoPosition
}
function h(e, t, n, r) {
0 === r && l.reducedBodies.push(t)
}
e: for (var f in t) {
var d = t[f];
if (d[0].isComplex) {
var m = d[d.length - 1].where,
g = e[m],
y = [
],
v = r(f, s, o, u) ? d[0].list : [
f
];
l.intoPosition = m,
l.reducedBodies = y;
for (var b = 0, x = v.length; b < x; b++) {
var A = v[b],
E = t[A];
if (E.length < 2) continue e;
if (l.data = E, c(e, E, {
filterOut: p,
callback: h
}, 0, i), a(y[y.length - 1]) != a(y[0])) continue e
}
g[2] = y[0]
}
}
}(e, h, n, t)
}
},
{
'../../tokenizer/token': 122,
'../../utils/clone-array': 124,
'../../writer/one-time': 136,
'./is-mergeable': 62,
'./properties/optimize': 74
}
],
81: [
function (e, t, n) {
var r = e('../../tokenizer/token'),
i = e('../../writer/one-time').all,
s = '@font-face';
t.exports = function (e) {
var t,
n,
o,
a,
u = [
];
for (o = 0, a = e.length; o < a; o++) (t = e[o]) [0] != r.AT_RULE_BLOCK && t[1][0][1] != s || (n = i([t]), u.indexOf(n) > - 1 ? t[2] = [
] : u.push(n))
}
},
{
'../../tokenizer/token': 122,
'../../writer/one-time': 136
}
],
82: [
function (e, t, n) {
var r = e('../../tokenizer/token'),
i = e('../../writer/one-time').all,
s = e('../../writer/one-time').rules;
t.exports = function (e) {
var t,
n,
o,
a,
u,
l = {
};
for (a = 0, u = e.length; a < u; a++) (n = e[a]) [0] == r.NESTED_BLOCK && ((t = l[o = s(n[1]) + '%' + i(n[2])]) && (t[2] = [
]), l[o] = n)
}
},
{
'../../tokenizer/token': 122,
'../../writer/one-time': 136
}
],
83: [
function (e, t, n) {
var r = e('../../tokenizer/token'),
i = e('../../writer/one-time').body,
s = e('../../writer/one-time').rules;
t.exports = function (e) {
for (var t, n, o, a, u = {
}, l = [
], c = 0, p = e.length; c < p; c++) (n = e[c]) [0] == r.RULE && (u[t = s(n[1])] && 1 == u[t].length ? l.push(t) : u[t] = u[t] || [
], u[t].push(c));
for (c = 0, p = l.length; c < p; c++) {
a = [
];
for (var h = u[t = l[c]].length - 1; h >= 0; h--) n = e[u[t][h]],
o = i(n[2]),
a.indexOf(o) > - 1 ? n[2] = [
] : a.push(o)
}
}
},
{
'../../tokenizer/token': 122,
'../../writer/one-time': 136
}
],
84: [
function (e, t, n) {
var r = e('./properties/populate-components'),
i = e('../wrap-for-optimizing').single,
s = e('../restore-from-optimizing'),
o = e('../../tokenizer/token'),
a = /^(\-moz\-|\-o\-|\-webkit\-)?animation-name$/,
u = /^(\-moz\-|\-o\-|\-webkit\-)?animation$/,
l = /^@(\-moz\-|\-o\-|\-webkit\-)?keyframes /,
c = /\s{0,31}!important$/,
p = /^(['"]?)(.*)\1$/;
function h(e) {
return e.replace(p, '$2').replace(c, '')
}
function f(e, t, n, r) {
var i,
s,
a,
u,
l,
c = {
};
for (u = 0, l = e.length; u < l; u++) t(e[u], c);
if (0 !== Object.keys(c).length) for (i in function e(t, n, r, i) {
var s = n(r);
var a,
u;
for (a = 0, u = t.length; a < u; a++) switch (t[a][0]) {
case o.RULE:
s(t[a], i);
break;
case o.NESTED_BLOCK:
e(t[a][2], n, r, i)
}
}(e, n, c, r), c) for (u = 0, l = (s = c[i]).length; u < l; u++) (a = s[u]) [a[0] == o.AT_RULE ? 1 : 2] = [
]
}
function d(e, t) {
var n;
e[0] == o.AT_RULE_BLOCK && 0 === e[1][0][1].indexOf('@counter-style') && (t[n = e[1][0][1].split(' ') [1]] = t[n] || [
], t[n].push(e))
}
function m(e) {
return function (t, n) {
var o,
a,
u,
l;
for (u = 0, l = t[2].length; u < l; u++) 'list-style' == (o = t[2][u]) [1][1] && (a = i(o), r([a], n.validator, n.warnings), a.components[0].value[0][1] in e && delete e[o[2][1]], s([a])),
'list-style-type' == o[1][1] && o[2][1] in e && delete e[o[2][1]]
}
}
function g(e, t) {
var n,
r,
i,
s;
if (e[0] == o.AT_RULE_BLOCK && '@font-face' == e[1][0][1]) for (i = 0, s = e[2].length; i < s; i++) if ('font-family' == (n = e[2][i]) [1][1]) {
t[r = h(n[2][1].toLowerCase())] = t[r] || [
],
t[r].push(e);
break
}
}
function y(e) {
return function (t, n) {
var o,
a,
u,
l,
c,
p,
f,
d;
for (c = 0, p = t[2].length; c < p; c++) {
if ('font' == (o = t[2][c]) [1][1]) {
for (a = i(o), r([a], n.validator, n.warnings), f = 0, d = (u = a.components[6]).value.length; f < d; f++) (l = h(u.value[f][1].toLowerCase())) in e && delete e[l];
s([a])
}
if ('font-family' == o[1][1]) for (f = 2, d = o.length; f < d; f++) (l = h(o[f][1].toLowerCase())) in e && delete e[l]
}
}
}
function v(e, t) {
var n;
e[0] == o.NESTED_BLOCK && l.test(e[1][0][1]) && (t[n = e[1][0][1].split(' ') [1]] = t[n] || [
], t[n].push(e))
}
function b(e) {
return function (t, n) {
var o,
l,
c,
p,
h,
f,
d;
for (p = 0, h = t[2].length; p < h; p++) {
if (o = t[2][p], u.test(o[1][1])) {
for (l = i(o), r([l], n.validator, n.warnings), f = 0, d = (c = l.components[7]).value.length; f < d; f++) c.value[f][1] in e && delete e[c.value[f][1]];
s([l])
}
if (a.test(o[1][1])) for (f = 2, d = o.length; f < d; f++) o[f][1] in e && delete e[o[f][1]]
}
}
}
function x(e, t) {
var n;
e[0] == o.AT_RULE && 0 === e[1].indexOf('@namespace') && (t[n = e[1].split(' ') [1]] = t[n] || [
], t[n].push(e))
}
function A(e) {
var t = new RegExp(Object.keys(e).join('\\||') + '\\|', 'g');
return function (n) {
var r,
i,
s,
o,
a,
u;
for (s = 0, o = n[1].length; s < o; s++) for (a = 0, u = (r = n[1][s][1].match(t)).length; a < u; a++) (i = r[a].substring(0, r[a].length - 1)) in e && delete e[i]
}
}
t.exports = function (e, t) {
f(e, d, m, t),
f(e, g, y, t),
f(e, v, b, t),
f(e, x, A, t)
}
},
{
'../../tokenizer/token': 122,
'../restore-from-optimizing': 94,
'../wrap-for-optimizing': 96,
'./properties/populate-components': 77
}
],
85: [
function (e, t, n) {
var r = e('./rules-overlap'),
i = e('./specificities-overlap'),
s = /align\-items|box\-align|box\-pack|flex|justify/,
o = /^border\-(top|right|bottom|left|color|style|width|radius)/;
function a(e, t, n) {
var a,
d,
m = e[0],
g = e[1],
y = e[2],
v = e[5],
b = e[6],
x = t[0],
A = t[1],
E = t[2],
_ = t[5],
C = t[6];
return !('font' == m && 'line-height' == x || 'font' == x && 'line-height' == m) && ((!s.test(m) || !s.test(x)) && (!(y == E && l(m) == l(x) && u(m) ^ u(x)) && (('border' != y || !o.test(E) || !('border' == m || m == E || g != A && c(m, x))) && (('border' != E || !o.test(y) || !('border' == x || x == y || g != A && c(m, x))) && (('border' != y || 'border' != E || m == x || !(p(m) && h(x) || h(m) && p(x))) && (y != E || (!(m != x || y != E || g != A && (a = g, d = A, !u(a) || !u(d) || a.split('-') [1] == d.split('-') [2])) || (m != x && y == E && m != y && x != E || (m != x && y == E && g == A || (!(!C || !b || f(y) || f(E) || r(_, v, !1)) || !i(v, _, n)))))))))))
}
function u(e) {
return /^\-(?:moz|webkit|ms|o)\-/.test(e)
}
function l(e) {
return e.replace(/^\-(?:moz|webkit|ms|o)\-/, '')
}
function c(e, t) {
return e.split('-').pop() == t.split('-').pop()
}
function p(e) {
return 'border-top' == e || 'border-right' == e || 'border-bottom' == e || 'border-left' == e
}
function h(e) {
return 'border-color' == e || 'border-style' == e || 'border-width' == e
}
function f(e) {
return 'font' == e || 'line-height' == e || 'list-style' == e
}
t.exports = {
canReorder: function (e, t, n) {
for (var r = t.length - 1; r >= 0; r--) for (var i = e.length - 1; i >= 0; i--) if (!a(e[i], t[r], n)) return !1;
return !0
},
canReorderSingle: a
}
},
{
'./rules-overlap': 89,
'./specificities-overlap': 90
}
],
86: [
function (e, t, n) {
var r = e('./compactable');
t.exports = function (e) {
var t = r[e.name];
return t && t.shorthand ? t.restore(e, r) : e.value
}
},
{
'./compactable': 59
}
],
87: [
function (e, t, n) {
var r = e('./clone').shallow,
i = e('../../tokenizer/token'),
s = e('../../tokenizer/marker');
function o(e) {
for (var t = 0, n = e.length; t < n; t++) {
var r = e[t][1];
if ('inherit' != r && r != s.COMMA && r != s.FORWARD_SLASH) return !1
}
return !0
}
function a(e) {
var t = e.components,
n = t[0].value[0],
r = t[1].value[0],
i = t[2].value[0],
s = t[3].value[0];
return n[1] == r[1] && n[1] == i[1] && n[1] == s[1] ? [
n
] : n[1] == i[1] && r[1] == s[1] ? [
n,
r
] : r[1] == s[1] ? [
n,
r,
i
] : [
n,
r,
i,
s
]
}
function u(e, t, n) {
var r,
i,
s;
for (i = 0, s = e.length; i < s; i++) if ((r = e[i]).name == n && r.value[0][1] == t[n].defaultValue) return !0;
return !1
}
t.exports = {
background: function (e, t, n) {
var r,
a,
u = e.components,
l = [
];
function c(e) {
Array.prototype.unshift.apply(l, e.value)
}
function p(e) {
var n = t[e.name];
return n.doubleValues && 1 == n.defaultValue.length ? e.value[0][1] == n.defaultValue[0] && (!e.value[1] || e.value[1][1] == n.defaultValue[0]) : n.doubleValues && 1 != n.defaultValue.length ? e.value[0][1] == n.defaultValue[0] && (e.value[1] ? e.value[1][1] : e.value[0][1]) == n.defaultValue[1] : e.value[0][1] == n.defaultValue
}
for (var h = u.length - 1; h >= 0; h--) {
var f = u[h],
d = p(f);
if ('background-clip' == f.name) {
var m = u[h - 1],
g = p(m);
a = !(r = f.value[0][1] == m.value[0][1]) && (g && !d || !g && !d || !g && d && f.value[0][1] != m.value[0][1]),
r ? c(m) : a && (c(f), c(m)),
h--
} else if ('background-size' == f.name) {
var y = u[h - 1],
v = p(y);
a = !(r = !v && d) && (v && !d || !v && !d),
r ? c(y) : a ? (c(f), l.unshift([i.PROPERTY_VALUE,
s.FORWARD_SLASH]), c(y)) : 1 == y.value.length && c(y),
h--
} else {
if (d || t[f.name].multiplexLastOnly && !n) continue;
c(f)
}
}
return 0 === l.length && 1 == e.value.length && '0' == e.value[0][1] && l.push(e.value[0]),
0 === l.length && l.push([i.PROPERTY_VALUE,
t[e.name].defaultValue]),
o(l) ? [
l[0]
] : l
},
borderRadius: function (e, t) {
if (e.multiplex) {
for (var n = r(e), o = r(e), u = 0; u < 4; u++) {
var l = e.components[u],
c = r(e);
c.value = [
l.value[0]
],
n.components.push(c);
var p = r(e);
p.value = [
l.value[1] || l.value[0]
],
o.components.push(p)
}
var h = a(n),
f = a(o);
return h.length != f.length || h[0][1] != f[0][1] || h.length > 1 && h[1][1] != f[1][1] || h.length > 2 && h[2][1] != f[2][1] || h.length > 3 && h[3][1] != f[3][1] ? h.concat([[i.PROPERTY_VALUE,
s.FORWARD_SLASH]]).concat(f) : h
}
return a(e)
},
font: function (e, t) {
var n,
r = e.components,
a = [
],
u = 0,
l = 0;
if (0 === e.value[0][1].indexOf(s.INTERNAL)) return e.value[0][1] = e.value[0][1].substring(s.INTERNAL.length),
e.value;
for (; u < 4; ) (n = r[u]).value[0][1] != t[n.name].defaultValue && Array.prototype.push.apply(a, n.value),
u++;
for (Array.prototype.push.apply(a, r[u].value), r[++u].value[0][1] != t[r[u].name].defaultValue && (Array.prototype.push.apply(a, [
[i.PROPERTY_VALUE,
s.FORWARD_SLASH]
]), Array.prototype.push.apply(a, r[u].value)), u++; r[u].value[l]; ) a.push(r[u].value[l]),
r[u].value[l + 1] && a.push([i.PROPERTY_VALUE,
s.COMMA]),
l++;
return o(a) ? [
a[0]
] : a
},
fourValues: a,
multiplex: function (e) {
return function (t, n) {
if (!t.multiplex) return e(t, n, !0);
var o,
a,
u = 0,
l = [
],
c = {
};
for (o = 0, a = t.components[0].value.length; o < a; o++) t.components[0].value[o][1] == s.COMMA && u++;
for (o = 0; o <= u; o++) {
for (var p = r(t), h = 0, f = t.components.length; h < f; h++) {
var d = t.components[h],
m = r(d);
p.components.push(m);
for (var g = c[m.name] || 0, y = d.value.length; g < y; g++) {
if (d.value[g][1] == s.COMMA) {
c[m.name] = g + 1;
break
}
m.value.push(d.value[g])
}
}
var v = e(p, n, o == u);
Array.prototype.push.apply(l, v),
o < u && l.push([i.PROPERTY_VALUE,
s.COMMA])
}
return l
}
},
withoutDefaults: function (e, t) {
for (var n = e.components, r = [
], s = n.length - 1; s >= 0; s--) {
var a = n[s],
l = t[a.name];
(a.value[0][1] != l.defaultValue || 'keepUnlessDefault' in l && !u(n, t, l.keepUnlessDefault)) && r.unshift(a.value[0])
}
return 0 === r.length && r.push([i.PROPERTY_VALUE,
t[e.name].defaultValue]),
o(r) ? [
r[0]
] : r
}
}
},
{
'../../tokenizer/marker': 121,
'../../tokenizer/token': 122,
'./clone': 58
}
],
88: [
function (e, t, n) {
var r = e('./reorderable').canReorderSingle,
i = e('./extract-properties'),
s = e('./is-mergeable'),
o = e('./tidy-rule-duplicates'),
a = e('../../tokenizer/token'),
u = e('../../utils/clone-array'),
l = e('../../writer/one-time').body,
c = e('../../writer/one-time').rules;
function p(e, t) {
return e > t ? 1 : - 1
}
t.exports = function (e, t) {
var n,
h,
f,
d = t.options,
m = d.compatibility.selectors.mergeablePseudoClasses,
g = d.compatibility.selectors.mergeablePseudoElements,
y = d.compatibility.selectors.mergeLimit,
v = d.compatibility.selectors.multiplePseudoMerging,
b = t.cache.specificity,
x = {
},
A = [
],
E = {
},
_ = [
],
C = 2,
w = '%';
function D(e, t) {
var n = function (e) {
for (var t = [
], n = 0, r = e.length; n < r; n++) t.push(c(e[n][1]));
return t.join(w)
}(t);
return E[n] = E[n] || [
],
E[n].push([e,
t]),
n
}
function k(e) {
var t,
n = e.split(w),
r = [
];
for (var i in E) {
var s = i.split(w);
for (t = s.length - 1; t >= 0; t--) if (n.indexOf(s[t]) > - 1) {
r.push(i);
break
}
}
for (t = r.length - 1; t >= 0; t--) delete E[r[t]]
}
function S(e) {
for (var t = [
], n = [
], r = e.length - 1; r >= 0; r--) s(c(e[r][1]), m, g, v) && (n.unshift(e[r]), e[r][2].length > 0 && - 1 == t.indexOf(e[r]) && t.push(e[r]));
return t.length > 1 ? n : [
]
}
function T(e, t) {
var n = t[0],
r = t[1],
i = t[4],
s = n.length + r.length + 1,
a = [
],
u = [
],
l = S(x[i]);
if (!(l.length < 2)) {
var c = O(l, s, 1),
p = c[0];
if (p[1] > 0) return function (e, t, n) {
for (var r = n.length - 1; r >= 0; r--) {
var i = D(t, n[r][0]);
if (E[i].length > 1 && N(e, E[i])) {
k(i);
break
}
}
}(e, t, c);
for (var h = p[0].length - 1; h >= 0; h--) a = p[0][h][1].concat(a),
u.unshift(p[0][h]);
B(e, [
t
], a = o(a), u)
}
}
function F(e, t) {
return e[1] > t[1] ? 1 : e[1] == t[1] ? 0 : - 1
}
function O(e, t, n) {
return function e(t, n, r, i) {
var s = [
[t,
function (e, t, n) {
for (var r = 0, i = e.length - 1; i >= 0; i--) r += e[i][2].length > n ? c(e[i][1]).length : - 1;
return r - (e.length - 1) * t + 1
}(t, n, r)]
];
if (t.length > 2 && i > 0) for (var o = t.length - 1; o >= 0; o--) {
var a = Array.prototype.slice.call(t, 0);
a.splice(o, 1),
s = s.concat(e(a, n, r, i - 1))
}
return s
}(e, t, n, C - 1).sort(F)
}
function B(t, n, r, i) {
var s,
o,
u,
c,
p = [
];
for (s = i.length - 1; s >= 0; s--) {
var h = i[s];
for (o = h[2].length - 1; o >= 0; o--) {
var f = h[2][o];
for (u = 0, c = n.length; u < c; u++) {
var d = n[u],
m = f[1][1],
g = d[0],
y = d[4];
if (m == g && l([f]) == y) {
h[2].splice(o, 1);
break
}
}
}
}
for (s = n.length - 1; s >= 0; s--) p.unshift(n[s][3]);
var v = [
a.RULE,
r,
p
];
e.splice(t, 0, v)
}
function P(e, t) {
var n = t[4],
r = x[n];
r && r.length > 1 && (function (e, t) {
var n,
r,
i = [
],
s = [
],
o = t[4],
a = S(x[o]);
if (!(a.length < 2)) {
e: for (var u in x) {
var l = x[u];
for (n = a.length - 1; n >= 0; n--) if ( - 1 == l.indexOf(a[n])) continue e;
i.push(u)
}
if (i.length < 2) return !1;
for (n = i.length - 1; n >= 0; n--) for (r = A.length - 1; r >= 0; r--) if (A[r][4] == i[n]) {
s.unshift([A[r],
a]);
break
}
return N(e, s)
}
}(e, t) || T(e, t))
}
function N(e, t) {
for (var n, r = 0, i = [
], s = t.length - 1; s >= 0; s--) r += (n = t[s][0]) [4].length + (s > 0 ? 1 : 0),
i.push(n);
var a = O(t[0][1], r, i.length) [0];
if (a[1] > 0) return !1;
var u = [
],
l = [
];
for (s = a[0].length - 1; s >= 0; s--) u = a[0][s][1].concat(u),
l.unshift(a[0][s]);
for (B(e, i, u = o(u), l), s = i.length - 1; s >= 0; s--) {
n = i[s];
var c = A.indexOf(n);
delete x[n[4]],
c > - 1 && - 1 == _.indexOf(c) && _.push(c)
}
return !0
}
function R(e, t, n) {
if (e[0] != t[0]) return !1;
var r = t[4],
i = x[r];
return i && i.indexOf(n) > - 1
}
for (var L = e.length - 1; L >= 0; L--) {
var I,
j,
M,
U,
V,
z = e[L];
if (z[0] == a.RULE) I = !0;
else {
if (z[0] != a.NESTED_BLOCK) continue;
I = !1
}
var q = A.length,
K = i(z);
_ = [
];
var $ = [
];
for (j = K.length - 1; j >= 0; j--) for (M = j - 1; M >= 0; M--) if (!r(K[j], K[M], b)) {
$.push(j);
break
}
for (j = K.length - 1; j >= 0; j--) {
var Y = K[j],
W = !1;
for (M = 0; M < q; M++) {
var G = A[M];
- 1 == _.indexOf(M) && (!r(Y, G, b) && !R(Y, G, z) || x[G[4]] && x[G[4]].length === y) && (P(L + 1, G), - 1 == _.indexOf(M) && (_.push(M), delete x[G[4]])),
W || (W = Y[0] == G[0] && Y[1] == G[1]) && (V = M)
}
if (I && !($.indexOf(j) > - 1)) {
var H = Y[4];
W && A[V][5].length + Y[5].length > y ? (P(L + 1, A[V]), A.splice(V, 1), x[H] = [
z
], W = !1) : (x[H] = x[H] || [
], x[H].push(z)),
W ? A[V] = (n = A[V], h = Y, f = void 0, (f = u(n)) [5] = f[5].concat(h[5]), f) : A.push(Y)
}
}
for (j = 0, U = (_ = _.sort(p)).length; j < U; j++) {
var X = _[j] - j;
A.splice(X, 1)
}
}
for (var J = e[0] && e[0][0] == a.AT_RULE && 0 === e[0][1].indexOf('@charset') ? 1 : 0; J < e.length - 1; J++) {
var Q = e[J][0] === a.AT_RULE && 0 === e[J][1].indexOf('@import'),
Z = e[J][0] === a.COMMENT;
if (!Q && !Z) break
}
for (L = 0; L < A.length; L++) P(J, A[L])
}
},
{
'../../tokenizer/token': 122,
'../../utils/clone-array': 124,
'../../writer/one-time': 136,
'./extract-properties': 60,
'./is-mergeable': 62,
'./reorderable': 85,
'./tidy-rule-duplicates': 92
}
],
89: [
function (e, t, n) {
var r = /\-\-.+$/;
function i(e) {
return e.replace(r, '')
}
t.exports = function (e, t, n) {
var r,
s,
o,
a,
u,
l;
for (o = 0, a = e.length; o < a; o++) for (r = e[o][1], u = 0, l = t.length; u < l; u++) {
if (r == (s = t[u][1])) return !0;
if (n && i(r) == i(s)) return !0
}
return !1
}
},
{
}
],
90: [
function (e, t, n) {
var r = e('./specificity');
function i(e, t) {
var n;
return e in t || (t[e] = n = r(e)),
n || t[e]
}
t.exports = function (e, t, n) {
var r,
s,
o,
a,
u,
l;
for (o = 0, a = e.length; o < a; o++) for (r = i(e[o][1], n), u = 0, l = t.length; u < l; u++) if (s = i(t[u][1], n), r[0] === s[0] && r[1] === s[1] && r[2] === s[2]) return !0;
return !1
}
},
{
'./specificity': 91
}
],
91: [
function (e, t, n) {
var r = e('../../tokenizer/marker'),
i = {
ADJACENT_SIBLING: '+',
DESCENDANT: '>',
DOT: '.',
HASH: '#',
NON_ADJACENT_SIBLING: '~',
PSEUDO: ':'
},
s = /[a-zA-Z]/,
o = ':not(',
a = /[\s,\(>~\+]/;
function u(e, t) {
return e.indexOf(o, t) === t
}
t.exports = function (e) {
var t,
n,
o,
l,
c,
p,
h,
f = [
0,
0,
0
],
d = 0,
m = !1,
g = !1;
for (p = 0, h = e.length; p < h; p++) {
if (t = e[p], n);
else if (t != r.SINGLE_QUOTE || l || o) if (t == r.SINGLE_QUOTE && !l && o) o = !1;
else if (t != r.DOUBLE_QUOTE || l || o) if (t == r.DOUBLE_QUOTE && l && !o) l = !1;
else {
if (o || l) continue;
d > 0 && !m || (t == r.OPEN_ROUND_BRACKET ? d++ : t == r.CLOSE_ROUND_BRACKET && 1 == d ? (d--, m = !1) : t == r.CLOSE_ROUND_BRACKET ? d-- : t == i.HASH ? f[0]++ : t == i.DOT || t == r.OPEN_SQUARE_BRACKET ? f[1]++ : t != i.PSEUDO || g || u(e, p) ? t == i.PSEUDO ? m = !0 : (0 === p || c) && s.test(t) && f[2]++ : (f[1]++, m = !1))
} else l = !0;
else o = !0;
n = t == r.BACK_SLASH,
g = t == i.PSEUDO,
c = !n && a.test(t)
}
return f
}
},
{
'../../tokenizer/marker': 121
}
],
92: [
function (e, t, n) {
function r(e, t) {
return e[1] > t[1] ? 1 : - 1
}
t.exports = function (e) {
for (var t = [
], n = [
], i = 0, s = e.length; i < s; i++) {
var o = e[i];
- 1 == n.indexOf(o[1]) && (n.push(o[1]), t.push(o))
}
return t.sort(r)
}
},
{
}
],
93: [
function (e, t, n) {
t.exports = function (e) {
for (var t = e.length - 1; t >= 0; t--) {
var n = e[t];
n.unused && n.all.splice(n.position, 1)
}
}
},
{
}
],
94: [
function (e, t, n) {
var r = e('./hack'),
i = e('../tokenizer/marker'),
s = '*',
o = '\\',
a = '!important',
u = '_',
l = '!ie';
function c(e) {
e.value[e.value.length - 1][1] += a
}
function p(e) {
e.hack[0] == r.UNDERSCORE ? e.name = u + e.name : e.hack[0] == r.ASTERISK ? e.name = s + e.name : e.hack[0] == r.BACKSLASH ? e.value[e.value.length - 1][1] += o + e.hack[1] : e.hack[0] == r.BANG && (e.value[e.value.length - 1][1] += i.SPACE + l)
}
t.exports = function (e, t) {
var n,
r,
i,
s;
for (s = e.length - 1; s >= 0; s--) (n = e[s]).unused || (n.dirty || n.important || n.hack) && (t ? (r = t(n), n.value = r) : r = n.value, n.important && c(n), n.hack && p(n), 'all' in n && ((i = n.all[n.position]) [1][1] = n.name, i.splice(2, i.length - 1), Array.prototype.push.apply(i, r)))
}
},
{
'../tokenizer/marker': 121,
'./hack': 46
}
],
95: [
function (e, t, n) {
var r = new RegExp('^(\\-moz\\-|\\-webkit\\-)?calc\\([^\\)]+\\)$', 'i'),
i = /[0-9]/,
s = new RegExp('^(var\\(\\-\\-[^\\)]+\\)|[A-Z]+(\\-|[A-Z]|[0-9])+\\(.*?\\)|\\-(\\-|[A-Z]|[0-9])+\\(.*?\\))$', 'i'),
o = /^hsl\(\s{0,31}[\-\.]?\d+\s{0,31},\s{0,31}\.?\d+%\s{0,31},\s{0,31}\.?\d+%\s{0,31}\)|hsla\(\s{0,31}[\-\.]?\d+\s{0,31},\s{0,31}\.?\d+%\s{0,31},\s{0,31}\.?\d+%\s{0,31},\s{0,31}\.?\d+\s{0,31}\)$/,
a = /^(\-[a-z0-9_][a-z0-9\-_]*|[a-z][a-z0-9\-_]*)$/i,
u = /^[a-z]+$/i,
l = /^-([a-z0-9]|-)*$/i,
c = /^rgb\(\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31}\)|rgba\(\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\.\d]+\s{0,31}\)$/,
p = /^(cubic\-bezier|steps)\([^\)]+\)$/,
h = [
'ms',
's'
],
f = /^url\([\s\S]+\)$/i,
d = new RegExp('^var\\(\\-\\-[^\\)]+\\)$', 'i'),
m = /^#[0-9a-f]{8}$/i,
g = /^#[0-9a-f]{4}$/i,
y = /^#[0-9a-f]{6}$/i,
v = /^#[0-9a-f]{3}$/i,
b = '.',
x = '-',
A = '+',
E = {
'^': [
'inherit',
'initial',
'unset'
],
'*-style': [
'auto',
'dashed',
'dotted',
'double',
'groove',
'hidden',
'inset',
'none',
'outset',
'ridge',
'solid'
],
'*-timing-function': [
'ease',
'ease-in',
'ease-in-out',
'ease-out',
'linear',
'step-end',
'step-start'
],
'animation-direction': [
'alternate',
'alternate-reverse',
'normal',
'reverse'
],
'animation-fill-mode': [
'backwards',
'both',
'forwards',
'none'
],
'animation-iteration-count': [
'infinite'
],
'animation-name': [
'none'
],
'animation-play-state': [
'paused',
'running'
],
'background-attachment': [
'fixed',
'inherit',
'local',
'scroll'
],
'background-clip': [
'border-box',
'content-box',
'inherit',
'padding-box',
'text'
],
'background-origin': [
'border-box',
'content-box',
'inherit',
'padding-box'
],
'background-position': [
'bottom',
'center',
'left',
'right',
'top'
],
'background-repeat': [
'no-repeat',
'inherit',
'repeat',
'repeat-x',
'repeat-y',
'round',
'space'
],
'background-size': [
'auto',
'cover',
'contain'
],
'border-collapse': [
'collapse',
'inherit',
'separate'
],
bottom: [
'auto'
],
clear: [
'both',
'left',
'none',
'right'
],
color: [
'transparent'
],
cursor: [
'all-scroll',
'auto',
'col-resize',
'crosshair',
'default',
'e-resize',
'help',
'move',
'n-resize',
'ne-resize',
'no-drop',
'not-allowed',
'nw-resize',
'pointer',
'progress',
'row-resize',
's-resize',
'se-resize',
'sw-resize',
'text',
'vertical-text',
'w-resize',
'wait'
],
display: [
'block',
'inline',
'inline-block',
'inline-table',
'list-item',
'none',
'table',
'table-caption',
'table-cell',
'table-column',
'table-column-group',
'table-footer-group',
'table-header-group',
'table-row',
'table-row-group'
],
float: [
'left',
'none',
'right'
],
left: [
'auto'
],
font: [
'caption',
'icon',
'menu',
'message-box',
'small-caption',
'status-bar',
'unset'
],
'font-size': [
'large',
'larger',
'medium',
'small',
'smaller',
'x-large',
'x-small',
'xx-large',
'xx-small'
],
'font-stretch': [
'condensed',
'expanded',
'extra-condensed',
'extra-expanded',
'normal',
'semi-condensed',
'semi-expanded',
'ultra-condensed',
'ultra-expanded'
],
'font-style': [
'italic',
'normal',
'oblique'
],
'font-variant': [
'normal',
'small-caps'
],
'font-weight': [
'100',
'200',
'300',
'400',
'500',
'600',
'700',
'800',
'900',
'bold',
'bolder',
'lighter',
'normal'
],
'line-height': [
'normal'
],
'list-style-position': [
'inside',
'outside'
],
'list-style-type': [
'armenian',
'circle',
'decimal',
'decimal-leading-zero',
'disc',
'decimal|disc',
'georgian',
'lower-alpha',
'lower-greek',
'lower-latin',
'lower-roman',
'none',
'square',
'upper-alpha',
'upper-latin',
'upper-roman'
],
overflow: [
'auto',
'hidden',
'scroll',
'visible'
],
position: [
'absolute',
'fixed',
'relative',
'static'
],
right: [
'auto'
],
'text-align': [
'center',
'justify',
'left',
'left|right',
'right'
],
'text-decoration': [
'line-through',
'none',
'overline',
'underline'
],
'text-overflow': [
'clip',
'ellipsis'
],
top: [
'auto'
],
'vertical-align': [
'baseline',
'bottom',
'middle',
'sub',
'super',
'text-bottom',
'text-top',
'top'
],
visibility: [
'collapse',
'hidden',
'visible'
],
'white-space': [
'normal',
'nowrap',
'pre'
],
width: [
'inherit',
'initial',
'medium',
'thick',
'thin'
]
},
_ = [
'%',
'ch',
'cm',
'em',
'ex',
'in',
'mm',
'pc',
'pt',
'px',
'rem',
'vh',
'vm',
'vmax',
'vmin',
'vw'
];
function C(e) {
return 'auto' != e && (O('color') (e) || function (e) {
return v.test(e) || g.test(e) || y.test(e) || m.test(e)
}(e) || w(e) || function (e) {
return u.test(e)
}(e))
}
function w(e) {
return P(e) || S(e)
}
function D(e) {
return r.test(e)
}
function k(e) {
return s.test(e)
}
function S(e) {
return o.test(e)
}
function T(e) {
return a.test(e)
}
function F(e) {
return 'none' == e || 'inherit' == e || j(e)
}
function O(e) {
return function (t) {
return E[e].indexOf(t) > - 1
}
}
function B(e) {
return U(e) == e.length
}
function P(e) {
return c.test(e)
}
function N(e) {
return l.test(e)
}
function R(e) {
return B(e) && parseFloat(e) >= 0
}
function L(e) {
return d.test(e)
}
function I(e) {
var t = U(e);
return t == e.length && 0 === parseInt(e) || t > - 1 && h.indexOf(e.slice(t + 1)) > - 1
}
function j(e) {
return f.test(e)
}
function M(e) {
return 'auto' == e || B(e) || O('^') (e)
}
function U(e) {
var t,
n,
r,
s = !1,
o = !1;
for (n = 0, r = e.length; n < r; n++) if (t = e[n], 0 !== n || t != A && t != x) {
if (n > 0 && o && (t == A || t == x)) return n - 1;
if (t != b || s) {
if (t == b && s) return n - 1;
if (i.test(t)) continue;
return n - 1
}
s = !0
} else o = !0;
return n
}
t.exports = function (e) {
var t,
n = _.slice(0).filter(function (t) {
return !(t in e.units) || !0 === e.units[t]
});
return {
colorOpacity: e.colors.opacity,
isAnimationDirectionKeyword: O('animation-direction'),
isAnimationFillModeKeyword: O('animation-fill-mode'),
isAnimationIterationCountKeyword: O('animation-iteration-count'),
isAnimationNameKeyword: O('animation-name'),
isAnimationPlayStateKeyword: O('animation-play-state'),
isTimingFunction: (t = O('*-timing-function'), function (e) {
return t(e) || p.test(e)
}),
isBackgroundAttachmentKeyword: O('background-attachment'),
isBackgroundClipKeyword: O('background-clip'),
isBackgroundOriginKeyword: O('background-origin'),
isBackgroundPositionKeyword: O('background-position'),
isBackgroundRepeatKeyword: O('background-repeat'),
isBackgroundSizeKeyword: O('background-size'),
isColor: C,
isColorFunction: w,
isDynamicUnit: D,
isFontKeyword: O('font'),
isFontSizeKeyword: O('font-size'),
isFontStretchKeyword: O('font-stretch'),
isFontStyleKeyword: O('font-style'),
isFontVariantKeyword: O('font-variant'),
isFontWeightKeyword: O('font-weight'),
isFunction: k,
isGlobal: O('^'),
isHslColor: S,
isIdentifier: T,
isImage: F,
isKeyword: O,
isLineHeightKeyword: O('line-height'),
isListStylePositionKeyword: O('list-style-position'),
isListStyleTypeKeyword: O('list-style-type'),
isNumber: B,
isPrefixed: N,
isPositiveNumber: R,
isRgbColor: P,
isStyleKeyword: O('*-style'),
isTime: I,
isUnit: function (e, t) {
var n = U(t);
return n == t.length && 0 === parseInt(t) || n > - 1 && e.indexOf(t.slice(n + 1)) > - 1 || 'auto' == t || 'inherit' == t
}.bind(null, n),
isUrl: j,
isVariable: L,
isWidth: O('width'),
isZIndex: M
}
}
},
{
}
],
96: [
function (e, t, n) {
var r = e('./hack'),
i = e('../tokenizer/marker'),
s = e('../tokenizer/token'),
o = {
ASTERISK: '*',
BACKSLASH: '\\',
BANG: '!',
BANG_SUFFIX_PATTERN: /!\w+$/,
IMPORTANT_TOKEN: '!important',
IMPORTANT_TOKEN_PATTERN: new RegExp('!important$', 'i'),
IMPORTANT_WORD: 'important',
IMPORTANT_WORD_PATTERN: new RegExp('important$', 'i'),
SUFFIX_BANG_PATTERN: /!$/,
UNDERSCORE: '_',
VARIABLE_REFERENCE_PATTERN: /var\(--.+\)$/
};
function a(e) {
var t,
n,
r;
for (t = 2, n = e.length; t < n; t++) if ((r = e[t]) [0] == s.PROPERTY_VALUE && u(r[1])) return !0;
return !1
}
function u(e) {
return o.VARIABLE_REFERENCE_PATTERN.test(e)
}
function l(e) {
var t = function (e) {
if (e.length < 3) return !1;
var t = e[e.length - 1];
return !!o.IMPORTANT_TOKEN_PATTERN.test(t[1]) || !(!o.IMPORTANT_WORD_PATTERN.test(t[1]) || !o.SUFFIX_BANG_PATTERN.test(e[e.length - 2][1]))
}(e);
t && function (e) {
var t = e[e.length - 1],
n = e[e.length - 2];
o.IMPORTANT_TOKEN_PATTERN.test(t[1]) ? t[1] = t[1].replace(o.IMPORTANT_TOKEN_PATTERN, '') : (t[1] = t[1].replace(o.IMPORTANT_WORD_PATTERN, ''), n[1] = n[1].replace(o.SUFFIX_BANG_PATTERN, '')),
0 === t[1].length && e.pop(),
0 === n[1].length && e.pop()
}(e);
var n = function (e) {
var t = !1,
n = e[1][1],
i = e[e.length - 1];
return n[0] == o.UNDERSCORE ? t = [
r.UNDERSCORE
] : n[0] == o.ASTERISK ? t = [
r.ASTERISK
] : i[1][0] != o.BANG || i[1].match(o.IMPORTANT_WORD_PATTERN) ? i[1].indexOf(o.BANG) > 0 && !i[1].match(o.IMPORTANT_WORD_PATTERN) && o.BANG_SUFFIX_PATTERN.test(i[1]) ? t = [
r.BANG
] : i[1].indexOf(o.BACKSLASH) > 0 && i[1].indexOf(o.BACKSLASH) == i[1].length - o.BACKSLASH.length - 1 ? t = [
r.BACKSLASH,
i[1].substring(i[1].indexOf(o.BACKSLASH) + 1)
] : 0 === i[1].indexOf(o.BACKSLASH) && 2 == i[1].length && (t = [
r.BACKSLASH,
i[1].substring(1)
]) : t = [
r.BANG
],
t
}(e);
return n[0] == r.ASTERISK || n[0] == r.UNDERSCORE ? function (e) {
e[1][1] = e[1][1].substring(1)
}(e) : n[0] != r.BACKSLASH && n[0] != r.BANG || function (e, t) {
var n = e[e.length - 1];
n[1] = n[1].substring(0, n[1].indexOf(t[0] == r.BACKSLASH ? o.BACKSLASH : o.BANG)).trim(),
0 === n[1].length && e.pop()
}(e, n),
{
block: e[2] && e[2][0] == s.PROPERTY_BLOCK,
components: [
],
dirty: !1,
hack: n,
important: t,
name: e[1][1],
multiplex: e.length > 3 && function (e) {
var t,
n,
r;
for (n = 3, r = e.length; n < r; n++) if ((t = e[n]) [0] == s.PROPERTY_VALUE && (t[1] == i.COMMA || t[1] == i.FORWARD_SLASH)) return !0;
return !1
}(e),
position: 0,
shorthand: !1,
unused: !1,
value: e.slice(2)
}
}
t.exports = {
all: function (e, t, n) {
var r,
i,
o,
u = [
];
for (o = e.length - 1; o >= 0; o--) (i = e[o]) [0] == s.PROPERTY && (!t && a(i) || n && n.indexOf(i[1][1]) > - 1 || ((r = l(i)).all = e, r.position = o, u.unshift(r)));
return u
},
single: l
}
},
{
'../tokenizer/marker': 121,
'../tokenizer/token': 122,
'./hack': 46
}
],
97: [
function (e, t, n) {
var r = {
'*': {
colors: {
opacity: !0
},
properties: {
backgroundClipMerging: !0,
backgroundOriginMerging: !0,
backgroundSizeMerging: !0,
colors: !0,
ieBangHack: !1,
ieFilters: !1,
iePrefixHack: !1,
ieSuffixHack: !1,
merging: !0,
shorterLengthUnits: !1,
spaceAfterClosingBrace: !0,
urlQuotes: !1,
zeroUnits: !0
},
selectors: {
adjacentSpace: !1,
ie7Hack: !1,
mergeablePseudoClasses: [
':active',
':after',
':before',
':empty',
':checked',
':disabled',
':empty',
':enabled',
':first-child',
':first-letter',
':first-line',
':first-of-type',
':focus',
':hover',
':lang',
':last-child',
':last-of-type',
':link',
':not',
':nth-child',
':nth-last-child',
':nth-last-of-type',
':nth-of-type',
':only-child',
':only-of-type',
':root',
':target',
':visited'
],
mergeablePseudoElements: [
'::after',
'::before',
'::first-letter',
'::first-line'
],
mergeLimit: 8191,
multiplePseudoMerging: !0
},
units: {
ch: !0,
in : !0,
pc: !0,
pt: !0,
rem: !0,
vh: !0,
vm: !0,
vmax: !0,
vmin: !0,
vw: !0
}
}
};
function i(e, t) {
for (var n in e) {
var r = e[n];
'object' != typeof r || Array.isArray(r) ? t[n] = n in t ? t[n] : r : t[n] = i(r, t[n] || {
})
}
return t
}
r.ie11 = r['*'],
r.ie10 = r['*'],
r.ie9 = i(r['*'], {
properties: {
ieFilters: !0,
ieSuffixHack: !0
}
}),
r.ie8 = i(r.ie9, {
colors: {
opacity: !1
},
properties: {
backgroundClipMerging: !1,
backgroundOriginMerging: !1,
backgroundSizeMerging: !1,
iePrefixHack: !0,
merging: !1
},
selectors: {
mergeablePseudoClasses: [
':after',
':before',
':first-child',
':first-letter',
':focus',
':hover',
':visited'
],
mergeablePseudoElements: [
]
},
units: {
ch: !1,
rem: !1,
vh: !1,
vm: !1,
vmax: !1,
vmin: !1,
vw: !1
}
}),
r.ie7 = i(r.ie8, {
properties: {
ieBangHack: !0
},
selectors: {
ie7Hack: !0,
mergeablePseudoClasses: [
':first-child',
':first-letter',
':hover',
':visited'
]
}
}),
t.exports = function (e) {
return i(r['*'], function (e) {
if ('object' == typeof e) return e;
if (!/[,\+\-]/.test(e)) return r[e] || r['*'];
var t = e.split(','),
n = t[0] in r ? r[t.shift()] : r['*'];
return e = {
},
t.forEach(function (t) {
var n = '+' == t[0],
r = t.substring(1).split('.'),
i = r[0],
s = r[1];
e[i] = e[i] || {
},
e[i][s] = n
}),
i(n, e)
}(e))
}
},
{
}
],
98: [
function (e, t, n) {
var r = e('../reader/load-remote-resource');
t.exports = function (e) {
return e || r
}
},
{
'../reader/load-remote-resource': 112
}
],
99: [
function (e, t, n) {
var r = e('os').EOL,
i = e('../utils/override'),
s = {
AfterAtRule: 'afterAtRule',
AfterBlockBegins: 'afterBlockBegins',
AfterBlockEnds: 'afterBlockEnds',
AfterComment: 'afterComment',
AfterProperty: 'afterProperty',
AfterRuleBegins: 'afterRuleBegins',
AfterRuleEnds: 'afterRuleEnds',
BeforeBlockEnds: 'beforeBlockEnds',
BetweenSelectors: 'betweenSelectors'
},
o = {
CarriageReturnLineFeed: '\r\n',
LineFeed: '\n',
System: r
},
a = {
Space: ' ',
Tab: '\t'
},
u = {
AroundSelectorRelation: 'aroundSelectorRelation',
BeforeBlockBegins: 'beforeBlockBegins',
BeforeValue: 'beforeValue'
},
l = {
breaks: x(!1),
breakWith: o.System,
indentBy: 0,
indentWith: a.Space,
spaces: A(!1),
wrapAt: !1,
semicolonAfterLastProperty: !1
},
c = 'beautify',
p = 'keep-breaks',
h = ';',
f = ':',
d = ',',
m = '=',
g = 'false',
y = 'off',
v = 'true',
b = 'on';
function x(e) {
var t = {
};
return t[s.AfterAtRule] = e,
t[s.AfterBlockBegins] = e,
t[s.AfterBlockEnds] = e,
t[s.AfterComment] = e,
t[s.AfterProperty] = e,
t[s.AfterRuleBegins] = e,
t[s.AfterRuleEnds] = e,
t[s.BeforeBlockEnds] = e,
t[s.BetweenSelectors] = e,
t
}
function A(e) {
var t = {
};
return t[u.AroundSelectorRelation] = e,
t[u.BeforeBlockBegins] = e,
t[u.BeforeValue] = e,
t
}
function E(e) {
switch (e) {
case 'windows':
case 'crlf':
case o.CarriageReturnLineFeed:
return o.CarriageReturnLineFeed;
case 'unix':
case 'lf':
case o.LineFeed:
return o.LineFeed;
default:
return r
}
}
function _(e) {
switch (e) {
case 'space':
return a.Space;
case 'tab':
return a.Tab;
default:
return e
}
}
t.exports = {
Breaks: s,
Spaces: u,
formatFrom: function (e) {
return void 0 !== e && !1 !== e && ('object' == typeof e && 'breakWith' in e && (e = i(e, {
breakWith: E(e.breakWith)
})), 'object' == typeof e && 'indentBy' in e && (e = i(e, {
indentBy: parseInt(e.indentBy)
})), 'object' == typeof e && 'indentWith' in e && (e = i(e, {
indentWith: _(e.indentWith)
})), 'object' == typeof e ? i(l, e) : 'object' == typeof e ? i(l, e) : 'string' == typeof e && e == c ? i(l, {
breaks: x(!0),
indentBy: 2,
spaces: A(!0)
}) : 'string' == typeof e && e == p ? i(l, {
breaks: {
afterAtRule: !0,
afterBlockBegins: !0,
afterBlockEnds: !0,
afterComment: !0,
afterRuleEnds: !0,
beforeBlockEnds: !0
}
}) : 'string' == typeof e ? i(l, e.split(h).reduce(function (e, t) {
var n = t.split(f),
r = n[0],
i = n[1];
return 'breaks' == r || 'spaces' == r ? e[r] = i.split(d).reduce(function (e, t) {
var n = t.split(m),
r = n[0],
i = n[1];
return e[r] = function (e) {
switch (e) {
case g:
case y:
return !1;
case v:
case b:
return !0;
default:
return e
}
}(i),
e
}, {
}) : 'indentBy' == r || 'wrapAt' == r ? e[r] = parseInt(i) : 'indentWith' == r ? e[r] = _(i) : 'breakWith' == r && (e[r] = E(i)),
e
}, {
})) : l)
}
}
},
{
'../utils/override': 133,
os: 371
}
],
100: [
function (e, t, n) {
(function (n) {
var r = e('url'),
i = e('../utils/override');
t.exports = function (e) {
return i((t = n.env.HTTP_PROXY || n.env.http_proxy) ? {
hostname: r.parse(t).hostname,
port: parseInt(r.parse(t).port)
}
: {
}, e || {
});
var t
}
}).call(this, e('_process'))
},
{
'../utils/override': 133,
_process: 373,
url: 424
}
],
101: [
function (e, t, n) {
var r = 5000;
t.exports = function (e) {
return e || r
}
},
{
}
],
102: [
function (e, t, n) {
t.exports = function (e) {
return Array.isArray(e) ? e : !1 === e ? [
'none'
] : void 0 === e ? [
'local'
] : e.split(',')
}
},
{
}
],
103: [
function (e, t, n) {
var r = e('./rounding-precision').roundingPrecisionFrom,
i = e('../utils/override'),
s = {
Zero: '0',
One: '1',
Two: '2'
},
o = {
};
o[s.Zero] = {
},
o[s.One] = {
cleanupCharsets: !0,
normalizeUrls: !0,
optimizeBackground: !0,
optimizeBorderRadius: !0,
optimizeFilter: !0,
optimizeFontWeight: !0,
optimizeOutline: !0,
removeEmpty: !0,
removeNegativePaddings: !0,
removeQuotes: !0,
removeWhitespace: !0,
replaceMultipleZeros: !0,
replaceTimeUnits: !0,
replaceZeroUnits: !0,
roundingPrecision: r(void 0),
selectorsSortingMethod: 'standard',
specialComments: 'all',
tidyAtRules: !0,
tidyBlockScopes: !0,
tidySelectors: !0,
transform: function () {
}
},
o[s.Two] = {
mergeAdjacentRules: !0,
mergeIntoShorthands: !0,
mergeMedia: !0,
mergeNonAdjacentRules: !0,
mergeSemantically: !1,
overrideProperties: !0,
removeEmpty: !0,
reduceNonAdjacentRules: !0,
removeDuplicateFontRules: !0,
removeDuplicateMediaBlocks: !0,
removeDuplicateRules: !0,
removeUnusedAtRules: !1,
restructureRules: !1,
skipProperties: [
]
};
var a = '*',
u = 'all',
l = 'false',
c = 'off',
p = 'true',
h = 'on',
f = ',',
d = ';',
m = ':';
function g(e, t) {
var n,
r = i(o[e], {
});
for (n in r) 'boolean' == typeof r[n] && (r[n] = t);
return r
}
function y(e) {
switch (e) {
case l:
case c:
return !1;
case p:
case h:
return !0;
default:
return e
}
}
function v(e, t) {
return e.split(d).reduce(function (e, n) {
var r = n.split(m),
s = r[0],
o = y(r[1]);
return a == s || u == s ? e = i(e, g(t, o)) : e[s] = o,
e
}, {
})
}
t.exports = {
OptimizationLevel: s,
optimizationLevelFrom: function (e) {
var t = i(o, {
}),
n = s.Zero,
l = s.One,
c = s.Two;
return void 0 === e ? (delete t[c], t) : ('string' == typeof e && (e = parseInt(e)), 'number' == typeof e && e === parseInt(c) ? t : 'number' == typeof e && e === parseInt(l) ? (delete t[c], t) : 'number' == typeof e && e === parseInt(n) ? (delete t[c], delete t[l], t) : ('object' == typeof e && (e = function (e) {
var t,
n,
r = i(e, {
});
for (n = 0; n <= 2; n++) (t = '' + n) in r && (void 0 === r[t] || !1 === r[t]) && delete r[t],
t in r && !0 === r[t] && (r[t] = {
}),
t in r && 'string' == typeof r[t] && (r[t] = v(r[t], t));
return r
}(e)), l in e && 'roundingPrecision' in e[l] && (e[l].roundingPrecision = r(e[l].roundingPrecision)), c in e && 'skipProperties' in e[c] && 'string' == typeof e[c].skipProperties && (e[c].skipProperties = e[c].skipProperties.split(f)), (n in e || l in e || c in e) && (t[n] = i(t[n], e[n])), l in e && a in e[l] && (t[l] = i(t[l], g(l, y(e[l][a]))), delete e[l][a]), l in e && u in e[l] && (t[l] = i(t[l], g(l, y(e[l][u]))), delete e[l][u]), l in e || c in e ? t[l] = i(t[l], e[l]) : delete t[l], c in e && a in e[c] && (t[c] = i(t[c], g(c, y(e[c][a]))), delete e[c][a]), c in e && u in e[c] && (t[c] = i(t[c], g(c, y(e[c][u]))), delete e[c][u]), c in e ? t[c] = i(t[c], e[c]) : delete t[c], t))
}
}
},
{
'../utils/override': 133,
'./rounding-precision': 106
}
],
104: [
function (e, t, n) {
(function (n) {
var r = e('path');
t.exports = function (e) {
return e ? r.resolve(e) : n.cwd()
}
}).call(this, e('_process'))
},
{
_process: 373,
path: 372
}
],
105: [
function (e, t, n) {
t.exports = function (e) {
return void 0 === e || !!e
}
},
{
}
],
106: [
function (e, t, n) {
var r = e('../utils/override'),
i = /^\d+$/,
s = [
'*',
'all'
],
o = 'off',
a = ',',
u = '=';
function l(e) {
return {
ch: e,
cm: e,
em: e,
ex: e,
in : e,
mm: e,
pc: e,
pt: e,
px: e,
q: e,
rem: e,
vh: e,
vmax: e,
vmin: e,
vw: e,
'%': e
}
}
t.exports = {
DEFAULT: o,
roundingPrecisionFrom: function (e) {
return r(l(o), function (e) {
return null === e || void 0 === e ? {
}
: 'boolean' == typeof e ? {
}
: 'number' == typeof e && - 1 == e ? l(o) : 'number' == typeof e ? l(e) : 'string' == typeof e && i.test(e) ? l(parseInt(e)) : 'string' == typeof e && e == o ? l(o) : 'object' == typeof e ? e : e.split(a).reduce(function (e, t) {
var n = t.split(u),
i = n[0],
a = parseInt(n[1]);
return (isNaN(a) || - 1 == a) && (a = o),
s.indexOf(i) > - 1 ? e = r(e, l(a)) : e[i] = a,
e
}, {
})
}(e))
}
}
},
{
'../utils/override': 133
}
],
107: [
function (e, t, n) {
(function (n, r) {
var i = e('fs'),
s = e('path'),
o = e('./is-allowed-resource'),
a = e('./match-data-uri'),
u = e('./rebase-local-map'),
l = e('./rebase-remote-map'),
c = e('../tokenizer/token'),
p = e('../utils/has-protocol'),
h = e('../utils/is-data-uri-resource'),
f = e('../utils/is-remote-resource'),
d = /^\/\*# sourceMappingURL=(\S+) \*\/$/;
function m(e) {
var t,
n,
r,
i = [
],
s = g(e.sourceTokens[0]);
for (r = e.sourceTokens.length; e.index < r; e.index++) if ((t = g(n = e.sourceTokens[e.index])) != s && (i = [
], s = t), i.push(n), e.processedTokens.push(n), n[0] == c.COMMENT && d.test(n[1])) return y(n[1], t, i, e);
return e.callback(e.processedTokens)
}
function g(e) {
return (e[0] == c.AT_RULE || e[0] == c.COMMENT ? e[2][0] : e[1][0][2][0]) [2]
}
function y(e, t, g, y) {
return function (e, t, c) {
var m,
g,
y,
v = d.exec(e) [1];
return h(v) ? (g = function (e) {
var t = a(e),
i = t[2] ? t[2].split(/[=;]/) [2] : 'us-ascii',
s = t[3] ? t[3].split(';') [1] : 'utf8',
o = 'utf8' == s ? n.unescape(t[4]) : t[4],
u = new r(o, s);
return u.charset = i,
JSON.parse(u.toString())
}(v), c(g)) : f(v) ? function (e, t, n) {
var r = o(e, !0, t.inline),
i = !p(e);
if (t.localOnly) return t.warnings.push('Cannot fetch remote resource from "' + e + '" as no callback given.'),
n(null);
if (i) return t.warnings.push('Cannot fetch "' + e + '" as no protocol given.'),
n(null);
if (!r) return t.warnings.push('Cannot fetch "' + e + '" as resource is not allowed.'),
n(null);
t.fetch(e, t.inlineRequest, t.inlineTimeout, function (r, i) {
if (r) return t.warnings.push('Missing source map at "' + e + '" - ' + r),
n(null);
n(i)
})
}(v, t, function (e) {
var t;
e ? (t = JSON.parse(e), y = l(t, v), c(y)) : c(null)
}) : (m = s.resolve(t.rebaseTo, v), (g = function (e, t) {
var n,
r = o(e, !1, t.inline);
if (!i.existsSync(e) || !i.statSync(e).isFile()) return t.warnings.push('Ignoring local source map at "' + e + '" as resource is missing.'),
null;
if (!r) return t.warnings.push('Cannot fetch "' + e + '" as resource is not allowed.'),
null;
return n = i.readFileSync(e, 'utf-8'),
JSON.parse(n)
}(m, t)) ? (y = u(g, m, t.rebaseTo), c(y)) : c(null))
}(e, y, function (e) {
return e && (y.inputSourceMapTracker.track(t, e), function e(t, n) {
var r;
var i,
s;
for (i = 0, s = t.length; i < s; i++) switch ((r = t[i]) [0]) {
case c.AT_RULE:
v(r, n);
break;
case c.AT_RULE_BLOCK:
e(r[1], n),
e(r[2], n);
break;
case c.AT_RULE_BLOCK_SCOPE:
v(r, n);
break;
case c.NESTED_BLOCK:
e(r[1], n),
e(r[2], n);
break;
case c.NESTED_BLOCK_SCOPE:
case c.COMMENT:
v(r, n);
break;
case c.PROPERTY:
e(r, n);
break;
case c.PROPERTY_BLOCK:
e(r[1], n);
break;
case c.PROPERTY_NAME:
case c.PROPERTY_VALUE:
v(r, n);
break;
case c.RULE:
e(r[1], n),
e(r[2], n);
break;
case c.RULE_SCOPE:
v(r, n)
}
return t
}(g, y.inputSourceMapTracker)),
y.index++,
m(y)
})
}
function v(e, t) {
var n,
r,
i = e[1],
s = e[2],
o = [
];
for (n = 0, r = s.length; n < r; n++) o.push(t.originalPositionFor(s[n], i.length));
e[2] = o
}
t.exports = function (e, t, n) {
var r = {
callback: n,
fetch: t.options.fetch,
index: 0,
inline: t.options.inline,
inlineRequest: t.options.inlineRequest,
inlineTimeout: t.options.inlineTimeout,
inputSourceMapTracker: t.inputSourceMapTracker,
localOnly: t.localOnly,
processedTokens: [
],
rebaseTo: t.options.rebaseTo,
sourceTokens: e,
warnings: t.warnings
};
return t.options.sourceMap && e.length > 0 ? m(r) : n(e)
}
}).call(this, 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : {
}, e('buffer').Buffer)
},
{
'../tokenizer/token': 122,
'../utils/has-protocol': 126,
'../utils/is-data-uri-resource': 127,
'../utils/is-remote-resource': 131,
'./is-allowed-resource': 110,
'./match-data-uri': 113,
'./rebase-local-map': 116,
'./rebase-remote-map': 117,
buffer: 42,
fs: 41,
path: 372
}
],
108: [
function (e, t, n) {
var r = e('../utils/split'),
i = /^\(/,
s = /\)$/,
o = /^@import/i,
a = /['"]\s*/,
u = /\s*['"]/,
l = /^url\(\s*/i,
c = /\s*\)/i;
t.exports = function (e) {
var t,
n;
return t = e.replace(o, '').trim().replace(l, '(').replace(c, ')').replace(a, '').replace(u, ''),
[
(n = r(t, ' ')) [0].replace(i, '').replace(s, ''),
n.slice(1).join(' ')
]
}
},
{
'../utils/split': 134
}
],
109: [
function (e, t, n) {
var r = e('source-map').SourceMapConsumer;
t.exports = function () {
var e = {
};
return {
all: function (e) {
return e
}.bind(null, e),
isTracking: function (e, t) {
return t in e
}.bind(null, e),
originalPositionFor: function e(t, n, r, i) {
for (var s, o, a = n[0], u = n[1], l = n[2], c = {
line: a,
column: u + r
}; !s && c.column > u; ) c.column--,
s = t[l].originalPositionFor(c);
return !s || s.column < 0 ? n : null === s.line && a > 1 && i > 0 ? e(t, [
a - 1,
u,
l
], r, i - 1) : null !== s.line ? [
(o = s).line,
o.column,
o.source
] : n
}.bind(null, e),
track: function (e, t, n) {
e[t] = new r(n)
}.bind(null, e)
}
}
},
{
'source-map': 149
}
],
110: [
function (e, t, n) {
var r = e('path'),
i = e('url'),
s = e('../utils/is-remote-resource'),
o = e('../utils/has-protocol'),
a = 'http:';
function u(e) {
return s(e) || i.parse(a + '//' + e).host == e
}
t.exports = function e(t, n, s) {
var l,
c,
p,
h,
f,
d,
m = !n;
if (0 === s.length) return !1;
for (n && !o(t) && (t = a + t), l = n ? i.parse(t).host : t, c = n ? t : r.resolve(t), d = 0; d < s.length; d++) h = '!' == (p = s[d]) [0],
f = p.substring(1),
m = h && n && u(f) ? m && !e(t, !0, [
f
]) : !h || n || u(f) ? h ? m && !0 : 'all' == p || (n && 'local' == p ? m || !1 : !(!n || 'remote' != p) || !(!n && 'remote' == p) && (!n && 'local' == p || p === l || p === t || !(!n || 0 !== c.indexOf(p)) || !n && 0 === c.indexOf(r.resolve(p)) || n != u(f) && m && !0)) : m && !e(t, !1, [
f
]);
return m
}
},
{
'../utils/has-protocol': 126,
'../utils/is-remote-resource': 131,
path: 372,
url: 424
}
],
111: [
function (e, t, n) {
var r = e('fs'),
i = e('path'),
s = e('./is-allowed-resource'),
o = e('../utils/has-protocol'),
a = e('../utils/is-remote-resource');
function u(e) {
var t,
n,
r,
i = Object.keys(e.uriToSource);
for (r = i.length; e.index < r; e.index++) {
if (t = i[e.index], !(n = e.uriToSource[t])) return l(t, e);
e.sourcesContent[t] = n
}
return e.callback()
}
function l(e, t) {
var n;
return a(e) ? function (e, t, n) {
var r = s(e, !0, t.inline),
i = !o(e);
if (t.localOnly) return t.warnings.push('Cannot fetch remote resource from "' + e + '" as no callback given.'),
n(null);
if (i) return t.warnings.push('Cannot fetch "' + e + '" as no protocol given.'),
n(null);
if (!r) return t.warnings.push('Cannot fetch "' + e + '" as resource is not allowed.'),
n(null);
t.fetch(e, t.inlineRequest, t.inlineTimeout, function (r, i) {
r && t.warnings.push('Missing original source at "' + e + '" - ' + r),
n(i)
})
}(e, t, function (n) {
return t.index++,
t.sourcesContent[e] = n,
u(t)
}) : (n = function (e, t) {
var n = s(e, !1, t.inline),
o = i.resolve(t.rebaseTo, e);
if (!r.existsSync(o) || !r.statSync(o).isFile()) return t.warnings.push('Ignoring local source map at "' + o + '" as resource is missing.'),
null;
if (!n) return t.warnings.push('Cannot fetch "' + o + '" as resource is not allowed.'),
null;
return r.readFileSync(o, 'utf8')
}(e, t), t.index++, t.sourcesContent[e] = n, u(t))
}
t.exports = function (e, t) {
var n = {
callback: t,
fetch: e.options.fetch,
index: 0,
inline: e.options.inline,
inlineRequest: e.options.inlineRequest,
inlineTimeout: e.options.inlineTimeout,
localOnly: e.localOnly,
rebaseTo: e.options.rebaseTo,
sourcesContent: e.sourcesContent,
uriToSource: function (e) {
var t,
n,
r,
i,
s,
o = {
};
for (r in e) for (t = e[r], i = 0, s = t.sources.length; i < s; i++) n = t.sources[i],
r = t.sourceContentFor(n, !0),
o[n] = r;
return o
}(e.inputSourceMapTracker.all()),
warnings: e.warnings
};
return e.options.sourceMap && e.options.sourceMapInlineSources ? u(n) : t()
}
},
{
'../utils/has-protocol': 126,
'../utils/is-remote-resource': 131,
'./is-allowed-resource': 110,
fs: 41,
path: 372
}
],
112: [
function (e, t, n) {
var r = e('http'),
i = e('https'),
s = e('url'),
o = e('../utils/is-http-resource'),
a = e('../utils/is-https-resource'),
u = e('../utils/override'),
l = 'http:';
t.exports = function e(t, n, c, p) {
var h,
f = n.protocol || n.hostname,
d = !1;
h = u(s.parse(t), n || {
}),
void 0 !== n.hostname && (h.protocol = n.protocol || l, h.path = h.href),
(f && !a(f) || o(t) ? r.get : i.get) (h, function (r) {
var i = [
];
if (!d) {
if (r.statusCode < 200 || r.statusCode > 399) return p(r.statusCode, null);
if (r.statusCode > 299) return e(s.resolve(t, r.headers.location), n, c, p);
r.on('data', function (e) {
i.push(e.toString())
}),
r.on('end', function () {
var e = i.join('');
p(null, e)
})
}
}).on('error', function (e) {
d || (d = !0, p(e.message, null))
}).on('timeout', function () {
d || (d = !0, p('timeout', null))
}).setTimeout(c)
}
},
{
'../utils/is-http-resource': 128,
'../utils/is-https-resource': 129,
'../utils/override': 133,
http: 41,
https: 41,
url: 424
}
],
113: [
function (e, t, n) {
var r = /^data:(\S*?)?(;charset=[^;]+)?(;[^,]+?)?,(.+)/;
t.exports = function (e) {
return r.exec(e)
}
},
{
}
],
114: [
function (e, t, n) {
var r = '/',
i = /\\/g;
t.exports = function (e) {
return e.replace(i, r)
}
},
{
}
],
115: [
function (e, t, n) {
(function (n, r) {
var i = e('fs'),
s = e('path'),
o = e('./apply-source-maps'),
a = e('./extract-import-url-and-media'),
u = e('./is-allowed-resource'),
l = e('./load-original-sources'),
c = e('./normalize-path'),
p = e('./rebase'),
h = e('./rebase-local-map'),
f = e('./rebase-remote-map'),
d = e('./restore-import'),
m = e('../tokenizer/tokenize'),
g = e('../tokenizer/token'),
y = e('../tokenizer/marker'),
v = e('../utils/has-protocol'),
b = e('../utils/is-import'),
x = e('../utils/is-remote-resource'),
A = 'uri:unknown';
function E(e, t, n) {
return t.source = void 0,
t.sourcesContent[void 0] = e,
t.stats.originalSize += e.length,
k(e, t, {
inline: t.options.inline
}, n)
}
function _(e, t, n) {
var r,
i,
s;
for (r in e) s = e[r],
i = C(r),
n.push(D(i)),
t.sourcesContent[i] = s.styles,
s.sourceMap && w(s.sourceMap, i, t);
return n
}
function C(e) {
var t,
n,
r = s.resolve('');
return x(e) ? e : (t = s.isAbsolute(e) ? e : s.resolve(e), n = s.relative(r, t), c(n))
}
function w(e, t, n) {
var r = 'string' == typeof e ? JSON.parse(e) : e,
i = x(t) ? f(r, t) : h(r, t || A, n.options.rebaseTo);
n.inputSourceMapTracker.track(t, i)
}
function D(e) {
return d('url(' + e + ')', '') + y.SEMICOLON
}
function k(e, t, n, r) {
var i,
o = {
};
return t.source ? x(t.source) ? (o.fromBase = t.source, o.toBase = t.source) : s.isAbsolute(t.source) ? (o.fromBase = s.dirname(t.source), o.toBase = t.options.rebaseTo) : (o.fromBase = s.dirname(s.resolve(t.source)), o.toBase = t.options.rebaseTo) : (o.fromBase = s.resolve(''), o.toBase = t.options.rebaseTo),
i = m(e, t),
i = p(i, t.options.rebase, t.validator, o),
function (e) {
return !(1 == e.length && 'none' == e[0])
}(n.inline) ? function (e, t, n, r) {
return S({
afterContent: !1,
callback: r,
errors: t.errors,
externalContext: t,
fetch: t.options.fetch,
inlinedStylesheets: n.inlinedStylesheets || t.inlinedStylesheets,
inline: n.inline,
inlineRequest: t.options.inlineRequest,
inlineTimeout: t.options.inlineTimeout,
isRemote: n.isRemote || !1,
localOnly: t.localOnly,
outputTokens: [
],
rebaseTo: t.options.rebaseTo,
sourceTokens: e,
warnings: t.warnings
})
}(i, t, n, r) : r(i)
}
function S(e) {
var t,
n,
r;
for (n = 0, r = e.sourceTokens.length; n < r; n++) {
if ((t = e.sourceTokens[n]) [0] == g.AT_RULE && b(t[1])) return e.sourceTokens.splice(0, n),
T(t, e);
t[0] == g.AT_RULE || t[0] == g.COMMENT ? e.outputTokens.push(t) : (e.outputTokens.push(t), e.afterContent = !0)
}
return e.sourceTokens = [
],
e.callback(e.outputTokens)
}
function T(e, t) {
var n = a(e[1]),
o = n[0],
l = n[1],
p = e[2];
return x(o) ? function (e, t, n, i) {
var s = u(e, !0, i.inline),
o = e,
a = e in i.externalContext.sourcesContent,
l = !v(e);
if (i.inlinedStylesheets.indexOf(e) > - 1) return i.warnings.push('Ignoring remote @import of "' + e + '" as it has already been imported.'),
i.sourceTokens = i.sourceTokens.slice(1),
S(i);
if (i.localOnly && i.afterContent) return i.warnings.push('Ignoring remote @import of "' + e + '" as no callback given and after other content.'),
i.sourceTokens = i.sourceTokens.slice(1),
S(i);
if (l) return i.warnings.push('Skipping remote @import of "' + e + '" as no protocol given.'),
i.outputTokens = i.outputTokens.concat(i.sourceTokens.slice(0, 1)),
i.sourceTokens = i.sourceTokens.slice(1),
S(i);
if (i.localOnly && !a) return i.warnings.push('Skipping remote @import of "' + e + '" as no callback given.'),
i.outputTokens = i.outputTokens.concat(i.sourceTokens.slice(0, 1)),
i.sourceTokens = i.sourceTokens.slice(1),
S(i);
if (!s && i.afterContent) return i.warnings.push('Ignoring remote @import of "' + e + '" as resource is not allowed and after other content.'),
i.sourceTokens = i.sourceTokens.slice(1),
S(i);
if (!s) return i.warnings.push('Skipping remote @import of "' + e + '" as resource is not allowed.'),
i.outputTokens = i.outputTokens.concat(i.sourceTokens.slice(0, 1)),
i.sourceTokens = i.sourceTokens.slice(1),
S(i);
function c(s, a) {
return s ? (i.errors.push('Broken @import declaration of "' + e + '" - ' + s), r.nextTick(function () {
i.outputTokens = i.outputTokens.concat(i.sourceTokens.slice(0, 1)),
i.sourceTokens = i.sourceTokens.slice(1),
S(i)
})) : (i.inline = i.externalContext.options.inline, i.isRemote = !0, i.externalContext.source = o, i.externalContext.sourcesContent[e] = a, i.externalContext.stats.originalSize += a.length, k(a, i.externalContext, i, function (e) {
return e = F(e, t, n),
i.outputTokens = i.outputTokens.concat(e),
i.sourceTokens = i.sourceTokens.slice(1),
S(i)
}))
}
return i.inlinedStylesheets.push(e),
a ? c(null, i.externalContext.sourcesContent[e]) : i.fetch(e, i.inlineRequest, i.inlineTimeout, c)
}(o, l, p, t) : function (e, t, n, r) {
var o,
a = s.resolve(''),
l = s.isAbsolute(e) ? s.resolve(a, '/' == e[0] ? e.substring(1) : e) : s.resolve(r.rebaseTo, e),
p = s.relative(a, l),
h = u(e, !1, r.inline),
f = c(p),
d = f in r.externalContext.sourcesContent;
if (r.inlinedStylesheets.indexOf(l) > - 1) r.warnings.push('Ignoring local @import of "' + e + '" as it has already been imported.');
else if (d || i.existsSync(l) && i.statSync(l).isFile()) if (!h && r.afterContent) r.warnings.push('Ignoring local @import of "' + e + '" as resource is not allowed and after other content.');
else if (r.afterContent) r.warnings.push('Ignoring local @import of "' + e + '" as after other content.');
else {
if (h) return o = d ? r.externalContext.sourcesContent[f] : i.readFileSync(l, 'utf-8'),
r.inlinedStylesheets.push(l),
r.inline = r.externalContext.options.inline,
r.externalContext.source = f,
r.externalContext.sourcesContent[f] = o,
r.externalContext.stats.originalSize += o.length,
k(o, r.externalContext, r, function (e) {
return e = F(e, t, n),
r.outputTokens = r.outputTokens.concat(e),
r.sourceTokens = r.sourceTokens.slice(1),
S(r)
});
r.warnings.push('Skipping local @import of "' + e + '" as resource is not allowed.'),
r.outputTokens = r.outputTokens.concat(r.sourceTokens.slice(0, 1))
} else r.errors.push('Ignoring local @import of "' + e + '" as resource is missing.');
return r.sourceTokens = r.sourceTokens.slice(1),
S(r)
}(o, l, p, t)
}
function F(e, t, n) {
return t ? [
[g.NESTED_BLOCK,
[
[g.NESTED_BLOCK_SCOPE,
'@media ' + t,
n]
],
e]
] : e
}
t.exports = function (e, t, r) {
return function (e, t, r) {
return 'string' == typeof e ? E(e, t, r) : n.isBuffer(e) ? E(e.toString(), t, r) : Array.isArray(e) ? function (e, t, n) {
return k(e.reduce(function (e, n) {
return 'string' == typeof n ? (r = n, (i = e).push(D(C(r))), i) : _(n, t, e);
var r,
i
}, [
]).join(''), t, {
inline: [
'all'
]
}, n)
}(e, t, r) : 'object' == typeof e ? function (e, t, n) {
return k(_(e, t, [
]).join(''), t, {
inline: [
'all'
]
}, n)
}(e, t, r) : void 0
}(e, t, function (e) {
return o(e, t, function () {
return l(t, function () {
return r(e)
})
})
})
}
}).call(this, {
isBuffer: e('../../../is-buffer/index.js')
}, e('_process'))
},
{
'../../../is-buffer/index.js': 237,
'../tokenizer/marker': 121,
'../tokenizer/token': 122,
'../tokenizer/tokenize': 123,
'../utils/has-protocol': 126,
'../utils/is-import': 130,
'../utils/is-remote-resource': 131,
'./apply-source-maps': 107,
'./extract-import-url-and-media': 108,
'./is-allowed-resource': 110,
'./load-original-sources': 111,
'./normalize-path': 114,
'./rebase': 118,
'./rebase-local-map': 116,
'./rebase-remote-map': 117,
'./restore-import': 119,
_process: 373,
fs: 41,
path: 372
}
],
116: [
function (e, t, n) {
var r = e('path');
t.exports = function (e, t, n) {
var i = r.resolve(''),
s = r.resolve(i, t),
o = r.dirname(s);
return e.sources = e.sources.map(function (e) {
return r.relative(n, r.resolve(o, e))
}),
e
}
},
{
path: 372
}
],
117: [
function (e, t, n) {
var r = e('path'),
i = e('url');
t.exports = function (e, t) {
var n = r.dirname(t);
return e.sources = e.sources.map(function (e) {
return i.resolve(n, e)
}),
e
}
},
{
path: 372,
url: 424
}
],
118: [
function (e, t, n) {
var r = e('./extract-import-url-and-media'),
i = e('./restore-import'),
s = e('./rewrite-url'),
o = e('../tokenizer/token'),
a = e('../utils/is-import'),
u = /^\/\*# sourceMappingURL=(\S+) \*\/$/;
function l(e, t, n) {
if (a(e[1])) {
var o = r(e[1]),
u = s(o[0], n),
l = o[1];
e[1] = i(u, l)
}
}
function c(e, t) {
var n = u.exec(e[1]);
n && - 1 === n[1].indexOf('data:') && (e[1] = e[1].replace(n[1], s(n[1], t, !0)))
}
function p(e, t, n) {
var r,
i,
o,
a,
u,
l;
for (o = 0, a = e.length; o < a; o++) for (u = 2, l = (r = e[o]).length; u < l; u++) i = r[u][1],
t.isUrl(i) && (r[u][1] = s(i, n))
}
t.exports = function (e, t, n, r) {
return t ? function e(t, n, r) {
var i,
s,
a;
for (s = 0, a = t.length; s < a; s++) switch ((i = t[s]) [0]) {
case o.AT_RULE:
l(i, 0, r);
break;
case o.AT_RULE_BLOCK:
p(i[2], n, r);
break;
case o.COMMENT:
c(i, r);
break;
case o.NESTED_BLOCK:
e(i[2], n, r);
break;
case o.RULE:
p(i[2], n, r)
}
return t
}(e, n, r) : function (e, t, n) {
var r,
i,
s;
for (i = 0, s = e.length; i < s; i++) switch ((r = e[i]) [0]) {
case o.AT_RULE:
l(r, 0, n)
}
return e
}(e, 0, r)
}
},
{
'../tokenizer/token': 122,
'../utils/is-import': 130,
'./extract-import-url-and-media': 108,
'./restore-import': 119,
'./rewrite-url': 120
}
],
119: [
function (e, t, n) {
t.exports = function (e, t) {
return ('@import ' + e + ' ' + t).trim()
}
},
{
}
],
120: [
function (e, t, n) {
(function (n) {
var r = e('path'),
i = e('url'),
s = '"',
o = '\'',
a = 'url(',
u = ')',
l = /^["']/,
c = /["']$/,
p = /[\(\)]/,
h = /^url\(/i,
f = /\)$/,
d = /\s/,
m = 'win32' == n.platform;
function g(e, t) {
return t ? function (e) {
return r.isAbsolute(e)
}(e) && !y(t.toBase) ? e : y(e) || function (e) {
return '#' == e[0]
}(e) || function (e) {
return /^\w+:\w+/.test(e)
}(e) ? e : function (e) {
return 0 === e.indexOf('data:')
}(e) ? '\'' + e + '\'' : y(t.toBase) ? i.resolve(t.toBase, e) : t.absolute ? v(function (e, t) {
return r.resolve(r.join(t.fromBase || '', e)).replace(t.toBase, '')
}(e, t)) : v(function (e, t) {
return r.relative(t.toBase, r.join(t.fromBase || '', e))
}(e, t)) : e
}
function y(e) {
return /^[^:]+?:\/\//.test(e) || 0 === e.indexOf('//')
}
function v(e) {
return m ? e.replace(/\\/g, '/') : e
}
function b(e) {
return e.indexOf(o) > - 1 ? s : e.indexOf(s) > - 1 ? o : (t = e, d.test(t) || function (e) {
return p.test(e)
}(e) ? o : '');
var t
}
t.exports = function (e, t, n) {
var r = e.replace(h, '').replace(f, '').trim(),
i = r.replace(l, '').replace(c, '').trim(),
p = r[0] == o || r[0] == s ? r[0] : b(i);
return n ? g(i, t) : a + p + g(i, t) + p + u
}
}).call(this, e('_process'))
},
{
_process: 373,
path: 372,
url: 424
}
],
121: [
function (e, t, n) {
t.exports = {
ASTERISK: '*',
AT: '@',
BACK_SLASH: '\\',
CARRIAGE_RETURN: '\r',
CLOSE_CURLY_BRACKET: '}',
CLOSE_ROUND_BRACKET: ')',
CLOSE_SQUARE_BRACKET: ']',
COLON: ':',
COMMA: ',',
DOUBLE_QUOTE: '"',
EXCLAMATION: '!',
FORWARD_SLASH: '/',
INTERNAL: '-clean-css-',
NEW_LINE_NIX: '\n',
OPEN_CURLY_BRACKET: '{',
OPEN_ROUND_BRACKET: '(',
OPEN_SQUARE_BRACKET: '[',
SEMICOLON: ';',
SINGLE_QUOTE: '\'',
SPACE: ' ',
TAB: '\t',
UNDERSCORE: '_'
}
},
{
}
],
122: [
function (e, t, n) {
t.exports = {
AT_RULE: 'at-rule',
AT_RULE_BLOCK: 'at-rule-block',
AT_RULE_BLOCK_SCOPE: 'at-rule-block-scope',
COMMENT: 'comment',
NESTED_BLOCK: 'nested-block',
NESTED_BLOCK_SCOPE: 'nested-block-scope',
PROPERTY: 'property',
PROPERTY_BLOCK: 'property-block',
PROPERTY_NAME: 'property-name',
PROPERTY_VALUE: 'property-value',
RAW: 'raw',
RULE: 'rule',
RULE_SCOPE: 'rule-scope'
}
},
{
}
],
123: [
function (e, t, n) {
var r = e('./marker'),
i = e('./token'),
s = e('../utils/format-position'),
o = {
BLOCK: 'block',
COMMENT: 'comment',
DOUBLE_QUOTE: 'double-quote',
RULE: 'rule',
SINGLE_QUOTE: 'single-quote'
},
a = [
'@charset',
'@import'
],
u = [
'@-moz-document',
'@document',
'@-moz-keyframes',
'@-ms-keyframes',
'@-o-keyframes',
'@-webkit-keyframes',
'@keyframes',
'@media',
'@supports'
],
l = /\/\* clean\-css ignore:end \*\/$/,
c = /^\/\* clean\-css ignore:start \*\//,
p = [
'@bottom-center',
'@bottom-left',
'@bottom-left-corner',
'@bottom-right',
'@bottom-right-corner',
'@left-bottom',
'@left-middle',
'@left-top',
'@right-bottom',
'@right-middle',
'@right-top',
'@top-center',
'@top-left',
'@top-left-corner',
'@top-right',
'@top-right-corner'
],
h = [
'@footnote',
'@footnotes',
'@left',
'@page-float-bottom',
'@page-float-top',
'@right'
],
f = /^\[\s{0,31}\d+\s{0,31}\]$/,
d = /[\s\(]/,
m = /[\s|\}]*$/;
function g(e) {
return c.test(e.join('') + r.FORWARD_SLASH)
}
function y(e) {
return l.test(e.join('') + r.FORWARD_SLASH)
}
function v(e, t, n, r) {
var i = e[2];
return n.inputSourceMapTracker.isTracking(i) ? n.inputSourceMapTracker.originalPositionFor(e, t.length, r) : e
}
function b(e) {
var t = e[0] == r.AT || e[0] == r.UNDERSCORE,
n = e.join('').split(d) [0];
return t && u.indexOf(n) > - 1 ? i.NESTED_BLOCK : t && a.indexOf(n) > - 1 ? i.AT_RULE : t ? i.AT_RULE_BLOCK : i.RULE
}
function x(e) {
return e == i.RULE ? i.RULE_SCOPE : e == i.NESTED_BLOCK ? i.NESTED_BLOCK_SCOPE : e == i.AT_RULE_BLOCK ? i.AT_RULE_BLOCK_SCOPE : void 0
}
function A(e) {
var t = e.join('').trim();
return p.indexOf(t) > - 1 || h.indexOf(t) > - 1
}
function E(e) {
return f.test(e.join('') + r.CLOSE_SQUARE_BRACKET)
}
t.exports = function (e, t) {
return function e(t, n, a, u) {
for (var l, c, p, h, f, d, _, C, w, D, k, S, T, F, O, B, P = [
], N = P, R = [
], L = [
], I = a.level, j = [
], M = [
], U = [
], V = 0, z = !1, q = !1, K = !1, $ = !1, Y = !1, W = a.position; W.index < t.length; W.index++) {
var G = t[W.index];
if (_ = I == o.SINGLE_QUOTE || I == o.DOUBLE_QUOTE, C = G == r.SPACE || G == r.TAB, w = G == r.NEW_LINE_NIX, D = G == r.NEW_LINE_NIX && t[W.index - 1] == r.CARRIAGE_RETURN, k = G == r.CARRIAGE_RETURN && t[W.index + 1] && t[W.index + 1] != r.NEW_LINE_NIX, S = !q && I != o.COMMENT && !_ && G == r.ASTERISK && t[W.index - 1] == r.FORWARD_SLASH, F = !z && !_ && G == r.FORWARD_SLASH && t[W.index - 1] == r.ASTERISK, T = I == o.COMMENT && F, V = Math.max(V, 0), h = 0 === M.length ? [
W.line,
W.column,
W.source
] : h, O) M.push(G);
else if (T || I != o.COMMENT) if (S || T || !K) if (S && (I == o.BLOCK || I == o.RULE) && M.length > 1) L.push(h),
M.push(G),
U.push(M.slice(0, M.length - 2)),
M = M.slice(M.length - 2),
h = [
W.line,
W.column - 1,
W.source
],
j.push(I),
I = o.COMMENT;
else if (S) j.push(I),
I = o.COMMENT,
M.push(G);
else if (T && g(M)) f = M.join('').trim() + G,
l = [
i.COMMENT,
f,
[
v(h, f, n)
]
],
N.push(l),
K = !0,
h = L.pop() || null,
M = U.pop() || [
];
else if (T && y(M)) f = M.join('') + G,
B = f.lastIndexOf(r.FORWARD_SLASH + r.ASTERISK),
d = f.substring(0, B),
l = [
i.RAW,
d,
[
v(h, d, n)
]
],
N.push(l),
d = f.substring(B),
h = [
W.line,
W.column - d.length + 1,
W.source
],
l = [
i.COMMENT,
d,
[
v(h, d, n)
]
],
N.push(l),
K = !1,
I = j.pop(),
h = L.pop() || null,
M = U.pop() || [
];
else if (T) f = M.join('').trim() + G,
l = [
i.COMMENT,
f,
[
v(h, f, n)
]
],
N.push(l),
I = j.pop(),
h = L.pop() || null,
M = U.pop() || [
];
else if (F && t[W.index + 1] != r.ASTERISK) n.warnings.push('Unexpected \'*/\' at ' + s([W.line,
W.column,
W.source]) + '.'),
M = [
];
else if (G != r.SINGLE_QUOTE || _) if (G == r.SINGLE_QUOTE && I == o.SINGLE_QUOTE) I = j.pop(),
M.push(G);
else if (G != r.DOUBLE_QUOTE || _) if (G == r.DOUBLE_QUOTE && I == o.DOUBLE_QUOTE) I = j.pop(),
M.push(G);
else if (!S && !T && G != r.CLOSE_ROUND_BRACKET && G != r.OPEN_ROUND_BRACKET && I != o.COMMENT && !_ && V > 0) M.push(G);
else if (G != r.OPEN_ROUND_BRACKET || _ || I == o.COMMENT || $) if (G != r.CLOSE_ROUND_BRACKET || _ || I == o.COMMENT || $) if (G == r.SEMICOLON && I == o.BLOCK && M[0] == r.AT) f = M.join('').trim(),
P.push([i.AT_RULE,
f,
[
v(h, f, n)
]]),
M = [
];
else if (G == r.COMMA && I == o.BLOCK && c) f = M.join('').trim(),
c[1].push([x(c[0]),
f,
[
v(h, f, n, c[1].length)
]]),
M = [
];
else if (G == r.COMMA && I == o.BLOCK && b(M) == i.AT_RULE) M.push(G);
else if (G == r.COMMA && I == o.BLOCK) c = [
b(M),
[
],
[
]
],
f = M.join('').trim(),
c[1].push([x(c[0]),
f,
[
v(h, f, n, 0)
]]),
M = [
];
else if (G == r.OPEN_CURLY_BRACKET && I == o.BLOCK && c && c[0] == i.NESTED_BLOCK) f = M.join('').trim(),
c[1].push([i.NESTED_BLOCK_SCOPE,
f,
[
v(h, f, n)
]]),
P.push(c),
j.push(I),
W.column++,
W.index++,
M = [
],
c[2] = e(t, n, a, !0),
c = null;
else if (G == r.OPEN_CURLY_BRACKET && I == o.BLOCK && b(M) == i.NESTED_BLOCK) f = M.join('').trim(),
(c = c || [
i.NESTED_BLOCK,
[
],
[
]
]) [1].push([i.NESTED_BLOCK_SCOPE,
f,
[
v(h, f, n)
]]),
P.push(c),
j.push(I),
W.column++,
W.index++,
M = [
],
c[2] = e(t, n, a, !0),
c = null;
else if (G == r.OPEN_CURLY_BRACKET && I == o.BLOCK) f = M.join('').trim(),
(c = c || [
b(M),
[
],
[
]
]) [1].push([x(c[0]),
f,
[
v(h, f, n, c[1].length)
]]),
N = c[2],
P.push(c),
j.push(I),
I = o.RULE,
M = [
];
else if (G == r.OPEN_CURLY_BRACKET && I == o.RULE && $) R.push(c),
c = [
i.PROPERTY_BLOCK,
[
]
],
p.push(c),
N = c[1],
j.push(I),
I = o.RULE,
$ = !1;
else if (G == r.OPEN_CURLY_BRACKET && I == o.RULE && A(M)) f = M.join('').trim(),
R.push(c),
(c = [
i.AT_RULE_BLOCK,
[
],
[
]
]) [1].push([i.AT_RULE_BLOCK_SCOPE,
f,
[
v(h, f, n)
]]),
N.push(c),
N = c[2],
j.push(I),
I = o.RULE,
M = [
];
else if (G != r.COLON || I != o.RULE || $) if (G == r.SEMICOLON && I == o.RULE && p && R.length > 0 && M.length > 0 && M[0] == r.AT) f = M.join('').trim(),
c[1].push([i.AT_RULE,
f,
[
v(h, f, n)
]]),
M = [
];
else if (G == r.SEMICOLON && I == o.RULE && p && M.length > 0) f = M.join('').trim(),
p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]),
p = null,
$ = !1,
M = [
];
else if (G == r.SEMICOLON && I == o.RULE && p && 0 === M.length) p = null,
$ = !1;
else if (G == r.SEMICOLON && I == o.RULE && M.length > 0 && M[0] == r.AT) f = M.join(''),
N.push([i.AT_RULE,
f,
[
v(h, f, n)
]]),
$ = !1,
M = [
];
else if (G == r.SEMICOLON && I == o.RULE && Y) Y = !1,
M = [
];
else if (G == r.SEMICOLON && I == o.RULE && 0 === M.length);
else if (G == r.CLOSE_CURLY_BRACKET && I == o.RULE && p && $ && M.length > 0 && R.length > 0) f = M.join(''),
p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]),
p = null,
c = R.pop(),
N = c[2],
I = j.pop(),
$ = !1,
M = [
];
else if (G == r.CLOSE_CURLY_BRACKET && I == o.RULE && p && M.length > 0 && M[0] == r.AT && R.length > 0) f = M.join(''),
c[1].push([i.AT_RULE,
f,
[
v(h, f, n)
]]),
p = null,
c = R.pop(),
N = c[2],
I = j.pop(),
$ = !1,
M = [
];
else if (G == r.CLOSE_CURLY_BRACKET && I == o.RULE && p && R.length > 0) p = null,
c = R.pop(),
N = c[2],
I = j.pop(),
$ = !1;
else if (G == r.CLOSE_CURLY_BRACKET && I == o.RULE && p && M.length > 0) f = M.join(''),
p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]),
p = null,
c = R.pop(),
N = P,
I = j.pop(),
$ = !1,
M = [
];
else if (G == r.CLOSE_CURLY_BRACKET && I == o.RULE && M.length > 0 && M[0] == r.AT) p = null,
c = null,
f = M.join('').trim(),
N.push([i.AT_RULE,
f,
[
v(h, f, n)
]]),
N = P,
I = j.pop(),
$ = !1,
M = [
];
else if (G == r.CLOSE_CURLY_BRACKET && I == o.RULE && j[j.length - 1] == o.RULE) p = null,
c = R.pop(),
N = c[2],
I = j.pop(),
$ = !1,
Y = !0,
M = [
];
else if (G == r.CLOSE_CURLY_BRACKET && I == o.RULE) p = null,
c = null,
N = P,
I = j.pop(),
$ = !1;
else if (G == r.CLOSE_CURLY_BRACKET && I == o.BLOCK && !u && W.index <= t.length - 1) n.warnings.push('Unexpected \'}\' at ' + s([W.line,
W.column,
W.source]) + '.'),
M.push(G);
else {
if (G == r.CLOSE_CURLY_BRACKET && I == o.BLOCK) break;
G == r.OPEN_ROUND_BRACKET && I == o.RULE && $ ? (M.push(G), V++) : G == r.CLOSE_ROUND_BRACKET && I == o.RULE && $ && 1 == V ? (M.push(G), f = M.join('').trim(), p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]), V--, M = [
]) : G == r.CLOSE_ROUND_BRACKET && I == o.RULE && $ ? (M.push(G), V--) : G == r.FORWARD_SLASH && t[W.index + 1] != r.ASTERISK && I == o.RULE && $ && M.length > 0 ? (f = M.join('').trim(), p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]), p.push([i.PROPERTY_VALUE,
G,
[
[W.line,
W.column,
W.source]
]]), M = [
]) : G == r.FORWARD_SLASH && t[W.index + 1] != r.ASTERISK && I == o.RULE && $ ? (p.push([i.PROPERTY_VALUE,
G,
[
[W.line,
W.column,
W.source]
]]), M = [
]) : G == r.COMMA && I == o.RULE && $ && M.length > 0 ? (f = M.join('').trim(), p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]), p.push([i.PROPERTY_VALUE,
G,
[
[W.line,
W.column,
W.source]
]]), M = [
]) : G == r.COMMA && I == o.RULE && $ ? (p.push([i.PROPERTY_VALUE,
G,
[
[W.line,
W.column,
W.source]
]]), M = [
]) : G == r.CLOSE_SQUARE_BRACKET && p && p.length > 1 && M.length > 0 && E(M) ? (M.push(G), f = M.join('').trim(), p[p.length - 1][1] += f, M = [
]) : (C || w && !D) && I == o.RULE && $ && p && M.length > 0 ? (f = M.join('').trim(), p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]), M = [
]) : D && I == o.RULE && $ && p && M.length > 1 ? (f = M.join('').trim(), p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]), M = [
]) : D && I == o.RULE && $ ? M = [
] : 1 == M.length && D ? M.pop() : (M.length > 0 || !C && !w && !D && !k) && M.push(G)
} else f = M.join('').trim(),
p = [
i.PROPERTY,
[
i.PROPERTY_NAME,
f,
[
v(h, f, n)
]
]
],
N.push(p),
$ = !0,
M = [
];
else M.push(G),
V--;
else M.push(G),
V++;
else j.push(I),
I = o.DOUBLE_QUOTE,
M.push(G);
else j.push(I),
I = o.SINGLE_QUOTE,
M.push(G);
else M.push(G);
else M.push(G);
O = !O && G == r.BACK_SLASH,
z = S,
q = T,
W.line = D || w || k ? W.line + 1 : W.line,
W.column = D || w || k ? 0 : W.column + 1
}
return $ && n.warnings.push('Missing \'}\' at ' + s([W.line,
W.column,
W.source]) + '.'),
$ && M.length > 0 && (f = M.join('').replace(m, ''), p.push([i.PROPERTY_VALUE,
f,
[
v(h, f, n)
]]), M = [
]),
M.length > 0 && n.warnings.push('Invalid character(s) \'' + M.join('') + '\' at ' + s(h) + '. Ignoring.'),
P
}(e, t, {
level: o.BLOCK,
position: {
source: t.source || void 0,
line: 1,
column: 0,
index: 0
}
}, !1)
}
},
{
'../utils/format-position': 125,
'./marker': 121,
'./token': 122
}
],
124: [
function (e, t, n) {
t.exports = function e(t) {
for (var n = t.slice(0), r = 0, i = n.length; r < i; r++) Array.isArray(n[r]) && (n[r] = e(n[r]));
return n
}
},
{
}
],
125: [
function (e, t, n) {
t.exports = function (e) {
var t = e[0],
n = e[1],
r = e[2];
return r ? r + ':' + t + ':' + n : t + ':' + n
}
},
{
}
],
126: [
function (e, t, n) {
var r = /^\/\//;
t.exports = function (e) {
return !r.test(e)
}
},
{
}
],
127: [
function (e, t, n) {
var r = /^data:(\S*?)?(;charset=[^;]+)?(;[^,]+?)?,(.+)/;
t.exports = function (e) {
return r.test(e)
}
},
{
}
],
128: [
function (e, t, n) {
var r = /^http:\/\//;
t.exports = function (e) {
return r.test(e)
}
},
{
}
],
129: [
function (e, t, n) {
var r = /^https:\/\//;
t.exports = function (e) {
return r.test(e)
}
},
{
}
],
130: [
function (e, t, n) {
var r = /^@import/i;
t.exports = function (e) {
return r.test(e)
}
},
{
}
],
131: [
function (e, t, n) {
var r = /^(\w+:\/\/|\/\/)/;
t.exports = function (e) {
return r.test(e)
}
},
{
}
],
132: [
function (e, t, n) {
var r = /([0-9]+)/;
function i(e) {
return '' + parseInt(e) == e ? parseInt(e) : e
}
t.exports = function (e, t) {
var n,
s,
o,
a,
u = ('' + e).split(r).map(i),
l = ('' + t).split(r).map(i);
for (o = 0, a = Math.min(u.length, l.length); o < a; o++) if ((n = u[o]) != (s = l[o])) return n > s ? 1 : - 1;
return u.length > l.length ? 1 : u.length == l.length ? 0 : - 1
}
},
{
}
],
133: [
function (e, t, n) {
t.exports = function e(t, n) {
var r,
i,
s,
o = {
};
for (r in t) s = t[r],
Array.isArray(s) ? o[r] = s.slice(0) : o[r] = 'object' == typeof s && null !== s ? e(s, {
}) : s;
for (i in n) s = n[i],
i in o && Array.isArray(s) ? o[i] = s.slice(0) : o[i] = i in o && 'object' == typeof s && null !== s ? e(o[i], s) : s;
return o
}
},
{
}
],
134: [
function (e, t, n) {
var r = e('../tokenizer/marker');
t.exports = function (e, t) {
var n,
i = r.OPEN_ROUND_BRACKET,
s = r.CLOSE_ROUND_BRACKET,
o = 0,
a = 0,
u = 0,
l = e.length,
c = [
];
if ( - 1 == e.indexOf(t)) return [e];
if ( - 1 == e.indexOf(i)) return e.split(t);
for (; a < l; ) e[a] == i ? o++ : e[a] == s && o--,
0 === o && a > 0 && a + 1 < l && e[a] == t && (c.push(e.substring(u, a)), u = a + 1),
a++;
return u < a + 1 && ((n = e.substring(u)) [n.length - 1] == t && (n = n.substring(0, n.length - 1)), c.push(n)),
c
}
},
{
'../tokenizer/marker': 121
}
],
135: [
function (e, t, n) {
var r = '',
i = e('../options/format').Breaks,
s = e('../options/format').Spaces,
o = e('../tokenizer/marker'),
a = e('../tokenizer/token');
function u(e) {
return 'filter' == e[1][1] || '-ms-filter' == e[1][1]
}
function l(e, t, n) {
return !e.spaceAfterClosingBrace && function (e) {
return 'background' == e[1][1] || 'transform' == e[1][1] || 'src' == e[1][1]
}(t) && function (e, t) {
return e[t][1][e[t][1].length - 1] == o.CLOSE_ROUND_BRACKET
}(t, n) || function (e, t) {
return e[t + 1] && e[t + 1][1] == o.FORWARD_SLASH
}(t, n) || function (e, t) {
return e[t][1] == o.FORWARD_SLASH
}(t, n) || function (e, t) {
return e[t + 1] && e[t + 1][1] == o.COMMA
}(t, n) || function (e, t) {
return e[t][1] == o.COMMA
}(t, n)
}
function c(e, t) {
for (var n = e.store, r = 0, i = t.length; r < i; r++) n(e, t[r]),
r < i - 1 && n(e, b(e))
}
function p(e, t) {
for (var n = function (e) {
for (var t = e.length - 1; t >= 0 && e[t][0] == a.COMMENT; t--);
return t
}(t), r = 0, i = t.length; r < i; r++) h(e, t, r, n)
}
function h(e, t, n, u) {
var l,
h = e.store,
d = t[n],
b = d[2][0] == a.PROPERTY_BLOCK;
l = e.format ? !(!e.format.semicolonAfterLastProperty && !b) || n < u : n < u || b;
var x = n === u;
switch (d[0]) {
case a.AT_RULE:
h(e, d),
h(e, v(e, i.AfterProperty, !1));
break;
case a.AT_RULE_BLOCK:
c(e, d[1]),
h(e, g(e, i.AfterRuleBegins, !0)),
p(e, d[2]),
h(e, y(e, i.AfterRuleEnds, !1, x));
break;
case a.COMMENT:
h(e, d);
break;
case a.PROPERTY:
h(e, d[1]),
h(e, function (e) {
return e.format ? o.COLON + (m(e, s.BeforeValue) ? o.SPACE : r) : o.COLON
}(e)),
f(e, d),
h(e, l ? v(e, i.AfterProperty, x) : r);
break;
case a.RAW:
h(e, d)
}
}
function f(e, t) {
var n,
r,
s = e.store;
if (t[2][0] == a.PROPERTY_BLOCK) s(e, g(e, i.AfterBlockBegins, !1)),
p(e, t[2][1]),
s(e, y(e, i.AfterBlockEnds, !1, !0));
else for (n = 2, r = t.length; n < r; n++) s(e, t[n]),
n < r - 1 && (u(t) || !l(e, t, n)) && s(e, o.SPACE)
}
function d(e, t) {
return e.format && e.format.breaks[t]
}
function m(e, t) {
return e.format && e.format.spaces[t]
}
function g(e, t, n) {
return e.format ? (e.indentBy += e.format.indentBy, e.indentWith = e.format.indentWith.repeat(e.indentBy), (n && m(e, s.BeforeBlockBegins) ? o.SPACE : r) + o.OPEN_CURLY_BRACKET + (d(e, t) ? e.format.breakWith : r) + e.indentWith) : o.OPEN_CURLY_BRACKET
}
function y(e, t, n, s) {
return e.format ? (e.indentBy -= e.format.indentBy, e.indentWith = e.format.indentWith.repeat(e.indentBy), (d(e, i.AfterProperty) || n && d(e, i.BeforeBlockEnds) ? e.format.breakWith : r) + e.indentWith + o.CLOSE_CURLY_BRACKET + (s ? r : (d(e, t) ? e.format.breakWith : r) + e.indentWith)) : o.CLOSE_CURLY_BRACKET
}
function v(e, t, n) {
return e.format ? o.SEMICOLON + (n || !d(e, t) ? r : e.format.breakWith + e.indentWith) : o.SEMICOLON
}
function b(e) {
return e.format ? o.COMMA + (d(e, i.BetweenSelectors) ? e.format.breakWith : r) + e.indentWith : o.COMMA
}
t.exports = {
all: function e(t, n) {
var s,
o,
u,
l,
h = t.store;
for (u = 0, l = n.length; u < l; u++) switch (o = u == l - 1, (s = n[u]) [0]) {
case a.AT_RULE:
h(t, s),
h(t, v(t, i.AfterAtRule, o));
break;
case a.AT_RULE_BLOCK:
c(t, s[1]),
h(t, g(t, i.AfterRuleBegins, !0)),
p(t, s[2]),
h(t, y(t, i.AfterRuleEnds, !1, o));
break;
case a.NESTED_BLOCK:
c(t, s[1]),
h(t, g(t, i.AfterBlockBegins, !0)),
e(t, s[2]),
h(t, y(t, i.AfterBlockEnds, !0, o));
break;
case a.COMMENT:
h(t, s),
h(t, d(t, i.AfterComment) ? t.format.breakWith : r);
break;
case a.RAW:
h(t, s);
break;
case a.RULE:
c(t, s[1]),
h(t, g(t, i.AfterRuleBegins, !0)),
p(t, s[2]),
h(t, y(t, i.AfterRuleEnds, !1, o))
}
},
body: p,
property: h,
rules: c,
value: f
}
},
{
'../options/format': 99,
'../tokenizer/marker': 121,
'../tokenizer/token': 122
}
],
136: [
function (e, t, n) {
var r = e('./helpers');
function i(e, t) {
e.output.push('string' == typeof t ? t : t[1])
}
function s() {
return {
output: [
],
store: i
}
}
t.exports = {
all: function (e) {
var t = s();
return r.all(t, e),
t.output.join('')
},
body: function (e) {
var t = s();
return r.body(t, e),
t.output.join('')
},
property: function (e, t) {
var n = s();
return r.property(n, e, t, !0),
n.output.join('')
},
rules: function (e) {
var t = s();
return r.rules(t, e),
t.output.join('')
},
value: function (e) {
var t = s();
return r.value(t, e),
t.output.join('')
}
}
},
{
'./helpers': 135
}
],
137: [
function (e, t, n) {
var r = e('./helpers').all;
function i(e, t) {
var n = 'string' == typeof t ? t : t[1];
(0, e.wrap) (e, n),
o(e, n),
e.output.push(n)
}
function s(e, t) {
e.column + t.length > e.format.wrapAt && (o(e, e.format.breakWith), e.output.push(e.format.breakWith))
}
function o(e, t) {
var n = t.split('\n');
e.line += n.length - 1,
e.column = n.length > 1 ? 0 : e.column + n.pop().length
}
t.exports = function (e, t) {
var n = {
column: 0,
format: t.options.format,
indentBy: 0,
indentWith: '',
line: 1,
output: [
],
spaceAfterClosingBrace: t.options.compatibility.properties.spaceAfterClosingBrace,
store: i,
wrap: t.options.format.wrapAt ? s : function () {
}
};
return r(n, e),
{
styles: n.output.join('')
}
}
},
{
'./helpers': 135
}
],
138: [
function (e, t, n) {
(function (n) {
var r = e('source-map').SourceMapGenerator,
i = e('./helpers').all,
s = e('../utils/is-remote-resource'),
o = 'win32' == n.platform,
a = /\//g,
u = '$stdin',
l = '\\';
function c(e, t) {
var n = 'string' == typeof t,
r = n ? t : t[1],
i = n ? null : t[2];
(0, e.wrap) (e, r),
h(e, r, i),
e.output.push(r)
}
function p(e, t) {
e.column + t.length > e.format.wrapAt && (h(e, e.format.breakWith, !1), e.output.push(e.format.breakWith))
}
function h(e, t, n) {
var r = t.split('\n');
n && function (e, t) {
for (var n = 0, r = t.length; n < r; n++) f(e, t[n])
}(e, n),
e.line += r.length - 1,
e.column = r.length > 1 ? 0 : e.column + r.pop().length
}
function f(e, t) {
var n = t[0],
r = t[1],
i = t[2],
c = i,
p = c || u;
o && c && !s(c) && (p = c.replace(a, l)),
e.outputMap.addMapping({
generated: {
line: e.line,
column: e.column
},
source: p,
original: {
line: n,
column: r
}
}),
e.inlineSources && i in e.sourcesContent && e.outputMap.setSourceContent(p, e.sourcesContent[i])
}
t.exports = function (e, t) {
var n = {
column: 0,
format: t.options.format,
indentBy: 0,
indentWith: '',
inlineSources: t.options.sourceMapInlineSources,
line: 1,
output: [
],
outputMap: new r,
sourcesContent: t.sourcesContent,
spaceAfterClosingBrace: t.options.compatibility.properties.spaceAfterClosingBrace,
store: c,
wrap: t.options.format.wrapAt ? p : function () {
}
};
return i(n, e),
{
sourceMap: n.outputMap,
styles: n.output.join('')
}
}
}).call(this, e('_process'))
},
{
'../utils/is-remote-resource': 131,
'./helpers': 135,
_process: 373,
'source-map': 149
}
],
139: [
function (e, t, n) {
var r = e('./util'),
i = Object.prototype.hasOwnProperty,
s = 'undefined' != typeof Map;
function o() {
this._array = [
],
this._set = s ? new Map : Object.create(null)
}
o.fromArray = function (e, t) {
for (var n = new o, r = 0, i = e.length; r < i; r++) n.add(e[r], t);
return n
},
o.prototype.size = function () {
return s ? this._set.size : Object.getOwnPropertyNames(this._set).length
},
o.prototype.add = function (e, t) {
var n = s ? e : r.toSetString(e),
o = s ? this.has(e) : i.call(this._set, n),
a = this._array.length;
o && !t || this._array.push(e),
o || (s ? this._set.set(e, a) : this._set[n] = a)
},
o.prototype.has = function (e) {
if (s) return this._set.has(e);
var t = r.toSetString(e);
return i.call(this._set, t)
},
o.prototype.indexOf = function (e) {
if (s) {
var t = this._set.get(e);
if (t >= 0) return t
} else {
var n = r.toSetString(e);
if (i.call(this._set, n)) return this._set[n]
}
throw new Error('"' + e + '" is not in the set.')
},
o.prototype.at = function (e) {
if (e >= 0 && e < this._array.length) return this._array[e];
throw new Error('No element indexed by ' + e)
},
o.prototype.toArray = function () {
return this._array.slice()
},
n.ArraySet = o
},
{
'./util': 148
}
],
140: [
function (e, t, n) {
var r = e('./base64');
n.encode = function (e) {
var t,
n = '',
i = function (e) {
return e < 0 ? 1 + ( - e << 1) : 0 + (e << 1)
}(e);
do {
t = 31 & i,
(i >>>= 5) > 0 && (t |= 32),
n += r.encode(t)
} while (i > 0);
return n
},
n.decode = function (e, t, n) {
var i,
s,
o,
a,
u = e.length,
l = 0,
c = 0;
do {
if (t >= u) throw new Error('Expected more digits in base 64 VLQ value.');
if ( - 1 === (s = r.decode(e.charCodeAt(t++)))) throw new Error('Invalid base64 digit: ' + e.charAt(t - 1));
i = !!(32 & s),
l += (s &= 31) << c,
c += 5
} while (i);
n.value = (a = (o = l) >> 1, 1 == (1 & o) ? - a : a),
n.rest = t
}
},
{
'./base64': 141
}
],
141: [
function (e, t, n) {
var r = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
n.encode = function (e) {
if (0 <= e && e < r.length) return r[e];
throw new TypeError('Must be between 0 and 63: ' + e)
},
n.decode = function (e) {
return 65 <= e && e <= 90 ? e - 65 : 97 <= e && e <= 122 ? e - 97 + 26 : 48 <= e && e <= 57 ? e - 48 + 52 : 43 == e ? 62 : 47 == e ? 63 : - 1
}
},
{
}
],
142: [
function (e, t, n) {
n.GREATEST_LOWER_BOUND = 1,
n.LEAST_UPPER_BOUND = 2,
n.search = function (e, t, r, i) {
if (0 === t.length) return - 1;
var s = function e(t, r, i, s, o, a) {
var u = Math.floor((r - t) / 2) + t,
l = o(i, s[u], !0);
return 0 === l ? u : l > 0 ? r - u > 1 ? e(u, r, i, s, o, a) : a == n.LEAST_UPPER_BOUND ? r < s.length ? r : - 1 : u : u - t > 1 ? e(t, u, i, s, o, a) : a == n.LEAST_UPPER_BOUND ? u : t < 0 ? - 1 : t
}( - 1, t.length, e, t, r, i || n.GREATEST_LOWER_BOUND);
if (s < 0) return - 1;
for (; s - 1 >= 0 && 0 === r(t[s], t[s - 1], !0); ) --s;
return s
}
},
{
}
],
143: [
function (e, t, n) {
var r = e('./util');
function i() {
this._array = [
],
this._sorted = !0,
this._last = {
generatedLine: - 1,
generatedColumn: 0
}
}
i.prototype.unsortedForEach = function (e, t) {
this._array.forEach(e, t)
},
i.prototype.add = function (e) {
var t,
n,
i,
s,
o,
a;
t = this._last,
n = e,
i = t.generatedLine,
s = n.generatedLine,
o = t.generatedColumn,
a = n.generatedColumn,
s > i || s == i && a >= o || r.compareByGeneratedPositionsInflated(t, n) <= 0 ? (this._last = e, this._array.push(e)) : (this._sorted = !1, this._array.push(e))
},
i.prototype.toArray = function () {
return this._sorted || (this._array.sort(r.compareByGeneratedPositionsInflated), this._sorted = !0),
this._array
},
n.MappingList = i
},
{
'./util': 148
}
],
144: [
function (e, t, n) {
function r(e, t, n) {
var r = e[t];
e[t] = e[n],
e[n] = r
}
function i(e, t, n, s) {
if (n < s) {
var o = n - 1;
r(e, (c = n, p = s, Math.round(c + Math.random() * (p - c))), s);
for (var a = e[s], u = n; u < s; u++) t(e[u], a) <= 0 && r(e, o += 1, u);
r(e, o + 1, u);
var l = o + 1;
i(e, t, n, l - 1),
i(e, t, l + 1, s)
}
var c,
p
}
n.quickSort = function (e, t) {
i(e, t, 0, e.length - 1)
}
},
{
}
],
145: [
function (e, t, n) {
var r = e('./util'),
i = e('./binary-search'),
s = e('./array-set').ArraySet,
o = e('./base64-vlq'),
a = e('./quick-sort').quickSort;
function u(e, t) {
var n = e;
return 'string' == typeof e && (n = r.parseSourceMapInput(e)),
null != n.sections ? new p(n, t) : new l(n, t)
}
function l(e, t) {
var n = e;
'string' == typeof e && (n = r.parseSourceMapInput(e));
var i = r.getArg(n, 'version'),
o = r.getArg(n, 'sources'),
a = r.getArg(n, 'names', [
]),
u = r.getArg(n, 'sourceRoot', null),
l = r.getArg(n, 'sourcesContent', null),
c = r.getArg(n, 'mappings'),
p = r.getArg(n, 'file', null);
if (i != this._version) throw new Error('Unsupported version: ' + i);
u && (u = r.normalize(u)),
o = o.map(String).map(r.normalize).map(function (e) {
return u && r.isAbsolute(u) && r.isAbsolute(e) ? r.relative(u, e) : e
}),
this._names = s.fromArray(a.map(String), !0),
this._sources = s.fromArray(o, !0),
this._absoluteSources = this._sources.toArray().map(function (e) {
return r.computeSourceURL(u, e, t)
}),
this.sourceRoot = u,
this.sourcesContent = l,
this._mappings = c,
this._sourceMapURL = t,
this.file = p
}
function c() {
this.generatedLine = 0,
this.generatedColumn = 0,
this.source = null,
this.originalLine = null,
this.originalColumn = null,
this.name = null
}
function p(e, t) {
var n = e;
'string' == typeof e && (n = r.parseSourceMapInput(e));
var i = r.getArg(n, 'version'),
o = r.getArg(n, 'sections');
if (i != this._version) throw new Error('Unsupported version: ' + i);
this._sources = new s,
this._names = new s;
var a = {
line: - 1,
column: 0
};
this._sections = o.map(function (e) {
if (e.url) throw new Error('Support for url field in sections not implemented.');
var n = r.getArg(e, 'offset'),
i = r.getArg(n, 'line'),
s = r.getArg(n, 'column');
if (i < a.line || i === a.line && s < a.column) throw new Error('Section offsets must be ordered and non-overlapping.');
return a = n,
{
generatedOffset: {
generatedLine: i + 1,
generatedColumn: s + 1
},
consumer: new u(r.getArg(e, 'map'), t)
}
})
}
u.fromSourceMap = function (e, t) {
return l.fromSourceMap(e, t)
},
u.prototype._version = 3,
u.prototype.__generatedMappings = null,
Object.defineProperty(u.prototype, '_generatedMappings', {
configurable: !0,
enumerable: !0,
get: function () {
return this.__generatedMappings || this._parseMappings(this._mappings, this.sourceRoot),
this.__generatedMappings
}
}),
u.prototype.__originalMappings = null,
Object.defineProperty(u.prototype, '_originalMappings', {
configurable: !0,
enumerable: !0,
get: function () {
return this.__originalMappings || this._parseMappings(this._mappings, this.sourceRoot),
this.__originalMappings
}
}),
u.prototype._charIsMappingSeparator = function (e, t) {
var n = e.charAt(t);
return ';' === n || ',' === n
},
u.prototype._parseMappings = function (e, t) {
throw new Error('Subclasses must implement _parseMappings')
},
u.GENERATED_ORDER = 1,
u.ORIGINAL_ORDER = 2,
u.GREATEST_LOWER_BOUND = 1,
u.LEAST_UPPER_BOUND = 2,
u.prototype.eachMapping = function (e, t, n) {
var i,
s = t || null;
switch (n || u.GENERATED_ORDER) {
case u.GENERATED_ORDER:
i = this._generatedMappings;
break;
case u.ORIGINAL_ORDER:
i = this._originalMappings;
break;
default:
throw new Error('Unknown order of iteration.')
}
var o = this.sourceRoot;
i.map(function (e) {
var t = null === e.source ? null : this._sources.at(e.source);
return {
source: t = r.computeSourceURL(o, t, this._sourceMapURL),
generatedLine: e.generatedLine,
generatedColumn: e.generatedColumn,
originalLine: e.originalLine,
originalColumn: e.originalColumn,
name: null === e.name ? null : this._names.at(e.name)
}
}, this).forEach(e, s)
},
u.prototype.allGeneratedPositionsFor = function (e) {
var t = r.getArg(e, 'line'),
n = {
source: r.getArg(e, 'source'),
originalLine: t,
originalColumn: r.getArg(e, 'column', 0)
};
if (n.source = this._findSourceIndex(n.source), n.source < 0) return [];
var s = [
],
o = this._findMapping(n, this._originalMappings, 'originalLine', 'originalColumn', r.compareByOriginalPositions, i.LEAST_UPPER_BOUND);
if (o >= 0) {
var a = this._originalMappings[o];
if (void 0 === e.column) for (var u = a.originalLine; a && a.originalLine === u; ) s.push({
line: r.getArg(a, 'generatedLine', null),
column: r.getArg(a, 'generatedColumn', null),
lastColumn: r.getArg(a, 'lastGeneratedColumn', null)
}),
a = this._originalMappings[++o];
else for (var l = a.originalColumn; a && a.originalLine === t && a.originalColumn == l; ) s.push({
line: r.getArg(a, 'generatedLine', null),
column: r.getArg(a, 'generatedColumn', null),
lastColumn: r.getArg(a, 'lastGeneratedColumn', null)
}),
a = this._originalMappings[++o]
}
return s
},
n.SourceMapConsumer = u,
l.prototype = Object.create(u.prototype),
l.prototype.consumer = u,
l.prototype._findSourceIndex = function (e) {
var t,
n = e;
if (null != this.sourceRoot && (n = r.relative(this.sourceRoot, n)), this._sources.has(n)) return this._sources.indexOf(n);
for (t = 0; t < this._absoluteSources.length; ++t) if (this._absoluteSources[t] == e) return t;
return - 1
},
l.fromSourceMap = function (e, t) {
var n = Object.create(l.prototype),
i = n._names = s.fromArray(e._names.toArray(), !0),
o = n._sources = s.fromArray(e._sources.toArray(), !0);
n.sourceRoot = e._sourceRoot,
n.sourcesContent = e._generateSourcesContent(n._sources.toArray(), n.sourceRoot),
n.file = e._file,
n._sourceMapURL = t,
n._absoluteSources = n._sources.toArray().map(function (e) {
return r.computeSourceURL(n.sourceRoot, e, t)
});
for (var u = e._mappings.toArray().slice(), p = n.__generatedMappings = [
], h = n.__originalMappings = [
], f = 0, d = u.length; f < d; f++) {
var m = u[f],
g = new c;
g.generatedLine = m.generatedLine,
g.generatedColumn = m.generatedColumn,
m.source && (g.source = o.indexOf(m.source), g.originalLine = m.originalLine, g.originalColumn = m.originalColumn, m.name && (g.name = i.indexOf(m.name)), h.push(g)),
p.push(g)
}
return a(n.__originalMappings, r.compareByOriginalPositions),
n
},
l.prototype._version = 3,
Object.defineProperty(l.prototype, 'sources', {
get: function () {
return this._absoluteSources.slice()
}
}),
l.prototype._parseMappings = function (e, t) {
for (var n, i, s, u, l, p = 1, h = 0, f = 0, d = 0, m = 0, g = 0, y = e.length, v = 0, b = {
}, x = {
}, A = [
], E = [
]; v < y; ) if (';' === e.charAt(v)) p++,
v++,
h = 0;
else if (',' === e.charAt(v)) v++;
else {
for ((n = new c).generatedLine = p, u = v; u < y && !this._charIsMappingSeparator(e, u); u++);
if (s = b[i = e.slice(v, u)]) v += i.length;
else {
for (s = [
]; v < u; ) o.decode(e, v, x),
l = x.value,
v = x.rest,
s.push(l);
if (2 === s.length) throw new Error('Found a source, but no line and column');
if (3 === s.length) throw new Error('Found a source and line, but no column');
b[i] = s
}
n.generatedColumn = h + s[0],
h = n.generatedColumn,
s.length > 1 && (n.source = m + s[1], m += s[1], n.originalLine = f + s[2], f = n.originalLine, n.originalLine += 1, n.originalColumn = d + s[3], d = n.originalColumn, s.length > 4 && (n.name = g + s[4], g += s[4])),
E.push(n),
'number' == typeof n.originalLine && A.push(n)
}
a(E, r.compareByGeneratedPositionsDeflated),
this.__generatedMappings = E,
a(A, r.compareByOriginalPositions),
this.__originalMappings = A
},
l.prototype._findMapping = function (e, t, n, r, s, o) {
if (e[n] <= 0) throw new TypeError('Line must be greater than or equal to 1, got ' + e[n]);
if (e[r] < 0) throw new TypeError('Column must be greater than or equal to 0, got ' + e[r]);
return i.search(e, t, s, o)
},
l.prototype.computeColumnSpans = function () {
for (var e = 0; e < this._generatedMappings.length; ++e) {
var t = this._generatedMappings[e];
if (e + 1 < this._generatedMappings.length) {
var n = this._generatedMappings[e + 1];
if (t.generatedLine === n.generatedLine) {
t.lastGeneratedColumn = n.generatedColumn - 1;
continue
}
}
t.lastGeneratedColumn = 1 / 0
}
},
l.prototype.originalPositionFor = function (e) {
var t = {
generatedLine: r.getArg(e, 'line'),
generatedColumn: r.getArg(e, 'column')
},
n = this._findMapping(t, this._generatedMappings, 'generatedLine', 'generatedColumn', r.compareByGeneratedPositionsDeflated, r.getArg(e, 'bias', u.GREATEST_LOWER_BOUND));
if (n >= 0) {
var i = this._generatedMappings[n];
if (i.generatedLine === t.generatedLine) {
var s = r.getArg(i, 'source', null);
null !== s && (s = this._sources.at(s), s = r.computeSourceURL(this.sourceRoot, s, this._sourceMapURL));
var o = r.getArg(i, 'name', null);
return null !== o && (o = this._names.at(o)),
{
source: s,
line: r.getArg(i, 'originalLine', null),
column: r.getArg(i, 'originalColumn', null),
name: o
}
}
}
return {
source: null,
line: null,
column: null,
name: null
}
},
l.prototype.hasContentsOfAllSources = function () {
return !!this.sourcesContent && (this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (e) {
return null == e
}))
},
l.prototype.sourceContentFor = function (e, t) {
if (!this.sourcesContent) return null;
var n = this._findSourceIndex(e);
if (n >= 0) return this.sourcesContent[n];
var i,
s = e;
if (null != this.sourceRoot && (s = r.relative(this.sourceRoot, s)), null != this.sourceRoot && (i = r.urlParse(this.sourceRoot))) {
var o = s.replace(/^file:\/\//, '');
if ('file' == i.scheme && this._sources.has(o)) return this.sourcesContent[this._sources.indexOf(o)];
if ((!i.path || '/' == i.path) && this._sources.has('/' + s)) return this.sourcesContent[this._sources.indexOf('/' + s)]
}
if (t) return null;
throw new Error('"' + s + '" is not in the SourceMap.')
},
l.prototype.generatedPositionFor = function (e) {
var t = r.getArg(e, 'source');
if ((t = this._findSourceIndex(t)) < 0) return {
line: null,
column: null,
lastColumn: null
};
var n = {
source: t,
originalLine: r.getArg(e, 'line'),
originalColumn: r.getArg(e, 'column')
},
i = this._findMapping(n, this._originalMappings, 'originalLine', 'originalColumn', r.compareByOriginalPositions, r.getArg(e, 'bias', u.GREATEST_LOWER_BOUND));
if (i >= 0) {
var s = this._originalMappings[i];
if (s.source === n.source) return {
line: r.getArg(s, 'generatedLine', null),
column: r.getArg(s, 'generatedColumn', null),
lastColumn: r.getArg(s, 'lastGeneratedColumn', null)
}
}
return {
line: null,
column: null,
lastColumn: null
}
},
n.BasicSourceMapConsumer = l,
p.prototype = Object.create(u.prototype),
p.prototype.constructor = u,
p.prototype._version = 3,
Object.defineProperty(p.prototype, 'sources', {
get: function () {
for (var e = [
], t = 0; t < this._sections.length; t++) for (var n = 0; n < this._sections[t].consumer.sources.length; n++) e.push(this._sections[t].consumer.sources[n]);
return e
}
}),
p.prototype.originalPositionFor = function (e) {
var t = {
generatedLine: r.getArg(e, 'line'),
generatedColumn: r.getArg(e, 'column')
},
n = i.search(t, this._sections, function (e, t) {
var n = e.generatedLine - t.generatedOffset.generatedLine;
return n || e.generatedColumn - t.generatedOffset.generatedColumn
}),
s = this._sections[n];
return s ? s.consumer.originalPositionFor({
line: t.generatedLine - (s.generatedOffset.generatedLine - 1),
column: t.generatedColumn - (s.generatedOffset.generatedLine === t.generatedLine ? s.generatedOffset.generatedColumn - 1 : 0),
bias: e.bias
}) : {
source: null,
line: null,
column: null,
name: null
}
},
p.prototype.hasContentsOfAllSources = function () {
return this._sections.every(function (e) {
return e.consumer.hasContentsOfAllSources()
})
},
p.prototype.sourceContentFor = function (e, t) {
for (var n = 0; n < this._sections.length; n++) {
var r = this._sections[n].consumer.sourceContentFor(e, !0);
if (r) return r
}
if (t) return null;
throw new Error('"' + e + '" is not in the SourceMap.')
},
p.prototype.generatedPositionFor = function (e) {
for (var t = 0; t < this._sections.length; t++) {
var n = this._sections[t];
if ( - 1 !== n.consumer._findSourceIndex(r.getArg(e, 'source'))) {
var i = n.consumer.generatedPositionFor(e);
if (i) return {
line: i.line + (n.generatedOffset.generatedLine - 1),
column: i.column + (n.generatedOffset.generatedLine === i.line ? n.generatedOffset.generatedColumn - 1 : 0)
}
}
}
return {
line: null,
column: null
}
},
p.prototype._parseMappings = function (e, t) {
this.__generatedMappings = [
],
this.__originalMappings = [
];
for (var n = 0; n < this._sections.length; n++) for (var i = this._sections[n], s = i.consumer._generatedMappings, o = 0; o < s.length; o++) {
var u = s[o],
l = i.consumer._sources.at(u.source);
l = r.computeSourceURL(i.consumer.sourceRoot, l, this._sourceMapURL),
this._sources.add(l),
l = this._sources.indexOf(l);
var c = null;
u.name && (c = i.consumer._names.at(u.name), this._names.add(c), c = this._names.indexOf(c));
var p = {
source: l,
generatedLine: u.generatedLine + (i.generatedOffset.generatedLine - 1),
generatedColumn: u.generatedColumn + (i.generatedOffset.generatedLine === u.generatedLine ? i.generatedOffset.generatedColumn - 1 : 0),
originalLine: u.originalLine,
originalColumn: u.originalColumn,
name: c
};
this.__generatedMappings.push(p),
'number' == typeof p.originalLine && this.__originalMappings.push(p)
}
a(this.__generatedMappings, r.compareByGeneratedPositionsDeflated),
a(this.__originalMappings, r.compareByOriginalPositions)
},
n.IndexedSourceMapConsumer = p
},
{
'./array-set': 139,
'./base64-vlq': 140,
'./binary-search': 142,
'./quick-sort': 144,
'./util': 148
}
],
146: [
function (e, t, n) {
var r = e('./base64-vlq'),
i = e('./util'),
s = e('./array-set').ArraySet,
o = e('./mapping-list').MappingList;
function a(e) {
e || (e = {
}),
this._file = i.getArg(e, 'file', null),
this._sourceRoot = i.getArg(e, 'sourceRoot', null),
this._skipValidation = i.getArg(e, 'skipValidation', !1),
this._sources = new s,
this._names = new s,
this._mappings = new o,
this._sourcesContents = null
}
a.prototype._version = 3,
a.fromSourceMap = function (e) {
var t = e.sourceRoot,
n = new a({
file: e.file,
sourceRoot: t
});
return e.eachMapping(function (e) {
var r = {
generated: {
line: e.generatedLine,
column: e.generatedColumn
}
};
null != e.source && (r.source = e.source, null != t && (r.source = i.relative(t, r.source)), r.original = {
line: e.originalLine,
column: e.originalColumn
}, null != e.name && (r.name = e.name)),
n.addMapping(r)
}),
e.sources.forEach(function (r) {
var s = r;
null !== t && (s = i.relative(t, r)),
n._sources.has(s) || n._sources.add(s);
var o = e.sourceContentFor(r);
null != o && n.setSourceContent(r, o)
}),
n
},
a.prototype.addMapping = function (e) {
var t = i.getArg(e, 'generated'),
n = i.getArg(e, 'original', null),
r = i.getArg(e, 'source', null),
s = i.getArg(e, 'name', null);
this._skipValidation || this._validateMapping(t, n, r, s),
null != r && (r = String(r), this._sources.has(r) || this._sources.add(r)),
null != s && (s = String(s), this._names.has(s) || this._names.add(s)),
this._mappings.add({
generatedLine: t.line,
generatedColumn: t.column,
originalLine: null != n && n.line,
originalColumn: null != n && n.column,
source: r,
name: s
})
},
a.prototype.setSourceContent = function (e, t) {
var n = e;
null != this._sourceRoot && (n = i.relative(this._sourceRoot, n)),
null != t ? (this._sourcesContents || (this._sourcesContents = Object.create(null)), this._sourcesContents[i.toSetString(n)] = t) : this._sourcesContents && (delete this._sourcesContents[i.toSetString(n)], 0 === Object.keys(this._sourcesContents).length && (this._sourcesContents = null))
},
a.prototype.applySourceMap = function (e, t, n) {
var r = t;
if (null == t) {
if (null == e.file) throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');
r = e.file
}
var o = this._sourceRoot;
null != o && (r = i.relative(o, r));
var a = new s,
u = new s;
this._mappings.unsortedForEach(function (t) {
if (t.source === r && null != t.originalLine) {
var s = e.originalPositionFor({
line: t.originalLine,
column: t.originalColumn
});
null != s.source && (t.source = s.source, null != n && (t.source = i.join(n, t.source)), null != o && (t.source = i.relative(o, t.source)), t.originalLine = s.line, t.originalColumn = s.column, null != s.name && (t.name = s.name))
}
var l = t.source;
null == l || a.has(l) || a.add(l);
var c = t.name;
null == c || u.has(c) || u.add(c)
}, this),
this._sources = a,
this._names = u,
e.sources.forEach(function (t) {
var r = e.sourceContentFor(t);
null != r && (null != n && (t = i.join(n, t)), null != o && (t = i.relative(o, t)), this.setSourceContent(t, r))
}, this)
},
a.prototype._validateMapping = function (e, t, n, r) {
if (t && 'number' != typeof t.line && 'number' != typeof t.column) throw new Error('original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.');
if ((!(e && 'line' in e && 'column' in e && e.line > 0 && e.column >= 0) || t || n || r) && !(e && 'line' in e && 'column' in e && t && 'line' in t && 'column' in t && e.line > 0 && e.column >= 0 && t.line > 0 && t.column >= 0 && n)) throw new Error('Invalid mapping: ' + JSON.stringify({
generated: e,
source: n,
original: t,
name: r
}))
},
a.prototype._serializeMappings = function () {
for (var e, t, n, s, o = 0, a = 1, u = 0, l = 0, c = 0, p = 0, h = '', f = this._mappings.toArray(), d = 0, m = f.length; d < m; d++) {
if (e = '', (t = f[d]).generatedLine !== a) for (o = 0; t.generatedLine !== a; ) e += ';',
a++;
else if (d > 0) {
if (!i.compareByGeneratedPositionsInflated(t, f[d - 1])) continue;
e += ','
}
e += r.encode(t.generatedColumn - o),
o = t.generatedColumn,
null != t.source && (s = this._sources.indexOf(t.source), e += r.encode(s - p), p = s, e += r.encode(t.originalLine - 1 - l), l = t.originalLine - 1, e += r.encode(t.originalColumn - u), u = t.originalColumn, null != t.name && (n = this._names.indexOf(t.name), e += r.encode(n - c), c = n)),
h += e
}
return h
},
a.prototype._generateSourcesContent = function (e, t) {
return e.map(function (e) {
if (!this._sourcesContents) return null;
null != t && (e = i.relative(t, e));
var n = i.toSetString(e);
return Object.prototype.hasOwnProperty.call(this._sourcesContents, n) ? this._sourcesContents[n] : null
}, this)
},
a.prototype.toJSON = function () {
var e = {
version: this._version,
sources: this._sources.toArray(),
names: this._names.toArray(),
mappings: this._serializeMappings()
};
return null != this._file && (e.file = this._file),
null != this._sourceRoot && (e.sourceRoot = this._sourceRoot),
this._sourcesContents && (e.sourcesContent = this._generateSourcesContent(e.sources, e.sourceRoot)),
e
},
a.prototype.toString = function () {
return JSON.stringify(this.toJSON())
},
n.SourceMapGenerator = a
},
{
'./array-set': 139,
'./base64-vlq': 140,
'./mapping-list': 143,
'./util': 148
}
],
147: [
function (e, t, n) {
var r = e('./source-map-generator').SourceMapGenerator,
i = e('./util'),
s = /(\r?\n)/,
o = '$$$isSourceNode$$$';
function a(e, t, n, r, i) {
this.children = [
],
this.sourceContents = {
},
this.line = null == e ? null : e,
this.column = null == t ? null : t,
this.source = null == n ? null : n,
this.name = null == i ? null : i,
this[o] = !0,
null != r && this.add(r)
}
a.fromStringWithSourceMap = function (e, t, n) {
var r = new a,
o = e.split(s),
u = 0,
l = function () {
return e() + (e() || '');
function e() {
return u < o.length ? o[u++] : void 0
}
},
c = 1,
p = 0,
h = null;
return t.eachMapping(function (e) {
if (null !== h) {
if (!(c < e.generatedLine)) {
var t = (n = o[u] || '').substr(0, e.generatedColumn - p);
return o[u] = n.substr(e.generatedColumn - p),
p = e.generatedColumn,
f(h, t),
void (h = e)
}
f(h, l()),
c++,
p = 0
}
for (; c < e.generatedLine; ) r.add(l()),
c++;
if (p < e.generatedColumn) {
var n = o[u] || '';
r.add(n.substr(0, e.generatedColumn)),
o[u] = n.substr(e.generatedColumn),
p = e.generatedColumn
}
h = e
}, this),
u < o.length && (h && f(h, l()), r.add(o.splice(u).join(''))),
t.sources.forEach(function (e) {
var s = t.sourceContentFor(e);
null != s && (null != n && (e = i.join(n, e)), r.setSourceContent(e, s))
}),
r;
function f(e, t) {
if (null === e || void 0 === e.source) r.add(t);
else {
var s = n ? i.join(n, e.source) : e.source;
r.add(new a(e.originalLine, e.originalColumn, s, t, e.name))
}
}
},
a.prototype.add = function (e) {
if (Array.isArray(e)) e.forEach(function (e) {
this.add(e)
}, this);
else {
if (!e[o] && 'string' != typeof e) throw new TypeError('Expected a SourceNode, string, or an array of SourceNodes and strings. Got ' + e);
e && this.children.push(e)
}
return this
},
a.prototype.prepend = function (e) {
if (Array.isArray(e)) for (var t = e.length - 1; t >= 0; t--) this.prepend(e[t]);
else {
if (!e[o] && 'string' != typeof e) throw new TypeError('Expected a SourceNode, string, or an array of SourceNodes and strings. Got ' + e);
this.children.unshift(e)
}
return this
},
a.prototype.walk = function (e) {
for (var t, n = 0, r = this.children.length; n < r; n++) (t = this.children[n]) [o] ? t.walk(e) : '' !== t && e(t, {
source: this.source,
line: this.line,
column: this.column,
name: this.name
})
},
a.prototype.join = function (e) {
var t,
n,
r = this.children.length;
if (r > 0) {
for (t = [
], n = 0; n < r - 1; n++) t.push(this.children[n]),
t.push(e);
t.push(this.children[n]),
this.children = t
}
return this
},
a.prototype.replaceRight = function (e, t) {
var n = this.children[this.children.length - 1];
return n[o] ? n.replaceRight(e, t) : 'string' == typeof n ? this.children[this.children.length - 1] = n.replace(e, t) : this.children.push(''.replace(e, t)),
this
},
a.prototype.setSourceContent = function (e, t) {
this.sourceContents[i.toSetString(e)] = t
},
a.prototype.walkSourceContents = function (e) {
for (var t = 0, n = this.children.length; t < n; t++) this.children[t][o] && this.children[t].walkSourceContents(e);
var r = Object.keys(this.sourceContents);
for (t = 0, n = r.length; t < n; t++) e(i.fromSetString(r[t]), this.sourceContents[r[t]])
},
a.prototype.toString = function () {
var e = '';
return this.walk(function (t) {
e += t
}),
e
},
a.prototype.toStringWithSourceMap = function (e) {
var t = {
code: '',
line: 1,
column: 0
},
n = new r(e),
i = !1,
s = null,
o = null,
a = null,
u = null;
return this.walk(function (e, r) {
t.code += e,
null !== r.source && null !== r.line && null !== r.column ? (s === r.source && o === r.line && a === r.column && u === r.name || n.addMapping({
source: r.source,
original: {
line: r.line,
column: r.column
},
generated: {
line: t.line,
column: t.column
},
name: r.name
}), s = r.source, o = r.line, a = r.column, u = r.name, i = !0) : i && (n.addMapping({
generated: {
line: t.line,
column: t.column
}
}), s = null, i = !1);
for (var l = 0, c = e.length; l < c; l++) 10 === e.charCodeAt(l) ? (t.line++, t.column = 0, l + 1 === c ? (s = null, i = !1) : i && n.addMapping({
source: r.source,
original: {
line: r.line,
column: r.column
},
generated: {
line: t.line,
column: t.column
},
name: r.name
})) : t.column++
}),
this.walkSourceContents(function (e, t) {
n.setSourceContent(e, t)
}),
{
code: t.code,
map: n
}
},
n.SourceNode = a
},
{
'./source-map-generator': 146,
'./util': 148
}
],
148: [
function (e, t, n) {
n.getArg = function (e, t, n) {
if (t in e) return e[t];
if (3 === arguments.length) return n;
throw new Error('"' + t + '" is a required argument.')
};
var r = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,
i = /^data:.+\,.+$/;
function s(e) {
var t = e.match(r);
return t ? {
scheme: t[1],
auth: t[2],
host: t[3],
port: t[4],
path: t[5]
}
: null
}
function o(e) {
var t = '';
return e.scheme && (t += e.scheme + ':'),
t += '//',
e.auth && (t += e.auth + '@'),
e.host && (t += e.host),
e.port && (t += ':' + e.port),
e.path && (t += e.path),
t
}
function a(e) {
var t = e,
r = s(e);
if (r) {
if (!r.path) return e;
t = r.path
}
for (var i, a = n.isAbsolute(t), u = t.split(/\/+/), l = 0, c = u.length - 1; c >= 0; c--) '.' === (i = u[c]) ? u.splice(c, 1) : '..' === i ? l++ : l > 0 && ('' === i ? (u.splice(c + 1, l), l = 0) : (u.splice(c, 2), l--));
return '' === (t = u.join('/')) && (t = a ? '/' : '.'),
r ? (r.path = t, o(r)) : t
}
function u(e, t) {
'' === e && (e = '.'),
'' === t && (t = '.');
var n = s(t),
r = s(e);
if (r && (e = r.path || '/'), n && !n.scheme) return r && (n.scheme = r.scheme),
o(n);
if (n || t.match(i)) return t;
if (r && !r.host && !r.path) return r.host = t,
o(r);
var u = '/' === t.charAt(0) ? t : a(e.replace(/\/+$/, '') + '/' + t);
return r ? (r.path = u, o(r)) : u
}
n.urlParse = s,
n.urlGenerate = o,
n.normalize = a,
n.join = u,
n.isAbsolute = function (e) {
return '/' === e.charAt(0) || r.test(e)
},
n.relative = function (e, t) {
'' === e && (e = '.'),
e = e.replace(/\/$/, '');
for (var n = 0; 0 !== t.indexOf(e + '/'); ) {
var r = e.lastIndexOf('/');
if (r < 0) return t;
if ((e = e.slice(0, r)).match(/^([^\/]+:\/)?\/*$/)) return t;
++n
}
return Array(n + 1).join('../') + t.substr(e.length + 1)
};
var l = !('__proto__' in Object.create(null));
function c(e) {
return e
}
function p(e) {
if (!e) return !1;
var t = e.length;
if (t < 9) return !1;
if (95 !== e.charCodeAt(t - 1) || 95 !== e.charCodeAt(t - 2) || 111 !== e.charCodeAt(t - 3) || 116 !== e.charCodeAt(t - 4) || 111 !== e.charCodeAt(t - 5) || 114 !== e.charCodeAt(t - 6) || 112 !== e.charCodeAt(t - 7) || 95 !== e.charCodeAt(t - 8) || 95 !== e.charCodeAt(t - 9)) return !1;
for (var n = t - 10; n >= 0; n--) if (36 !== e.charCodeAt(n)) return !1;
return !0
}
function h(e, t) {
return e === t ? 0 : null === e ? 1 : null === t ? - 1 : e > t ? 1 : - 1
}
n.toSetString = l ? c : function (e) {
return p(e) ? '$' + e : e
},
n.fromSetString = l ? c : function (e) {
return p(e) ? e.slice(1) : e
},
n.compareByOriginalPositions = function (e, t, n) {
var r = h(e.source, t.source);
return 0 !== r ? r : 0 != (r = e.originalLine - t.originalLine) ? r : 0 != (r = e.originalColumn - t.originalColumn) || n ? r : 0 != (r = e.generatedColumn - t.generatedColumn) ? r : 0 != (r = e.generatedLine - t.generatedLine) ? r : h(e.name, t.name)
},
n.compareByGeneratedPositionsDeflated = function (e, t, n) {
var r = e.generatedLine - t.generatedLine;
return 0 !== r ? r : 0 != (r = e.generatedColumn - t.generatedColumn) || n ? r : 0 !== (r = h(e.source, t.source)) ? r : 0 != (r = e.originalLine - t.originalLine) ? r : 0 != (r = e.originalColumn - t.originalColumn) ? r : h(e.name, t.name)
},
n.compareByGeneratedPositionsInflated = function (e, t) {
var n = e.generatedLine - t.generatedLine;
return 0 !== n ? n : 0 != (n = e.generatedColumn - t.generatedColumn) ? n : 0 !== (n = h(e.source, t.source)) ? n : 0 != (n = e.originalLine - t.originalLine) ? n : 0 != (n = e.originalColumn - t.originalColumn) ? n : h(e.name, t.name)
},
n.parseSourceMapInput = function (e) {
return JSON.parse(e.replace(/^\)]}'[^\n]*\n/, ''))
},
n.computeSourceURL = function (e, t, n) {
if (t = t || '', e && ('/' !== e[e.length - 1] && '/' !== t[0] && (e += '/'), t = e + t), n) {
var r = s(n);
if (!r) throw new Error('sourceMapURL could not be parsed');
if (r.path) {
var i = r.path.lastIndexOf('/');
i >= 0 && (r.path = r.path.substring(0, i + 1))
}
t = u(o(r), t)
}
return a(t)
}
},
{
}
],
149: [
function (e, t, n) {
n.SourceMapGenerator = e('./lib/source-map-generator').SourceMapGenerator,
n.SourceMapConsumer = e('./lib/source-map-consumer').SourceMapConsumer,
n.SourceNode = e('./lib/source-node').SourceNode
},
{
'./lib/source-map-consumer': 145,
'./lib/source-map-generator': 146,
'./lib/source-node': 147
}
],
150: [
function (e, t, n) {
e('../modules/web.dom.iterable'),
e('../modules/es6.string.iterator'),
t.exports = e('../modules/core.get-iterator')
},
{
'../modules/core.get-iterator': 217,
'../modules/es6.string.iterator': 223,
'../modules/web.dom.iterable': 227
}
],
151: [
function (e, t, n) {
var r = e('../../modules/_core'),
i = r.JSON || (r.JSON = {
stringify: JSON.stringify
});
t.exports = function (e) {
return i.stringify.apply(i, arguments)
}
},
{
'../../modules/_core': 165
}
],
152: [
function (e, t, n) {
e('../../modules/es6.number.max-safe-integer'),
t.exports = 9007199254740991
},
{
'../../modules/es6.number.max-safe-integer': 219
}
],
153: [
function (e, t, n) {
e('../../modules/es6.object.create');
var r = e('../../modules/_core').Object;
t.exports = function (e, t) {
return r.create(e, t)
}
},
{
'../../modules/_core': 165,
'../../modules/es6.object.create': 220
}
],
154: [
function (e, t, n) {
e('../../modules/es6.symbol'),
t.exports = e('../../modules/_core').Object.getOwnPropertySymbols
},
{
'../../modules/_core': 165,
'../../modules/es6.symbol': 224
}
],
155: [
function (e, t, n) {
e('../../modules/es6.object.keys'),
t.exports = e('../../modules/_core').Object.keys
},
{
'../../modules/_core': 165,
'../../modules/es6.object.keys': 221
}
],
156: [
function (e, t, n) {
e('../../modules/es6.symbol'),
t.exports = e('../../modules/_core').Symbol.for
},
{
'../../modules/_core': 165,
'../../modules/es6.symbol': 224
}
],
157: [
function (e, t, n) {
e('../../modules/es6.symbol'),
e('../../modules/es6.object.to-string'),
e('../../modules/es7.symbol.async-iterator'),
e('../../modules/es7.symbol.observable'),
t.exports = e('../../modules/_core').Symbol
},
{
'../../modules/_core': 165,
'../../modules/es6.object.to-string': 222,
'../../modules/es6.symbol': 224,
'../../modules/es7.symbol.async-iterator': 225,
'../../modules/es7.symbol.observable': 226
}
],
158: [
function (e, t, n) {
e('../../modules/es6.string.iterator'),
e('../../modules/web.dom.iterable'),
t.exports = e('../../modules/_wks-ext').f('iterator')
},
{
'../../modules/_wks-ext': 214,
'../../modules/es6.string.iterator': 223,
'../../modules/web.dom.iterable': 227
}
],
159: [
function (e, t, n) {
t.exports = function (e) {
if ('function' != typeof e) throw TypeError(e + ' is not a function!');
return e
}
},
{
}
],
160: [
function (e, t, n) {
t.exports = function () {
}
},
{
}
],
161: [
function (e, t, n) {
var r = e('./_is-object');
t.exports = function (e) {
if (!r(e)) throw TypeError(e + ' is not an object!');
return e
}
},
{
'./_is-object': 181
}
],
162: [
function (e, t, n) {
var r = e('./_to-iobject'),
i = e('./_to-length'),
s = e('./_to-absolute-index');
t.exports = function (e) {
return function (t, n, o) {
var a,
u = r(t),
l = i(u.length),
c = s(o, l);
if (e && n != n) {
for (; l > c; ) if ((a = u[c++]) != a) return !0
} else for (; l > c; c++) if ((e || c in u) && u[c] === n) return e || c || 0;
return !e && - 1
}
}
},
{
'./_to-absolute-index': 206,
'./_to-iobject': 208,
'./_to-length': 209
}
],
163: [
function (e, t, n) {
var r = e('./_cof'),
i = e('./_wks') ('toStringTag'),
s = 'Arguments' == r(function () {
return arguments
}());
t.exports = function (e) {
var t,
n,
o;
return void 0 === e ? 'Undefined' : null === e ? 'Null' : 'string' == typeof (n = function (e, t) {
try {
return e[t]
} catch (e) {
}
}(t = Object(e), i)) ? n : s ? r(t) : 'Object' == (o = r(t)) && 'function' == typeof t.callee ? 'Arguments' : o
}
},
{
'./_cof': 164,
'./_wks': 215
}
],
164: [
function (e, t, n) {
var r = {
}.toString;
t.exports = function (e) {
return r.call(e).slice(8, - 1)
}
},
{
}
],
165: [
function (e, t, n) {
var r = t.exports = {
version: '2.6.9'
};
'number' == typeof __e && (__e = r)
},
{
}
],
166: [
function (e, t, n) {
var r = e('./_a-function');
t.exports = function (e, t, n) {
if (r(e), void 0 === t) return e;
switch (n) {
case 1:
return function (n) {
return e.call(t, n)
};
case 2:
return function (n, r) {
return e.call(t, n, r)
};
case 3:
return function (n, r, i) {
return e.call(t, n, r, i)
}
}
return function () {
return e.apply(t, arguments)
}
}
},
{
'./_a-function': 159
}
],
167: [
function (e, t, n) {
t.exports = function (e) {
if (void 0 == e) throw TypeError('Can\'t call method on ' + e);
return e
}
},
{
}
],
168: [
function (e, t, n) {
t.exports = !e('./_fails') (function () {
return 7 != Object.defineProperty({
}, 'a', {
get: function () {
return 7
}
}).a
})
},
{
'./_fails': 173
}
],
169: [
function (e, t, n) {
var r = e('./_is-object'),
i = e('./_global').document,
s = r(i) && r(i.createElement);
t.exports = function (e) {
return s ? i.createElement(e) : {
}
}
},
{
'./_global': 174,
'./_is-object': 181
}
],
170: [
function (e, t, n) {
t.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',')
},
{
}
],
171: [
function (e, t, n) {
var r = e('./_object-keys'),
i = e('./_object-gops'),
s = e('./_object-pie');
t.exports = function (e) {
var t = r(e),
n = i.f;
if (n) for (var o, a = n(e), u = s.f, l = 0; a.length > l; ) u.call(e, o = a[l++]) && t.push(o);
return t
}
},
{
'./_object-gops': 194,
'./_object-keys': 197,
'./_object-pie': 198
}
],
172: [
function (e, t, n) {
var r = e('./_global'),
i = e('./_core'),
s = e('./_ctx'),
o = e('./_hide'),
a = e('./_has'),
u = function (e, t, n) {
var l,
c,
p,
h = e & u.F,
f = e & u.G,
d = e & u.S,
m = e & u.P,
g = e & u.B,
y = e & u.W,
v = f ? i : i[t] || (i[t] = {
}),
b = v.prototype,
x = f ? r : d ? r[t] : (r[t] || {
}).prototype;
for (l in f && (n = t), n) (c = !h && x && void 0 !== x[l]) && a(v, l) || (p = c ? x[l] : n[l], v[l] = f && 'function' != typeof x[l] ? n[l] : g && c ? s(p, r) : y && x[l] == p ? function (e) {
var t = function (t, n, r) {
if (this instanceof e) {
switch (arguments.length) {
case 0:
return new e;
case 1:
return new e(t);
case 2:
return new e(t, n)
}
return new e(t, n, r)
}
return e.apply(this, arguments)
};
return t.prototype = e.prototype,
t
}(p) : m && 'function' == typeof p ? s(Function.call, p) : p, m && ((v.virtual || (v.virtual = {
})) [l] = p, e & u.R && b && !b[l] && o(b, l, p)))
};
u.F = 1,
u.G = 2,
u.S = 4,
u.P = 8,
u.B = 16,
u.W = 32,
u.U = 64,
u.R = 128,
t.exports = u
},
{
'./_core': 165,
'./_ctx': 166,
'./_global': 174,
'./_has': 175,
'./_hide': 176
}
],
173: [
function (e, t, n) {
t.exports = function (e) {
try {
return !!e()
} catch (e) {
return !0
}
}
},
{
}
],
174: [
function (e, t, n) {
var r = t.exports = 'undefined' != typeof window && window.Math == Math ? window : 'undefined' != typeof self && self.Math == Math ? self : Function('return this') ();
'number' == typeof __g && (__g = r)
},
{
}
],
175: [
function (e, t, n) {
var r = {
}.hasOwnProperty;
t.exports = function (e, t) {
return r.call(e, t)
}
},
{
}
],
176: [
function (e, t, n) {
var r = e('./_object-dp'),
i = e('./_property-desc');
t.exports = e('./_descriptors') ? function (e, t, n) {
return r.f(e, t, i(1, n))
}
: function (e, t, n) {
return e[t] = n,
e
}
},
{
'./_descriptors': 168,
'./_object-dp': 189,
'./_property-desc': 200
}
],
177: [
function (e, t, n) {
var r = e('./_global').document;
t.exports = r && r.documentElement
},
{
'./_global': 174
}
],
178: [
function (e, t, n) {
t.exports = !e('./_descriptors') && !e('./_fails') (function () {
return 7 != Object.defineProperty(e('./_dom-create') ('div'), 'a', {
get: function () {
return 7
}
}).a
})
},
{
'./_descriptors': 168,
'./_dom-create': 169,
'./_fails': 173
}
],
179: [
function (e, t, n) {
var r = e('./_cof');
t.exports = Object('z').propertyIsEnumerable(0) ? Object : function (e) {
return 'String' == r(e) ? e.split('') : Object(e)
}
},
{
'./_cof': 164
}
],
180: [
function (e, t, n) {
var r = e('./_cof');
t.exports = Array.isArray || function (e) {
return 'Array' == r(e)
}
},
{
'./_cof': 164
}
],
181: [
function (e, t, n) {
t.exports = function (e) {
return 'object' == typeof e ? null !== e : 'function' == typeof e
}
},
{
}
],
182: [
function (e, t, n) {
'use strict';
var r = e('./_object-create'),
i = e('./_property-desc'),
s = e('./_set-to-string-tag'),
o = {
};
e('./_hide') (o, e('./_wks') ('iterator'), function () {
return this
}),
t.exports = function (e, t, n) {
e.prototype = r(o, {
next: i(1, n)
}),
s(e, t + ' Iterator')
}
},
{
'./_hide': 176,
'./_object-create': 188,
'./_property-desc': 200,
'./_set-to-string-tag': 202,
'./_wks': 215
}
],
183: [
function (e, t, n) {
'use strict';
var r = e('./_library'),
i = e('./_export'),
s = e('./_redefine'),
o = e('./_hide'),
a = e('./_iterators'),
u = e('./_iter-create'),
l = e('./_set-to-string-tag'),
c = e('./_object-gpo'),
p = e('./_wks') ('iterator'),
h = !([].keys && 'next' in [
].keys()),
f = function () {
return this
};
t.exports = function (e, t, n, d, m, g, y) {
u(n, t, d);
var v,
b,
x,
A = function (e) {
if (!h && e in w) return w[e];
switch (e) {
case 'keys':
case 'values':
return function () {
return new n(this, e)
}
}
return function () {
return new n(this, e)
}
},
E = t + ' Iterator',
_ = 'values' == m,
C = !1,
w = e.prototype,
D = w[p] || w['@@iterator'] || m && w[m],
k = D || A(m),
S = m ? _ ? A('entries') : k : void 0,
T = 'Array' == t && w.entries || D;
if (T && (x = c(T.call(new e))) !== Object.prototype && x.next && (l(x, E, !0), r || 'function' == typeof x[p] || o(x, p, f)), _ && D && 'values' !== D.name && (C = !0, k = function () {
return D.call(this)
}), r && !y || !h && !C && w[p] || o(w, p, k), a[t] = k, a[E] = f, m) if (v = {
values: _ ? k : A('values'),
keys: g ? k : A('keys'),
entries: S
}, y) for (b in v) b in w || s(w, b, v[b]);
else i(i.P + i.F * (h || C), t, v);
return v
}
},
{
'./_export': 172,
'./_hide': 176,
'./_iter-create': 182,
'./_iterators': 185,
'./_library': 186,
'./_object-gpo': 195,
'./_redefine': 201,
'./_set-to-string-tag': 202,
'./_wks': 215
}
],
184: [
function (e, t, n) {
t.exports = function (e, t) {
return {
value: t,
done: !!e
}
}
},
{
}
],
185: [
function (e, t, n) {
t.exports = {
}
},
{
}
],
186: [
function (e, t, n) {
t.exports = !0
},
{
}
],
187: [
function (e, t, n) {
var r = e('./_uid') ('meta'),
i = e('./_is-object'),
s = e('./_has'),
o = e('./_object-dp').f,
a = 0,
u = Object.isExtensible || function () {
return !0
},
l = !e('./_fails') (function () {
return u(Object.preventExtensions({
}))
}),
c = function (e) {
o(e, r, {
value: {
i: 'O' + ++a,
w: {
}
}
})
},
p = t.exports = {
KEY: r,
NEED: !1,
fastKey: function (e, t) {
if (!i(e)) return 'symbol' == typeof e ? e : ('string' == typeof e ? 'S' : 'P') + e;
if (!s(e, r)) {
if (!u(e)) return 'F';
if (!t) return 'E';
c(e)
}
return e[r].i
},
getWeak: function (e, t) {
if (!s(e, r)) {
if (!u(e)) return !0;
if (!t) return !1;
c(e)
}
return e[r].w
},
onFreeze: function (e) {
return l && p.NEED && u(e) && !s(e, r) && c(e),
e
}
}
},
{
'./_fails': 173,
'./_has': 175,
'./_is-object': 181,
'./_object-dp': 189,
'./_uid': 212
}
],
188: [
function (e, t, n) {
var r = e('./_an-object'),
i = e('./_object-dps'),
s = e('./_enum-bug-keys'),
o = e('./_shared-key') ('IE_PROTO'),
a = function () {
},
u = function () {
var t,
n = e('./_dom-create') ('iframe'),
r = s.length;
for (n.style.display = 'none', e('./_html').appendChild(n), n.src = 'javascript:', (t = n.contentWindow.document).open(), t.write(''), t.close(), u = t.F; r--; ) delete u.prototype[s[r]];
return u()
};
t.exports = Object.create || function (e, t) {
var n;
return null !== e ? (a.prototype = r(e), n = new a, a.prototype = null, n[o] = e) : n = u(),
void 0 === t ? n : i(n, t)
}
},
{
'./_an-object': 161,
'./_dom-create': 169,
'./_enum-bug-keys': 170,
'./_html': 177,
'./_object-dps': 190,
'./_shared-key': 203
}
],
189: [
function (e, t, n) {
var r = e('./_an-object'),
i = e('./_ie8-dom-define'),
s = e('./_to-primitive'),
o = Object.defineProperty;
n.f = e('./_descriptors') ? Object.defineProperty : function (e, t, n) {
if (r(e), t = s(t, !0), r(n), i) try {
return o(e, t, n)
} catch (e) {
}
if ('get' in n || 'set' in n) throw TypeError('Accessors not supported!');
return 'value' in n && (e[t] = n.value),
e
}
},
{
'./_an-object': 161,
'./_descriptors': 168,
'./_ie8-dom-define': 178,
'./_to-primitive': 211
}
],
190: [
function (e, t, n) {
var r = e('./_object-dp'),
i = e('./_an-object'),
s = e('./_object-keys');
t.exports = e('./_descriptors') ? Object.defineProperties : function (e, t) {
i(e);
for (var n, o = s(t), a = o.length, u = 0; a > u; ) r.f(e, n = o[u++], t[n]);
return e
}
},
{
'./_an-object': 161,
'./_descriptors': 168,
'./_object-dp': 189,
'./_object-keys': 197
}
],
191: [
function (e, t, n) {
var r = e('./_object-pie'),
i = e('./_property-desc'),
s = e('./_to-iobject'),
o = e('./_to-primitive'),
a = e('./_has'),
u = e('./_ie8-dom-define'),
l = Object.getOwnPropertyDescriptor;
n.f = e('./_descriptors') ? l : function (e, t) {
if (e = s(e), t = o(t, !0), u) try {
return l(e, t)
} catch (e) {
}
if (a(e, t)) return i(!r.f.call(e, t), e[t])
}
},
{
'./_descriptors': 168,
'./_has': 175,
'./_ie8-dom-define': 178,
'./_object-pie': 198,
'./_property-desc': 200,
'./_to-iobject': 208,
'./_to-primitive': 211
}
],
192: [
function (e, t, n) {
var r = e('./_to-iobject'),
i = e('./_object-gopn').f,
s = {
}.toString,
o = 'object' == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [
];
t.exports.f = function (e) {
return o && '[object Window]' == s.call(e) ? function (e) {
try {
return i(e)
} catch (e) {
return o.slice()
}
}(e) : i(r(e))
}
},
{
'./_object-gopn': 193,
'./_to-iobject': 208
}
],
193: [
function (e, t, n) {
var r = e('./_object-keys-internal'),
i = e('./_enum-bug-keys').concat('length', 'prototype');
n.f = Object.getOwnPropertyNames || function (e) {
return r(e, i)
}
},
{
'./_enum-bug-keys': 170,
'./_object-keys-internal': 196
}
],
194: [
function (e, t, n) {
n.f = Object.getOwnPropertySymbols
},
{
}
],
195: [
function (e, t, n) {
var r = e('./_has'),
i = e('./_to-object'),
s = e('./_shared-key') ('IE_PROTO'),
o = Object.prototype;
t.exports = Object.getPrototypeOf || function (e) {
return e = i(e),
r(e, s) ? e[s] : 'function' == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? o : null
}
},
{
'./_has': 175,
'./_shared-key': 203,
'./_to-object': 210
}
],
196: [
function (e, t, n) {
var r = e('./_has'),
i = e('./_to-iobject'),
s = e('./_array-includes') (!1),
o = e('./_shared-key') ('IE_PROTO');
t.exports = function (e, t) {
var n,
a = i(e),
u = 0,
l = [
];
for (n in a) n != o && r(a, n) && l.push(n);
for (; t.length > u; ) r(a, n = t[u++]) && (~s(l, n) || l.push(n));
return l
}
},
{
'./_array-includes': 162,
'./_has': 175,
'./_shared-key': 203,
'./_to-iobject': 208
}
],
197: [
function (e, t, n) {
var r = e('./_object-keys-internal'),
i = e('./_enum-bug-keys');
t.exports = Object.keys || function (e) {
return r(e, i)
}
},
{
'./_enum-bug-keys': 170,
'./_object-keys-internal': 196
}
],
198: [
function (e, t, n) {
n.f = {
}.propertyIsEnumerable
},
{
}
],
199: [
function (e, t, n) {
var r = e('./_export'),
i = e('./_core'),
s = e('./_fails');
t.exports = function (e, t) {
var n = (i.Object || {
}) [e] || Object[e],
o = {
};
o[e] = t(n),
r(r.S + r.F * s(function () {
n(1)
}), 'Object', o)
}
},
{
'./_core': 165,
'./_export': 172,
'./_fails': 173
}
],
200: [
function (e, t, n) {
t.exports = function (e, t) {
return {
enumerable: !(1 & e),
configurable: !(2 & e),
writable: !(4 & e),
value: t
}
}
},
{
}
],
201: [
function (e, t, n) {
t.exports = e('./_hide')
},
{
'./_hide': 176
}
],
202: [
function (e, t, n) {
var r = e('./_object-dp').f,
i = e('./_has'),
s = e('./_wks') ('toStringTag');
t.exports = function (e, t, n) {
e && !i(e = n ? e : e.prototype, s) && r(e, s, {
configurable: !0,
value: t
})
}
},
{
'./_has': 175,
'./_object-dp': 189,
'./_wks': 215
}
],
203: [
function (e, t, n) {
var r = e('./_shared') ('keys'),
i = e('./_uid');
t.exports = function (e) {
return r[e] || (r[e] = i(e))
}
},
{
'./_shared': 204,
'./_uid': 212
}
],
204: [
function (e, t, n) {
var r = e('./_core'),
i = e('./_global'),
s = i['__core-js_shared__'] || (i['__core-js_shared__'] = {
});
(t.exports = function (e, t) {
return s[e] || (s[e] = void 0 !== t ? t : {
})
}) ('versions', [
]).push({
version: r.version,
mode: e('./_library') ? 'pure' : 'global',
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
})
},
{
'./_core': 165,
'./_global': 174,
'./_library': 186
}
],
205: [
function (e, t, n) {
var r = e('./_to-integer'),
i = e('./_defined');
t.exports = function (e) {
return function (t, n) {
var s,
o,
a = String(i(t)),
u = r(n),
l = a.length;
return u < 0 || u >= l ? e ? '' : void 0 : (s = a.charCodeAt(u)) < 55296 || s > 56319 || u + 1 === l || (o = a.charCodeAt(u + 1)) < 56320 || o > 57343 ? e ? a.charAt(u) : s : e ? a.slice(u, u + 2) : o - 56320 + (s - 55296 << 10) + 65536
}
}
},
{
'./_defined': 167,
'./_to-integer': 207
}
],
206: [
function (e, t, n) {
var r = e('./_to-integer'),
i = Math.max,
s = Math.min;
t.exports = function (e, t) {
return (e = r(e)) < 0 ? i(e + t, 0) : s(e, t)
}
},
{
'./_to-integer': 207
}
],
207: [
function (e, t, n) {
var r = Math.ceil,
i = Math.floor;
t.exports = function (e) {
return isNaN(e = + e) ? 0 : (e > 0 ? i : r) (e)
}
},
{
}
],
208: [
function (e, t, n) {
var r = e('./_iobject'),
i = e('./_defined');
t.exports = function (e) {
return r(i(e))
}
},
{
'./_defined': 167,
'./_iobject': 179
}
],
209: [
function (e, t, n) {
var r = e('./_to-integer'),
i = Math.min;
t.exports = function (e) {
return e > 0 ? i(r(e), 9007199254740991) : 0
}
},
{
'./_to-integer': 207
}
],
210: [
function (e, t, n) {
var r = e('./_defined');
t.exports = function (e) {
return Object(r(e))
}
},
{
'./_defined': 167
}
],
211: [
function (e, t, n) {
var r = e('./_is-object');
t.exports = function (e, t) {
if (!r(e)) return e;
var n,
i;
if (t && 'function' == typeof (n = e.toString) && !r(i = n.call(e))) return i;
if ('function' == typeof (n = e.valueOf) && !r(i = n.call(e))) return i;
if (!t && 'function' == typeof (n = e.toString) && !r(i = n.call(e))) return i;
throw TypeError('Can\'t convert object to primitive value')
}
},
{
'./_is-object': 181
}
],
212: [
function (e, t, n) {
var r = 0,
i = Math.random();
t.exports = function (e) {
return 'Symbol('.concat(void 0 === e ? '' : e, ')_', (++r + i).toString(36))
}
},
{
}
],
213: [
function (e, t, n) {
var r = e('./_global'),
i = e('./_core'),
s = e('./_library'),
o = e('./_wks-ext'),
a = e('./_object-dp').f;
t.exports = function (e) {
var t = i.Symbol || (i.Symbol = s ? {
}
: r.Symbol || {
});
'_' == e.charAt(0) || e in t || a(t, e, {
value: o.f(e)
})
}
},
{
'./_core': 165,
'./_global': 174,
'./_library': 186,
'./_object-dp': 189,
'./_wks-ext': 214
}
],
214: [
function (e, t, n) {
n.f = e('./_wks')
},
{
'./_wks': 215
}
],
215: [
function (e, t, n) {
var r = e('./_shared') ('wks'),
i = e('./_uid'),
s = e('./_global').Symbol,
o = 'function' == typeof s;
(t.exports = function (e) {
return r[e] || (r[e] = o && s[e] || (o ? s : i) ('Symbol.' + e))
}).store = r
},
{
'./_global': 174,
'./_shared': 204,
'./_uid': 212
}
],
216: [
function (e, t, n) {
var r = e('./_classof'),
i = e('./_wks') ('iterator'),
s = e('./_iterators');
t.exports = e('./_core').getIteratorMethod = function (e) {
if (void 0 != e) return e[i] || e['@@iterator'] || s[r(e)]
}
},
{
'./_classof': 163,
'./_core': 165,
'./_iterators': 185,
'./_wks': 215
}
],
217: [
function (e, t, n) {
var r = e('./_an-object'),
i = e('./core.get-iterator-method');
t.exports = e('./_core').getIterator = function (e) {
var t = i(e);
if ('function' != typeof t) throw TypeError(e + ' is not iterable!');
return r(t.call(e))
}
},
{
'./_an-object': 161,
'./_core': 165,
'./core.get-iterator-method': 216
}
],
218: [
function (e, t, n) {
'use strict';
var r = e('./_add-to-unscopables'),
i = e('./_iter-step'),
s = e('./_iterators'),
o = e('./_to-iobject');
t.exports = e('./_iter-define') (Array, 'Array', function (e, t) {
this._t = o(e),
this._i = 0,
this._k = t
}, function () {
var e = this._t,
t = this._k,
n = this._i++;
return !e || n >= e.length ? (this._t = void 0, i(1)) : i(0, 'keys' == t ? n : 'values' == t ? e[n] : [
n,
e[n]
])
}, 'values'),
s.Arguments = s.Array,
r('keys'),
r('values'),
r('entries')
},
{
'./_add-to-unscopables': 160,
'./_iter-define': 183,
'./_iter-step': 184,
'./_iterators': 185,
'./_to-iobject': 208
}
],
219: [
function (e, t, n) {
var r = e('./_export');
r(r.S, 'Number', {
MAX_SAFE_INTEGER: 9007199254740991
})
},
{
'./_export': 172
}
],
220: [
function (e, t, n) {
var r = e('./_export');
r(r.S, 'Object', {
create: e('./_object-create')
})
},
{
'./_export': 172,
'./_object-create': 188
}
],
221: [
function (e, t, n) {
var r = e('./_to-object'),
i = e('./_object-keys');
e('./_object-sap') ('keys', function () {
return function (e) {
return i(r(e))
}
})
},
{
'./_object-keys': 197,
'./_object-sap': 199,
'./_to-object': 210
}
],
222: [
function (e, t, n) {
arguments[4][40][0].apply(n, arguments)
},
{
dup: 40
}
],
223: [
function (e, t, n) {
'use strict';
var r = e('./_string-at') (!0);
e('./_iter-define') (String, 'String', function (e) {
this._t = String(e),
this._i = 0
}, function () {
var e,
t = this._t,
n = this._i;
return n >= t.length ? {
value: void 0,
done: !0
}
: (e = r(t, n), this._i += e.length, {
value: e,
done: !1
})
})
},
{
'./_iter-define': 183,
'./_string-at': 205
}
],
224: [
function (e, t, n) {
'use strict';
var r = e('./_global'),
i = e('./_has'),
s = e('./_descriptors'),
o = e('./_export'),
a = e('./_redefine'),
u = e('./_meta').KEY,
l = e('./_fails'),
c = e('./_shared'),
p = e('./_set-to-string-tag'),
h = e('./_uid'),
f = e('./_wks'),
d = e('./_wks-ext'),
m = e('./_wks-define'),
g = e('./_enum-keys'),
y = e('./_is-array'),
v = e('./_an-object'),
b = e('./_is-object'),
x = e('./_to-object'),
A = e('./_to-iobject'),
E = e('./_to-primitive'),
_ = e('./_property-desc'),
C = e('./_object-create'),
w = e('./_object-gopn-ext'),
D = e('./_object-gopd'),
k = e('./_object-gops'),
S = e('./_object-dp'),
T = e('./_object-keys'),
F = D.f,
O = S.f,
B = w.f,
P = r.Symbol,
N = r.JSON,
R = N && N.stringify,
L = f('_hidden'),
I = f('toPrimitive'),
j = {
}.propertyIsEnumerable,
M = c('symbol-registry'),
U = c('symbols'),
V = c('op-symbols'),
z = Object.prototype,
q = 'function' == typeof P && !!k.f,
K = r.QObject,
$ = !K || !K.prototype || !K.prototype.findChild,
Y = s && l(function () {
return 7 != C(O({
}, 'a', {
get: function () {
return O(this, 'a', {
value: 7
}).a
}
})).a
}) ? function (e, t, n) {
var r = F(z, t);
r && delete z[t],
O(e, t, n),
r && e !== z && O(z, t, r)
}
: O,
W = function (e) {
var t = U[e] = C(P.prototype);
return t._k = e,
t
},
G = q && 'symbol' == typeof P.iterator ? function (e) {
return 'symbol' == typeof e
}
: function (e) {
return e instanceof P
},
H = function (e, t, n) {
return e === z && H(V, t, n),
v(e),
t = E(t, !0),
v(n),
i(U, t) ? (n.enumerable ? (i(e, L) && e[L][t] && (e[L][t] = !1), n = C(n, {
enumerable: _(0, !1)
})) : (i(e, L) || O(e, L, _(1, {
})), e[L][t] = !0), Y(e, t, n)) : O(e, t, n)
},
X = function (e, t) {
v(e);
for (var n, r = g(t = A(t)), i = 0, s = r.length; s > i; ) H(e, n = r[i++], t[n]);
return e
},
J = function (e) {
var t = j.call(this, e = E(e, !0));
return !(this === z && i(U, e) && !i(V, e)) && (!(t || !i(this, e) || !i(U, e) || i(this, L) && this[L][e]) || t)
},
Q = function (e, t) {
if (e = A(e), t = E(t, !0), e !== z || !i(U, t) || i(V, t)) {
var n = F(e, t);
return !n || !i(U, t) || i(e, L) && e[L][t] || (n.enumerable = !0),
n
}
},
Z = function (e) {
for (var t, n = B(A(e)), r = [
], s = 0; n.length > s; ) i(U, t = n[s++]) || t == L || t == u || r.push(t);
return r
},
ee = function (e) {
for (var t, n = e === z, r = B(n ? V : A(e)), s = [
], o = 0; r.length > o; ) !i(U, t = r[o++]) || n && !i(z, t) || s.push(U[t]);
return s
};
q || (a((P = function () {
if (this instanceof P) throw TypeError('Symbol is not a constructor!');
var e = h(arguments.length > 0 ? arguments[0] : void 0),
t = function (n) {
this === z && t.call(V, n),
i(this, L) && i(this[L], e) && (this[L][e] = !1),
Y(this, e, _(1, n))
};
return s && $ && Y(z, e, {
configurable: !0,
set: t
}),
W(e)
}).prototype, 'toString', function () {
return this._k
}), D.f = Q, S.f = H, e('./_object-gopn').f = w.f = Z, e('./_object-pie').f = J, k.f = ee, s && !e('./_library') && a(z, 'propertyIsEnumerable', J, !0), d.f = function (e) {
return W(f(e))
}),
o(o.G + o.W + o.F * !q, {
Symbol: P
});
for (var te = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), ne = 0; te.length > ne; ) f(te[ne++]);
for (var re = T(f.store), ie = 0; re.length > ie; ) m(re[ie++]);
o(o.S + o.F * !q, 'Symbol', {
for : function (e) {
return i(M, e += '') ? M[e] : M[e] = P(e)
},
keyFor: function (e) {
if (!G(e)) throw TypeError(e + ' is not a symbol!');
for (var t in M) if (M[t] === e) return t
},
useSetter: function () {
$ = !0
},
useSimple: function () {
$ = !1
}
}),
o(o.S + o.F * !q, 'Object', {
create: function (e, t) {
return void 0 === t ? C(e) : X(C(e), t)
},
defineProperty: H,
defineProperties: X,
getOwnPropertyDescriptor: Q,
getOwnPropertyNames: Z,
getOwnPropertySymbols: ee
});
var se = l(function () {
k.f(1)
});
o(o.S + o.F * se, 'Object', {
getOwnPropertySymbols: function (e) {
return k.f(x(e))
}
}),
N && o(o.S + o.F * (!q || l(function () {
var e = P();
return '[null]' != R([e]) || '{}' != R({
a: e
}) || '{}' != R(Object(e))
})), 'JSON', {
stringify: function (e) {
for (var t, n, r = [
e
], i = 1; arguments.length > i; ) r.push(arguments[i++]);
if (n = t = r[1], (b(t) || void 0 !== e) && !G(e)) return y(t) || (t = function (e, t) {
if ('function' == typeof n && (t = n.call(this, e, t)), !G(t)) return t
}),
r[1] = t,
R.apply(N, r)
}
}),
P.prototype[I] || e('./_hide') (P.prototype, I, P.prototype.valueOf),
p(P, 'Symbol'),
p(Math, 'Math', !0),
p(r.JSON, 'JSON', !0)
},
{
'./_an-object': 161,
'./_descriptors': 168,
'./_enum-keys': 171,
'./_export': 172,
'./_fails': 173,
'./_global': 174,
'./_has': 175,
'./_hide': 176,
'./_is-array': 180,
'./_is-object': 181,
'./_library': 186,
'./_meta': 187,
'./_object-create': 188,
'./_object-dp': 189,
'./_object-gopd': 191,
'./_object-gopn': 193,
'./_object-gopn-ext': 192,
'./_object-gops': 194,
'./_object-keys': 197,
'./_object-pie': 198,
'./_property-desc': 200,
'./_redefine': 201,
'./_set-to-string-tag': 202,
'./_shared': 204,
'./_to-iobject': 208,
'./_to-object': 210,
'./_to-primitive': 211,
'./_uid': 212,
'./_wks': 215,
'./_wks-define': 213,
'./_wks-ext': 214
}
],
225: [
function (e, t, n) {
e('./_wks-define') ('asyncIterator')
},
{
'./_wks-define': 213
}
],
226: [
function (e, t, n) {
e('./_wks-define') ('observable')
},
{
'./_wks-define': 213
}
],
227: [
function (e, t, n) {
e('./es6.array.iterator');
for (var r = e('./_global'), i = e('./_hide'), s = e('./_iterators'), o = e('./_wks') ('toStringTag'), a = 'CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList'.split(','), u = 0; u < a.length; u++) {
var l = a[u],
c = r[l],
p = c && c.prototype;
p && !p[o] && i(p, o, l),
s[l] = s.Array
}
},
{
'./_global': 174,
'./_hide': 176,
'./_iterators': 185,
'./_wks': 215,
'./es6.array.iterator': 218
}
],
228: [
function (e, t, n) {
'use strict';
t.exports = {
html: '',
xml: '',
transitional: '',
strict: '',
frameset: '',
1.1: '',
basic: '',
mobile: '',
plist: ''
}
},
{
}
],
229: [
function (e, t, n) {
!function () {
'use strict';
function e(e) {
if (null == e) return !1;
switch (e.type) {
case 'BlockStatement':
case 'BreakStatement':
case 'ContinueStatement':
case 'DebuggerStatement':
case 'DoWhileStatement':
case 'EmptyStatement':
case 'ExpressionStatement':
case 'ForInStatement':
case 'ForStatement':
case 'IfStatement':
case 'LabeledStatement':
case 'ReturnStatement':
case 'SwitchStatement':
case 'ThrowStatement':
case 'TryStatement':
case 'VariableDeclaration':
case 'WhileStatement':
case 'WithStatement':
return !0
}
return !1
}
function n(e) {
switch (e.type) {
case 'IfStatement':
return null != e.alternate ? e.alternate : e.consequent;
case 'LabeledStatement':
case 'ForStatement':
case 'ForInStatement':
case 'WhileStatement':
case 'WithStatement':
return e.body
}
return null
}
t.exports = {
isExpression: function (e) {
if (null == e) return !1;
switch (e.type) {
case 'ArrayExpression':
case 'AssignmentExpression':
case 'BinaryExpression':
case 'CallExpression':
case 'ConditionalExpression':
case 'FunctionExpression':
case 'Identifier':
case 'Literal':
case 'LogicalExpression':
case 'MemberExpression':
case 'NewExpression':
case 'ObjectExpression':
case 'SequenceExpression':
case 'ThisExpression':
case 'UnaryExpression':
case 'UpdateExpression':
return !0
}
return !1
},
isStatement: e,
isIterationStatement: function (e) {
if (null == e) return !1;
switch (e.type) {
case 'DoWhileStatement':
case 'ForInStatement':
case 'ForStatement':
case 'WhileStatement':
return !0
}
return !1
},
isSourceElement: function (t) {
return e(t) || null != t && 'FunctionDeclaration' === t.type
},
isProblematicIfStatement: function (e) {
var t;
if ('IfStatement' !== e.type) return !1;
if (null == e.alternate) return !1;
t = e.consequent;
do {
if ('IfStatement' === t.type && null == t.alternate) return !0;
t = n(t)
} while (t);
return !1
},
trailingStatement: n
}
}()
},
{
}
],
230: [
function (e, t, n) {
!function () {
'use strict';
var e,
n,
r,
i,
s,
o;
function a(e) {
return e <= 65535 ? String.fromCharCode(e) : String.fromCharCode(Math.floor((e - 65536) / 1024) + 55296) + String.fromCharCode((e - 65536) % 1024 + 56320)
}
for (n = {
NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\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\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-\u1877\u1880-\u1884\u1887-\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\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\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\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\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,
NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/
}, e = {
NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\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\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-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,
NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/
}, r = [
5760,
8192,
8193,
8194,
8195,
8196,
8197,
8198,
8199,
8200,
8201,
8202,
8239,
8287,
12288,
65279
], i = new Array(128), o = 0; o < 128; ++o) i[o] = o >= 97 && o <= 122 || o >= 65 && o <= 90 || 36 === o || 95 === o;
for (s = new Array(128), o = 0; o < 128; ++o) s[o] = o >= 97 && o <= 122 || o >= 65 && o <= 90 || o >= 48 && o <= 57 || 36 === o || 95 === o;
t.exports = {
isDecimalDigit: function (e) {
return 48 <= e && e <= 57
},
isHexDigit: function (e) {
return 48 <= e && e <= 57 || 97 <= e && e <= 102 || 65 <= e && e <= 70
},
isOctalDigit: function (e) {
return e >= 48 && e <= 55
},
isWhiteSpace: function (e) {
return 32 === e || 9 === e || 11 === e || 12 === e || 160 === e || e >= 5760 && r.indexOf(e) >= 0
},
isLineTerminator: function (e) {
return 10 === e || 13 === e || 8232 === e || 8233 === e
},
isIdentifierStartES5: function (e) {
return e < 128 ? i[e] : n.NonAsciiIdentifierStart.test(a(e))
},
isIdentifierPartES5: function (e) {
return e < 128 ? s[e] : n.NonAsciiIdentifierPart.test(a(e))
},
isIdentifierStartES6: function (t) {
return t < 128 ? i[t] : e.NonAsciiIdentifierStart.test(a(t))
},
isIdentifierPartES6: function (t) {
return t < 128 ? s[t] : e.NonAsciiIdentifierPart.test(a(t))
}
}
}()
},
{
}
],
231: [
function (e, t, n) {
!function () {
'use strict';
var n = e('./code');
function r(e, t) {
return !(!t && 'yield' === e) && i(e, t)
}
function i(e, t) {
if (t && function (e) {
switch (e) {
case 'implements':
case 'interface':
case 'package':
case 'private':
case 'protected':
case 'public':
case 'static':
case 'let':
return !0;
default:
return !1
}
}(e)) return !0;
switch (e.length) {
case 2:
return 'if' === e || 'in' === e || 'do' === e;
case 3:
return 'var' === e || 'for' === e || 'new' === e || 'try' === e;
case 4:
return 'this' === e || 'else' === e || 'case' === e || 'void' === e || 'with' === e || 'enum' === e;
case 5:
return 'while' === e || 'break' === e || 'catch' === e || 'throw' === e || 'const' === e || 'yield' === e || 'class' === e || 'super' === e;
case 6:
return 'return' === e || 'typeof' === e || 'delete' === e || 'switch' === e || 'export' === e || 'import' === e;
case 7:
return 'default' === e || 'finally' === e || 'extends' === e;
case 8:
return 'function' === e || 'continue' === e || 'debugger' === e;
case 10:
return 'instanceof' === e;
default:
return !1
}
}
function s(e, t) {
return 'null' === e || 'true' === e || 'false' === e || r(e, t)
}
function o(e, t) {
return 'null' === e || 'true' === e || 'false' === e || i(e, t)
}
function a(e) {
var t,
r,
i;
if (0 === e.length) return !1;
if (i = e.charCodeAt(0), !n.isIdentifierStartES5(i)) return !1;
for (t = 1, r = e.length; t < r; ++t) if (i = e.charCodeAt(t), !n.isIdentifierPartES5(i)) return !1;
return !0
}
function u(e) {
var t,
r,
i,
s,
o;
if (0 === e.length) return !1;
for (o = n.isIdentifierStartES6, t = 0, r = e.length; t < r; ++t) {
if (55296 <= (i = e.charCodeAt(t)) && i <= 56319) {
if (++t >= r) return !1;
if (!(56320 <= (s = e.charCodeAt(t)) && s <= 57343)) return !1;
i = 1024 * (i - 55296) + (s - 56320) + 65536
}
if (!o(i)) return !1;
o = n.isIdentifierPartES6
}
return !0
}
t.exports = {
isKeywordES5: r,
isKeywordES6: i,
isReservedWordES5: s,
isReservedWordES6: o,
isRestrictedWord: function (e) {
return 'eval' === e || 'arguments' === e
},
isIdentifierNameES5: a,
isIdentifierNameES6: u,
isIdentifierES5: function (e, t) {
return a(e) && !s(e, t)
},
isIdentifierES6: function (e, t) {
return u(e) && !o(e, t)
}
}
}()
},
{
'./code': 230
}
],
232: [
function (e, t, n) {
!function () {
'use strict';
n.ast = e('./ast'),
n.code = e('./code'),
n.keyword = e('./keyword')
}()
},
{
'./ast': 229,
'./code': 230,
'./keyword': 231
}
],
233: [
function (e, t, n) {
'use strict';
var r = Array.prototype.slice,
i = Object.prototype.toString;
t.exports = function (e) {
var t = this;
if ('function' != typeof t || '[object Function]' !== i.call(t)) throw new TypeError('Function.prototype.bind called on incompatible ' + t);
for (var n, s = r.call(arguments, 1), o = Math.max(0, t.length - s.length), a = [
], u = 0; u < o; u++) a.push('$' + u);
if (n = Function('binder', 'return function (' + a.join(',') + '){ return binder.apply(this,arguments); }') (function () {
if (this instanceof n) {
var i = t.apply(this, s.concat(r.call(arguments)));
return Object(i) === i ? i : this
}
return t.apply(e, s.concat(r.call(arguments)))
}), t.prototype) {
var l = function () {
};
l.prototype = t.prototype,
n.prototype = new l,
l.prototype = null
}
return n
}
},
{
}
],
234: [
function (e, t, n) {
'use strict';
var r = e('./implementation');
t.exports = Function.prototype.bind || r
},
{
'./implementation': 233
}
],
235: [
function (e, t, n) {
'use strict';
var r = e('function-bind');
t.exports = r.call(Function.call, Object.prototype.hasOwnProperty)
},
{
'function-bind': 234
}
],
236: [
function (e, t, n) {
n.read = function (e, t, n, r, i) {
var s,
o,
a = 8 * i - r - 1,
u = (1 << a) - 1,
l = u >> 1,
c = - 7,
p = n ? i - 1 : 0,
h = n ? - 1 : 1,
f = e[t + p];
for (p += h, s = f & (1 << - c) - 1, f >>= - c, c += a; c > 0; s = 256 * s + e[t + p], p += h, c -= 8);
for (o = s & (1 << - c) - 1, s >>= - c, c += r; c > 0; o = 256 * o + e[t + p], p += h, c -= 8);
if (0 === s) s = 1 - l;
else {
if (s === u) return o ? NaN : 1 / 0 * (f ? - 1 : 1);
o += Math.pow(2, r),
s -= l
}
return (f ? - 1 : 1) * o * Math.pow(2, s - r)
},
n.write = function (e, t, n, r, i, s) {
var o,
a,
u,
l = 8 * s - i - 1,
c = (1 << l) - 1,
p = c >> 1,
h = 23 === i ? Math.pow(2, - 24) - Math.pow(2, - 77) : 0,
f = r ? 0 : s - 1,
d = r ? 1 : - 1,
m = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (a = isNaN(t) ? 1 : 0, o = c) : (o = Math.floor(Math.log(t) / Math.LN2), t * (u = Math.pow(2, - o)) < 1 && (o--, u *= 2), (t += o + p >= 1 ? h / u : h * Math.pow(2, 1 - p)) * u >= 2 && (o++, u /= 2), o + p >= c ? (a = 0, o = c) : o + p >= 1 ? (a = (t * u - 1) * Math.pow(2, i), o += p) : (a = t * Math.pow(2, p - 1) * Math.pow(2, i), o = 0)); i >= 8; e[n + f] = 255 & a, f += d, a /= 256, i -= 8);
for (o = o << i | a, l += i; l > 0; e[n + f] = 255 & o, f += d, o /= 256, l -= 8);
e[n + f - d] |= 128 * m
}
},
{
}
],
237: [
function (e, t, n) {
function r(e) {
return !!e.constructor && 'function' == typeof e.constructor.isBuffer && e.constructor.isBuffer(e)
}
t.exports = function (e) {
return null != e && (r(e) || function (e) {
return 'function' == typeof e.readFloatLE && 'function' == typeof e.slice && r(e.slice(0, 0))
}(e) || !!e._isBuffer)
}
},
{
}
],
238: [
function (e, t, n) {
'use strict';
var r = e('acorn'),
i = e('object-assign');
t.exports = function (e, t) {
t = i({
}, s, t);
try {
var n = new r.Parser(t, e, 0);
t.strict && (n.strict = !0),
t.lineComment || (n.skipLineComment = function (e) {
this.raise(this.pos, 'Line comments not allowed in an expression')
}),
n.nextToken(),
n.parseExpression(),
n.type !== r.tokTypes.eof && n.unexpected()
} catch (e) {
if (!t.throw) return !1;
throw e
}
return !0
};
var s = {
throw : !1,
strict: !1,
lineComment: !1
}
},
{
acorn: 239,
'object-assign': 370
}
],
239: [
function (e, t, n) {
arguments[4][2][0].apply(n, arguments)
},
{
dup: 2
}
],
240: [
function (e, t, n) {
t.exports = function (e) {
return !!e && ('object' == typeof e || 'function' == typeof e) && 'function' == typeof e.then
}
},
{
}
],
241: [
function (e, t, n) {
'use strict';
var r = e('has'),
i = RegExp.prototype.exec,
s = Object.getOwnPropertyDescriptor,
o = Object.prototype.toString,
a = 'function' == typeof Symbol && 'symbol' == typeof Symbol.toStringTag;
t.exports = function (e) {
if (!e || 'object' != typeof e) return !1;
if (!a) return '[object RegExp]' === o.call(e);
var t = s(e, 'lastIndex');
return !(!t || !r(t, 'value')) && function (e) {
try {
var t = e.lastIndex;
return e.lastIndex = 0,
i.call(e),
!0
} catch (e) {
return !1
} finally {
e.lastIndex = t
}
}(e)
}
},
{
has: 235
}
],
242: [
function (e, t, n) {
'use strict';
t.exports = function e(t) {
if (t instanceof Date) return 'new Date(' + e(t.toISOString()) + ')';
if (void 0 === t) return 'undefined';
return JSON.stringify(t).replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029').replace(//g, '\\u003E').replace(/\//g, '\\u002F')
}
},
{
}
],
243: [
function (e, t, n) {
'use strict';
var r = e('fs'),
i = e('assert'),
s = e('promise'),
o = e('is-promise'),
a = t.exports = function (e) {
return new u(e)
};
function u(e) {
i(e, 'Transformer must be an object'),
i('string' == typeof e.name, 'Transformer must have a name'),
i('string' == typeof e.outputFormat, 'Transformer must have an output format'),
i(['compile',
'compileAsync',
'compileFile',
'compileFileAsync',
'compileClient',
'compileClientAsync',
'compileFileClient',
'compileFileClientAsync',
'render',
'renderAsync',
'renderFile',
'renderFileAsync'].some(function (t) {
return 'function' == typeof e[t]
}), 'Transformer must implement at least one of the potential methods.'),
this._tr = e,
this.name = this._tr.name,
this.outputFormat = this._tr.outputFormat,
this.inputFormats = this._tr.inputFormats || [
this.name
]
}
a.Transformer = u,
a.normalizeFn = function (e) {
if ('function' == typeof e) return {
fn: e,
dependencies: [
]
};
if (e && 'object' == typeof e && 'function' == typeof e.fn) {
if ('dependencies' in e) {
if (!Array.isArray(e.dependencies)) throw new Error('Result should have a dependencies property that is an array')
} else e.dependencies = [
];
return e
}
throw new Error('Invalid result object from transform.')
},
a.normalizeFnAsync = function (e, t) {
return s.resolve(e).then(function (e) {
return e && o(e.fn) ? e.fn.then(function (t) {
return e.fn = t,
e
}) : e
}).then(a.normalizeFn).nodeify(t)
},
a.normalize = function (e) {
if ('string' == typeof e) return {
body: e,
dependencies: [
]
};
if (e && 'object' == typeof e && 'string' == typeof e.body) {
if ('dependencies' in e) {
if (!Array.isArray(e.dependencies)) throw new Error('Result should have a dependencies property that is an array')
} else e.dependencies = [
];
return e
}
throw new Error('Invalid result object from transform.')
},
a.normalizeAsync = function (e, t) {
return s.resolve(e).then(function (e) {
return e && o(e.body) ? e.body.then(function (t) {
return e.body = t,
e
}) : e
}).then(a.normalize).nodeify(t)
},
r.readFile ? (a.readFile = s.denodeify(r.readFile), a.readFileSync = r.readFileSync) : (a.readFile = function () {
throw new Error('fs.readFile unsupported')
}, a.readFileSync = function () {
throw new Error('fs.readFileSync unsupported')
});
var l = {
compile: [
'compile',
'render'
],
compileAsync: [
'compileAsync',
'compile',
'render'
],
compileFile: [
'compileFile',
'compile',
'renderFile',
'render'
],
compileFileAsync: [
'compileFileAsync',
'compileFile',
'compileAsync',
'compile',
'renderFile',
'render'
],
compileClient: [
'compileClient'
],
compileClientAsync: [
'compileClientAsync',
'compileClient'
],
compileFileClient: [
'compileFileClient',
'compileClient'
],
compileFileClientAsync: [
'compileFileClientAsync',
'compileFileClient',
'compileClientAsync',
'compileClient'
],
render: [
'render',
'compile'
],
renderAsync: [
'renderAsync',
'render',
'compileAsync',
'compile'
],
renderFile: [
'renderFile',
'render',
'compileFile',
'compile'
],
renderFileAsync: [
'renderFileAsync',
'renderFile',
'renderAsync',
'render',
'compileFileAsync',
'compileFile',
'compileAsync',
'compile'
]
};
u.prototype._hasMethod = function (e) {
return 'function' == typeof this._tr[e]
},
u.prototype.can = function (e) {
return l[e].some(function (e) {
return this._hasMethod(e)
}.bind(this))
},
u.prototype.compile = function (e, t) {
if (!this._hasMethod('compile')) {
if (this.can('render')) {
var n = this;
return {
fn: function (r) {
return a.normalize(n._tr.render(e, t, r)).body
},
dependencies: [
]
}
}
throw this.can('compileAsync') ? new Error('The Transform "' + this.name + '" does not support synchronous compilation') : this.can('compileFileAsync') ? new Error('The Transform "' + this.name + '" does not support compiling plain strings') : new Error('The Transform "' + this.name + '" does not support compilation')
}
return a.normalizeFn(this._tr.compile(e, t))
},
u.prototype.compileAsync = function (e, t, n) {
return this.can('compileAsync') ? this._hasMethod('compileAsync') ? a.normalizeFnAsync(this._tr.compileAsync(e, t), n) : a.normalizeFnAsync(this.compile(e, t), n) : s.reject(new Error('The Transform "' + this.name + '" does not support compiling plain strings')).nodeify(n)
},
u.prototype.compileFile = function (e, t) {
if (!this.can('compileFile')) throw new Error('The Transform "' + this.name + '" does not support synchronous compilation');
return this._hasMethod('compileFile') ? a.normalizeFn(this._tr.compileFile(e, t)) : this._hasMethod('renderFile') ? a.normalizeFn(function (n) {
return a.normalize(this._tr.renderFile(e, t, n)).body
}.bind(this)) : (t || (t = {
}), void 0 === t.filename && (t.filename = e), this.compile(a.readFileSync(e, 'utf8'), t))
},
u.prototype.compileFileAsync = function (e, t, n) {
return this.can('compileFileAsync') ? this._hasMethod('compileFileAsync') ? a.normalizeFnAsync(this._tr.compileFileAsync(e, t), n) : this._hasMethod('compileFile') || this._hasMethod('renderFile') ? a.normalizeFnAsync(this.compileFile(e, t), n) : (t || (t = {
}), void 0 === t.filename && (t.filename = e), a.normalizeFnAsync(a.readFile(e, 'utf8').then(function (e) {
return this._hasMethod('compileAsync') ? this._tr.compileAsync(e, t) : this.compile(e, t)
}.bind(this)), n)) : s.reject(new Error('The Transform "' + this.name + '" does not support compilation'))
},
u.prototype.compileClient = function (e, t) {
if (!this.can('compileClient')) throw this.can('compileClientAsync') ? new Error('The Transform "' + this.name + '" does not support compiling for the client synchronously.') : this.can('compileFileClientAsync') ? new Error('The Transform "' + this.name + '" does not support compiling for the client from a string.') : new Error('The Transform "' + this.name + '" does not support compiling for the client');
return a.normalize(this._tr.compileClient(e, t))
},
u.prototype.compileClientAsync = function (e, t, n) {
return this.can('compileClientAsync') ? this._hasMethod('compileClientAsync') ? a.normalizeAsync(this._tr.compileClientAsync(e, t), n) : a.normalizeAsync(this._tr.compileClient(e, t), n) : this.can('compileFileClientAsync') ? s.reject(new Error('The Transform "' + this.name + '" does not support compiling for the client from a string.')).nodeify(n) : s.reject(new Error('The Transform "' + this.name + '" does not support compiling for the client')).nodeify(n)
},
u.prototype.compileFileClient = function (e, t) {
if (!this.can('compileFileClient')) throw this.can('compileFileClientAsync') ? new Error('The Transform "' + this.name + '" does not support compiling for the client synchronously.') : new Error('The Transform "' + this.name + '" does not support compiling for the client');
return this._hasMethod('compileFileClient') ? a.normalize(this._tr.compileFileClient(e, t)) : (t || (t = {
}), void 0 === t.filename && (t.filename = e), a.normalize(this._tr.compileClient(a.readFileSync(e, 'utf8'), t)))
},
u.prototype.compileFileClientAsync = function (e, t, n) {
return this.can('compileFileClientAsync') ? this._hasMethod('compileFileClientAsync') ? a.normalizeAsync(this._tr.compileFileClientAsync(e, t), n) : this._hasMethod('compileFileClient') ? a.normalizeAsync(this._tr.compileFileClient(e, t), n) : (t || (t = {
}), void 0 === t.filename && (t.filename = e), a.normalizeAsync(a.readFile(e, 'utf8').then(function (e) {
return this._hasMethod('compileClientAsync') ? this._tr.compileClientAsync(e, t) : this._tr.compileClient(e, t)
}.bind(this)), n)) : s.reject(new Error('The Transform "' + this.name + '" does not support compiling for the client')).nodeify(n)
},
u.prototype.render = function (e, t, n) {
if (!this.can('render')) throw this.can('renderAsync') ? new Error('The Transform "' + this.name + '" does not support rendering synchronously.') : this.can('renderFileAsync') ? new Error('The Transform "' + this.name + '" does not support rendering from a string.') : new Error('The Transform "' + this.name + '" does not support rendering');
if (this._hasMethod('render')) return a.normalize(this._tr.render(e, t, n));
var r = a.normalizeFn(this._tr.compile(e, t)),
i = r.fn(n || t);
if ('string' != typeof i) throw new Error('The Transform "' + this.name + '" does not support rendering synchronously.');
return a.normalize({
body: i,
dependencies: r.dependencies
})
},
u.prototype.renderAsync = function (e, t, n, r) {
return 'function' == typeof n && (r = n, n = t),
this.can('renderAsync') ? this._hasMethod('renderAsync') ? a.normalizeAsync(this._tr.renderAsync(e, t, n), r) : this._hasMethod('render') ? a.normalizeAsync(this._tr.render(e, t, n), r) : a.normalizeAsync(this.compileAsync(e, t).then(function (e) {
return {
body: e.fn(n || t),
dependencies: e.dependencies
}
}), r) : this.can('renderFileAsync') ? s.reject(new Error('The Transform "' + this.name + '" does not support rendering from a string.')).nodeify(r) : s.reject(new Error('The Transform "' + this.name + '" does not support rendering')).nodeify(r)
},
u.prototype.renderFile = function (e, t, n) {
if (!this.can('renderFile')) throw new Error('The Transform "' + this.name + '" does not support rendering synchronously.');
if (this._hasMethod('renderFile')) return a.normalize(this._tr.renderFile(e, t, n));
if (this._hasMethod('render')) return t || (t = {
}),
void 0 === t.filename && (t.filename = e),
a.normalize(this._tr.render(a.readFileSync(e, 'utf8'), t, n));
var r = this.compileFile(e, t);
return a.normalize({
body: r.fn(n || t),
dependencies: r.dependencies
})
},
u.prototype.renderFileAsync = function (e, t, n, r) {
if (!this.can('renderFileAsync')) throw new Error('The Transform "' + this.name + '" does not support rendering.');
return 'function' == typeof n && (r = n, n = t),
this._hasMethod('renderFileAsync') ? a.normalizeAsync(this._tr.renderFileAsync(e, t, n), r) : this._hasMethod('renderFile') ? a.normalizeAsync(this._tr.renderFile(e, t, n), r) : this._hasMethod('compile') || this._hasMethod('compileAsync') || this._hasMethod('compileFile') || this._hasMethod('compileFileAsync') ? a.normalizeAsync(this.compileFileAsync(e, t).then(function (e) {
return {
body: e.fn(n || t),
dependencies: e.dependencies
}
}), r) : (t || (t = {
}), void 0 === t.filename && (t.filename = e), a.normalizeAsync(a.readFile(e, 'utf8').then(function (e) {
return this.renderAsync(e, t, n)
}.bind(this)), r))
}
},
{
assert: 8,
fs: 41,
'is-promise': 240,
promise: 374
}
],
244: [
function (e, t, n) {
var r = e('./_getNative') (e('./_root'), 'DataView');
t.exports = r
},
{
'./_getNative': 303,
'./_root': 338
}
],
245: [
function (e, t, n) {
var r = e('./_hashClear'),
i = e('./_hashDelete'),
s = e('./_hashGet'),
o = e('./_hashHas'),
a = e('./_hashSet');
function u(e) {
var t = - 1,
n = null == e ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1])
}
}
u.prototype.clear = r,
u.prototype.delete = i,
u.prototype.get = s,
u.prototype.has = o,
u.prototype.set = a,
t.exports = u
},
{
'./_hashClear': 310,
'./_hashDelete': 311,
'./_hashGet': 312,
'./_hashHas': 313,
'./_hashSet': 314
}
],
246: [
function (e, t, n) {
var r = e('./_listCacheClear'),
i = e('./_listCacheDelete'),
s = e('./_listCacheGet'),
o = e('./_listCacheHas'),
a = e('./_listCacheSet');
function u(e) {
var t = - 1,
n = null == e ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1])
}
}
u.prototype.clear = r,
u.prototype.delete = i,
u.prototype.get = s,
u.prototype.has = o,
u.prototype.set = a,
t.exports = u
},
{
'./_listCacheClear': 322,
'./_listCacheDelete': 323,
'./_listCacheGet': 324,
'./_listCacheHas': 325,
'./_listCacheSet': 326
}
],
247: [
function (e, t, n) {
var r = e('./_getNative') (e('./_root'), 'Map');
t.exports = r
},
{
'./_getNative': 303,
'./_root': 338
}
],
248: [
function (e, t, n) {
var r = e('./_mapCacheClear'),
i = e('./_mapCacheDelete'),
s = e('./_mapCacheGet'),
o = e('./_mapCacheHas'),
a = e('./_mapCacheSet');
function u(e) {
var t = - 1,
n = null == e ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1])
}
}
u.prototype.clear = r,
u.prototype.delete = i,
u.prototype.get = s,
u.prototype.has = o,
u.prototype.set = a,
t.exports = u
},
{
'./_mapCacheClear': 327,
'./_mapCacheDelete': 328,
'./_mapCacheGet': 329,
'./_mapCacheHas': 330,
'./_mapCacheSet': 331
}
],
249: [
function (e, t, n) {
var r = e('./_getNative') (e('./_root'), 'Promise');
t.exports = r
},
{
'./_getNative': 303,
'./_root': 338
}
],
250: [
function (e, t, n) {
var r = e('./_getNative') (e('./_root'), 'Set');
t.exports = r
},
{
'./_getNative': 303,
'./_root': 338
}
],
251: [
function (e, t, n) {
var r = e('./_MapCache'),
i = e('./_setCacheAdd'),
s = e('./_setCacheHas');
function o(e) {
var t = - 1,
n = null == e ? 0 : e.length;
for (this.__data__ = new r; ++t < n; ) this.add(e[t])
}
o.prototype.add = o.prototype.push = i,
o.prototype.has = s,
t.exports = o
},
{
'./_MapCache': 248,
'./_setCacheAdd': 339,
'./_setCacheHas': 340
}
],
252: [
function (e, t, n) {
var r = e('./_ListCache'),
i = e('./_stackClear'),
s = e('./_stackDelete'),
o = e('./_stackGet'),
a = e('./_stackHas'),
u = e('./_stackSet');
function l(e) {
var t = this.__data__ = new r(e);
this.size = t.size
}
l.prototype.clear = i,
l.prototype.delete = s,
l.prototype.get = o,
l.prototype.has = a,
l.prototype.set = u,
t.exports = l
},
{
'./_ListCache': 246,
'./_stackClear': 342,
'./_stackDelete': 343,
'./_stackGet': 344,
'./_stackHas': 345,
'./_stackSet': 346
}
],
253: [
function (e, t, n) {
var r = e('./_root').Symbol;
t.exports = r
},
{
'./_root': 338
}
],
254: [
function (e, t, n) {
var r = e('./_root').Uint8Array;
t.exports = r
},
{
'./_root': 338
}
],
255: [
function (e, t, n) {
var r = e('./_getNative') (e('./_root'), 'WeakMap');
t.exports = r
},
{
'./_getNative': 303,
'./_root': 338
}
],
256: [
function (e, t, n) {
t.exports = function (e, t) {
for (var n = - 1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e); );
return e
}
},
{
}
],
257: [
function (e, t, n) {
t.exports = function (e, t) {
for (var n = - 1, r = null == e ? 0 : e.length, i = 0, s = [
]; ++n < r; ) {
var o = e[n];
t(o, n, e) && (s[i++] = o)
}
return s
}
},
{
}
],
258: [
function (e, t, n) {
var r = e('./_baseIndexOf');
t.exports = function (e, t) {
return !(null == e || !e.length) && r(e, t, 0) > - 1
}
},
{
'./_baseIndexOf': 272
}
],
259: [
function (e, t, n) {
t.exports = function (e, t, n) {
for (var r = - 1, i = null == e ? 0 : e.length; ++r < i; ) if (n(t, e[r])) return !0;
return !1
}
},
{
}
],
260: [
function (e, t, n) {
var r = e('./_baseTimes'),
i = e('./isArguments'),
s = e('./isArray'),
o = e('./isBuffer'),
a = e('./_isIndex'),
u = e('./isTypedArray'),
l = Object.prototype.hasOwnProperty;
t.exports = function (e, t) {
var n = s(e),
c = !n && i(e),
p = !n && !c && o(e),
h = !n && !c && !p && u(e),
f = n || c || p || h,
d = f ? r(e.length, String) : [
],
m = d.length;
for (var g in e) !t && !l.call(e, g) || f && ('length' == g || p && ('offset' == g || 'parent' == g) || h && ('buffer' == g || 'byteLength' == g || 'byteOffset' == g) || a(g, m)) || d.push(g);
return d
}
},
{
'./_baseTimes': 282,
'./_isIndex': 318,
'./isArguments': 351,
'./isArray': 352,
'./isBuffer': 354,
'./isTypedArray': 363
}
],
261: [
function (e, t, n) {
t.exports = function (e, t) {
for (var n = - 1, r = t.length, i = e.length; ++n < r; ) e[i + n] = t[n];
return e
}
},
{
}
],
262: [
function (e, t, n) {
var r = e('./_baseAssignValue'),
i = e('./eq'),
s = Object.prototype.hasOwnProperty;
t.exports = function (e, t, n) {
var o = e[t];
s.call(e, t) && i(o, n) && (void 0 !== n || t in e) || r(e, t, n)
}
},
{
'./_baseAssignValue': 266,
'./eq': 350
}
],
263: [
function (e, t, n) {
var r = e('./eq');
t.exports = function (e, t) {
for (var n = e.length; n--; ) if (r(e[n][0], t)) return n;
return - 1
}
},
{
'./eq': 350
}
],
264: [
function (e, t, n) {
var r = e('./_copyObject'),
i = e('./keys');
t.exports = function (e, t) {
return e && r(t, i(t), e)
}
},
{
'./_copyObject': 293,
'./keys': 364
}
],
265: [
function (e, t, n) {
var r = e('./_copyObject'),
i = e('./keysIn');
t.exports = function (e, t) {
return e && r(t, i(t), e)
}
},
{
'./_copyObject': 293,
'./keysIn': 365
}
],
266: [
function (e, t, n) {
var r = e('./_defineProperty');
t.exports = function (e, t, n) {
'__proto__' == t && r ? r(e, t, {
configurable: !0,
enumerable: !0,
value: n,
writable: !0
}) : e[t] = n
}
},
{
'./_defineProperty': 298
}
],
267: [
function (e, t, n) {
var r = e('./_Stack'),
i = e('./_arrayEach'),
s = e('./_assignValue'),
o = e('./_baseAssign'),
a = e('./_baseAssignIn'),
u = e('./_cloneBuffer'),
l = e('./_copyArray'),
c = e('./_copySymbols'),
p = e('./_copySymbolsIn'),
h = e('./_getAllKeys'),
f = e('./_getAllKeysIn'),
d = e('./_getTag'),
m = e('./_initCloneArray'),
g = e('./_initCloneByTag'),
y = e('./_initCloneObject'),
v = e('./isArray'),
b = e('./isBuffer'),
x = e('./isMap'),
A = e('./isObject'),
E = e('./isSet'),
_ = e('./keys'),
C = 1,
w = 2,
D = 4,
k = '[object Arguments]',
S = '[object Function]',
T = '[object GeneratorFunction]',
F = '[object Object]',
O = {
};
O[k] = O['[object Array]'] = O['[object ArrayBuffer]'] = O['[object DataView]'] = O['[object Boolean]'] = O['[object Date]'] = O['[object Float32Array]'] = O['[object Float64Array]'] = O['[object Int8Array]'] = O['[object Int16Array]'] = O['[object Int32Array]'] = O['[object Map]'] = O['[object Number]'] = O[F] = O['[object RegExp]'] = O['[object Set]'] = O['[object String]'] = O['[object Symbol]'] = O['[object Uint8Array]'] = O['[object Uint8ClampedArray]'] = O['[object Uint16Array]'] = O['[object Uint32Array]'] = !0,
O['[object Error]'] = O[S] = O['[object WeakMap]'] = !1,
t.exports = function e(t, n, B, P, N, R) {
var L,
I = n & C,
j = n & w,
M = n & D;
if (B && (L = N ? B(t, P, N, R) : B(t)), void 0 !== L) return L;
if (!A(t)) return t;
var U = v(t);
if (U) {
if (L = m(t), !I) return l(t, L)
} else {
var V = d(t),
z = V == S || V == T;
if (b(t)) return u(t, I);
if (V == F || V == k || z && !N) {
if (L = j || z ? {
}
: y(t), !I) return j ? p(t, a(L, t)) : c(t, o(L, t))
} else {
if (!O[V]) return N ? t : {
};
L = g(t, V, I)
}
}
R || (R = new r);
var q = R.get(t);
if (q) return q;
R.set(t, L),
E(t) ? t.forEach(function (r) {
L.add(e(r, n, B, r, t, R))
}) : x(t) && t.forEach(function (r, i) {
L.set(i, e(r, n, B, i, t, R))
});
var K = M ? j ? f : h : j ? keysIn : _,
$ = U ? void 0 : K(t);
return i($ || t, function (r, i) {
$ && (r = t[i = r]),
s(L, i, e(r, n, B, i, t, R))
}),
L
}
},
{
'./_Stack': 252,
'./_arrayEach': 256,
'./_assignValue': 262,
'./_baseAssign': 264,
'./_baseAssignIn': 265,
'./_cloneBuffer': 287,
'./_copyArray': 292,
'./_copySymbols': 294,
'./_copySymbolsIn': 295,
'./_getAllKeys': 300,
'./_getAllKeysIn': 301,
'./_getTag': 308,
'./_initCloneArray': 315,
'./_initCloneByTag': 316,
'./_initCloneObject': 317,
'./isArray': 352,
'./isBuffer': 354,
'./isMap': 357,
'./isObject': 358,
'./isSet': 362,
'./keys': 364
}
],
268: [
function (e, t, n) {
var r = e('./isObject'),
i = Object.create,
s = function () {
function e() {
}
return function (t) {
if (!r(t)) return {
};
if (i) return i(t);
e.prototype = t;
var n = new e;
return e.prototype = void 0,
n
}
}();
t.exports = s
},
{
'./isObject': 358
}
],
269: [
function (e, t, n) {
t.exports = function (e, t, n, r) {
for (var i = e.length, s = n + (r ? 1 : - 1); r ? s-- : ++s < i; ) if (t(e[s], s, e)) return s;
return - 1
}
},
{
}
],
270: [
function (e, t, n) {
var r = e('./_arrayPush'),
i = e('./isArray');
t.exports = function (e, t, n) {
var s = t(e);
return i(e) ? s : r(s, n(e))
}
},
{
'./_arrayPush': 261,
'./isArray': 352
}
],
271: [
function (e, t, n) {
var r = e('./_Symbol'),
i = e('./_getRawTag'),
s = e('./_objectToString'),
o = '[object Null]',
a = '[object Undefined]',
u = r ? r.toStringTag : void 0;
t.exports = function (e) {
return null == e ? void 0 === e ? a : o : u && u in Object(e) ? i(e) : s(e)
}
},
{
'./_Symbol': 253,
'./_getRawTag': 305,
'./_objectToString': 336
}
],
272: [
function (e, t, n) {
var r = e('./_baseFindIndex'),
i = e('./_baseIsNaN'),
s = e('./_strictIndexOf');
t.exports = function (e, t, n) {
return t == t ? s(e, t, n) : r(e, i, n)
}
},
{
'./_baseFindIndex': 269,
'./_baseIsNaN': 275,
'./_strictIndexOf': 347
}
],
273: [
function (e, t, n) {
var r = e('./_baseGetTag'),
i = e('./isObjectLike'),
s = '[object Arguments]';
t.exports = function (e) {
return i(e) && r(e) == s
}
},
{
'./_baseGetTag': 271,
'./isObjectLike': 359
}
],
274: [
function (e, t, n) {
var r = e('./_getTag'),
i = e('./isObjectLike'),
s = '[object Map]';
t.exports = function (e) {
return i(e) && r(e) == s
}
},
{
'./_getTag': 308,
'./isObjectLike': 359
}
],
275: [
function (e, t, n) {
t.exports = function (e) {
return e != e
}
},
{
}
],
276: [
function (e, t, n) {
var r = e('./isFunction'),
i = e('./_isMasked'),
s = e('./isObject'),
o = e('./_toSource'),
a = /^\[object .+?Constructor\]$/,
u = Function.prototype,
l = Object.prototype,
c = u.toString,
p = l.hasOwnProperty,
h = RegExp('^' + c.call(p).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
t.exports = function (e) {
return !(!s(e) || i(e)) && (r(e) ? h : a).test(o(e))
}
},
{
'./_isMasked': 320,
'./_toSource': 348,
'./isFunction': 355,
'./isObject': 358
}
],
277: [
function (e, t, n) {
var r = e('./_baseGetTag'),
i = e('./isObjectLike'),
s = '[object RegExp]';
t.exports = function (e) {
return i(e) && r(e) == s
}
},
{
'./_baseGetTag': 271,
'./isObjectLike': 359
}
],
278: [
function (e, t, n) {
var r = e('./_getTag'),
i = e('./isObjectLike'),
s = '[object Set]';
t.exports = function (e) {
return i(e) && r(e) == s
}
},
{
'./_getTag': 308,
'./isObjectLike': 359
}
],
279: [
function (e, t, n) {
var r = e('./_baseGetTag'),
i = e('./isLength'),
s = e('./isObjectLike'),
o = {
};
o['[object Float32Array]'] = o['[object Float64Array]'] = o['[object Int8Array]'] = o['[object Int16Array]'] = o['[object Int32Array]'] = o['[object Uint8Array]'] = o['[object Uint8ClampedArray]'] = o['[object Uint16Array]'] = o['[object Uint32Array]'] = !0,
o['[object Arguments]'] = o['[object Array]'] = o['[object ArrayBuffer]'] = o['[object Boolean]'] = o['[object DataView]'] = o['[object Date]'] = o['[object Error]'] = o['[object Function]'] = o['[object Map]'] = o['[object Number]'] = o['[object Object]'] = o['[object RegExp]'] = o['[object Set]'] = o['[object String]'] = o['[object WeakMap]'] = !1,
t.exports = function (e) {
return s(e) && i(e.length) && !!o[r(e)]
}
},
{
'./_baseGetTag': 271,
'./isLength': 356,
'./isObjectLike': 359
}
],
280: [
function (e, t, n) {
var r = e('./_isPrototype'),
i = e('./_nativeKeys'),
s = Object.prototype.hasOwnProperty;
t.exports = function (e) {
if (!r(e)) return i(e);
var t = [
];
for (var n in Object(e)) s.call(e, n) && 'constructor' != n && t.push(n);
return t
}
},
{
'./_isPrototype': 321,
'./_nativeKeys': 333
}
],
281: [
function (e, t, n) {
var r = e('./isObject'),
i = e('./_isPrototype'),
s = e('./_nativeKeysIn'),
o = Object.prototype.hasOwnProperty;
t.exports = function (e) {
if (!r(e)) return s(e);
var t = i(e),
n = [
];
for (var a in e) ('constructor' != a || !t && o.call(e, a)) && n.push(a);
return n
}
},
{
'./_isPrototype': 321,
'./_nativeKeysIn': 334,
'./isObject': 358
}
],
282: [
function (e, t, n) {
t.exports = function (e, t) {
for (var n = - 1, r = Array(e); ++n < e; ) r[n] = t(n);
return r
}
},
{
}
],
283: [
function (e, t, n) {
t.exports = function (e) {
return function (t) {
return e(t)
}
}
},
{
}
],
284: [
function (e, t, n) {
var r = e('./_SetCache'),
i = e('./_arrayIncludes'),
s = e('./_arrayIncludesWith'),
o = e('./_cacheHas'),
a = e('./_createSet'),
u = e('./_setToArray'),
l = 200;
t.exports = function (e, t, n) {
var c = - 1,
p = i,
h = e.length,
f = !0,
d = [
],
m = d;
if (n) f = !1,
p = s;
else if (h >= l) {
var g = t ? null : a(e);
if (g) return u(g);
f = !1,
p = o,
m = new r
} else m = t ? [
] : d;
e: for (; ++c < h; ) {
var y = e[c],
v = t ? t(y) : y;
if (y = n || 0 !== y ? y : 0, f && v == v) {
for (var b = m.length; b--; ) if (m[b] === v) continue e;
t && m.push(v),
d.push(y)
} else p(m, v, n) || (m !== d && m.push(v), d.push(y))
}
return d
}
},
{
'./_SetCache': 251,
'./_arrayIncludes': 258,
'./_arrayIncludesWith': 259,
'./_cacheHas': 285,
'./_createSet': 297,
'./_setToArray': 341
}
],
285: [
function (e, t, n) {
t.exports = function (e, t) {
return e.has(t)
}
},
{
}
],
286: [
function (e, t, n) {
var r = e('./_Uint8Array');
t.exports = function (e) {
var t = new e.constructor(e.byteLength);
return new r(t).set(new r(e)),
t
}
},
{
'./_Uint8Array': 254
}
],
287: [
function (e, t, n) {
var r = e('./_root'),
i = 'object' == typeof n && n && !n.nodeType && n,
s = i && 'object' == typeof t && t && !t.nodeType && t,
o = s && s.exports === i ? r.Buffer : void 0,
a = o ? o.allocUnsafe : void 0;
t.exports = function (e, t) {
if (t) return e.slice();
var n = e.length,
r = a ? a(n) : new e.constructor(n);
return e.copy(r),
r
}
},
{
'./_root': 338
}
],
288: [
function (e, t, n) {
var r = e('./_cloneArrayBuffer');
t.exports = function (e, t) {
var n = t ? r(e.buffer) : e.buffer;
return new e.constructor(n, e.byteOffset, e.byteLength)
}
},
{
'./_cloneArrayBuffer': 286
}
],
289: [
function (e, t, n) {
var r = /\w*$/;
t.exports = function (e) {
var t = new e.constructor(e.source, r.exec(e));
return t.lastIndex = e.lastIndex,
t
}
},
{
}
],
290: [
function (e, t, n) {
var r = e('./_Symbol'),
i = r ? r.prototype : void 0,
s = i ? i.valueOf : void 0;
t.exports = function (e) {
return s ? Object(s.call(e)) : {
}
}
},
{
'./_Symbol': 253
}
],
291: [
function (e, t, n) {
var r = e('./_cloneArrayBuffer');
t.exports = function (e, t) {
var n = t ? r(e.buffer) : e.buffer;
return new e.constructor(n, e.byteOffset, e.length)
}
},
{
'./_cloneArrayBuffer': 286
}
],
292: [
function (e, t, n) {
t.exports = function (e, t) {
var n = - 1,
r = e.length;
for (t || (t = Array(r)); ++n < r; ) t[n] = e[n];
return t
}
},
{
}
],
293: [
function (e, t, n) {
var r = e('./_assignValue'),
i = e('./_baseAssignValue');
t.exports = function (e, t, n, s) {
var o = !n;
n || (n = {
});
for (var a = - 1, u = t.length; ++a < u; ) {
var l = t[a],
c = s ? s(n[l], e[l], l, n, e) : void 0;
void 0 === c && (c = e[l]),
o ? i(n, l, c) : r(n, l, c)
}
return n
}
},
{
'./_assignValue': 262,
'./_baseAssignValue': 266
}
],
294: [
function (e, t, n) {
var r = e('./_copyObject'),
i = e('./_getSymbols');
t.exports = function (e, t) {
return r(e, i(e), t)
}
},
{
'./_copyObject': 293,
'./_getSymbols': 306
}
],
295: [
function (e, t, n) {
var r = e('./_copyObject'),
i = e('./_getSymbolsIn');
t.exports = function (e, t) {
return r(e, i(e), t)
}
},
{
'./_copyObject': 293,
'./_getSymbolsIn': 307
}
],
296: [
function (e, t, n) {
var r = e('./_root') ['__core-js_shared__'];
t.exports = r
},
{
'./_root': 338
}
],
297: [
function (e, t, n) {
var r = e('./_Set'),
i = e('./noop'),
s = e('./_setToArray'),
o = r && 1 / s(new r([,
- 0])) [1] == 1 / 0 ? function (e) {
return new r(e)
}
: i;
t.exports = o
},
{
'./_Set': 250,
'./_setToArray': 341,
'./noop': 366
}
],
298: [
function (e, t, n) {
var r = e('./_getNative'),
i = function () {
try {
var e = r(Object, 'defineProperty');
return e({
}, '', {
}),
e
} catch (e) {
}
}();
t.exports = i
},
{
'./_getNative': 303
}
],
299: [
function (e, t, n) {
(function (e) {
var n = 'object' == typeof e && e && e.Object === Object && e;
t.exports = n
}).call(this, 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : {
})
},
{
}
],
300: [
function (e, t, n) {
var r = e('./_baseGetAllKeys'),
i = e('./_getSymbols'),
s = e('./keys');
t.exports = function (e) {
return r(e, s, i)
}
},
{
'./_baseGetAllKeys': 270,
'./_getSymbols': 306,
'./keys': 364
}
],
301: [
function (e, t, n) {
var r = e('./_baseGetAllKeys'),
i = e('./_getSymbolsIn'),
s = e('./keysIn');
t.exports = function (e) {
return r(e, s, i)
}
},
{
'./_baseGetAllKeys': 270,
'./_getSymbolsIn': 307,
'./keysIn': 365
}
],
302: [
function (e, t, n) {
var r = e('./_isKeyable');
t.exports = function (e, t) {
var n = e.__data__;
return r(t) ? n['string' == typeof t ? 'string' : 'hash'] : n.map
}
},
{
'./_isKeyable': 319
}
],
303: [
function (e, t, n) {
var r = e('./_baseIsNative'),
i = e('./_getValue');
t.exports = function (e, t) {
var n = i(e, t);
return r(n) ? n : void 0
}
},
{
'./_baseIsNative': 276,
'./_getValue': 309
}
],
304: [
function (e, t, n) {
var r = e('./_overArg') (Object.getPrototypeOf, Object);
t.exports = r
},
{
'./_overArg': 337
}
],
305: [
function (e, t, n) {
var r = e('./_Symbol'),
i = Object.prototype,
s = i.hasOwnProperty,
o = i.toString,
a = r ? r.toStringTag : void 0;
t.exports = function (e) {
var t = s.call(e, a),
n = e[a];
try {
e[a] = void 0;
var r = !0
} catch (e) {
}
var i = o.call(e);
return r && (t ? e[a] = n : delete e[a]),
i
}
},
{
'./_Symbol': 253
}
],
306: [
function (e, t, n) {
var r = e('./_arrayFilter'),
i = e('./stubArray'),
s = Object.prototype.propertyIsEnumerable,
o = Object.getOwnPropertySymbols,
a = o ? function (e) {
return null == e ? [
] : (e = Object(e), r(o(e), function (t) {
return s.call(e, t)
}))
}
: i;
t.exports = a
},
{
'./_arrayFilter': 257,
'./stubArray': 367
}
],
307: [
function (e, t, n) {
var r = e('./_arrayPush'),
i = e('./_getPrototype'),
s = e('./_getSymbols'),
o = e('./stubArray'),
a = Object.getOwnPropertySymbols ? function (e) {
for (var t = [
]; e; ) r(t, s(e)),
e = i(e);
return t
}
: o;
t.exports = a
},
{
'./_arrayPush': 261,
'./_getPrototype': 304,
'./_getSymbols': 306,
'./stubArray': 367
}
],
308: [
function (e, t, n) {
var r = e('./_DataView'),
i = e('./_Map'),
s = e('./_Promise'),
o = e('./_Set'),
a = e('./_WeakMap'),
u = e('./_baseGetTag'),
l = e('./_toSource'),
c = l(r),
p = l(i),
h = l(s),
f = l(o),
d = l(a),
m = u;
(r && '[object DataView]' != m(new r(new ArrayBuffer(1))) || i && '[object Map]' != m(new i) || s && '[object Promise]' != m(s.resolve()) || o && '[object Set]' != m(new o) || a && '[object WeakMap]' != m(new a)) && (m = function (e) {
var t = u(e),
n = '[object Object]' == t ? e.constructor : void 0,
r = n ? l(n) : '';
if (r) switch (r) {
case c:
return '[object DataView]';
case p:
return '[object Map]';
case h:
return '[object Promise]';
case f:
return '[object Set]';
case d:
return '[object WeakMap]'
}
return t
}),
t.exports = m
},
{
'./_DataView': 244,
'./_Map': 247,
'./_Promise': 249,
'./_Set': 250,
'./_WeakMap': 255,
'./_baseGetTag': 271,
'./_toSource': 348
}
],
309: [
function (e, t, n) {
t.exports = function (e, t) {
return null == e ? void 0 : e[t]
}
},
{
}
],
310: [
function (e, t, n) {
var r = e('./_nativeCreate');
t.exports = function () {
this.__data__ = r ? r(null) : {
},
this.size = 0
}
},
{
'./_nativeCreate': 332
}
],
311: [
function (e, t, n) {
t.exports = function (e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0,
t
}
},
{
}
],
312: [
function (e, t, n) {
var r = e('./_nativeCreate'),
i = '__lodash_hash_undefined__',
s = Object.prototype.hasOwnProperty;
t.exports = function (e) {
var t = this.__data__;
if (r) {
var n = t[e];
return n === i ? void 0 : n
}
return s.call(t, e) ? t[e] : void 0
}
},
{
'./_nativeCreate': 332
}
],
313: [
function (e, t, n) {
var r = e('./_nativeCreate'),
i = Object.prototype.hasOwnProperty;
t.exports = function (e) {
var t = this.__data__;
return r ? void 0 !== t[e] : i.call(t, e)
}
},
{
'./_nativeCreate': 332
}
],
314: [
function (e, t, n) {
var r = e('./_nativeCreate'),
i = '__lodash_hash_undefined__';
t.exports = function (e, t) {
var n = this.__data__;
return this.size += this.has(e) ? 0 : 1,
n[e] = r && void 0 === t ? i : t,
this
}
},
{
'./_nativeCreate': 332
}
],
315: [
function (e, t, n) {
var r = Object.prototype.hasOwnProperty;
t.exports = function (e) {
var t = e.length,
n = new e.constructor(t);
return t && 'string' == typeof e[0] && r.call(e, 'index') && (n.index = e.index, n.input = e.input),
n
}
},
{
}
],
316: [
function (e, t, n) {
var r = e('./_cloneArrayBuffer'),
i = e('./_cloneDataView'),
s = e('./_cloneRegExp'),
o = e('./_cloneSymbol'),
a = e('./_cloneTypedArray'),
u = '[object Boolean]',
l = '[object Date]',
c = '[object Map]',
p = '[object Number]',
h = '[object RegExp]',
f = '[object Set]',
d = '[object String]',
m = '[object Symbol]',
g = '[object ArrayBuffer]',
y = '[object DataView]',
v = '[object Float32Array]',
b = '[object Float64Array]',
x = '[object Int8Array]',
A = '[object Int16Array]',
E = '[object Int32Array]',
_ = '[object Uint8Array]',
C = '[object Uint8ClampedArray]',
w = '[object Uint16Array]',
D = '[object Uint32Array]';
t.exports = function (e, t, n) {
var k = e.constructor;
switch (t) {
case g:
return r(e);
case u:
case l:
return new k( + e);
case y:
return i(e, n);
case v:
case b:
case x:
case A:
case E:
case _:
case C:
case w:
case D:
return a(e, n);
case c:
return new k;
case p:
case d:
return new k(e);
case h:
return s(e);
case f:
return new k;
case m:
return o(e)
}
}
},
{
'./_cloneArrayBuffer': 286,
'./_cloneDataView': 288,
'./_cloneRegExp': 289,
'./_cloneSymbol': 290,
'./_cloneTypedArray': 291
}
],
317: [
function (e, t, n) {
var r = e('./_baseCreate'),
i = e('./_getPrototype'),
s = e('./_isPrototype');
t.exports = function (e) {
return 'function' != typeof e.constructor || s(e) ? {
}
: r(i(e))
}
},
{
'./_baseCreate': 268,
'./_getPrototype': 304,
'./_isPrototype': 321
}
],
318: [
function (e, t, n) {
var r = 9007199254740991,
i = /^(?:0|[1-9]\d*)$/;
t.exports = function (e, t) {
var n = typeof e;
return !!(t = null == t ? r : t) && ('number' == n || 'symbol' != n && i.test(e)) && e > - 1 && e % 1 == 0 && e < t
}
},
{
}
],
319: [
function (e, t, n) {
t.exports = function (e) {
var t = typeof e;
return 'string' == t || 'number' == t || 'symbol' == t || 'boolean' == t ? '__proto__' !== e : null === e
}
},
{
}
],
320: [
function (e, t, n) {
var r,
i = e('./_coreJsData'),
s = (r = /[^.]+$/.exec(i && i.keys && i.keys.IE_PROTO || '')) ? 'Symbol(src)_1.' + r : '';
t.exports = function (e) {
return !!s && s in e
}
},
{
'./_coreJsData': 296
}
],
321: [
function (e, t, n) {
var r = Object.prototype;
t.exports = function (e) {
var t = e && e.constructor;
return e === ('function' == typeof t && t.prototype || r)
}
},
{
}
],
322: [
function (e, t, n) {
t.exports = function () {
this.__data__ = [
],
this.size = 0
}
},
{
}
],
323: [
function (e, t, n) {
var r = e('./_assocIndexOf'),
i = Array.prototype.splice;
t.exports = function (e) {
var t = this.__data__,
n = r(t, e);
return !(n < 0 || (n == t.length - 1 ? t.pop() : i.call(t, n, 1), --this.size, 0))
}
},
{
'./_assocIndexOf': 263
}
],
324: [
function (e, t, n) {
var r = e('./_assocIndexOf');
t.exports = function (e) {
var t = this.__data__,
n = r(t, e);
return n < 0 ? void 0 : t[n][1]
}
},
{
'./_assocIndexOf': 263
}
],
325: [
function (e, t, n) {
var r = e('./_assocIndexOf');
t.exports = function (e) {
return r(this.__data__, e) > - 1
}
},
{
'./_assocIndexOf': 263
}
],
326: [
function (e, t, n) {
var r = e('./_assocIndexOf');
t.exports = function (e, t) {
var n = this.__data__,
i = r(n, e);
return i < 0 ? (++this.size, n.push([e,
t])) : n[i][1] = t,
this
}
},
{
'./_assocIndexOf': 263
}
],
327: [
function (e, t, n) {
var r = e('./_Hash'),
i = e('./_ListCache'),
s = e('./_Map');
t.exports = function () {
this.size = 0,
this.__data__ = {
hash: new r,
map: new (s || i),
string: new r
}
}
},
{
'./_Hash': 245,
'./_ListCache': 246,
'./_Map': 247
}
],
328: [
function (e, t, n) {
var r = e('./_getMapData');
t.exports = function (e) {
var t = r(this, e).delete(e);
return this.size -= t ? 1 : 0,
t
}
},
{
'./_getMapData': 302
}
],
329: [
function (e, t, n) {
var r = e('./_getMapData');
t.exports = function (e) {
return r(this, e).get(e)
}
},
{
'./_getMapData': 302
}
],
330: [
function (e, t, n) {
var r = e('./_getMapData');
t.exports = function (e) {
return r(this, e).has(e)
}
},
{
'./_getMapData': 302
}
],
331: [
function (e, t, n) {
var r = e('./_getMapData');
t.exports = function (e, t) {
var n = r(this, e),
i = n.size;
return n.set(e, t),
this.size += n.size == i ? 0 : 1,
this
}
},
{
'./_getMapData': 302
}
],
332: [
function (e, t, n) {
var r = e('./_getNative') (Object, 'create');
t.exports = r
},
{
'./_getNative': 303
}
],
333: [
function (e, t, n) {
var r = e('./_overArg') (Object.keys, Object);
t.exports = r
},
{
'./_overArg': 337
}
],
334: [
function (e, t, n) {
t.exports = function (e) {
var t = [
];
if (null != e) for (var n in Object(e)) t.push(n);
return t
}
},
{
}
],
335: [
function (e, t, n) {
var r = e('./_freeGlobal'),
i = 'object' == typeof n && n && !n.nodeType && n,
s = i && 'object' == typeof t && t && !t.nodeType && t,
o = s && s.exports === i && r.process,
a = function () {
try {
var e = s && s.require && s.require('util').types;
return e || o && o.binding && o.binding('util')
} catch (e) {
}
}();
t.exports = a
},
{
'./_freeGlobal': 299
}
],
336: [
function (e, t, n) {
var r = Object.prototype.toString;
t.exports = function (e) {
return r.call(e)
}
},
{
}
],
337: [
function (e, t, n) {
t.exports = function (e, t) {
return function (n) {
return e(t(n))
}
}
},
{
}
],
338: [
function (e, t, n) {
var r = e('./_freeGlobal'),
i = 'object' == typeof self && self && self.Object === Object && self,
s = r || i || Function('return this') ();
t.exports = s
},
{
'./_freeGlobal': 299
}
],
339: [
function (e, t, n) {
var r = '__lodash_hash_undefined__';
t.exports = function (e) {
return this.__data__.set(e, r),
this
}
},
{
}
],
340: [
function (e, t, n) {
t.exports = function (e) {
return this.__data__.has(e)
}
},
{
}
],
341: [
function (e, t, n) {
t.exports = function (e) {
var t = - 1,
n = Array(e.size);
return e.forEach(function (e) {
n[++t] = e
}),
n
}
},
{
}
],
342: [
function (e, t, n) {
var r = e('./_ListCache');
t.exports = function () {
this.__data__ = new r,
this.size = 0
}
},
{
'./_ListCache': 246
}
],
343: [
function (e, t, n) {
t.exports = function (e) {
var t = this.__data__,
n = t.delete(e);
return this.size = t.size,
n
}
},
{
}
],
344: [
function (e, t, n) {
t.exports = function (e) {
return this.__data__.get(e)
}
},
{
}
],
345: [
function (e, t, n) {
t.exports = function (e) {
return this.__data__.has(e)
}
},
{
}
],
346: [
function (e, t, n) {
var r = e('./_ListCache'),
i = e('./_Map'),
s = e('./_MapCache'),
o = 200;
t.exports = function (e, t) {
var n = this.__data__;
if (n instanceof r) {
var a = n.__data__;
if (!i || a.length < o - 1) return a.push([e,
t]),
this.size = ++n.size,
this;
n = this.__data__ = new s(a)
}
return n.set(e, t),
this.size = n.size,
this
}
},
{
'./_ListCache': 246,
'./_Map': 247,
'./_MapCache': 248
}
],
347: [
function (e, t, n) {
t.exports = function (e, t, n) {
for (var r = n - 1, i = e.length; ++r < i; ) if (e[r] === t) return r;
return - 1
}
},
{
}
],
348: [
function (e, t, n) {
var r = Function.prototype.toString;
t.exports = function (e) {
if (null != e) {
try {
return r.call(e)
} catch (e) {
}
try {
return e + ''
} catch (e) {
}
}
return ''
}
},
{
}
],
349: [
function (e, t, n) {
var r = e('./_baseClone'),
i = 4;
t.exports = function (e) {
return r(e, i)
}
},
{
'./_baseClone': 267
}
],
350: [
function (e, t, n) {
t.exports = function (e, t) {
return e === t || e != e && t != t
}
},
{
}
],
351: [
function (e, t, n) {
var r = e('./_baseIsArguments'),
i = e('./isObjectLike'),
s = Object.prototype,
o = s.hasOwnProperty,
a = s.propertyIsEnumerable,
u = r(function () {
return arguments
}()) ? r : function (e) {
return i(e) && o.call(e, 'callee') && !a.call(e, 'callee')
};
t.exports = u
},
{
'./_baseIsArguments': 273,
'./isObjectLike': 359
}
],
352: [
function (e, t, n) {
var r = Array.isArray;
t.exports = r
},
{
}
],
353: [
function (e, t, n) {
var r = e('./isFunction'),
i = e('./isLength');
t.exports = function (e) {
return null != e && i(e.length) && !r(e)
}
},
{
'./isFunction': 355,
'./isLength': 356
}
],
354: [
function (e, t, n) {
var r = e('./_root'),
i = e('./stubFalse'),
s = 'object' == typeof n && n && !n.nodeType && n,
o = s && 'object' == typeof t && t && !t.nodeType && t,
a = o && o.exports === s ? r.Buffer : void 0,
u = (a ? a.isBuffer : void 0) || i;
t.exports = u
},
{
'./_root': 338,
'./stubFalse': 368
}
],
355: [
function (e, t, n) {
var r = e('./_baseGetTag'),
i = e('./isObject'),
s = '[object AsyncFunction]',
o = '[object Function]',
a = '[object GeneratorFunction]',
u = '[object Proxy]';
t.exports = function (e) {
if (!i(e)) return !1;
var t = r(e);
return t == o || t == a || t == s || t == u
}
},
{
'./_baseGetTag': 271,
'./isObject': 358
}
],
356: [
function (e, t, n) {
var r = 9007199254740991;
t.exports = function (e) {
return 'number' == typeof e && e > - 1 && e % 1 == 0 && e <= r
}
},
{
}
],
357: [
function (e, t, n) {
var r = e('./_baseIsMap'),
i = e('./_baseUnary'),
s = e('./_nodeUtil'),
o = s && s.isMap,
a = o ? i(o) : r;
t.exports = a
},
{
'./_baseIsMap': 274,
'./_baseUnary': 283,
'./_nodeUtil': 335
}
],
358: [
function (e, t, n) {
t.exports = function (e) {
var t = typeof e;
return null != e && ('object' == t || 'function' == t)
}
},
{
}
],
359: [
function (e, t, n) {
t.exports = function (e) {
return null != e && 'object' == typeof e
}
},
{
}
],
360: [
function (e, t, n) {
var r = e('./_baseGetTag'),
i = e('./_getPrototype'),
s = e('./isObjectLike'),
o = '[object Object]',
a = Function.prototype,
u = Object.prototype,
l = a.toString,
c = u.hasOwnProperty,
p = l.call(Object);
t.exports = function (e) {
if (!s(e) || r(e) != o) return !1;
var t = i(e);
if (null === t) return !0;
var n = c.call(t, 'constructor') && t.constructor;
return 'function' == typeof n && n instanceof n && l.call(n) == p
}
},
{
'./_baseGetTag': 271,
'./_getPrototype': 304,
'./isObjectLike': 359
}
],
361: [
function (e, t, n) {
var r = e('./_baseIsRegExp'),
i = e('./_baseUnary'),
s = e('./_nodeUtil'),
o = s && s.isRegExp,
a = o ? i(o) : r;
t.exports = a
},
{
'./_baseIsRegExp': 277,
'./_baseUnary': 283,
'./_nodeUtil': 335
}
],
362: [
function (e, t, n) {
var r = e('./_baseIsSet'),
i = e('./_baseUnary'),
s = e('./_nodeUtil'),
o = s && s.isSet,
a = o ? i(o) : r;
t.exports = a
},
{
'./_baseIsSet': 278,
'./_baseUnary': 283,
'./_nodeUtil': 335
}
],
363: [
function (e, t, n) {
var r = e('./_baseIsTypedArray'),
i = e('./_baseUnary'),
s = e('./_nodeUtil'),
o = s && s.isTypedArray,
a = o ? i(o) : r;
t.exports = a
},
{
'./_baseIsTypedArray': 279,
'./_baseUnary': 283,
'./_nodeUtil': 335
}
],
364: [
function (e, t, n) {
var r = e('./_arrayLikeKeys'),
i = e('./_baseKeys'),
s = e('./isArrayLike');
t.exports = function (e) {
return s(e) ? r(e) : i(e)
}
},
{
'./_arrayLikeKeys': 260,
'./_baseKeys': 280,
'./isArrayLike': 353
}
],
365: [
function (e, t, n) {
var r = e('./_arrayLikeKeys'),
i = e('./_baseKeysIn'),
s = e('./isArrayLike');
t.exports = function (e) {
return s(e) ? r(e, !0) : i(e)
}
},
{
'./_arrayLikeKeys': 260,
'./_baseKeysIn': 281,
'./isArrayLike': 353
}
],
366: [
function (e, t, n) {
t.exports = function () {
}
},
{
}
],
367: [
function (e, t, n) {
t.exports = function () {
return []
}
},
{
}
],
368: [
function (e, t, n) {
t.exports = function () {
return !1
}
},
{
}
],
369: [
function (e, t, n) {
var r = e('./_baseUniq');
t.exports = function (e) {
return e && e.length ? r(e) : [
]
}
},
{
'./_baseUniq': 284
}
],
370: [
function (e, t, n) {
'use strict';
var r = Object.getOwnPropertySymbols,
i = Object.prototype.hasOwnProperty,
s = Object.prototype.propertyIsEnumerable;
t.exports = function () {
try {
if (!Object.assign) return !1;
var e = new String('abc');
if (e[5] = 'de', '5' === Object.getOwnPropertyNames(e) [0]) return !1;
for (var t = {
}, n = 0; n < 10; n++) t['_' + String.fromCharCode(n)] = n;
if ('0123456789' !== Object.getOwnPropertyNames(t).map(function (e) {
return t[e]
}).join('')) return !1;
var r = {
};
return 'abcdefghijklmnopqrst'.split('').forEach(function (e) {
r[e] = e
}),
'abcdefghijklmnopqrst' === Object.keys(Object.assign({
}, r)).join('')
} catch (e) {
return !1
}
}() ? Object.assign : function (e, t) {
for (var n, o, a = function (e) {
if (null === e || void 0 === e) throw new TypeError('Object.assign cannot be called with null or undefined');
return Object(e)
}(e), u = 1; u < arguments.length; u++) {
for (var l in n = Object(arguments[u])) i.call(n, l) && (a[l] = n[l]);
if (r) {
o = r(n);
for (var c = 0; c < o.length; c++) s.call(n, o[c]) && (a[o[c]] = n[o[c]])
}
}
return a
}
},
{
}
],
371: [
function (e, t, n) {
n.endianness = function () {
return 'LE'
},
n.hostname = function () {
return 'undefined' != typeof location ? location.hostname : ''
},
n.loadavg = function () {
return []
},
n.uptime = function () {
return 0
},
n.freemem = function () {
return Number.MAX_VALUE
},
n.totalmem = function () {
return Number.MAX_VALUE
},
n.cpus = function () {
return []
},
n.type = function () {
return 'Browser'
},
n.release = function () {
return 'undefined' != typeof navigator ? navigator.appVersion : ''
},
n.networkInterfaces = n.getNetworkInterfaces = function () {
return {
}
},
n.arch = function () {
return 'javascript'
},
n.platform = function () {
return 'browser'
},
n.tmpdir = n.tmpDir = function () {
return '/tmp'
},
n.EOL = '\n',
n.homedir = function () {
return '/'
}
},
{
}
],
372: [
function (e, t, n) {
(function (e) {
function t(e, t) {
for (var n = 0, r = e.length - 1; r >= 0; r--) {
var i = e[r];
'.' === i ? e.splice(r, 1) : '..' === i ? (e.splice(r, 1), n++) : n && (e.splice(r, 1), n--)
}
if (t) for (; n--; n) e.unshift('..');
return e
}
function r(e, t) {
if (e.filter) return e.filter(t);
for (var n = [
], r = 0; r < e.length; r++) t(e[r], r, e) && n.push(e[r]);
return n
}
n.resolve = function () {
for (var n = '', i = !1, s = arguments.length - 1; s >= - 1 && !i; s--) {
var o = s >= 0 ? arguments[s] : e.cwd();
if ('string' != typeof o) throw new TypeError('Arguments to path.resolve must be strings');
o && (n = o + '/' + n, i = '/' === o.charAt(0))
}
return n = t(r(n.split('/'), function (e) {
return !!e
}), !i).join('/'),
(i ? '/' : '') + n || '.'
},
n.normalize = function (e) {
var s = n.isAbsolute(e),
o = '/' === i(e, - 1);
return (e = t(r(e.split('/'), function (e) {
return !!e
}), !s).join('/')) || s || (e = '.'),
e && o && (e += '/'),
(s ? '/' : '') + e
},
n.isAbsolute = function (e) {
return '/' === e.charAt(0)
},
n.join = function () {
var e = Array.prototype.slice.call(arguments, 0);
return n.normalize(r(e, function (e, t) {
if ('string' != typeof e) throw new TypeError('Arguments to path.join must be strings');
return e
}).join('/'))
},
n.relative = function (e, t) {
function r(e) {
for (var t = 0; t < e.length && '' === e[t]; t++);
for (var n = e.length - 1; n >= 0 && '' === e[n]; n--);
return t > n ? [
] : e.slice(t, n - t + 1)
}
e = n.resolve(e).substr(1),
t = n.resolve(t).substr(1);
for (var i = r(e.split('/')), s = r(t.split('/')), o = Math.min(i.length, s.length), a = o, u = 0; u < o; u++) if (i[u] !== s[u]) {
a = u;
break
}
var l = [
];
for (u = a; u < i.length; u++) l.push('..');
return (l = l.concat(s.slice(a))).join('/')
},
n.sep = '/',
n.delimiter = ':',
n.dirname = function (e) {
if ('string' != typeof e && (e += ''), 0 === e.length) return '.';
for (var t = e.charCodeAt(0), n = 47 === t, r = - 1, i = !0, s = e.length - 1; s >= 1; --s) if (47 === (t = e.charCodeAt(s))) {
if (!i) {
r = s;
break
}
} else i = !1;
return - 1 === r ? n ? '/' : '.' : n && 1 === r ? '/' : e.slice(0, r)
},
n.basename = function (e, t) {
var n = function (e) {
'string' != typeof e && (e += '');
var t,
n = 0,
r = - 1,
i = !0;
for (t = e.length - 1; t >= 0; --t) if (47 === e.charCodeAt(t)) {
if (!i) {
n = t + 1;
break
}
} else - 1 === r && (i = !1, r = t + 1);
return - 1 === r ? '' : e.slice(n, r)
}(e);
return t && n.substr( - 1 * t.length) === t && (n = n.substr(0, n.length - t.length)),
n
},
n.extname = function (e) {
'string' != typeof e && (e += '');
for (var t = - 1, n = 0, r = - 1, i = !0, s = 0, o = e.length - 1; o >= 0; --o) {
var a = e.charCodeAt(o);
if (47 !== a) - 1 === r && (i = !1, r = o + 1),
46 === a ? - 1 === t ? t = o : 1 !== s && (s = 1) : - 1 !== t && (s = - 1);
else if (!i) {
n = o + 1;
break
}
}
return - 1 === t || - 1 === r || 0 === s || 1 === s && t === r - 1 && t === n + 1 ? '' : e.slice(t, r)
};
var i = 'b' === 'ab'.substr( - 1) ? function (e, t, n) {
return e.substr(t, n)
}
: function (e, t, n) {
return t < 0 && (t = e.length + t),
e.substr(t, n)
}
}).call(this, e('_process'))
},
{
_process: 373
}
],
373: [
function (e, t, n) {
var r,
i,
s = t.exports = {
};
function o() {
throw new Error('setTimeout has not been defined')
}
function a() {
throw new Error('clearTimeout has not been defined')
}
function u(e) {
if (r === setTimeout) return setTimeout(e, 0);
if ((r === o || !r) && setTimeout) return r = setTimeout,
setTimeout(e, 0);
try {
return r(e, 0)
} catch (t) {
try {
return r.call(null, e, 0)
} catch (t) {
return r.call(this, e, 0)
}
}
}
!function () {
try {
r = 'function' == typeof setTimeout ? setTimeout : o
} catch (e) {
r = o
}
try {
i = 'function' == typeof clearTimeout ? clearTimeout : a
} catch (e) {
i = a
}
}();
var l,
c = [
],
p = !1,
h = - 1;
function f() {
p && l && (p = !1, l.length ? c = l.concat(c) : h = - 1, c.length && d())
}
function d() {
if (!p) {
var e = u(f);
p = !0;
for (var t = c.length; t; ) {
for (l = c, c = [
]; ++h < t; ) l && l[h].run();
h = - 1,
t = c.length
}
l = null,
p = !1,
function (e) {
if (i === clearTimeout) return clearTimeout(e);
if ((i === a || !i) && clearTimeout) return i = clearTimeout,
clearTimeout(e);
try {
i(e)
} catch (t) {
try {
return i.call(null, e)
} catch (t) {
return i.call(this, e)
}
}
}(e)
}
}
function m(e, t) {
this.fun = e,
this.array = t
}
function g() {
}
s.nextTick = function (e) {
var t = new Array(arguments.length - 1);
if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
c.push(new m(e, t)),
1 !== c.length || p || u(d)
},
m.prototype.run = function () {
this.fun.apply(null, this.array)
},
s.title = 'browser',
s.browser = !0,
s.env = {
},
s.argv = [
],
s.version = '',
s.versions = {
},
s.on = g,
s.addListener = g,
s.once = g,
s.off = g,
s.removeListener = g,
s.removeAllListeners = g,
s.emit = g,
s.prependListener = g,
s.prependOnceListener = g,
s.listeners = function (e) {
return []
},
s.binding = function (e) {
throw new Error('process.binding is not supported')
},
s.cwd = function () {
return '/'
},
s.chdir = function (e) {
throw new Error('process.chdir is not supported')
},
s.umask = function () {
return 0
}
},
{
}
],
374: [
function (e, t, n) {
'use strict';
t.exports = e('./lib')
},
{
'./lib': 379
}
],
375: [
function (e, t, n) {
'use strict';
var r = e('asap/raw');
function i() {
}
var s = null,
o = {
};
function a(e) {
if ('object' != typeof this) throw new TypeError('Promises must be constructed via new');
if ('function' != typeof e) throw new TypeError('Promise constructor\'s argument is not a function');
this._40 = 0,
this._65 = 0,
this._55 = null,
this._72 = null,
e !== i && f(e, this)
}
function u(e, t) {
for (; 3 === e._65; ) e = e._55;
if (a._37 && a._37(e), 0 === e._65) return 0 === e._40 ? (e._40 = 1, void (e._72 = t)) : 1 === e._40 ? (e._40 = 2, void (e._72 = [
e._72,
t
])) : void e._72.push(t);
!function (e, t) {
r(function () {
var n = 1 === e._65 ? t.onFulfilled : t.onRejected;
if (null !== n) {
var r = function (e, t) {
try {
return e(t)
} catch (e) {
return s = e,
o
}
}(n, e._55);
r === o ? c(t.promise, s) : l(t.promise, r)
} else 1 === e._65 ? l(t.promise, e._55) : c(t.promise, e._55)
})
}(e, t)
}
function l(e, t) {
if (t === e) return c(e, new TypeError('A promise cannot be resolved with itself.'));
if (t && ('object' == typeof t || 'function' == typeof t)) {
var n = function (e) {
try {
return e.then
} catch (e) {
return s = e,
o
}
}(t);
if (n === o) return c(e, s);
if (n === e.then && t instanceof a) return e._65 = 3,
e._55 = t,
void p(e);
if ('function' == typeof n) return void f(n.bind(t), e)
}
e._65 = 1,
e._55 = t,
p(e)
}
function c(e, t) {
e._65 = 2,
e._55 = t,
a._87 && a._87(e, t),
p(e)
}
function p(e) {
if (1 === e._40 && (u(e, e._72), e._72 = null), 2 === e._40) {
for (var t = 0; t < e._72.length; t++) u(e, e._72[t]);
e._72 = null
}
}
function h(e, t, n) {
this.onFulfilled = 'function' == typeof e ? e : null,
this.onRejected = 'function' == typeof t ? t : null,
this.promise = n
}
function f(e, t) {
var n = !1,
r = function (e, t, n) {
try {
e(t, n)
} catch (e) {
return s = e,
o
}
}(e, function (e) {
n || (n = !0, l(t, e))
}, function (e) {
n || (n = !0, c(t, e))
});
n || r !== o || (n = !0, c(t, s))
}
t.exports = a,
a._37 = null,
a._87 = null,
a._61 = i,
a.prototype.then = function (e, t) {
if (this.constructor !== a) return function (e, t, n) {
return new e.constructor(function (r, s) {
var o = new a(i);
o.then(r, s),
u(e, new h(t, n, o))
})
}(this, e, t);
var n = new a(i);
return u(this, new h(e, t, n)),
n
}
},
{
'asap/raw': 7
}
],
376: [
function (e, t, n) {
'use strict';
var r = e('./core.js');
t.exports = r,
r.prototype.done = function (e, t) {
(arguments.length ? this.then.apply(this, arguments) : this).then(null, function (e) {
setTimeout(function () {
throw e
}, 0)
})
}
},
{
'./core.js': 375
}
],
377: [
function (e, t, n) {
'use strict';
var r = e('./core.js');
t.exports = r;
var i = c(!0),
s = c(!1),
o = c(null),
a = c(void 0),
u = c(0),
l = c('');
function c(e) {
var t = new r(r._61);
return t._65 = 1,
t._55 = e,
t
}
r.resolve = function (e) {
if (e instanceof r) return e;
if (null === e) return o;
if (void 0 === e) return a;
if (!0 === e) return i;
if (!1 === e) return s;
if (0 === e) return u;
if ('' === e) return l;
if ('object' == typeof e || 'function' == typeof e) try {
var t = e.then;
if ('function' == typeof t) return new r(t.bind(e))
} catch (e) {
return new r(function (t, n) {
n(e)
})
}
return c(e)
},
r.all = function (e) {
var t = Array.prototype.slice.call(e);
return new r(function (e, n) {
if (0 === t.length) return e([]);
var i = t.length;
function s(o, a) {
if (a && ('object' == typeof a || 'function' == typeof a)) {
if (a instanceof r && a.then === r.prototype.then) {
for (; 3 === a._65; ) a = a._55;
return 1 === a._65 ? s(o, a._55) : (2 === a._65 && n(a._55), void a.then(function (e) {
s(o, e)
}, n))
}
var u = a.then;
if ('function' == typeof u) return void new r(u.bind(a)).then(function (e) {
s(o, e)
}, n)
}
t[o] = a,
0 == --i && e(t)
}
for (var o = 0; o < t.length; o++) s(o, t[o])
})
},
r.reject = function (e) {
return new r(function (t, n) {
n(e)
})
},
r.race = function (e) {
return new r(function (t, n) {
e.forEach(function (e) {
r.resolve(e).then(t, n)
})
})
},
r.prototype.catch = function (e) {
return this.then(null, e)
}
},
{
'./core.js': 375
}
],
378: [
function (e, t, n) {
'use strict';
var r = e('./core.js');
t.exports = r,
r.prototype.finally = function (e) {
return this.then(function (t) {
return r.resolve(e()).then(function () {
return t
})
}, function (t) {
return r.resolve(e()).then(function () {
throw t
})
})
}
},
{
'./core.js': 375
}
],
379: [
function (e, t, n) {
'use strict';
t.exports = e('./core.js'),
e('./done.js'),
e('./finally.js'),
e('./es6-extensions.js'),
e('./node-extensions.js'),
e('./synchronous.js')
},
{
'./core.js': 375,
'./done.js': 376,
'./es6-extensions.js': 377,
'./finally.js': 378,
'./node-extensions.js': 380,
'./synchronous.js': 381
}
],
380: [
function (e, t, n) {
'use strict';
var r = e('./core.js'),
i = e('asap');
t.exports = r,
r.denodeify = function (e, t) {
return 'number' == typeof t && t !== 1 / 0 ? function (e, t) {
for (var n = [
], i = 0; i < t; i++) n.push('a' + i);
var o = [
'return function (' + n.join(',') + ') {',
'var self = this;',
'return new Promise(function (rs, rj) {',
'var res = fn.call(',
[
'self'
].concat(n).concat([s]).join(','),
');',
'if (res &&',
'(typeof res === "object" || typeof res === "function") &&',
'typeof res.then === "function"',
') {rs(res);}',
'});',
'};'
].join('');
return Function(['Promise',
'fn'], o) (r, e)
}(e, t) : function (e) {
for (var t = Math.max(e.length - 1, 3), n = [
], i = 0; i < t; i++) n.push('a' + i);
var o = [
'return function (' + n.join(',') + ') {',
'var self = this;',
'var args;',
'var argLength = arguments.length;',
'if (arguments.length > ' + t + ') {',
'args = new Array(arguments.length + 1);',
'for (var i = 0; i < arguments.length; i++) {',
'args[i] = arguments[i];',
'}',
'}',
'return new Promise(function (rs, rj) {',
'var cb = ' + s + ';',
'var res;',
'switch (argLength) {',
n.concat(['extra']).map(function (e, t) {
return 'case ' + t + ':res = fn.call(' + ['self'].concat(n.slice(0, t)).concat('cb').join(',') + ');break;'
}).join(''),
'default:',
'args[argLength] = cb;',
'res = fn.apply(self, args);',
'}',
'if (res &&',
'(typeof res === "object" || typeof res === "function") &&',
'typeof res.then === "function"',
') {rs(res);}',
'});',
'};'
].join('');
return Function(['Promise',
'fn'], o) (r, e)
}(e)
};
var s = 'function (err, res) {if (err) { rj(err); } else { rs(res); }}';
r.nodeify = function (e) {
return function () {
var t = Array.prototype.slice.call(arguments),
n = 'function' == typeof t[t.length - 1] ? t.pop() : null,
s = this;
try {
return e.apply(this, arguments).nodeify(n, s)
} catch (e) {
if (null === n || void 0 === n) return new r(function (t, n) {
n(e)
});
i(function () {
n.call(s, e)
})
}
}
},
r.prototype.nodeify = function (e, t) {
if ('function' != typeof e) return this;
this.then(function (n) {
i(function () {
e.call(t, null, n)
})
}, function (n) {
i(function () {
e.call(t, n)
})
})
}
},
{
'./core.js': 375,
asap: 6
}
],
381: [
function (e, t, n) {
'use strict';
var r = e('./core.js');
t.exports = r,
r.enableSynchronous = function () {
r.prototype.isPending = function () {
return 0 == this.getState()
},
r.prototype.isFulfilled = function () {
return 1 == this.getState()
},
r.prototype.isRejected = function () {
return 2 == this.getState()
},
r.prototype.getValue = function () {
if (3 === this._65) return this._55.getValue();
if (!this.isFulfilled()) throw new Error('Cannot get a value of an unfulfilled promise.');
return this._55
},
r.prototype.getReason = function () {
if (3 === this._65) return this._55.getReason();
if (!this.isRejected()) throw new Error('Cannot get a rejection reason of a non-rejected promise.');
return this._55
},
r.prototype.getState = function () {
return 3 === this._65 ? this._55.getState() : - 1 === this._65 || - 2 === this._65 ? 0 : this._65
}
},
r.disableSynchronous = function () {
r.prototype.isPending = void 0,
r.prototype.isFulfilled = void 0,
r.prototype.isRejected = void 0,
r.prototype.getValue = void 0,
r.prototype.getReason = void 0,
r.prototype.getState = void 0
}
},
{
'./core.js': 375
}
],
382: [
function (e, t, n) {
'use strict';
var r = e('assert'),
i = e('constantinople'),
s = e('pug-runtime'),
o = e('js-stringify');
function a(e) {
return i(e, {
pug: s,
pug_interp: void 0
})
}
function u(e) {
return i.toConstant(e, {
pug: s,
pug_interp: void 0
})
}
t.exports = function (e, t) {
r(Array.isArray(e), 'Attrs should be an array'),
r(e.every(function (e) {
return e && 'object' == typeof e && 'string' == typeof e.name && ('string' == typeof e.val || 'boolean' == typeof e.val) && 'boolean' == typeof e.mustEscape
}), 'All attributes should be supplied as an object of the form {name, val, mustEscape}'),
r(t && 'object' == typeof t, 'Options should be an object'),
r('boolean' == typeof t.terse, 'Options.terse should be a boolean'),
r('function' == typeof t.runtime, 'Options.runtime should be a function that takes a runtime function name and returns the source code that will evaluate to that function at runtime'),
r('html' === t.format || 'object' === t.format, 'Options.format should be "html" or "object"');
var n = [
],
i = [
],
l = [
];
function c(e, n, r, i) {
if (a(n)) if ('html' === t.format) {
var l = o(s.attr(e, u(n), r, t.terse)),
c = i[i.length - 1];
c && c[c.length - 1] === l[0] ? i[i.length - 1] = c.substr(0, c.length - 1) + l.substr(1) : i.push(l)
} else n = u(n),
r && (n = s.escape(n)),
i.push(o(e) + ': ' + o(n));
else 'html' === t.format ? i.push(t.runtime('attr') + '("' + e + '", ' + n + ', ' + o(r) + ', ' + o(t.terse) + ')') : (r && (n = t.runtime('escape') + '(' + n + ')'), i.push(o(e) + ': ' + n))
}
e.forEach(function (e) {
var r = e.name,
p = e.val,
h = e.mustEscape;
'class' === r ? (i.push(p), l.push(h)) : ('style' === r && (p = a(p) ? o(s.style(u(p))) : t.runtime('style') + '(' + p + ')'), c(r, p, h, n))
});
var p = [
];
i.length && (i.every(a) ? c('class', o(s.classes(i.map(u), l)), !1, p) : (i = i.map(function (e, t) {
return a(e) && (e = o(l[t] ? s.escape(u(e)) : u(e)), l[t] = !1),
e
}), c('class', t.runtime('classes') + '([' + i.join(',') + '], ' + o(l) + ')', !1, p)));
return n = p.concat(n),
'html' === t.format ? n.length ? n.join('+') : '""' : '{' + n.join(',') + '}'
}
},
{
assert: 8,
constantinople: 384,
'js-stringify': 242,
'pug-runtime': 400
}
],
383: [
function (e, t, n) {
'use strict';
n.__esModule = !0,
n.default = function (e, t, n) {
switch (e) {
case '+':
return t + n;
case '-':
return t - n;
case '/':
return t / n;
case '%':
return t % n;
case '*':
return t * n;
case '**':
return Math.pow(t, n);
case '&':
return t & n;
case '|':
return t | n;
case '>>':
return t >> n;
case '>>>':
return t >>> n;
case '<<':
return t << n;
case '^':
return t ^ n;
case '==':
return t == n;
case '===':
return t === n;
case '!=':
return t != n;
case '!==':
return t !== n;
case 'in':
return t in n;
case 'instanceof':
return t instanceof n;
case '>':
return t > n;
case '<':
return t < n;
case '>=':
return t >= n;
case '<=':
return t <= n
}
}
},
{
}
],
384: [
function (e, t, n) {
'use strict';
n.__esModule = !0;
var r = e('babylon'),
i = e('babel-types'),
s = e('./binaryOperation');
function o(e, t) {
void 0 === t && (t = {
});
var n = !0;
var r = function e(r) {
if (n) {
if (i.isArrayExpression(r)) {
for (var o = [
], u = 0; n && u < r.elements.length; u++) {
var l = r.elements[u];
i.isSpreadElement(l) ? a(f = e(l.argument)) && n ? o.push.apply(o, f) : n = !1 : o.push(e(l))
}
return o
}
if (i.isBinaryExpression(r)) {
var c = e(r.left),
p = e(r.right);
return n && s.default(r.operator, c, p)
}
if (i.isBooleanLiteral(r)) return r.value;
if (i.isCallExpression(r)) {
var h = [
];
for (u = 0; n && u < r.arguments.length; u++) {
var f,
d = r.arguments[u];
i.isSpreadElement(d) ? a(f = e(d.argument)) && n ? h.push.apply(h, f) : n = !1 : h.push(e(d))
}
if (!n) return;
if (!i.isMemberExpression(r.callee)) {
var m = e(r.callee);
if (!n) return;
return m.apply(null, h)
}
if (!(g = e(r.callee.object)) || !n) return void (n = !1);
if (void 0 !== (y = r.callee.computed ? e(r.callee.property) : i.isIdentifier(r.callee.property) ? r.callee.property.name : void 0) || r.callee.computed || (n = !1), !n) return;
if (function (e, t) {
switch (typeof e) {
case 'boolean':
switch (t) {
case 'toString':
return !0;
default:
return !1
}
case 'number':
switch (t) {
case 'toExponential':
case 'toFixed':
case 'toPrecision':
case 'toString':
return !0;
default:
return !1
}
case 'string':
switch (t) {
case 'charAt':
case 'charCodeAt':
case 'codePointAt':
case 'concat':
case 'endsWith':
case 'includes':
case 'indexOf':
case 'lastIndexOf':
case 'match':
case 'normalize':
case 'padEnd':
case 'padStart':
case 'repeat':
case 'replace':
case 'search':
case 'slice':
case 'split':
case 'startsWith':
case 'substr':
case 'substring':
case 'toLowerCase':
case 'toUpperCase':
case 'trim':
return !0;
default:
return !1
}
default:
if (e instanceof RegExp) switch (t) {
case 'test':
case 'exec':
return !0;
default:
return !1
}
return {
}.hasOwnProperty.call(e, t) && '_' !== t[0]
}
}(g, '' + y)) return g[y].apply(g, h)
}
if (i.isConditionalExpression(r)) return e(e(r.test) ? r.consequent : r.alternate);
if (i.isIdentifier(r) && t.constants && {
}.hasOwnProperty.call(t.constants, r.name)) return t.constants[r.name];
if (i.isLogicalExpression(r)) {
if (c = e(r.left), p = e(r.right), n && '&&' === r.operator) return c && p;
if (n && '||' === r.operator) return c || p
}
if (i.isMemberExpression(r)) {
var g,
y;
if (!(g = e(r.object)) || !n) return void (n = !1);
if (void 0 !== (y = r.computed ? e(r.property) : i.isIdentifier(r.property) ? r.property.name : void 0) || r.computed || (n = !1), !n) return;
if ({
}.hasOwnProperty.call(g, '' + y) && '_' !== y[0]) return g[y]
}
if (i.isNullLiteral(r)) return null;
if (i.isNumericLiteral(r)) return r.value;
if (i.isObjectExpression(r)) {
var v = {
};
for (u = 0; n && u < r.properties.length; u++) {
var b = r.properties[u];
if (i.isObjectProperty(b)) {
if (b.shorthand) return void (n = !1);
var x = b.computed ? e(b.key) : i.isIdentifier(b.key) ? b.key.name : i.isStringLiteral(b.key) ? b.key.value : void 0;
if (x && '_' !== x[0] || (n = !1), !n) return;
var A = e(b.value);
if (!n) return;
v[x] = A
} else if (i.isObjectMethod(b)) n = !1;
else if (i.isSpreadProperty(b)) {
if ((_ = e(b.argument)) || (n = !1), !n) return;
Object.assign(v, _)
}
}
return v
}
if (i.isParenthesizedExpression(r)) return e(r.expression);
if (i.isRegExpLiteral(r)) return new RegExp(r.pattern, r.flags);
if (i.isSequenceExpression(r)) {
for (u = 0; u < r.expressions.length - 1 && n; u++) e(r.expressions[u]);
return e(r.expressions[r.expressions.length - 1])
}
if (i.isStringLiteral(r)) return r.value;
if (i.isTemplateLiteral(r)) {
var E = '';
for (u = 0; u < r.quasis.length; u++) E += r.quasis[u].value.cooked,
u < r.expressions.length && (E += '' + e(r.expressions[u]));
return E
}
if (i.isUnaryExpression(r)) {
var _ = e(r.argument);
if (!n) return;
switch (r.operator) {
case '-':
return - _;
case '+':
return + _;
case '!':
return !_;
case '~':
return ~_;
case 'typeof':
return typeof _;
case 'void':
return
}
}
n = !1
}
}(e);
return n ? {
constant: !0,
result: r
}
: {
constant: !1
}
}
function a(e) {
return 'string' == typeof e || Array.isArray(e) || 'undefined' != typeof Set && e instanceof Set || 'undefined' != typeof Map && e instanceof Map
}
function u(e, t) {
if (e === t) return !0;
if (e && t && 'object' == typeof e && 'object' == typeof t) {
for (var n in e) if (e[n] !== t[n]) return !1;
for (var n in t) if (e[n] !== t[n]) return !1;
return !0
}
return !1
}
n.expressionToConstant = o;
var l = {
},
c = '',
p = l,
h = l,
f = null,
d = !1;
function m(e, t, n) {
if (void 0 === t && (t = l), void 0 === n && (n = l), c === e && u(p, t) && u(h, n)) return d;
var i;
c = e,
p = t;
try {
i = r.parseExpression(e, n)
} catch (e) {
return d = !1
}
var s = o(i, {
constants: t
}),
a = s.result,
m = s.constant;
return f = a,
d = m
}
function g(e, t, n) {
if (void 0 === t && (t = l), void 0 === n && (n = l), !m(e, t, n)) throw new Error(JSON.stringify(e) + ' is not constant.');
return f
}
n.isConstant = m,
n.toConstant = g,
n.default = m,
t.exports = m,
t.exports.default = m,
t.exports.expressionToConstant = o,
t.exports.isConstant = m,
t.exports.toConstant = g
},
{
'./binaryOperation': 383,
'babel-types': 33,
babylon: 38
}
],
385: [
function (e, t, n) {
'use strict';
var r = e('doctypes'),
i = e('pug-error'),
s = e('pug-runtime/build'),
o = e('pug-runtime'),
a = e('pug-attrs'),
u = e('void-elements'),
l = e('constantinople'),
c = e('js-stringify'),
p = e('with'),
h = {
pre: !0,
textarea: !0
},
f = [
'pug',
'pug_mixins',
'pug_interp',
'pug_debug_filename',
'pug_debug_line',
'pug_debug_sources',
'pug_html'
];
function d(e, t) {
this.options = t = t || {
},
this.node = e,
this.bufferedConcatenationCount = 0,
this.hasCompiledDoctype = !1,
this.hasCompiledTag = !1,
this.pp = t.pretty || !1,
this.pp && 'string' != typeof this.pp && (this.pp = ' '),
this.debug = !1 !== t.compileDebug,
this.indents = 0,
this.parentIndents = 0,
this.terse = !1,
this.mixins = {
},
this.dynamicMixins = !1,
this.eachCount = 0,
t.doctype && this.setDoctype(t.doctype),
this.runtimeFunctionsUsed = [
],
this.inlineRuntimeFunctions = t.inlineRuntimeFunctions || !1,
this.debug && this.inlineRuntimeFunctions && this.runtimeFunctionsUsed.push('rethrow')
}
t.exports = function (e, t) {
return new d(e, t).compile()
},
t.exports.CodeGenerator = d,
d.prototype = {
runtime: function (e) {
return this.inlineRuntimeFunctions ? (this.runtimeFunctionsUsed.push(e), 'pug_' + e) : 'pug.' + e
},
error: function (e, t, n) {
throw i(t, e, {
line: n.line,
column: n.column,
filename: n.filename
})
},
compile: function () {
if (this.buf = [
], this.pp && this.buf.push('var pug_indent = [];'), this.lastBufferedIdx = - 1, this.visit(this.node), !this.dynamicMixins) for (var e = Object.keys(this.mixins), t = 0; t < e.length; t++) {
var n = this.mixins[e[t]];
if (!n.used) for (var r = 0; r < n.instances.length; r++) for (var i = n.instances[r].start; i < n.instances[r].end; i++) this.buf[i] = ''
}
var o = this.buf.join('\n'),
a = this.options.globals ? this.options.globals.concat(f) : f;
return o = this.options.self ? 'var self = locals || {};' + o : p('locals || {}', o, a.concat(this.runtimeFunctionsUsed.map(function (e) {
return 'pug_' + e
}))),
this.debug && (this.options.includeSources && (o = 'var pug_debug_sources = ' + c(this.options.includeSources) + ';\n' + o), o = 'var pug_debug_filename, pug_debug_line;try {' + o + '} catch (err) {' + (this.inlineRuntimeFunctions ? 'pug_rethrow' : 'pug.rethrow') + '(err, pug_debug_filename, pug_debug_line' + (this.options.includeSources ? ', pug_debug_sources[pug_debug_filename]' : '') + ');}'),
s(this.runtimeFunctionsUsed) + 'function ' + (this.options.templateName || 'template') + '(locals) {var pug_html = "", pug_mixins = {}, pug_interp;' + o + ';return pug_html;}'
},
setDoctype: function (e) {
this.doctype = r[e.toLowerCase()] || '',
this.terse = '' == this.doctype.toLowerCase(),
this.xml = 0 == this.doctype.indexOf(' 1 && !t && 'Text' === e.nodes[0].type && 'Text' === e.nodes[1].type && this.prettyIndent(1, !0);
for (var r = 0; r < e.nodes.length; ++r) n && r > 0 && !t && 'Text' === e.nodes[r].type && 'Text' === e.nodes[r - 1].type && /\n$/.test(e.nodes[r - 1].val) && this.prettyIndent(1, !1),
this.visit(e.nodes[r], e)
},
visitMixinBlock: function (e) {
this.pp && this.buf.push('pug_indent.push(\'' + Array(this.indents + 1).join(this.pp) + '\');'),
this.buf.push('block && block();'),
this.pp && this.buf.push('pug_indent.pop();')
},
visitDoctype: function (e) {
!e || !e.val && this.doctype || this.setDoctype(e.val || 'html'),
this.doctype && this.buffer(this.doctype),
this.hasCompiledDoctype = !0
},
visitMixin: function (e) {
var t = 'pug_mixins[',
n = e.args || '',
r = e.block,
i = e.attrs,
s = this.attributeBlocks(e.attributeBlocks),
o = this.pp,
a = '#' === e.name[0],
u = e.name;
if (a && (this.dynamicMixins = !0), t += (a ? e.name.substr(2, e.name.length - 3) : '"' + e.name + '"') + ']', this.mixins[u] = this.mixins[u] || {
used: !1,
instances: [
]
}, e.call) {
if (this.mixins[u].used = !0, o && this.buf.push('pug_indent.push(\'' + Array(this.indents + 1).join(o) + '\');'), r || i.length || s.length) {
if (this.buf.push(t + '.call({'), r) {
this.buf.push('block: function(){'),
this.parentIndents++;
var l = this.indents;
this.indents = 0,
this.visit(e.block, e),
this.indents = l,
this.parentIndents--,
i.length || s.length ? this.buf.push('},') : this.buf.push('}')
}
if (s.length) {
if (i.length) {
var c = this.attrs(i);
s.unshift(c)
}
s.length > 1 ? this.buf.push('attributes: ' + this.runtime('merge') + '([' + s.join(',') + '])') : this.buf.push('attributes: ' + s[0])
} else if (i.length) {
c = this.attrs(i);
this.buf.push('attributes: ' + c)
}
n ? this.buf.push('}, ' + n + ');') : this.buf.push('});')
} else this.buf.push(t + '(' + n + ');');
o && this.buf.push('pug_indent.pop();')
} else {
var p,
h = this.buf.length;
(n = n ? n.split(',') : [
]).length && /^\.\.\./.test(n[n.length - 1].trim()) && (p = n.pop().trim().replace(/^\.\.\./, '')),
this.buf.push(t + ' = pug_interp = function(' + n.join(',') + '){'),
this.buf.push('var block = (this && this.block), attributes = (this && this.attributes) || {};'),
p && (this.buf.push('var ' + p + ' = [];'), this.buf.push('for (pug_interp = ' + n.length + '; pug_interp < arguments.length; pug_interp++) {'), this.buf.push(' ' + p + '.push(arguments[pug_interp]);'), this.buf.push('}')),
this.parentIndents++,
this.visit(r, e),
this.parentIndents--,
this.buf.push('};');
var f = this.buf.length;
this.mixins[u].instances.push({
start: h,
end: f
})
}
},
visitTag: function (e, t) {
this.indents++;
var n = e.name,
r = this.pp,
i = this;
function s() {
t ? i.bufferExpression(e.expr) : i.buffer(n)
}
!0 === h[e.name] && (this.escapePrettyMode = !0),
this.hasCompiledTag || (this.hasCompiledDoctype || 'html' != n || this.visitDoctype(), this.hasCompiledTag = !0),
r && !e.isInline && this.prettyIndent(0, !0),
e.selfClosing || !this.xml && u[e.name] ? (this.buffer('<'), s(), this.visitAttributes(e.attrs, this.attributeBlocks(e.attributeBlocks)), this.terse && !e.selfClosing ? this.buffer('>') : this.buffer('/>'), (e.code || e.block && ('Block' !== e.block.type || 0 !== e.block.nodes.length) && e.block.nodes.some(function (e) {
return 'Text' !== e.type || !/^\s*$/.test(e.val)
})) && this.error(n + ' is a self closing element: <' + n + '/> but contains nested content.', 'SELF_CLOSING_CONTENT', e)) : (this.buffer('<'), s(), this.visitAttributes(e.attrs, this.attributeBlocks(e.attributeBlocks)), this.buffer('>'), e.code && this.visitCode(e.code), this.visit(e.block, e), !r || e.isInline || !0 === h[e.name] || function (e) {
return e.block.nodes.every(function e(t) {
if ('Block' === t.type) return t.nodes.every(e);
if ('YieldBlock' === t.type) return !0;
return 'Text' === t.type && !/\n/.test(t.val) || t.isInline
})
}(e) || this.prettyIndent(0, !0), this.buffer(''), s(), this.buffer('>')),
!0 === h[e.name] && (this.escapePrettyMode = !1),
this.indents--
},
visitInterpolatedTag: function (e) {
return this.visitTag(e, !0)
},
visitText: function (e) {
this.buffer(e.val)
},
visitComment: function (e) {
e.buffer && (this.pp && this.prettyIndent(1, !0), this.buffer(''))
},
visitYieldBlock: function (e) {
},
visitBlockComment: function (e) {
e.buffer && (this.pp && this.prettyIndent(1, !0), this.buffer(''))
},
visitCode: function (e) {
if (e.buffer) {
var t = e.val.trim();
t = 'null == (pug_interp = ' + t + ') ? "" : pug_interp',
!1 !== e.mustEscape && (t = this.runtime('escape') + '(' + t + ')'),
this.bufferExpression(t)
} else this.buf.push(e.val);
e.block && (e.buffer || this.buf.push('{'), this.visit(e.block, e), e.buffer || this.buf.push('}'))
},
visitConditional: function (e) {
var t = e.test;
this.buf.push('if (' + t + ') {'),
this.visit(e.consequent, e),
this.buf.push('}'),
e.alternate && ('Conditional' === e.alternate.type ? (this.buf.push('else'), this.visitConditional(e.alternate)) : (this.buf.push('else {'), this.visit(e.alternate, e), this.buf.push('}')))
},
visitWhile: function (e) {
var t = e.test;
this.buf.push('while (' + t + ') {'),
this.visit(e.block, e),
this.buf.push('}')
},
visitEach: function (e) {
var t = e.key || 'pug_index' + this.eachCount;
this.eachCount++,
this.buf.push('// iterate ' + e.obj + '\n;(function(){\n var $$obj = ' + e.obj + ';\n if (\'number\' == typeof $$obj.length) {'),
e.alternate && this.buf.push(' if ($$obj.length) {'),
this.buf.push(' for (var ' + t + ' = 0, $$l = $$obj.length; ' + t + ' < $$l; ' + t + '++) {\n var ' + e.val + ' = $$obj[' + t + '];'),
this.visit(e.block, e),
this.buf.push(' }'),
e.alternate && (this.buf.push(' } else {'), this.visit(e.alternate, e), this.buf.push(' }')),
this.buf.push(' } else {\n var $$l = 0;\n for (var ' + t + ' in $$obj) {\n $$l++;\n var ' + e.val + ' = $$obj[' + t + '];'),
this.visit(e.block, e),
this.buf.push(' }'),
e.alternate && (this.buf.push(' if ($$l === 0) {'), this.visit(e.alternate, e), this.buf.push(' }')),
this.buf.push(' }\n}).call(this);\n')
},
visitAttributes: function (e, t) {
if (t.length) {
if (e.length) {
var n = this.attrs(e);
t.unshift(n)
}
t.length > 1 ? this.bufferExpression(this.runtime('attrs') + '(' + this.runtime('merge') + '([' + t.join(',') + ']), ' + c(this.terse) + ')') : this.bufferExpression(this.runtime('attrs') + '(' + t[0] + ', ' + c(this.terse) + ')')
} else e.length && this.attrs(e, !0)
},
attrs: function (e, t) {
var n = a(e, {
terse: this.terse,
format: t ? 'html' : 'object',
runtime: this.runtime.bind(this)
});
return t && this.bufferExpression(n),
n
},
attributeBlocks: function (e) {
return e && e.slice().map(function (e) {
return e.val
})
}
}
},
{
constantinople: 387,
doctypes: 228,
'js-stringify': 242,
'pug-attrs': 382,
'pug-error': 388,
'pug-runtime': 400,
'pug-runtime/build': 399,
'void-elements': 429,
with : 430
}
],
386: [
function (e, t, n) {
arguments[4][383][0].apply(n, arguments)
},
{
dup: 383
}
],
387: [
function (e, t, n) {
arguments[4][384][0].apply(n, arguments)
},
{
'./binaryOperation': 386,
'babel-types': 33,
babylon: 38,
dup: 384
}
],
388: [
function (e, t, n) {
'use strict';
t.exports = function (e, t, n) {
var r,
i = n.line,
s = n.column,
o = n.filename,
a = n.src,
u = i + (s ? ':' + s : '');
if (a && i >= 1 && i <= a.split('\n').length) {
var l = a.split('\n'),
c = Math.max(i - 3, 0),
p = Math.min(l.length, i + 3),
h = l.slice(c, p).map(function (e, t) {
var n = t + c + 1,
r = (n == i ? ' > ' : ' ') + n + '| ',
o = r + e;
return n === i && s > 0 && (o += '\n', o += Array(r.length + s).join('-') + '^'),
o
}).join('\n');
r = (o || 'Pug') + ':' + u + '\n' + h + '\n\n' + t
} else r = (o || 'Pug') + ':' + u + '\n\n' + t;
var f = new Error(r);
return f.code = 'PUG:' + e,
f.msg = t,
f.line = i,
f.column = s,
f.filename = o,
f.src = a,
f.toJSON = function () {
return {
code: this.code,
msg: this.msg,
line: this.line,
column: this.column,
filename: this.filename
}
},
f
}
},
{
}
],
389: [
function (e, t, n) {
'use strict';
n.runFilter = e('./lib/run-filter'),
n.handleFilters = e('./lib/handle-filters')
},
{
'./lib/handle-filters': 390,
'./lib/run-filter': 391
}
],
390: [
function (e, t, n) {
'use strict';
var r = e('path').dirname,
i = e('constantinople'),
s = e('pug-walk'),
o = e('pug-error'),
a = e('./run-filter');
function u(e, t, n, i) {
function c(e) {
var t = e.name;
if (i && i[t] && (t = i[t], i[t])) throw o('FILTER_ALISE_CHAIN', 'The filter "' + e.name + '" is an alias for "' + t + '", which is an alias for "' + i[t] + '". Pug does not support chains of filter aliases.', e);
return t
}
return n = n || {
},
s(e, function (e) {
var s = e.filename ? r(e.filename) : null;
if ('Filter' === e.type) {
!function (e, t, n, r) {
e.block.nodes[0] && 'Filter' === e.block.nodes[0].type && (e.block.nodes[0] = u(e.block, t, n, r).nodes[0])
}(e, t, n, i);
var p = function (e) {
return e.block.nodes.map(function (e) {
return e.val
}).join('')
}(e);
(h = l(e, n)).filename = e.filename,
e.type = 'Text',
e.val = g(e, p, h)
} else if ('RawInclude' === e.type && e.filters.length) {
var h,
f = e.filters.pop(),
d = (h = l(f, n)).filename = e.file.fullPath,
m = e.file.str;
e.type = 'Text',
e.val = function (e, n, r, i) {
var s = c(e);
return t && t[s] ? t[s](r, i) : g(e, n, i, 'renderFile')
}(f, d, m, h),
e.filters.slice().reverse().forEach(function (t) {
var r = l(t, n);
r.filename = d,
e.val = g(t, e.val, r)
}),
e.filters = void 0,
e.file = void 0
}
function g(e, n, r, i) {
try {
var u = c(e);
return t && t[u] ? t[u](n, r) : a(u, n, r, s, i)
} catch (t) {
if ('UNKNOWN_FILTER' === t.code) throw o(t.code, t.message, e);
throw t
}
}
}, {
includeDependencies: !0
}),
e
}
function l(e, t) {
var n = {
};
e.attrs.forEach(function (t) {
try {
n[t.name] = !0 === t.val || i.toConstant(t.val)
} catch (t) {
if (/not constant/.test(t.message)) throw o('FILTER_OPTION_NOT_CONSTANT', t.message + ' All filters are rendered compile-time so filter options must be constants.', e);
throw t
}
});
var r = t[e.name] || {
};
return Object.keys(r).forEach(function (e) {
n.hasOwnProperty(e) || (n[e] = r[e])
}),
n
}
t.exports = u
},
{
'./run-filter': 391,
constantinople: 393,
path: 372,
'pug-error': 388,
'pug-walk': 406
}
],
391: [
function (e, t, n) {
(function (n) {
'use strict';
var r = e('jstransformer'),
i = e('uglify-js'),
s = e('clean-css'),
o = e('resolve');
t.exports = function (t, a, u, l, c) {
var p;
c = c || 'render';
try {
try {
p = o.sync('jstransformer-' + t, {
basedir: l || n.cwd()
})
} catch (n) {
p = e.resolve('jstransformer-' + t)
}
} catch (e) {
var h = new Error('unknown filter ":' + t + '"');
throw h.code = 'UNKNOWN_FILTER',
h
}
var f = r(e(p)),
d = f[c](a, u, u).body;
if (u && u.minify) try {
switch (f.outputFormat) {
case 'js':
d = i.minify(d, {
fromString: !0
}).code;
break;
case 'css':
d = (new s).minify(d).styles
}
} catch (e) {
}
return d
}
}).call(this, e('_process'))
},
{
_process: 373,
'clean-css': 44,
jstransformer: 243,
resolve: 41,
'uglify-js': 423
}
],
392: [
function (e, t, n) {
arguments[4][383][0].apply(n, arguments)
},
{
dup: 383
}
],
393: [
function (e, t, n) {
arguments[4][384][0].apply(n, arguments)
},
{
'./binaryOperation': 392,
'babel-types': 33,
babylon: 38,
dup: 384
}
],
394: [
function (e, t, n) {
'use strict';
var r = e('assert'),
i = e('is-expression'),
s = e('character-parser'),
o = e('pug-error');
function a(e, t) {
if (t = t || {
}, 'string' != typeof e) throw new Error('Expected source code to be a string but got "' + typeof e + '"');
if ('object' != typeof t) throw new Error('Expected "options" to be an object but got "' + typeof t + '"');
e = e.replace(/^\uFEFF/, ''),
this.input = e.replace(/\r\n|\r/g, '\n'),
this.originalInput = this.input,
this.filename = t.filename,
this.interpolated = t.interpolated || !1,
this.lineno = t.startingLine || 1,
this.colno = t.startingColumn || 1,
this.plugins = t.plugins || [
],
this.indentStack = [
0
],
this.indentRe = null,
this.interpolationAllowed = !0,
this.whitespaceRe = /[ \n\t]/,
this.tokens = [
],
this.ended = !1
}
t.exports = function (e, t) {
var n = new a(e, t);
return JSON.parse(JSON.stringify(n.getTokens()))
},
t.exports.Lexer = a,
a.prototype = {
constructor: a,
error: function (e, t) {
throw o(e, t, {
line: this.lineno,
column: this.colno,
filename: this.filename,
src: this.originalInput
})
},
assert: function (e, t) {
e || this.error('ASSERT_FAILED', t)
},
isExpression: function (e) {
return i(e, {
throw : !0
})
},
assertExpression: function (e, t) {
try {
return this.callLexerFunction('isExpression', e),
!0
} catch (e) {
if (t) return !1;
if (!e.loc) throw e;
this.incrementLine(e.loc.line - 1),
this.incrementColumn(e.loc.column);
var n = 'Syntax Error: ' + e.message.replace(/ \([0-9]+:[0-9]+\)$/, '');
this.error('SYNTAX_ERROR', n)
}
},
assertNestingCorrect: function (e) {
s(e).isNesting() && this.error('INCORRECT_NESTING', 'Nesting must match on expression `' + e + '`')
},
tok: function (e, t) {
var n = {
type: e,
loc: {
start: {
line: this.lineno,
column: this.colno
},
filename: this.filename
}
};
return void 0 !== t && (n.val = t),
n
},
tokEnd: function (e) {
return e.loc.end = {
line: this.lineno,
column: this.colno
},
e
},
incrementLine: function (e) {
this.lineno += e,
e && (this.colno = 1)
},
incrementColumn: function (e) {
this.colno += e
},
consume: function (e) {
this.input = this.input.substr(e)
},
scan: function (e, t) {
var n;
if (n = e.exec(this.input)) {
var r = n[0].length,
i = n[1],
s = r - (i ? i.length : 0),
o = this.tok(t, i);
return this.consume(r),
this.incrementColumn(s),
o
}
},
scanEndOfLine: function (e, t) {
var n;
if (n = e.exec(this.input)) {
var r,
i,
s = 0;
(r = /^([ ]+)([^ ]*)/.exec(n[0])) && (s = r[1].length, this.incrementColumn(s));
var o = this.input.substr(n[0].length);
if (':' === o[0]) return this.input = o,
i = this.tok(t, n[1]),
this.incrementColumn(n[0].length - s),
i;
if (/^[ \t]*(\n|$)/.test(o)) return this.input = o.substr(/^[ \t]*/.exec(o) [0].length),
i = this.tok(t, n[1]),
this.incrementColumn(n[0].length - s),
i
}
},
bracketExpression: function (e) {
e = e || 0;
var t = this.input[e];
r('(' === t || '{' === t || '[' === t, 'The start character should be "(", "{" or "["');
var n,
i = s.BRACKETS[t];
try {
n = s.parseUntil(this.input, i, {
start: e + 1
})
} catch (t) {
if (void 0 !== t.index) {
for (var o = t.index, a = this.input.substr(e).indexOf('\n'), u = a + e, l = 0; o > u && - 1 !== a; ) this.incrementLine(1),
o -= u + 1,
l += u + 1,
a = u = this.input.substr(l).indexOf('\n');
this.incrementColumn(o)
}
throw 'CHARACTER_PARSER:END_OF_STRING_REACHED' === t.code ? this.error('NO_END_BRACKET', 'The end of the string reached with no closing bracket ' + i + ' found.') : 'CHARACTER_PARSER:MISMATCHED_BRACKET' === t.code && this.error('BRACKET_MISMATCH', t.message),
t
}
return n
},
scanIndentation: function () {
var e,
t;
return this.indentRe ? e = this.indentRe.exec(this.input) : ((e = (t = /^\n(\t*) */).exec(this.input)) && !e[1].length && (e = (t = /^\n( *)/).exec(this.input)), e && e[1].length && (this.indentRe = t)),
e
},
eos: function () {
if (!this.input.length) {
this.interpolated && this.error('NO_END_BRACKET', 'End of line was reached with no closing bracket for interpolation.');
for (var e = 0; this.indentStack[e]; e++) this.tokens.push(this.tokEnd(this.tok('outdent')));
return this.tokens.push(this.tokEnd(this.tok('eos'))),
this.ended = !0,
!0
}
},
blank: function () {
var e;
if (e = /^\n[ \t]*\n/.exec(this.input)) return this.consume(e[0].length - 1),
this.incrementLine(1),
!0
},
comment: function () {
var e;
if (e = /^\/\/(-)?([^\n]*)/.exec(this.input)) {
this.consume(e[0].length);
var t = this.tok('comment', e[2]);
return t.buffer = '-' != e[1],
this.interpolationAllowed = t.buffer,
this.tokens.push(t),
this.incrementColumn(e[0].length),
this.tokEnd(t),
this.callLexerFunction('pipelessText'),
!0
}
},
interpolation: function () {
if (/^#\{/.test(this.input)) {
var e = this.bracketExpression(1);
this.consume(e.end + 1);
var t = this.tok('interpolation', e.src);
this.tokens.push(t),
this.incrementColumn(2),
this.assertExpression(e.src);
var n = e.src.split('\n'),
r = n.length - 1;
return this.incrementLine(r),
this.incrementColumn(n[r].length + 1),
this.tokEnd(t),
!0
}
},
tag: function () {
var e;
if (e = /^(\w(?:[-:\w]*\w)?)/.exec(this.input)) {
var t,
n = e[1],
r = e[0].length;
return this.consume(r),
t = this.tok('tag', n),
this.tokens.push(t),
this.incrementColumn(r),
this.tokEnd(t),
!0
}
},
filter: function (e) {
var t = this.scan(/^:([\w\-]+)/, 'filter'),
n = e && e.inInclude;
if (t) return this.tokens.push(t),
this.incrementColumn(t.val.length),
this.tokEnd(t),
this.callLexerFunction('attrs'),
n || (this.interpolationAllowed = !1, this.callLexerFunction('pipelessText')),
!0
},
doctype: function () {
var e = this.scanEndOfLine(/^doctype *([^\n]*)/, 'doctype');
if (e) return this.tokens.push(this.tokEnd(e)),
!0
},
id: function () {
var e = this.scan(/^#([\w-]+)/, 'id');
if (e) return this.tokens.push(e),
this.incrementColumn(e.val.length),
this.tokEnd(e),
!0;
/^#/.test(this.input) && this.error('INVALID_ID', '"' + /.[^ \t\(\#\.\:]*/.exec(this.input.substr(1)) [0] + '" is not a valid ID.')
},
className: function () {
var e = this.scan(/^\.([_a-z0-9\-]*[_a-z][_a-z0-9\-]*)/i, 'class');
if (e) return this.tokens.push(e),
this.incrementColumn(e.val.length),
this.tokEnd(e),
!0;
/^\.[_a-z0-9\-]+/i.test(this.input) && this.error('INVALID_CLASS_NAME', 'Class names must contain at least one letter or underscore.'),
/^\./.test(this.input) && this.error('INVALID_CLASS_NAME', '"' + /.[^ \t\(\#\.\:]*/.exec(this.input.substr(1)) [0] + '" is not a valid class name. Class names can only contain "_", "-", a-z and 0-9, and must contain at least one of "_", or a-z')
},
endInterpolation: function () {
if (this.interpolated && ']' === this.input[0]) return this.input = this.input.substr(1),
this.ended = !0,
!0
},
addText: function (e, t, n, r) {
var i;
if (t + n !== '') {
n = n || '',
r = r || 0;
var o = this.interpolated ? t.indexOf(']') : - 1,
a = this.interpolationAllowed ? t.indexOf('#[') : - 1,
u = this.interpolationAllowed ? t.indexOf('\\#[') : - 1,
l = /(\\)?([#!]){((?:.|\n)*)$/.exec(t),
c = this.interpolationAllowed && l ? l.index : 1 / 0;
if ( - 1 === o && (o = 1 / 0), - 1 === a && (a = 1 / 0), - 1 === u && (u = 1 / 0), u !== 1 / 0 && u < o && u < a && u < c) return n = n + t.substring(0, u) + '#[',
this.addText(e, t.substring(u + 3), n, r + 1);
if (a !== 1 / 0 && a < o && a < u && a < c) {
i = this.tok(e, n + t.substring(0, a)),
this.incrementColumn(n.length + a + r),
this.tokens.push(this.tokEnd(i)),
i = this.tok('start-pug-interpolation'),
this.incrementColumn(2),
this.tokens.push(this.tokEnd(i));
var p,
h = new this.constructor(t.substr(a + 2), {
filename: this.filename,
interpolated: !0,
startingLine: this.lineno,
startingColumn: this.colno
});
try {
p = h.getTokens()
} catch (e) {
throw e.code && /^PUG:/.test(e.code) && (this.colno = e.column, this.error(e.code.substr(4), e.msg)),
e
}
return this.colno = h.colno,
this.tokens = this.tokens.concat(p),
i = this.tok('end-pug-interpolation'),
this.incrementColumn(1),
this.tokens.push(this.tokEnd(i)),
void this.addText(e, h.input)
}
if (o !== 1 / 0 && o < a && o < u && o < c) return n + t.substring(0, o) && this.addText(e, t.substring(0, o), n),
this.ended = !0,
void (this.input = t.substr(t.indexOf(']') + 1) + this.input);
if (c !== 1 / 0) {
if (l[1]) return n = n + t.substring(0, c) + '#{',
this.addText(e, t.substring(c + 3), n, r + 1);
var f = t.substr(0, c);
(n || f) && (f = n + f, i = this.tok(e, f), this.incrementColumn(f.length + r), this.tokens.push(this.tokEnd(i)));
var d,
m = l[3];
i = this.tok('interpolated-code'),
this.incrementColumn(2);
try {
d = s.parseUntil(m, '}')
} catch (e) {
if (void 0 !== e.index && this.incrementColumn(e.index), 'CHARACTER_PARSER:END_OF_STRING_REACHED' === e.code) this.error('NO_END_BRACKET', 'End of line was reached with no closing bracket for interpolation.');
else {
if ('CHARACTER_PARSER:MISMATCHED_BRACKET' !== e.code) throw e;
this.error('BRACKET_MISMATCH', e.message)
}
}
return i.mustEscape = '#' === l[2],
i.buffer = !0,
i.val = d.src,
this.assertExpression(d.src),
void (d.end + 1 < m.length ? (m = m.substr(d.end + 1), this.incrementColumn(d.end + 1), this.tokens.push(this.tokEnd(i)), this.addText(e, m)) : (this.incrementColumn(m.length), this.tokens.push(this.tokEnd(i))))
}
t = n + t,
i = this.tok(e, t),
this.incrementColumn(t.length + r),
this.tokens.push(this.tokEnd(i))
}
},
text: function () {
var e = this.scan(/^(?:\| ?| )([^\n]+)/, 'text') || this.scan(/^( )/, 'text') || this.scan(/^\|( ?)/, 'text');
if (e) return this.addText('text', e.val),
!0
},
textHtml: function () {
var e = this.scan(/^(<[^\n]*)/, 'text-html');
if (e) return this.addText('text-html', e.val),
!0
},
dot: function () {
var e;
if (e = this.scanEndOfLine(/^\./, 'dot')) return this.tokens.push(this.tokEnd(e)),
this.callLexerFunction('pipelessText'),
!0
},
extends : function () {
var e = this.scan(/^extends?(?= |$|\n)/, 'extends');
if (e) return this.tokens.push(this.tokEnd(e)),
this.callLexerFunction('path') || this.error('NO_EXTENDS_PATH', 'missing path for extends'),
!0;
this.scan(/^extends?\b/) && this.error('MALFORMED_EXTENDS', 'malformed extends')
},
prepend: function () {
var e;
if (e = /^(?:block +)?prepend +([^\n]+)/.exec(this.input)) {
var t = e[1].trim(),
n = '';
if ( - 1 !== t.indexOf('//') && (n = '//' + t.split('//').slice(1).join('//'), t = t.split('//') [0].trim()), !t) return;
for (var r = this.tok('block', t), i = e[0].length - n.length; this.whitespaceRe.test(this.input.charAt(i - 1)); ) i--;
return this.incrementColumn(i),
r.mode = 'prepend',
this.tokens.push(this.tokEnd(r)),
this.consume(e[0].length - n.length),
this.incrementColumn(e[0].length - n.length - i),
!0
}
},
append: function () {
var e;
if (e = /^(?:block +)?append +([^\n]+)/.exec(this.input)) {
var t = e[1].trim(),
n = '';
if ( - 1 !== t.indexOf('//') && (n = '//' + t.split('//').slice(1).join('//'), t = t.split('//') [0].trim()), !t) return;
for (var r = this.tok('block', t), i = e[0].length - n.length; this.whitespaceRe.test(this.input.charAt(i - 1)); ) i--;
return this.incrementColumn(i),
r.mode = 'append',
this.tokens.push(this.tokEnd(r)),
this.consume(e[0].length - n.length),
this.incrementColumn(e[0].length - n.length - i),
!0
}
},
block: function () {
var e;
if (e = /^block +([^\n]+)/.exec(this.input)) {
var t = e[1].trim(),
n = '';
if ( - 1 !== t.indexOf('//') && (n = '//' + t.split('//').slice(1).join('//'), t = t.split('//') [0].trim()), !t) return;
for (var r = this.tok('block', t), i = e[0].length - n.length; this.whitespaceRe.test(this.input.charAt(i - 1)); ) i--;
return this.incrementColumn(i),
r.mode = 'replace',
this.tokens.push(this.tokEnd(r)),
this.consume(e[0].length - n.length),
this.incrementColumn(e[0].length - n.length - i),
!0
}
},
mixinBlock: function () {
var e;
if (e = this.scanEndOfLine(/^block/, 'mixin-block')) return this.tokens.push(this.tokEnd(e)),
!0
},
yield: function () {
var e = this.scanEndOfLine(/^yield/, 'yield');
if (e) return this.tokens.push(this.tokEnd(e)),
!0
},
include: function () {
var e = this.scan(/^include(?=:| |$|\n)/, 'include');
if (e) {
for (this.tokens.push(this.tokEnd(e)); this.callLexerFunction('filter', {
inInclude: !0
}); );
return this.callLexerFunction('path') || (/^[^ \n]+/.test(this.input) ? this.fail() : this.error('NO_INCLUDE_PATH', 'missing path for include')),
!0
}
this.scan(/^include\b/) && this.error('MALFORMED_INCLUDE', 'malformed include')
},
path: function () {
var e = this.scanEndOfLine(/^ ([^\n]+)/, 'path');
if (e && (e.val = e.val.trim())) return this.tokens.push(this.tokEnd(e)),
!0
},
case :
function () {
var e = this.scanEndOfLine(/^case +([^\n]+)/, 'case');
if (e) return this.incrementColumn( - e.val.length),
this.assertExpression(e.val),
this.incrementColumn(e.val.length),
this.tokens.push(this.tokEnd(e)),
!0;
this.scan(/^case\b/) && this.error('NO_CASE_EXPRESSION', 'missing expression for case')
},
when: function () {
var e = this.scanEndOfLine(/^when +([^:\n]+)/, 'when');
if (e) {
for (var t = s(e.val); t.isNesting() || t.isString(); ) {
var n = /:([^:\n]+)/.exec(this.input);
if (!n) break;
e.val += n[0],
this.consume(n[0].length),
this.incrementColumn(n[0].length),
t = s(e.val)
}
return this.incrementColumn( - e.val.length),
this.assertExpression(e.val),
this.incrementColumn(e.val.length),
this.tokens.push(this.tokEnd(e)),
!0
}
this.scan(/^when\b/) && this.error('NO_WHEN_EXPRESSION', 'missing expression for when')
},
default:
function () {
var e = this.scanEndOfLine(/^default/, 'default');
if (e) return this.tokens.push(this.tokEnd(e)),
!0;
this.scan(/^default\b/) && this.error('DEFAULT_WITH_EXPRESSION', 'default should not have an expression')
},
call: function () {
var e,
t,
n;
if (t = /^\+(\s*)(([-\w]+)|(#\{))/.exec(this.input)) {
if (t[3]) n = t[0].length,
this.consume(n),
e = this.tok('call', t[3]);
else {
var r = this.bracketExpression(2 + t[1].length);
n = r.end + 1,
this.consume(n),
this.assertExpression(r.src),
e = this.tok('call', '#{' + r.src + '}')
}
if (this.incrementColumn(n), e.args = null, t = /^ *\(/.exec(this.input)) {
var i = this.bracketExpression(t[0].length - 1);
if (!/^\s*[-\w]+ *=/.test(i.src)) {
this.incrementColumn(1),
this.consume(i.end + 1),
e.args = i.src,
this.assertExpression('[' + e.args + ']');
for (var s = 0; s <= e.args.length; s++) '\n' === e.args[s] ? this.incrementLine(1) : this.incrementColumn(1)
}
}
return this.tokens.push(this.tokEnd(e)),
!0
}
},
mixin: function () {
var e;
if (e = /^mixin +([-\w]+)(?: *\((.*)\))? */.exec(this.input)) {
this.consume(e[0].length);
var t = this.tok('mixin', e[1]);
return t.args = e[2] || null,
this.incrementColumn(e[0].length),
this.tokens.push(this.tokEnd(t)),
!0
}
},
conditional: function () {
var e;
if (e = /^(if|unless|else if|else)\b([^\n]*)/.exec(this.input)) {
this.consume(e[0].length);
var t = e[1].replace(/ /g, '-'),
n = e[2] && e[2].trim(),
r = this.tok(t, n);
switch (this.incrementColumn(e[0].length - n.length), t) {
case 'if':
case 'else-if':
this.assertExpression(n);
break;
case 'unless':
this.assertExpression(n),
r.val = '!(' + n + ')',
r.type = 'if';
break;
case 'else':
n && this.error('ELSE_CONDITION', '`else` cannot have a condition, perhaps you meant `else if`')
}
return this.incrementColumn(n.length),
this.tokens.push(this.tokEnd(r)),
!0
}
},
while : function () {
var e,
t;
if (e = /^while +([^\n]+)/.exec(this.input)) return this.consume(e[0].length),
this.assertExpression(e[1]),
t = this.tok('while', e[1]),
this.incrementColumn(e[0].length),
this.tokens.push(this.tokEnd(t)),
!0;
this.scan(/^while\b/) && this.error('NO_WHILE_EXPRESSION', 'missing expression for while')
},
each: function () {
var e;
if (e = /^(?:each|for) +([a-zA-Z_$][\w$]*)(?: *, *([a-zA-Z_$][\w$]*))? * in *([^\n]+)/.exec(this.input)) {
this.consume(e[0].length);
var t = this.tok('each', e[1]);
return t.key = e[2] || null,
this.incrementColumn(e[0].length - e[3].length),
this.assertExpression(e[3]),
t.code = e[3],
this.incrementColumn(e[3].length),
this.tokens.push(this.tokEnd(t)),
!0
}
this.scan(/^(?:each|for)\b/) && this.error('MALFORMED_EACH', 'malformed each'),
(e = /^- *(?:each|for) +([a-zA-Z_$][\w$]*)(?: *, *([a-zA-Z_$][\w$]*))? +in +([^\n]+)/.exec(this.input)) && this.error('MALFORMED_EACH', 'Pug each and for should no longer be prefixed with a dash ("-"). They are pug keywords and not part of JavaScript.')
},
code: function () {
var e;
if (e = /^(!?=|-)[ \t]*([^\n]+)/.exec(this.input)) {
var t = e[1],
n = e[2],
r = 0;
if (this.interpolated) {
var i;
try {
i = s.parseUntil(n, ']')
} catch (t) {
if (void 0 !== t.index && this.incrementColumn(e[0].length - n.length + t.index), 'CHARACTER_PARSER:END_OF_STRING_REACHED' === t.code) this.error('NO_END_BRACKET', 'End of line was reached with no closing bracket for interpolation.');
else {
if ('CHARACTER_PARSER:MISMATCHED_BRACKET' !== t.code) throw t;
this.error('BRACKET_MISMATCH', t.message)
}
}
r = n.length - i.end,
n = i.src
}
var o = e[0].length - r;
this.consume(o);
var a = this.tok('code', n);
return a.mustEscape = '=' === t.charAt(0),
a.buffer = '=' === t.charAt(0) || '=' === t.charAt(1),
this.incrementColumn(e[0].length - e[2].length),
a.buffer && this.assertExpression(n),
this.tokens.push(a),
this.incrementColumn(n.length),
this.tokEnd(a),
!0
}
},
blockCode: function () {
var e;
if (e = this.scanEndOfLine(/^-/, 'blockcode')) return this.tokens.push(this.tokEnd(e)),
this.interpolationAllowed = !1,
this.callLexerFunction('pipelessText'),
!0
},
attribute: function (e) {
var t,
n = '',
r = '';
for (t = 0; t < e.length && this.whitespaceRe.test(e[t]); t++) '\n' === e[t] ? this.incrementLine(1) : this.incrementColumn(1);
if (t === e.length) return '';
var i = this.tok('attribute');
for (/['"]/.test(e[t]) && (n = e[t], this.incrementColumn(1), t++); t < e.length; t++) {
if (n) {
if (e[t] === n) {
this.incrementColumn(1),
t++;
break
}
} else if (this.whitespaceRe.test(e[t]) || '!' === e[t] || '=' === e[t] || ',' === e[t]) break;
r += e[t],
'\n' === e[t] ? this.incrementLine(1) : this.incrementColumn(1)
}
i.name = r;
var s = this.attributeValue(e.substr(t));
for (s.val ? (i.val = s.val, i.mustEscape = s.mustEscape) : (i.val = !0, i.mustEscape = !0), e = s.remainingSource, this.tokens.push(this.tokEnd(i)), t = 0; t < e.length && this.whitespaceRe.test(e[t]); t++) '\n' === e[t] ? this.incrementLine(1) : this.incrementColumn(1);
return ',' === e[t] && (this.incrementColumn(1), t++),
e.substr(t)
},
attributeValue: function (e) {
var t,
n,
r,
i = /['"]/,
o = '',
a = !0,
u = s.defaultState(),
l = this.colno,
c = this.lineno;
for (n = 0; n < e.length && this.whitespaceRe.test(e[n]); n++) '\n' === e[n] ? (c++, l = 1) : l++;
if (n === e.length) return {
remainingSource: e
};
if ('!' === e[n] && (a = !1, l++, '=' !== e[++n] && this.error('INVALID_KEY_CHARACTER', 'Unexpected character ' + e[n] + ' expected `=`')), '=' !== e[n]) {
if (0 !== n || !e || this.whitespaceRe.test(e[0]) || ',' === e[0]) return {
remainingSource: e
};
this.error('INVALID_KEY_CHARACTER', 'Unexpected character ' + e[0] + ' expected `=`')
}
for (this.lineno = c, this.colno = l + 1, n++; n < e.length && this.whitespaceRe.test(e[n]); n++) '\n' === e[n] ? this.incrementLine(1) : this.incrementColumn(1);
for (c = this.lineno, l = this.colno; n < e.length; n++) {
if (!u.isNesting() && !u.isString()) {
if (this.whitespaceRe.test(e[n])) {
for (t = !1, r = n; r < e.length; r++) if (!this.whitespaceRe.test(e[r])) {
const n = !s.isPunctuator(e[r]),
a = i.test(e[r]),
u = ':' === e[r],
l = e[r] + e[r + 1] + e[r + 2] === '...';
(n || a || u || l) && this.assertExpression(o, !0) && (t = !0);
break
}
if (t || r === e.length) break
}
if (',' === e[n] && this.assertExpression(o, !0)) break
}
u = s.parseChar(e[n], u),
o += e[n],
'\n' === e[n] ? (c++, l = 1) : l++
}
return this.assertExpression(o),
this.lineno = c,
this.colno = l,
{
val: o,
mustEscape: a,
remainingSource: e.substr(n)
}
},
attrs: function () {
var e;
if ('(' == this.input.charAt(0)) {
e = this.tok('start-attributes');
var t = this.bracketExpression().end,
n = this.input.substr(1, t - 1);
for (this.incrementColumn(1), this.tokens.push(this.tokEnd(e)), this.assertNestingCorrect(n), this.consume(t + 1); n; ) n = this.attribute(n);
return e = this.tok('end-attributes'),
this.incrementColumn(1),
this.tokens.push(this.tokEnd(e)),
!0
}
},
attributesBlock: function () {
if (/^&attributes\b/.test(this.input)) {
var e = 11;
this.consume(e);
var t = this.tok('&attributes');
this.incrementColumn(e);
var n = this.bracketExpression();
return e = n.end + 1,
this.consume(e),
t.val = n.src,
this.incrementColumn(e),
this.tokens.push(this.tokEnd(t)),
!0
}
},
indent: function () {
var e,
t = this.scanIndentation();
if (t) {
var n = t[1].length;
if (this.incrementLine(1), this.consume(n + 1), ' ' != this.input[0] && '\t' != this.input[0] || this.error('INVALID_INDENTATION', 'Invalid indentation, you can use tabs or spaces but not both'), '\n' == this.input[0]) return this.interpolationAllowed = !0,
this.tokEnd(this.tok('newline'));
if (n < this.indentStack[0]) {
for (var r = 0; this.indentStack[0] > n; ) this.indentStack[1] < n && this.error('INCONSISTENT_INDENTATION', 'Inconsistent indentation. Expecting either ' + this.indentStack[1] + ' or ' + this.indentStack[0] + ' spaces/tabs.'),
r++,
this.indentStack.shift();
for (; r--; ) this.colno = 1,
e = this.tok('outdent'),
this.colno = this.indentStack[0] + 1,
this.tokens.push(this.tokEnd(e))
} else n && n != this.indentStack[0] ? (e = this.tok('indent', n), this.colno = 1 + n, this.tokens.push(this.tokEnd(e)), this.indentStack.unshift(n)) : (e = this.tok('newline'), this.colno = 1 + Math.min(this.indentStack[0] || 0, n), this.tokens.push(this.tokEnd(e)));
return this.interpolationAllowed = !0,
!0
}
},
pipelessText: function e(t) {
for (; this.callLexerFunction('blank'); );
var n = this.scanIndentation();
if ((t = t || n && n[1].length) > this.indentStack[0]) {
this.tokens.push(this.tokEnd(this.tok('start-pipeless-text')));
var r,
i = [
],
s = [
],
o = 0;
do {
var a = this.input.substr(o + 1).indexOf('\n');
- 1 == a && (a = this.input.length - o - 1);
var u = this.input.substr(o + 1, a),
l = this.indentRe.exec('\n' + u),
c = l && l[1].length;
if (r = c >= t, s.push(r), r = r || !u.trim()) o += u.length + 1,
i.push(u.substr(t));
else if (c > this.indentStack[0]) return this.tokens.pop(),
e.call(this, l[1].length)
} while (this.input.length - o && r);
for (this.consume(o); 0 === this.input.length && '' === i[i.length - 1]; ) i.pop();
return i.forEach(function (e, n) {
var r;
this.incrementLine(1),
0 !== n && (r = this.tok('newline')),
s[n] && this.incrementColumn(t),
r && this.tokens.push(this.tokEnd(r)),
this.addText('text', e)
}.bind(this)),
this.tokens.push(this.tokEnd(this.tok('end-pipeless-text'))),
!0
}
},
slash: function () {
var e = this.scan(/^\//, 'slash');
if (e) return this.tokens.push(this.tokEnd(e)),
!0
},
colon: function () {
var e = this.scan(/^: +/, ':');
if (e) return this.tokens.push(this.tokEnd(e)),
!0
},
fail: function () {
this.error('UNEXPECTED_TEXT', 'unexpected text "' + this.input.substr(0, 5) + '"')
},
callLexerFunction: function (e) {
for (var t = [
], n = 1; n < arguments.length; n++) t.push(arguments[n]);
var r = [
this
].concat(t);
for (n = 0; n < this.plugins.length; n++) {
var i = this.plugins[n];
if (i[e] && i[e].apply(i, r)) return !0
}
return this[e].apply(this, t)
},
advance: function () {
return this.callLexerFunction('blank') || this.callLexerFunction('eos') || this.callLexerFunction('endInterpolation') || this.callLexerFunction('yield') || this.callLexerFunction('doctype') || this.callLexerFunction('interpolation') || this.callLexerFunction('case') || this.callLexerFunction('when') || this.callLexerFunction('default') || this.callLexerFunction('extends') || this.callLexerFunction('append') || this.callLexerFunction('prepend') || this.callLexerFunction('block') || this.callLexerFunction('mixinBlock') || this.callLexerFunction('include') || this.callLexerFunction('mixin') || this.callLexerFunction('call') || this.callLexerFunction('conditional') || this.callLexerFunction('each') || this.callLexerFunction('while') || this.callLexerFunction('tag') || this.callLexerFunction('filter') || this.callLexerFunction('blockCode') || this.callLexerFunction('code') || this.callLexerFunction('id') || this.callLexerFunction('dot') || this.callLexerFunction('className') || this.callLexerFunction('attrs') || this.callLexerFunction('attributesBlock') || this.callLexerFunction('indent') || this.callLexerFunction('text') || this.callLexerFunction('textHtml') || this.callLexerFunction('comment') || this.callLexerFunction('slash') || this.callLexerFunction('colon') || this.fail()
},
getTokens: function () {
for (; !this.ended; ) this.callLexerFunction('advance');
return this.tokens
}
}
},
{
assert: 8,
'character-parser': 43,
'is-expression': 238,
'pug-error': 388
}
],
395: [
function (e, t, n) {
'use strict';
var r = e('assert'),
i = e('pug-walk');
function s() {
throw e('pug-error').apply(null, arguments)
}
function o(e) {
r('Block' === e.type, 'The top level element should always be a block');
var t = null;
if (e.nodes.length) {
var n = 'Extends' === e.nodes[0].type;
!function (e, t) {
var n = !1;
i(e, function (e) {
'Extends' === e.type && (t && !n ? n = !0 : s('EXTENDS_NOT_FIRST', 'Declaration of template inheritance ("extends") should be the first thing in the file. There can only be one extends statement per file.', e))
})
}(e, n),
n && (t = e.nodes.shift())
}
if ((e = function (e, t) {
return i(e, function (e, t) {
'RawInclude' === e.type && t({
type: 'Text',
val: e.file.str.replace(/\r/g, '')
})
}, function (e, t) {
if ('Include' === e.type) {
var n = o(e.file.ast);
n.hasExtends && (n = i(n, function (e, t) {
'NamedBlock' === e.type && t({
type: 'Block',
nodes: e.nodes
})
})),
t(function (e, t) {
if (!t || !t.nodes.length) return e;
var n = !1;
e = i(e, null, function (e, r) {
'YieldBlock' === e.type && (n = !0, e.type = 'Block', e.nodes = [
t
])
}),
n || function e(t) {
var n = t;
for (var r = 0; r < t.nodes.length; r++) t.nodes[r].textOnly || ('Block' === t.nodes[r].type ? n = e(t.nodes[r]) : t.nodes[r].block && t.nodes[r].block.nodes.length && (n = e(t.nodes[r].block)));
return n
}(e).nodes.push(t);
return e
}(n, e.block))
}
})
}(e)).declaredBlocks = function (e) {
var t = {
};
return i(e, function (e) {
'NamedBlock' === e.type && 'replace' === e.mode && (t[e.name] = t[e.name] || [
], t[e.name].push(e))
}),
t
}(e), t) {
var a = [
],
u = [
];
e.nodes.forEach(function e(t) {
'NamedBlock' === t.type ? u.push(t) : 'Block' === t.type ? t.nodes.forEach(e) : 'Mixin' === t.type && !1 === t.call ? a.push(t) : s('UNEXPECTED_NODES_IN_EXTENDING_ROOT', 'Only named blocks and mixins can appear at the top level of an extending template', t)
});
var l = o(t.file.ast);
!function (e, t) {
var n = {
};
i(t, function (t) {
if ('NamedBlock' === t.type) {
if (n[t.name] === t.name) return t.ignore = !0;
n[t.name] = t.name;
var r = e[t.name] ? function e(t, n) {
n = n || [
];
t.forEach(function (t) {
t.parents && e(t.parents, n),
n.push(t)
});
return n
}(e[t.name]) : [
];
r.length && (t.parents = r, r.forEach(function (e) {
switch (t.mode) {
case 'append':
e.nodes = e.nodes.concat(t.nodes);
break;
case 'prepend':
e.nodes = t.nodes.concat(e.nodes);
break;
case 'replace':
e.nodes = t.nodes
}
}))
}
}, function (e) {
'NamedBlock' !== e.type || e.ignore || delete n[e.name]
})
}(l.declaredBlocks, e);
var c = [
];
return i(l, function (e) {
'NamedBlock' === e.type && c.push(e.name)
}),
u.forEach(function (e) {
- 1 === c.indexOf(e.name) && s('UNEXPECTED_BLOCK', 'Unexpected block ' + e.name, e)
}),
Object.keys(e.declaredBlocks).forEach(function (t) {
l.declaredBlocks[t] = e.declaredBlocks[t]
}),
l.nodes = a.concat(l.nodes),
l.hasExtends = !0,
l
}
return e
}
t.exports = o
},
{
assert: 8,
'pug-error': 388,
'pug-walk': 406
}
],
396: [
function (e, t, n) {
'use strict';
var r = e('fs'),
i = e('path'),
s = e('pug-walk'),
o = e('object-assign');
function a(e, t) {
return t = u(t),
e = JSON.parse(JSON.stringify(e)),
s(e, function (e) {
if (void 0 === e.str && ('Include' === e.type || 'RawInclude' === e.type || 'Extends' === e.type)) {
var n,
r,
i = e.file;
if ('FileReference' !== i.type) throw new Error('Expected file.type to be "FileReference"');
try {
n = t.resolve(i.path, i.filename, t),
i.fullPath = n,
r = t.read(n, t)
} catch (t) {
throw t.message += '\n at ' + e.filename + ' line ' + e.line,
t
}
i.str = r,
'Extends' !== e.type && 'Include' !== e.type || (i.ast = a.string(r, o({
}, t, {
filename: n
})))
}
})
}
function u(e) {
return a.validateOptions(e),
o({
resolve: a.resolve,
read: a.read
}, e)
}
t.exports = a,
a.string = function (e, t) {
var n = (t = o(u(t), {
src: e
})).lex(e, t);
return a(t.parse(n, t), t)
},
a.file = function (e, t) {
var n = (t = o(u(t), {
filename: e
})).read(e);
return a.string(n, t)
},
a.resolve = function (e, t, n) {
if ('/' !== (e = e.trim()) [0] && !t) throw new Error('the "filename" option is required to use includes and extends with "relative" paths');
if ('/' === e[0] && !n.basedir) throw new Error('the "basedir" option is required to use includes and extends with "absolute" paths');
return e = i.join('/' === e[0] ? n.basedir : i.dirname(t.trim()), e)
},
a.read = function (e, t) {
return r.readFileSync(e, 'utf8')
},
a.validateOptions = function (e) {
if ('object' != typeof e) throw new TypeError('options must be an object');
if ('function' != typeof e.lex) throw new TypeError('options.lex must be a function');
if ('function' != typeof e.parse) throw new TypeError('options.parse must be a function');
if (e.resolve && 'function' != typeof e.resolve) throw new TypeError('options.resolve must be a function');
if (e.read && 'function' != typeof e.read) throw new TypeError('options.read must be a function')
}
},
{
fs: 41,
'object-assign': 370,
path: 372,
'pug-walk': 406
}
],
397: [
function (e, t, n) {
'use strict';
var r = e('assert'),
i = e('token-stream'),
s = e('pug-error'),
o = e('./lib/inline-tags');
function a(e, t) {
if (t = t || {
}, !Array.isArray(e)) throw new Error('Expected tokens to be an Array but got "' + typeof e + '"');
if ('object' != typeof t) throw new Error('Expected "options" to be an object but got "' + typeof t + '"');
this.tokens = new i(e),
this.filename = t.filename,
this.src = t.src,
this.inMixin = 0,
this.plugins = t.plugins || [
]
}
t.exports = function (e, t) {
var n = new a(e, t).parse();
return JSON.parse(JSON.stringify(n))
},
t.exports.Parser = a,
a.prototype = {
constructor: a,
error: function (e, t, n) {
throw s(e, t, {
line: n.loc.start.line,
column: n.loc.start.column,
filename: this.filename,
src: this.src
})
},
advance: function () {
return this.tokens.advance()
},
peek: function () {
return this.tokens.peek()
},
lookahead: function (e) {
return this.tokens.lookahead(e)
},
parse: function () {
for (var e = this.emptyBlock(0); 'eos' != this.peek().type; ) if ('newline' == this.peek().type) this.advance();
else if ('text-html' == this.peek().type) e.nodes = e.nodes.concat(this.parseTextHtml());
else {
var t = this.parseExpr();
t && ('Block' === t.type ? e.nodes = e.nodes.concat(t.nodes) : e.nodes.push(t))
}
return e
},
expect: function (e) {
if (this.peek().type === e) return this.advance();
this.error('INVALID_TOKEN', 'expected "' + e + '", but got "' + this.peek().type + '"', this.peek())
},
accept: function (e) {
if (this.peek().type === e) return this.advance()
},
initBlock: function (e, t) {
if ((0 | e) !== e) throw new Error('`line` is not an integer');
if (!Array.isArray(t)) throw new Error('`nodes` is not an array');
return {
type: 'Block',
nodes: t,
line: e,
filename: this.filename
}
},
emptyBlock: function (e) {
return this.initBlock(e, [
])
},
runPlugin: function (e, t) {
for (var n, r = [
this
], i = 2; i < arguments.length; i++) r.push(arguments[i]);
for (i = 0; i < this.plugins.length; i++) {
var s = this.plugins[i];
if (s[e] && s[e][t.type]) {
if (n) throw new Error('Multiple plugin handlers found for context ' + JSON.stringify(e) + ', token type ' + JSON.stringify(t.type));
n = s[e]
}
}
if (n) return n[t.type].apply(n, r)
},
parseExpr: function () {
switch (this.peek().type) {
case 'tag':
return this.parseTag();
case 'mixin':
return this.parseMixin();
case 'block':
return this.parseBlock();
case 'mixin-block':
return this.parseMixinBlock();
case 'case':
return this.parseCase();
case 'extends':
return this.parseExtends();
case 'include':
return this.parseInclude();
case 'doctype':
return this.parseDoctype();
case 'filter':
return this.parseFilter();
case 'comment':
return this.parseComment();
case 'text':
case 'interpolated-code':
case 'start-pug-interpolation':
return this.parseText({
block: !0
});
case 'text-html':
return this.initBlock(this.peek().loc.start.line, this.parseTextHtml());
case 'dot':
return this.parseDot();
case 'each':
return this.parseEach();
case 'code':
return this.parseCode();
case 'blockcode':
return this.parseBlockCode();
case 'if':
return this.parseConditional();
case 'while':
return this.parseWhile();
case 'call':
return this.parseCall();
case 'interpolation':
return this.parseInterpolation();
case 'yield':
return this.parseYield();
case 'id':
case 'class':
return this.peek().loc.start,
this.tokens.defer({
type: 'tag',
val: 'div',
loc: this.peek().loc,
filename: this.filename
}),
this.parseExpr();
default:
var e = this.runPlugin('expressionTokens', this.peek());
if (e) return e;
this.error('INVALID_TOKEN', 'unexpected token "' + this.peek().type + '"', this.peek())
}
},
parseDot: function () {
return this.advance(),
this.parseTextBlock()
},
parseText: function (e) {
var t = [
],
n = this.peek().loc.start.line,
r = this.peek();
e: for (; ; ) {
switch (r.type) {
case 'text':
var i = this.advance();
t.push({
type: 'Text',
val: i.val,
line: i.loc.start.line,
column: i.loc.start.column,
filename: this.filename
});
break;
case 'interpolated-code':
i = this.advance();
t.push({
type: 'Code',
val: i.val,
buffer: i.buffer,
mustEscape: !1 !== i.mustEscape,
isInline: !0,
line: i.loc.start.line,
column: i.loc.start.column,
filename: this.filename
});
break;
case 'newline':
if (!e || !e.block) break e;
i = this.advance();
var s = this.peek().type;
'text' !== s && 'interpolated-code' !== s || t.push({
type: 'Text',
val: '\n',
line: i.loc.start.line,
column: i.loc.start.column,
filename: this.filename
});
break;
case 'start-pug-interpolation':
this.advance(),
t.push(this.parseExpr()),
this.expect('end-pug-interpolation');
break;
default:
if (this.runPlugin('textTokens', r, t)) break;
break e
}
r = this.peek()
}
return 1 === t.length ? t[0] : this.initBlock(n, t)
},
parseTextHtml: function () {
var e = [
],
t = null;
e: for (; ; ) switch (this.peek().type) {
case 'text-html':
var n = this.advance();
t ? t.val += '\n' + n.val : (t = {
type: 'Text',
val: n.val,
filename: this.filename,
line: n.loc.start.line,
column: n.loc.start.column,
isHtml: !0
}, e.push(t));
break;
case 'indent':
this.block().nodes.forEach(function (n) {
n.isHtml ? t ? t.val += '\n' + n.val : (t = n, e.push(t)) : (t = null, e.push(n))
});
break;
case 'code':
t = null,
e.push(this.parseCode(!0));
break;
case 'newline':
this.advance();
break;
default:
break e
}
return e
},
parseBlockExpansion: function () {
var e = this.accept(':');
if (e) {
var t = this.parseExpr();
return 'Block' === t.type ? t : this.initBlock(e.loc.start.line, [
t
])
}
return this.block()
},
parseCase: function () {
var e = this.expect('case'),
t = {
type: 'Case',
expr: e.val,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
},
n = this.emptyBlock(e.loc.start.line + 1);
for (this.expect('indent'); 'outdent' != this.peek().type; ) switch (this.peek().type) {
case 'comment':
case 'newline':
this.advance();
break;
case 'when':
n.nodes.push(this.parseWhen());
break;
case 'default':
n.nodes.push(this.parseDefault());
break;
default:
if (this.runPlugin('caseTokens', this.peek(), n)) break;
this.error('INVALID_TOKEN', 'Unexpected token "' + this.peek().type + '", expected "when", "default" or "newline"', this.peek())
}
return this.expect('outdent'),
t.block = n,
t
},
parseWhen: function () {
var e = this.expect('when');
return 'newline' !== this.peek().type ? {
type: 'When',
expr: e.val,
block: this.parseBlockExpansion(),
debug: !1,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
: {
type: 'When',
expr: e.val,
debug: !1,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
},
parseDefault: function () {
var e = this.expect('default');
return {
type: 'When',
expr: 'default',
block: this.parseBlockExpansion(),
debug: !1,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
},
parseCode: function (e) {
var t = this.expect('code');
r('boolean' == typeof t.mustEscape, 'Please update to the newest version of pug-lexer.');
var n = {
type: 'Code',
val: t.val,
buffer: t.buffer,
mustEscape: !1 !== t.mustEscape,
isInline: !!e,
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
};
return n.val.match(/^ *else/) && (n.debug = !1),
e ? n : ('indent' == this.peek().type && (t.buffer && this.error('BLOCK_IN_BUFFERED_CODE', 'Buffered code cannot have a block attached to it', this.peek()), n.block = this.block()), n)
},
parseConditional: function () {
var e = this.expect('if'),
t = {
type: 'Conditional',
test: e.val,
consequent: this.emptyBlock(e.loc.start.line),
alternate: null,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
};
'indent' == this.peek().type && (t.consequent = this.block());
for (var n = t; ; ) if ('newline' === this.peek().type) this.expect('newline');
else {
if ('else-if' !== this.peek().type) {
if ('else' === this.peek().type) {
this.expect('else'),
'indent' === this.peek().type && (n.alternate = this.block());
break
}
break
}
e = this.expect('else-if'),
n = n.alternate = {
type: 'Conditional',
test: e.val,
consequent: this.emptyBlock(e.loc.start.line),
alternate: null,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
},
'indent' == this.peek().type && (n.consequent = this.block())
}
return t
},
parseWhile: function () {
var e = this.expect('while'),
t = {
type: 'While',
test: e.val,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
};
return 'indent' == this.peek().type ? t.block = this.block() : t.block = this.emptyBlock(e.loc.start.line),
t
},
parseBlockCode: function () {
var e = this.expect('blockcode'),
t = e.loc.start.line,
n = e.loc.start.column,
r = '';
if ('start-pipeless-text' === this.peek().type) {
for (this.advance(); 'end-pipeless-text' !== this.peek().type; ) switch ((e = this.advance()).type) {
case 'text':
r += e.val;
break;
case 'newline':
r += '\n';
break;
default:
var i = this.runPlugin('blockCodeTokens', e, e);
if (i) {
r += i;
break
}
this.error('INVALID_TOKEN', 'Unexpected token type: ' + e.type, e)
}
this.advance()
}
return {
type: 'Code',
val: r,
buffer: !1,
mustEscape: !1,
isInline: !1,
line: t,
column: n,
filename: this.filename
}
},
parseComment: function () {
var e,
t = this.expect('comment');
return (e = this.parseTextBlock()) ? {
type: 'BlockComment',
val: t.val,
block: e,
buffer: t.buffer,
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
}
: {
type: 'Comment',
val: t.val,
buffer: t.buffer,
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
}
},
parseDoctype: function () {
var e = this.expect('doctype');
return {
type: 'Doctype',
val: e.val,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
},
parseIncludeFilter: function () {
var e = this.expect('filter'),
t = [
];
return 'start-attributes' === this.peek().type && (t = this.attrs()),
{
type: 'IncludeFilter',
name: e.val,
attrs: t,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
},
parseFilter: function () {
var e,
t = this.expect('filter'),
n = [
];
if ('start-attributes' === this.peek().type && (n = this.attrs()), 'text' === this.peek().type) {
var r = this.advance();
e = this.initBlock(r.loc.start.line, [
{
type: 'Text',
val: r.val,
line: r.loc.start.line,
column: r.loc.start.column,
filename: this.filename
}
])
} else e = 'filter' === this.peek().type ? this.initBlock(t.loc.start.line, [
this.parseFilter()
]) : this.parseTextBlock() || this.emptyBlock(t.loc.start.line);
return {
type: 'Filter',
name: t.val,
block: e,
attrs: n,
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
}
},
parseEach: function () {
var e = this.expect('each'),
t = {
type: 'Each',
obj: e.code,
val: e.val,
key: e.key,
block: this.block(),
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
};
return 'else' == this.peek().type && (this.advance(), t.alternate = this.block()),
t
},
parseExtends: function () {
var e = this.expect('extends'),
t = this.expect('path');
return {
type: 'Extends',
file: {
type: 'FileReference',
path: t.val.trim(),
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
},
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
},
parseBlock: function () {
var e = this.expect('block'),
t = 'indent' == this.peek().type ? this.block() : this.emptyBlock(e.loc.start.line);
return t.type = 'NamedBlock',
t.name = e.val.trim(),
t.mode = e.mode,
t.line = e.loc.start.line,
t.column = e.loc.start.column,
t
},
parseMixinBlock: function () {
var e = this.expect('mixin-block');
return this.inMixin || this.error('BLOCK_OUTISDE_MIXIN', 'Anonymous blocks are not allowed unless they are part of a mixin.', e),
{
type: 'MixinBlock',
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
},
parseYield: function () {
var e = this.expect('yield');
return {
type: 'YieldBlock',
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}
},
parseInclude: function () {
for (var e = this.expect('include'), t = {
type: 'Include',
file: {
type: 'FileReference',
filename: this.filename
},
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
}, n = [
]; 'filter' === this.peek().type; ) n.push(this.parseIncludeFilter());
var r = this.expect('path');
return t.file.path = r.val.trim(),
t.file.line = r.loc.start.line,
t.file.column = r.loc.start.column,
!/\.jade$/.test(t.file.path) && !/\.pug$/.test(t.file.path) || n.length ? (t.type = 'RawInclude', t.filters = n, 'indent' === this.peek().type && this.error('RAW_INCLUDE_BLOCK', 'Raw inclusion cannot contain a block', this.peek())) : (t.block = 'indent' == this.peek().type ? this.block() : this.emptyBlock(e.loc.start.line), /\.jade$/.test(t.file.path) && console.warn(this.filename + ', line ' + e.loc.start.line + ':\nThe .jade extension is deprecated, use .pug for "' + t.file.path + '".')),
t
},
parseCall: function () {
var e = this.expect('call'),
t = {
type: 'Mixin',
name: e.val,
args: e.args,
block: this.emptyBlock(e.loc.start.line),
call: !0,
attrs: [
],
attributeBlocks: [
],
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
};
return this.tag(t),
t.code && (t.block.nodes.push(t.code), delete t.code),
0 === t.block.nodes.length && (t.block = null),
t
},
parseMixin: function () {
var e = this.expect('mixin'),
t = e.val,
n = e.args;
if ('indent' == this.peek().type) {
this.inMixin++;
var r = {
type: 'Mixin',
name: t,
args: n,
block: this.block(),
call: !1,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
};
return this.inMixin--,
r
}
this.error('MIXIN_WITHOUT_BODY', 'Mixin ' + t + ' declared without body', e)
},
parseTextBlock: function () {
if (t = this.accept('start-pipeless-text')) {
for (var e = this.emptyBlock(t.loc.start.line); 'end-pipeless-text' !== this.peek().type; ) {
var t;
switch ((t = this.advance()).type) {
case 'text':
e.nodes.push({
type: 'Text',
val: t.val,
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
});
break;
case 'newline':
e.nodes.push({
type: 'Text',
val: '\n',
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
});
break;
case 'start-pug-interpolation':
e.nodes.push(this.parseExpr()),
this.expect('end-pug-interpolation');
break;
case 'interpolated-code':
e.nodes.push({
type: 'Code',
val: t.val,
buffer: t.buffer,
mustEscape: !1 !== t.mustEscape,
isInline: !0,
line: t.loc.start.line,
column: t.loc.start.column,
filename: this.filename
});
break;
default:
if (this.runPlugin('textBlockTokens', t, e, t)) break;
this.error('INVALID_TOKEN', 'Unexpected token type: ' + t.type, t)
}
}
return this.advance(),
e
}
},
block: function () {
for (var e = this.expect('indent'), t = this.emptyBlock(e.loc.start.line); 'outdent' != this.peek().type; ) if ('newline' == this.peek().type) this.advance();
else if ('text-html' == this.peek().type) t.nodes = t.nodes.concat(this.parseTextHtml());
else {
var n = this.parseExpr();
'Block' === n.type ? t.nodes = t.nodes.concat(n.nodes) : t.nodes.push(n)
}
return this.expect('outdent'),
t
},
parseInterpolation: function () {
var e = this.advance(),
t = {
type: 'InterpolatedTag',
expr: e.val,
selfClosing: !1,
block: this.emptyBlock(e.loc.start.line),
attrs: [
],
attributeBlocks: [
],
isInline: !1,
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
};
return this.tag(t, {
selfClosingAllowed: !0
})
},
parseTag: function () {
var e = this.advance(),
t = {
type: 'Tag',
name: e.val,
selfClosing: !1,
block: this.emptyBlock(e.loc.start.line),
attrs: [
],
attributeBlocks: [
],
isInline: - 1 !== o.indexOf(e.val),
line: e.loc.start.line,
column: e.loc.start.column,
filename: this.filename
};
return this.tag(t, {
selfClosingAllowed: !0
})
},
tag: function (e, t) {
var n = !1,
r = [
],
i = t && t.selfClosingAllowed;
e: for (; ; ) switch (this.peek().type) {
case 'id':
case 'class':
'id' === (s = this.advance()).type && ( - 1 !== r.indexOf('id') && this.error('DUPLICATE_ID', 'Duplicate attribute "id" is not allowed.', s), r.push('id')),
e.attrs.push({
name: s.type,
val: '\'' + s.val + '\'',
line: s.loc.start.line,
column: s.loc.start.column,
filename: this.filename,
mustEscape: !1
});
continue;
case 'start-attributes':
n && console.warn(this.filename + ', line ' + this.peek().loc.start.line + ':\nYou should not have pug tags with multiple attributes.'),
n = !0,
e.attrs = e.attrs.concat(this.attrs(r));
continue;
case '&attributes':
var s = this.advance();
e.attributeBlocks.push({
type: 'AttributeBlock',
val: s.val,
line: s.loc.start.line,
column: s.loc.start.column,
filename: this.filename
});
break;
default:
if (this.runPlugin('tagAttributeTokens', this.peek(), e, r)) break;
break e
}
switch ('dot' == this.peek().type && (e.textOnly = !0, this.advance()), this.peek().type) {
case 'text':
case 'interpolated-code':
var o = this.parseText();
'Block' === o.type ? e.block.nodes.push.apply(e.block.nodes, o.nodes) : e.block.nodes.push(o);
break;
case 'code':
e.block.nodes.push(this.parseCode(!0));
break;
case ':':
this.advance();
var a = this.parseExpr();
e.block = 'Block' === a.type ? a : this.initBlock(e.line, [
a
]);
break;
case 'newline':
case 'indent':
case 'outdent':
case 'eos':
case 'start-pipeless-text':
case 'end-pug-interpolation':
break;
case 'slash':
if (i) {
this.advance(),
e.selfClosing = !0;
break
}
default:
if (this.runPlugin('tagTokens', this.peek(), e, t)) break;
this.error('INVALID_TOKEN', 'Unexpected token `' + this.peek().type + '` expected `text`, `interpolated-code`, `code`, `:`' + (i ? ', `slash`' : '') + ', `newline` or `eos`', this.peek())
}
for (; 'newline' == this.peek().type; ) this.advance();
if (e.textOnly) e.block = this.parseTextBlock() || this.emptyBlock(e.line);
else if ('indent' == this.peek().type) for (var u = this.block(), l = 0, c = u.nodes.length; l < c; ++l) e.block.nodes.push(u.nodes[l]);
return e
},
attrs: function (e) {
this.expect('start-attributes');
for (var t = [
], n = this.advance(); 'attribute' === n.type; ) 'class' !== n.name && e && ( - 1 !== e.indexOf(n.name) && this.error('DUPLICATE_ATTRIBUTE', 'Duplicate attribute "' + n.name + '" is not allowed.', n), e.push(n.name)),
t.push({
name: n.name,
val: n.val,
line: n.loc.start.line,
column: n.loc.start.column,
filename: this.filename,
mustEscape: !1 !== n.mustEscape
}),
n = this.advance();
return this.tokens.defer(n),
this.expect('end-attributes'),
t
}
}
},
{
'./lib/inline-tags': 398,
assert: 8,
'pug-error': 388,
'token-stream': 422
}
],
398: [
function (e, t, n) {
'use strict';
t.exports = [
'a',
'abbr',
'acronym',
'b',
'br',
'code',
'em',
'font',
'i',
'img',
'ins',
'kbd',
'map',
'samp',
'small',
'span',
'strong',
'sub',
'sup'
]
},
{
}
],
399: [
function (e, t, n) {
'use strict';
e('fs');
var r = e('./lib/dependencies.js'),
i = e('./lib/internals.js'),
s = e('./lib/sources.js');
t.exports = function (e) {
var t = [
];
e = e.filter(function (e) {
return !i[e]
});
for (var n = 0; n < e.length; n++) - 1 === t.indexOf(e[n]) && (t.push(e[n]), e.push.apply(e, r[e[n]]));
return t.sort().map(function (e) {
return s[e]
}).join('\n')
}
},
{
'./lib/dependencies.js': 401,
'./lib/internals.js': 402,
'./lib/sources.js': 403,
fs: 40
}
],
400: [
function (e, t, n) {
'use strict';
var r = Object.prototype.hasOwnProperty;
function i(e, t) {
return Array.isArray(e) ? function (e, t) {
for (var n, r = '', s = '', o = Array.isArray(t), a = 0; a < e.length; a++) (n = i(e[a])) && (o && t[a] && (n = u(n)), r = r + s + n, s = ' ');
return r
}(e, t) : e && 'object' == typeof e ? function (e) {
var t = '',
n = '';
for (var i in e) i && e[i] && r.call(e, i) && (t = t + n + i, n = ' ');
return t
}(e) : e || ''
}
function s(e) {
if (!e) return '';
if ('object' == typeof e) {
var t = '';
for (var n in e) r.call(e, n) && (t = t + n + ':' + e[n] + ';');
return t
}
return e + ''
}
function o(e, t, n, r) {
if (!1 === t || null == t || !t && ('class' === e || 'style' === e)) return '';
if (!0 === t) return ' ' + (r ? e : e + '="' + e + '"');
var i = typeof t;
return 'object' !== i && 'function' !== i || 'function' != typeof t.toJSON || (t = t.toJSON()),
'string' == typeof t || (t = JSON.stringify(t), n || - 1 === t.indexOf('"')) ? (n && (t = u(t)), ' ' + e + '="' + t + '"') : ' ' + e + '=\'' + t.replace(/'/g, ''') + '\''
}
n.merge = function e(t, n) {
if (1 === arguments.length) {
for (var r = t[0], i = 1; i < t.length; i++) r = e(r, t[i]);
return r
}
for (var o in n) if ('class' === o) {
var a = t[o] || [
];
t[o] = (Array.isArray(a) ? a : [
a
]).concat(n[o] || [
])
} else if ('style' === o) {
var a = s(t[o]);
a = a && ';' !== a[a.length - 1] ? a + ';' : a;
var u = s(n[o]);
u = u && ';' !== u[u.length - 1] ? u + ';' : u,
t[o] = a + u
} else t[o] = n[o];
return t
},
n.classes = i,
n.style = s,
n.attr = o,
n.attrs = function (e, t) {
var n = '';
for (var a in e) if (r.call(e, a)) {
var u = e[a];
if ('class' === a) {
u = i(u),
n = o(a, u, !1, t) + n;
continue
}
'style' === a && (u = s(u)),
n += o(a, u, !1, t)
}
return n
};
var a = /["&<>]/;
function u(e) {
var t = '' + e,
n = a.exec(t);
if (!n) return e;
var r,
i,
s,
o = '';
for (r = n.index, i = 0; r < t.length; r++) {
switch (t.charCodeAt(r)) {
case 34:
s = '"';
break;
case 38:
s = '&';
break;
case 60:
s = '<';
break;
case 62:
s = '>';
break;
default:
continue
}
i !== r && (o += t.substring(i, r)),
i = r + 1,
o += s
}
return i !== r ? o + t.substring(i, r) : o
}
n.escape = u,
n.rethrow = function t(n, r, i, s) {
if (!(n instanceof Error)) throw n;
if (!('undefined' == typeof window && r || s)) throw n.message += ' on line ' + i,
n;
try {
s = s || e('fs').readFileSync(r, 'utf8')
} catch (e) {
t(n, null, i)
}
var o = 3,
a = s.split('\n'),
u = Math.max(i - o, 0),
l = Math.min(a.length, i + o);
var o = a.slice(u, l).map(function (e, t) {
var n = t + u + 1;
return (n == i ? ' > ' : ' ') + n + '| ' + e
}).join('\n');
n.path = r;
n.message = (r || 'Pug') + ':' + i + '\n' + o + '\n\n' + n.message;
throw n
}
},
{
fs: 40
}
],
401: [
function (e, t, n) {
t.exports = {
has_own_property: [
],
merge: [
'style'
],
classes_array: [
'classes',
'escape'
],
classes_object: [
'has_own_property'
],
classes: [
'classes_array',
'classes_object'
],
style: [
'has_own_property'
],
attr: [
'escape'
],
attrs: [
'attr',
'classes',
'has_own_property',
'style'
],
match_html: [
],
escape: [
'match_html'
],
rethrow: [
]
}
},
{
}
],
402: [
function (e, t, n) {
t.exports = {
dependencies: !0,
internals: !0,
has_own_property: !0,
classes_array: !0,
classes_object: !0,
match_html: !0
}
},
{
}
],
403: [
function (e, t, n) {
t.exports = {
has_own_property: 'var pug_has_own_property=Object.prototype.hasOwnProperty;',
merge: 'function pug_merge(e,r){if(1===arguments.length){for(var t=e[0],g=1;g]/;',
escape: 'function pug_escape(e){var a=""+e,t=pug_match_html.exec(a);if(!t)return e;var r,c,n,s="";for(r=t.index,c=0;r ":" ")+t+"| "+n}).join("\\n");throw n.path=e,n.message=(e||"Pug")+":"+r+"\\n"+i+"\\n\\n"+n.message,n}'
}
},
{
}
],
404: [
function (e, t, n) {
var r = e('./');
t.exports = function (e, t) {
return t = t || 'template',
Function('pug', e + '\nreturn ' + t + ';') (r)
}
},
{
'./': 400
}
],
405: [
function (e, t, n) {
'use strict';
var r = e('pug-error');
function i(e, t, n, i) {
throw r('UNEXPECTED_TOKEN', '`' + e + '` encountered when ' + t, {
filename: n,
line: i
})
}
t.exports = function (e, t) {
var n = !1 !== (t = t || {
}).stripUnbuffered,
r = !0 === t.stripBuffered,
s = t.filename,
o = !1,
a = !1;
return e.filter(function (e) {
switch (e.type) {
case 'comment':
if (!o) return !(o = e.buffer ? r : n);
i('comment', 'already in a comment', s, e.line);
case 'start-pipeless-text':
return !o || (a && i('start-pipeless-text', 'already in pipeless text mode', s, e.line), a = !0, !1);
case 'end-pipeless-text':
return !o || (a || i('end-pipeless-text', 'not in pipeless text mode', s, e.line), a = !1, o = !1, !1);
case 'text':
return !o;
default:
return !a && (o = !1, !0)
}
})
}
},
{
'pug-error': 388
}
],
406: [
function (e, t, n) {
'use strict';
t.exports = function e(t, n, r, i) {
r && 'object' == typeof r && void 0 === i && (i = r, r = null);
i = i || {
includeDependencies: !1
};
var s = i.parents = i.parents || [
];
var o = function e(n) {
if (Array.isArray(n) && !e.arrayAllowed) throw new Error('replace() can only be called with an array if the last parent is a Block or NamedBlock');
t = n
};
o.arrayAllowed = s[0] && (/^(Named)?Block$/.test(s[0].type) || 'RawInclude' === s[0].type && 'IncludeFilter' === t.type);
if (n) {
var a = n(t, o);
if (!1 === a) return t;
if (Array.isArray(t)) return u(t)
}
s.unshift(t);
switch (t.type) {
case 'NamedBlock':
case 'Block':
t.nodes = u(t.nodes);
break;
case 'Case':
case 'Filter':
case 'Mixin':
case 'Tag':
case 'InterpolatedTag':
case 'When':
case 'Code':
case 'While':
t.block && (t.block = e(t.block, n, r, i));
break;
case 'Each':
t.block && (t.block = e(t.block, n, r, i)),
t.alternate && (t.alternate = e(t.alternate, n, r, i));
break;
case 'Conditional':
t.consequent && (t.consequent = e(t.consequent, n, r, i)),
t.alternate && (t.alternate = e(t.alternate, n, r, i));
break;
case 'Include':
e(t.block, n, r, i),
e(t.file, n, r, i);
break;
case 'Extends':
e(t.file, n, r, i);
break;
case 'RawInclude':
t.filters = u(t.filters),
e(t.file, n, r, i);
break;
case 'Attrs':
case 'BlockComment':
case 'Comment':
case 'Doctype':
case 'IncludeFilter':
case 'MixinBlock':
case 'YieldBlock':
case 'Text':
break;
case 'FileReference':
i.includeDependencies && t.ast && e(t.ast, n, r, i);
break;
default:
throw new Error('Unexpected node type ' + t.type)
}
s.shift();
r && r(t, o);
return t;
function u(t) {
return t.reduce(function (t, s) {
var o = e(s, n, r, i);
return Array.isArray(o) ? t.concat(o) : t.concat([o])
}, [
])
}
}
},
{
}
],
407: [
function (e, t, n) {
(function (e) {
!function (r) {
var i = 'object' == typeof n && n && !n.nodeType && n,
s = 'object' == typeof t && t && !t.nodeType && t,
o = 'object' == typeof e && e;
o.global !== o && o.window !== o && o.self !== o || (r = o);
var a,
u,
l = 2147483647,
c = 36,
p = 1,
h = 26,
f = 38,
d = 700,
m = 72,
g = 128,
y = '-',
v = /^xn--/,
b = /[^\x20-\x7E]/,
x = /[\x2E\u3002\uFF0E\uFF61]/g,
A = {
overflow: 'Overflow: input needs wider integers to process',
'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
'invalid-input': 'Invalid input'
},
E = c - p,
_ = Math.floor,
C = String.fromCharCode;
function w(e) {
throw new RangeError(A[e])
}
function D(e, t) {
for (var n = e.length, r = [
]; n--; ) r[n] = t(e[n]);
return r
}
function k(e, t) {
var n = e.split('@'),
r = '';
return n.length > 1 && (r = n[0] + '@', e = n[1]),
r + D((e = e.replace(x, '.')).split('.'), t).join('.')
}
function S(e) {
for (var t, n, r = [
], i = 0, s = e.length; i < s; ) (t = e.charCodeAt(i++)) >= 55296 && t <= 56319 && i < s ? 56320 == (64512 & (n = e.charCodeAt(i++))) ? r.push(((1023 & t) << 10) + (1023 & n) + 65536) : (r.push(t), i--) : r.push(t);
return r
}
function T(e) {
return D(e, function (e) {
var t = '';
return e > 65535 && (t += C((e -= 65536) >>> 10 & 1023 | 55296), e = 56320 | 1023 & e),
t += C(e)
}).join('')
}
function F(e, t) {
return e + 22 + 75 * (e < 26) - ((0 != t) << 5)
}
function O(e, t, n) {
var r = 0;
for (e = n ? _(e / d) : e >> 1, e += _(e / t); e > E * h >> 1; r += c) e = _(e / E);
return _(r + (E + 1) * e / (e + f))
}
function B(e) {
var t,
n,
r,
i,
s,
o,
a,
u,
f,
d,
v,
b = [
],
x = e.length,
A = 0,
E = g,
C = m;
for ((n = e.lastIndexOf(y)) < 0 && (n = 0), r = 0; r < n; ++r) e.charCodeAt(r) >= 128 && w('not-basic'),
b.push(e.charCodeAt(r));
for (i = n > 0 ? n + 1 : 0; i < x; ) {
for (s = A, o = 1, a = c; i >= x && w('invalid-input'), ((u = (v = e.charCodeAt(i++)) - 48 < 10 ? v - 22 : v - 65 < 26 ? v - 65 : v - 97 < 26 ? v - 97 : c) >= c || u > _((l - A) / o)) && w('overflow'), A += u * o, !(u < (f = a <= C ? p : a >= C + h ? h : a - C)); a += c) o > _(l / (d = c - f)) && w('overflow'),
o *= d;
C = O(A - s, t = b.length + 1, 0 == s),
_(A / t) > l - E && w('overflow'),
E += _(A / t),
A %= t,
b.splice(A++, 0, E)
}
return T(b)
}
function P(e) {
var t,
n,
r,
i,
s,
o,
a,
u,
f,
d,
v,
b,
x,
A,
E,
D = [
];
for (b = (e = S(e)).length, t = g, n = 0, s = m, o = 0; o < b; ++o) (v = e[o]) < 128 && D.push(C(v));
for (r = i = D.length, i && D.push(y); r < b; ) {
for (a = l, o = 0; o < b; ++o) (v = e[o]) >= t && v < a && (a = v);
for (a - t > _((l - n) / (x = r + 1)) && w('overflow'), n += (a - t) * x, t = a, o = 0; o < b; ++o) if ((v = e[o]) < t && ++n > l && w('overflow'), v == t) {
for (u = n, f = c; !(u < (d = f <= s ? p : f >= s + h ? h : f - s)); f += c) E = u - d,
A = c - d,
D.push(C(F(d + E % A, 0))),
u = _(E / A);
D.push(C(F(u, 0))),
s = O(n, x, r == i),
n = 0,
++r
}
++n,
++t
}
return D.join('')
}
if (a = {
version: '1.4.1',
ucs2: {
decode: S,
encode: T
},
decode: B,
encode: P,
toASCII: function (e) {
return k(e, function (e) {
return b.test(e) ? 'xn--' + P(e) : e
})
},
toUnicode: function (e) {
return k(e, function (e) {
return v.test(e) ? B(e.slice(4).toLowerCase()) : e
})
}
}, 'function' == typeof define && 'object' == typeof define.amd && define.amd) define('punycode', function () {
return a
});
else if (i && s) if (t.exports == i) s.exports = a;
else for (u in a) a.hasOwnProperty(u) && (i[u] = a[u]);
else r.punycode = a
}(this)
}).call(this, 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : {
})
},
{
}
],
408: [
function (e, t, n) {
'use strict';
function r(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
t.exports = function (e, t, n, s) {
t = t || '&',
n = n || '=';
var o = {
};
if ('string' != typeof e || 0 === e.length) return o;
var a = /\+/g;
e = e.split(t);
var u = 1000;
s && 'number' == typeof s.maxKeys && (u = s.maxKeys);
var l = e.length;
u > 0 && l > u && (l = u);
for (var c = 0; c < l; ++c) {
var p,
h,
f,
d,
m = e[c].replace(a, '%20'),
g = m.indexOf(n);
g >= 0 ? (p = m.substr(0, g), h = m.substr(g + 1)) : (p = m, h = ''),
f = decodeURIComponent(p),
d = decodeURIComponent(h),
r(o, f) ? i(o[f]) ? o[f].push(d) : o[f] = [
o[f],
d
] : o[f] = d
}
return o
};
var i = Array.isArray || function (e) {
return '[object Array]' === Object.prototype.toString.call(e)
}
},
{
}
],
409: [
function (e, t, n) {
'use strict';
var r = function (e) {
switch (typeof e) {
case 'string':
return e;
case 'boolean':
return e ? 'true' : 'false';
case 'number':
return isFinite(e) ? e : '';
default:
return ''
}
};
t.exports = function (e, t, n, a) {
return t = t || '&',
n = n || '=',
null === e && (e = void 0),
'object' == typeof e ? s(o(e), function (o) {
var a = encodeURIComponent(r(o)) + n;
return i(e[o]) ? s(e[o], function (e) {
return a + encodeURIComponent(r(e))
}).join(t) : a + encodeURIComponent(r(e[o]))
}).join(t) : a ? encodeURIComponent(r(a)) + n + encodeURIComponent(r(e)) : ''
};
var i = Array.isArray || function (e) {
return '[object Array]' === Object.prototype.toString.call(e)
};
function s(e, t) {
if (e.map) return e.map(t);
for (var n = [
], r = 0; r < e.length; r++) n.push(t(e[r], r));
return n
}
var o = Object.keys || function (e) {
var t = [
];
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.push(n);
return t
}
},
{
}
],
410: [
function (e, t, n) {
'use strict';
n.decode = n.parse = e('./decode'),
n.encode = n.stringify = e('./encode')
},
{
'./decode': 408,
'./encode': 409
}
],
411: [
function (e, t, n) {
arguments[4][139][0].apply(n, arguments)
},
{
'./util': 420,
dup: 139
}
],
412: [
function (e, t, n) {
arguments[4][140][0].apply(n, arguments)
},
{
'./base64': 413,
dup: 140
}
],
413: [
function (e, t, n) {
arguments[4][141][0].apply(n, arguments)
},
{
dup: 141
}
],
414: [
function (e, t, n) {
arguments[4][142][0].apply(n, arguments)
},
{
dup: 142
}
],
415: [
function (e, t, n) {
arguments[4][143][0].apply(n, arguments)
},
{
'./util': 420,
dup: 143
}
],
416: [
function (e, t, n) {
arguments[4][144][0].apply(n, arguments)
},
{
dup: 144
}
],
417: [
function (e, t, n) {
var r = e('./util'),
i = e('./binary-search'),
s = e('./array-set').ArraySet,
o = e('./base64-vlq'),
a = e('./quick-sort').quickSort;
function u(e) {
var t = e;
return 'string' == typeof e && (t = JSON.parse(e.replace(/^\)\]\}'/, ''))),
null != t.sections ? new p(t) : new l(t)
}
function l(e) {
var t = e;
'string' == typeof e && (t = JSON.parse(e.replace(/^\)\]\}'/, '')));
var n = r.getArg(t, 'version'),
i = r.getArg(t, 'sources'),
o = r.getArg(t, 'names', [
]),
a = r.getArg(t, 'sourceRoot', null),
u = r.getArg(t, 'sourcesContent', null),
l = r.getArg(t, 'mappings'),
c = r.getArg(t, 'file', null);
if (n != this._version) throw new Error('Unsupported version: ' + n);
i = i.map(String).map(r.normalize).map(function (e) {
return a && r.isAbsolute(a) && r.isAbsolute(e) ? r.relative(a, e) : e
}),
this._names = s.fromArray(o.map(String), !0),
this._sources = s.fromArray(i, !0),
this.sourceRoot = a,
this.sourcesContent = u,
this._mappings = l,
this.file = c
}
function c() {
this.generatedLine = 0,
this.generatedColumn = 0,
this.source = null,
this.originalLine = null,
this.originalColumn = null,
this.name = null
}
function p(e) {
var t = e;
'string' == typeof e && (t = JSON.parse(e.replace(/^\)\]\}'/, '')));
var n = r.getArg(t, 'version'),
i = r.getArg(t, 'sections');
if (n != this._version) throw new Error('Unsupported version: ' + n);
this._sources = new s,
this._names = new s;
var o = {
line: - 1,
column: 0
};
this._sections = i.map(function (e) {
if (e.url) throw new Error('Support for url field in sections not implemented.');
var t = r.getArg(e, 'offset'),
n = r.getArg(t, 'line'),
i = r.getArg(t, 'column');
if (n < o.line || n === o.line && i < o.column) throw new Error('Section offsets must be ordered and non-overlapping.');
return o = t,
{
generatedOffset: {
generatedLine: n + 1,
generatedColumn: i + 1
},
consumer: new u(r.getArg(e, 'map'))
}
})
}
u.fromSourceMap = function (e) {
return l.fromSourceMap(e)
},
u.prototype._version = 3,
u.prototype.__generatedMappings = null,
Object.defineProperty(u.prototype, '_generatedMappings', {
get: function () {
return this.__generatedMappings || this._parseMappings(this._mappings, this.sourceRoot),
this.__generatedMappings
}
}),
u.prototype.__originalMappings = null,
Object.defineProperty(u.prototype, '_originalMappings', {
get: function () {
return this.__originalMappings || this._parseMappings(this._mappings, this.sourceRoot),
this.__originalMappings
}
}),
u.prototype._charIsMappingSeparator = function (e, t) {
var n = e.charAt(t);
return ';' === n || ',' === n
},
u.prototype._parseMappings = function (e, t) {
throw new Error('Subclasses must implement _parseMappings')
},
u.GENERATED_ORDER = 1,
u.ORIGINAL_ORDER = 2,
u.GREATEST_LOWER_BOUND = 1,
u.LEAST_UPPER_BOUND = 2,
u.prototype.eachMapping = function (e, t, n) {
var i,
s = t || null;
switch (n || u.GENERATED_ORDER) {
case u.GENERATED_ORDER:
i = this._generatedMappings;
break;
case u.ORIGINAL_ORDER:
i = this._originalMappings;
break;
default:
throw new Error('Unknown order of iteration.')
}
var o = this.sourceRoot;
i.map(function (e) {
var t = null === e.source ? null : this._sources.at(e.source);
return null != t && null != o && (t = r.join(o, t)),
{
source: t,
generatedLine: e.generatedLine,
generatedColumn: e.generatedColumn,
originalLine: e.originalLine,
originalColumn: e.originalColumn,
name: null === e.name ? null : this._names.at(e.name)
}
}, this).forEach(e, s)
},
u.prototype.allGeneratedPositionsFor = function (e) {
var t = r.getArg(e, 'line'),
n = {
source: r.getArg(e, 'source'),
originalLine: t,
originalColumn: r.getArg(e, 'column', 0)
};
if (null != this.sourceRoot && (n.source = r.relative(this.sourceRoot, n.source)), !this._sources.has(n.source)) return [];
n.source = this._sources.indexOf(n.source);
var s = [
],
o = this._findMapping(n, this._originalMappings, 'originalLine', 'originalColumn', r.compareByOriginalPositions, i.LEAST_UPPER_BOUND);
if (o >= 0) {
var a = this._originalMappings[o];
if (void 0 === e.column) for (var u = a.originalLine; a && a.originalLine === u; ) s.push({
line: r.getArg(a, 'generatedLine', null),
column: r.getArg(a, 'generatedColumn', null),
lastColumn: r.getArg(a, 'lastGeneratedColumn', null)
}),
a = this._originalMappings[++o];
else for (var l = a.originalColumn; a && a.originalLine === t && a.originalColumn == l; ) s.push({
line: r.getArg(a, 'generatedLine', null),
column: r.getArg(a, 'generatedColumn', null),
lastColumn: r.getArg(a, 'lastGeneratedColumn', null)
}),
a = this._originalMappings[++o]
}
return s
},
n.SourceMapConsumer = u,
l.prototype = Object.create(u.prototype),
l.prototype.consumer = u,
l.fromSourceMap = function (e) {
var t = Object.create(l.prototype),
n = t._names = s.fromArray(e._names.toArray(), !0),
i = t._sources = s.fromArray(e._sources.toArray(), !0);
t.sourceRoot = e._sourceRoot,
t.sourcesContent = e._generateSourcesContent(t._sources.toArray(), t.sourceRoot),
t.file = e._file;
for (var o = e._mappings.toArray().slice(), u = t.__generatedMappings = [
], p = t.__originalMappings = [
], h = 0, f = o.length; h < f; h++) {
var d = o[h],
m = new c;
m.generatedLine = d.generatedLine,
m.generatedColumn = d.generatedColumn,
d.source && (m.source = i.indexOf(d.source), m.originalLine = d.originalLine, m.originalColumn = d.originalColumn, d.name && (m.name = n.indexOf(d.name)), p.push(m)),
u.push(m)
}
return a(t.__originalMappings, r.compareByOriginalPositions),
t
},
l.prototype._version = 3,
Object.defineProperty(l.prototype, 'sources', {
get: function () {
return this._sources.toArray().map(function (e) {
return null != this.sourceRoot ? r.join(this.sourceRoot, e) : e
}, this)
}
}),
l.prototype._parseMappings = function (e, t) {
for (var n, i, s, u, l, p = 1, h = 0, f = 0, d = 0, m = 0, g = 0, y = e.length, v = 0, b = {
}, x = {
}, A = [
], E = [
]; v < y; ) if (';' === e.charAt(v)) p++,
v++,
h = 0;
else if (',' === e.charAt(v)) v++;
else {
for ((n = new c).generatedLine = p, u = v; u < y && !this._charIsMappingSeparator(e, u); u++);
if (s = b[i = e.slice(v, u)]) v += i.length;
else {
for (s = [
]; v < u; ) o.decode(e, v, x),
l = x.value,
v = x.rest,
s.push(l);
if (2 === s.length) throw new Error('Found a source, but no line and column');
if (3 === s.length) throw new Error('Found a source and line, but no column');
b[i] = s
}
n.generatedColumn = h + s[0],
h = n.generatedColumn,
s.length > 1 && (n.source = m + s[1], m += s[1], n.originalLine = f + s[2], f = n.originalLine, n.originalLine += 1, n.originalColumn = d + s[3], d = n.originalColumn, s.length > 4 && (n.name = g + s[4], g += s[4])),
E.push(n),
'number' == typeof n.originalLine && A.push(n)
}
a(E, r.compareByGeneratedPositionsDeflated),
this.__generatedMappings = E,
a(A, r.compareByOriginalPositions),
this.__originalMappings = A
},
l.prototype._findMapping = function (e, t, n, r, s, o) {
if (e[n] <= 0) throw new TypeError('Line must be greater than or equal to 1, got ' + e[n]);
if (e[r] < 0) throw new TypeError('Column must be greater than or equal to 0, got ' + e[r]);
return i.search(e, t, s, o)
},
l.prototype.computeColumnSpans = function () {
for (var e = 0; e < this._generatedMappings.length; ++e) {
var t = this._generatedMappings[e];
if (e + 1 < this._generatedMappings.length) {
var n = this._generatedMappings[e + 1];
if (t.generatedLine === n.generatedLine) {
t.lastGeneratedColumn = n.generatedColumn - 1;
continue
}
}
t.lastGeneratedColumn = 1 / 0
}
},
l.prototype.originalPositionFor = function (e) {
var t = {
generatedLine: r.getArg(e, 'line'),
generatedColumn: r.getArg(e, 'column')
},
n = this._findMapping(t, this._generatedMappings, 'generatedLine', 'generatedColumn', r.compareByGeneratedPositionsDeflated, r.getArg(e, 'bias', u.GREATEST_LOWER_BOUND));
if (n >= 0) {
var i = this._generatedMappings[n];
if (i.generatedLine === t.generatedLine) {
var s = r.getArg(i, 'source', null);
null !== s && (s = this._sources.at(s), null != this.sourceRoot && (s = r.join(this.sourceRoot, s)));
var o = r.getArg(i, 'name', null);
return null !== o && (o = this._names.at(o)),
{
source: s,
line: r.getArg(i, 'originalLine', null),
column: r.getArg(i, 'originalColumn', null),
name: o
}
}
}
return {
source: null,
line: null,
column: null,
name: null
}
},
l.prototype.hasContentsOfAllSources = function () {
return !!this.sourcesContent && (this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (e) {
return null == e
}))
},
l.prototype.sourceContentFor = function (e, t) {
if (!this.sourcesContent) return null;
if (null != this.sourceRoot && (e = r.relative(this.sourceRoot, e)), this._sources.has(e)) return this.sourcesContent[this._sources.indexOf(e)];
var n;
if (null != this.sourceRoot && (n = r.urlParse(this.sourceRoot))) {
var i = e.replace(/^file:\/\//, '');
if ('file' == n.scheme && this._sources.has(i)) return this.sourcesContent[this._sources.indexOf(i)];
if ((!n.path || '/' == n.path) && this._sources.has('/' + e)) return this.sourcesContent[this._sources.indexOf('/' + e)]
}
if (t) return null;
throw new Error('"' + e + '" is not in the SourceMap.')
},
l.prototype.generatedPositionFor = function (e) {
var t = r.getArg(e, 'source');
if (null != this.sourceRoot && (t = r.relative(this.sourceRoot, t)), !this._sources.has(t)) return {
line: null,
column: null,
lastColumn: null
};
var n = {
source: t = this._sources.indexOf(t),
originalLine: r.getArg(e, 'line'),
originalColumn: r.getArg(e, 'column')
},
i = this._findMapping(n, this._originalMappings, 'originalLine', 'originalColumn', r.compareByOriginalPositions, r.getArg(e, 'bias', u.GREATEST_LOWER_BOUND));
if (i >= 0) {
var s = this._originalMappings[i];
if (s.source === n.source) return {
line: r.getArg(s, 'generatedLine', null),
column: r.getArg(s, 'generatedColumn', null),
lastColumn: r.getArg(s, 'lastGeneratedColumn', null)
}
}
return {
line: null,
column: null,
lastColumn: null
}
},
n.BasicSourceMapConsumer = l,
p.prototype = Object.create(u.prototype),
p.prototype.constructor = u,
p.prototype._version = 3,
Object.defineProperty(p.prototype, 'sources', {
get: function () {
for (var e = [
], t = 0; t < this._sections.length; t++) for (var n = 0; n < this._sections[t].consumer.sources.length; n++) e.push(this._sections[t].consumer.sources[n]);
return e
}
}),
p.prototype.originalPositionFor = function (e) {
var t = {
generatedLine: r.getArg(e, 'line'),
generatedColumn: r.getArg(e, 'column')
},
n = i.search(t, this._sections, function (e, t) {
var n = e.generatedLine - t.generatedOffset.generatedLine;
return n || e.generatedColumn - t.generatedOffset.generatedColumn
}),
s = this._sections[n];
return s ? s.consumer.originalPositionFor({
line: t.generatedLine - (s.generatedOffset.generatedLine - 1),
column: t.generatedColumn - (s.generatedOffset.generatedLine === t.generatedLine ? s.generatedOffset.generatedColumn - 1 : 0),
bias: e.bias
}) : {
source: null,
line: null,
column: null,
name: null
}
},
p.prototype.hasContentsOfAllSources = function () {
return this._sections.every(function (e) {
return e.consumer.hasContentsOfAllSources()
})
},
p.prototype.sourceContentFor = function (e, t) {
for (var n = 0; n < this._sections.length; n++) {
var r = this._sections[n].consumer.sourceContentFor(e, !0);
if (r) return r
}
if (t) return null;
throw new Error('"' + e + '" is not in the SourceMap.')
},
p.prototype.generatedPositionFor = function (e) {
for (var t = 0; t < this._sections.length; t++) {
var n = this._sections[t];
if ( - 1 !== n.consumer.sources.indexOf(r.getArg(e, 'source'))) {
var i = n.consumer.generatedPositionFor(e);
if (i) return {
line: i.line + (n.generatedOffset.generatedLine - 1),
column: i.column + (n.generatedOffset.generatedLine === i.line ? n.generatedOffset.generatedColumn - 1 : 0)
}
}
}
return {
line: null,
column: null
}
},
p.prototype._parseMappings = function (e, t) {
this.__generatedMappings = [
],
this.__originalMappings = [
];
for (var n = 0; n < this._sections.length; n++) for (var i = this._sections[n], s = i.consumer._generatedMappings, o = 0; o < s.length; o++) {
var u = s[o],
l = i.consumer._sources.at(u.source);
null !== i.consumer.sourceRoot && (l = r.join(i.consumer.sourceRoot, l)),
this._sources.add(l),
l = this._sources.indexOf(l);
var c = i.consumer._names.at(u.name);
this._names.add(c),
c = this._names.indexOf(c);
var p = {
source: l,
generatedLine: u.generatedLine + (i.generatedOffset.generatedLine - 1),
generatedColumn: u.generatedColumn + (i.generatedOffset.generatedLine === u.generatedLine ? i.generatedOffset.generatedColumn - 1 : 0),
originalLine: u.originalLine,
originalColumn: u.originalColumn,
name: c
};
this.__generatedMappings.push(p),
'number' == typeof p.originalLine && this.__originalMappings.push(p)
}
a(this.__generatedMappings, r.compareByGeneratedPositionsDeflated),
a(this.__originalMappings, r.compareByOriginalPositions)
},
n.IndexedSourceMapConsumer = p
},
{
'./array-set': 411,
'./base64-vlq': 412,
'./binary-search': 414,
'./quick-sort': 416,
'./util': 420
}
],
418: [
function (e, t, n) {
var r = e('./base64-vlq'),
i = e('./util'),
s = e('./array-set').ArraySet,
o = e('./mapping-list').MappingList;
function a(e) {
e || (e = {
}),
this._file = i.getArg(e, 'file', null),
this._sourceRoot = i.getArg(e, 'sourceRoot', null),
this._skipValidation = i.getArg(e, 'skipValidation', !1),
this._sources = new s,
this._names = new s,
this._mappings = new o,
this._sourcesContents = null
}
a.prototype._version = 3,
a.fromSourceMap = function (e) {
var t = e.sourceRoot,
n = new a({
file: e.file,
sourceRoot: t
});
return e.eachMapping(function (e) {
var r = {
generated: {
line: e.generatedLine,
column: e.generatedColumn
}
};
null != e.source && (r.source = e.source, null != t && (r.source = i.relative(t, r.source)), r.original = {
line: e.originalLine,
column: e.originalColumn
}, null != e.name && (r.name = e.name)),
n.addMapping(r)
}),
e.sources.forEach(function (t) {
var r = e.sourceContentFor(t);
null != r && n.setSourceContent(t, r)
}),
n
},
a.prototype.addMapping = function (e) {
var t = i.getArg(e, 'generated'),
n = i.getArg(e, 'original', null),
r = i.getArg(e, 'source', null),
s = i.getArg(e, 'name', null);
this._skipValidation || this._validateMapping(t, n, r, s),
null != r && (r = String(r), this._sources.has(r) || this._sources.add(r)),
null != s && (s = String(s), this._names.has(s) || this._names.add(s)),
this._mappings.add({
generatedLine: t.line,
generatedColumn: t.column,
originalLine: null != n && n.line,
originalColumn: null != n && n.column,
source: r,
name: s
})
},
a.prototype.setSourceContent = function (e, t) {
var n = e;
null != this._sourceRoot && (n = i.relative(this._sourceRoot, n)),
null != t ? (this._sourcesContents || (this._sourcesContents = Object.create(null)), this._sourcesContents[i.toSetString(n)] = t) : this._sourcesContents && (delete this._sourcesContents[i.toSetString(n)], 0 === Object.keys(this._sourcesContents).length && (this._sourcesContents = null))
},
a.prototype.applySourceMap = function (e, t, n) {
var r = t;
if (null == t) {
if (null == e.file) throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');
r = e.file
}
var o = this._sourceRoot;
null != o && (r = i.relative(o, r));
var a = new s,
u = new s;
this._mappings.unsortedForEach(function (t) {
if (t.source === r && null != t.originalLine) {
var s = e.originalPositionFor({
line: t.originalLine,
column: t.originalColumn
});
null != s.source && (t.source = s.source, null != n && (t.source = i.join(n, t.source)), null != o && (t.source = i.relative(o, t.source)), t.originalLine = s.line, t.originalColumn = s.column, null != s.name && (t.name = s.name))
}
var l = t.source;
null == l || a.has(l) || a.add(l);
var c = t.name;
null == c || u.has(c) || u.add(c)
}, this),
this._sources = a,
this._names = u,
e.sources.forEach(function (t) {
var r = e.sourceContentFor(t);
null != r && (null != n && (t = i.join(n, t)), null != o && (t = i.relative(o, t)), this.setSourceContent(t, r))
}, this)
},
a.prototype._validateMapping = function (e, t, n, r) {
if (t && 'number' != typeof t.line && 'number' != typeof t.column) throw new Error('original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.');
if ((!(e && 'line' in e && 'column' in e && e.line > 0 && e.column >= 0) || t || n || r) && !(e && 'line' in e && 'column' in e && t && 'line' in t && 'column' in t && e.line > 0 && e.column >= 0 && t.line > 0 && t.column >= 0 && n)) throw new Error('Invalid mapping: ' + JSON.stringify({
generated: e,
source: n,
original: t,
name: r
}))
},
a.prototype._serializeMappings = function () {
for (var e, t, n, s, o = 0, a = 1, u = 0, l = 0, c = 0, p = 0, h = '', f = this._mappings.toArray(), d = 0, m = f.length; d < m; d++) {
if (e = '', (t = f[d]).generatedLine !== a) for (o = 0; t.generatedLine !== a; ) e += ';',
a++;
else if (d > 0) {
if (!i.compareByGeneratedPositionsInflated(t, f[d - 1])) continue;
e += ','
}
e += r.encode(t.generatedColumn - o),
o = t.generatedColumn,
null != t.source && (s = this._sources.indexOf(t.source), e += r.encode(s - p), p = s, e += r.encode(t.originalLine - 1 - l), l = t.originalLine - 1, e += r.encode(t.originalColumn - u), u = t.originalColumn, null != t.name && (n = this._names.indexOf(t.name), e += r.encode(n - c), c = n)),
h += e
}
return h
},
a.prototype._generateSourcesContent = function (e, t) {
return e.map(function (e) {
if (!this._sourcesContents) return null;
null != t && (e = i.relative(t, e));
var n = i.toSetString(e);
return Object.prototype.hasOwnProperty.call(this._sourcesContents, n) ? this._sourcesContents[n] : null
}, this)
},
a.prototype.toJSON = function () {
var e = {
version: this._version,
sources: this._sources.toArray(),
names: this._names.toArray(),
mappings: this._serializeMappings()
};
return null != this._file && (e.file = this._file),
null != this._sourceRoot && (e.sourceRoot = this._sourceRoot),
this._sourcesContents && (e.sourcesContent = this._generateSourcesContent(e.sources, e.sourceRoot)),
e
},
a.prototype.toString = function () {
return JSON.stringify(this.toJSON())
},
n.SourceMapGenerator = a
},
{
'./array-set': 411,
'./base64-vlq': 412,
'./mapping-list': 415,
'./util': 420
}
],
419: [
function (e, t, n) {
var r = e('./source-map-generator').SourceMapGenerator,
i = e('./util'),
s = /(\r?\n)/,
o = '$$$isSourceNode$$$';
function a(e, t, n, r, i) {
this.children = [
],
this.sourceContents = {
},
this.line = null == e ? null : e,
this.column = null == t ? null : t,
this.source = null == n ? null : n,
this.name = null == i ? null : i,
this[o] = !0,
null != r && this.add(r)
}
a.fromStringWithSourceMap = function (e, t, n) {
var r = new a,
o = e.split(s),
u = 0,
l = function () {
return e() + (e() || '');
function e() {
return u < o.length ? o[u++] : void 0
}
},
c = 1,
p = 0,
h = null;
return t.eachMapping(function (e) {
if (null !== h) {
if (!(c < e.generatedLine)) {
var t = (n = o[u]).substr(0, e.generatedColumn - p);
return o[u] = n.substr(e.generatedColumn - p),
p = e.generatedColumn,
f(h, t),
void (h = e)
}
f(h, l()),
c++,
p = 0
}
for (; c < e.generatedLine; ) r.add(l()),
c++;
if (p < e.generatedColumn) {
var n = o[u];
r.add(n.substr(0, e.generatedColumn)),
o[u] = n.substr(e.generatedColumn),
p = e.generatedColumn
}
h = e
}, this),
u < o.length && (h && f(h, l()), r.add(o.splice(u).join(''))),
t.sources.forEach(function (e) {
var s = t.sourceContentFor(e);
null != s && (null != n && (e = i.join(n, e)), r.setSourceContent(e, s))
}),
r;
function f(e, t) {
if (null === e || void 0 === e.source) r.add(t);
else {
var s = n ? i.join(n, e.source) : e.source;
r.add(new a(e.originalLine, e.originalColumn, s, t, e.name))
}
}
},
a.prototype.add = function (e) {
if (Array.isArray(e)) e.forEach(function (e) {
this.add(e)
}, this);
else {
if (!e[o] && 'string' != typeof e) throw new TypeError('Expected a SourceNode, string, or an array of SourceNodes and strings. Got ' + e);
e && this.children.push(e)
}
return this
},
a.prototype.prepend = function (e) {
if (Array.isArray(e)) for (var t = e.length - 1; t >= 0; t--) this.prepend(e[t]);
else {
if (!e[o] && 'string' != typeof e) throw new TypeError('Expected a SourceNode, string, or an array of SourceNodes and strings. Got ' + e);
this.children.unshift(e)
}
return this
},
a.prototype.walk = function (e) {
for (var t, n = 0, r = this.children.length; n < r; n++) (t = this.children[n]) [o] ? t.walk(e) : '' !== t && e(t, {
source: this.source,
line: this.line,
column: this.column,
name: this.name
})
},
a.prototype.join = function (e) {
var t,
n,
r = this.children.length;
if (r > 0) {
for (t = [
], n = 0; n < r - 1; n++) t.push(this.children[n]),
t.push(e);
t.push(this.children[n]),
this.children = t
}
return this
},
a.prototype.replaceRight = function (e, t) {
var n = this.children[this.children.length - 1];
return n[o] ? n.replaceRight(e, t) : 'string' == typeof n ? this.children[this.children.length - 1] = n.replace(e, t) : this.children.push(''.replace(e, t)),
this
},
a.prototype.setSourceContent = function (e, t) {
this.sourceContents[i.toSetString(e)] = t
},
a.prototype.walkSourceContents = function (e) {
for (var t = 0, n = this.children.length; t < n; t++) this.children[t][o] && this.children[t].walkSourceContents(e);
var r = Object.keys(this.sourceContents);
for (t = 0, n = r.length; t < n; t++) e(i.fromSetString(r[t]), this.sourceContents[r[t]])
},
a.prototype.toString = function () {
var e = '';
return this.walk(function (t) {
e += t
}),
e
},
a.prototype.toStringWithSourceMap = function (e) {
var t = {
code: '',
line: 1,
column: 0
},
n = new r(e),
i = !1,
s = null,
o = null,
a = null,
u = null;
return this.walk(function (e, r) {
t.code += e,
null !== r.source && null !== r.line && null !== r.column ? (s === r.source && o === r.line && a === r.column && u === r.name || n.addMapping({
source: r.source,
original: {
line: r.line,
column: r.column
},
generated: {
line: t.line,
column: t.column
},
name: r.name
}), s = r.source, o = r.line, a = r.column, u = r.name, i = !0) : i && (n.addMapping({
generated: {
line: t.line,
column: t.column
}
}), s = null, i = !1);
for (var l = 0, c = e.length; l < c; l++) 10 === e.charCodeAt(l) ? (t.line++, t.column = 0, l + 1 === c ? (s = null, i = !1) : i && n.addMapping({
source: r.source,
original: {
line: r.line,
column: r.column
},
generated: {
line: t.line,
column: t.column
},
name: r.name
})) : t.column++
}),
this.walkSourceContents(function (e, t) {
n.setSourceContent(e, t)
}),
{
code: t.code,
map: n
}
},
n.SourceNode = a
},
{
'./source-map-generator': 418,
'./util': 420
}
],
420: [
function (e, t, n) {
n.getArg = function (e, t, n) {
if (t in e) return e[t];
if (3 === arguments.length) return n;
throw new Error('"' + t + '" is a required argument.')
};
var r = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,
i = /^data:.+\,.+$/;
function s(e) {
var t = e.match(r);
return t ? {
scheme: t[1],
auth: t[2],
host: t[3],
port: t[4],
path: t[5]
}
: null
}
function o(e) {
var t = '';
return e.scheme && (t += e.scheme + ':'),
t += '//',
e.auth && (t += e.auth + '@'),
e.host && (t += e.host),
e.port && (t += ':' + e.port),
e.path && (t += e.path),
t
}
function a(e) {
var t = e,
r = s(e);
if (r) {
if (!r.path) return e;
t = r.path
}
for (var i, a = n.isAbsolute(t), u = t.split(/\/+/), l = 0, c = u.length - 1; c >= 0; c--) '.' === (i = u[c]) ? u.splice(c, 1) : '..' === i ? l++ : l > 0 && ('' === i ? (u.splice(c + 1, l), l = 0) : (u.splice(c, 2), l--));
return '' === (t = u.join('/')) && (t = a ? '/' : '.'),
r ? (r.path = t, o(r)) : t
}
n.urlParse = s,
n.urlGenerate = o,
n.normalize = a,
n.join = function (e, t) {
'' === e && (e = '.'),
'' === t && (t = '.');
var n = s(t),
r = s(e);
if (r && (e = r.path || '/'), n && !n.scheme) return r && (n.scheme = r.scheme),
o(n);
if (n || t.match(i)) return t;
if (r && !r.host && !r.path) return r.host = t,
o(r);
var u = '/' === t.charAt(0) ? t : a(e.replace(/\/+$/, '') + '/' + t);
return r ? (r.path = u, o(r)) : u
},
n.isAbsolute = function (e) {
return '/' === e.charAt(0) || !!e.match(r)
},
n.relative = function (e, t) {
'' === e && (e = '.'),
e = e.replace(/\/$/, '');
for (var n = 0; 0 !== t.indexOf(e + '/'); ) {
var r = e.lastIndexOf('/');
if (r < 0) return t;
if ((e = e.slice(0, r)).match(/^([^\/]+:\/)?\/*$/)) return t;
++n
}
return Array(n + 1).join('../') + t.substr(e.length + 1)
};
var u = !('__proto__' in Object.create(null));
function l(e) {
return e
}
function c(e) {
if (!e) return !1;
var t = e.length;
if (t < 9) return !1;
if (95 !== e.charCodeAt(t - 1) || 95 !== e.charCodeAt(t - 2) || 111 !== e.charCodeAt(t - 3) || 116 !== e.charCodeAt(t - 4) || 111 !== e.charCodeAt(t - 5) || 114 !== e.charCodeAt(t - 6) || 112 !== e.charCodeAt(t - 7) || 95 !== e.charCodeAt(t - 8) || 95 !== e.charCodeAt(t - 9)) return !1;
for (var n = t - 10; n >= 0; n--) if (36 !== e.charCodeAt(n)) return !1;
return !0
}
function p(e, t) {
return e === t ? 0 : e > t ? 1 : - 1
}
n.toSetString = u ? l : function (e) {
return c(e) ? '$' + e : e
},
n.fromSetString = u ? l : function (e) {
return c(e) ? e.slice(1) : e
},
n.compareByOriginalPositions = function (e, t, n) {
var r = e.source - t.source;
return 0 !== r ? r : 0 != (r = e.originalLine - t.originalLine) ? r : 0 != (r = e.originalColumn - t.originalColumn) || n ? r : 0 != (r = e.generatedColumn - t.generatedColumn) ? r : 0 != (r = e.generatedLine - t.generatedLine) ? r : e.name - t.name
},
n.compareByGeneratedPositionsDeflated = function (e, t, n) {
var r = e.generatedLine - t.generatedLine;
return 0 !== r ? r : 0 != (r = e.generatedColumn - t.generatedColumn) || n ? r : 0 != (r = e.source - t.source) ? r : 0 != (r = e.originalLine - t.originalLine) ? r : 0 != (r = e.originalColumn - t.originalColumn) ? r : e.name - t.name
},
n.compareByGeneratedPositionsInflated = function (e, t) {
var n = e.generatedLine - t.generatedLine;
return 0 !== n ? n : 0 != (n = e.generatedColumn - t.generatedColumn) ? n : 0 !== (n = p(e.source, t.source)) ? n : 0 != (n = e.originalLine - t.originalLine) ? n : 0 != (n = e.originalColumn - t.originalColumn) ? n : p(e.name, t.name)
}
},
{
}
],
421: [
function (e, t, n) {
arguments[4][149][0].apply(n, arguments)
},
{
'./lib/source-map-consumer': 417,
'./lib/source-map-generator': 418,
'./lib/source-node': 419,
dup: 149
}
],
422: [
function (e, t, n) {
'use strict';
function r(e) {
if (!Array.isArray(e)) throw new TypeError('tokens must be passed to TokenStream as an array.');
this._tokens = e
}
t.exports = r,
r.prototype.lookahead = function (e) {
if (this._tokens.length <= e) throw new Error('Cannot read past the end of a stream');
return this._tokens[e]
},
r.prototype.peek = function () {
if (0 === this._tokens.length) throw new Error('Cannot read past the end of a stream');
return this._tokens[0]
},
r.prototype.advance = function () {
if (0 === this._tokens.length) throw new Error('Cannot read past the end of a stream');
return this._tokens.shift()
},
r.prototype.defer = function (e) {
this._tokens.unshift(e)
}
},
{
}
],
423: [
function (e, t, n) {
(function (t) {
var r = e('util'),
i = e('source-map'),
s = n;
function o(e) {
for (var t = Object.create(null), n = 0; n < e.length; ++n) t[e[n]] = !0;
return t
}
function a(e) {
return e.split('')
}
function u(e, t) {
return t.indexOf(e) >= 0
}
function l(e, t) {
for (var n = 0, r = t.length; n < r; ++n) if (e(t[n])) return t[n]
}
function c(e, t) {
if (t <= 0) return '';
if (1 == t) return e;
var n = c(e, t >> 1);
return n += n,
1 & t && (n += e),
n
}
function p(e) {
Object.defineProperty(e.prototype, 'stack', {
get: function () {
var e = new Error(this.message);
e.name = this.name;
try {
throw e
} catch (e) {
return e.stack
}
}
})
}
function h(e, t) {
this.message = e,
this.defs = t
}
function f(e, t, n) {
!0 === e && (e = {
});
var r = e || {
};
if (n) for (var i in r) S(r, i) && !S(t, i) && h.croak('`' + i + '` is not a supported option', t);
for (var i in t) S(t, i) && (r[i] = e && S(e, i) ? e[i] : t[i]);
return r
}
function d(e, t) {
var n = 0;
for (var r in t) S(t, r) && (e[r] = t[r], n++);
return n
}
function m() {
}
function g() {
return !1
}
function y() {
return !0
}
function v() {
return this
}
function b() {
return null
}
h.prototype = Object.create(Error.prototype),
h.prototype.constructor = h,
h.prototype.name = 'DefaultsError',
p(h),
h.croak = function (e, t) {
throw new h(e, t)
};
var x = function () {
function e(e, s, o) {
var a,
u = [
],
l = [
];
function c() {
var c = s(e[a], a),
p = c instanceof i;
return p && (c = c.v),
c instanceof n ? (c = c.v) instanceof r ? l.push.apply(l, o ? c.v.slice().reverse() : c.v) : l.push(c) : c !== t && (c instanceof r ? u.push.apply(u, o ? c.v.slice().reverse() : c.v) : u.push(c)),
p
}
if (e instanceof Array) if (o) {
for (a = e.length; --a >= 0 && !c(); );
u.reverse(),
l.reverse()
} else for (a = 0; a < e.length && !c(); ++a);
else for (a in e) if (S(e, a) && c()) break;
return l.concat(u)
}
e.at_top = function (e) {
return new n(e)
},
e.splice = function (e) {
return new r(e)
},
e.last = function (e) {
return new i(e)
};
var t = e.skip = {
};
function n(e) {
this.v = e
}
function r(e) {
this.v = e
}
function i(e) {
this.v = e
}
return e
}();
function A(e, t) {
e.indexOf(t) < 0 && e.push(t)
}
function E(e, t) {
return e.replace(/\{(.+?)\}/g, function (e, n) {
return t && t[n]
})
}
function _(e, t) {
for (var n = e.length; --n >= 0; ) e[n] === t && e.splice(n, 1)
}
function C(e, t) {
if (e.length < 2) return e.slice();
return function e(n) {
if (n.length <= 1) return n;
var r = Math.floor(n.length / 2),
i = n.slice(0, r),
s = n.slice(r);
return function (e, n) {
for (var r = [
], i = 0, s = 0, o = 0; i < e.length && s < n.length; ) t(e[i], n[s]) <= 0 ? r[o++] = e[i++] : r[o++] = n[s++];
return i < e.length && r.push.apply(r, e.slice(i)),
s < n.length && r.push.apply(r, n.slice(s)),
r
}(i = e(i), s = e(s))
}(e)
}
function w(e) {
e instanceof Array || (e = e.split(' '));
var t = '',
n = [
];
e: for (var r = 0; r < e.length; ++r) {
for (var i = 0; i < n.length; ++i) if (n[i][0].length == e[r].length) {
n[i].push(e[r]);
continue e
}
n.push([e[r]])
}
function s(e) {
return JSON.stringify(e).replace(/[\u2028\u2029]/g, function (e) {
switch (e) {
case '\u2028':
return '\\u2028';
case '\u2029':
return '\\u2029'
}
return e
})
}
function o(e) {
if (1 == e.length) return t += 'return str === ' + s(e[0]) + ';';
t += 'switch(str){';
for (var n = 0; n < e.length; ++n) t += 'case ' + s(e[n]) + ':';
t += 'return true}return false;'
}
if (n.length > 3) {
n.sort(function (e, t) {
return t.length - e.length
}),
t += 'switch(str.length){';
for (r = 0; r < n.length; ++r) {
var a = n[r];
t += 'case ' + a[0].length + ':',
o(a)
}
t += '}'
} else o(e);
return new Function('str', t)
}
function D(e, t) {
for (var n = e.length; --n >= 0; ) if (!t(e[n])) return !1;
return !0
}
function k() {
this._values = Object.create(null),
this._size = 0
}
function S(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
function T(e) {
for (var t, n = e.parent( - 1), r = 0; t = e.parent(r); r++) {
if (t instanceof P && t.body === n) return !0;
if (!(t instanceof _e && t.car === n || t instanceof Ae && t.expression === n && !(t instanceof Ee) || t instanceof we && t.expression === n || t instanceof De && t.expression === n || t instanceof Oe && t.condition === n || t instanceof Fe && t.left === n || t instanceof Te && t.expression === n)) return !1;
n = t
}
}
function F(e, t, r, i) {
arguments.length < 4 && (i = B);
var s = t = t ? t.split(/\s+/) : [
];
i && i.PROPS && (t = t.concat(i.PROPS));
for (var o = 'return function AST_' + e + '(props){ if (props) { ', a = t.length; --a >= 0; ) o += 'this.' + t[a] + ' = props.' + t[a] + ';';
var u = i && new i;
(u && u.initialize || r && r.initialize) && (o += 'this.initialize();'),
o += '}}';
var l = new Function(o) ();
if (u && (l.prototype = u, l.BASE = i), i && i.SUBCLASSES.push(l), l.prototype.CTOR = l, l.PROPS = t || null, l.SELF_PROPS = s, l.SUBCLASSES = [
], e && (l.prototype.TYPE = l.TYPE = e), r) for (a in r) S(r, a) && (/^\$/.test(a) ? l[a.substr(1)] = r[a] : l.prototype[a] = r[a]);
return l.DEFMETHOD = function (e, t) {
this.prototype[e] = t
},
void 0 !== n && (n['AST_' + e] = l),
l
}
k.prototype = {
set: function (e, t) {
return this.has(e) || ++this._size,
this._values['$' + e] = t,
this
},
add: function (e, t) {
return this.has(e) ? this.get(e).push(t) : this.set(e, [
t
]),
this
},
get: function (e) {
return this._values['$' + e]
},
del: function (e) {
return this.has(e) && (--this._size, delete this._values['$' + e]),
this
},
has: function (e) {
return '$' + e in this._values
},
each: function (e) {
for (var t in this._values) e(this._values[t], t.substr(1))
},
size: function () {
return this._size
},
map: function (e) {
var t = [
];
for (var n in this._values) t.push(e(this._values[n], n.substr(1)));
return t
},
toObject: function () {
return this._values
}
},
k.fromObject = function (e) {
var t = new k;
return t._size = d(t._values, e),
t
};
var O = F('Token', 'type value line col pos endline endcol endpos nlb comments_before file raw', {
}, null),
B = F('Node', 'start end', {
_clone: function (e) {
if (e) {
var t = this.clone();
return t.transform(new Ht(function (e) {
if (e !== t) return e.clone(!0)
}))
}
return new this.CTOR(this)
},
clone: function (e) {
return this._clone(e)
},
$documentation: 'Base class of all AST nodes',
$propdoc: {
start: '[AST_Token] The first token of this node',
end: '[AST_Token] The last token of this node'
},
_walk: function (e) {
return e._visit(this)
},
walk: function (e) {
return this._walk(e)
}
}, null);
B.warn_function = null,
B.warn = function (e, t) {
B.warn_function && B.warn_function(E(e, t))
};
var P = F('Statement', null, {
$documentation: 'Base class of all statements'
}),
N = F('Debugger', null, {
$documentation: 'Represents a debugger statement'
}, P),
R = F('Directive', 'value scope quote', {
$documentation: 'Represents a directive, like "use strict";',
$propdoc: {
value: '[string] The value of this directive as a plain string (it\'s not an AST_String!)',
scope: '[AST_Scope/S] The scope that this directive affects',
quote: '[string] the original quote character'
}
}, P),
L = F('SimpleStatement', 'body', {
$documentation: 'A statement consisting of an expression, i.e. a = 1 + 2',
$propdoc: {
body: '[AST_Node] an expression node (should not be instanceof AST_Statement)'
},
_walk: function (e) {
return e._visit(this, function () {
this.body._walk(e)
})
}
}, P);
function I(e, t) {
var n = e.body;
if (n instanceof P) n._walk(t);
else for (var r = 0, i = n.length; r < i; r++) n[r]._walk(t)
}
var j = F('Block', 'body', {
$documentation: 'A body of statements (usually bracketed)',
$propdoc: {
body: '[AST_Statement*] an array of statements'
},
_walk: function (e) {
return e._visit(this, function () {
I(this, e)
})
}
}, P),
M = F('BlockStatement', null, {
$documentation: 'A block statement'
}, j),
U = F('EmptyStatement', null, {
$documentation: 'The empty statement (empty block or simply a semicolon)',
_walk: function (e) {
return e._visit(this)
}
}, P),
V = F('StatementWithBody', 'body', {
$documentation: 'Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`',
$propdoc: {
body: '[AST_Statement] the body; this should always be present, even if it\'s an AST_EmptyStatement'
},
_walk: function (e) {
return e._visit(this, function () {
this.body._walk(e)
})
}
}, P),
z = F('LabeledStatement', 'label', {
$documentation: 'Statement with a label',
$propdoc: {
label: '[AST_Label] a label definition'
},
_walk: function (e) {
return e._visit(this, function () {
this.label._walk(e),
this.body._walk(e)
})
},
clone: function (e) {
var t = this._clone(e);
if (e) {
var n = t.label,
r = this.label;
t.walk(new pt(function (e) {
e instanceof oe && e.label && e.label.thedef === r && (e.label.thedef = n, n.references.push(e))
}))
}
return t
}
}, V),
q = F('IterationStatement', null, {
$documentation: 'Internal class. All loops inherit from it.'
}, V),
K = F('DWLoop', 'condition', {
$documentation: 'Base class for do/while statements',
$propdoc: {
condition: '[AST_Node] the loop condition. Should not be instanceof AST_Statement'
}
}, q),
$ = F('Do', null, {
$documentation: 'A `do` statement',
_walk: function (e) {
return e._visit(this, function () {
this.body._walk(e),
this.condition._walk(e)
})
}
}, K),
Y = F('While', null, {
$documentation: 'A `while` statement',
_walk: function (e) {
return e._visit(this, function () {
this.condition._walk(e),
this.body._walk(e)
})
}
}, K),
W = F('For', 'init condition step', {
$documentation: 'A `for` statement',
$propdoc: {
init: '[AST_Node?] the `for` initialization code, or null if empty',
condition: '[AST_Node?] the `for` termination clause, or null if empty',
step: '[AST_Node?] the `for` update clause, or null if empty'
},
_walk: function (e) {
return e._visit(this, function () {
this.init && this.init._walk(e),
this.condition && this.condition._walk(e),
this.step && this.step._walk(e),
this.body._walk(e)
})
}
}, q),
G = F('ForIn', 'init name object', {
$documentation: 'A `for ... in` statement',
$propdoc: {
init: '[AST_Node] the `for/in` initialization code',
name: '[AST_SymbolRef?] the loop variable, only if `init` is AST_Var',
object: '[AST_Node] the object that we\'re looping through'
},
_walk: function (e) {
return e._visit(this, function () {
this.init._walk(e),
this.object._walk(e),
this.body._walk(e)
})
}
}, q),
H = F('With', 'expression', {
$documentation: 'A `with` statement',
$propdoc: {
expression: '[AST_Node] the `with` expression'
},
_walk: function (e) {
return e._visit(this, function () {
this.expression._walk(e),
this.body._walk(e)
})
}
}, V),
X = F('Scope', 'directives variables functions uses_with uses_eval parent_scope enclosed cname', {
$documentation: 'Base class for all statements introducing a lexical scope',
$propdoc: {
directives: '[string*/S] an array of directives declared in this scope',
variables: '[Object/S] a map of name -> SymbolDef for all variables/functions defined in this scope',
functions: '[Object/S] like `variables`, but only lists function declarations',
uses_with: '[boolean/S] tells whether this scope uses the `with` statement',
uses_eval: '[boolean/S] tells whether this scope contains a direct call to the global `eval`',
parent_scope: '[AST_Scope?/S] link to the parent scope',
enclosed: '[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes',
cname: '[integer/S] current index for mangling variables (used internally by the mangler)'
}
}, j),
J = F('Toplevel', 'globals', {
$documentation: 'The toplevel scope',
$propdoc: {
globals: '[Object/S] a map of name -> SymbolDef for all undeclared names'
},
wrap_enclose: function (e) {
var t = this,
n = [
],
r = [
];
e.forEach(function (e) {
var t = e.lastIndexOf(':');
n.push(e.substr(0, t)),
r.push(e.substr(t + 1))
});
var i = '(function(' + r.join(',') + '){ \'$ORIG\'; })(' + n.join(',') + ')';
return i = (i = Gt(i)).transform(new Ht(function (e) {
if (e instanceof R && '$ORIG' == e.value) return x.splice(t.body)
}))
},
wrap_commonjs: function (e, t) {
var n = this,
r = [
];
t && (n.figure_out_scope(), n.walk(new pt(function (e) {
e instanceof Ve && e.definition().global && (l(function (t) {
return t.name == e.name
}, r) || r.push(e))
})));
var i = '(function(exports, global){ \'$ORIG\'; \'$EXPORTS\'; global[\'' + e + '\'] = exports; }({}, (function(){return this}())))';
return i = (i = Gt(i)).transform(new Ht(function (e) {
if (e instanceof R) switch (e.value) {
case '$ORIG':
return x.splice(n.body);
case '$EXPORTS':
var t = [
];
return r.forEach(function (e) {
t.push(new L({
body: new Be({
left: new De({
expression: new He({
name: 'exports'
}),
property: new Ze({
value: e.name
})
}),
operator: '=',
right: new He(e)
})
}))
}),
x.splice(t)
}
}))
}
}, X),
Q = F('Lambda', 'name argnames uses_arguments', {
$documentation: 'Base class for functions',
$propdoc: {
name: '[AST_SymbolDeclaration?] the name of this function',
argnames: '[AST_SymbolFunarg*] array of function arguments',
uses_arguments: '[boolean/S] tells whether this function accesses the arguments array'
},
_walk: function (e) {
return e._visit(this, function () {
this.name && this.name._walk(e);
for (var t = this.argnames, n = 0, r = t.length; n < r; n++) t[n]._walk(e);
I(this, e)
})
}
}, X),
Z = F('Accessor', null, {
$documentation: 'A setter/getter function. The `name` property is always null.'
}, Q),
ee = F('Function', null, {
$documentation: 'A function expression'
}, Q),
te = F('Defun', null, {
$documentation: 'A function definition'
}, Q),
ne = F('Jump', null, {
$documentation: 'Base class for “jumps” (for now that\'s `return`, `throw`, `break` and `continue`)'
}, P),
re = F('Exit', 'value', {
$documentation: 'Base class for “exits” (`return` and `throw`)',
$propdoc: {
value: '[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return'
},
_walk: function (e) {
return e._visit(this, this.value && function () {
this.value._walk(e)
})
}
}, ne),
ie = F('Return', null, {
$documentation: 'A `return` statement'
}, re),
se = F('Throw', null, {
$documentation: 'A `throw` statement'
}, re),
oe = F('LoopControl', 'label', {
$documentation: 'Base class for loop control statements (`break` and `continue`)',
$propdoc: {
label: '[AST_LabelRef?] the label, or null if none'
},
_walk: function (e) {
return e._visit(this, this.label && function () {
this.label._walk(e)
})
}
}, ne),
ae = F('Break', null, {
$documentation: 'A `break` statement'
}, oe),
ue = F('Continue', null, {
$documentation: 'A `continue` statement'
}, oe),
le = F('If', 'condition alternative', {
$documentation: 'A `if` statement',
$propdoc: {
condition: '[AST_Node] the `if` condition',
alternative: '[AST_Statement?] the `else` part, or null if not present'
},
_walk: function (e) {
return e._visit(this, function () {
this.condition._walk(e),
this.body._walk(e),
this.alternative && this.alternative._walk(e)
})
}
}, V),
ce = F('Switch', 'expression', {
$documentation: 'A `switch` statement',
$propdoc: {
expression: '[AST_Node] the `switch` “discriminant”'
},
_walk: function (e) {
return e._visit(this, function () {
this.expression._walk(e),
I(this, e)
})
}
}, j),
pe = F('SwitchBranch', null, {
$documentation: 'Base class for `switch` branches'
}, j),
he = F('Default', null, {
$documentation: 'A `default` switch branch'
}, pe),
fe = F('Case', 'expression', {
$documentation: 'A `case` switch branch',
$propdoc: {
expression: '[AST_Node] the `case` expression'
},
_walk: function (e) {
return e._visit(this, function () {
this.expression._walk(e),
I(this, e)
})
}
}, pe),
de = F('Try', 'bcatch bfinally', {
$documentation: 'A `try` statement',
$propdoc: {
bcatch: '[AST_Catch?] the catch block, or null if not present',
bfinally: '[AST_Finally?] the finally block, or null if not present'
},
_walk: function (e) {
return e._visit(this, function () {
I(this, e),
this.bcatch && this.bcatch._walk(e),
this.bfinally && this.bfinally._walk(e)
})
}
}, j),
me = F('Catch', 'argname', {
$documentation: 'A `catch` node; only makes sense as part of a `try` statement',
$propdoc: {
argname: '[AST_SymbolCatch] symbol for the exception'
},
_walk: function (e) {
return e._visit(this, function () {
this.argname._walk(e),
I(this, e)
})
}
}, j),
ge = F('Finally', null, {
$documentation: 'A `finally` node; only makes sense as part of a `try` statement'
}, j),
ye = F('Definitions', 'definitions', {
$documentation: 'Base class for `var` or `const` nodes (variable declarations/initializations)',
$propdoc: {
definitions: '[AST_VarDef*] array of variable definitions'
},
_walk: function (e) {
return e._visit(this, function () {
for (var t = this.definitions, n = 0, r = t.length; n < r; n++) t[n]._walk(e)
})
}
}, P),
ve = F('Var', null, {
$documentation: 'A `var` statement'
}, ye),
be = F('Const', null, {
$documentation: 'A `const` statement'
}, ye),
xe = F('VarDef', 'name value', {
$documentation: 'A variable declaration; only appears in a AST_Definitions node',
$propdoc: {
name: '[AST_SymbolVar|AST_SymbolConst] name of the variable',
value: '[AST_Node?] initializer, or null of there\'s no initializer'
},
_walk: function (e) {
return e._visit(this, function () {
this.name._walk(e),
this.value && this.value._walk(e)
})
}
}),
Ae = F('Call', 'expression args', {
$documentation: 'A function call expression',
$propdoc: {
expression: '[AST_Node] expression to invoke as function',
args: '[AST_Node*] array of arguments'
},
_walk: function (e) {
return e._visit(this, function () {
this.expression._walk(e);
for (var t = this.args, n = 0, r = t.length; n < r; n++) t[n]._walk(e)
})
}
}),
Ee = F('New', null, {
$documentation: 'An object instantiation. Derives from a function call since it has exactly the same properties'
}, Ae),
_e = F('Seq', 'car cdr', {
$documentation: 'A sequence expression (two comma-separated expressions)',
$propdoc: {
car: '[AST_Node] first element in sequence',
cdr: '[AST_Node] second element in sequence'
},
$cons: function (e, t) {
var n = new _e(e);
return n.car = e,
n.cdr = t,
n
},
$from_array: function (e) {
if (0 == e.length) return null;
if (1 == e.length) return e[0].clone();
for (var t = null, n = e.length; --n >= 0; ) t = _e.cons(e[n], t);
for (var r = t; r; ) {
if (r.cdr && !r.cdr.cdr) {
r.cdr = r.cdr.car;
break
}
r = r.cdr
}
return t
},
to_array: function () {
for (var e = this, t = [
]; e; ) {
if (t.push(e.car), e.cdr && !(e.cdr instanceof _e)) {
t.push(e.cdr);
break
}
e = e.cdr
}
return t
},
add: function (e) {
for (var t = this; t; ) {
if (!(t.cdr instanceof _e)) {
var n = _e.cons(t.cdr, e);
return t.cdr = n
}
t = t.cdr
}
},
len: function () {
return this.cdr instanceof _e ? this.cdr.len() + 1 : 2
},
_walk: function (e) {
return e._visit(this, function () {
this.car._walk(e),
this.cdr && this.cdr._walk(e)
})
}
}),
Ce = F('PropAccess', 'expression property', {
$documentation: 'Base class for property access expressions, i.e. `a.foo` or `a["foo"]`',
$propdoc: {
expression: '[AST_Node] the “container” expression',
property: '[AST_Node|string] the property to access. For AST_Dot this is always a plain string, while for AST_Sub it\'s an arbitrary AST_Node'
}
}),
we = F('Dot', null, {
$documentation: 'A dotted property access expression',
_walk: function (e) {
return e._visit(this, function () {
this.expression._walk(e)
})
}
}, Ce),
De = F('Sub', null, {
$documentation: 'Index-style property access, i.e. `a["foo"]`',
_walk: function (e) {
return e._visit(this, function () {
this.expression._walk(e),
this.property._walk(e)
})
}
}, Ce),
ke = F('Unary', 'operator expression', {
$documentation: 'Base class for unary expressions',
$propdoc: {
operator: '[string] the operator',
expression: '[AST_Node] expression that this unary operator applies to'
},
_walk: function (e) {
return e._visit(this, function () {
this.expression._walk(e)
})
}
}),
Se = F('UnaryPrefix', null, {
$documentation: 'Unary prefix expression, i.e. `typeof i` or `++i`'
}, ke),
Te = F('UnaryPostfix', null, {
$documentation: 'Unary postfix expression, i.e. `i++`'
}, ke),
Fe = F('Binary', 'left operator right', {
$documentation: 'Binary expression, i.e. `a + b`',
$propdoc: {
left: '[AST_Node] left-hand side expression',
operator: '[string] the operator',
right: '[AST_Node] right-hand side expression'
},
_walk: function (e) {
return e._visit(this, function () {
this.left._walk(e),
this.right._walk(e)
})
}
}),
Oe = F('Conditional', 'condition consequent alternative', {
$documentation: 'Conditional expression using the ternary operator, i.e. `a ? b : c`',
$propdoc: {
condition: '[AST_Node]',
consequent: '[AST_Node]',
alternative: '[AST_Node]'
},
_walk: function (e) {
return e._visit(this, function () {
this.condition._walk(e),
this.consequent._walk(e),
this.alternative._walk(e)
})
}
}),
Be = F('Assign', null, {
$documentation: 'An assignment expression — `a = b + 5`'
}, Fe),
Pe = F('Array', 'elements', {
$documentation: 'An array literal',
$propdoc: {
elements: '[AST_Node*] array of elements'
},
_walk: function (e) {
return e._visit(this, function () {
for (var t = this.elements, n = 0, r = t.length; n < r; n++) t[n]._walk(e)
})
}
}),
Ne = F('Object', 'properties', {
$documentation: 'An object literal',
$propdoc: {
properties: '[AST_ObjectProperty*] array of properties'
},
_walk: function (e) {
return e._visit(this, function () {
for (var t = this.properties, n = 0, r = t.length; n < r; n++) t[n]._walk(e)
})
}
}),
Re = F('ObjectProperty', 'key value', {
$documentation: 'Base class for literal object properties',
$propdoc: {
key: '[string] the property name converted to a string for ObjectKeyVal. For setters and getters this is an AST_SymbolAccessor.',
value: '[AST_Node] property value. For setters and getters this is an AST_Accessor.'
},
_walk: function (e) {
return e._visit(this, function () {
this.value._walk(e)
})
}
}),
Le = F('ObjectKeyVal', 'quote', {
$documentation: 'A key: value object property',
$propdoc: {
quote: '[string] the original quote character'
}
}, Re),
Ie = F('ObjectSetter', null, {
$documentation: 'An object setter property'
}, Re),
je = F('ObjectGetter', null, {
$documentation: 'An object getter property'
}, Re),
Me = F('Symbol', 'scope name thedef', {
$propdoc: {
name: '[string] name of this symbol',
scope: '[AST_Scope/S] the current scope (not necessarily the definition scope)',
thedef: '[SymbolDef/S] the definition of this symbol'
},
$documentation: 'Base class for all symbols'
}),
Ue = F('SymbolAccessor', null, {
$documentation: 'The name of a property accessor (setter/getter function)'
}, Me),
Ve = F('SymbolDeclaration', 'init', {
$documentation: 'A declaration symbol (symbol in var/const, function name or argument, symbol in catch)'
}, Me),
ze = F('SymbolVar', null, {
$documentation: 'Symbol defining a variable'
}, Ve),
qe = F('SymbolConst', null, {
$documentation: 'A constant declaration'
}, Ve),
Ke = F('SymbolFunarg', null, {
$documentation: 'Symbol naming a function argument'
}, ze),
$e = F('SymbolDefun', null, {
$documentation: 'Symbol defining a function'
}, Ve),
Ye = F('SymbolLambda', null, {
$documentation: 'Symbol naming a function expression'
}, Ve),
We = F('SymbolCatch', null, {
$documentation: 'Symbol naming the exception in catch'
}, Ve),
Ge = F('Label', 'references', {
$documentation: 'Symbol naming a label (declaration)',
$propdoc: {
references: '[AST_LoopControl*] a list of nodes referring to this label'
},
initialize: function () {
this.references = [
],
this.thedef = this
}
}, Me),
He = F('SymbolRef', null, {
$documentation: 'Reference to some symbol (not definition/declaration)'
}, Me),
Xe = F('LabelRef', null, {
$documentation: 'Reference to a label symbol'
}, Me),
Je = F('This', null, {
$documentation: 'The `this` symbol'
}, Me),
Qe = F('Constant', null, {
$documentation: 'Base class for all constants',
getValue: function () {
return this.value
}
}),
Ze = F('String', 'value quote', {
$documentation: 'A string literal',
$propdoc: {
value: '[string] the contents of this string',
quote: '[string] the original quote character'
}
}, Qe),
et = F('Number', 'value literal', {
$documentation: 'A number literal',
$propdoc: {
value: '[number] the numeric value',
literal: '[string] numeric value as string (optional)'
}
}, Qe),
tt = F('RegExp', 'value', {
$documentation: 'A regexp literal',
$propdoc: {
value: '[RegExp] the actual regexp'
}
}, Qe),
nt = F('Atom', null, {
$documentation: 'Base class for atoms'
}, Qe),
rt = F('Null', null, {
$documentation: 'The `null` atom',
value: null
}, nt),
it = F('NaN', null, {
$documentation: 'The impossible value',
value: NaN
}, nt),
st = F('Undefined', null, {
$documentation: 'The `undefined` value',
value: void 0
}, nt),
ot = F('Hole', null, {
$documentation: 'A hole in an array',
value: void 0
}, nt),
at = F('Infinity', null, {
$documentation: 'The `Infinity` value',
value: 1 / 0
}, nt),
ut = F('Boolean', null, {
$documentation: 'Base class for booleans'
}, nt),
lt = F('False', null, {
$documentation: 'The `false` atom',
value: !1
}, ut),
ct = F('True', null, {
$documentation: 'The `true` atom',
value: !0
}, ut);
function pt(e) {
this.visit = e,
this.stack = [
],
this.directives = Object.create(null)
}
pt.prototype = {
_visit: function (e, t) {
this.push(e);
var n = this.visit(e, t ? function () {
t.call(e)
}
: m);
return !n && t && t.call(e),
this.pop(e),
n
},
parent: function (e) {
return this.stack[this.stack.length - 2 - (e || 0)]
},
push: function (e) {
e instanceof Q ? this.directives = Object.create(this.directives) : e instanceof R && !this.directives[e.value] && (this.directives[e.value] = e),
this.stack.push(e)
},
pop: function (e) {
this.stack.pop(),
e instanceof Q && (this.directives = Object.getPrototypeOf(this.directives))
},
self: function () {
return this.stack[this.stack.length - 1]
},
find_parent: function (e) {
for (var t = this.stack, n = t.length; --n >= 0; ) {
var r = t[n];
if (r instanceof e) return r
}
},
has_directive: function (e) {
var t = this.directives[e];
if (t) return t;
var n = this.stack[this.stack.length - 1];
if (n instanceof X) for (var r = 0; r < n.body.length; ++r) {
var i = n.body[r];
if (!(i instanceof R)) break;
if (i.value == e) return i
}
},
in_boolean_context: function () {
for (var e = this.stack, t = e.length, n = e[--t]; t > 0; ) {
var r = e[--t];
if (r instanceof le && r.condition === n || r instanceof Oe && r.condition === n || r instanceof K && r.condition === n || r instanceof W && r.condition === n || r instanceof Se && '!' == r.operator && r.expression === n) return !0;
if (!(r instanceof Fe) || '&&' != r.operator && '||' != r.operator) return !1;
n = r
}
},
loopcontrol_target: function (e) {
var t = this.stack;
if (e.label) for (var n = t.length; --n >= 0; ) {
if ((r = t[n]) instanceof z && r.label.name == e.label.name) return r.body
} else for (n = t.length; --n >= 0; ) {
var r;
if ((r = t[n]) instanceof q || e instanceof ae && r instanceof ce) return r
}
}
};
var ht = 'break case catch const continue debugger default delete do else finally for function if in instanceof new return switch throw try typeof var void while with',
ft = 'false null true',
dt = 'abstract boolean byte char class double enum export extends final float goto implements import int interface let long native package private protected public short static super synchronized this throws transient volatile yield ' + ft + ' ' + ht,
mt = 'return new delete throw else case';
ht = w(ht),
dt = w(dt),
mt = w(mt),
ft = w(ft);
var gt = w(a('+-*&%=<>!?|~^')),
yt = /^0x[0-9a-f]+$/i,
vt = /^0[0-7]+$/,
bt = w(['in',
'instanceof',
'typeof',
'new',
'void',
'delete',
'++',
'--',
'+',
'-',
'!',
'~',
'&',
'|',
'^',
'*',
'/',
'%',
'>>',
'<<',
'>>>',
'<',
'>',
'<=',
'>=',
'==',
'===',
'!=',
'!==',
'?',
'=',
'+=',
'-=',
'/=',
'*=',
'%=',
'>>=',
'<<=',
'>>>=',
'|=',
'^=',
'&=',
'&&',
'||']),
xt = w(a(' \n\r\t\f\v \u2028\u2029 ')),
At = w(a('\n\r\u2028\u2029')),
Et = w(a('[{(,;:')),
_t = w(a('[]{}(),;:')),
Ct = w(a('gmsiy')),
wt = {
letter: new RegExp('[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\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\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\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-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\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\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\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-\\uAB5F\\uAB64\\uAB65\\uABC0-\\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]'),
digit: new RegExp('[\\u0030-\\u0039\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]'),
non_spacing_mark: new RegExp('[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065E\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0900-\\u0902\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F90-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1DC0-\\u1DE6\\u1DFD-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F\\uA67C\\uA67D\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26]'),
space_combining_mark: new RegExp('[\\u0903\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A19-\\u1A1B\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF2\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BD-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC]'),
connector_punctuation: new RegExp('[\\u005F\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F]')
};
function Dt(e) {
return e >= 97 && e <= 122 || e >= 65 && e <= 90 || e >= 170 && wt.letter.test(String.fromCharCode(e))
}
function kt(e) {
return e >= 48 && e <= 57
}
function St(e) {
return kt(e) || Dt(e)
}
function Tt(e) {
return wt.digit.test(String.fromCharCode(e))
}
function Ft(e) {
return wt.non_spacing_mark.test(e) || wt.space_combining_mark.test(e)
}
function Ot(e) {
return wt.connector_punctuation.test(e)
}
function Bt(e) {
return !dt(e) && /^[a-z_$][a-z0-9_$]*$/i.test(e)
}
function Pt(e) {
return 36 == e || 95 == e || Dt(e)
}
function Nt(e) {
var t = e.charCodeAt(0);
return Pt(t) || kt(t) || 8204 == t || 8205 == t || Ft(e) || Ot(e) || Tt(t)
}
function Rt(e) {
return /^[a-z_$][a-z0-9_$]*$/i.test(e)
}
function Lt(e) {
if (yt.test(e)) return parseInt(e.substr(2), 16);
if (vt.test(e)) return parseInt(e.substr(1), 8);
var t = parseFloat(e);
return t == e ? t : void 0
}
function It(e, t, n, r, i) {
this.message = e,
this.filename = t,
this.line = n,
this.col = r,
this.pos = i
}
function jt(e, t, n, r, i) {
throw new It(e, t, n, r, i)
}
function Mt(e, t, n) {
return e.type == t && (null == n || e.value == n)
}
It.prototype = Object.create(Error.prototype),
It.prototype.constructor = It,
It.prototype.name = 'SyntaxError',
p(It);
var Ut = {
};
function Vt(e, t, n, r) {
var i = {
text: e,
filename: t,
pos: 0,
tokpos: 0,
line: 1,
tokline: 0,
col: 0,
tokcol: 0,
newline_before: !1,
regex_allowed: !1,
comments_before: [
],
directives: {
},
directive_stack: [
]
};
function s() {
return i.text.charAt(i.pos)
}
function o(e, t) {
var n = i.text.charAt(i.pos++);
if (e && !n) throw Ut;
return At(n) ? (i.newline_before = i.newline_before || !t, ++i.line, i.col = 0, t || '\r' != n || '\n' != s() || (++i.pos, n = '\n')) : ++i.col,
n
}
function a(e) {
for (; e-- > 0; ) o()
}
function u(e) {
return i.text.substr(i.pos, e.length) == e
}
function l() {
i.tokline = i.line,
i.tokcol = i.col,
i.tokpos = i.pos
}
var c = !1;
function p(n, r, s) {
i.regex_allowed = 'operator' == n && !qt(r) || 'keyword' == n && mt(r) || 'punc' == n && Et(r),
'punc' == n && '.' == r ? c = !0 : s || (c = !1);
var o = {
type: n,
value: r,
line: i.tokline,
col: i.tokcol,
pos: i.tokpos,
endline: i.line,
endcol: i.col,
endpos: i.pos,
nlb: i.newline_before,
file: t
};
if (/^(?:num|string|regexp)$/i.test(n) && (o.raw = e.substring(o.pos, o.endpos)), !s) {
o.comments_before = i.comments_before,
i.comments_before = [
];
for (var a = 0, u = o.comments_before.length; a < u; a++) o.nlb = o.nlb || o.comments_before[a].nlb
}
return i.newline_before = !1,
new O(o)
}
function h() {
for (; xt(s()); ) o()
}
function f(e) {
jt(e, t, i.tokline, i.tokcol, i.tokpos)
}
function d(e) {
var t = !1,
n = !1,
r = !1,
i = '.' == e,
a = function (e) {
for (var t, n = '', r = 0; (t = s()) && e(t, r++); ) n += o();
return n
}(function (s, o) {
var a = s.charCodeAt(0);
switch (a) {
case 120:
case 88:
return !r && (r = !0);
case 101:
case 69:
return !!r || !t && (t = n = !0);
case 45:
return n || 0 == o && !e;
case 43:
return n;
case n = !1,
46:
return !(i || r || t) && (i = !0)
}
return St(a)
});
e && (a = e + a),
vt.test(a) && w.has_directive('use strict') && f('Legacy octal literals are not allowed in strict mode');
var u = Lt(a);
if (!isNaN(u)) return p('num', u);
f('Invalid syntax: ' + a)
}
function m(e) {
var t = o(!0, e);
switch (t.charCodeAt(0)) {
case 110:
return '\n';
case 114:
return '\r';
case 116:
return '\t';
case 98:
return '';
case 118:
return '\v';
case 102:
return '\f';
case 120:
return String.fromCharCode(g(2));
case 117:
return String.fromCharCode(g(4));
case 10:
return '';
case 13:
if ('\n' == s()) return o(!0, e),
''
}
return t >= '0' && t <= '7' ? function (e) {
var t = s();
t >= '0' && t <= '7' && (e += o(!0)) [0] <= '3' && (t = s()) >= '0' && t <= '7' && (e += o(!0));
if ('0' === e) return '\x00';
e.length > 0 && w.has_directive('use strict') && f('Legacy octal escape sequences are not allowed in strict mode');
return String.fromCharCode(parseInt(e, 8))
}(t) : t
}
function g(e) {
for (var t = 0; e > 0; --e) {
var n = parseInt(o(!0), 16);
isNaN(n) && f('Invalid hex-character pattern in string'),
t = t << 4 | n
}
return t
}
var y = C('Unterminated string constant', function (e) {
for (var t = o(), n = ''; ; ) {
var r = o(!0, !0);
if ('\\' == r) r = m(!0);
else if (At(r)) f('Unterminated string constant');
else if (r == t) break;
n += r
}
var i = p('string', n);
return i.quote = e,
i
});
function v(e) {
var t,
n = i.regex_allowed,
r = function () {
for (var e = i.text, t = i.pos, n = i.text.length; t < n; ++t) {
var r = e[t];
if (At(r)) return t
}
return - 1
}();
return - 1 == r ? (t = i.text.substr(i.pos), i.pos = i.text.length) : (t = i.text.substring(i.pos, r), i.pos = r),
i.col = i.tokcol + (i.pos - i.tokpos),
i.comments_before.push(p(e, t, !0)),
i.regex_allowed = n,
w
}
var b = C('Unterminated multiline comment', function () {
var e = i.regex_allowed,
t = function (e, t) {
var n = i.text.indexOf(e, i.pos);
if (t && - 1 == n) throw Ut;
return n
}('*/', !0),
n = i.text.substring(i.pos, t).replace(/\r\n|\r|\u2028|\u2029/g, '\n');
return a(n.length + 2),
i.comments_before.push(p('comment2', n, !0)),
i.regex_allowed = e,
w
});
function x() {
for (var e, t, n = !1, r = '', i = !1; null != (e = s()); ) if (n) 'u' != e && f('Expecting UnicodeEscapeSequence -- uXXXX'),
Nt(e = m()) || f('Unicode char: ' + e.charCodeAt(0) + ' is not valid in identifier'),
r += e,
n = !1;
else if ('\\' == e) i = n = !0,
o();
else {
if (!Nt(e)) break;
r += o()
}
return ht(r) && i && (t = r.charCodeAt(0).toString(16).toUpperCase(), r = '\\u' + '0000'.substr(t.length) + t + r.slice(1)),
r
}
var A = C('Unterminated regular expression', function (e) {
for (var t, n = !1, r = !1; t = o(!0); ) if (At(t)) f('Unexpected line terminator');
else if (n) e += '\\' + t,
n = !1;
else if ('[' == t) r = !0,
e += t;
else if (']' == t && r) r = !1,
e += t;
else {
if ('/' == t && !r) break;
'\\' == t ? n = !0 : e += t
}
var i = x();
try {
return p('regexp', new RegExp(e, i))
} catch (e) {
f(e.message)
}
});
function E(e) {
return p('operator', function e(t) {
if (!s()) return t;
var n = t + s();
return bt(n) ? (o(), e(n)) : t
}(e || o()))
}
function _() {
switch (o(), s()) {
case '/':
return o(),
v('comment1');
case '*':
return o(),
b()
}
return i.regex_allowed ? A('') : E('/')
}
function C(e, t) {
return function (n) {
try {
return t(n)
} catch (t) {
if (t !== Ut) throw t;
f(e)
}
}
}
function w(e) {
if (null != e) return A(e);
for (r && 0 == i.pos && u('#!') && (l(), a(2), v('comment5')); ; ) {
if (h(), l(), n) {
if (u('') && i.newline_before) {
a(3),
v('comment4');
continue
}
}
var t = s();
if (!t) return p('eof');
var m = t.charCodeAt(0);
switch (m) {
case 34:
case 39:
return y(t);
case 46:
return o(),
kt(s().charCodeAt(0)) ? d('.') : p('punc', '.');
case 47:
var g = _();
if (g === w) continue;
return g
}
if (kt(m)) return d();
if (_t(t)) return p('punc', o());
if (gt(t)) return E();
if (92 == m || Pt(m)) return void 0,
b = x(),
c ? p('name', b) : ft(b) ? p('atom', b) : ht(b) ? bt(b) ? p('operator', b) : p('keyword', b) : p('name', b);
break
}
var b;
f('Unexpected character \'' + t + '\'')
}
return w.context = function (e) {
return e && (i = e),
i
},
w.add_directive = function (e) {
i.directive_stack[i.directive_stack.length - 1].push(e),
void 0 === i.directives[e] ? i.directives[e] = 1 : i.directives[e]++
},
w.push_directives_stack = function () {
i.directive_stack.push([])
},
w.pop_directives_stack = function () {
for (var e = i.directive_stack[i.directive_stack.length - 1], t = 0; t < e.length; t++) i.directives[e[t]]--;
i.directive_stack.pop()
},
w.has_directive = function (e) {
return void 0 !== i.directives[e] && i.directives[e] > 0
},
w
}
var zt = w(['typeof',
'void',
'delete',
'--',
'++',
'!',
'~',
'-',
'+']),
qt = w(['--',
'++']),
Kt = w(['=',
'+=',
'-=',
'/=',
'*=',
'%=',
'>>=',
'<<=',
'>>>=',
'|=',
'^=',
'&=']),
$t = function (e, t) {
for (var n = 0; n < e.length; ++n) for (var r = e[n], i = 0; i < r.length; ++i) t[r[i]] = n + 1;
return t
}([['||'],
[
'&&'
],
[
'|'
],
[
'^'
],
[
'&'
],
[
'==',
'===',
'!=',
'!=='
],
[
'<',
'>',
'<=',
'>=',
'in',
'instanceof'
],
[
'>>',
'<<',
'>>>'
],
[
'+',
'-'
],
[
'*',
'/',
'%'
]], {
}),
Yt = o(['for',
'do',
'while',
'switch']),
Wt = o(['atom',
'num',
'string',
'regexp',
'name']);
function Gt(e, t) {
t = f(t, {
bare_returns: !1,
cli: !1,
expression: !1,
filename: null,
html5_comments: !0,
shebang: !0,
strict: !1,
toplevel: null
});
var n = {
input: 'string' == typeof e ? Vt(e, t.filename, t.html5_comments, t.shebang) : e,
token: null,
prev: null,
peeked: null,
in_function: 0,
in_directives: !0,
in_loop: 0,
labels: [
]
};
function r(e, t) {
return Mt(n.token, e, t)
}
function i() {
return n.peeked || (n.peeked = n.input())
}
function s() {
return n.prev = n.token,
n.peeked ? (n.token = n.peeked, n.peeked = null) : n.token = n.input(),
n.in_directives = n.in_directives && ('string' == n.token.type || r('punc', ';')),
n.token
}
function o() {
return n.prev
}
function a(e, t, r, i) {
var s = n.input.context();
jt(e, s.filename, null != t ? t : s.tokline, null != r ? r : s.tokcol, null != i ? i : s.tokpos)
}
function u(e, t) {
a(t, e.line, e.col)
}
function c(e) {
null == e && (e = n.token),
u(e, 'Unexpected token: ' + e.type + ' (' + e.value + ')')
}
function p(e, t) {
if (r(e, t)) return s();
u(n.token, 'Unexpected token ' + n.token.type + ' «' + n.token.value + '», expected ' + e + ' «' + t + '»')
}
function h(e) {
return p('punc', e)
}
function d() {
return !t.strict && (n.token.nlb || r('eof') || r('punc', '}'))
}
function m(e) {
r('punc', ';') ? s() : e || d() || c()
}
function g() {
h('(');
var e = pe(!0);
return h(')'),
e
}
function y(e) {
return function () {
var t = n.token,
r = e(),
i = o();
return r.start = t,
r.end = i,
r
}
}
function v() {
(r('operator', '/') || r('operator', '/=')) && (n.peeked = null, n.token = n.input(n.token.value.substr(1)))
}
n.token = s();
var b = y(function () {
switch (v(), n.token.type) {
case 'string':
if (n.in_directives) {
var e = i();
- 1 == n.token.raw.indexOf('\\') && (e.nlb || Mt(e, 'eof') || Mt(e, 'punc', ';') || Mt(e, 'punc', '}')) ? n.input.add_directive(n.token.value) : n.in_directives = !1
}
var u = n.in_directives,
f = x();
return u ? new R(f.body) : f;
case 'num':
case 'regexp':
case 'operator':
case 'atom':
return x();
case 'name':
return Mt(i(), 'punc', ':') ? function () {
var e = j(Ge);
l(function (t) {
return t.name == e.name
}, n.labels) && a('Label ' + e.name + ' defined twice');
h(':'),
n.labels.push(e);
var t = b();
n.labels.pop(),
t instanceof q || e.references.forEach(function (t) {
t instanceof ue && (t = t.label.start, a('Continue label `' + e.name + '` refers to non-IterationStatement.', t.line, t.col, t.pos))
});
return new z({
body: t,
label: e
})
}() : x();
case 'punc':
switch (n.token.value) {
case '{':
return new M({
start: n.token,
body: _(),
end: o()
});
case '[':
case '(':
return x();
case ';':
return n.in_directives = !1,
s(),
new U;
default:
c()
}
case 'keyword':
switch (n.token.value) {
case 'break':
return s(),
A(ae);
case 'continue':
return s(),
A(ue);
case 'debugger':
return s(),
m(),
new N;
case 'do':
s();
var y = ye(b);
p('keyword', 'while');
var w = g();
return m(!0),
new $({
body: y,
condition: w
});
case 'while':
return s(),
new Y({
condition: g(),
body: ye(b)
});
case 'for':
return s(),
function () {
h('(');
var e = null;
if (!r('punc', ';') && (e = r('keyword', 'var') ? (s(), D(!0)) : pe(!0, !0), r('operator', 'in'))) return e instanceof ve && e.definitions.length > 1 && a('Only one variable declaration allowed in for..in loop'),
s(),
function (e) {
var t = e instanceof ve ? e.definitions[0].name : null,
n = pe(!0);
return h(')'),
new G({
init: e,
name: t,
object: n,
body: ye(b)
})
}(e);
return function (e) {
h(';');
var t = r('punc', ';') ? null : pe(!0);
h(';');
var n = r('punc', ')') ? null : pe(!0);
return h(')'),
new W({
init: e,
condition: t,
step: n,
body: ye(b)
})
}(e)
}();
case 'function':
return s(),
E(te);
case 'if':
return s(),
function () {
var e = g(),
t = b(),
n = null;
r('keyword', 'else') && (s(), n = b());
return new le({
condition: e,
body: t,
alternative: n
})
}();
case 'return':
0 != n.in_function || t.bare_returns || a('\'return\' outside of function'),
s();
var S = null;
return r('punc', ';') ? s() : d() || (S = pe(!0), m()),
new ie({
value: S
});
case 'switch':
return s(),
new ce({
expression: g(),
body: ye(C)
});
case 'throw':
s(),
n.token.nlb && a('Illegal newline after \'throw\'');
S = pe(!0);
return m(),
new se({
value: S
});
case 'try':
return s(),
function () {
var e = _(),
t = null,
i = null;
if (r('keyword', 'catch')) {
var u = n.token;
s(),
h('(');
var l = j(We);
h(')'),
t = new me({
start: u,
argname: l,
body: _(),
end: o()
})
}
if (r('keyword', 'finally')) {
var u = n.token;
s(),
i = new ge({
start: u,
body: _(),
end: o()
})
}
t || i || a('Missing catch/finally blocks');
return new de({
body: e,
bcatch: t,
bfinally: i
})
}();
case 'var':
s();
var T = D();
return m(),
T;
case 'const':
s();
T = k();
return m(),
T;
case 'with':
return n.input.has_directive('use strict') && a('Strict mode may not include a with statement'),
s(),
new H({
expression: g(),
body: b()
})
}
}
c()
});
function x(e) {
return new L({
body: (e = pe(!0), m(), e)
})
}
function A(e) {
var t,
r = null;
d() || (r = j(Xe, !0)),
null != r ? ((t = l(function (e) {
return e.name == r.name
}, n.labels)) || a('Undefined label ' + r.name), r.thedef = t) : 0 == n.in_loop && a(e.TYPE + ' not inside a loop or switch'),
m();
var i = new e({
label: r
});
return t && t.references.push(i),
i
}
var E = function (e) {
var t = e === te,
i = r('name') ? j(t ? $e : Ye) : null;
return t && !i && c(),
h('('),
new e({
name: i,
argnames: function (e, t) {
for (; !r('punc', ')'); ) e ? e = !1 : h(','),
t.push(j(Ke));
return s(),
t
}(!0, [
]),
body: function (e, t) {
++n.in_function,
n.in_directives = !0,
n.input.push_directives_stack(),
n.in_loop = 0,
n.labels = [
];
var r = _();
return n.input.pop_directives_stack(),
--n.in_function,
n.in_loop = e,
n.labels = t,
r
}(n.in_loop, n.labels)
})
};
function _() {
h('{');
for (var e = [
]; !r('punc', '}'); ) r('eof') && c(),
e.push(b());
return s(),
e
}
function C() {
h('{');
for (var e, t = [
], i = null, a = null; !r('punc', '}'); ) r('eof') && c(),
r('keyword', 'case') ? (a && (a.end = o()), i = [
], a = new fe({
start: (e = n.token, s(), e),
expression: pe(!0),
body: i
}), t.push(a), h(':')) : r('keyword', 'default') ? (a && (a.end = o()), i = [
], a = new he({
start: (e = n.token, s(), h(':'), e),
body: i
}), t.push(a)) : (i || c(), i.push(b()));
return a && (a.end = o()),
s(),
t
}
function w(e, t) {
for (var i = [
]; i.push(new xe({
start: n.token,
name: j(t ? qe : ze),
value: r('operator', '=') ? (s(), pe(!1, e)) : null,
end: o()
})), r('punc', ','); ) s();
return i
}
var D = function (e) {
return new ve({
start: o(),
definitions: w(e, !1),
end: o()
})
},
k = function () {
return new be({
start: o(),
definitions: w(!1, !0),
end: o()
})
};
var S = function (e) {
if (r('operator', 'new')) return function (e) {
var t = n.token;
p('operator', 'new');
var i,
a = S(!1);
return r('punc', '(') ? (s(), i = T(')')) : i = [
],
V(new Ee({
start: t,
expression: a,
args: i,
end: o()
}), e)
}(e);
var t = n.token;
if (r('punc')) {
switch (t.value) {
case '(':
s();
var i = pe(!0);
return i.start = t,
i.end = n.token,
h(')'),
V(i, e);
case '[':
return V(F(), e);
case '{':
return V(B(), e)
}
c()
}
if (r('keyword', 'function')) {
s();
var u = E(ee);
return u.start = t,
u.end = o(),
V(u, e)
}
if (Wt[n.token.type]) return V(function () {
var e,
t = n.token;
switch (t.type) {
case 'name':
case 'keyword':
e = I(He);
break;
case 'num':
e = new et({
start: t,
end: t,
value: t.value
});
break;
case 'string':
e = new Ze({
start: t,
end: t,
value: t.value,
quote: t.quote
});
break;
case 'regexp':
e = new tt({
start: t,
end: t,
value: t.value
});
break;
case 'atom':
switch (t.value) {
case 'false':
e = new lt({
start: t,
end: t
});
break;
case 'true':
e = new ct({
start: t,
end: t
});
break;
case 'null':
e = new rt({
start: t,
end: t
})
}
break;
case 'operator':
Rt(t.value) || a('Invalid getter/setter name: ' + t.value, t.line, t.col, t.pos),
e = I(He)
}
return s(),
e
}(), e);
c()
};
function T(e, t, i) {
for (var o = !0, a = [
]; !r('punc', e) && (o ? o = !1 : h(','), !t || !r('punc', e)); ) r('punc', ',') && i ? a.push(new ot({
start: n.token,
end: n.token
})) : a.push(pe(!1));
return s(),
a
}
var F = y(function () {
return h('['),
new Pe({
elements: T(']', !t.strict, !0)
})
}),
O = y(function () {
return E(Z)
}),
B = y(function () {
h('{');
for (var e = !0, i = [
]; !r('punc', '}') && (e ? e = !1 : h(','), t.strict || !r('punc', '}')); ) {
var a = n.token,
u = a.type,
l = P();
if ('name' == u && !r('punc', ':')) {
var c = new Ue({
start: n.token,
name: P(),
end: o()
});
if ('get' == l) {
i.push(new je({
start: a,
key: c,
value: O(),
end: o()
}));
continue
}
if ('set' == l) {
i.push(new Ie({
start: a,
key: c,
value: O(),
end: o()
}));
continue
}
}
h(':'),
i.push(new Le({
start: a,
quote: a.quote,
key: l,
value: pe(!1),
end: o()
}))
}
return s(),
new Ne({
properties: i
})
});
function P() {
var e = n.token;
switch (e.type) {
case 'operator':
ht(e.value) || c();
case 'num':
case 'string':
case 'name':
case 'keyword':
case 'atom':
return s(),
e.value;
default:
c()
}
}
function I(e) {
var t = n.token.value;
return new ('this' == t ? Je : e) ({
name: String(t),
start: n.token,
end: n.token
})
}
function j(e, t) {
if (!r('name')) return t || a('Name expected'),
null;
var n = I(e);
return s(),
n
}
var V = function (e, t) {
var i,
a = e.start;
if (r('punc', '.')) return s(),
V(new we({
start: a,
expression: e,
property: (i = n.token, 'name' != i.type && c(), s(), i.value),
end: o()
}), t);
if (r('punc', '[')) {
s();
var u = pe(!0);
return h(']'),
V(new De({
start: a,
expression: e,
property: u,
end: o()
}), t)
}
return t && r('punc', '(') ? (s(), V(new Ae({
start: a,
expression: e,
args: T(')'),
end: o()
}), !0)) : e
},
K = function (e) {
var t = n.token;
if (r('operator') && zt(t.value)) {
s(),
v();
var i = X(Se, t, K(e));
return i.start = t,
i.end = o(),
i
}
for (var a = S(e); r('operator') && qt(n.token.value) && !n.token.nlb; ) (a = X(Te, n.token, a)).start = t,
a.end = n.token,
s();
return a
};
function X(e, t, n) {
var r = t.value;
return '++' != r && '--' != r || re(n) || a('Invalid use of ' + r + ' operator', t.line, t.col, t.pos),
new e({
operator: r,
expression: n
})
}
var Q = function (e, t, i) {
var o = r('operator') ? n.token.value : null;
'in' == o && i && (o = null);
var a = null != o ? $t[o] : null;
if (null != a && a > t) {
s();
var u = Q(K(!0), a, i);
return Q(new Fe({
start: e.start,
left: e,
operator: o,
right: u,
end: u.end
}), t, i)
}
return e
};
var ne = function (e) {
var t = n.token,
i = function (e) {
return Q(K(!0), 0, e)
}(e);
if (r('operator', '?')) {
s();
var a = pe(!1);
return h(':'),
new Oe({
start: t,
condition: i,
consequent: a,
alternative: pe(!1, e),
end: o()
})
}
return i
};
function re(e) {
return !!t.cli || (e instanceof Ce || e instanceof He)
}
var oe = function (e) {
var t = n.token,
i = ne(e),
u = n.token.value;
if (r('operator') && Kt(u)) {
if (re(i)) return s(),
new Be({
start: t,
left: i,
operator: u,
right: oe(e),
end: o()
});
a('Invalid assignment')
}
return i
},
pe = function (e, t) {
var o = n.token,
a = oe(t);
return e && r('punc', ',') ? (s(), new _e({
start: o,
car: a,
cdr: pe(!0, t),
end: i()
})) : a
};
function ye(e) {
++n.in_loop;
var t = e();
return --n.in_loop,
t
}
return t.expression ? pe(!0) : function () {
var e = n.token,
i = [
];
for (n.input.push_directives_stack(); !r('eof'); ) i.push(b());
n.input.pop_directives_stack();
var s = o(),
a = t.toplevel;
return a ? (a.body = a.body.concat(i), a.end = s) : a = new J({
start: e,
body: i,
end: s
}),
a
}()
}
function Ht(e, t) {
pt.call(this),
this.before = e,
this.after = t
}
function Xt(e, t, n) {
this.name = n.name,
this.orig = [
n
],
this.scope = e,
this.references = [
],
this.global = !1,
this.mangled_name = null,
this.undeclared = !1,
this.index = t,
this.id = Xt.next_id++
}
Ht.prototype = new pt,
function (e) {
function t(t, n) {
t.DEFMETHOD('transform', function (t, r) {
var i,
s;
return t.push(this),
t.before && (i = t.before(this, n, r)),
i === e && (t.after ? (t.stack[t.stack.length - 1] = i = this, n(i, t), (s = t.after(i, r)) !== e && (i = s)) : n(i = this, t)),
t.pop(this),
i
})
}
function n(e, t) {
return x(e, function (e) {
return e.transform(t, !0)
})
}
t(B, m),
t(z, function (e, t) {
e.label = e.label.transform(t),
e.body = e.body.transform(t)
}),
t(L, function (e, t) {
e.body = e.body.transform(t)
}),
t(j, function (e, t) {
e.body = n(e.body, t)
}),
t(K, function (e, t) {
e.condition = e.condition.transform(t),
e.body = e.body.transform(t)
}),
t(W, function (e, t) {
e.init && (e.init = e.init.transform(t)),
e.condition && (e.condition = e.condition.transform(t)),
e.step && (e.step = e.step.transform(t)),
e.body = e.body.transform(t)
}),
t(G, function (e, t) {
e.init = e.init.transform(t),
e.object = e.object.transform(t),
e.body = e.body.transform(t)
}),
t(H, function (e, t) {
e.expression = e.expression.transform(t),
e.body = e.body.transform(t)
}),
t(re, function (e, t) {
e.value && (e.value = e.value.transform(t))
}),
t(oe, function (e, t) {
e.label && (e.label = e.label.transform(t))
}),
t(le, function (e, t) {
e.condition = e.condition.transform(t),
e.body = e.body.transform(t),
e.alternative && (e.alternative = e.alternative.transform(t))
}),
t(ce, function (e, t) {
e.expression = e.expression.transform(t),
e.body = n(e.body, t)
}),
t(fe, function (e, t) {
e.expression = e.expression.transform(t),
e.body = n(e.body, t)
}),
t(de, function (e, t) {
e.body = n(e.body, t),
e.bcatch && (e.bcatch = e.bcatch.transform(t)),
e.bfinally && (e.bfinally = e.bfinally.transform(t))
}),
t(me, function (e, t) {
e.argname = e.argname.transform(t),
e.body = n(e.body, t)
}),
t(ye, function (e, t) {
e.definitions = n(e.definitions, t)
}),
t(xe, function (e, t) {
e.name = e.name.transform(t),
e.value && (e.value = e.value.transform(t))
}),
t(Q, function (e, t) {
e.name && (e.name = e.name.transform(t)),
e.argnames = n(e.argnames, t),
e.body = n(e.body, t)
}),
t(Ae, function (e, t) {
e.expression = e.expression.transform(t),
e.args = n(e.args, t)
}),
t(_e, function (e, t) {
e.car = e.car.transform(t),
e.cdr = e.cdr.transform(t)
}),
t(we, function (e, t) {
e.expression = e.expression.transform(t)
}),
t(De, function (e, t) {
e.expression = e.expression.transform(t),
e.property = e.property.transform(t)
}),
t(ke, function (e, t) {
e.expression = e.expression.transform(t)
}),
t(Fe, function (e, t) {
e.left = e.left.transform(t),
e.right = e.right.transform(t)
}),
t(Oe, function (e, t) {
e.condition = e.condition.transform(t),
e.consequent = e.consequent.transform(t),
e.alternative = e.alternative.transform(t)
}),
t(Pe, function (e, t) {
e.elements = n(e.elements, t)
}),
t(Ne, function (e, t) {
e.properties = n(e.properties, t)
}),
t(Re, function (e, t) {
e.value = e.value.transform(t)
})
}(),
Xt.next_id = 1,
Xt.prototype = {
unmangleable: function (e) {
return e || (e = {
}),
this.global && !e.toplevel || this.undeclared || !e.eval && (this.scope.uses_eval || this.scope.uses_with) || e.keep_fnames && (this.orig[0] instanceof Ye || this.orig[0] instanceof $e)
},
mangle: function (e) {
var t = e.cache && e.cache.props;
if (this.global && t && t.has(this.name)) this.mangled_name = t.get(this.name);
else if (!this.mangled_name && !this.unmangleable(e)) {
var n,
r = this.scope,
i = this.orig[0];
!e.screw_ie8 && i instanceof Ye && (r = r.parent_scope),
this.defun && (n = this.defun.variables.get(this.name)) ? this.mangled_name = n.mangled_name || n.name : this.mangled_name = r.next_mangled(e, this),
this.global && t && t.set(this.name, this.mangled_name)
}
}
},
J.DEFMETHOD('figure_out_scope', function (e) {
e = f(e, {
cache: null,
screw_ie8: !0
});
var t = this,
n = t.parent_scope = null,
r = new k,
i = null,
s = new pt(function (t, s) {
if (t instanceof me) {
var o = n;
return (n = new X(t)).init_scope_vars(o),
s(),
n = o,
!0
}
if (t instanceof X) {
t.init_scope_vars(n);
o = n;
var a = i,
u = r;
return i = n = t,
r = new k,
s(),
n = o,
i = a,
r = u,
!0
}
if (t instanceof z) {
var l = t.label;
if (r.has(l.name)) throw new Error(E('Label {name} defined twice', l));
return r.set(l.name, l),
s(),
r.del(l.name),
!0
}
if (t instanceof H) for (var c = n; c; c = c.parent_scope) c.uses_with = !0;
else if (t instanceof Me && (t.scope = n), t instanceof Ge && (t.thedef = t, t.references = [
]), t instanceof Ye) i.def_function(t);
else if (t instanceof $e) (t.scope = i.parent_scope).def_function(t);
else if (t instanceof ze || t instanceof qe) {
if (i.def_variable(t), i !== n) {
t.mark_enclosed(e);
var p = n.find_variable(t);
t.thedef !== p && (t.thedef = p, t.reference(e))
}
} else if (t instanceof We) n.def_variable(t).defun = i;
else if (t instanceof Xe) {
var h = r.get(t.name);
if (!h) throw new Error(E('Undefined label {name} [{line},{col}]', {
name: t.name,
line: t.start.line,
col: t.start.col
}));
t.thedef = h
}
});
t.walk(s);
var o = null;
t.globals = new k,
s = new pt(function (n, r) {
if (n instanceof Q) {
var i = o;
return o = n,
r(),
o = i,
!0
}
if (n instanceof oe && n.label) return n.label.thedef.references.push(n),
!0;
if (n instanceof He) {
var a = n.name;
if ('eval' == a && s.parent() instanceof Ae) for (var u = n.scope; u && !u.uses_eval; u = u.parent_scope) u.uses_eval = !0;
var l = n.scope.find_variable(a);
return n.scope instanceof Q && 'arguments' == a && (n.scope.uses_arguments = !0),
l || (l = t.def_global(n)),
n.thedef = l,
n.reference(e),
!0
}
});
t.walk(s),
e.screw_ie8 || t.walk(new pt(function (n, r) {
if (n instanceof We) {
var i = n.name,
s = n.thedef.references,
o = n.thedef.defun,
a = o.find_variable(i) || t.globals.get(i) || o.def_variable(n);
return s.forEach(function (t) {
t.thedef = a,
t.reference(e)
}),
n.thedef = a,
!0
}
})),
e.cache && (this.cname = e.cache.cname)
}),
J.DEFMETHOD('def_global', function (e) {
var t = this.globals,
n = e.name;
if (t.has(n)) return t.get(n);
var r = new Xt(this, t.size(), e);
return r.undeclared = !0,
r.global = !0,
t.set(n, r),
r
}),
X.DEFMETHOD('init_scope_vars', function (e) {
this.variables = new k,
this.functions = new k,
this.uses_with = !1,
this.uses_eval = !1,
this.parent_scope = e,
this.enclosed = [
],
this.cname = - 1
}),
Q.DEFMETHOD('init_scope_vars', function () {
X.prototype.init_scope_vars.apply(this, arguments),
this.uses_arguments = !1,
this.def_variable(new ze({
name: 'arguments',
start: this.start,
end: this.end
}))
}),
Me.DEFMETHOD('mark_enclosed', function (e) {
for (var t = this.definition(), n = this.scope; n && (A(n.enclosed, t), e.keep_fnames && n.functions.each(function (e) {
A(t.scope.enclosed, e)
}), n !== t.scope); ) n = n.parent_scope
}),
Me.DEFMETHOD('reference', function (e) {
this.definition().references.push(this),
this.mark_enclosed(e)
}),
X.DEFMETHOD('find_variable', function (e) {
return e instanceof Me && (e = e.name),
this.variables.get(e) || this.parent_scope && this.parent_scope.find_variable(e)
}),
X.DEFMETHOD('def_function', function (e) {
this.functions.set(e.name, this.def_variable(e))
}),
X.DEFMETHOD('def_variable', function (e) {
var t;
return this.variables.has(e.name) ? (t = this.variables.get(e.name)).orig.push(e) : (t = new Xt(this, this.variables.size(), e), this.variables.set(e.name, t), t.global = !this.parent_scope),
e.thedef = t
}),
X.DEFMETHOD('next_mangled', function (e) {
var t = this.enclosed;
e: for (; ; ) {
var n = Jt(++this.cname);
if (Bt(n) && !(e.except.indexOf(n) >= 0)) {
for (var r = t.length; --r >= 0; ) {
var i = t[r];
if (n == (i.mangled_name || i.unmangleable(e) && i.name)) continue e
}
return n
}
}
}),
ee.DEFMETHOD('next_mangled', function (e, t) {
for (var n = t.orig[0] instanceof Ke && this.name && this.name.definition(), r = n ? n.mangled_name || n.name : null; ; ) {
var i = Q.prototype.next_mangled.call(this, e, t);
if (!r || r != i) return i
}
}),
Me.DEFMETHOD('unmangleable', function (e) {
return this.definition().unmangleable(e)
}),
Ge.DEFMETHOD('unmangleable', function () {
return !1
}),
Me.DEFMETHOD('unreferenced', function () {
return 0 == this.definition().references.length && !(this.scope.uses_eval || this.scope.uses_with)
}),
Me.DEFMETHOD('undeclared', function () {
return this.definition().undeclared
}),
Xe.DEFMETHOD('undeclared', function () {
return !1
}),
Ge.DEFMETHOD('undeclared', function () {
return !1
}),
Me.DEFMETHOD('definition', function () {
return this.thedef
}),
Me.DEFMETHOD('global', function () {
return this.definition().global
}),
J.DEFMETHOD('_default_mangler_options', function (e) {
return f(e, {
eval: !1,
except: [
],
keep_fnames: !1,
screw_ie8: !0,
sort: !1,
toplevel: !1
})
}),
J.DEFMETHOD('mangle_names', function (e) {
(e = this._default_mangler_options(e)).except.push('arguments');
var t = - 1,
n = [
];
e.cache && this.globals.each(function (t) {
e.except.indexOf(t.name) < 0 && n.push(t)
});
var r = new pt(function (i, s) {
if (i instanceof z) {
var o = t;
return s(),
t = o,
!0
}
if (i instanceof X) {
r.parent();
var a = [
];
return i.variables.each(function (t) {
e.except.indexOf(t.name) < 0 && a.push(t)
}),
void n.push.apply(n, a)
}
if (i instanceof Ge) {
var u;
do {
u = Jt(++t)
} while (!Bt(u));
return i.mangled_name = u,
!0
}
e.screw_ie8 && i instanceof We && n.push(i.definition())
});
this.walk(r),
n.forEach(function (t) {
t.mangle(e)
}),
e.cache && (e.cache.cname = this.cname)
}),
J.DEFMETHOD('compute_char_frequency', function (e) {
e = this._default_mangler_options(e);
var t = new pt(function (t) {
t instanceof Qe ? Jt.consider(t.print_to_string()) : t instanceof ie ? Jt.consider('return') : t instanceof se ? Jt.consider('throw') : t instanceof ue ? Jt.consider('continue') : t instanceof ae ? Jt.consider('break') : t instanceof N ? Jt.consider('debugger') : t instanceof R ? Jt.consider(t.value) : t instanceof Y ? Jt.consider('while') : t instanceof $ ? Jt.consider('do while') : t instanceof le ? (Jt.consider('if'), t.alternative && Jt.consider('else')) : t instanceof ve ? Jt.consider('var') : t instanceof be ? Jt.consider('const') : t instanceof Q ? Jt.consider('function') : t instanceof W ? Jt.consider('for') : t instanceof G ? Jt.consider('for in') : t instanceof ce ? Jt.consider('switch') : t instanceof fe ? Jt.consider('case') : t instanceof he ? Jt.consider('default') : t instanceof H ? Jt.consider('with') : t instanceof Ie ? Jt.consider('set' + t.key) : t instanceof je ? Jt.consider('get' + t.key) : t instanceof Le ? Jt.consider(t.key) : t instanceof Ee ? Jt.consider('new') : t instanceof Je ? Jt.consider('this') : t instanceof de ? Jt.consider('try') : t instanceof me ? Jt.consider('catch') : t instanceof ge ? Jt.consider('finally') : t instanceof Me && t.unmangleable(e) ? Jt.consider(t.name) : t instanceof ke || t instanceof Fe ? Jt.consider(t.operator) : t instanceof we && Jt.consider(t.property)
});
this.walk(t),
Jt.sort()
});
var Jt = function () {
var e,
t,
n = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789';
function r() {
t = Object.create(null),
(e = n.split('').map(function (e) {
return e.charCodeAt(0)
})).forEach(function (e) {
t[e] = 0
})
}
function i(t) {
var n = '',
r = 54;
t++;
do {
t--,
n += String.fromCharCode(e[t % r]),
t = Math.floor(t / r),
r = 64
} while (t > 0);
return n
}
return i.consider = function (e) {
for (var n = e.length; --n >= 0; ) {
var r = e.charCodeAt(n);
r in t && ++t[r]
}
},
i.sort = function () {
e = C(e, function (e, n) {
return kt(e) && !kt(n) ? 1 : kt(n) && !kt(e) ? - 1 : t[n] - t[e]
})
},
i.reset = r,
r(),
i.get = function () {
return e
},
i.freq = function () {
return t
},
i
}();
J.DEFMETHOD('scope_warnings', function (e) {
e = f(e, {
assign_to_global: !0,
eval: !0,
func_arguments: !0,
nested_defuns: !0,
undeclared: !1,
unreferenced: !0
});
var t = new pt(function (n) {
if (e.undeclared && n instanceof He && n.undeclared() && B.warn('Undeclared symbol: {name} [{file}:{line},{col}]', {
name: n.name,
file: n.start.file,
line: n.start.line,
col: n.start.col
}), e.assign_to_global) {
var r = null;
n instanceof Be && n.left instanceof He ? r = n.left : n instanceof G && n.init instanceof He && (r = n.init),
r && (r.undeclared() || r.global() && r.scope !== r.definition().scope) && B.warn('{msg}: {name} [{file}:{line},{col}]', {
msg: r.undeclared() ? 'Accidental global?' : 'Assignment to global',
name: r.name,
file: r.start.file,
line: r.start.line,
col: r.start.col
})
}
e.eval && n instanceof He && n.undeclared() && 'eval' == n.name && B.warn('Eval is used [{file}:{line},{col}]', n.start),
e.unreferenced && (n instanceof Ve || n instanceof Ge) && !(n instanceof We) && n.unreferenced() && B.warn('{type} {name} is declared but not referenced [{file}:{line},{col}]', {
type: n instanceof Ge ? 'Label' : 'Symbol',
name: n.name,
file: n.start.file,
line: n.start.line,
col: n.start.col
}),
e.func_arguments && n instanceof Q && n.uses_arguments && B.warn('arguments used in function {name} [{file}:{line},{col}]', {
name: n.name ? n.name.name : 'anonymous',
file: n.start.file,
line: n.start.line,
col: n.start.col
}),
e.nested_defuns && n instanceof te && !(t.parent() instanceof X) && B.warn('Function {name} declared in nested statement "{type}" [{file}:{line},{col}]', {
name: n.name.name,
type: t.parent().TYPE,
file: n.start.file,
line: n.start.line,
col: n.start.col
})
});
this.walk(t)
});
var Qt = /^$|[;{][\s\n]*$/;
function Zt(e) {
return 'comment2' == e.type && /@preserve|@license|@cc_on/i.test(e.value)
}
function en(e) {
var t = g;
if ((e = f(e, {
ascii_only: !1,
beautify: !1,
bracketize: !1,
comments: !1,
indent_level: 4,
indent_start: 0,
inline_script: !0,
keep_quoted_props: !1,
max_line_len: !1,
preamble: null,
preserve_line: !1,
quote_keys: !1,
quote_style: 0,
screw_ie8: !0,
semicolons: !0,
shebang: !0,
source_map: null,
space_colon: !0,
unescape_regexps: !1,
width: 80,
wrap_iife: !1
}, !0)).comments) {
var n = e.comments;
if ('string' == typeof e.comments && /^\/.*\/[a-zA-Z]*$/.test(e.comments)) {
var r = e.comments.lastIndexOf('/');
n = new RegExp(e.comments.substr(1, r - 1), e.comments.substr(r + 1))
}
t = n instanceof RegExp ? function (e) {
return 'comment5' != e.type && n.test(e.value)
}
: 'function' == typeof n ? function (e) {
return 'comment5' != e.type && n(this, e)
}
: 'some' === n ? Zt : y
}
var i = 0,
s = 0,
o = 1,
a = 0,
u = '';
function l(e, t) {
return e.replace(/[\u0000-\u001f\u007f-\uffff]/g, function (e) {
var n = e.charCodeAt(0).toString(16);
if (n.length <= 2 && !t) {
for (; n.length < 2; ) n = '0' + n;
return '\\x' + n
}
for (; n.length < 4; ) n = '0' + n;
return '\\u' + n
})
}
function p(t, n) {
var r = function (t, n) {
var r = 0,
i = 0;
function s() {
return '\'' + t.replace(/\x27/g, '\\\'') + '\''
}
function o() {
return '"' + t.replace(/\x22/g, '\\"') + '"'
}
switch (t = t.replace(/[\\\b\f\n\r\v\t\x22\x27\u2028\u2029\0\ufeff]/g, function (n, s) {
switch (n) {
case '"':
return ++r,
'"';
case '\'':
return ++i,
'\'';
case '\\':
return '\\\\';
case '\n':
return '\\n';
case '\r':
return '\\r';
case '\t':
return '\\t';
case '':
return '\\b';
case '\f':
return '\\f';
case '\v':
return e.screw_ie8 ? '\\v' : '\\x0B';
case '\u2028':
return '\\u2028';
case '\u2029':
return '\\u2029';
case '':
return '\\ufeff';
case '\x00':
return /[0-7]/.test(t.charAt(s + 1)) ? '\\x00' : '\\0'
}
return n
}), e.ascii_only && (t = l(t)), e.quote_style) {
case 1:
return s();
case 2:
return o();
case 3:
return '\'' == n ? s() : o();
default:
return r > i ? s() : o()
}
}(t, n);
return e.inline_script && (r = (r = (r = r.replace(/<\x2fscript([>\/\t\n\f\r ])/gi, '<\\/script$1')).replace(/\x3c!--/g, '\\x3c!--')).replace(/--\x3e/g, '--\\x3e')),
r
}
var h = !1,
d = !1,
v = 0,
b = '',
x = e.max_line_len ? function () {
if (s > e.max_line_len) {
if (v) {
var t = u.slice(0, v),
n = u.slice(v);
u = t + '\n' + n,
o++,
a++,
s = n.length
}
s > e.max_line_len && B.warn('Output exceeds {max_line_len} characters', e)
}
v = 0
}
: m,
A = w('( [ + * / - , .');
function E(t) {
var n = (t = String(t)).charAt(0),
r = b.charAt(b.length - 1);
if (d && (d = !1, (':' == r && '}' == n || (!n || ';}'.indexOf(n) < 0) && ';' != r) && (e.semicolons || A(n) ? (u += ';', s++, a++) : (x(), u += '\n', a++, o++, s = 0, /^\s+$/.test(t) && (d = !0)), e.beautify || (h = !1))), !e.beautify && e.preserve_line && N[N.length - 1]) for (var i = N[N.length - 1].start.line; o < i; ) x(),
u += '\n',
a++,
o++,
s = 0,
h = !1;
h && ((Nt(r) && (Nt(n) || '\\' == n) || '/' == n && n == r || ('+' == n || '-' == n) && n == b) && (u += ' ', s++, a++), h = !1),
u += t,
a += t.length;
var l = t.split(/\r?\n/),
c = l.length - 1;
o += c,
s += l[0].length,
c > 0 && (x(), s = l[c].length),
b = t
}
var _ = e.beautify ? function () {
E(' ')
}
: function () {
h = !0
},
C = e.beautify ? function (t) {
var n;
e.beautify && E((n = t ? 0.5 : 0, c(' ', e.indent_start + i - n * e.indent_level)))
}
: m,
D = e.beautify ? function (e, t) {
!0 === e && (e = F());
var n = i;
i = e;
var r = t();
return i = n,
r
}
: function (e, t) {
return t()
},
k = e.beautify ? function () {
E('\n')
}
: e.max_line_len ? function () {
x(),
v = u.length
}
: m,
S = e.beautify ? function () {
E(';')
}
: function () {
d = !0
};
function T() {
d = !1,
E(';')
}
function F() {
return i + e.indent_level
}
var O = e.source_map ? function (t, n) {
try {
t && e.source_map.add(t.file || '?', o, s, t.line, t.col, n || 'name' != t.type ? n : t.value)
} catch (e) {
B.warn('Couldn\'t figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]', {
file: t.file,
line: t.line,
col: t.col,
cline: o,
ccol: s,
name: n || ''
})
}
}
: m;
function P() {
return v && x(),
u
}
var N = [
];
return {
get: P,
toString: P,
indent: C,
indentation: function () {
return i
},
current_width: function () {
return s - i
},
should_break: function () {
return e.width && this.current_width() >= e.width
},
newline: k,
print: E,
space: _,
comma: function () {
E(','),
_()
},
colon: function () {
E(':'),
e.space_colon && _()
},
last: function () {
return b
},
semicolon: S,
force_semicolon: T,
to_ascii: l,
print_name: function (t) {
E(function (t) {
return t = t.toString(),
e.ascii_only && (t = l(t, !0)),
t
}(t))
},
print_string: function (e, t, n) {
var r = p(e, t);
!0 === n && - 1 === r.indexOf('\\') && (Qt.test(u) || T(), T()),
E(r)
},
encode_string: p,
next_indent: F,
with_indent: D,
with_block: function (e) {
var t;
return E('{'),
k(),
D(F(), function () {
t = e()
}),
C(),
E('}'),
t
},
with_parens: function (e) {
E('(');
var t = e();
return E(')'),
t
},
with_square: function (e) {
E('[');
var t = e();
return E(']'),
t
},
add_mapping: O,
option: function (t) {
return e[t]
},
comment_filter: t,
line: function () {
return o
},
col: function () {
return s
},
pos: function () {
return a
},
push_node: function (e) {
N.push(e)
},
pop_node: function () {
return N.pop()
},
parent: function (e) {
return N[N.length - 2 - (e || 0)]
}
}
}
function tn(e, t) {
if (!(this instanceof tn)) return new tn(e, t);
Ht.call(this, this.before, this.after),
this.options = f(e, {
angular: !1,
booleans: !t,
cascade: !t,
collapse_vars: !t,
comparisons: !t,
conditionals: !t,
dead_code: !t,
drop_console: !1,
drop_debugger: !t,
evaluate: !t,
expression: !1,
global_defs: {
},
hoist_funs: !t,
hoist_vars: !1,
if_return: !t,
join_vars: !t,
keep_fargs: !0,
keep_fnames: !1,
keep_infinity: !1,
loops: !t,
negate_iife: !t,
passes: 1,
properties: !t,
pure_getters: !t && 'strict',
pure_funcs: null,
reduce_vars: !t,
screw_ie8: !0,
sequences: !t,
side_effects: !t,
switches: !t,
top_retain: null,
toplevel: !(!e || !e.top_retain),
unsafe: !1,
unsafe_comps: !1,
unsafe_math: !1,
unsafe_proto: !1,
unsafe_regexp: !1,
unused: !t,
warnings: !0
}, !0);
var n = this.options.pure_funcs;
this.pure_funcs = 'function' == typeof n ? n : n ? function (e) {
return n.indexOf(e.expression.print_to_string()) < 0
}
: y;
var r = this.options.top_retain;
r instanceof RegExp ? this.top_retain = function (e) {
return r.test(e.name)
}
: 'function' == typeof r ? this.top_retain = r : r && ('string' == typeof r && (r = r.split(/,/)), this.top_retain = function (e) {
return r.indexOf(e.name) >= 0
});
var i = this.options.sequences;
this.sequences_limit = 1 == i ? 200 : 0 | i,
this.warnings_produced = {
}
}
function nn(e) {
e = f(e, {
file: null,
root: null,
orig: null,
orig_line_diff: 0,
dest_line_diff: 0
});
var t = new i.SourceMapGenerator({
file: e.file,
sourceRoot: e.root
}),
n = e.orig && new i.SourceMapConsumer(e.orig);
return n && Array.isArray(e.orig.sources) && n._sources.toArray().forEach(function (e) {
var r = n.sourceContentFor(e, !0);
r && t.setSourceContent(e, r)
}),
{
add: function (r, i, s, o, a, u) {
if (n) {
var l = n.originalPositionFor({
line: o,
column: a
});
if (null === l.source) return;
r = l.source,
o = l.line,
a = l.column,
u = l.name || u
}
t.addMapping({
generated: {
line: i + e.dest_line_diff,
column: s
},
original: {
line: o + e.orig_line_diff,
column: a
},
source: r,
name: u
})
},
get: function () {
return t
},
toString: function () {
return JSON.stringify(t.toJSON())
}
}
}
function rn() {
var e = [
'null',
'true',
'false',
'Infinity',
'-Infinity',
'undefined'
];
function t(t) {
A(e, t)
}
return [Object,
Array,
Function,
Number,
String,
Boolean,
Error,
Math,
Date,
RegExp].forEach(function (e) {
Object.getOwnPropertyNames(e).map(t),
e.prototype && Object.getOwnPropertyNames(e.prototype).map(t)
}),
e
}
function sn(e, t) {
var n = (t = f(t, {
cache: null,
debug: !1,
ignore_quoted: !1,
only_cache: !1,
regex: null,
reserved: null
})).reserved;
null == n && (n = rn());
var r = t.cache;
null == r && (r = {
cname: - 1,
props: new k
});
var i,
s = t.regex,
o = t.ignore_quoted,
a = !1 !== t.debug;
a && (i = !0 === t.debug ? '' : t.debug);
var u = [
],
l = [
],
c = {
};
return e.walk(new pt(function (e) {
e instanceof Le ? d(e.key, o && e.quote) : e instanceof Re ? d(e.key.name) : e instanceof we ? d(e.property) : e instanceof De && function (e, t) {
var n = {
};
try {
!function e(r) {
r.walk(new pt(function (r) {
if (r instanceof _e) return e(r.cdr),
!0;
if (r instanceof Ze) return d(r.value, t),
!0;
if (r instanceof Oe) return e(r.consequent),
e(r.alternative),
!0;
throw n
}))
}(e)
} catch (e) {
if (e !== n) throw e
}
}(e.property, o)
})),
e.transform(new Ht(function (e) {
e instanceof Le ? o && e.quote || (e.key = m(e.key)) : e instanceof Re ? e.key.name = m(e.key.name) : e instanceof we ? e.property = m(e.property) : e instanceof De && (o || (e.property = function e(t) {
return t.transform(new Ht(function (t) {
return t instanceof _e ? t.cdr = e(t.cdr) : t instanceof Ze ? t.value = m(t.value) : t instanceof Oe && (t.consequent = e(t.consequent), t.alternative = e(t.alternative)),
t
}))
}(e.property)))
}));
function p(e) {
return !(l.indexOf(e) >= 0) && (!(n.indexOf(e) >= 0) && (t.only_cache ? r.props.has(e) : !/^-?[0-9]+(\.[0-9]+)?(e[+-][0-9]+)?$/.test(e)))
}
function h(e) {
return !(o && e in c) && (!(s && !s.test(e)) && (!(n.indexOf(e) >= 0) && (r.props.has(e) || u.indexOf(e) >= 0)))
}
function d(e, t) {
t ? c[e] = !0 : (p(e) && A(u, e), h(e) || A(l, e))
}
function m(e) {
if (!h(e)) return e;
var t = r.props.get(e);
if (!t) {
if (a) {
var n = '_$' + e + '$' + i + '_';
!p(n) || o && n in c || (t = n)
}
if (!t) do {
t = Jt(++r.cname)
} while (!p(t) || o && t in c);
r.props.set(e, t)
}
return t
}
}
!function () {
function e(e, t) {
e.DEFMETHOD('_codegen', t)
}
var t = !1,
n = !1;
function r(e, t) {
Array.isArray(e) ? e.forEach(function (e) {
r(e, t)
}) : e.DEFMETHOD('needs_parens', t)
}
function i(e, t, r, i) {
var s = e.length - 1;
n = i,
e.forEach(function (e, i) {
!0 !== n || e instanceof R || e instanceof U || e instanceof L && e.body instanceof Ze || (n = !1),
e instanceof U || (r.indent(), e.print(r), i == s && t || (r.newline(), t && r.newline())),
!0 === n && e instanceof L && e.body instanceof Ze && (n = !1)
}),
n = !1
}
function s(e, t, n) {
e.length > 0 ? t.with_block(function () {
i(e, !1, t, n)
}) : t.print('{}')
}
function o(e, t, n) {
if (n) try {
e.walk(new pt(function (e) {
if (e instanceof Fe && 'in' == e.operator) throw t
})),
e.print(t)
} catch (n) {
if (n !== t) throw n;
e.print(t, !0)
} else e.print(t)
}
function a(e, t, n) {
n.option('quote_keys') ? n.print_string(e + '') : ('number' == typeof e || !n.option('beautify') && + e + '' == e) && parseFloat(e) >= 0 ? n.print(c(e)) : (dt(e) ? n.option('screw_ie8') : Rt(e)) ? t && n.option('keep_quoted_props') ? n.print_string(e, t) : n.print_name(e) : n.print_string(e, t)
}
function u(e, t) {
t.option('bracketize') ? p(e, t) : !e || e instanceof U ? t.force_semicolon() : e.print(t)
}
function l(e, t) {
return e.args.length > 0 || t.option('beautify')
}
function c(e) {
var t,
n = e.toString(10),
r = [
n.replace(/^0\./, '.').replace('e+', 'e')
];
return Math.floor(e) === e ? (e >= 0 ? r.push('0x' + e.toString(16).toLowerCase(), '0' + e.toString(8)) : r.push('-0x' + ( - e).toString(16).toLowerCase(), '-0' + ( - e).toString(8)), (t = /^(.*?)(0+)$/.exec(e)) && r.push(t[1] + 'e' + t[2].length)) : (t = /^0?\.(0+)(.*)$/.exec(e)) && r.push(t[2] + 'e-' + (t[1].length + t[2].length), n.substr(n.indexOf('.'))),
function (e) {
for (var t = e[0], n = t.length, r = 1; r < e.length; ++r) e[r].length < n && (n = (t = e[r]).length);
return t
}(r)
}
function p(e, t) {
!e || e instanceof U ? t.print('{}') : e instanceof M ? e.print(t) : t.with_block(function () {
t.indent(),
e.print(t),
t.newline()
})
}
function h(e, t) {
e.DEFMETHOD('add_source_map', function (e) {
t(this, e)
})
}
function f(e, t) {
t.add_mapping(e.start)
}
B.DEFMETHOD('print', function (e, n) {
var r = this,
i = r._codegen,
s = t;
function o() {
r.add_comments(e),
r.add_source_map(e),
i(r, e)
}
r instanceof R && 'use asm' == r.value && e.parent() instanceof X && (t = !0),
e.push_node(r),
n || r.needs_parens(e) ? e.with_parens(o) : o(),
e.pop_node(),
r instanceof X && (t = s)
}),
B.DEFMETHOD('print_to_string', function (e) {
var t = en(e);
return e || (t._readonly = !0),
this.print(t),
t.get()
}),
B.DEFMETHOD('add_comments', function (e) {
if (!e._readonly) {
var t = this.start;
if (t && !t._comments_dumped) {
t._comments_dumped = !0;
var n = t.comments_before || [
];
if (this instanceof re && this.value && this.value.walk(new pt(function (e) {
if (e.start && e.start.comments_before && (n = n.concat(e.start.comments_before), e.start.comments_before = [
]), e instanceof ee || e instanceof Pe || e instanceof Ne) return !0
})), 0 == e.pos()) {
n.length > 0 && e.option('shebang') && 'comment5' == n[0].type && (e.print('#!' + n.shift().value + '\n'), e.indent());
var r = e.option('preamble');
r && e.print(r.replace(/\r\n?|[\n\u2028\u2029]|\s*$/g, '\n'))
}
n = n.filter(e.comment_filter, this),
!e.option('beautify') && n.length > 0 && /comment[134]/.test(n[0].type) && 0 !== e.col() && n[0].nlb && e.print('\n'),
n.forEach(function (n) {
/comment[134]/.test(n.type) ? (e.print('//' + n.value + '\n'), e.indent()) : 'comment2' == n.type && (e.print('/*' + n.value + '*/'), t.nlb ? (e.print('\n'), e.indent()) : e.space())
})
}
}
}),
r(B, function () {
return !1
}),
r(ee, function (e) {
if (T(e)) return !0;
if (e.option('wrap_iife')) {
var t = e.parent();
return t instanceof Ae && t.expression === this
}
return !1
}),
r(Ne, function (e) {
return T(e)
}),
r(ke, function (e) {
var t = e.parent();
return t instanceof Ce && t.expression === this || t instanceof Ae && t.expression === this
}),
r(_e, function (e) {
var t = e.parent();
return t instanceof Ae || t instanceof ke || t instanceof Fe || t instanceof xe || t instanceof Ce || t instanceof Pe || t instanceof Re || t instanceof Oe
}),
r(Fe, function (e) {
var t = e.parent();
if (t instanceof Ae && t.expression === this) return !0;
if (t instanceof ke) return !0;
if (t instanceof Ce && t.expression === this) return !0;
if (t instanceof Fe) {
var n = t.operator,
r = $t[n],
i = this.operator,
s = $t[i];
if (r > s || r == s && this === t.right) return !0
}
}),
r(Ce, function (e) {
var t = e.parent();
if (t instanceof Ee && t.expression === this) try {
this.walk(new pt(function (e) {
if (e instanceof Ae) throw t
}))
} catch (e) {
if (e !== t) throw e;
return !0
}
}),
r(Ae, function (e) {
var t,
n = e.parent();
return n instanceof Ee && n.expression === this || this.expression instanceof ee && n instanceof Ce && n.expression === this && (t = e.parent(1)) instanceof Be && t.left === n
}),
r(Ee, function (e) {
var t = e.parent();
if (!l(this, e) && (t instanceof Ce || t instanceof Ae && t.expression === this)) return !0
}),
r(et, function (e) {
var t = e.parent();
if (t instanceof Ce && t.expression === this) {
var n = this.getValue();
if (n < 0 || /^0/.test(c(n))) return !0
}
}),
r([Be,
Oe], function (e) {
var t = e.parent();
return t instanceof ke || (t instanceof Fe && !(t instanceof Be) || (t instanceof Ae && t.expression === this || (t instanceof Oe && t.condition === this || (t instanceof Ce && t.expression === this || void 0))))
}),
e(R, function (e, t) {
t.print_string(e.value, e.quote),
t.semicolon()
}),
e(N, function (e, t) {
t.print('debugger'),
t.semicolon()
}),
V.DEFMETHOD('_do_print_body', function (e) {
u(this.body, e)
}),
e(P, function (e, t) {
e.body.print(t),
t.semicolon()
}),
e(J, function (e, t) {
i(e.body, !0, t, !0),
t.print('')
}),
e(z, function (e, t) {
e.label.print(t),
t.colon(),
e.body.print(t)
}),
e(L, function (e, t) {
e.body.print(t),
t.semicolon()
}),
e(M, function (e, t) {
s(e.body, t)
}),
e(U, function (e, t) {
t.semicolon()
}),
e($, function (e, t) {
t.print('do'),
t.space(),
p(e.body, t),
t.space(),
t.print('while'),
t.space(),
t.with_parens(function () {
e.condition.print(t)
}),
t.semicolon()
}),
e(Y, function (e, t) {
t.print('while'),
t.space(),
t.with_parens(function () {
e.condition.print(t)
}),
t.space(),
e._do_print_body(t)
}),
e(W, function (e, t) {
t.print('for'),
t.space(),
t.with_parens(function () {
e.init ? (e.init instanceof ye ? e.init.print(t) : o(e.init, t, !0), t.print(';'), t.space()) : t.print(';'),
e.condition ? (e.condition.print(t), t.print(';'), t.space()) : t.print(';'),
e.step && e.step.print(t)
}),
t.space(),
e._do_print_body(t)
}),
e(G, function (e, t) {
t.print('for'),
t.space(),
t.with_parens(function () {
e.init.print(t),
t.space(),
t.print('in'),
t.space(),
e.object.print(t)
}),
t.space(),
e._do_print_body(t)
}),
e(H, function (e, t) {
t.print('with'),
t.space(),
t.with_parens(function () {
e.expression.print(t)
}),
t.space(),
e._do_print_body(t)
}),
Q.DEFMETHOD('_do_print', function (e, t) {
var n = this;
t || e.print('function'),
n.name && (e.space(), n.name.print(e)),
e.with_parens(function () {
n.argnames.forEach(function (t, n) {
n && e.comma(),
t.print(e)
})
}),
e.space(),
s(n.body, e, !0)
}),
e(Q, function (e, t) {
e._do_print(t)
}),
re.DEFMETHOD('_do_print', function (e, t) {
e.print(t),
this.value && (e.space(), this.value.print(e)),
e.semicolon()
}),
e(ie, function (e, t) {
e._do_print(t, 'return')
}),
e(se, function (e, t) {
e._do_print(t, 'throw')
}),
oe.DEFMETHOD('_do_print', function (e, t) {
e.print(t),
this.label && (e.space(), this.label.print(e)),
e.semicolon()
}),
e(ae, function (e, t) {
e._do_print(t, 'break')
}),
e(ue, function (e, t) {
e._do_print(t, 'continue')
}),
e(le, function (e, t) {
t.print('if'),
t.space(),
t.with_parens(function () {
e.condition.print(t)
}),
t.space(),
e.alternative ? (!function (e, t) {
var n = e.body;
if (t.option('bracketize') || !t.option('screw_ie8') && n instanceof $) return p(n, t);
if (!n) return t.force_semicolon();
for (; ; ) if (n instanceof le) {
if (!n.alternative) return void p(e.body, t);
n = n.alternative
} else {
if (!(n instanceof V)) break;
n = n.body
}
u(e.body, t)
}(e, t), t.space(), t.print('else'), t.space(), e.alternative instanceof le ? e.alternative.print(t) : u(e.alternative, t)) : e._do_print_body(t)
}),
e(ce, function (e, t) {
t.print('switch'),
t.space(),
t.with_parens(function () {
e.expression.print(t)
}),
t.space();
var n = e.body.length - 1;
n < 0 ? t.print('{}') : t.with_block(function () {
e.body.forEach(function (e, r) {
t.indent(!0),
e.print(t),
r < n && e.body.length > 0 && t.newline()
})
})
}),
pe.DEFMETHOD('_do_print_body', function (e) {
e.newline(),
this.body.forEach(function (t) {
e.indent(),
t.print(e),
e.newline()
})
}),
e(he, function (e, t) {
t.print('default:'),
e._do_print_body(t)
}),
e(fe, function (e, t) {
t.print('case'),
t.space(),
e.expression.print(t),
t.print(':'),
e._do_print_body(t)
}),
e(de, function (e, t) {
t.print('try'),
t.space(),
s(e.body, t),
e.bcatch && (t.space(), e.bcatch.print(t)),
e.bfinally && (t.space(), e.bfinally.print(t))
}),
e(me, function (e, t) {
t.print('catch'),
t.space(),
t.with_parens(function () {
e.argname.print(t)
}),
t.space(),
s(e.body, t)
}),
e(ge, function (e, t) {
t.print('finally'),
t.space(),
s(e.body, t)
}),
ye.DEFMETHOD('_do_print', function (e, t) {
e.print(t),
e.space(),
this.definitions.forEach(function (t, n) {
n && e.comma(),
t.print(e)
});
var n = e.parent();
(n instanceof W || n instanceof G) && n.init === this || e.semicolon()
}),
e(ve, function (e, t) {
e._do_print(t, 'var')
}),
e(be, function (e, t) {
e._do_print(t, 'const')
}),
e(xe, function (e, t) {
if (e.name.print(t), e.value) {
t.space(),
t.print('='),
t.space();
var n = t.parent(1),
r = n instanceof W || n instanceof G;
o(e.value, t, r)
}
}),
e(Ae, function (e, t) {
e.expression.print(t),
e instanceof Ee && !l(e, t) || t.with_parens(function () {
e.args.forEach(function (e, n) {
n && t.comma(),
e.print(t)
})
})
}),
e(Ee, function (e, t) {
t.print('new'),
t.space(),
Ae.prototype._codegen(e, t)
}),
_e.DEFMETHOD('_do_print', function (e) {
this.car.print(e),
this.cdr && (e.comma(), e.should_break() && (e.newline(), e.indent()), this.cdr.print(e))
}),
e(_e, function (e, t) {
e._do_print(t)
}),
e(we, function (e, t) {
var n = e.expression;
n.print(t),
n instanceof et && n.getValue() >= 0 && (/[xa-f.)]/i.test(t.last()) || t.print('.')),
t.print('.'),
t.add_mapping(e.end),
t.print_name(e.property)
}),
e(De, function (e, t) {
e.expression.print(t),
t.print('['),
e.property.print(t),
t.print(']')
}),
e(Se, function (e, t) {
var n = e.operator;
t.print(n),
(/^[a-z]/i.test(n) || /[+-]$/.test(n) && e.expression instanceof Se && /^[+-]/.test(e.expression.operator)) && t.space(),
e.expression.print(t)
}),
e(Te, function (e, t) {
e.expression.print(t),
t.print(e.operator)
}),
e(Fe, function (e, t) {
var n = e.operator;
e.left.print(t),
'>' == n[0] && e.left instanceof Te && '--' == e.left.operator ? t.print(' ') : t.space(),
t.print(n),
('<' == n || '<<' == n) && e.right instanceof Se && '!' == e.right.operator && e.right.expression instanceof Se && '--' == e.right.expression.operator ? t.print(' ') : t.space(),
e.right.print(t)
}),
e(Oe, function (e, t) {
e.condition.print(t),
t.space(),
t.print('?'),
t.space(),
e.consequent.print(t),
t.space(),
t.colon(),
e.alternative.print(t)
}),
e(Pe, function (e, t) {
t.with_square(function () {
var n = e.elements,
r = n.length;
r > 0 && t.space(),
n.forEach(function (e, n) {
n && t.comma(),
e.print(t),
n === r - 1 && e instanceof ot && t.comma()
}),
r > 0 && t.space()
})
}),
e(Ne, function (e, t) {
e.properties.length > 0 ? t.with_block(function () {
e.properties.forEach(function (e, n) {
n && (t.print(','), t.newline()),
t.indent(),
e.print(t)
}),
t.newline()
}) : t.print('{}')
}),
e(Le, function (e, t) {
a(e.key, e.quote, t),
t.colon(),
e.value.print(t)
}),
Re.DEFMETHOD('_print_getter_setter', function (e, t) {
t.print(e),
t.space(),
a(this.key.name, this.quote, t),
this.value._do_print(t, !0)
}),
e(Ie, function (e, t) {
e._print_getter_setter('set', t)
}),
e(je, function (e, t) {
e._print_getter_setter('get', t)
}),
e(Me, function (e, t) {
var n = e.definition();
t.print_name(n ? n.mangled_name || n.name : e.name)
}),
e(ot, m),
e(Je, function (e, t) {
t.print('this')
}),
e(Qe, function (e, t) {
t.print(e.getValue())
}),
e(Ze, function (e, t) {
t.print_string(e.getValue(), e.quote, n)
}),
e(et, function (e, n) {
t && e.start && null != e.start.raw ? n.print(e.start.raw) : n.print(c(e.getValue()))
}),
e(tt, function (e, t) {
var n = e.getValue().toString();
t.option('ascii_only') ? n = t.to_ascii(n) : t.option('unescape_regexps') && (n = n.split('\\\\').map(function (e) {
return e.replace(/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}/g, function (e) {
var t = parseInt(e.substr(2), 16);
return function (e) {
return [92,
47,
46,
43,
42,
63,
40,
41,
91,
93,
123,
125,
36,
94,
58,
124,
33,
10,
13,
0,
65279,
8232,
8233].indexOf(e) < 0
}(t) ? String.fromCharCode(t) : e
})
}).join('\\\\')),
t.print(n);
var r = t.parent();
r instanceof Fe && /^in/.test(r.operator) && r.left === e && t.print(' ')
}),
h(B, m),
h(R, f),
h(N, f),
h(Me, f),
h(ne, f),
h(V, f),
h(z, m),
h(Q, f),
h(ce, f),
h(pe, f),
h(M, f),
h(J, m),
h(Ee, f),
h(de, f),
h(me, f),
h(ge, f),
h(ye, f),
h(Qe, f),
h(Ie, function (e, t) {
t.add_mapping(e.start, e.key.name)
}),
h(je, function (e, t) {
t.add_mapping(e.start, e.key.name)
}),
h(Re, function (e, t) {
t.add_mapping(e.start, e.key)
})
}(),
tn.prototype = new Ht,
d(tn.prototype, {
option: function (e) {
return this.options[e]
},
compress: function (e) {
this.option('expression') && (e = e.process_expression(!0));
for (var t = + this.options.passes || 1, n = 0; n < t && n < 3; ++n) (n > 0 || this.option('reduce_vars')) && e.reset_opt_flags(this, !0),
e = e.transform(this);
return this.option('expression') && (e = e.process_expression(!1)),
e
},
info: function () {
'verbose' == this.options.warnings && B.warn.apply(B, arguments)
},
warn: function (e, t) {
if (this.options.warnings) {
var n = E(e, t);
n in this.warnings_produced || (this.warnings_produced[n] = !0, B.warn.apply(B, arguments))
}
},
clear_warnings: function () {
this.warnings_produced = {
}
},
before: function (e, t, n) {
if (e._squeezed) return e;
var r = !1;
e instanceof X && (e = e.hoist_declarations(this), r = !0),
t(e, this),
t(e, this);
var i = e.optimize(this);
return r && i instanceof X && (i.drop_unused(this), t(i, this)),
i === e && (i._squeezed = !0),
i
}
}),
function () {
function e(e, t) {
e.DEFMETHOD('optimize', function (e) {
if (this._optimized) return this;
if (e.has_directive('use asm')) return this;
var n = t(this, e);
return n._optimized = !0,
n
})
}
function t(e) {
if (!(e instanceof He)) return !1;
for (var t = e.definition().orig, n = t.length; --n >= 0; ) if (t[n] instanceof qe) return !0
}
function n(e, t) {
for (var n, r = 0; (n = e.parent(r++)) && !(n instanceof X); ) if (n instanceof me) {
n = n.argname.definition().scope;
break
}
return n.find_variable(t)
}
function r(e, t, n) {
return n || (n = {
}),
t && (n.start || (n.start = t.start), n.end || (n.end = t.end)),
new e(n)
}
function i(e, t) {
switch (typeof e) {
case 'string':
return r(Ze, t, {
value: e
});
case 'number':
return isNaN(e) ? r(it, t) : isFinite(e) ? 1 / e < 0 ? r(Se, t, {
operator: '-',
expression: r(et, t, {
value: - e
})
}) : r(et, t, {
value: e
}) : e < 0 ? r(Se, t, {
operator: '-',
expression: r(at, t)
}) : r(at, t);
case 'boolean':
return r(e ? ct : lt, t);
case 'undefined':
return r(st, t);
default:
if (null === e) return r(rt, t, {
value: null
});
if (e instanceof RegExp) return r(tt, t, {
value: e
});
throw new Error(E('Can\'t handle constant of type: {type}', {
type: typeof e
}))
}
}
function s(e, t, n) {
return e instanceof Se && 'delete' == e.operator || e instanceof Ae && e.expression === t && (n instanceof Ce || n instanceof He && 'eval' == n.name) ? r(_e, t, {
car: r(et, t, {
value: 0
}),
cdr: n
}) : n
}
function o(e) {
if (null === e) return [];
if (e instanceof M) return e.body;
if (e instanceof U) return [];
if (e instanceof P) return [e];
throw new Error('Can\'t convert thing to statement array')
}
function a(e) {
return null === e || (e instanceof U || e instanceof M && 0 == e.body.length)
}
function c(e) {
return e instanceof ce ? e : (e instanceof W || e instanceof G || e instanceof K) && e.body instanceof M ? e.body : e
}
function p(e) {
return e instanceof Ae && !(e instanceof Ee) && (e.expression instanceof ee || p(e.expression))
}
function h(e, t) {
var n,
i = 10;
do {
n = !1,
t.option('angular') && (e = u(e)),
e = l(e),
t.option('dead_code') && (e = h(e, t)),
t.option('if_return') && (e = p(e, t)),
t.sequences_limit > 0 && (e = m(e, t)),
t.option('join_vars') && (e = g(e, t)),
t.option('collapse_vars') && (e = a(e, t))
} while (n && i-- > 0);
return e;
function a(e, t) {
for (var i = t.self(), o = !1, u = t.option('toplevel'), l = e.length; --l >= 0; ) {
var c = e[l];
if (!(c instanceof ye)) {
if ([c,
c.body,
c.alternative,
c.bcatch,
c.bfinally].forEach(function (e) {
e && e.body && a(e.body, t)
}), l <= 0) break;
var p = l - 1,
h = e[p];
if (h instanceof ye) {
var f = h.definitions;
if (null != f) for (var d = {
}, m = !1, g = !1, y = {
}, v = f.length; --v >= 0; ) {
var b = f[v];
if (null == b.value) break;
var x = b.name.name;
if (!x || !x.length) break;
if (x in d) break;
d[x] = !0;
var A = i.find_variable && i.find_variable(x);
if (A && A.references && 1 === A.references.length && 'arguments' != x && (u || !A.global)) {
var E = A.references[0];
if (E.scope.uses_eval || E.scope.uses_with) break;
if (b.value.is_constant()) {
var _ = new Ht(function (e) {
var t = _.parent();
return t instanceof q && (t.condition === e || t.init === e) ? e : e === E ? F(e, t, !0) : void 0
});
c.transform(_)
} else if (!(m |= g)) {
var C = b.value.has_side_effects(t);
if (E.scope === i) {
var w = new pt(function (e) {
e instanceof He && T(e, w.parent()) && (y[e.name] = g = !0)
});
b.value.walk(w);
var D = !1,
k = new Ht(function (e) {
if (D) return e;
var t = k.parent();
if (e instanceof Q || e instanceof de || e instanceof H || e instanceof fe || e instanceof q || t instanceof le && e !== t.condition || t instanceof Oe && e !== t.condition || e instanceof He && C && !function (e, t) {
if (1 === e.orig.length && e.orig[0] instanceof $e) return !0;
if (e.scope !== t) return !1;
for (var n = e.references, r = 0, i = n.length; r < i; r++) if (n[r].scope !== t) return !1;
return !0
}(e.definition(), i) || t instanceof Fe && ('&&' == t.operator || '||' == t.operator) && e === t.right || t instanceof ce && e !== t.expression) return m = D = !0,
e
}, function (e) {
return D ? e : e === E ? (D = !0, F(e, k.parent(), !1)) : (m |= e.has_side_effects(t)) ? (D = !0, e) : g && e instanceof He && e.name in y ? (m = !0, D = !0, e) : void 0
});
c.transform(k)
} else m |= C
}
} else m = !0
}
}
}
}
if (o) for (var S = e.length; --S >= 0; ) e.length > 1 && e[S] instanceof U && e.splice(S, 1);
return e;
function T(e, t) {
return e instanceof He && ge(e, t)
}
function F(a, u, l) {
if (T(a, u)) return a;
var h = s(u, a, b.value);
return b.value = null,
f.splice(v, 1),
0 === f.length && (e[p] = r(U, i), o = !0),
c.reset_opt_flags(t),
t.info('Collapsing ' + (l ? 'constant' : 'variable') + ' ' + x + ' [{file}:{line},{col}]', a.start),
n = !0,
h
}
}
function u(e) {
function n(e) {
return /@ngInject/.test(e.value)
}
function i(e) {
return e.argnames.map(function (e) {
return r(Ze, e, {
value: e.name
})
})
}
function s(e, t) {
return r(Pe, e, {
elements: t
})
}
function o(e, t) {
return r(L, e, {
body: r(Be, e, {
operator: '=',
left: r(we, t, {
expression: r(He, t, t),
property: '$inject'
}),
right: s(e, i(e))
})
})
}
return e.reduce(function (e, r) {
if (e.push(r), r.body && r.body.args) !function e(t) {
t && t.args && (t.args.forEach(function (e, t, r) {
var o = e.start.comments_before;
e instanceof Q && o.length && n(o[0]) && (r[t] = s(e, i(e).concat(e)))
}), t.expression && t.expression.expression && e(t.expression.expression))
}(r.body);
else {
var a = r.start,
u = a.comments_before;
if (u && u.length > 0) n(u.pop()) && (r instanceof te ? e.push(o(r, r.name)) : r instanceof ye ? r.definitions.forEach(function (t) {
t.value && t.value instanceof Q && e.push(o(t.value, t.name))
}) : t.warn('Unknown statement marked with @ngInject [{file}:{line},{col}]', a))
}
return e
}, [
])
}
function l(e) {
var t = [
];
return e.reduce(function (e, r) {
return r instanceof M ? (n = !0, e.push.apply(e, l(r.body))) : r instanceof U ? n = !0 : r instanceof R ? t.indexOf(r.value) < 0 ? (e.push(r), t.push(r.value)) : n = !0 : e.push(r),
e
}, [
])
}
function p(e, t) {
var i = t.self(),
s = function (e) {
for (var t = 0, n = e.length; --n >= 0; ) {
var r = e[n];
if (r instanceof le && r.body instanceof ie && ++t > 1) return !0
}
return !1
}(e),
a = i instanceof Q,
u = [
];
e: for (var l = e.length; --l >= 0; ) {
var p = e[l];
switch (!0) {
case a && p instanceof ie && !p.value && 0 == u.length:
n = !0;
continue e;
case p instanceof le:
if (p.body instanceof ie) {
if ((a && 0 == u.length || u[0] instanceof ie && !u[0].value) && !p.body.value && !p.alternative) {
n = !0;
var h = r(L, p.condition, {
body: p.condition
});
u.unshift(h);
continue e
}
if (u[0] instanceof ie && p.body.value && u[0].value && !p.alternative) {
n = !0,
(p = p.clone()).alternative = u[0],
u[0] = p.transform(t);
continue e
}
if (s && (0 == u.length || u[0] instanceof ie) && p.body.value && !p.alternative && a) {
n = !0,
(p = p.clone()).alternative = u[0] || r(ie, p, {
value: null
}),
u[0] = p.transform(t);
continue e
}
if (!p.body.value && a) {
n = !0,
(p = p.clone()).condition = p.condition.negate(t);
var d = f(g = o(p.alternative).concat(u));
p.body = r(M, p, {
body: g
}),
p.alternative = null,
u = d.concat([p.transform(t)]);
continue e
}
if (t.option('sequences') && l > 0 && e[l - 1] instanceof le && e[l - 1].body instanceof ie && 1 == u.length && a && u[0] instanceof L && !p.alternative) {
n = !0,
u.push(r(ie, u[0], {
value: null
}).transform(t)),
u.unshift(p);
continue e
}
}
var m = (y = je(p.body)) instanceof oe ? t.loopcontrol_target(y) : null;
if (y && (y instanceof ie && !y.value && a || y instanceof ue && i === c(m) || y instanceof ae && m instanceof M && i === m)) {
y.label && _(y.label.thedef.references, y),
n = !0;
var g = o(p.body).slice(0, - 1);
(p = p.clone()).condition = p.condition.negate(t),
p.body = r(M, p, {
body: o(p.alternative).concat(u)
}),
p.alternative = r(M, p, {
body: g
}),
u = [
p.transform(t)
];
continue e
}
var y;
m = (y = je(p.alternative)) instanceof oe ? t.loopcontrol_target(y) : null;
if (y && (y instanceof ie && !y.value && a || y instanceof ue && i === c(m) || y instanceof ae && m instanceof M && i === m)) {
y.label && _(y.label.thedef.references, y),
n = !0,
(p = p.clone()).body = r(M, p.body, {
body: o(p.body).concat(u)
}),
p.alternative = r(M, p.alternative, {
body: o(p.alternative).slice(0, - 1)
}),
u = [
p.transform(t)
];
continue e
}
u.unshift(p);
break;
default:
u.unshift(p)
}
}
return u
}
function h(e, t) {
var r = !1,
i = e.length,
s = t.self();
return e = e.reduce(function (e, n) {
if (r) d(t, n, e);
else {
if (n instanceof oe) {
var i = t.loopcontrol_target(n);
n instanceof ae && !(i instanceof q) && c(i) === s || n instanceof ue && c(i) === s ? n.label && _(n.label.thedef.references, n) : e.push(n)
} else e.push(n);
je(n) && (r = !0)
}
return e
}, [
]),
n = e.length != i,
e
}
function m(e, t) {
if (e.length < 2) return e;
var i = [
],
s = [
];
function o() {
(i = _e.from_array(i)) && s.push(r(L, i, {
body: i
})),
i = [
]
}
return e.forEach(function (e) {
if (e instanceof L) {
(function (e) {
for (var t = 0, n = 0; n < e.length; ++n) {
var r = e[n];
r instanceof _e ? t += r.len() : t++
}
return t
}) (i) >= t.sequences_limit && o();
var n = e.body;
i.length > 0 && (n = n.drop_side_effect_free(t)),
n && i.push(n)
} else o(),
s.push(e)
}),
o(),
s = function (e, t) {
function n(e) {
i.pop();
var n = s.body;
return n instanceof _e ? n.add(e) : n = _e.cons(n, e),
n.transform(t)
}
var i = [
],
s = null;
return e.forEach(function (e) {
if (s) if (e instanceof W) {
var o = {
};
try {
s.body.walk(new pt(function (e) {
if (e instanceof Fe && 'in' == e.operator) throw o
})),
!e.init || e.init instanceof ye ? e.init || (e.init = s.body.drop_side_effect_free(t), i.pop()) : e.init = n(e.init)
} catch (e) {
if (e !== o) throw e
}
} else e instanceof le ? e.condition = n(e.condition) : e instanceof H ? e.expression = n(e.expression) : e instanceof re && e.value ? e.value = n(e.value) : e instanceof re ? e.value = n(r(st, e).transform(t)) : e instanceof ce && (e.expression = n(e.expression));
i.push(e),
s = e instanceof L ? e : null
}),
i
}(s, t),
n = s.length != e.length,
s
}
function g(e, t) {
var r = null;
return e.reduce(function (e, t) {
return t instanceof ye && r && r.TYPE == t.TYPE ? (r.definitions = r.definitions.concat(t.definitions), n = !0) : t instanceof W && r instanceof ve && (!t.init || t.init.TYPE == r.TYPE) ? (n = !0, e.pop(), t.init ? t.init.definitions = r.definitions.concat(t.init.definitions) : t.init = r, e.push(t), r = t) : (r = t, e.push(t)),
e
}, [
])
}
}
function f(e) {
for (var t = [
], n = e.length - 1; n >= 0; --n) {
var r = e[n];
r instanceof te && (e.splice(n, 1), t.unshift(r))
}
return t
}
function d(e, t, n) {
t instanceof te || e.warn('Dropping unreachable code [{file}:{line},{col}]', t.start),
t.walk(new pt(function (t) {
return t instanceof ye ? (e.warn('Declarations in unreachable code! [{file}:{line},{col}]', t.start), t.remove_initializers(), n.push(t), !0) : t instanceof te ? (n.push(t), !0) : t instanceof X || void 0
}))
}
function A(e, t) {
return e.is_undefined || e instanceof st || e instanceof Se && 'void' == e.operator && !e.expression.has_side_effects(t)
}
var F,
O,
V;
e(B, function (e, t) {
return e
}),
B.DEFMETHOD('equivalent_to', function (e) {
return this.TYPE == e.TYPE && this.print_to_string() == e.print_to_string()
}),
B.DEFMETHOD('process_expression', function (e, t) {
var n = this,
i = new Ht(function (s) {
if (e && s instanceof L) return r(ie, s, {
value: s.body
});
if (!e && s instanceof ie) {
if (t) {
var o = s.value && s.value.drop_side_effect_free(t, !0);
return o ? r(L, s, {
body: o
}) : r(U, s)
}
return r(L, s, {
body: s.value || r(Se, s, {
operator: 'void',
expression: r(et, s, {
value: 0
})
})
})
}
if (s instanceof Q && s !== n) return s;
if (s instanceof j) {
var a = s.body.length - 1;
a >= 0 && (s.body[a] = s.body[a].transform(i))
}
return s instanceof le && (s.body = s.body.transform(i), s.alternative && (s.alternative = s.alternative.transform(i))),
s instanceof H && (s.body = s.body.transform(i)),
s
});
return n.transform(i)
}),
B.DEFMETHOD('reset_opt_flags', function (e, t) {
var n = t && e.option('reduce_vars'),
i = e.option('toplevel'),
s = Object.create(null),
o = new pt(function (e) {
if (e instanceof Me) {
var t = e.definition();
e instanceof He && t.references.push(e),
t.fixed = !1
}
}),
a = new pt(function (e, t) {
if (e._squeezed = !1, e._optimized = !1, n) {
var f;
if (e instanceof J && e.globals.each(h), e instanceof X && e.variables.each(h), e instanceof He) if ((m = e.definition()).references.push(e), void 0 === m.fixed || !l(m) || function e(t, n, r) {
var i = a.parent(n);
if (ge(t, i) || !r && i instanceof Ae && i.expression === t) return !0;
if (i instanceof Ce && i.expression === t) return !r && e(i, n + 1)
}(e, 0, e.fixed_value() instanceof Q)) m.fixed = !1;
else {
var d = a.parent();
(d instanceof Be && '=' == d.operator && e === d.right || d instanceof Ae && e !== d.expression || d instanceof ie && e === d.value && e.scope !== m.scope || d instanceof xe && e === d.value) && (m.escaped = !0)
}
if (e instanceof We && (e.definition().fixed = !1), e instanceof xe) {
if (null == (m = e.name.definition()).fixed) return e.value ? (m.fixed = function () {
return e.value
}, u(m, !1), t()) : m.fixed = null,
u(m, !0),
!0;
e.value && (m.fixed = !1)
}
if (e instanceof te) {
var m = e.name.definition();
!i && m.global || l(m) ? m.fixed = !1 : (m.fixed = e, u(m, !0));
var g = s;
return s = Object.create(null),
t(),
s = g,
!0
}
if (e instanceof ee) return c(),
!e.name && (f = a.parent()) instanceof Ae && f.expression === e && e.argnames.forEach(function (t, n) {
var i = t.definition();
e.uses_arguments || void 0 !== i.fixed ? i.fixed = !1 : (i.fixed = function () {
return f.args[n] || r(st, f)
}, u(i, !0))
}),
t(),
p(),
!0;
if (e instanceof Z) {
g = s;
return s = Object.create(null),
t(),
s = g,
!0
}
if (e instanceof Fe && ('&&' == e.operator || '||' == e.operator)) return e.left.walk(a),
c(),
e.right.walk(a),
p(),
!0;
if (e instanceof Oe) return e.condition.walk(a),
c(),
e.consequent.walk(a),
p(),
c(),
e.alternative.walk(a),
p(),
!0;
if (e instanceof le || e instanceof K) return e.condition.walk(a),
c(),
e.body.walk(a),
p(),
e.alternative && (c(), e.alternative.walk(a), p()),
!0;
if (e instanceof z) return c(),
e.body.walk(a),
p(),
!0;
if (e instanceof W) return e.init && e.init.walk(a),
c(),
e.condition && e.condition.walk(a),
e.body.walk(a),
e.step && e.step.walk(a),
p(),
!0;
if (e instanceof G) return e.init.walk(o),
e.object.walk(a),
c(),
e.body.walk(a),
p(),
!0;
if (e instanceof de) return c(),
I(e, a),
p(),
e.bcatch && (c(), e.bcatch.walk(a), p()),
e.bfinally && e.bfinally.walk(a),
!0;
if (e instanceof pe) return c(),
t(),
p(),
!0
}
});
function u(e, t) {
s[e.id] = t
}
function l(e) {
if (s[e.id]) {
if (null == e.fixed) {
var t = e.orig[0];
if (t instanceof Ke || 'arguments' == t.name) return !1;
e.fixed = r(st, t)
}
return !0
}
}
function c() {
s = Object.create(s)
}
function p() {
s = Object.getPrototypeOf(s)
}
function h(e) {
e.escaped = !1,
e.scope.uses_eval ? e.fixed = !1 : i || !e.global || e.orig[0] instanceof qe ? e.fixed = void 0 : e.fixed = !1,
e.references = [
],
e.should_replace = void 0
}
this.walk(a)
}),
He.DEFMETHOD('fixed_value', function () {
var e = this.definition().fixed;
return !e || e instanceof B ? e : e()
}),
function (e) {
function t(e) {
return /strict/.test(e)
}
B.DEFMETHOD('may_throw_on_access', function (e) {
var t = e.option('pure_getters');
return !t || this._throw_on_access(t)
}),
e(B, t),
e(rt, y),
e(st, y),
e(Qe, g),
e(Pe, g),
e(Ne, function (e) {
if (!t(e)) return !1;
for (var n = this.properties.length; --n >= 0; ) if (this.properties[n].value instanceof Z) return !0;
return !1
}),
e(ee, g),
e(Te, g),
e(Se, function () {
return 'void' == this.operator
}),
e(Fe, function (e) {
switch (this.operator) {
case '&&':
return this.left._throw_on_access(e);
case '||':
return this.left._throw_on_access(e) && this.right._throw_on_access(e);
default:
return !1
}
}),
e(Be, function (e) {
return '=' == this.operator && this.right._throw_on_access(e)
}),
e(Oe, function (e) {
return this.consequent._throw_on_access(e) || this.alternative._throw_on_access(e)
}),
e(_e, function (e) {
return this.cdr._throw_on_access(e)
}),
e(He, function (e) {
if (this.is_undefined) return !0;
if (!t(e)) return !1;
var n = this.fixed_value();
return !n || n._throw_on_access(e)
})
}(function (e, t) {
e.DEFMETHOD('_throw_on_access', t)
}),
O = [
'!',
'delete'
],
V = [
'in',
'instanceof',
'==',
'!=',
'===',
'!==',
'<',
'<=',
'>=',
'>'
],
(F = function (e, t) {
e.DEFMETHOD('is_boolean', t)
}) (B, g),
F(Se, function () {
return u(this.operator, O)
}),
F(Fe, function () {
return u(this.operator, V) || ('&&' == this.operator || '||' == this.operator) && this.left.is_boolean() && this.right.is_boolean()
}),
F(Oe, function () {
return this.consequent.is_boolean() && this.alternative.is_boolean()
}),
F(Be, function () {
return '=' == this.operator && this.right.is_boolean()
}),
F(_e, function () {
return this.cdr.is_boolean()
}),
F(ct, y),
F(lt, y),
function (e) {
e(B, g),
e(et, y);
var t = w('+ - ~ ++ --');
e(ke, function () {
return t(this.operator)
});
var n = w('- * / % & | ^ << >> >>>');
e(Fe, function (e) {
return n(this.operator) || '+' == this.operator && this.left.is_number(e) && this.right.is_number(e)
}),
e(Be, function (e) {
return n(this.operator.slice(0, - 1)) || '=' == this.operator && this.right.is_number(e)
}),
e(_e, function (e) {
return this.cdr.is_number(e)
}),
e(Oe, function (e) {
return this.consequent.is_number(e) && this.alternative.is_number(e)
})
}(function (e, t) {
e.DEFMETHOD('is_number', t)
}),
function (e) {
e(B, g),
e(Ze, y),
e(Se, function () {
return 'typeof' == this.operator
}),
e(Fe, function (e) {
return '+' == this.operator && (this.left.is_string(e) || this.right.is_string(e))
}),
e(Be, function (e) {
return ('=' == this.operator || '+=' == this.operator) && this.right.is_string(e)
}),
e(_e, function (e) {
return this.cdr.is_string(e)
}),
e(Oe, function (e) {
return this.consequent.is_string(e) && this.alternative.is_string(e)
})
}(function (e, t) {
e.DEFMETHOD('is_string', t)
});
var se = w('delete ++ --');
function ge(e, t) {
return t instanceof ke && se(t.operator) ? t.expression : t instanceof Be && t.left === e ? e : void 0
}
function be(e, t) {
return e.print_to_string().length > t.print_to_string().length ? t : e
}
function Ie(e, t, n) {
return (T(e) ? function (e, t) {
return be(r(L, e, {
body: e
}), r(L, t, {
body: t
})).body
}
: be) (t, n)
}
function je(e) {
return e && e.aborts()
}
!function (e) {
B.DEFMETHOD('resolve_defines', function (e) {
if (e.option('global_defs')) {
var t = this._find_defs(e, '');
if (t) {
var n,
r = this,
i = 0;
do {
n = r,
r = e.parent(i++)
} while (r instanceof Ce && r.expression === n);
if (!ge(n, r)) return t;
e.warn('global_defs ' + this.print_to_string() + ' redefined [{file}:{line},{col}]', this.start)
}
}
}),
e(B, m),
e(we, function (e, t) {
return this.expression._find_defs(e, '.' + this.property + t)
}),
e(He, function (e, t) {
if (this.global()) {
var n,
s = e.option('global_defs');
if (s && S(s, n = this.name + t)) {
var o = function e(t, n) {
if (t instanceof B) return r(t.CTOR, n, t);
if (Array.isArray(t)) return r(Pe, n, {
elements: t.map(function (t) {
return e(t, n)
})
});
if (t && 'object' == typeof t) {
var s = [
];
for (var o in t) s.push(r(Le, n, {
key: o,
value: e(t[o], n)
}));
return r(Ne, n, {
properties: s
})
}
return i(t, n)
}(s[n], this),
a = e.find_parent(J);
return o.walk(new pt(function (e) {
e instanceof He && (e.scope = a, e.thedef = a.def_global(e))
})),
o
}
}
})
}(function (e, t) {
e.DEFMETHOD('_find_defs', t)
}),
function (e) {
B.DEFMETHOD('evaluate', function (t) {
if (!t.option('evaluate')) return this;
try {
var n = this._eval(t);
return !n || n instanceof RegExp || 'object' != typeof n ? n : this
} catch (t) {
if (t !== e) throw t;
return this
}
});
var t = w('! ~ - + void');
function n(e, t) {
if (!t) throw new Error('Compressor must be passed');
return e._eval(t)
}
B.DEFMETHOD('is_constant', function () {
return this instanceof Qe ? !(this instanceof tt) : this instanceof Se && this.expression instanceof Qe && t(this.operator)
}),
B.DEFMETHOD('constant_value', function (e) {
if (this instanceof Qe && !(this instanceof tt)) return this.value;
if (this instanceof Se && this.expression instanceof Qe) switch (this.operator) {
case '!':
return !this.expression.value;
case '~':
return ~this.expression.value;
case '-':
return - this.expression.value;
case '+':
return + this.expression.value;
default:
throw new Error(E('Cannot evaluate unary expression {value}', {
value: this.print_to_string()
}))
}
var t = this.evaluate(e);
if (t !== this) return t;
throw new Error(E('Cannot evaluate constant [{file}:{line},{col}]', this.start))
}),
e(P, function () {
throw new Error(E('Cannot evaluate a statement [{file}:{line},{col}]', this.start))
}),
e(Q, function () {
throw e
}),
e(B, function () {
throw e
}),
e(Qe, function () {
return this.getValue()
}),
e(Pe, function (t) {
if (t.option('unsafe')) return this.elements.map(function (e) {
return n(e, t)
});
throw e
}),
e(Ne, function (t) {
if (t.option('unsafe')) {
for (var r = {
}, i = 0, s = this.properties.length; i < s; i++) {
var o = this.properties[i],
a = o.key;
if (a instanceof Me ? a = a.name : a instanceof B && (a = n(a, t)), 'function' == typeof Object.prototype[a]) throw e;
r[a] = n(o.value, t)
}
return r
}
throw e
}),
e(Se, function (t) {
var r = this.expression;
switch (this.operator) {
case '!':
return !n(r, t);
case 'typeof':
if (r instanceof ee) return 'function';
if ((r = n(r, t)) instanceof RegExp) throw e;
return typeof r;
case 'void':
return void n(r, t);
case '~':
return ~n(r, t);
case '-':
return - n(r, t);
case '+':
return + n(r, t)
}
throw e
}),
e(Fe, function (t) {
var r,
i = this.left,
s = this.right;
switch (this.operator) {
case '&&':
r = n(i, t) && n(s, t);
break;
case '||':
r = n(i, t) || n(s, t);
break;
case '|':
r = n(i, t) | n(s, t);
break;
case '&':
r = n(i, t) & n(s, t);
break;
case '^':
r = n(i, t) ^ n(s, t);
break;
case '+':
r = n(i, t) + n(s, t);
break;
case '*':
r = n(i, t) * n(s, t);
break;
case '/':
r = n(i, t) / n(s, t);
break;
case '%':
r = n(i, t) % n(s, t);
break;
case '-':
r = n(i, t) - n(s, t);
break;
case '<<':
r = n(i, t) << n(s, t);
break;
case '>>':
r = n(i, t) >> n(s, t);
break;
case '>>>':
r = n(i, t) >>> n(s, t);
break;
case '==':
r = n(i, t) == n(s, t);
break;
case '===':
r = n(i, t) === n(s, t);
break;
case '!=':
r = n(i, t) != n(s, t);
break;
case '!==':
r = n(i, t) !== n(s, t);
break;
case '<':
r = n(i, t) < n(s, t);
break;
case '<=':
r = n(i, t) <= n(s, t);
break;
case '>':
r = n(i, t) > n(s, t);
break;
case '>=':
r = n(i, t) >= n(s, t);
break;
default:
throw e
}
if (isNaN(r) && t.find_parent(H)) throw e;
return r
}),
e(Oe, function (e) {
return n(this.condition, e) ? n(this.consequent, e) : n(this.alternative, e)
}),
e(He, function (t) {
if (!t.option('reduce_vars') || this._evaluating) throw e;
this._evaluating = !0;
try {
var r = this.fixed_value();
if (!r) throw e;
var i = n(r, t);
if (S(r, '_eval') || (r._eval = function () {
return i
}), i && 'object' == typeof i && this.definition().escaped) throw e;
return i
} finally {
this._evaluating = !1
}
}),
e(Ce, function (t) {
if (t.option('unsafe')) {
var r = this.property;
r instanceof B && (r = n(r, t));
var i = n(this.expression, t);
if (i && S(i, r)) return i[r]
}
throw e
})
}(function (e, t) {
e.DEFMETHOD('_eval', t)
}),
function (e) {
function t(e) {
return r(Se, e, {
operator: '!',
expression: e
})
}
function n(e, n, i) {
var s = t(e);
if (i) {
var o = r(L, n, {
body: n
});
return be(s, o) === o ? n : s
}
return be(s, n)
}
e(B, function () {
return t(this)
}),
e(P, function () {
throw new Error('Cannot negate a statement')
}),
e(ee, function () {
return t(this)
}),
e(Se, function () {
return '!' == this.operator ? this.expression : t(this)
}),
e(_e, function (e) {
var t = this.clone();
return t.cdr = t.cdr.negate(e),
t
}),
e(Oe, function (e, t) {
var r = this.clone();
return r.consequent = r.consequent.negate(e),
r.alternative = r.alternative.negate(e),
n(this, r, t)
}),
e(Fe, function (e, r) {
var i = this.clone(),
s = this.operator;
if (e.option('unsafe_comps')) switch (s) {
case '<=':
return i.operator = '>',
i;
case '<':
return i.operator = '>=',
i;
case '>=':
return i.operator = '<',
i;
case '>':
return i.operator = '<=',
i
}
switch (s) {
case '==':
return i.operator = '!=',
i;
case '!=':
return i.operator = '==',
i;
case '===':
return i.operator = '!==',
i;
case '!==':
return i.operator = '===',
i;
case '&&':
return i.operator = '||',
i.left = i.left.negate(e, r),
i.right = i.right.negate(e),
n(this, i, r);
case '||':
return i.operator = '&&',
i.left = i.left.negate(e, r),
i.right = i.right.negate(e),
n(this, i, r)
}
return t(this)
})
}(function (e, t) {
e.DEFMETHOD('negate', function (e, n) {
return t.call(this, e, n)
})
}),
Ae.DEFMETHOD('has_pure_annotation', function (e) {
if (!e.option('side_effects')) return !1;
if (void 0 !== this.pure) return this.pure;
var t,
n,
r = !1;
return this.start && (t = this.start.comments_before) && t.length && /[@#]__PURE__/.test((n = t[t.length - 1]).value) && (r = n),
this.pure = r
}),
function (e) {
function t(e, t) {
for (var n = e.length; --n >= 0; ) if (e[n].has_side_effects(t)) return !0;
return !1
}
e(B, y),
e(U, g),
e(Qe, g),
e(Je, g),
e(Ae, function (e) {
if (!this.has_pure_annotation(e) && e.pure_funcs(this)) return !0;
for (var t = this.args.length; --t >= 0; ) if (this.args[t].has_side_effects(e)) return !0;
return !1
}),
e(j, function (e) {
return t(this.body, e)
}),
e(ce, function (e) {
return this.expression.has_side_effects(e) || t(this.body, e)
}),
e(fe, function (e) {
return this.expression.has_side_effects(e) || t(this.body, e)
}),
e(de, function (e) {
return t(this.body, e) || this.bcatch && this.bcatch.has_side_effects(e) || this.bfinally && this.bfinally.has_side_effects(e)
}),
e(le, function (e) {
return this.condition.has_side_effects(e) || this.body && this.body.has_side_effects(e) || this.alternative && this.alternative.has_side_effects(e)
}),
e(z, function (e) {
return this.body.has_side_effects(e)
}),
e(L, function (e) {
return this.body.has_side_effects(e)
}),
e(te, y),
e(ee, g),
e(Fe, function (e) {
return this.left.has_side_effects(e) || this.right.has_side_effects(e)
}),
e(Be, y),
e(Oe, function (e) {
return this.condition.has_side_effects(e) || this.consequent.has_side_effects(e) || this.alternative.has_side_effects(e)
}),
e(ke, function (e) {
return se(this.operator) || this.expression.has_side_effects(e)
}),
e(He, function (e) {
return this.undeclared()
}),
e(Ne, function (e) {
return t(this.properties, e)
}),
e(Re, function (e) {
return this.value.has_side_effects(e)
}),
e(Pe, function (e) {
return t(this.elements, e)
}),
e(we, function (e) {
return this.expression.may_throw_on_access(e) || this.expression.has_side_effects(e)
}),
e(De, function (e) {
return this.expression.may_throw_on_access(e) || this.expression.has_side_effects(e) || this.property.has_side_effects(e)
}),
e(_e, function (e) {
return this.car.has_side_effects(e) || this.cdr.has_side_effects(e)
})
}(function (e, t) {
e.DEFMETHOD('has_side_effects', t)
}),
function (e) {
function t() {
var e = this.body.length;
return e > 0 && je(this.body[e - 1])
}
e(P, b),
e(ne, v),
e(M, t),
e(pe, t),
e(le, function () {
return this.alternative && je(this.body) && je(this.alternative) && this
})
}(function (e, t) {
e.DEFMETHOD('aborts', t)
}),
e(R, function (e, t) {
return t.has_directive(e.value) !== e ? r(U, e) : e
}),
e(N, function (e, t) {
return t.option('drop_debugger') ? r(U, e) : e
}),
e(z, function (e, t) {
return e.body instanceof ae && t.loopcontrol_target(e.body) === e.body ? r(U, e) : 0 == e.label.references.length ? e.body : e
}),
e(j, function (e, t) {
return e.body = h(e.body, t),
e
}),
e(M, function (e, t) {
switch (e.body = h(e.body, t), e.body.length) {
case 1:
return e.body[0];
case 0:
return r(U, e)
}
return e
}),
X.DEFMETHOD('drop_unused', function (e) {
var n = this;
if (e.has_directive('use asm')) return n;
var i = e.option('toplevel');
if (e.option('unused') && (!(n instanceof J) || i) && !n.uses_eval && !n.uses_with) {
var o = !/keep_assign/.test(e.option('unused')),
u = /funcs/.test(i),
l = /vars/.test(i);
n instanceof J && 1 != i || (u = l = !0);
var c = [
],
p = Object.create(null);
n instanceof J && e.top_retain && n.variables.each(function (t) {
!e.top_retain(t) || t.id in p || (p[t.id] = !0, c.push(t))
});
var h = new k,
f = this,
d = new pt(function (r, i) {
if (r !== n) {
if (r instanceof te) {
if (!u && f === n) (s = r.name.definition()).id in p || (p[s.id] = !0, c.push(s));
return h.add(r.name.name, r),
!0
}
if (r instanceof ye && f === n) return r.definitions.forEach(function (t) {
if (!l) {
var n = t.name.definition();
n.id in p || (p[n.id] = !0, c.push(n))
}
t.value && (h.add(t.name.name, t.value), t.value.has_side_effects(e) && t.value.walk(d))
}),
!0;
if (o && r instanceof Be && '=' == r.operator && r.left instanceof He && !t(r.left) && f === n) return r.right.walk(d),
!0;
var s;
if (r instanceof He) return (s = r.definition()).id in p || (p[s.id] = !0, c.push(s)),
!0;
if (r instanceof X) {
var a = f;
return f = r,
i(),
f = a,
!0
}
}
});
n.walk(d);
for (var m = 0; m < c.length; ++m) c[m].orig.forEach(function (e) {
var t = h.get(e.name);
t && t.forEach(function (e) {
var t = new pt(function (e) {
if (e instanceof He) {
var t = e.definition();
t.id in p || (p[t.id] = !0, c.push(t))
}
});
e.walk(t)
})
});
var g = new Ht(function (t, i, c) {
t instanceof ee && t.name && !e.option('keep_fnames') && ((y = t.name.definition()).id in p && !(y.orig.length > 1) || (t.name = null));
if (t instanceof Q && !(t instanceof Z)) for (var h = !e.option('keep_fargs'), f = t.argnames, d = f.length; --d >= 0; ) {
var m = f[d];
m.definition().id in p ? h = !1 : (m.__unused = !0, h && (f.pop(), e[m.unreferenced() ? 'warn' : 'info']('Dropping unused function argument {name} [{file}:{line},{col}]', {
name: m.name,
file: m.start.file,
line: m.start.line,
col: m.start.col
})))
}
if (u && t instanceof te && t !== n) return t.name.definition().id in p ? t : (e[t.name.unreferenced() ? 'warn' : 'info']('Dropping unused function {name} [{file}:{line},{col}]', {
name: t.name.name,
file: t.name.start.file,
line: t.name.start.line,
col: t.name.start.col
}), r(U, t));
if (l && t instanceof ye && !(g.parent() instanceof G && g.parent().init === t)) {
var y;
y = C(y = t.definitions.filter(function (t) {
t.value && (t.value = t.value.transform(g));
var n = t.name.definition();
if (n.id in p) return !0;
if (n.orig[0] instanceof We) return t.value = t.value && t.value.drop_side_effect_free(e),
!0;
var r = {
name: t.name.name,
file: t.name.start.file,
line: t.name.start.line,
col: t.name.start.col
};
return t.value && (t._unused_side_effects = t.value.drop_side_effect_free(e)) ? (e.warn('Side effects in initialization of unused variable {name} [{file}:{line},{col}]', r), !0) : (e[t.name.unreferenced() ? 'warn' : 'info']('Dropping unused variable {name} [{file}:{line},{col}]', r), !1)
}), function (e, t) {
return !e.value && t.value ? - 1 : !t.value && e.value ? 1 : 0
});
var v = [
];
for (d = 0; d < y.length; ) {
var b = y[d];
b._unused_side_effects ? (v.push(b._unused_side_effects), y.splice(d, 1)) : (v.length > 0 && (v.push(b.value), b.value = _e.from_array(v), v = [
]), ++d)
}
return v = v.length > 0 ? r(M, t, {
body: [
r(L, t, {
body: _e.from_array(v)
})
]
}) : null,
0 != y.length || v ? 0 == y.length ? c ? x.splice(v.body) : v : (t.definitions = y, v ? (v.body.unshift(t), c ? x.splice(v.body) : v) : t) : r(U, t)
}
if (l && o && t instanceof Be && '=' == t.operator && t.left instanceof He && (!((y = t.left.definition()).id in p) && n.variables.get(y.name) === y)) return s(g.parent(), t, t.right.transform(g));
if (t instanceof W) {
if (i(t, this), t.init instanceof M) {
var A = t.init;
return t.init = A.body.pop(),
A.body.push(t),
c ? x.splice(A.body) : A
}
return a(t.init) && (t.init = null),
t
}
if (t instanceof z && t.body instanceof W) {
if (i(t, this), t.body instanceof M) {
A = t.body;
return t.body = A.body.pop(),
A.body.push(t),
c ? x.splice(A.body) : A
}
return t
}
return t instanceof X && t !== n ? t : void 0
});
n.transform(g)
}
}),
X.DEFMETHOD('hoist_declarations', function (e) {
var t = this;
if (e.has_directive('use asm')) return t;
var n = e.option('hoist_funs'),
i = e.option('hoist_vars');
if (n || i) {
var s = [
],
o = [
],
a = new k,
u = 0,
c = 0;
t.walk(new pt(function (e) {
return e instanceof X && e !== t || (e instanceof ve ? (++c, !0) : void 0)
})),
i = i && c > 1;
var p = new Ht(function (l) {
if (l !== t) {
if (l instanceof R) return s.push(l),
r(U, l);
if (l instanceof te && n) return o.push(l),
r(U, l);
if (l instanceof ve && i) {
l.definitions.forEach(function (e) {
a.set(e.name.name, e),
++u
});
var c = l.to_assignments(e),
h = p.parent();
if (h instanceof G && h.init === l) {
if (null == c) {
var f = l.definitions[0].name;
return r(He, f, f)
}
return c
}
return h instanceof W && h.init === l ? c : c ? r(L, l, {
body: c
}) : r(U, l)
}
if (l instanceof X) return l
}
});
if (t = t.transform(p), u > 0) {
var h = [
];
if (a.each(function (e, n) {
t instanceof Q && l(function (t) {
return t.name == e.name.name
}, t.argnames) ? a.del(n) : ((e = e.clone()).value = null, h.push(e), a.set(n, e))
}), h.length > 0) {
for (var f = 0; f < t.body.length; ) {
if (t.body[f] instanceof L) {
var d,
m,
g = t.body[f].body;
if (g instanceof Be && '=' == g.operator && (d = g.left) instanceof Me && a.has(d.name)) {
if ((y = a.get(d.name)).value) break;
y.value = g.right,
_(h, y),
h.push(y),
t.body.splice(f, 1);
continue
}
if (g instanceof _e && (m = g.car) instanceof Be && '=' == m.operator && (d = m.left) instanceof Me && a.has(d.name)) {
var y;
if ((y = a.get(d.name)).value) break;
y.value = m.right,
_(h, y),
h.push(y),
t.body[f].body = g.cdr;
continue
}
}
if (t.body[f] instanceof U) t.body.splice(f, 1);
else {
if (!(t.body[f] instanceof M)) break;
var v = [
f,
1
].concat(t.body[f].body);
t.body.splice.apply(t.body, v)
}
}
h = r(ve, t, {
definitions: h
}),
o.push(h)
}
}
t.body = s.concat(o, t.body)
}
return t
}),
function (e) {
function t(e, t, n) {
for (var r = [
], i = !1, s = 0, o = e.length; s < o; s++) {
var a = e[s].drop_side_effect_free(t, n);
i |= a !== e[s],
a && (r.push(a), n = !1)
}
return i ? r.length ? r : null : e
}
e(B, v),
e(Qe, b),
e(Je, b),
e(Ae, function (e, n) {
if (!this.has_pure_annotation(e) && e.pure_funcs(this)) {
if (this.expression instanceof ee && (!this.expression.name || !this.expression.name.definition().references.length)) {
var r = this.clone();
return r.expression = r.expression.process_expression(!1, e),
r
}
return this
}
this.pure && (e.warn('Dropping __PURE__ call [{file}:{line},{col}]', this.start), this.pure.value = this.pure.value.replace(/[@#]__PURE__/g, ' '));
var i = t(this.args, e, n);
return i && _e.from_array(i)
}),
e(Z, b),
e(ee, b),
e(Fe, function (e, t) {
var n = this.right.drop_side_effect_free(e);
if (!n) return this.left.drop_side_effect_free(e, t);
switch (this.operator) {
case '&&':
case '||':
if (n === this.right) return this;
var i = this.clone();
return i.right = n,
i;
default:
var s = this.left.drop_side_effect_free(e, t);
return s ? r(_e, this, {
car: s,
cdr: n
}) : this.right.drop_side_effect_free(e, t)
}
}),
e(Be, v),
e(Oe, function (e) {
var t = this.consequent.drop_side_effect_free(e),
n = this.alternative.drop_side_effect_free(e);
if (t === this.consequent && n === this.alternative) return this;
if (!t) return n ? r(Fe, this, {
operator: '||',
left: this.condition,
right: n
}) : this.condition.drop_side_effect_free(e);
if (!n) return r(Fe, this, {
operator: '&&',
left: this.condition,
right: t
});
var i = this.clone();
return i.consequent = t,
i.alternative = n,
i
}),
e(ke, function (e, t) {
if (se(this.operator)) return this;
if ('typeof' == this.operator && this.expression instanceof He) return null;
var n = this.expression.drop_side_effect_free(e, t);
return t && this instanceof Se && p(n) ? n === this.expression && 1 === this.operator.length ? this : r(Se, this, {
operator: 1 === this.operator.length ? this.operator : '!',
expression: n
}) : n
}),
e(He, function () {
return this.undeclared() ? this : null
}),
e(Ne, function (e, n) {
var r = t(this.properties, e, n);
return r && _e.from_array(r)
}),
e(Re, function (e, t) {
return this.value.drop_side_effect_free(e, t)
}),
e(Pe, function (e, n) {
var r = t(this.elements, e, n);
return r && _e.from_array(r)
}),
e(we, function (e, t) {
return this.expression.may_throw_on_access(e) ? this : this.expression.drop_side_effect_free(e, t)
}),
e(De, function (e, t) {
if (this.expression.may_throw_on_access(e)) return this;
var n = this.expression.drop_side_effect_free(e, t);
if (!n) return this.property.drop_side_effect_free(e, t);
var i = this.property.drop_side_effect_free(e);
return i ? r(_e, this, {
car: n,
cdr: i
}) : n
}),
e(_e, function (e) {
var t = this.cdr.drop_side_effect_free(e);
return t === this.cdr ? this : t ? r(_e, this, {
car: this.car,
cdr: t
}) : this.car
})
}(function (e, t) {
e.DEFMETHOD('drop_side_effect_free', t)
}),
e(L, function (e, t) {
if (t.option('side_effects')) {
var n = e.body,
i = n.drop_side_effect_free(t, !0);
if (!i) return t.warn('Dropping side-effect-free statement [{file}:{line},{col}]', e.start),
r(U, e);
if (i !== n) return r(L, e, {
body: i
})
}
return e
}),
e(K, function (e, t) {
if (!t.option('loops')) return e;
var n = e.condition.evaluate(t);
if (n !== e.condition) {
if (n) return r(W, e, {
body: e.body
});
if (t.option('dead_code') && e instanceof Y) {
var i = [
];
return d(t, e.body, i),
r(M, e, {
body: i
}).optimize(t)
}
if (e instanceof $) {
var s = !1,
o = new pt(function (t) {
return !!(t instanceof X || s) || (t instanceof oe && o.loopcontrol_target(t) === e ? s = !0 : void 0)
}),
a = t.parent();
if ((a instanceof z ? a : e).walk(o), !s) return e.body
}
}
return e instanceof Y ? r(W, e, e).optimize(t) : e
}),
e(W, function (e, t) {
if (!t.option('loops')) return e;
if (e.condition) {
var n = e.condition.evaluate(t);
if (t.option('dead_code') && !n) {
var s = [
];
return e.init instanceof P ? s.push(e.init) : e.init && s.push(r(L, e.init, {
body: e.init
})),
d(t, e.body, s),
r(M, e, {
body: s
}).optimize(t)
}
n !== e.condition && (n = i(n, e.condition).transform(t), e.condition = be(n, e.condition))
}
return function e(t, n) {
function i(i) {
i = o(i),
t.body instanceof M ? (t.body = t.body.clone(), t.body.body = i.concat(t.body.body.slice(1)), t.body = t.body.transform(n)) : t.body = r(M, t.body, {
body: i
}).transform(n),
e(t, n)
}
var s = t.body instanceof M ? t.body.body[0] : t.body;
s instanceof le && (s.body instanceof ae && n.loopcontrol_target(s.body) === n.self() ? (t.condition ? t.condition = r(Fe, t.condition, {
left: t.condition,
operator: '&&',
right: s.condition.negate(n)
}) : t.condition = s.condition.negate(n), i(s.alternative)) : s.alternative instanceof ae && n.loopcontrol_target(s.alternative) === n.self() && (t.condition ? t.condition = r(Fe, t.condition, {
left: t.condition,
operator: '&&',
right: s.condition
}) : t.condition = s.condition, i(s.body)))
}(e, t),
e
}),
e(le, function (e, t) {
if (a(e.alternative) && (e.alternative = null), !t.option('conditionals')) return e;
var n = e.condition.evaluate(t);
if (n !== e.condition) {
if (n) {
if (t.warn('Condition always true [{file}:{line},{col}]', e.condition.start), t.option('dead_code')) {
var s = [
];
return e.alternative && d(t, e.alternative, s),
s.push(e.body),
r(M, e, {
body: s
}).optimize(t)
}
} else if (t.warn('Condition always false [{file}:{line},{col}]', e.condition.start), t.option('dead_code')) {
s = [
];
return d(t, e.body, s),
e.alternative && s.push(e.alternative),
r(M, e, {
body: s
}).optimize(t)
}
n = i(n, e.condition).transform(t),
e.condition = be(n, e.condition)
}
var o = e.condition.negate(t),
u = e.condition.print_to_string().length,
l = o.print_to_string().length,
c = l < u;
if (e.alternative && c) {
c = !1,
e.condition = o;
var p = e.body;
e.body = e.alternative || r(U, e),
e.alternative = p
}
if (a(e.body) && a(e.alternative)) return r(L, e.condition, {
body: e.condition.clone()
}).optimize(t);
if (e.body instanceof L && e.alternative instanceof L) return r(L, e, {
body: r(Oe, e, {
condition: e.condition,
consequent: e.body.body,
alternative: e.alternative.body
})
}).optimize(t);
if (a(e.alternative) && e.body instanceof L) return u === l && !c && e.condition instanceof Fe && '||' == e.condition.operator && (c = !0),
c ? r(L, e, {
body: r(Fe, e, {
operator: '||',
left: o,
right: e.body.body
})
}).optimize(t) : r(L, e, {
body: r(Fe, e, {
operator: '&&',
left: e.condition,
right: e.body.body
})
}).optimize(t);
if (e.body instanceof U && e.alternative instanceof L) return r(L, e, {
body: r(Fe, e, {
operator: '||',
left: e.condition,
right: e.alternative.body
})
}).optimize(t);
if (e.body instanceof re && e.alternative instanceof re && e.body.TYPE == e.alternative.TYPE) return r(e.body.CTOR, e, {
value: r(Oe, e, {
condition: e.condition,
consequent: e.body.value || r(st, e.body),
alternative: e.alternative.value || r(st, e.alternative)
}).transform(t)
}).optimize(t);
if (e.body instanceof le && !e.body.alternative && !e.alternative && (e = r(le, e, {
condition: r(Fe, e.condition, {
operator: '&&',
left: e.condition,
right: e.body.condition
}),
body: e.body.body,
alternative: null
})), je(e.body) && e.alternative) {
var h = e.alternative;
return e.alternative = null,
r(M, e, {
body: [
e,
h
]
}).optimize(t)
}
if (je(e.alternative)) {
var f = e.body;
return e.body = e.alternative,
e.condition = c ? o : e.condition.negate(t),
e.alternative = null,
r(M, e, {
body: [
e,
f
]
}).optimize(t)
}
return e
}),
e(ce, function (e, t) {
if (!t.option('switches')) return e;
var n,
s = e.expression.evaluate(t);
if (s !== e.expression) {
var o = i(s, e.expression).transform(t);
e.expression = be(o, e.expression)
}
if (!t.option('dead_code')) return e;
for (var a, u, l = [
], c = [
], p = 0, h = e.body.length; p < h && !u; p++) {
if ((n = e.body[p]) instanceof he) a ? x(n, c[c.length - 1]) : a = n;
else if (s !== e.expression) {
var f = n.expression.evaluate(t);
if (f === s) {
if (u = n, a) {
var m = c.indexOf(a);
c.splice(m, 1),
x(a, c[m - 1]),
a = null
}
} else if (f !== n.expression) {
x(n, c[c.length - 1]);
continue
}
}
if (je(n)) {
var g = c[c.length - 1];
je(g) && g.body.length == n.body.length && r(M, g, g).equivalent_to(r(M, n, n)) && (g.body = [
])
}
c.push(n)
}
for (; p < h; ) x(e.body[p++], c[c.length - 1]);
for (c.length > 0 && (c[0].body = l.concat(c[0].body)), e.body = c; n = c[c.length - 1]; ) {
var y = n.body[n.body.length - 1];
if (y instanceof ae && t.loopcontrol_target(y) === e && n.body.pop(), n.body.length || n instanceof fe && (a || n.expression.has_side_effects(t))) break;
c.pop() === a && (a = null)
}
if (0 == c.length) return r(M, e, {
body: l.concat(r(L, e.expression, {
body: e.expression
}))
}).optimize(t);
if (1 == c.length && (c[0] === u || c[0] === a)) {
var v = !1,
b = new pt(function (t) {
if (v || t instanceof Q || t instanceof L) return !0;
t instanceof ae && b.loopcontrol_target(t) === e && (v = !0)
});
if (e.walk(b), !v) return (c = c[0].body.slice()).unshift(r(L, e.expression, {
body: e.expression
})),
r(M, e, {
body: c
}).optimize(t)
}
return e;
function x(e, n) {
n && !je(n) ? n.body = n.body.concat(e.body) : d(t, e, l)
}
}),
e(de, function (e, t) {
if (e.body = h(e.body, t), e.bcatch && e.bfinally && D(e.bfinally.body, a) && (e.bfinally = null), D(e.body, a)) {
var n = [
];
return e.bcatch && d(t, e.bcatch, n),
e.bfinally && (n = n.concat(e.bfinally.body)),
r(M, e, {
body: n
}).optimize(t)
}
return e
}),
ye.DEFMETHOD('remove_initializers', function () {
this.definitions.forEach(function (e) {
e.value = null
})
}),
ye.DEFMETHOD('to_assignments', function (e) {
var t = e.option('reduce_vars'),
n = this.definitions.reduce(function (e, n) {
if (n.value) {
var i = r(He, n.name, n.name);
e.push(r(Be, n, {
operator: '=',
left: i,
right: n.value
})),
t && (i.definition().fixed = !1)
}
return e
}, [
]);
return 0 == n.length ? null : _e.from_array(n)
}),
e(ye, function (e, t) {
return 0 == e.definitions.length ? r(U, e) : e
}),
e(Ae, function (e, t) {
var n = e.expression;
if (t.option('reduce_vars') && n instanceof He) {
var s = n.definition(),
o = n.fixed_value();
o instanceof te && (s.fixed = o = r(ee, o, o).clone(!0)),
o instanceof ee && (n = o, !t.option('unused') || 1 != s.references.length || s.scope.uses_arguments && s.orig[0] instanceof Ke || s.scope.uses_eval || t.find_parent(X) !== s.scope || (e.expression = n))
}
if (t.option('unused') && n instanceof ee && !n.uses_arguments && !n.uses_eval) {
for (var u = 0, l = 0, c = 0, h = e.args.length; c < h; c++) {
var f = c >= n.argnames.length;
if (f || n.argnames[c].__unused) {
if (A = e.args[c].drop_side_effect_free(t)) e.args[u++] = A;
else if (!f) {
e.args[u++] = r(et, e.args[c], {
value: 0
});
continue
}
} else e.args[u++] = e.args[c];
l = u
}
e.args.length = l
}
if (t.option('unsafe')) if (n instanceof He && n.undeclared()) switch (n.name) {
case 'Array':
if (1 != e.args.length) return r(Pe, e, {
elements: e.args
}).optimize(t);
break;
case 'Object':
if (0 == e.args.length) return r(Ne, e, {
properties: [
]
});
break;
case 'String':
if (0 == e.args.length) return r(Ze, e, {
value: ''
});
if (e.args.length <= 1) return r(Fe, e, {
left: e.args[0],
operator: '+',
right: r(Ze, e, {
value: ''
})
}).optimize(t);
break;
case 'Number':
if (0 == e.args.length) return r(et, e, {
value: 0
});
if (1 == e.args.length) return r(Se, e, {
expression: e.args[0],
operator: '+'
}).optimize(t);
case 'Boolean':
if (0 == e.args.length) return r(lt, e);
if (1 == e.args.length) return r(Se, e, {
expression: r(Se, e, {
expression: e.args[0],
operator: '!'
}),
operator: '!'
}).optimize(t);
break;
case 'Function':
if (0 == e.args.length) return r(ee, e, {
argnames: [
],
body: [
]
});
if (D(e.args, function (e) {
return e instanceof Ze
})) try {
var d = Gt(v = '(function(' + e.args.slice(0, - 1).map(function (e) {
return e.value
}).join(',') + '){' + e.args[e.args.length - 1].value + '})()');
d.figure_out_scope({
screw_ie8: t.option('screw_ie8')
});
var m,
g = new tn(t.options);
(d = d.transform(g)).figure_out_scope({
screw_ie8: t.option('screw_ie8')
}),
d.mangle_names();
try {
d.walk(new pt(function (e) {
if (e instanceof Q) throw m = e,
d
}))
} catch (e) {
if (e !== d) throw e
}
if (!m) return e;
var y = m.argnames.map(function (t, n) {
return r(Ze, e.args[n], {
value: t.print_to_string()
})
}),
v = en();
return M.prototype._codegen.call(m, m, v),
v = v.toString().replace(/^\{|\}$/g, ''),
y.push(r(Ze, e.args[e.args.length - 1], {
value: v
})),
e.args = y,
e
} catch (n) {
if (!(n instanceof It)) throw console.log(n),
n;
t.warn('Error parsing code passed to new Function [{file}:{line},{col}]', e.args[e.args.length - 1].start),
t.warn(n.toString())
}
} else {
if (n instanceof we && 'toString' == n.property && 0 == e.args.length) return r(Fe, e, {
left: r(Ze, e, {
value: ''
}),
operator: '+',
right: n.expression
}).optimize(t);
var b;
if (n instanceof we && n.expression instanceof Pe && 'join' == n.property) {
if (!(e.args.length > 0 && (b = e.args[0].evaluate(t)) === e.args[0])) {
var x,
A,
E = [
],
_ = [
];
return n.expression.elements.forEach(function (n) {
var i = n.evaluate(t);
i !== n ? _.push(i) : (_.length > 0 && (E.push(r(Ze, e, {
value: _.join(b)
})), _.length = 0), E.push(n))
}),
_.length > 0 && E.push(r(Ze, e, {
value: _.join(b)
})),
0 == E.length ? r(Ze, e, {
value: ''
}) : 1 == E.length ? E[0].is_string(t) ? E[0] : r(Fe, E[0], {
operator: '+',
left: r(Ze, e, {
value: ''
}),
right: E[0]
}) : '' == b ? (x = E[0].is_string(t) || E[1].is_string(t) ? E.shift() : r(Ze, e, {
value: ''
}), E.reduce(function (e, t) {
return r(Fe, t, {
operator: '+',
left: e,
right: t
})
}, x).optimize(t)) : ((A = e.clone()).expression = A.expression.clone(), A.expression.expression = A.expression.expression.clone(), A.expression.expression.elements = E, Ie(t, e, A))
}
} else if (n instanceof we && n.expression.is_string(t) && 'charAt' == n.property) {
var C = e.args[0],
w = C ? C.evaluate(t) : 0;
if (w !== C) return r(De, n, {
expression: n.expression,
property: i(0 | w, C || n)
}).optimize(t)
}
}
if (n instanceof ee) {
if (n.body[0] instanceof ie) {
var k = n.body[0].value;
if (!k || k.is_constant()) {
y = e.args.concat(k || r(st, e));
return _e.from_array(y).transform(t)
}
}
if (t.option('side_effects') && D(n.body, a)) {
y = e.args.concat(r(st, e));
return _e.from_array(y).transform(t)
}
}
if (t.option('drop_console') && n instanceof Ce) {
for (var S = n.expression; S.expression; ) S = S.expression;
if (S instanceof He && 'console' == S.name && S.undeclared()) return r(st, e).optimize(t)
}
return t.option('negate_iife') && t.parent() instanceof L && p(e) ? e.negate(t, !0) : e
}),
e(Ee, function (e, t) {
if (t.option('unsafe')) {
var n = e.expression;
if (n instanceof He && n.undeclared()) switch (n.name) {
case 'Object':
case 'RegExp':
case 'Function':
case 'Error':
case 'Array':
return r(Ae, e, e).transform(t)
}
}
return e
}),
e(_e, function (e, n) {
if (!n.option('side_effects')) return e;
if (e.car = e.car.drop_side_effect_free(n, T(n)), !e.car) return s(n.parent(), e, e.cdr);
var i;
if (n.option('cascade') && (e.car instanceof Be && !e.car.left.has_side_effects(n) ? i = e.car.left : e.car instanceof ke && ('++' == e.car.operator || '--' == e.car.operator) && (i = e.car.expression), i && !(i instanceof He && (i.definition().orig[0] instanceof Ye || t(i))))) for (var o, a, u = e.cdr; ; ) {
if (u.equivalent_to(i)) {
var l = e.car instanceof Te ? r(Se, e.car, {
operator: e.car.operator,
expression: i
}) : e.car;
return o ? (o[a] = l, e.cdr) : l
}
if (u instanceof Fe && !(u instanceof Be)) if (u.left.is_constant()) {
if ('||' == u.operator || '&&' == u.operator) break;
a = 'right'
} else a = 'left';
else {
if (!(u instanceof Ae || u instanceof ke && !se(u.operator))) break;
a = 'expression'
}
o = u,
u = u[a]
}
return A(e.cdr, n) ? r(Se, e, {
operator: 'void',
expression: e.car
}) : e
}),
ke.DEFMETHOD('lift_sequences', function (e) {
if (e.option('sequences') && this.expression instanceof _e) {
var t = this.expression,
n = t.to_array(),
r = this.clone();
return r.expression = n.pop(),
n.push(r),
t = _e.from_array(n).transform(e)
}
return this
}),
e(Te, function (e, t) {
return e.lift_sequences(t)
}),
e(Se, function (e, t) {
var n = e.expression;
if ('delete' == e.operator && !(n instanceof He || n instanceof Ce || n instanceof it || n instanceof at || n instanceof st)) return n instanceof _e ? ((n = n.to_array()).push(r(ct, e)), _e.from_array(n).optimize(t)) : r(_e, e, {
car: n,
cdr: r(ct, e)
}).optimize(t);
var s = e.lift_sequences(t);
if (s !== e) return s;
if (t.option('side_effects') && 'void' == e.operator) return (n = n.drop_side_effect_free(t)) ? (e.expression = n, e) : r(st, e).optimize(t);
if (t.option('booleans') && t.in_boolean_context()) switch (e.operator) {
case '!':
if (n instanceof Se && '!' == n.operator) return n.expression;
n instanceof Fe && (e = Ie(t, e, n.negate(t, T(t))));
break;
case 'typeof':
return t.warn('Boolean expression always true [{file}:{line},{col}]', e.start),
(n instanceof He ? r(ct, e) : r(_e, e, {
car: n,
cdr: r(ct, e)
})).optimize(t)
}
if ('-' == e.operator && n instanceof at && (n = n.transform(t)), n instanceof Fe && ('+' == e.operator || '-' == e.operator) && ('*' == n.operator || '/' == n.operator || '%' == n.operator)) return r(Fe, e, {
operator: n.operator,
left: r(Se, n.left, {
operator: e.operator,
expression: n.left
}),
right: n.right
});
if ('-' != e.operator || !(n instanceof et || n instanceof at)) {
var o = e.evaluate(t);
if (o !== e) return Ie(t, o = i(o, e).optimize(t), e)
}
return e
}),
Fe.DEFMETHOD('lift_sequences', function (e) {
if (e.option('sequences')) {
if (this.left instanceof _e) {
var t = (o = this.left).to_array();
return (r = this.clone()).left = t.pop(),
t.push(r),
_e.from_array(t).optimize(e)
}
if (this.right instanceof _e && !this.left.has_side_effects(e)) {
for (var n, r, i = '=' == this.operator && this.left instanceof He, s = this.right.clone(), o = s; (i || !o.car.has_side_effects(e)) && (n = o, o.cdr instanceof _e); ) o = o.cdr = o.cdr.clone();
if (n) return (r = this.clone()).right = n.cdr,
n.cdr = r,
s.optimize(e)
}
}
return this
});
var Ue = w('== === != !== * & | ^');
function Ve(e, t) {
return e instanceof He || e.TYPE === t.TYPE
}
e(Fe, function (e, t) {
function n() {
return e.left.is_constant() || e.right.is_constant() || !e.left.has_side_effects(t) && !e.right.has_side_effects(t)
}
function o(t) {
if (n()) {
t && (e.operator = t);
var r = e.left;
e.left = e.right,
e.right = r
}
}
if (Ue(e.operator) && e.right.is_constant() && !e.left.is_constant() && (e.left instanceof Fe && $t[e.left.operator] >= $t[e.operator] || o()), e = e.lift_sequences(t), t.option('comparisons')) switch (e.operator) {
case '===':
case '!==':
(e.left.is_string(t) && e.right.is_string(t) || e.left.is_number(t) && e.right.is_number(t) || e.left.is_boolean() && e.right.is_boolean()) && (e.operator = e.operator.substr(0, 2));
case '==':
case '!=':
if (e.left instanceof Ze && 'undefined' == e.left.value && e.right instanceof Se && 'typeof' == e.right.operator) {
var a = e.right.expression;
(a instanceof He ? a.undeclared() : a instanceof Ce && !t.option('screw_ie8')) || (e.right = a, e.left = r(st, e.left).optimize(t), 2 == e.operator.length && (e.operator += '='))
}
}
if (t.option('booleans') && '+' == e.operator && t.in_boolean_context()) {
var u = e.left.evaluate(t),
l = e.right.evaluate(t);
if (u && 'string' == typeof u) return t.warn('+ in boolean context always true [{file}:{line},{col}]', e.start),
r(_e, e, {
car: e.right,
cdr: r(ct, e)
}).optimize(t);
if (l && 'string' == typeof l) return t.warn('+ in boolean context always true [{file}:{line},{col}]', e.start),
r(_e, e, {
car: e.left,
cdr: r(ct, e)
}).optimize(t)
}
if (t.option('comparisons') && e.is_boolean()) {
if (!(t.parent() instanceof Fe) || t.parent() instanceof Be) {
var c = r(Se, e, {
operator: '!',
expression: e.negate(t, T(t))
});
e = Ie(t, e, c)
}
if (t.option('unsafe_comps')) switch (e.operator) {
case '<':
o('>');
break;
case '<=':
o('>=')
}
}
if ('+' == e.operator) {
if (e.right instanceof Ze && '' == e.right.getValue() && e.left.is_string(t)) return e.left;
if (e.left instanceof Ze && '' == e.left.getValue() && e.right.is_string(t)) return e.right;
if (e.left instanceof Fe && '+' == e.left.operator && e.left.left instanceof Ze && '' == e.left.left.getValue() && e.right.is_string(t)) return e.left = e.left.right,
e.transform(t)
}
if (t.option('evaluate')) {
switch (e.operator) {
case '&&':
if (!(u = e.left.evaluate(t))) return t.warn('Condition left of && always false [{file}:{line},{col}]', e.start),
s(t.parent(), e, e.left).optimize(t);
if (u !== e.left) return t.warn('Condition left of && always true [{file}:{line},{col}]', e.start),
s(t.parent(), e, e.right).optimize(t);
if (t.option('booleans') && t.in_boolean_context()) {
if (!(l = e.right.evaluate(t))) return t.warn('Boolean && always false [{file}:{line},{col}]', e.start),
r(_e, e, {
car: e.left,
cdr: r(lt, e)
}).optimize(t);
if (l !== e.right) return t.warn('Dropping side-effect-free && in boolean context [{file}:{line},{col}]', e.start),
e.left.optimize(t)
}
break;
case '||':
if (!(u = e.left.evaluate(t))) return t.warn('Condition left of || always false [{file}:{line},{col}]', e.start),
s(t.parent(), e, e.right).optimize(t);
if (u !== e.left) return t.warn('Condition left of || always true [{file}:{line},{col}]', e.start),
s(t.parent(), e, e.left).optimize(t);
if (t.option('booleans') && t.in_boolean_context()) {
if (!(l = e.right.evaluate(t))) return t.warn('Dropping side-effect-free || in boolean context [{file}:{line},{col}]', e.start),
e.left.optimize(t);
if (l !== e.right) return t.warn('Boolean || always true [{file}:{line},{col}]', e.start),
r(_e, e, {
car: e.left,
cdr: r(ct, e)
}).optimize(t)
}
}
var p = !0;
switch (e.operator) {
case '+':
if (e.left instanceof Qe && e.right instanceof Fe && '+' == e.right.operator && e.right.left instanceof Qe && e.right.is_string(t) && (e = r(Fe, e, {
operator: '+',
left: r(Ze, e.left, {
value: '' + e.left.getValue() + e.right.left.getValue(),
start: e.left.start,
end: e.right.left.end
}),
right: e.right.right
})), e.right instanceof Qe && e.left instanceof Fe && '+' == e.left.operator && e.left.right instanceof Qe && e.left.is_string(t) && (e = r(Fe, e, {
operator: '+',
left: e.left.left,
right: r(Ze, e.right, {
value: '' + e.left.right.getValue() + e.right.getValue(),
start: e.left.right.start,
end: e.right.end
})
})), e.left instanceof Fe && '+' == e.left.operator && e.left.is_string(t) && e.left.right instanceof Qe && e.right instanceof Fe && '+' == e.right.operator && e.right.left instanceof Qe && e.right.is_string(t) && (e = r(Fe, e, {
operator: '+',
left: r(Fe, e.left, {
operator: '+',
left: e.left.left,
right: r(Ze, e.left.right, {
value: '' + e.left.right.getValue() + e.right.left.getValue(),
start: e.left.right.start,
end: e.right.left.end
})
}),
right: e.right.right
})), e.right instanceof Se && '-' == e.right.operator && e.left.is_number(t)) {
e = r(Fe, e, {
operator: '-',
left: e.left,
right: e.right.expression
});
break
}
if (e.left instanceof Se && '-' == e.left.operator && n() && e.right.is_number(t)) {
e = r(Fe, e, {
operator: '-',
left: e.right,
right: e.left.expression
});
break
}
case '*':
p = t.option('unsafe_math');
case '&':
case '|':
case '^':
if (e.left.is_number(t) && e.right.is_number(t) && n() && !(e.left instanceof Fe && e.left.operator != e.operator && $t[e.left.operator] >= $t[e.operator])) {
var h = r(Fe, e, {
operator: e.operator,
left: e.right,
right: e.left
});
e = e.right instanceof Qe && !(e.left instanceof Qe) ? Ie(t, h, e) : Ie(t, e, h)
}
p && e.is_number(t) && (e.right instanceof Fe && e.right.operator == e.operator && (e = r(Fe, e, {
operator: e.operator,
left: r(Fe, e.left, {
operator: e.operator,
left: e.left,
right: e.right.left,
start: e.left.start,
end: e.right.left.end
}),
right: e.right.right
})), e.right instanceof Qe && e.left instanceof Fe && e.left.operator == e.operator && (e.left.left instanceof Qe ? e = r(Fe, e, {
operator: e.operator,
left: r(Fe, e.left, {
operator: e.operator,
left: e.left.left,
right: e.right,
start: e.left.left.start,
end: e.right.end
}),
right: e.left.right
}) : e.left.right instanceof Qe && (e = r(Fe, e, {
operator: e.operator,
left: r(Fe, e.left, {
operator: e.operator,
left: e.left.right,
right: e.right,
start: e.left.right.start,
end: e.right.end
}),
right: e.left.left
}))), e.left instanceof Fe && e.left.operator == e.operator && e.left.right instanceof Qe && e.right instanceof Fe && e.right.operator == e.operator && e.right.left instanceof Qe && (e = r(Fe, e, {
operator: e.operator,
left: r(Fe, e.left, {
operator: e.operator,
left: r(Fe, e.left.left, {
operator: e.operator,
left: e.left.right,
right: e.right.left,
start: e.left.right.start,
end: e.right.left.end
}),
right: e.left.left
}),
right: e.right.right
})))
}
}
if (e.right instanceof Fe && e.right.operator == e.operator && ('&&' == e.operator || '||' == e.operator || '+' == e.operator && (e.right.left.is_string(t) || e.left.is_string(t) && e.right.right.is_string(t)))) return e.left = r(Fe, e.left, {
operator: e.operator,
left: e.left,
right: e.right.left
}),
e.right = e.right.right,
e.transform(t);
var f = e.evaluate(t);
return f !== e ? (f = i(f, e).optimize(t), Ie(t, f, e)) : e
}),
e(He, function (e, t) {
var n = e.resolve_defines(t);
if (n) return n.optimize(t);
if (t.option('screw_ie8') && e.undeclared() && (!e.scope.uses_with || !t.find_parent(H))) switch (e.name) {
case 'undefined':
return r(st, e).optimize(t);
case 'NaN':
return r(it, e).optimize(t);
case 'Infinity':
return r(at, e).optimize(t)
}
if (t.option('evaluate') && t.option('reduce_vars') && ge(e, t.parent()) !== e) {
var s = e.definition(),
o = e.fixed_value();
if (o) {
if (void 0 === s.should_replace) {
var a = o.evaluate(t);
if (a === o || !t.option('unsafe_regexp') && a instanceof RegExp) s.should_replace = !1;
else {
var u,
l = (a = i(a, o)).optimize(t).print_to_string().length;
!function (e) {
var t;
return e.walk(new pt(function (e) {
if (e instanceof He && (t = !0), t) return !0
})),
t
}(o) ? (l = Math.min(l, o.print_to_string().length), u = function () {
var e = be(a.optimize(t), o);
return e === a || e === o ? e.clone(!0) : e
}) : u = function () {
var e = a.optimize(t);
return e === a ? e.clone(!0) : e
};
var c = s.name.length,
p = 0;
!t.option('unused') || s.global && !t.option('toplevel') || (p = (c + 2 + l) / s.references.length),
s.should_replace = l <= c + p && u
}
}
if (s.should_replace) return s.should_replace()
}
}
return e
}),
e(st, function (e, t) {
if (t.option('unsafe')) {
var i = n(t, 'undefined');
if (i) {
var s = r(He, e, {
name: 'undefined',
scope: i.scope,
thedef: i
});
return s.is_undefined = !0,
s
}
}
var o = ge(t.self(), t.parent());
return o && Ve(o, e) ? e : r(Se, e, {
operator: 'void',
expression: r(et, e, {
value: 0
})
})
}),
e(at, function (e, t) {
var i = ge(t.self(), t.parent());
return i && Ve(i, e) ? e : !t.option('keep_infinity') || i && !Ve(i, e) || n(t, 'Infinity') ? r(Fe, e, {
operator: '/',
left: r(et, e, {
value: 1
}),
right: r(et, e, {
value: 0
})
}) : e
}),
e(it, function (e, t) {
var i = ge(t.self(), t.parent());
return i && !Ve(i, e) || n(t, 'NaN') ? r(Fe, e, {
operator: '/',
left: r(et, e, {
value: 0
}),
right: r(et, e, {
value: 0
})
}) : e
});
var ze = [
'+',
'-',
'/',
'*',
'%',
'>>',
'<<',
'>>>',
'|',
'^',
'&'
],
Ge = [
'*',
'|',
'^',
'&'
];
function Xe(e, t) {
return t.option('booleans') && t.in_boolean_context() ? Ie(t, e, r(_e, e, {
car: e,
cdr: r(ct, e)
}).optimize(t)) : e
}
e(Be, function (e, t) {
return '=' == (e = e.lift_sequences(t)).operator && e.left instanceof He && e.right instanceof Fe && (e.right.left instanceof He && e.right.left.name == e.left.name && u(e.right.operator, ze) ? (e.operator = e.right.operator + '=', e.right = e.right.right) : e.right.right instanceof He && e.right.right.name == e.left.name && u(e.right.operator, Ge) && !e.right.left.has_side_effects(t) && (e.operator = e.right.operator + '=', e.right = e.right.left)),
e
}),
e(Oe, function (e, t) {
if (!t.option('conditionals')) return e;
if (e.condition instanceof _e) {
var n = e.condition.car;
return e.condition = e.condition.cdr,
_e.cons(n, e)
}
var i = e.condition.evaluate(t);
if (i !== e.condition) return i ? (t.warn('Condition always true [{file}:{line},{col}]', e.start), s(t.parent(), e, e.consequent)) : (t.warn('Condition always false [{file}:{line},{col}]', e.start), s(t.parent(), e, e.alternative));
var o = i.negate(t, T(t));
Ie(t, i, o) === o && (e = r(Oe, e, {
condition: o,
consequent: e.alternative,
alternative: e.consequent
}));
var a = e.condition,
u = e.consequent,
l = e.alternative;
return a instanceof He && u instanceof He && a.definition() === u.definition() ? r(Fe, e, {
operator: '||',
left: a,
right: l
}) : u instanceof Be && l instanceof Be && u.operator == l.operator && u.left.equivalent_to(l.left) && (!e.condition.has_side_effects(t) || '=' == u.operator && !u.left.has_side_effects(t)) ? r(Be, e, {
operator: u.operator,
left: u.left,
right: r(Oe, e, {
condition: e.condition,
consequent: u.right,
alternative: l.right
})
}) : u instanceof Ae && l.TYPE === u.TYPE && 1 == u.args.length && 1 == l.args.length && u.expression.equivalent_to(l.expression) && !u.expression.has_side_effects(t) ? (u.args[0] = r(Oe, e, {
condition: e.condition,
consequent: u.args[0],
alternative: l.args[0]
}), u) : u instanceof Oe && u.alternative.equivalent_to(l) ? r(Oe, e, {
condition: r(Fe, e, {
left: e.condition,
operator: '&&',
right: u.condition
}),
consequent: u.consequent,
alternative: l
}) : u.equivalent_to(l) ? r(_e, e, {
car: e.condition,
cdr: u
}).optimize(t) : p(e.consequent) ? h(e.alternative) ? c(e.condition) : r(Fe, e, {
operator: '||',
left: c(e.condition),
right: e.alternative
}) : h(e.consequent) ? p(e.alternative) ? c(e.condition.negate(t)) : r(Fe, e, {
operator: '&&',
left: c(e.condition.negate(t)),
right: e.alternative
}) : p(e.alternative) ? r(Fe, e, {
operator: '||',
left: c(e.condition.negate(t)),
right: e.consequent
}) : h(e.alternative) ? r(Fe, e, {
operator: '&&',
left: c(e.condition),
right: e.consequent
}) : e;
function c(e) {
return e.is_boolean() ? e : r(Se, e, {
operator: '!',
expression: e.negate(t)
})
}
function p(e) {
return e instanceof ct || e instanceof Se && '!' == e.operator && e.expression instanceof Qe && !e.expression.value
}
function h(e) {
return e instanceof lt || e instanceof Se && '!' == e.operator && e.expression instanceof Qe && !!e.expression.value
}
}),
e(ut, function (e, t) {
if (t.option('booleans')) {
var n = t.parent();
return n instanceof Fe && ('==' == n.operator || '!=' == n.operator) ? (t.warn('Non-strict equality against boolean: {operator} {value} [{file}:{line},{col}]', {
operator: n.operator,
value: e.value,
file: n.start.file,
line: n.start.line,
col: n.start.col
}), r(et, e, {
value: + e.value
})) : r(Se, e, {
operator: '!',
expression: r(et, e, {
value: 1 - e.value
})
})
}
return e
}),
e(De, function (e, t) {
var n = e.property;
if (n instanceof Ze && t.option('properties')) {
if (n = n.getValue(), dt(n) ? t.option('screw_ie8') : Rt(n)) return r(we, e, {
expression: e.expression,
property: n
}).optimize(t);
var s = parseFloat(n);
isNaN(s) || s.toString() != n || (e.property = r(et, e.property, {
value: s
}))
}
var o = e.evaluate(t);
return o !== e ? Ie(t, o = i(o, e).optimize(t), e) : e
}),
e(we, function (e, t) {
var n = e.resolve_defines(t);
if (n) return n.optimize(t);
var s = e.property;
if (dt(s) && !t.option('screw_ie8')) return r(De, e, {
expression: e.expression,
property: r(Ze, e, {
value: s
})
}).optimize(t);
if (t.option('unsafe_proto') && e.expression instanceof we && 'prototype' == e.expression.property) {
var o = e.expression.expression;
if (o instanceof He && o.undeclared()) switch (o.name) {
case 'Array':
e.expression = r(Pe, e.expression, {
elements: [
]
});
break;
case 'Object':
e.expression = r(Ne, e.expression, {
properties: [
]
});
break;
case 'String':
e.expression = r(Ze, e.expression, {
value: ''
})
}
}
var a = e.evaluate(t);
return a !== e ? Ie(t, a = i(a, e).optimize(t), e) : e
}),
e(Pe, Xe),
e(Ne, Xe),
e(tt, Xe),
e(ie, function (e, t) {
return e.value && A(e.value, t) && (e.value = null),
e
}),
e(xe, function (e, t) {
var n = t.option('global_defs');
return n && S(n, e.name.name) && t.warn('global_defs ' + e.name.name + ' redefined [{file}:{line},{col}]', e.start),
e
})
}(),
function () {
var e = function (e) {
for (var t = !0, n = 0; n < e.length; n++) t && e[n] instanceof P && e[n].body instanceof Ze ? e[n] = new R({
start: e[n].start,
end: e[n].end,
value: e[n].body.value
}) : !t || e[n] instanceof P && e[n].body instanceof Ze || (t = !1);
return e
},
t = {
Program: function (t) {
return new J({
start: i(t),
end: s(t),
body: e(t.body.map(u))
})
},
FunctionDeclaration: function (t) {
return new te({
start: i(t),
end: s(t),
name: u(t.id),
argnames: t.params.map(u),
body: e(u(t.body).body)
})
},
FunctionExpression: function (t) {
return new ee({
start: i(t),
end: s(t),
name: u(t.id),
argnames: t.params.map(u),
body: e(u(t.body).body)
})
},
ExpressionStatement: function (e) {
return new L({
start: i(e),
end: s(e),
body: u(e.expression)
})
},
TryStatement: function (e) {
var t = e.handlers || [
e.handler
];
if (t.length > 1 || e.guardedHandlers && e.guardedHandlers.length) throw new Error('Multiple catch clauses are not supported.');
return new de({
start: i(e),
end: s(e),
body: u(e.block).body,
bcatch: u(t[0]),
bfinally: e.finalizer ? new ge(u(e.finalizer)) : null
})
},
Property: function (e) {
var t = e.key,
n = {
start: i(t),
end: s(e.value),
key: 'Identifier' == t.type ? t.name : t.value,
value: u(e.value)
};
return 'init' == e.kind ? new Le(n) : (n.key = new Ue({
name: n.key
}), n.value = new Z(n.value), 'get' == e.kind ? new je(n) : 'set' == e.kind ? new Ie(n) : void 0)
},
ArrayExpression: function (e) {
return new Pe({
start: i(e),
end: s(e),
elements: e.elements.map(function (e) {
return null === e ? new ot : u(e)
})
})
},
ObjectExpression: function (e) {
return new Ne({
start: i(e),
end: s(e),
properties: e.properties.map(function (e) {
return e.type = 'Property',
u(e)
})
})
},
SequenceExpression: function (e) {
return _e.from_array(e.expressions.map(u))
},
MemberExpression: function (e) {
return new (e.computed ? De : we) ({
start: i(e),
end: s(e),
property: e.computed ? u(e.property) : e.property.name,
expression: u(e.object)
})
},
SwitchCase: function (e) {
return new (e.test ? fe : he) ({
start: i(e),
end: s(e),
expression: u(e.test),
body: e.consequent.map(u)
})
},
VariableDeclaration: function (e) {
return new ('const' === e.kind ? be : ve) ({
start: i(e),
end: s(e),
definitions: e.declarations.map(u)
})
},
Literal: function (e) {
var t = e.value,
n = {
start: i(e),
end: s(e)
};
if (null === t) return new rt(n);
switch (typeof t) {
case 'string':
return n.value = t,
new Ze(n);
case 'number':
return n.value = t,
new et(n);
case 'boolean':
return new (t ? ct : lt) (n);
default:
var r = e.regex;
return r && r.pattern ? n.value = new RegExp(r.pattern, r.flags).toString() : n.value = e.regex && e.raw ? e.raw : t,
new tt(n)
}
},
Identifier: function (e) {
var t = a[a.length - 2];
return new ('LabeledStatement' == t.type ? Ge : 'VariableDeclarator' == t.type && t.id === e ? 'const' == t.kind ? qe : ze : 'FunctionExpression' == t.type ? t.id === e ? Ye : Ke : 'FunctionDeclaration' == t.type ? t.id === e ? $e : Ke : 'CatchClause' == t.type ? We : 'BreakStatement' == t.type || 'ContinueStatement' == t.type ? Xe : He) ({
start: i(e),
end: s(e),
name: e.name
})
}
};
function r(e) {
if ('Literal' == e.type) return null != e.raw ? e.raw : e.value + ''
}
function i(e) {
var t = e.loc,
n = t && t.start,
i = e.range;
return new O({
file: t && t.source,
line: n && n.line,
col: n && n.column,
pos: i ? i[0] : e.start,
endline: n && n.line,
endcol: n && n.column,
endpos: i ? i[0] : e.start,
raw: r(e)
})
}
function s(e) {
var t = e.loc,
n = t && t.end,
i = e.range;
return new O({
file: t && t.source,
line: n && n.line,
col: n && n.column,
pos: i ? i[1] : e.end,
endline: n && n.line,
endcol: n && n.column,
endpos: i ? i[1] : e.end,
raw: r(e)
})
}
function o(e, r, o) {
var a = 'function From_Moz_' + e + '(M){\n';
a += 'return new U2.' + r.name + '({\nstart: my_start_token(M),\nend: my_end_token(M)';
var f = 'function To_Moz_' + e + '(M){\n';
f += 'return {\ntype: ' + JSON.stringify(e),
o && o.split(/\s*,\s*/).forEach(function (e) {
var t = /([a-z0-9$_]+)(=|@|>|%)([a-z0-9$_]+)/i.exec(e);
if (!t) throw new Error('Can\'t understand property map: ' + e);
var n = t[1],
r = t[2],
i = t[3];
switch (a += ',\n' + i + ': ', f += ',\n' + n + ': ', r) {
case '@':
a += 'M.' + n + '.map(from_moz)',
f += 'M.' + i + '.map(to_moz)';
break;
case '>':
a += 'from_moz(M.' + n + ')',
f += 'to_moz(M.' + i + ')';
break;
case '=':
a += 'M.' + n,
f += 'M.' + i;
break;
case '%':
a += 'from_moz(M.' + n + ').body',
f += 'to_moz_block(M)';
break;
default:
throw new Error('Can\'t understand operator in propmap: ' + e)
}
}),
a += '\n})\n}',
f += '\n}\n}',
a = new Function('U2', 'my_start_token', 'my_end_token', 'from_moz', 'return(' + a + ')') (n, i, s, u),
f = new Function('to_moz', 'to_moz_block', 'to_moz_scope', 'return(' + f + ')') (c, p, h),
t[e] = a,
l(r, f)
}
t.UpdateExpression = t.UnaryExpression = function (e) {
return new (('prefix' in e ? e.prefix : 'UnaryExpression' == e.type) ? Se : Te) ({
start: i(e),
end: s(e),
operator: e.operator,
expression: u(e.argument)
})
},
o('EmptyStatement', U),
o('BlockStatement', M, 'body@body'),
o('IfStatement', le, 'test>condition, consequent>body, alternate>alternative'),
o('LabeledStatement', z, 'label>label, body>body'),
o('BreakStatement', ae, 'label>label'),
o('ContinueStatement', ue, 'label>label'),
o('WithStatement', H, 'object>expression, body>body'),
o('SwitchStatement', ce, 'discriminant>expression, cases@body'),
o('ReturnStatement', ie, 'argument>value'),
o('ThrowStatement', se, 'argument>value'),
o('WhileStatement', Y, 'test>condition, body>body'),
o('DoWhileStatement', $, 'test>condition, body>body'),
o('ForStatement', W, 'init>init, test>condition, update>step, body>body'),
o('ForInStatement', G, 'left>init, right>object, body>body'),
o('DebuggerStatement', N),
o('VariableDeclarator', xe, 'id>name, init>value'),
o('CatchClause', me, 'param>argname, body%body'),
o('ThisExpression', Je),
o('BinaryExpression', Fe, 'operator=operator, left>left, right>right'),
o('LogicalExpression', Fe, 'operator=operator, left>left, right>right'),
o('AssignmentExpression', Be, 'operator=operator, left>left, right>right'),
o('ConditionalExpression', Oe, 'test>condition, consequent>consequent, alternate>alternative'),
o('NewExpression', Ee, 'callee>expression, arguments@args'),
o('CallExpression', Ae, 'callee>expression, arguments@args'),
l(J, function (e) {
return h('Program', e)
}),
l(te, function (e) {
return {
type: 'FunctionDeclaration',
id: c(e.name),
params: e.argnames.map(c),
body: h('BlockStatement', e)
}
}),
l(ee, function (e) {
return {
type: 'FunctionExpression',
id: c(e.name),
params: e.argnames.map(c),
body: h('BlockStatement', e)
}
}),
l(R, function (e) {
return {
type: 'ExpressionStatement',
expression: {
type: 'Literal',
value: e.value
}
}
}),
l(L, function (e) {
return {
type: 'ExpressionStatement',
expression: c(e.body)
}
}),
l(pe, function (e) {
return {
type: 'SwitchCase',
test: c(e.expression),
consequent: e.body.map(c)
}
}),
l(de, function (e) {
return {
type: 'TryStatement',
block: p(e),
handler: c(e.bcatch),
guardedHandlers: [
],
finalizer: c(e.bfinally)
}
}),
l(me, function (e) {
return {
type: 'CatchClause',
param: c(e.argname),
guard: null,
body: p(e)
}
}),
l(ye, function (e) {
return {
type: 'VariableDeclaration',
kind: e instanceof be ? 'const' : 'var',
declarations: e.definitions.map(c)
}
}),
l(_e, function (e) {
return {
type: 'SequenceExpression',
expressions: e.to_array().map(c)
}
}),
l(Ce, function (e) {
var t = e instanceof De;
return {
type: 'MemberExpression',
object: c(e.expression),
computed: t,
property: t ? c(e.property) : {
type: 'Identifier',
name: e.property
}
}
}),
l(ke, function (e) {
return {
type: '++' == e.operator || '--' == e.operator ? 'UpdateExpression' : 'UnaryExpression',
operator: e.operator,
prefix: e instanceof Se,
argument: c(e.expression)
}
}),
l(Fe, function (e) {
return {
type: '&&' == e.operator || '||' == e.operator ? 'LogicalExpression' : 'BinaryExpression',
left: c(e.left),
operator: e.operator,
right: c(e.right)
}
}),
l(Pe, function (e) {
return {
type: 'ArrayExpression',
elements: e.elements.map(c)
}
}),
l(Ne, function (e) {
return {
type: 'ObjectExpression',
properties: e.properties.map(c)
}
}),
l(Re, function (e) {
var t,
n = {
type: 'Literal',
value: e.key instanceof Ue ? e.key.name : e.key
};
return e instanceof Le ? t = 'init' : e instanceof je ? t = 'get' : e instanceof Ie && (t = 'set'),
{
type: 'Property',
kind: t,
key: n,
value: c(e.value)
}
}),
l(Me, function (e) {
var t = e.definition();
return {
type: 'Identifier',
name: t ? t.mangled_name || t.name : e.name
}
}),
l(tt, function (e) {
var t = e.value;
return {
type: 'Literal',
value: t,
raw: t.toString(),
regex: {
pattern: t.source,
flags: t.toString().match(/[gimuy]*$/) [0]
}
}
}),
l(Qe, function (e) {
var t = e.value;
return 'number' == typeof t && (t < 0 || 0 === t && 1 / t < 0) ? {
type: 'UnaryExpression',
operator: '-',
prefix: !0,
argument: {
type: 'Literal',
value: - t,
raw: e.start.raw
}
}
: {
type: 'Literal',
value: t,
raw: e.start.raw
}
}),
l(nt, function (e) {
return {
type: 'Identifier',
name: String(e.value)
}
}),
ut.DEFMETHOD('to_mozilla_ast', Qe.prototype.to_mozilla_ast),
rt.DEFMETHOD('to_mozilla_ast', Qe.prototype.to_mozilla_ast),
ot.DEFMETHOD('to_mozilla_ast', function () {
return null
}),
j.DEFMETHOD('to_mozilla_ast', M.prototype.to_mozilla_ast),
Q.DEFMETHOD('to_mozilla_ast', ee.prototype.to_mozilla_ast);
var a = null;
function u(e) {
a.push(e);
var n = null != e ? t[e.type](e) : null;
return a.pop(),
n
}
function l(e, t) {
e.DEFMETHOD('to_mozilla_ast', function () {
return e = this,
n = t(this),
r = e.start,
i = e.end,
null != r.pos && null != i.endpos && (n.range = [
r.pos,
i.endpos
]),
r.line && (n.loc = {
start: {
line: r.line,
column: r.col
},
end: i.endline ? {
line: i.endline,
column: i.endcol
}
: null
}, r.file && (n.loc.source = r.file)),
n;
var e,
n,
r,
i
})
}
function c(e) {
return null != e ? e.to_mozilla_ast() : null
}
function p(e) {
return {
type: 'BlockStatement',
body: e.body.map(c)
}
}
function h(e, t) {
var n = t.body.map(c);
return t.body[0] instanceof L && t.body[0].body instanceof Ze && n.unshift(c(new U(t.body[0]))),
{
type: e,
body: n
}
}
B.from_mozilla_ast = function (e) {
var t = a;
a = [
];
var n = u(e);
return a = t,
n
}
}(),
n.Compressor = tn,
n.DefaultsError = h,
n.Dictionary = k,
n.JS_Parse_Error = It,
n.MAP = x,
n.OutputStream = en,
n.SourceMap = nn,
n.TreeTransformer = Ht,
n.TreeWalker = pt,
n.base54 = Jt,
n.defaults = f,
n.mangle_properties = sn,
n.merge = d,
n.parse = Gt,
n.push_uniq = A,
n.string_template = E,
n.tokenizer = Vt,
n.is_identifier = Bt,
n.SymbolDef = Xt,
n.sys = r,
n.MOZ_SourceMap = i,
n.UglifyJS = s,
n.array_to_hash = o,
n.slice = function (e, t) {
return Array.prototype.slice.call(e, t || 0)
},
n.characters = a,
n.member = u,
n.find_if = l,
n.repeat_string = c,
n.configure_error_stack = p,
n.DefaultsError = h,
n.defaults = f,
n.merge = d,
n.noop = m,
n.return_false = g,
n.return_true = y,
n.return_this = v,
n.return_null = b,
n.MAP = x,
n.push_uniq = A,
n.string_template = E,
n.remove = _,
n.mergeSort = C,
n.set_difference = function (e, t) {
return e.filter(function (e) {
return t.indexOf(e) < 0
})
},
n.set_intersection = function (e, t) {
return e.filter(function (e) {
return t.indexOf(e) >= 0
})
},
n.makePredicate = w,
n.all = D,
n.Dictionary = k,
n.HOP = S,
n.first_in_statement = T,
n.DEFNODE = F,
n.AST_Token = O,
n.AST_Node = B,
n.AST_Statement = P,
n.AST_Debugger = N,
n.AST_Directive = R,
n.AST_SimpleStatement = L,
n.walk_body = I,
n.AST_Block = j,
n.AST_BlockStatement = M,
n.AST_EmptyStatement = U,
n.AST_StatementWithBody = V,
n.AST_LabeledStatement = z,
n.AST_IterationStatement = q,
n.AST_DWLoop = K,
n.AST_Do = $,
n.AST_While = Y,
n.AST_For = W,
n.AST_ForIn = G,
n.AST_With = H,
n.AST_Scope = X,
n.AST_Toplevel = J,
n.AST_Lambda = Q,
n.AST_Accessor = Z,
n.AST_Function = ee,
n.AST_Defun = te,
n.AST_Jump = ne,
n.AST_Exit = re,
n.AST_Return = ie,
n.AST_Throw = se,
n.AST_LoopControl = oe,
n.AST_Break = ae,
n.AST_Continue = ue,
n.AST_If = le,
n.AST_Switch = ce,
n.AST_SwitchBranch = pe,
n.AST_Default = he,
n.AST_Case = fe,
n.AST_Try = de,
n.AST_Catch = me,
n.AST_Finally = ge,
n.AST_Definitions = ye,
n.AST_Var = ve,
n.AST_Const = be,
n.AST_VarDef = xe,
n.AST_Call = Ae,
n.AST_New = Ee,
n.AST_Seq = _e,
n.AST_PropAccess = Ce,
n.AST_Dot = we,
n.AST_Sub = De,
n.AST_Unary = ke,
n.AST_UnaryPrefix = Se,
n.AST_UnaryPostfix = Te,
n.AST_Binary = Fe,
n.AST_Conditional = Oe,
n.AST_Assign = Be,
n.AST_Array = Pe,
n.AST_Object = Ne,
n.AST_ObjectProperty = Re,
n.AST_ObjectKeyVal = Le,
n.AST_ObjectSetter = Ie,
n.AST_ObjectGetter = je,
n.AST_Symbol = Me,
n.AST_SymbolAccessor = Ue,
n.AST_SymbolDeclaration = Ve,
n.AST_SymbolVar = ze,
n.AST_SymbolConst = qe,
n.AST_SymbolFunarg = Ke,
n.AST_SymbolDefun = $e,
n.AST_SymbolLambda = Ye,
n.AST_SymbolCatch = We,
n.AST_Label = Ge,
n.AST_SymbolRef = He,
n.AST_LabelRef = Xe,
n.AST_This = Je,
n.AST_Constant = Qe,
n.AST_String = Ze,
n.AST_Number = et,
n.AST_RegExp = tt,
n.AST_Atom = nt,
n.AST_Null = rt,
n.AST_NaN = it,
n.AST_Undefined = st,
n.AST_Hole = ot,
n.AST_Infinity = at,
n.AST_Boolean = ut,
n.AST_False = lt,
n.AST_True = ct,
n.TreeWalker = pt,
n.KEYWORDS = ht,
n.KEYWORDS_ATOM = ft,
n.RESERVED_WORDS = dt,
n.KEYWORDS_BEFORE_EXPRESSION = mt,
n.OPERATOR_CHARS = gt,
n.RE_HEX_NUMBER = yt,
n.RE_OCT_NUMBER = vt,
n.OPERATORS = bt,
n.WHITESPACE_CHARS = xt,
n.NEWLINE_CHARS = At,
n.PUNC_BEFORE_EXPRESSION = Et,
n.PUNC_CHARS = _t,
n.REGEXP_MODIFIERS = Ct,
n.UNICODE = wt,
n.is_letter = Dt,
n.is_digit = kt,
n.is_alphanumeric_char = St,
n.is_unicode_digit = Tt,
n.is_unicode_combining_mark = Ft,
n.is_unicode_connector_punctuation = Ot,
n.is_identifier = Bt,
n.is_identifier_start = Pt,
n.is_identifier_char = Nt,
n.is_identifier_string = Rt,
n.parse_js_number = Lt,
n.JS_Parse_Error = It,
n.js_error = jt,
n.is_token = Mt,
n.EX_EOF = Ut,
n.tokenizer = Vt,
n.UNARY_PREFIX = zt,
n.UNARY_POSTFIX = qt,
n.ASSIGNMENT = Kt,
n.PRECEDENCE = $t,
n.STATEMENTS_WITH_LABELS = Yt,
n.ATOMIC_START_TOKEN = Wt,
n.parse = Gt,
n.TreeTransformer = Ht,
n.SymbolDef = Xt,
n.base54 = Jt,
n.EXPECT_DIRECTIVE = Qt,
n.is_some_comments = Zt,
n.OutputStream = en,
n.Compressor = tn,
n.SourceMap = nn,
n.find_builtins = rn,
n.mangle_properties = sn,
n.AST_Node.warn_function = function (e) {
'undefined' != typeof console && 'function' == typeof console.warn && console.warn(e)
},
n.minify = function (e, n) {
n = s.defaults(n, {
compress: {
},
fromString: !1,
inSourceMap: null,
mangle: {
},
mangleProperties: !1,
nameCache: null,
outFileName: null,
output: null,
outSourceMap: null,
parse: {
},
sourceMapInline: !1,
sourceMapUrl: null,
sourceRoot: null,
spidermonkey: !1,
warnings: !1
}),
s.base54.reset();
var r = n.inSourceMap;
'string' == typeof r && 'inline' != r && (r = JSON.parse(fs.readFileSync(r, 'utf8')));
var i = null,
o = {
};
if (n.spidermonkey) {
if ('inline' == r) throw new Error('inline source map only works with built-in parser');
i = s.AST_Node.from_mozilla_ast(e)
} else {
function a(e, t) {
var a = n.fromString ? e : fs.readFileSync(e, 'utf8');
'inline' == r && (r = read_source_map(a)),
o[t] = a,
i = s.parse(a, {
filename: t,
toplevel: i,
bare_returns: n.parse ? n.parse.bare_returns : void 0
})
}
if (!n.fromString && (e = s.simple_glob(e), 'inline' == r && e.length > 1)) throw new Error('inline source map only works with singular input');
[
].concat(e).forEach(function (e, t) {
if ('string' == typeof e) a(e, n.fromString ? t : e);
else for (var r in e) a(e[r], r)
})
}
if (n.wrap && (i = i.wrap_commonjs(n.wrap, n.exportAll)), n.compress) {
var u = {
warnings: n.warnings
};
s.merge(u, n.compress),
i.figure_out_scope(n.mangle);
var l = s.Compressor(u);
i = l.compress(i)
}(n.mangleProperties || n.nameCache) && (n.mangleProperties.cache = s.readNameCache(n.nameCache, 'props'), i = s.mangle_properties(i, n.mangleProperties), s.writeNameCache(n.nameCache, 'props', n.mangleProperties.cache)),
n.mangle && (i.figure_out_scope(n.mangle), i.compute_char_frequency(n.mangle), i.mangle_names(n.mangle));
var c = {
max_line_len: 32000
};
if ((n.outSourceMap || n.sourceMapInline) && (c.source_map = s.SourceMap({
file: n.outFileName || ('string' == typeof n.outSourceMap ? n.outSourceMap.replace(/\.map$/i, '') : null),
orig: r,
root: n.sourceRoot
}), n.sourceMapIncludeSources)) for (var p in o) o.hasOwnProperty(p) && c.source_map.get().setSourceContent(p, o[p]);
n.output && s.merge(c, n.output);
var h = s.OutputStream(c);
i.print(h);
var f = c.source_map;
f && (f += '');
return n.sourceMapInline ? h += '\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,' + new t(f).toString('base64') : n.outSourceMap && 'string' == typeof n.outSourceMap && !1 !== n.sourceMapUrl && (h += '\n//# sourceMappingURL=' + ('string' == typeof n.sourceMapUrl ? n.sourceMapUrl : n.outSourceMap)),
{
code: h + '',
map: f
}
},
n.describe_ast = function () {
var e = s.OutputStream({
beautify: !0
});
return function t(n) {
e.print('AST_' + n.TYPE);
var r = n.SELF_PROPS.filter(function (e) {
return !/^\$/.test(e)
});
r.length > 0 && (e.space(), e.with_parens(function () {
r.forEach(function (t, n) {
n && e.space(),
e.print(t)
})
})),
n.documentation && (e.space(), e.print_string(n.documentation)),
n.SUBCLASSES.length > 0 && (e.space(), e.with_block(function () {
n.SUBCLASSES.forEach(function (n, r) {
e.indent(),
t(n),
e.newline()
})
}))
}(s.AST_Node),
e + ''
}
}).call(this, e('buffer').Buffer)
},
{
buffer: 42,
'source-map': 421,
util: 428
}
],
424: [
function (e, t, n) {
'use strict';
var r = e('punycode'),
i = e('./util');
function s() {
this.protocol = null,
this.slashes = null,
this.auth = null,
this.host = null,
this.port = null,
this.hostname = null,
this.hash = null,
this.search = null,
this.query = null,
this.pathname = null,
this.path = null,
this.href = null
}
n.parse = b,
n.resolve = function (e, t) {
return b(e, !1, !0).resolve(t)
},
n.resolveObject = function (e, t) {
return e ? b(e, !1, !0).resolveObject(t) : t
},
n.format = function (e) {
i.isString(e) && (e = b(e));
return e instanceof s ? e.format() : s.prototype.format.call(e)
},
n.Url = s;
var o = /^([a-z0-9.+-]+:)/i,
a = /:[0-9]*$/,
u = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
l = [
'{',
'}',
'|',
'\\',
'^',
'`'
].concat(['<',
'>',
'"',
'`',
' ',
'\r',
'\n',
'\t']),
c = [
'\''
].concat(l),
p = [
'%',
'/',
'?',
';',
'#'
].concat(c),
h = [
'/',
'?',
'#'
],
f = /^[+a-z0-9A-Z_-]{0,63}$/,
d = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
m = {
javascript: !0,
'javascript:': !0
},
g = {
javascript: !0,
'javascript:': !0
},
y = {
http: !0,
https: !0,
ftp: !0,
gopher: !0,
file: !0,
'http:': !0,
'https:': !0,
'ftp:': !0,
'gopher:': !0,
'file:': !0
},
v = e('querystring');
function b(e, t, n) {
if (e && i.isObject(e) && e instanceof s) return e;
var r = new s;
return r.parse(e, t, n),
r
}
s.prototype.parse = function (e, t, n) {
if (!i.isString(e)) throw new TypeError('Parameter \'url\' must be a string, not ' + typeof e);
var s = e.indexOf('?'),
a = - 1 !== s && s < e.indexOf('#') ? '?' : '#',
l = e.split(a);
l[0] = l[0].replace(/\\/g, '/');
var b = e = l.join(a);
if (b = b.trim(), !n && 1 === e.split('#').length) {
var x = u.exec(b);
if (x) return this.path = b,
this.href = b,
this.pathname = x[1],
x[2] ? (this.search = x[2], this.query = t ? v.parse(this.search.substr(1)) : this.search.substr(1)) : t && (this.search = '', this.query = {
}),
this
}
var A = o.exec(b);
if (A) {
var E = (A = A[0]).toLowerCase();
this.protocol = E,
b = b.substr(A.length)
}
if (n || A || b.match(/^\/\/[^@\/]+@[^@\/]+/)) {
var _ = '//' === b.substr(0, 2);
!_ || A && g[A] || (b = b.substr(2), this.slashes = !0)
}
if (!g[A] && (_ || A && !y[A])) {
for (var C, w, D = - 1, k = 0; k < h.length; k++) {
- 1 !== (S = b.indexOf(h[k])) && ( - 1 === D || S < D) && (D = S)
}
- 1 !== (w = - 1 === D ? b.lastIndexOf('@') : b.lastIndexOf('@', D)) && (C = b.slice(0, w), b = b.slice(w + 1), this.auth = decodeURIComponent(C)),
D = - 1;
for (k = 0; k < p.length; k++) {
var S;
- 1 !== (S = b.indexOf(p[k])) && ( - 1 === D || S < D) && (D = S)
}
- 1 === D && (D = b.length),
this.host = b.slice(0, D),
b = b.slice(D),
this.parseHost(),
this.hostname = this.hostname || '';
var T = '[' === this.hostname[0] && ']' === this.hostname[this.hostname.length - 1];
if (!T) for (var F = this.hostname.split(/\./), O = (k = 0, F.length); k < O; k++) {
var B = F[k];
if (B && !B.match(f)) {
for (var P = '', N = 0, R = B.length; N < R; N++) B.charCodeAt(N) > 127 ? P += 'x' : P += B[N];
if (!P.match(f)) {
var L = F.slice(0, k),
I = F.slice(k + 1),
j = B.match(d);
j && (L.push(j[1]), I.unshift(j[2])),
I.length && (b = '/' + I.join('.') + b),
this.hostname = L.join('.');
break
}
}
}
this.hostname.length > 255 ? this.hostname = '' : this.hostname = this.hostname.toLowerCase(),
T || (this.hostname = r.toASCII(this.hostname));
var M = this.port ? ':' + this.port : '',
U = this.hostname || '';
this.host = U + M,
this.href += this.host,
T && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), '/' !== b[0] && (b = '/' + b))
}
if (!m[E]) for (k = 0, O = c.length; k < O; k++) {
var V = c[k];
if ( - 1 !== b.indexOf(V)) {
var z = encodeURIComponent(V);
z === V && (z = escape(V)),
b = b.split(V).join(z)
}
}
var q = b.indexOf('#');
- 1 !== q && (this.hash = b.substr(q), b = b.slice(0, q));
var K = b.indexOf('?');
if ( - 1 !== K ? (this.search = b.substr(K), this.query = b.substr(K + 1), t && (this.query = v.parse(this.query)), b = b.slice(0, K)) : t && (this.search = '', this.query = {
}), b && (this.pathname = b), y[E] && this.hostname && !this.pathname && (this.pathname = '/'), this.pathname || this.search) {
M = this.pathname || '';
var $ = this.search || '';
this.path = M + $
}
return this.href = this.format(),
this
},
s.prototype.format = function () {
var e = this.auth || '';
e && (e = (e = encodeURIComponent(e)).replace(/%3A/i, ':'), e += '@');
var t = this.protocol || '',
n = this.pathname || '',
r = this.hash || '',
s = !1,
o = '';
this.host ? s = e + this.host : this.hostname && (s = e + ( - 1 === this.hostname.indexOf(':') ? this.hostname : '[' + this.hostname + ']'), this.port && (s += ':' + this.port)),
this.query && i.isObject(this.query) && Object.keys(this.query).length && (o = v.stringify(this.query));
var a = this.search || o && '?' + o || '';
return t && ':' !== t.substr( - 1) && (t += ':'),
this.slashes || (!t || y[t]) && !1 !== s ? (s = '//' + (s || ''), n && '/' !== n.charAt(0) && (n = '/' + n)) : s || (s = ''),
r && '#' !== r.charAt(0) && (r = '#' + r),
a && '?' !== a.charAt(0) && (a = '?' + a),
t + s + (n = n.replace(/[?#]/g, function (e) {
return encodeURIComponent(e)
})) + (a = a.replace('#', '%23')) + r
},
s.prototype.resolve = function (e) {
return this.resolveObject(b(e, !1, !0)).format()
},
s.prototype.resolveObject = function (e) {
if (i.isString(e)) {
var t = new s;
t.parse(e, !1, !0),
e = t
}
for (var n = new s, r = Object.keys(this), o = 0; o < r.length; o++) {
var a = r[o];
n[a] = this[a]
}
if (n.hash = e.hash, '' === e.href) return n.href = n.format(),
n;
if (e.slashes && !e.protocol) {
for (var u = Object.keys(e), l = 0; l < u.length; l++) {
var c = u[l];
'protocol' !== c && (n[c] = e[c])
}
return y[n.protocol] && n.hostname && !n.pathname && (n.path = n.pathname = '/'),
n.href = n.format(),
n
}
if (e.protocol && e.protocol !== n.protocol) {
if (!y[e.protocol]) {
for (var p = Object.keys(e), h = 0; h < p.length; h++) {
var f = p[h];
n[f] = e[f]
}
return n.href = n.format(),
n
}
if (n.protocol = e.protocol, e.host || g[e.protocol]) n.pathname = e.pathname;
else {
for (var d = (e.pathname || '').split('/'); d.length && !(e.host = d.shift()); );
e.host || (e.host = ''),
e.hostname || (e.hostname = ''),
'' !== d[0] && d.unshift(''),
d.length < 2 && d.unshift(''),
n.pathname = d.join('/')
}
if (n.search = e.search, n.query = e.query, n.host = e.host || '', n.auth = e.auth, n.hostname = e.hostname || e.host, n.port = e.port, n.pathname || n.search) {
var m = n.pathname || '',
v = n.search || '';
n.path = m + v
}
return n.slashes = n.slashes || e.slashes,
n.href = n.format(),
n
}
var b = n.pathname && '/' === n.pathname.charAt(0),
x = e.host || e.pathname && '/' === e.pathname.charAt(0),
A = x || b || n.host && e.pathname,
E = A,
_ = n.pathname && n.pathname.split('/') || [
],
C = (d = e.pathname && e.pathname.split('/') || [
], n.protocol && !y[n.protocol]);
if (C && (n.hostname = '', n.port = null, n.host && ('' === _[0] ? _[0] = n.host : _.unshift(n.host)), n.host = '', e.protocol && (e.hostname = null, e.port = null, e.host && ('' === d[0] ? d[0] = e.host : d.unshift(e.host)), e.host = null), A = A && ('' === d[0] || '' === _[0])), x) n.host = e.host || '' === e.host ? e.host : n.host,
n.hostname = e.hostname || '' === e.hostname ? e.hostname : n.hostname,
n.search = e.search,
n.query = e.query,
_ = d;
else if (d.length) _ || (_ = [
]),
_.pop(),
_ = _.concat(d),
n.search = e.search,
n.query = e.query;
else if (!i.isNullOrUndefined(e.search)) {
if (C) n.hostname = n.host = _.shift(),
(T = !!(n.host && n.host.indexOf('@') > 0) && n.host.split('@')) && (n.auth = T.shift(), n.host = n.hostname = T.shift());
return n.search = e.search,
n.query = e.query,
i.isNull(n.pathname) && i.isNull(n.search) || (n.path = (n.pathname ? n.pathname : '') + (n.search ? n.search : '')),
n.href = n.format(),
n
}
if (!_.length) return n.pathname = null,
n.search ? n.path = '/' + n.search : n.path = null,
n.href = n.format(),
n;
for (var w = _.slice( - 1) [0], D = (n.host || e.host || _.length > 1) && ('.' === w || '..' === w) || '' === w, k = 0, S = _.length; S >= 0; S--) '.' === (w = _[S]) ? _.splice(S, 1) : '..' === w ? (_.splice(S, 1), k++) : k && (_.splice(S, 1), k--);
if (!A && !E) for (; k--; k) _.unshift('..');
!A || '' === _[0] || _[0] && '/' === _[0].charAt(0) || _.unshift(''),
D && '/' !== _.join('/').substr( - 1) && _.push('');
var T,
F = '' === _[0] || _[0] && '/' === _[0].charAt(0);
C && (n.hostname = n.host = F ? '' : _.length ? _.shift() : '', (T = !!(n.host && n.host.indexOf('@') > 0) && n.host.split('@')) && (n.auth = T.shift(), n.host = n.hostname = T.shift()));
return (A = A || n.host && _.length) && !F && _.unshift(''),
_.length ? n.pathname = _.join('/') : (n.pathname = null, n.path = null),
i.isNull(n.pathname) && i.isNull(n.search) || (n.path = (n.pathname ? n.pathname : '') + (n.search ? n.search : '')),
n.auth = e.auth || n.auth,
n.slashes = n.slashes || e.slashes,
n.href = n.format(),
n
},
s.prototype.parseHost = function () {
var e = this.host,
t = a.exec(e);
t && (':' !== (t = t[0]) && (this.port = t.substr(1)), e = e.substr(0, e.length - t.length)),
e && (this.hostname = e)
}
},
{
'./util': 425,
punycode: 407,
querystring: 410
}
],
425: [
function (e, t, n) {
'use strict';
t.exports = {
isString: function (e) {
return 'string' == typeof e
},
isObject: function (e) {
return 'object' == typeof e && null !== e
},
isNull: function (e) {
return null === e
},
isNullOrUndefined: function (e) {
return null == e
}
}
},
{
}
],
426: [
function (e, t, n) {
arguments[4][9][0].apply(n, arguments)
},
{
dup: 9
}
],
427: [
function (e, t, n) {
arguments[4][10][0].apply(n, arguments)
},
{
dup: 10
}
],
428: [
function (e, t, n) {
arguments[4][11][0].apply(n, arguments)
},
{
'./support/isBuffer': 427,
_process: 373,
dup: 11,
inherits: 426
}
],
429: [
function (e, t, n) {
t.exports = {
area: !0,
base: !0,
br: !0,
col: !0,
embed: !0,
hr: !0,
img: !0,
input: !0,
keygen: !0,
link: !0,
menuitem: !0,
meta: !0,
param: !0,
source: !0,
track: !0,
wbr: !0
}
},
{
}
],
430: [
function (e, t, n) {
'use strict';
var r = e('acorn-globals'),
i = e('acorn'),
s = e('acorn/dist/walk');
t.exports = function (e, t, n) {
e += '',
t += '',
n = (n = n || [
]).concat(r(e).map(function (e) {
return e.name
}));
var o = r(t).map(function (e) {
return e.name
}).filter(function (e) {
return - 1 === n.indexOf(e) && 'undefined' !== e && 'this' !== e
});
if (0 === o.length) return t;
var a = '',
u = 'locals_for_with',
l = 'result_of_with';
if (/^[a-zA-Z0-9$_]+$/.test(e)) u = e;
else {
for (; - 1 != o.indexOf(u) || - 1 != n.indexOf(u); ) u += '_';
a = 'var ' + u + ' = (' + e + ')'
}
for (; - 1 != o.indexOf(l) || - 1 != n.indexOf(l); ) l += '_';
var c = o.map(function (e) {
return JSON.stringify(e) + ' in ' + u + '?' + u + '.' + e + ':typeof ' + e + '!=="undefined"?' + e + ':undefined'
});
return t = '(function (' + o.join(', ') + ') {' + t + '}.call(this' + c.map(function (e) {
return ',' + e
}).join('') + '))',
';' + a + ';' + function (e, t) {
var n,
r = e,
o = !1,
a = function (e) {
return i.parse(e, {
ecmaVersion: 6,
allowReturnOutsideFunction: !0
})
}(e);
if (e = e.split(''), 1 !== (n = a.body).length || 'ExpressionStatement' !== (n = n[0]).type || 'CallExpression' !== (n = n.expression).type || 'MemberExpression' !== (n = n.callee).type || !1 !== n.computed || 'call' !== n.property.name || 'FunctionExpression' !== (n = n.object).type) throw new Error('AST does not seem to represent a self-calling function');
var u = n;
return s.recursive(a, null, {
Function: function (e, t, n) {
e === u && n(e.body, t, 'ScopeBody')
},
ReturnStatement: function (t) {
o = !0,
function (t, n) {
for (var r = t.start; r < t.end; r++) e[r] = '';
e[t.start] = n
}(t, 'return {value: (' + (t.argument ? function (t) {
return e.slice(t.start, t.end).join('')
}(t.argument) : 'undefined') + ')};')
}
}),
o ? 'var ' + t + '=' + e.join('') + ';if (' + t + ') return ' + t + '.value' : r
}(t, l) + ';'
}
},
{
acorn: 4,
'acorn-globals': 1,
'acorn/dist/walk': 5
}
],
pug: [
function (e, t, n) {
(function (t) {
'use strict';
var r = e('fs'),
i = e('path'),
s = e('pug-lexer'),
o = e('pug-strip-comments'),
a = e('pug-parser'),
u = e('pug-load'),
l = e('pug-filters'),
c = e('pug-linker'),
p = e('pug-code-gen'),
h = e('pug-runtime'),
f = e('pug-runtime/wrap');
function d(e, t, n, r) {
return n.reduce(function (e, n) {
return n[r] ? n[r](e, t) : e
}, e)
}
function m(e, t) {
var n = e.filter(function (e) {
return e[t]
});
if (n.length > 1) throw new Error('Two or more plugins all implement ' + t + ' method.');
return n.length ? n[0][t].bind(n[0]) : null
}
function g(e, t) {
var r = {
};
r[t.filename] = e;
var h = [
],
f = t.plugins || [
],
g = u.string(e, {
filename: t.filename,
basedir: t.basedir,
lex: function (e, t) {
var n = {
};
Object.keys(t).forEach(function (e) {
n[e] = t[e]
}),
n.plugins = f.filter(function (e) {
return !!e.lex
}).map(function (e) {
return e.lex
});
var r = d(e, {
filename: t.filename
}, f, 'preLex');
return d(s(r, n), t, f, 'postLex')
},
parse: function (e, t) {
e = e.map(function (e) {
return 'path' === e.type && '' === i.extname(e.val) ? {
type: 'path',
loc: e.loc,
val: e.val + '.pug'
}
: e
}),
e = d(e = o(e, t), t, f, 'preParse');
var n = {
};
return Object.keys(t).forEach(function (e) {
n[e] = t[e]
}),
n.plugins = f.filter(function (e) {
return !!e.parse
}).map(function (e) {
return e.parse
}),
d(d(a(e, n), t, f, 'postParse'), t, f, 'preLoad')
},
resolve: function (e, n, r) {
var i = m(f, 'resolve');
return i ? i(e, n, t) : u.resolve(e, n, r)
},
read: function (e, n) {
var i;
h.push(e);
var s = m(f, 'read');
return i = s ? s(e, t) : u.read(e, n),
r[e] = i,
i
}
});
g = d(g = d(g, t, f, 'postLoad'), t, f, 'preFilters');
var y = {
};
Object.keys(n.filters).forEach(function (e) {
y[e] = n.filters[e]
}),
t.filters && Object.keys(t.filters).forEach(function (e) {
y[e] = t.filters[e]
}),
g = d(g = d(g = l.handleFilters(g, y, t.filterOptions, t.filterAliases), t, f, 'postFilters'), t, f, 'preLink'),
g = d(g = d(g = c(g), t, f, 'postLink'), t, f, 'preCodeGen');
var v = p(g, {
pretty: t.pretty,
compileDebug: t.compileDebug,
doctype: t.doctype,
inlineRuntimeFunctions: t.inlineRuntimeFunctions,
globals: t.globals,
self: t.self,
includeSources: !!t.includeSources && r,
templateName: t.templateName
});
return v = d(v, t, f, 'postCodeGen'),
t.debug && console.error('\nCompiled Function:\n\n[90m%s[0m', v.replace(/^/gm, ' ')),
{
body: v,
dependencies: h
}
}
function y(e, t) {
var i = e.filename;
if (e.cache && n.cache[i]) return n.cache[i];
void 0 === t && (t = r.readFileSync(e.filename, 'utf8'));
var s = n.compile(t, e);
return e.cache && (n.cache[i] = s),
s
}
n.name = 'Pug',
n.runtime = h,
n.cache = {
},
n.filters = {
},
n.compile = function (e, t) {
t = t || {
};
var n = g(e = String(e), {
compileDebug: !1 !== t.compileDebug,
filename: t.filename,
basedir: t.basedir,
pretty: t.pretty,
doctype: t.doctype,
inlineRuntimeFunctions: t.inlineRuntimeFunctions,
globals: t.globals,
self: t.self,
includeSources: !0 === t.compileDebug,
debug: t.debug,
templateName: 'template',
filters: t.filters,
filterOptions: t.filterOptions,
filterAliases: t.filterAliases,
plugins: t.plugins
}),
r = t.inlineRuntimeFunctions ? new Function('', n.body + ';return template;') () : f(n.body);
return r.dependencies = n.dependencies,
r
},
n.compileClientWithDependenciesTracked = function (e, t) {
t = t || {
};
var n = g(e = String(e), {
compileDebug: t.compileDebug,
filename: t.filename,
basedir: t.basedir,
pretty: t.pretty,
doctype: t.doctype,
inlineRuntimeFunctions: !1 !== t.inlineRuntimeFunctions,
globals: t.globals,
self: t.self,
includeSources: t.compileDebug,
debug: t.debug,
templateName: t.name || 'template',
filters: t.filters,
filterOptions: t.filterOptions,
filterAliases: t.filterAliases,
plugins: t.plugins
}),
r = n.body;
return t.module && (!1 === t.inlineRuntimeFunctions && (r = 'var pug = require("pug-runtime");' + r), r += ' module.exports = ' + (t.name || 'template') + ';'),
{
body: r,
dependencies: n.dependencies
}
},
n.compileClient = function (e, t) {
return n.compileClientWithDependenciesTracked(e, t).body
},
n.compileFile = function (e, t) {
return (t = t || {
}).filename = e,
y(t)
},
n.render = function (e, t, r) {
if ('function' == typeof t && (r = t, t = void 0), 'function' == typeof r) {
var i;
try {
i = n.render(e, t)
} catch (e) {
return r(e)
}
return r(null, i)
}
if ((t = t || {
}).cache && !t.filename) throw new Error('the "filename" option is required for caching');
return y(t, e) (t)
},
n.renderFile = function (e, t, r) {
if ('function' == typeof t && (r = t, t = void 0), 'function' == typeof r) {
var i;
try {
i = n.renderFile(e, t)
} catch (e) {
return r(e)
}
return r(null, i)
}
return (t = t || {
}).filename = e,
y(t) (t)
},
n.compileFileClient = function (e, t) {
var i = e + ':client';
if ((t = t || {
}).filename = e, t.cache && n.cache[i]) return n.cache[i];
var s = r.readFileSync(t.filename, 'utf8'),
o = n.compileClient(s, t);
return t.cache && (n.cache[i] = o),
o
},
n.__express = function (e, r, i) {
void 0 == r.compileDebug && 'production' === t.env.NODE_ENV && (r.compileDebug = !1),
n.renderFile(e, r, i)
}
}).call(this, e('_process'))
},
{
_process: 373,
fs: 40,
path: 372,
'pug-code-gen': 385,
'pug-filters': 389,
'pug-lexer': 394,
'pug-linker': 395,
'pug-load': 396,
'pug-parser': 397,
'pug-runtime': 400,
'pug-runtime/wrap': 404,
'pug-strip-comments': 405
}
]
},
{
},
[
]);