/* Copyright 2012 Marijn Haverbeke SPDX-License-Identifier: MIT */ var p; var ba="undefined"===typeof globalThis?this||window:globalThis,ca=function(a){function b(f){return 48>f?36===f:58>f?!0:65>f?!1:91>f?!0:97>f?95===f:123>f?!0:170<=f&&Kc.test(String.fromCharCode(f))}function d(f){return 65>f?36===f:91>f?!0:97>f?95===f:123>f?!0:170<=f&&Qb.test(String.fromCharCode(f))}function c(f,h){var k=r;for(var n=1,w=0;;){Ta.lastIndex=w;var J=Ta.exec(k);if(J&&J.indexf)++m;else if(47===f)if(f=r.charCodeAt(m+1),42===f){f=void 0;var h=z.za&&z.C&&new g,k=m,n=r.indexOf("*/",m+=2);-1===n&&c(m-2,"Unterminated comment");m=n+2;if(z.C)for(Ta.lastIndex=k;(f=Ta.exec(r))&&f.index=f?Rb(!0):(++m,l(Sb));return;case 40:return++m,l(X);case 41:return++m,l(V);case 59:return++m,l(Y);case 44:return++m,l(ea);case 91:return++m,l(db);case 93:return++m,l(eb);case 123:return++m,l(za);case 125:return++m,l(pa);case 58:return++m,l(Aa);case 63:return++m,l(Tb);case 48:if(f=r.charCodeAt(m+1),120===f||88===f){m+=2;f=Ba(16);null===f&&c(H+2,"Expected hexadecimal number");d(r.charCodeAt(m))&&c(m,"Identifier directly after number");l(Ca,f);return}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return Rb(!1); case 34:case 39:m++;for(var h="";;){m>=oa&&c(H,"Unterminated string constant");var k=r.charCodeAt(m);if(k===f){++m;l(Ua,h);break}if(92===k){k=r.charCodeAt(++m);var n=/^[0-7]+/.exec(r.slice(m,m+3));for(n&&(n=n[0]);n&&255=oa)return l(gb);f=r.charCodeAt(m);if(d(f)||92===f)return $b();if(!1===R(f)){f=String.fromCharCode(f);if("\\"===f||Qb.test(f))return $b();c(m,"Unexpected character '"+f+"'")}}function K(f,h){var k=r.slice(m,m+h);m+=h;l(f,k)}function Ub(){for(var f, h,k=m;;){m>=oa&&c(k,"Unterminated regexp");var n=r.charAt(m);Wa.test(n)&&c(k,"Unterminated regexp");if(f)f=!1;else{if("["===n)h=!0;else if("]"===n&&h)h=!1;else if("/"===n&&!h)break;f="\\"===n}++m}f=r.slice(k,m);++m;(h=ac())&&!/^[gmi]*$/.test(h)&&c(k,"Invalid regexp flag");try{var w=new RegExp(f,h)}catch(J){throw J instanceof SyntaxError&&c(k,J.message),J;}l(bc,w)}function Ba(f,h){for(var k=m,n=0,w=void 0===h?Infinity:h,J=0;J=O? O-48:Infinity;if(O>=f)break;++m;n=n*f+O}return m===k||void 0!==h&&m-k!==h?null:n}function Rb(f){var h=m,k=!1,n=48===r.charCodeAt(m);f||null!==Ba(10)||c(h,"Invalid number");46===r.charCodeAt(m)&&(++m,Ba(10),k=!0);f=r.charCodeAt(m);if(69===f||101===f)f=r.charCodeAt(++m),43!==f&&45!==f||++m,null===Ba(10)&&c(h,"Invalid number"),k=!0;d(r.charCodeAt(m))&&c(m,"Identifier directly after number");f=r.slice(h,m);var w;k?w=parseFloat(f):n&&1!==f.length?/[89]/.test(f)||S?c(h,"Invalid number"):w=parseInt(f,8): w=parseInt(f,10);l(Ca,w)}function Va(f){f=Ba(16,f);null===f&&c(H,"Bad character escape sequence");return f}function ac(){qa=!1;for(var f,h=!0,k=m;;){var n=r.charCodeAt(m);if(b(n))qa&&(f+=r.charAt(m)),++m;else if(92===n){qa||(f=r.slice(k,m));qa=!0;117!==r.charCodeAt(++m)&&c(m,"Expecting Unicode escape sequence \\uXXXX");++m;n=Va(4);var w=String.fromCharCode(n);w||c(m-1,"Invalid Unicode escape");(h?d(n):b(n))||c(m-4,"Invalid Unicode escape");f+=w}else break;h=!1}return qa?f:r.slice(k,m)}function $b(){var f= ac(),h=ra;!qa&&Vc(f)&&(h=Wc[f]);l(h,f)}function B(){hb=H;fa=na;ib=cb;ha()}function jb(f){S=f;m=H;if(z.C)for(;mh){var w=ia(f);w.left=f;w.operator=T;f=x;B();w.right=wb(xb(),n,k);n=y(w,f===Wb||f===Xb?"LogicalExpression":"BinaryExpression"); return wb(n,h,k)}return f}function xb(){if(x.prefix){var f=L(),h=x.ac;f.operator=T;ya=f.prefix=!0;B();f.J=xb();h?Ya(f.J):S&&"delete"===f.operator&&"Identifier"===f.J.type&&c(f.start,"Deleting local variable in strict mode");return y(f,h?"UpdateExpression":"UnaryExpression")}for(h=Ga(ab());x.dc&&!Xa();)f=ia(h),f.operator=T,f.prefix=!1,f.J=h,Ya(h),B(),h=y(f,"UpdateExpression");return h}function Ga(f,h){if(E(Sb)){var k=ia(f);k.object=f;k.Xa=aa(!0);k.eb=!1;return Ga(y(k,"MemberExpression"),h)}return E(db)? (k=ia(f),k.object=f,k.Xa=N(),k.eb=!0,F(eb),Ga(y(k,"MemberExpression"),h)):!h&&E(X)?(k=ia(f),k.callee=f,k.arguments=yb(V,!1),Ga(y(k,"CallExpression"),h)):f}function ab(){switch(x){case tc:var f=L();B();return y(f,"ThisExpression");case ra:return aa();case Ca:case Ua:case bc:return f=L(),f.value=T,f.raw=r.slice(H,na),B(),y(f,"Literal");case uc:case vc:case wc:return f=L(),f.value=x.bb,f.raw=x.l,B(),y(f,"Literal");case X:f=fb;var h=H;B();var k=N();k.start=h;k.end=na;z.C&&(k.aa.start=f,k.aa.end=cb);z.Ya&& (k.j=[h,na]);F(V);return k;case db:return f=L(),B(),f.elements=yb(eb,!0,!0),y(f,"ArrayExpression");case za:f=L();h=!0;k=!1;f.h=[];for(B();!E(pa);){if(h)h=!1;else if(F(ea),z.sb&&E(pa))break;var n={key:x===Ca||x===Ua?ab():aa(!0)},w=!1;if(E(Aa)){n.value=N(!0);var J=n.kind="init"}else"Identifier"!==n.key.type||"get"!==n.key.name&&"set"!==n.key.name?Z():(w=k=!0,J=n.kind=n.key.name,n.key=x===Ca||x===Ua?ab():aa(!0),x!==X&&Z(),n.value=sb(L(),!1));if("Identifier"===n.key.type&&(S||k))for(var O=0;Ok?f.id:f.ra[k],(yc(n.name)||Za(n.name))&&c(n.start,"Defining '"+n.name+"' in strict mode"),0<=k)for(var w=0;w>>0;return b===Number(a)?b:NaN}function Sa(a){var b=a>>>0;return String(b)===String(a)&&4294967295!==b?b:NaN}function ta(a,b,d){b?a.start=b:delete a.start;d?a.end=d:delete a.end;for(var c in a)if("loc"!==c&&a.hasOwnProperty(c)){var e=a[c];e&&"object"===typeof e&&ta(e,b,d)}}t.prototype.REGEXP_MODE=2;t.prototype.REGEXP_THREAD_TIMEOUT=1E3;t.prototype.POLYFILL_TIMEOUT=1E3;p=t.prototype;p.P=!1;p.Ma=!1;p.Kb=0;p.jc=0; function da(a,b){var d={},c;for(c in va)d[c]=va[c];d.sourceFile=b;return Pa.j.parse(a,d)}p.Jb=function(a){var b=this.j[0];if(!b||"Program"!==b.node.type)throw Error("Expecting original AST to start with a Program node");"string"===typeof a&&(a=da(a,"appendCode"+this.Kb++));if(!a||"Program"!==a.type)throw Error("Expecting new AST to start with a Program node");bb(this,a,b.scope);Array.prototype.push.apply(b.node.body,a.body);b.node.body.kb=null;b.done=!1}; p.mb=function(){var a=this.j,b;do{var d=a[a.length-1];if(this.va)break;else if(!d||"Program"===d.node.type&&d.done){if(!this.X.length)return!1;d=this.X[0];if(!d||d.time>Date.now())d=null;else{this.X.shift();0<=d.interval&&Ab(this,d,d.interval);var c=new u(d.node,d.scope);d.zb&&(c.ka=2,c.B=this.Pa,c.Y=d.zb,c.Sa=!0,c.F=d.Lb);d=c}if(!d)break}c=d.node;var e=Oa;Oa=this;try{var g=this.rb[c.type](a,d,c)}catch(l){if(l!==Ia)throw this.value!==l&&(this.value=void 0),l;}finally{Oa=e}g&&a.push(g);if(this.P)throw this.value= void 0,Error("Getter not supported in this context");if(this.Ma)throw this.value=void 0,Error("Setter not supported in this context");b||c.end||(b=Date.now()+this.POLYFILL_TIMEOUT)}while(!c.end&&b>Date.now());return!0};p.Eb=function(){for(;!this.va&&this.mb(););return this.va};p.Zb=function(){if(this.va)return ua.ASYNC;var a=this.j;return!(a=a[a.length-1])||"Program"===a.node.type&&a.done?(a=this.X[0])?a.time>Date.now()?ua.TASK:ua.STEP:ua.DONE:ua.STEP}; function Bb(a,b){a.g(b,"NaN",NaN,xa);a.g(b,"Infinity",Infinity,xa);a.g(b,"undefined",void 0,xa);a.g(b,"window",b,wa);a.g(b,"this",b,xa);a.g(b,"self",b);a.L=new D(null);a.U=new D(a.L);Cb(a,b);Db(a,b);b.Ba=a.L;a.g(b,"constructor",a.v,v);Eb(a,b);Fb(a,b);Gb(a,b);Hb(a,b);Ib(a,b);Jb(a,b);Kb(a,b);Lb(a,b);Mb(a,b);var d=a.i(function(){throw EvalError("Can't happen");},!1);d.eval=!0;a.g(b,"eval",d,v);a.g(b,"parseInt",a.i(parseInt,!1),v);a.g(b,"parseFloat",a.i(parseFloat,!1),v);a.g(b,"isNaN",a.i(isNaN,!1),v); a.g(b,"isFinite",a.i(isFinite,!1),v);for(var c=[[escape,"escape"],[unescape,"unescape"],[decodeURI,"decodeURI"],[decodeURIComponent,"decodeURIComponent"],[encodeURI,"encodeURI"],[encodeURIComponent,"encodeURIComponent"]],e=0;e>> 0;","if (!len || len < 0) {","o.length = 0;","return undefined;","}","len--;","var x = o[len];","delete o[len];","o.length = len;","return x;","}",");","createArrayMethod_(","function push(var_args) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","for (var i = 0; i < arguments.length; i++) {", "o[len] = arguments[i];","len++;","}","o.length = len;","return len;","}",");","createArrayMethod_(","function shift() {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","if (!len || len < 0) {","o.length = 0;","return undefined;","}","var value = o[0];","for (var i = 0; i < len - 1; i++) {","if ((i + 1) in o) {","o[i] = o[i + 1];","} else {","delete o[i];","}","}","delete o[i];","o.length = len - 1;","return value;","}",");","createArrayMethod_(","function unshift(var_args) {", "if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","if (!len || len < 0) {","len = 0;","}","for (var i = len - 1; i >= 0; i--) {","if (i in o) {","o[i + arguments.length] = o[i];","} else {","delete o[i + arguments.length];","}","}","for (var i = 0; i < arguments.length; i++) {","o[i] = arguments[i];","}","return (o.length = len + arguments.length);","}",");","createArrayMethod_(","function reverse() {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;", "if (!len || len < 2) {","return o;","}","for (var i = 0; i < len / 2 - 0.5; i++) {","var x = o[i];","var hasX = i in o;","if ((len - i - 1) in o) {","o[i] = o[len - i - 1];","} else {","delete o[i];","}","if (hasX) {","o[len - i - 1] = x;","} else {","delete o[len - i - 1];","}","}","return o;","}",");","createArrayMethod_(","function indexOf(searchElement, fromIndex) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","var n = fromIndex | 0;","if (!len || n >= len) {", "return -1;","}","var i = Math.max(n >= 0 ? n : len - Math.abs(n), 0);","while (i < len) {","if (i in o && o[i] === searchElement) {","return i;","}","i++;","}","return -1;","}",");","createArrayMethod_(","function lastIndexOf(searchElement, fromIndex) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","if (!len) {","return -1;","}","var n = len - 1;","if (arguments.length > 1) {","n = fromIndex | 0;","if (n) {","n = (n > 0 || -1) * Math.floor(Math.abs(n));","}","}", "var i = n >= 0 ? Math.min(n, len - 1) : len - Math.abs(n);","while (i >= 0) {","if (i in o && o[i] === searchElement) {","return i;","}","i--;","}","return -1;","}",");","createArrayMethod_(","function slice(start, end) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","start |= 0;","start = (start >= 0) ? start : Math.max(0, len + start);","if (typeof end !== 'undefined') {","if (end !== Infinity) {","end |= 0;","}","if (end < 0) {","end = len + end;","} else {","end = Math.min(end, len);", "}","} else {","end = len;","}","var size = end - start;","var cloned = new Array(size);","for (var i = 0; i < size; i++) {","if ((start + i) in o) {","cloned[i] = o[start + i];","}","}","return cloned;","}",");","createArrayMethod_(","function splice(start, deleteCount, var_args) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","start |= 0;","if (start < 0) {","start = Math.max(len + start, 0);","} else {","start = Math.min(start, len);","}","if (arguments.length < 2) {", "deleteCount = len - start;","} else {","deleteCount |= 0;","deleteCount = Math.max(0, Math.min(deleteCount, len - start));","}","var removed = [];","for (var i = start; i < start + deleteCount; i++) {","if (i in o) {","removed.push(o[i]);","} else {","removed.length++;","}","if ((i + deleteCount) in o) {","o[i] = o[i + deleteCount];","} else {","delete o[i];","}","}","for (var i = start + deleteCount; i < len - deleteCount; i++) {","if ((i + deleteCount) in o) {","o[i] = o[i + deleteCount];","} else {", "delete o[i];","}","}","for (var i = len - deleteCount; i < len; i++) {","delete o[i];","}","len -= deleteCount;","if (arguments.length > 2) {","var arl = arguments.length - 2;","for (var i = len - 1; i >= start; i--) {","if (i in o) {","o[i + arl] = o[i];","} else {","delete o[i + arl];","}","}","len += arl;","for (var i = 2; i < arguments.length; i++) {","o[start + i - 2] = arguments[i];","}","}","o.length = len;","return removed;","}",");","createArrayMethod_(","function concat(var_args) {","if (!this) throw TypeError();", "var o = Object(this);","var cloned = [];","for (var i = -1; i < arguments.length; i++) {","var value = (i === -1) ? o : arguments[i];","if (Array.isArray(value)) {","for (var j = 0, l = value.length; j < l; j++) {","if (j in value) {","cloned.push(value[j]);","} else {","cloned.length++;","}","}","} else {","cloned.push(value);","}","}","return cloned;","}",");","createArrayMethod_(","function join(opt_separator) {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","var sep = typeof opt_separator === 'undefined' ?", "',' : ('' + opt_separator);","var str = '';","for (var i = 0; i < len; i++) {","if (i && sep) str += sep;","str += (o[i] === null || o[i] === undefined) ? '' : o[i];","}","return str;","}",");","createArrayMethod_(","function every(callback, thisArg) {","if (!this || typeof callback !== 'function') throw TypeError();","var t, k = 0;","var o = Object(this), len = o.length >>> 0;","if (arguments.length > 1) t = thisArg;","while (k < len) {","if (k in o && !callback.call(t, o[k], k, o)) return false;", "k++;","}","return true;","}",");","createArrayMethod_(","function filter(callback, var_args) {","if (!this || typeof callback !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var res = [];","var thisArg = arguments.length >= 2 ? arguments[1] : void 0;","for (var i = 0; i < len; i++) {","if (i in o) {","var val = o[i];","if (callback.call(thisArg, val, i, o)) res.push(val);","}","}","return res;","}",");","createArrayMethod_(","function forEach(callback, thisArg) {", "if (!this || typeof callback !== 'function') throw TypeError();","var t, k = 0;","var o = Object(this), len = o.length >>> 0;","if (arguments.length > 1) t = thisArg;","while (k < len) {","if (k in o) callback.call(t, o[k], k, o);","k++;","}","}",");","createArrayMethod_(","function map(callback, thisArg) {","if (!this || typeof callback !== 'function') throw TypeError();","var t, k = 0;","var o = Object(this), len = o.length >>> 0;","if (arguments.length > 1) t = thisArg;","var a = new Array(len);", "while (k < len) {","if (k in o) a[k] = callback.call(t, o[k], k, o);","k++;","}","return a;","}",");","createArrayMethod_(","function reduce(callback /*, initialValue*/) {","if (!this || typeof callback !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var k = 0, value;","if (arguments.length === 2) {","value = arguments[1];","} else {","while (k < len && !(k in o)) k++;","if (k >= len) {","throw TypeError('Reduce of empty array with no initial value');","}","value = o[k++];", "}","for (; k < len; k++) {","if (k in o) value = callback(value, o[k], k, o);","}","return value;","}",");","createArrayMethod_(","function reduceRight(callback /*, initialValue*/) {","if (!this || typeof callback !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var k = len - 1, value;","if (arguments.length >= 2) {","value = arguments[1];","} else {","while (k >= 0 && !(k in o)) k--;","if (k < 0) {","throw TypeError('Reduce of empty array with no initial value');", "}","value = o[k--];","}","for (; k >= 0; k--) {","if (k in o) value = callback(value, o[k], k, o);","}","return value;","}",");","createArrayMethod_(","function some(callback /*, thisArg*/) {","if (!this || typeof callback !== 'function') throw TypeError();","var o = Object(this), len = o.length >>> 0;","var thisArg = arguments.length >= 2 ? arguments[1] : void 0;","for (var i = 0; i < len; i++) {","if (i in o && callback.call(thisArg, o[i], i, o)) return true;","}","return false;","}",");","createArrayMethod_(", "function sort(opt_comp) {","if (!this) throw TypeError();","if (typeof opt_comp !== 'function') {","opt_comp = undefined;","}","for (var i = 0; i < this.length; i++) {","var changes = 0;","for (var j = 0; j < this.length - i - 1; j++) {","if (opt_comp ? (opt_comp(this[j], this[j + 1]) > 0) :","(String(this[j]) > String(this[j + 1]))) {","var swap = this[j];","var hasSwap = j in this;","if ((j + 1) in this) {","this[j] = this[j + 1];","} else {","delete this[j];","}","if (hasSwap) {","this[j + 1] = swap;", "} else {","delete this[j + 1];","}","changes++;","}","}","if (!changes) break;","}","return this;","}",");","createArrayMethod_(","function toLocaleString() {","if (!this) throw TypeError();","var o = Object(this), len = o.length >>> 0;","var out = [];","for (var i = 0; i < len; i++) {","out[i] = (o[i] === null || o[i] === undefined) ? '' : o[i].toLocaleString();","}","return out.join(',');","}",");","})();","")} function Fb(a,b){var d=function(c){c=arguments.length?Pa.String(c):"";return Ac(a)?(this.data=c,this):c};a.I=a.i(d,!0);a.g(b,"String",a.I,v);a.g(a.I,"fromCharCode",a.i(String.fromCharCode,!1),v);b="charAt charCodeAt concat indexOf lastIndexOf slice substr substring toLocaleLowerCase toLocaleUpperCase toLowerCase toUpperCase trim".split(" ");for(d=0;d= 0; i--) {", "str = str.substring(0, subs[i][0]) + subs[i][2] + str.substring(subs[i][0] + subs[i][1]);","}","} else {","var i = str.indexOf(substr);","if (i !== -1) {","var inject = newSubstr(str.substr(i, substr.length), i, str);","str = str.substring(0, i) + inject + str.substring(i + substr.length);","}","}","return str;","};","})();","")}function Gb(a,b){a.nb=a.i(function(d){d=Pa.Boolean(d);return Ac(a)?(this.data=d,this):d},!0);a.g(b,"Boolean",a.nb,v)} function Hb(a,b){var d=function(c){c=arguments.length?Pa.Number(c):0;return Ac(a)?(this.data=c,this):c};a.da=a.i(d,!0);a.g(b,"Number",a.da,v);b=["MAX_VALUE","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"];for(d=0;db.charCodeAt(0)&&P(this,a,this.I)){var d=Sa(b);if(!isNaN(d)&&d>=":c>>=e;break;case ">>>=":c>>>=e;break;case "&=":c&=e;break;case "^=":c^=e;break;case "|=":c|=e;break;default:throw SyntaxError("Unknown assignment expression: "+d.operator);}if(d=hd(this,b.Ia,c))return b.xa=!0,b.jb=c,ld(this,d,b.Ia,c);a.pop();a[a.length-1].value=c}}; t.prototype.stepBinaryExpression=function(a,b,d){if(!b.la)return b.la=!0,new u(d.left,b.scope);if(!b.Ga)return b.Ga=!0,b.oa=b.value,new u(d.right,b.scope);a.pop();var c=b.oa;b=b.value;switch(d.operator){case "==":d=c==b;break;case "!=":d=c!=b;break;case "===":d=c===b;break;case "!==":d=c!==b;break;case ">":d=c>b;break;case ">=":d=c>=b;break;case "<":d=c>":d=c>>b;break;case ">>>":d=c>>>b;break;case "in":b instanceof D||I(this,this.o,"'in' expects an object, not '"+b+"'");d=ad(this,b,c);break;case "instanceof":P(this,b,this.O)||I(this,this.o,"'instanceof' expects an object, not '"+b+"'");d=c instanceof D?P(this,c,b):!1;break;default:throw SyntaxError("Unknown binary operator: "+d.operator);}a[a.length-1].value=d}; t.prototype.stepBlockStatement=function(a,b,d){var c=b.A||0;if(d=d.body[c])return b.A=c+1,new u(d,b.scope);a.pop()};t.prototype.stepBreakStatement=function(a,b,d){id(this,1,void 0,d.label&&d.label.name)};t.prototype.Hb=0; t.prototype.stepCallExpression=function(a,b,d){if(!b.ka){b.ka=1;var c=new u(d.callee,b.scope);c.wa=!0;return c}if(1===b.ka){b.ka=2;var e=b.value;if(Array.isArray(e)){if(b.Y=gd(this,e),e[0]===Ja?b.Pb="eval"===e[1]:b.B=e[0],e=b.Y,this.P)return b.ka=1,kd(this,e,b.value)}else b.Y=e;b.F=[];b.A=0}e=b.Y;if(!b.Sa){0!==b.A&&b.F.push(b.value);if(d.arguments[b.A])return new u(d.arguments[b.A++],b.scope);if("NewExpression"===d.type){e instanceof D&&!e.Ab||I(this,this.o,Q(this,d.callee)+" is not a constructor"); if(e===this.ta)b.B=Cc(this);else{var g=e.h.prototype;if("object"!==typeof g||null===g)g=this.L;b.B=this.s(g)}b.isConstructor=!0}b.Sa=!0}if(b.gb)a.pop(),a[a.length-1].value=b.isConstructor&&"object"!==typeof b.value?b.B:b.value;else{b.gb=!0;e instanceof D||I(this,this.o,Q(this,d.callee)+" is not a function");if(a=e.node){d=ja(this,a.body,e.Wa);c=Cc(this);for(e=0;ee?b.F[e]: void 0);d.T||(b.B=md(this,b.B));this.g(d.object,"this",b.B,wa);b.value=void 0;return new u(a.body,d)}if(e.eval)if(e=b.F[0],"string"!==typeof e)b.value=e;else{try{c=da(String(e),"eval"+this.Hb++)}catch(q){I(this,this.V,"Invalid code: "+q.message)}e=this.Ca();e.type="EvalProgram_";e.body=c.body;ta(e,d.start,d.end);d=b.Pb?b.scope:this.M;d.T?d=ja(this,c,d):bb(this,c,d);this.value=void 0;return new u(e,d)}else if(e.Ua)b.scope.T||(b.B=md(this,b.B)),b.value=e.Ua.apply(b.B,b.F);else if(e.ab){var l=this;c= e.ab.length-1;c=b.F.concat(Array(c)).slice(0,c);c.push(function(q){b.value=q;l.va=!1});this.va=!0;b.scope.T||(b.B=md(this,b.B));e.ab.apply(b.B,c)}else I(this,this.o,Q(this,d.callee)+" is not callable")}}; t.prototype.stepConditionalExpression=function(a,b,d){var c=b.pa||0;if(0===c)return b.pa=1,new u(d.test,b.scope);if(1===c){b.pa=2;if((c=!!b.value)&&d.ea)return new u(d.ea,b.scope);if(!c&&d.alternate)return new u(d.alternate,b.scope);this.value=void 0}a.pop();"ConditionalExpression"===d.type&&(a[a.length-1].value=b.value)};t.prototype.stepContinueStatement=function(a,b,d){id(this,2,void 0,d.label&&d.label.name)};t.prototype.stepDebuggerStatement=function(a){a.pop()}; t.prototype.stepDoWhileStatement=function(a,b,d){"DoWhileStatement"===d.type&&void 0===b.ia&&(b.value=!0,b.ia=!0);if(!b.ia)return b.ia=!0,new u(d.test,b.scope);if(!b.value)a.pop();else if(d.body)return b.ia=!1,b.$=!0,new u(d.body,b.scope)};t.prototype.stepEmptyStatement=function(a){a.pop()};t.prototype.stepEvalProgram_=function(a,b,d){var c=b.A||0;if(d=d.body[c])return b.A=c+1,new u(d,b.scope);a.pop();a[a.length-1].value=this.value}; t.prototype.stepExpressionStatement=function(a,b,d){if(!b.ma)return this.value=void 0,b.ma=!0,new u(d.na,b.scope);a.pop();this.value=b.value}; t.prototype.stepForInStatement=function(a,b,d){if(!b.Ub&&(b.Ub=!0,d.left.ga&&d.left.ga[0].ya))return b.scope.T&&I(this,this.V,"for-in loop variable declaration may not have an initializer"),new u(d.left,b.scope);if(!b.Fa)return b.Fa=!0,b.sa||(b.sa=b.value),new u(d.right,b.scope);b.$||(b.$=!0,b.u=b.value,b.lb=Object.create(null));if(void 0===b.Ta)a:for(;;){if(b.u instanceof D)for(b.Aa||(b.Aa=Object.getOwnPropertyNames(b.u.h));;){var c=b.Aa.shift();if(void 0===c)break;if(Object.prototype.hasOwnProperty.call(b.u.h, c)&&!b.lb[c]&&(b.lb[c]=!0,Object.prototype.propertyIsEnumerable.call(b.u.h,c))){b.Ta=c;break a}}else if(null!==b.u&&void 0!==b.u)for(b.Aa||(b.Aa=Object.getOwnPropertyNames(b.u));;){c=b.Aa.shift();if(void 0===c)break;b.lb[c]=!0;if(Object.prototype.propertyIsEnumerable.call(b.u,c)){b.Ta=c;break a}}b.u=Bc(this,b.u);b.Aa=null;if(null===b.u){a.pop();return}}if(!b.wb)if(b.wb=!0,a=d.left,"VariableDeclaration"===a.type)b.sa=[Ja,a.ga[0].id.name];else return b.sa=null,b=new u(a,b.scope),b.wa=!0,b;b.sa||(b.sa= b.value);if(!b.xa&&(b.xa=!0,a=b.Ta,c=hd(this,b.sa,a)))return ld(this,c,b.sa,a);b.Ta=void 0;b.wb=!1;b.xa=!1;if(d.body)return new u(d.body,b.scope)};t.prototype.stepForStatement=function(a,b,d){switch(b.pa){default:b.pa=1;if(d.ya)return new u(d.ya,b.scope);break;case 1:b.pa=2;if(d.test)return new u(d.test,b.scope);break;case 2:b.pa=3;if(d.test&&!b.value)a.pop();else return b.$=!0,new u(d.body,b.scope);break;case 3:if(b.pa=1,d.update)return new u(d.update,b.scope)}}; t.prototype.stepFunctionDeclaration=function(a){a.pop()};t.prototype.stepFunctionExpression=function(a,b,d){a.pop();b=a[a.length-1];a=b.scope;d.id&&(a=dd(this,a));b.value=Pb(this,d,a,b.Ra);d.id&&this.g(a.object,d.id.name,b.value,wa)};t.prototype.stepIdentifier=function(a,b,d){a.pop();if(b.wa)a[a.length-1].value=[Ja,d.name];else{b=ed(this,d.name);if(this.P)return kd(this,b,this.Pa);a[a.length-1].value=b}};t.prototype.stepIfStatement=t.prototype.stepConditionalExpression; t.prototype.stepLabeledStatement=function(a,b,d){a.pop();a=b.labels||[];a.push(d.label.name);b=new u(d.body,b.scope);b.labels=a;return b};t.prototype.stepLiteral=function(a,b,d){a.pop();b=d.value;b instanceof RegExp&&(d=this.s(this.Oa),Ic(this,d,b),b=d);a[a.length-1].value=b}; t.prototype.stepLogicalExpression=function(a,b,d){if("&&"!==d.operator&&"||"!==d.operator)throw SyntaxError("Unknown logical operator: "+d.operator);if(!b.la)return b.la=!0,new u(d.left,b.scope);if(b.Ga)a.pop(),a[a.length-1].value=b.value;else if("&&"===d.operator&&!b.value||"||"===d.operator&&b.value)a.pop(),a[a.length-1].value=b.value;else return b.Ga=!0,new u(d.right,b.scope)}; t.prototype.stepMemberExpression=function(a,b,d){if(!b.Fa)return b.Fa=!0,new u(d.object,b.scope);if(d.eb)if(b.Vb)d=b.value;else return b.u=b.value,b.Vb=!0,new u(d.Xa,b.scope);else b.u=b.value,d=d.Xa.name;a.pop();if(b.wa)a[a.length-1].value=[b.u,d];else{d=this.N(b.u,d);if(this.P)return kd(this,d,b.u);a[a.length-1].value=d}};t.prototype.stepNewExpression=t.prototype.stepCallExpression; t.prototype.stepObjectExpression=function(a,b,d){var c=b.A||0,e=d.h[c];if(b.u){var g=b.Ra;b.La[g]||(b.La[g]={});b.La[g][e.kind]=b.value;b.A=++c;e=d.h[c]}else b.u=this.s(this.L),b.La=Object.create(null);if(e){var l=e.key;if("Identifier"===l.type)g=l.name;else if("Literal"===l.type)g=l.value;else throw SyntaxError("Unknown object structure: "+l.type);b.Ra=g;return new u(e.value,b.scope)}for(l in b.La)d=b.La[l],"get"in d||"set"in d?this.g(b.u,l,Ka,{configurable:!0,enumerable:!0,get:d.get,set:d.set}): this.g(b.u,l,d.init);a.pop();a[a.length-1].value=b.u};t.prototype.stepProgram=function(a,b,d){if(a=d.body.shift())return b.done=!1,new u(a,b.scope);b.done=!0};t.prototype.stepReturnStatement=function(a,b,d){if(d.J&&!b.ma)return b.ma=!0,new u(d.J,b.scope);id(this,3,b.value)};t.prototype.stepSequenceExpression=function(a,b,d){var c=b.A||0;if(d=d.xb[c])return b.A=c+1,new u(d,b.scope);a.pop();a[a.length-1].value=b.value}; t.prototype.stepSwitchStatement=function(a,b,d){if(!b.ia)return b.ia=1,new u(d.Qb,b.scope);1===b.ia&&(b.ia=2,b.ic=b.value,b.fb=-1);for(;;){var c=b.ib||0,e=d.tb[c];if(b.Ka||!e||e.test)if(e||b.Ka||-1===b.fb)if(e){if(!b.Ka&&!b.Fb&&e.test)return b.Fb=!0,new u(e.test,b.scope);if(b.Ka||b.value===b.ic){b.Ka=!0;var g=b.A||0;if(e.ea[g])return b.$b=!0,b.A=g+1,new u(e.ea[g],b.scope)}b.Fb=!1;b.A=0;b.ib=c+1}else{a.pop();break}else b.Ka=!0,b.ib=b.fb;else b.fb=c,b.ib=c+1}}; t.prototype.stepThisExpression=function(a){a.pop();a[a.length-1].value=ed(this,"this")};t.prototype.stepThrowStatement=function(a,b,d){if(b.ma)I(this,b.value);else return b.ma=!0,new u(d.J,b.scope)}; t.prototype.stepTryStatement=function(a,b,d){if(!b.Rb)return b.Rb=!0,new u(d.block,b.scope);if(b.fa&&4===b.fa.type&&!b.Tb&&d.Ha)return b.Tb=!0,a=dd(this,b.scope),this.g(a.object,d.Ha.Va.name,b.fa.value),b.fa=void 0,new u(d.Ha.body,a);if(!b.Sb&&d.hb)return b.Sb=!0,new u(d.hb,b.scope);a.pop();b.fa&&id(this,b.fa.type,b.fa.value,b.fa.label)}; t.prototype.stepUnaryExpression=function(a,b,d){if(!b.ma)return b.ma=!0,a=new u(d.J,b.scope),a.wa="delete"===d.operator,a;a.pop();var c=b.value;switch(d.operator){case "-":c=-c;break;case "+":c=+c;break;case "!":c=!c;break;case "~":c=~c;break;case "delete":d=!0;if(Array.isArray(c)){var e=c[0];e===Ja&&(e=b.scope);c=String(c[1]);try{delete e.h[c]}catch(g){b.scope.T?I(this,this.o,"Cannot delete property '"+c+"' of '"+e+"'"):d=!1}}c=d;break;case "typeof":c=c&&"Function"===c.G?"function":typeof c;break; case "void":c=void 0;break;default:throw SyntaxError("Unknown unary operator: "+d.operator);}a[a.length-1].value=c}; t.prototype.stepUpdateExpression=function(a,b,d){if(!b.la)return b.la=!0,a=new u(d.J,b.scope),a.wa=!0,a;b.Ja||(b.Ja=b.value);b.Ea&&(b.oa=b.value);if(!b.Ea){var c=gd(this,b.Ja);b.oa=c;if(this.P)return b.Ea=!0,kd(this,c,b.Ja)}if(b.xa)a.pop(),a[a.length-1].value=b.jb;else{c=Number(b.oa);if("++"===d.operator)var e=c+1;else if("--"===d.operator)e=c-1;else throw SyntaxError("Unknown update expression: "+d.operator);d=d.prefix?e:c;if(c=hd(this,b.Ja,e))return b.xa=!0,b.jb=d,ld(this,c,b.Ja,e);a.pop();a[a.length- 1].value=d}};t.prototype.stepVariableDeclaration=function(a,b,d){d=d.ga;var c=b.A||0,e=d[c];b.Bb&&e&&(fd(this,e.id.name,b.value),b.Bb=!1,e=d[++c]);for(;e;){if(e.ya)return b.A=c,b.Bb=!0,b.Ra=e.id.name,new u(e.ya,b.scope);e=d[++c]}a.pop()};t.prototype.stepWithStatement=function(a,b,d){if(!b.Fa)return b.Fa=!0,new u(d.object,b.scope);a.pop();a=dd(this,b.scope,b.value);return new u(d.body,a)};t.prototype.stepWhileStatement=t.prototype.stepDoWhileStatement;Pa.Interpreter=t;t.prototype.step=t.prototype.mb; t.prototype.run=t.prototype.Eb;t.prototype.appendCode=t.prototype.Jb;t.prototype.createObject=t.prototype.Da;t.prototype.createObjectProto=t.prototype.s;t.prototype.createAsyncFunction=t.prototype.ub;t.prototype.createNativeFunction=t.prototype.i;t.prototype.getProperty=t.prototype.N;t.prototype.setProperty=t.prototype.g;t.prototype.getStatus=t.prototype.Zb;t.prototype.nativeToPseudo=t.prototype.R;t.prototype.pseudoToNative=t.prototype.S;t.prototype.getGlobalScope=t.prototype.Xb; t.prototype.getStateStack=t.prototype.Yb;t.prototype.setStateStack=t.prototype.fc;t.VALUE_IN_DESCRIPTOR=Ka;t.Status=ua;