Socket
Socket
Sign inDemoInstall

zone.js

Package Overview
Dependencies
Maintainers
3
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zone.js - npm Package Compare versions

Comparing version 0.8.3 to 0.8.4

11

CHANGELOG.md

@@ -0,1 +1,12 @@

<a name="0.8.4"></a>
## [0.8.4](https://github.com/angular/zone.js/compare/v0.8.3...0.8.4) (2017-03-16)
### Bug Fixes
* correct declaration which breaks closure ([0e19304](https://github.com/angular/zone.js/commit/0e19304))
* stack rewriting now works with source maps ([bcd09a0](https://github.com/angular/zone.js/commit/bcd09a0))
<a name="0.8.3"></a>

@@ -2,0 +13,0 @@ ## [0.8.3](https://github.com/angular/zone.js/compare/v0.8.1...0.8.3) (2017-03-15)

58

dist/long-stack-trace-zone.js

@@ -26,5 +26,7 @@ /**

var NEWLINE = '\n';
var SEP = ' ------------- ';
var IGNORE_FRAMES = [];
var IGNORE_FRAMES = {};
var creationTrace = '__creationTrace__';
var ERROR_TAG = 'STACKTRACE TRACKING';
var SEP_TAG = '__SEP_TAG__';
var sepTemplate = '';
var LongStackTrace = (function () {

@@ -38,3 +40,3 @@ function LongStackTrace() {

function getStacktraceWithUncaughtError() {
return new Error('STACKTRACE TRACKING');
return new Error(ERROR_TAG);
}

@@ -64,3 +66,3 @@ function getStacktraceWithCaughtError() {

// Filter out the Frames which are part of stack capturing.
if (!(i < IGNORE_FRAMES.length && IGNORE_FRAMES[i] === frame)) {
if (!IGNORE_FRAMES.hasOwnProperty(frame)) {
lines.push(trace[i]);

@@ -71,3 +73,3 @@ }

function renderLongStackTrace(frames, stack) {
var longTrace = [stack];
var longTrace = [stack.trim()];
if (frames) {

@@ -78,3 +80,5 @@ var timestamp = new Date().getTime();

var lastTime = traceFrames.timestamp;
longTrace.push(SEP + " Elapsed: " + (timestamp - lastTime.getTime()) + " ms; At: " + lastTime + " " + SEP);
var separator = "____________________Elapsed " + (timestamp - lastTime.getTime()) + " ms; At: " + lastTime;
separator = separator.replace(/[^\w\d]/g, '_');
longTrace.push(sepTemplate.replace(SEP_TAG, separator));
addErrorStack(longTrace, traceFrames.error);

@@ -117,36 +121,8 @@ timestamp = lastTime.getTime();

if (error instanceof Error && parentTask) {
var stackSetSucceeded = null;
var longStack = renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], error.stack);
try {
var descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
if (descriptor && descriptor.configurable) {
var delegateGet_1 = descriptor.get;
var value_1 = descriptor.value;
descriptor = {
get: function () {
return renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], delegateGet_1 ? delegateGet_1.apply(this) : value_1);
}
};
Object.defineProperty(error, 'stack', descriptor);
stackSetSucceeded = true;
}
error.stack = error.longStack = longStack;
}
catch (err) {
}
var longStack = stackSetSucceeded ?
null :
renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], error.stack);
if (!stackSetSucceeded) {
try {
stackSetSucceeded = error.stack = longStack;
}
catch (err) {
}
}
if (!stackSetSucceeded) {
try {
stackSetSucceeded = error.longStack = longStack;
}
catch (err) {
}
}
}

@@ -170,4 +146,7 @@ return parentZoneDelegate.handleError(targetZone, error);

var frame2 = frames2[i];
if (!sepTemplate && frame1.indexOf(ERROR_TAG) == -1) {
sepTemplate = frame1.replace(/^(\s*(at)?\s*)([\w\/\<]+)/, '$1' + SEP_TAG);
}
if (frame1 === frame2) {
IGNORE_FRAMES.push(frame1);
IGNORE_FRAMES[frame1] = true;
}

@@ -177,3 +156,8 @@ else {

}
console.log('>>>>>>', sepTemplate, frame1);
}
if (!sepTemplate) {
// If we could not find it default to this text.
sepTemplate = SEP_TAG + '@[native code]';
}
}

@@ -180,0 +164,0 @@ computeIgnoreFrames();

@@ -1,1 +0,1 @@

!function(t,a){"object"==typeof exports&&"undefined"!=typeof module?a():"function"==typeof define&&define.amd?define(a):a()}(this,function(){"use strict";function t(){return new Error("STACKTRACE TRACKING")}function a(){try{throw t()}catch(a){return a}}function e(t){return t.stack?t.stack.split(i):[]}function n(t,a){for(var n=e(a),r=0;r<n.length;r++){var c=n[r];r<s.length&&s[r]===c||t.push(n[r])}}function r(t,a){var e=[a];if(t)for(var r=(new Date).getTime(),c=0;c<t.length;c++){var o=t[c],s=o.timestamp;e.push(u+" Elapsed: "+(r-s.getTime())+" ms; At: "+s+" "+u),n(e,o.error),r=s.getTime()}return e.join(i)}function c(t,a){a>0&&(t.push(e((new l).error)),c(t,a-1))}function o(){var t=[];c(t,2);for(var a=t[0],e=t[1],n=0;n<a.length;n++){var r=a[n],o=e[n];if(r!==o)break;s.push(r)}}var i="\n",u=" ------------- ",s=[],f="__creationTrace__",l=function(){function t(){this.error=k(),this.timestamp=new Date}return t}(),d=t(),h=a(),k=d.stack?t:h.stack?a:t;Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,getLongStackTrace:function(t){if(t){var a=t[Zone.__symbol__("currentTask")],e=a&&a.data&&a.data[f];return e?r(e,t.stack):t.stack}},onScheduleTask:function(t,a,e,n){var r=Zone.currentTask,c=r&&r.data&&r.data[f]||[];return c=[new l].concat(c),c.length>this.longStackTraceLimit&&(c.length=this.longStackTraceLimit),n.data||(n.data={}),n.data[f]=c,t.scheduleTask(e,n)},onHandleError:function(t,a,e,n){var c=Zone.currentTask||n.task;if(n instanceof Error&&c){var o=null;try{var i=Object.getOwnPropertyDescriptor(n,"stack");if(i&&i.configurable){var u=i.get,s=i.value;i={get:function(){return r(c.data&&c.data[f],u?u.apply(this):s)}},Object.defineProperty(n,"stack",i),o=!0}}catch(l){}var d=o?null:r(c.data&&c.data[f],n.stack);if(!o)try{o=n.stack=d}catch(l){}if(!o)try{o=n.longStack=d}catch(l){}}return t.handleError(e,n)}},o()});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e():"function"==typeof define&&define.amd?define(e):e()}(this,function(){"use strict";function t(){return new Error(_)}function e(){try{throw t()}catch(e){return e}}function n(t){return t.stack?t.stack.split(i):[]}function a(t,e){for(var a=n(e),r=0;r<a.length;r++){var c=a[r];s.hasOwnProperty(c)||t.push(a[r])}}function r(t,e){var n=[e.trim()];if(t)for(var r=(new Date).getTime(),c=0;c<t.length;c++){var o=t[c],s=o.timestamp,u="____________________Elapsed "+(r-s.getTime())+" ms; At: "+s;u=u.replace(/[^\w\d]/g,"_"),n.push(d.replace(f,u)),a(n,o.error),r=s.getTime()}return n.join(i)}function c(t,e){e>0&&(t.push(n((new l).error)),c(t,e-1))}function o(){var t=[];c(t,2);for(var e=t[0],n=t[1],a=0;a<e.length;a++){var r=e[a],o=n[a];if(d||r.indexOf(_)!=-1||(d=r.replace(/^(\s*(at)?\s*)([\w\/\<]+)/,"$1"+f)),r!==o)break;s[r]=!0,console.log(">>>>>>",d,r)}d||(d=f+"@[native code]")}var i="\n",s={},u="__creationTrace__",_="STACKTRACE TRACKING",f="__SEP_TAG__",d="",l=function(){function t(){this.error=g(),this.timestamp=new Date}return t}(),k=t(),h=e(),g=k.stack?t:h.stack?e:t;Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,getLongStackTrace:function(t){if(t){var e=t[Zone.__symbol__("currentTask")],n=e&&e.data&&e.data[u];return n?r(n,t.stack):t.stack}},onScheduleTask:function(t,e,n,a){var r=Zone.currentTask,c=r&&r.data&&r.data[u]||[];return c=[new l].concat(c),c.length>this.longStackTraceLimit&&(c.length=this.longStackTraceLimit),a.data||(a.data={}),a.data[u]=c,t.scheduleTask(n,a)},onHandleError:function(t,e,n,a){var c=Zone.currentTask||a.task;if(a instanceof Error&&c){var o=r(c.data&&c.data[u],a.stack);try{a.stack=a.longStack=o}catch(i){}}return t.handleError(n,a)}},o()});

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(this,function(){"use strict";function e(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=Zone.current.wrap(e[n],t+"_"+n));return e}function t(t,n){for(var r=t.constructor.name,o=function(o){var a=n[o],i=t[a];i&&(t[a]=function(t){return function(){return t.apply(this,e(arguments,r+"."+a))}}(i))},a=0;a<n.length;a++)o(a)}function n(e,t){var n=Object.getOwnPropertyDescriptor(e,t)||{enumerable:!0,configurable:!0},r=Object.getOwnPropertyDescriptor(e,"original"+t);!r&&n.get&&Object.defineProperty(e,"original"+t,{enumerable:!1,configurable:!0,get:n.get}),delete n.writable,delete n.value;var o=t.substr(2),a=z("_"+t);n.set=function(e){if(this[a]&&this.removeEventListener(o,this[a]),"function"==typeof e){var t=function(t){var n;n=e.apply(this,arguments),void 0==n||n||t.preventDefault()};this[a]=t,this.addEventListener(o,t,!1)}else this[a]=null},n.get=function(){var e=this[a]||null;return null===e&&r&&r.get&&(e=r.get.apply(this,arguments),e&&(n.set.apply(this,[e]),"function"==typeof this.removeAttribute&&this.removeAttribute(t))),this[a]||null},Object.defineProperty(e,t,n)}function r(e,t){var r=[];for(var o in e)"on"==o.substr(0,2)&&r.push(o);for(var a=0;a<r.length;a++)n(e,r[a]);if(t)for(var i=0;i<t.length;i++)n(e,"on"+t[i])}function o(e,t,n,r,o){var a=e[I];if(a)for(var i=0;i<a.length;i++){var u=a[i],s=u.data,c=s.handler;if((s.handler===t||c.listener===t)&&s.useCapturing===r&&s.eventName===n)return o&&a.splice(i,1),u}return null}function a(e,t,n){var r=e[I];r||(r=e[I]=[]),n?r.unshift(t):r.push(t)}function i(e,t,n,r,i,u){function s(e){var t=e.data;return a(t.target,e,i),t.invokeAddFunc(l,e)}function c(e){var t=e.data;return o(t.target,e.invoke,t.eventName,t.useCapturing,!0),t.invokeRemoveFunc(f,e)}void 0===n&&(n=!0),void 0===r&&(r=!1),void 0===i&&(i=!1),void 0===u&&(u=F);var l=z(e),f=z(t),h=!n&&void 0;return function(t,n){var a=u(t,n);a.useCapturing=a.useCapturing||h;var i=null;"function"==typeof a.handler?i=a.handler:a.handler&&a.handler.handleEvent&&(i=function(e){return a.handler.handleEvent(e)});var f=!1;try{f=a.handler&&"[object FunctionWrapper]"===a.handler.toString()}catch(p){return}if(!i||f)return a.invokeAddFunc(l,a.handler);if(!r){var d=o(a.target,a.handler,a.eventName,a.useCapturing,!1);if(d)return a.invokeAddFunc(l,d)}var k=Zone.current,v=a.target.constructor.name+"."+e+":"+a.eventName;k.scheduleEventTask(v,i,a,s,c)}}function u(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=F);var r=z(e),a=!t&&void 0;return function(e,t){var i=n(e,t);i.useCapturing=i.useCapturing||a;var u=o(i.target,i.handler,i.eventName,i.useCapturing,!0);u?u.zone.cancelTask(u):i.invokeRemoveFunc(r,i.handler)}}function s(e,t,n,r){return void 0===t&&(t=L),void 0===n&&(n=M),void 0===r&&(r=F),!(!e||!e[t])&&(f(e,t,function(){return i(t,n,!0,!1,!1,r)}),f(e,n,function(){return u(n,!0,r)}),!0)}function c(t){var n=P[t];if(n){P[t]=function(){var r=e(arguments,t);switch(r.length){case 0:this[H]=new n;break;case 1:this[H]=new n(r[0]);break;case 2:this[H]=new n(r[0],r[1]);break;case 3:this[H]=new n(r[0],r[1],r[2]);break;case 4:this[H]=new n(r[0],r[1],r[2],r[3]);break;default:throw new Error("Arg list too long.")}};var r,o=new n(function(){});for(r in o)"XMLHttpRequest"===t&&"responseBlob"===r||!function(e){"function"==typeof o[e]?P[t].prototype[e]=function(){return this[H][e].apply(this[H],arguments)}:Object.defineProperty(P[t].prototype,e,{set:function(n){"function"==typeof n?this[H][e]=Zone.current.wrap(n,t+"."+e):this[H][e]=n},get:function(){return this[H][e]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(P[t][r]=n[r])}}function l(e,t){try{return Function("f","return function "+e+"(){return f(this, arguments)}")(t)}catch(n){return function(){return t(this,arguments)}}}function f(e,t,n){for(var r=e;r&&Object.getOwnPropertyNames(r).indexOf(t)===-1;)r=Object.getPrototypeOf(r);!r&&e[t]&&(r=e);var o,a=z(t);return r&&!(o=r[a])&&(o=r[a]=r[t],r[t]=l(t,n(o,a,t))),o}function h(e,t){var n=e[z("eventTasks")],r=[];if(n)for(var o=0;o<n.length;o++){var a=n[o],i=a.data,u=i&&i.eventName;u===t&&r.push(a)}return r}function p(e,t,n,r){function o(t){var n=t.data;return n.args[0]=function(){try{t.invoke.apply(this,arguments)}finally{delete s[n.handleId]}},n.handleId=i.apply(e,n.args),s[n.handleId]=t,t}function a(e){return delete s[e.data.handleId],u(e.data.handleId)}var i=null,u=null;t+=r,n+=r;var s={};i=f(e,t,function(n){return function(i,u){if("function"==typeof u[0]){var s=Zone.current,c={handleId:null,isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?u[1]||0:null,args:u},l=s.scheduleMacroTask(t,u[0],c,o,a);if(!l)return l;var f=l.data.handleId;return f&&f.ref&&f.unref&&"function"==typeof f.ref&&"function"==typeof f.unref&&(l.ref=f.ref.bind(f),l.unref=f.unref.bind(f)),l}return n.apply(e,u)}}),u=f(e,n,function(t){return function(n,r){var o="number"==typeof r[0]?s[r[0]]:r[0];o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&o.zone.cancelTask(o):t.apply(e,r)}})}function d(){Object.defineProperty=function(e,t,n){if(v(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=g(e,t,n)),y(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=g(e,n,t[n])}),A(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=x(e,t);return v(e,t)&&(n.configurable=!1),n}}function k(e,t,n){var r=n.configurable;return n=g(e,t,n),y(e,t,n,r)}function v(e,t){return e&&e[q]&&e[q][t]}function g(e,t,n){return n.configurable=!0,n.configurable||(e[q]||R(e,q,{writable:!0,value:{}}),e[q][t]=!0),n}function y(e,t,n,r){try{return R(e,t,n)}catch(o){if(!n.configurable)throw o;"undefined"==typeof r?delete n.configurable:n.configurable=r;try{return R(e,t,n)}catch(o){var a=null;try{a=JSON.stringify(n)}catch(o){a=a.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+a+"' on object '"+e+"' and got error, giving up: "+o)}}}function T(e){var t=[],n=e.wtf;n?t=G.split(",").map(function(e){return"HTML"+e+"Element"}).concat(N):e[B]?t.push(B):t=N;for(var r=0;r<t.length;r++){var o=e[t[r]];s(o&&o.prototype)}}function m(e){var t=e.WebSocket;e.EventTarget||s(t.prototype),e.WebSocket=function(e,n){var o,a=arguments.length>1?new t(e,n):new t(e),i=Object.getOwnPropertyDescriptor(a,"onmessage");return i&&i.configurable===!1?(o=Object.create(a),["addEventListener","removeEventListener","send","close"].forEach(function(e){o[e]=function(){return a[e].apply(a,arguments)}})):o=a,r(o,["close","error","message","open"]),o};for(var n in t)e.WebSocket[n]=t[n]}function b(e){if(!j||D){var t="undefined"!=typeof WebSocket;w()?(C&&r(HTMLElement.prototype,W),r(XMLHttpRequest.prototype,null),"undefined"!=typeof IDBIndex&&(r(IDBIndex.prototype,null),r(IDBRequest.prototype,null),r(IDBOpenDBRequest.prototype,null),r(IDBDatabase.prototype,null),r(IDBTransaction.prototype,null),r(IDBCursor.prototype,null)),t&&r(WebSocket.prototype,null)):(_(),c("XMLHttpRequest"),t&&m(e))}}function w(){if((C||D)&&!Object.getOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=Object.getOwnPropertyDescriptor(Element.prototype,"onclick");if(e&&!e.configurable)return!1}var t=Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype,"onreadystatechange");Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}});var n=new XMLHttpRequest,r=!!n.onreadystatechange;return Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",t||{}),r}function _(){for(var e=function(e){var t=W[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][X]&&(t=Zone.current.wrap(o[n],r),t[X]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<W.length;t++)e(t)}function S(e){if((C||D)&&"registerElement"in e.document){var t=document.registerElement,n=["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"];document.registerElement=function(e,r){return r&&r.prototype&&n.forEach(function(e){var t="Document.registerElement::"+e;if(r.prototype.hasOwnProperty(e)){var n=Object.getOwnPropertyDescriptor(r.prototype,e);n&&n.value?(n.value=Zone.current.wrap(n.value,t),k(r.prototype,e,n)):r.prototype[e]=Zone.current.wrap(r.prototype[e],t)}else r.prototype[e]&&(r.prototype[e]=Zone.current.wrap(r.prototype[e],t))}),t.apply(document,[e,r])}}}function E(e){function t(e){var t=e[ee];return t}function n(e){XMLHttpRequest[re]=!1;var t=e.data,n=t.target[ne];n&&t.target.removeEventListener("readystatechange",n);var r=t.target[ne]=function(){t.target.readyState===t.target.DONE&&!t.aborted&&XMLHttpRequest[re]&&"scheduled"===e.state&&e.invoke()};t.target.addEventListener("readystatechange",r);var o=t.target[ee];return o||(t.target[ee]=e),i.apply(t.target,t.args),XMLHttpRequest[re]=!0,e}function r(){}function o(e){var t=e.data;return t.aborted=!0,u.apply(t.target,t.args)}var a=f(e.XMLHttpRequest.prototype,"open",function(){return function(e,t){return e[te]=0==t[2],a.apply(e,t)}}),i=f(e.XMLHttpRequest.prototype,"send",function(){return function(e,t){var a=Zone.current;if(e[te])return i.apply(e,t);var u={target:e,isPeriodic:!1,delay:null,args:t,aborted:!1};return a.scheduleMacroTask("XMLHttpRequest.send",r,u,n,o)}}),u=f(e.XMLHttpRequest.prototype,"abort",function(e){return function(e,n){var r=t(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}}})}function O(e){return function(t){var n=h(J,e);n.forEach(function(n){var r=J.PromiseRejectionEvent;if(r){var o=new r(e,{promise:t.promise,reason:t.rejection});n.invoke(o)}})}}var z=(function(e){function t(e){return"__zone_symbol__"+e}function n(){0===G&&0===x.length&&(e[M]?e[M].resolve(0)[F](i):e[L](i,0))}function r(e){n(),x.push(e)}function o(e){if(!Z[t("ignoreConsoleErrorUncaughtError")]){var n=e&&e.rejection;n&&console.error("Unhandled Promise rejection:",n instanceof Error?n.message:n,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",n,n instanceof Error?n.stack:void 0),console.error(e)}}function a(e){o(e);try{var n=Z[t("unhandledPromiseRejectionHandler")];n&&"function"==typeof n&&n.apply(this,[e])}catch(r){}}function i(){if(!A){for(A=!0;x.length;){var e=x;x=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(r){o(r)}}}for(;q.length;)for(var i=function(){var e=q.shift();try{e.zone.runGuarded(function(){throw e})}catch(t){a(t)}};q.length;)i();A=!1}}function u(e){return e&&e.then}function s(e){return e}function c(e){return Q.reject(e)}function l(e,t){return function(n){try{f(e,t,n)}catch(r){f(e,!1,r)}}}function f(e,r,o){var a=J();if(e===o)throw new TypeError("Promise resolved with itself");if(e[N]===X){var i=null;try{"object"!=typeof o&&"function"!=typeof o||(i=o&&o.then)}catch(u){return a(function(){f(e,!1,u)})(),e}if(r!==K&&o instanceof Q&&o.hasOwnProperty(N)&&o.hasOwnProperty(B)&&o[N]!==X)h(o),f(e,o[N],o[B]);else if(r!==K&&"function"==typeof i)try{i.apply(o,[a(l(e,r)),a(l(e,!1))])}catch(u){a(function(){f(e,!1,u)})()}else{e[N]=r;var s=e[B];e[B]=o,r===K&&o instanceof Error&&(o[t("currentTask")]=Z.currentTask);for(var c=0;c<s.length;)p(e,s[c++],s[c++],s[c++],s[c++]);if(0==s.length&&r==K){e[N]=V;try{throw new Error("Uncaught (in promise): "+o+(o&&o.stack?"\n"+o.stack:""))}catch(u){var d=u;d.rejection=o,d.promise=e,d.zone=Z.current,d.task=Z.currentTask,q.push(d),n()}}}}return e}function h(e){if(e[N]===V){try{var n=Z[t("rejectionHandledHandler")];n&&"function"==typeof n&&n.apply(this,[{rejection:e[B],promise:e}])}catch(r){}e[N]=K;for(var o=0;o<q.length;o++)e===q[o].promise&&q.splice(o,1)}}function p(e,t,n,r,o){h(e);var a=e[N]?"function"==typeof r?r:s:"function"==typeof o?o:c;t.scheduleMicroTask(W,function(){try{f(n,!0,t.run(a,void 0,[e[B]]))}catch(r){f(n,!1,r)}})}function d(e){var t=e.prototype,n=t.then;t[F]=n,e.prototype.then=function(e,t){var r=this,o=new Q(function(e,t){n.call(r,e,t)});return o.then(e,t)},e[$]=!0}function k(e){return function(){var t=e.apply(this,arguments);if(t instanceof Q)return t;var n=t.constructor;return n[$]||d(n),t}}function v(e,t){if(e.originalStack=e.stack,g[ae]&&e.originalStack){for(var n=e.originalStack.split("\n"),r=H,o=0;o<n.length&&0===oe.filter(function(e){return e.trim()===n[o].trim()}).length;)o++;for(var a=function(){var e=n[o].trim();if(e){var t=re.hasOwnProperty(e)&&re[e];t===te.blackList?(n.splice(o,1),o--):fe.filter(function(t){return e.toLowerCase().indexOf(t.toLowerCase())!==-1}).length>0?(n.splice(o,1),o--):t===te.transition?(r=r.parent?r.parent:null,n.splice(o,1),o--):n[o]+=" ["+r.zone.name+"]"}};o<n.length&&r;o++)a();var i=n.join("\n");try{e.stack=e.zoneAwareStack=i}catch(u){t.stack=i}}}function g(){if(!(this instanceof g))return g.apply(Object.create(g.prototype),arguments);var e=ne.apply(this,arguments);if(!e.stack)try{throw e}catch(n){e=n}this[t("error")]=e,v(e,this);var r=le(Object.getPrototypeOf(this));return Object.defineProperties(this,r),this}function y(e){for(var t=e.stack?e.stack.split(/\n/):[];t.length;){var n=t.shift(),r=n.trim().split("[")[0].trim();/:\d+:\d+/.test(r)&&!re.hasOwnProperty(r)&&(re[r]=te.blackList);var o=n.split("(")[0].split("@")[0];if(o.indexOf("runGuarded")!==-1)break;if(o.indexOf("runTask")!==-1)break}}if(e.Zone)throw new Error("Zone already loaded.");var T={name:"NO ZONE"},m="notScheduled",b="scheduling",w="scheduled",_="running",S="canceling",E="unknown",O="microTask",z="macroTask",P="eventTask",Z=function(){function t(e,t){this._properties=null,this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new C(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==Q)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return H.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return R},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){void 0===t&&(t=void 0),void 0===n&&(n=null),void 0===r&&(r=null),H=new I(H,this);try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{H=H.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null),H=new I(H,this);try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{H=H.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||T).name+"; Execution: "+this.name+")");var r=e.state!=_;r&&e._transitionTo(_,w),e.runCount++;var o=R;R=e,H=new I(H,this);try{e.type==z&&e.data&&!e.data.isPeriodic&&(e.cancelFn=null);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{e.state!==m&&e.state!==E&&(e.type==P||e.data&&e.data.isPeriodic?r&&e._transitionTo(w,_):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(m,_,m))),H=H.parent,R=o}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(b,m);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(r){throw e._transitionTo(E,b,m),this._zoneDelegate.handleError(this,r),r}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==b&&e._transitionTo(w,b),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new D(O,e,t,n,r,null))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new D(z,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new D(P,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||T).name+"; Execution: "+this.name+")");e._transitionTo(S,w,_);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(E,S),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(m,S),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;t==-1&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();Z.__symbol__=t;var j={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},C=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask,o=t&&t._hasTaskZS;(r||o)&&(this._hasTaskZS=r?n:j,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=j,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=j,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=j,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new Z(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=O)throw new Error("Task is missing scheduleFn.");r(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{return this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");if(0==r||0==o){var a={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};this.hasTask(this.zone,a)}},e}(),D=function(){function e(e,t,n,r,o,a){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=e,this.source=t,this.data=r,this.scheduleFn=o,this.cancelFn=a,this.callback=n;var u=this;this.invoke=function(){G++;try{return u.runCount++,u.zone.runTask(u,this,arguments)}finally{1==G&&i(),G--}}}return Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(m,b)},e.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==m&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&"undefined"!=typeof this.data.handleId?this.data.handleId:Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,data:this.data,zone:this.zone.name,invoke:this.invoke,scheduleFn:this.scheduleFn,cancelFn:this.cancelFn,runCount:this.runCount,callback:this.callback}},e}(),I=function(){function e(e,t){this.parent=e,this.zone=t}return e}(),L=t("setTimeout"),M=t("Promise"),F=t("then"),H=new I(null,new Z(null,null)),R=null,x=[],A=!1,q=[],G=0,N=t("state"),B=t("value"),W="Promise.then",X=null,U=!0,K=!1,V=0,J=function(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},Q=function(){function e(t){var n=this;if(!(n instanceof e))throw new Error("Must be an instanceof Promise.");n[N]=X,n[B]=[];try{t&&t(l(n,U),l(n,K))}catch(r){f(n,!1,r)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return f(new this(null),U,e)},e.reject=function(e){return f(new this(null),K,e)},e.race=function(e){function t(e){a&&(a=r(e))}function n(e){a&&(a=o(e))}for(var r,o,a=new this(function(e,t){n=[e,t],r=n[0],o=n[1];var n}),i=0,s=e;i<s.length;i++){var c=s[i];u(c)||(c=this.resolve(c)),c.then(t,n)}return a},e.all=function(e){for(var t,n,r=new this(function(e,r){t=e,n=r}),o=0,a=[],i=0,s=e;i<s.length;i++){var c=s[i];u(c)||(c=this.resolve(c)),c.then(function(e){return function(n){a[e]=n,o--,o||t(a)}}(o),n),o++}return o||t(a),r},e.prototype.then=function(e,t){var n=new this.constructor(null),r=Z.current;return this[N]==X?this[B].push(r,n,e,t):p(this,r,n,e,t),n},e.prototype["catch"]=function(e){return this.then(null,e)},e}();Q.resolve=Q.resolve,Q.reject=Q.reject,Q.race=Q.race,Q.all=Q.all;var Y=e[M]=e.Promise;e.Promise=Q;var $=t("thenPatched");if(Y){d(Y);var ee=e.fetch;"function"==typeof ee&&(e.fetch=k(ee))}Promise[Z.__symbol__("uncaughtPromiseErrors")]=q;var te;!function(e){e[e.blackList=0]="blackList",e[e.transition=1]="transition"}(te||(te={}));var ne=e[t("Error")]=e.Error,re={},oe=[];e.Error=g;var ae="stackRewrite",ie=function(e,n){if(!e[n]){var r=t(n);e[n]={configurable:!0,enumerable:!0,get:function(){if(!this[r]){var e=this[t("error")];e&&(this[r]=e[n])}return this[r]},set:function(e){this[r]=e}}}},ue=function(e,n){e[n]||(e[n]={configurable:!0,enumerable:!0,writable:!0,value:function(){var e=this[t("error")],r=e&&e[n]||this[n];if(r)return r.apply(e,arguments)}})},se=function(){for(var e=Object.create(null),t=new ne,n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r];Object.prototype.hasOwnProperty.call(t,o)&&ie(e,o)}var a=ne.prototype;if(a)for(var i=Object.getOwnPropertyNames(a),r=0;r<i.length;r++){var o=i[r];"constructor"!==o&&"toString"!==o&&"toSource"!==o&&ie(e,o)}return ie(e,"originalStack"),ie(e,"zoneAwareStack"),ie(e,"stack"),ue(e,"toString"),ue(e,"toSource"),e},ce=se(),le=function(e){if(e===g.prototype)return ce;var t=Object.create(null),n=Object.getOwnPropertyNames(ce),r=Object.getOwnPropertyNames(e);return n.forEach(function(e){0===r.filter(function(t){return t===e}).length&&(t[e]=ce[e])}),t},fe=["ZoneTask.invoke","ZoneAware","getStacktraceWithUncaughtError","new LongStackTrace","long-stack-trace"];g.prototype=ne.prototype,g[Z.__symbol__("blacklistedStackFrames")]=re,g[ae]=!1;var he=["stackTraceLimit","captureStackTrace","prepareStackTrace"],pe=Object.keys(ne);pe&&pe.forEach(function(e){0===he.filter(function(t){return t===e}).length&&Object.defineProperty(g,e,{get:function(){return ne[e]},set:function(t){ne[e]=t}})}),ne.hasOwnProperty("stackTraceLimit")&&(ne.stackTraceLimit=Math.max(ne.stackTraceLimit,15),Object.defineProperty(g,"stackTraceLimit",{get:function(){return ne.stackTraceLimit},set:function(e){return ne.stackTraceLimit=e}})),ne.hasOwnProperty("captureStackTrace")&&Object.defineProperty(g,"captureStackTrace",{value:function(e,t){ne.captureStackTrace(e,t)}}),Object.defineProperty(g,"prepareStackTrace",{get:function(){return ne.prepareStackTrace},set:function(e){return e&&"function"==typeof e?ne.prepareStackTrace=function(t,n){if(n)for(var r=0;r<n.length;r++){var o=n[r];if("zoneCaptureStackTrace"===o.getFunctionName()){n.splice(r,1);break}}return e.apply(this,[t,n])}:ne.prepareStackTrace=e}});var de=Z.current.fork({name:"detect",onInvoke:function(e,t,n,r,o,a,i){return e.invoke(n,r,o,a,i)},onHandleError:function(e,t,n,r){if(r.originalStack&&Error===g)for(var o=r.originalStack.split(/\n/),a=!1,i=!1,u=!1;o.length;){var s=o.shift();if(/:\d+:\d+/.test(s)){var c=s.split("(")[0].split("@")[0],l=te.transition;if(c.indexOf("ZoneAwareError")!==-1&&oe.push(s),c.indexOf("runGuarded")!==-1?i=!0:c.indexOf("runTask")!==-1?u=!0:c.indexOf("run")!==-1?a=!0:l=te.blackList,re[s.trim()]=l,a&&i&&u){g[ae]=!0;break}}}return!1}}),ke=function(e,t){void 0===t&&(t=!0);var n;try{throw t?new Error(e):Error(e)}catch(r){n=r}return n},ve=ne.stackTraceLimit;ne.stackTraceLimit=100;var ge=function(){de.run(function(){de.runGuarded(function(){throw ke("blacklistStackFrames")})})},ye=function(){de.run(function(){de.runGuarded(function(){throw ke("blacklistStackFrames",!1)})})};de.runTask(de.scheduleMacroTask("detect",ge,null,function(){return null},null)),de.runTask(de.scheduleMacroTask("detect",ye,null,function(){return null},null));var Te=Z.root.fork({name:"detectEmptyZone",onHandleError:function(e,t,n,r){return e.handleError(n,r),y(r),!1}}),me=Z.root.fork({name:"detectCallbackZone",onFork:function(e,t,n,r){return y(ke("onFork")),y(ke("onFork",!1)),e.fork(n,r)},onIntercept:function(e,t,n,r,o){return y(ke("onIntercept")),y(ke("onIntercept",!1)),e.intercept(n,r,o)},onInvoke:function(e,t,n,r,o,a,i){return y(ke("onInvoke")),y(ke("onInvoke",!1)),e.invoke(n,r,o,a,i)},onScheduleTask:function(e,t,n,r){return y(ke("onScheduleTask")),y(ke("onScheduleTask",!1)),e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return y(ke("onInvokeTask")),y(ke("onInvokeTask",!1)),e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return y(ke("onCancelTask")),y(ke("onCancelTask",!1)),e.cancelTask(n,r)},onHasTask:function(e,t,n,r){return y(ke("onHasTask")),y(ke("onHasTask",!1)),e.hasTask(n,r)},onHandleError:function(e,t,n,r){return e.handleError(n,r),y(r),!1}}),be=function(){throw ke("zoneAwareFrames")},we=function(){throw ke("zoneAwareFrames",!1)},_e=function(){new Promise(function(e,t){t(ke("zoneAwareFrames"))})},Se=function(){new Promise(function(e,t){t(ke("zoneAwareFrames",!1))})},Ee=function(){var e=new Promise(function(e,t){t(ke("zoneAwareFrames"))});e["catch"](function(e){throw e})},Oe=function(){var e=new Promise(function(e,t){t(ke("zoneAwareFrames",!1))});e["catch"](function(e){throw e})};return Te.runTask(Te.scheduleEventTask("detect",be,null,function(){return null},null)),me.runTask(me.scheduleEventTask("detect",be,null,function(){return null},null)),Te.runTask(Te.scheduleMacroTask("detect",be,null,function(){return null},null)),me.runTask(me.scheduleMacroTask("detect",be,null,function(){return null},null)),Te.runTask(Te.scheduleMicroTask("detect",be,null,function(){return null})),me.runTask(me.scheduleMicroTask("detect",be,null,function(){return null})),Te.runGuarded(function(){Te.run(be)}),me.runGuarded(function(){Te.run(be)}),Te.runTask(Te.scheduleEventTask("detect",we,null,function(){return null},null)),me.runTask(me.scheduleEventTask("detect",we,null,function(){return null},null)),Te.runTask(Te.scheduleMacroTask("detect",we,null,function(){return null},null)),me.runTask(me.scheduleMacroTask("detect",we,null,function(){return null},null)),Te.runTask(Te.scheduleMicroTask("detect",we,null,function(){return null})),me.runTask(me.scheduleMicroTask("detect",we,null,function(){return null})),Te.runGuarded(function(){Te.run(we)}),me.runGuarded(function(){Te.run(we)}),Te.runGuarded(_e),me.runGuarded(_e),Te.runGuarded(Se),me.runGuarded(Se),Te.runGuarded(Ee),me.runGuarded(Ee),Te.runGuarded(Oe),me.runGuarded(Oe),ne.stackTraceLimit=ve,e.Zone=Z}("object"==typeof window&&window||"object"==typeof self&&self||global),function(e){return"__zone_symbol__"+e}),P="object"==typeof window&&window||"object"==typeof self&&self||global,Z="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,j=!("nw"in P)&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),C=!j&&!Z&&!("undefined"==typeof window||!window.HTMLElement),D="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)&&!Z&&!("undefined"==typeof window||!window.HTMLElement),I=z("eventTasks"),L="addEventListener",M="removeEventListener",F=function(e,t){return{useCapturing:t[2],eventName:t[0],handler:t[1],target:e||P,name:t[0],invokeAddFunc:function(e,t){return t&&t.invoke?this.target[e](this.eventName,t.invoke,this.useCapturing):this.target[e](this.eventName,t,this.useCapturing)},invokeRemoveFunc:function(e,t){return t&&t.invoke?this.target[e](this.eventName,t.invoke,this.useCapturing):this.target[e](this.eventName,t,this.useCapturing)}}},H=(i(L,M),u(M),z("originalInstance"));Zone[z("patchEventTargetMethods")]=s,Zone[z("patchOnProperties")]=r;var R=Object[z("defineProperty")]=Object.defineProperty,x=Object[z("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,A=Object.create,q=z("unconfigurables"),G="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",N="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),B="EventTarget",W="copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror".split(" "),X=z("unbound"),U="set",K="clear",V=["alert","prompt","confirm"],J="object"==typeof window&&window||"object"==typeof self&&self||global;
p(J,U,K,"Timeout"),p(J,U,K,"Interval"),p(J,U,K,"Immediate"),p(J,"request","cancel","AnimationFrame"),p(J,"mozRequest","mozCancel","AnimationFrame"),p(J,"webkitRequest","webkitCancel","AnimationFrame");for(var Q=0;Q<V.length;Q++){var Y=V[Q];f(J,Y,function(e,t,n){return function(t,r){return Zone.current.run(e,J,r,n)}})}T(J);var $=J.XMLHttpRequestEventTarget;$&&$.prototype&&s($.prototype),b(J),c("MutationObserver"),c("WebKitMutationObserver"),c("FileReader"),d(),S(J),E(J);var ee=z("xhrTask"),te=z("xhrSync"),ne=z("xhrListener"),re=z("xhrScheduled");J.navigator&&J.navigator.geolocation&&t(J.navigator.geolocation,["getCurrentPosition","watchPosition"]),J.PromiseRejectionEvent&&(Zone[z("unhandledPromiseRejectionHandler")]=O("unhandledrejection"),Zone[z("rejectionHandledHandler")]=O("rejectionhandled"))});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(this,function(){"use strict";function e(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=Zone.current.wrap(e[n],t+"_"+n));return e}function t(t,n){for(var r=t.constructor.name,o=function(o){var a=n[o],i=t[a];i&&(t[a]=function(t){return function(){return t.apply(this,e(arguments,r+"."+a))}}(i))},a=0;a<n.length;a++)o(a)}function n(e,t){var n=Object.getOwnPropertyDescriptor(e,t)||{enumerable:!0,configurable:!0},r=Object.getOwnPropertyDescriptor(e,"original"+t);!r&&n.get&&Object.defineProperty(e,"original"+t,{enumerable:!1,configurable:!0,get:n.get}),delete n.writable,delete n.value;var o=t.substr(2),a=Z("_"+t);n.set=function(e){if(this[a]&&this.removeEventListener(o,this[a]),"function"==typeof e){var t=function(t){var n;n=e.apply(this,arguments),void 0==n||n||t.preventDefault()};this[a]=t,this.addEventListener(o,t,!1)}else this[a]=null},n.get=function(){var e=this[a]||null;return null===e&&r&&r.get&&(e=r.get.apply(this,arguments),e&&(n.set.apply(this,[e]),"function"==typeof this.removeAttribute&&this.removeAttribute(t))),this[a]||null},Object.defineProperty(e,t,n)}function r(e,t){var r=[];for(var o in e)"on"==o.substr(0,2)&&r.push(o);for(var a=0;a<r.length;a++)n(e,r[a]);if(t)for(var i=0;i<t.length;i++)n(e,"on"+t[i])}function o(e,t,n,r,o){var a=e[I];if(a)for(var i=0;i<a.length;i++){var u=a[i],s=u.data,c=s.handler;if((s.handler===t||c.listener===t)&&s.useCapturing===r&&s.eventName===n)return o&&a.splice(i,1),u}return null}function a(e,t,n){var r=e[I];r||(r=e[I]=[]),n?r.unshift(t):r.push(t)}function i(e,t,n,r,i,u){function s(e){var t=e.data;return a(t.target,e,i),t.invokeAddFunc(l,e)}function c(e){var t=e.data;return o(t.target,e.invoke,t.eventName,t.useCapturing,!0),t.invokeRemoveFunc(f,e)}void 0===n&&(n=!0),void 0===r&&(r=!1),void 0===i&&(i=!1),void 0===u&&(u=F);var l=Z(e),f=Z(t),h=!n&&void 0;return function(t,n){var a=u(t,n);a.useCapturing=a.useCapturing||h;var i=null;"function"==typeof a.handler?i=a.handler:a.handler&&a.handler.handleEvent&&(i=function(e){return a.handler.handleEvent(e)});var f=!1;try{f=a.handler&&"[object FunctionWrapper]"===a.handler.toString()}catch(p){return}if(!i||f)return a.invokeAddFunc(l,a.handler);if(!r){var d=o(a.target,a.handler,a.eventName,a.useCapturing,!1);if(d)return a.invokeAddFunc(l,d)}var k=Zone.current,v=a.target.constructor.name+"."+e+":"+a.eventName;k.scheduleEventTask(v,i,a,s,c)}}function u(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=F);var r=Z(e),a=!t&&void 0;return function(e,t){var i=n(e,t);i.useCapturing=i.useCapturing||a;var u=o(i.target,i.handler,i.eventName,i.useCapturing,!0);u?u.zone.cancelTask(u):i.invokeRemoveFunc(r,i.handler)}}function s(e,t,n,r){return void 0===t&&(t=L),void 0===n&&(n=M),void 0===r&&(r=F),!(!e||!e[t])&&(f(e,t,function(){return i(t,n,!0,!1,!1,r)}),f(e,n,function(){return u(n,!0,r)}),!0)}function c(t){var n=z[t];if(n){z[t]=function(){var r=e(arguments,t);switch(r.length){case 0:this[H]=new n;break;case 1:this[H]=new n(r[0]);break;case 2:this[H]=new n(r[0],r[1]);break;case 3:this[H]=new n(r[0],r[1],r[2]);break;case 4:this[H]=new n(r[0],r[1],r[2],r[3]);break;default:throw new Error("Arg list too long.")}};var r,o=new n(function(){});for(r in o)"XMLHttpRequest"===t&&"responseBlob"===r||!function(e){"function"==typeof o[e]?z[t].prototype[e]=function(){return this[H][e].apply(this[H],arguments)}:Object.defineProperty(z[t].prototype,e,{set:function(n){"function"==typeof n?this[H][e]=Zone.current.wrap(n,t+"."+e):this[H][e]=n},get:function(){return this[H][e]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(z[t][r]=n[r])}}function l(e,t){try{return Function("f","return function "+e+"(){return f(this, arguments)}")(t)}catch(n){return function(){return t(this,arguments)}}}function f(e,t,n){for(var r=e;r&&Object.getOwnPropertyNames(r).indexOf(t)===-1;)r=Object.getPrototypeOf(r);!r&&e[t]&&(r=e);var o,a=Z(t);return r&&!(o=r[a])&&(o=r[a]=r[t],r[t]=l(t,n(o,a,t))),o}function h(e,t){var n=e[Z("eventTasks")],r=[];if(n)for(var o=0;o<n.length;o++){var a=n[o],i=a.data,u=i&&i.eventName;u===t&&r.push(a)}return r}function p(e,t,n,r){function o(t){function n(){try{t.invoke.apply(this,arguments)}finally{delete s[r.handleId]}}var r=t.data;return r.args[0]=n,r.handleId=i.apply(e,r.args),s[r.handleId]=t,t}function a(e){return delete s[e.data.handleId],u(e.data.handleId)}var i=null,u=null;t+=r,n+=r;var s={};i=f(e,t,function(n){return function(i,u){if("function"==typeof u[0]){var s=Zone.current,c={handleId:null,isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?u[1]||0:null,args:u},l=s.scheduleMacroTask(t,u[0],c,o,a);if(!l)return l;var f=l.data.handleId;return f&&f.ref&&f.unref&&"function"==typeof f.ref&&"function"==typeof f.unref&&(l.ref=f.ref.bind(f),l.unref=f.unref.bind(f)),l}return n.apply(e,u)}}),u=f(e,n,function(t){return function(n,r){var o="number"==typeof r[0]?s[r[0]]:r[0];o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&o.zone.cancelTask(o):t.apply(e,r)}})}function d(){Object.defineProperty=function(e,t,n){if(v(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=g(e,t,n)),y(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=g(e,n,t[n])}),A(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=x(e,t);return v(e,t)&&(n.configurable=!1),n}}function k(e,t,n){var r=n.configurable;return n=g(e,t,n),y(e,t,n,r)}function v(e,t){return e&&e[q]&&e[q][t]}function g(e,t,n){return n.configurable=!0,n.configurable||(e[q]||R(e,q,{writable:!0,value:{}}),e[q][t]=!0),n}function y(e,t,n,r){try{return R(e,t,n)}catch(o){if(!n.configurable)throw o;"undefined"==typeof r?delete n.configurable:n.configurable=r;try{return R(e,t,n)}catch(o){var a=null;try{a=JSON.stringify(n)}catch(o){a=a.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+a+"' on object '"+e+"' and got error, giving up: "+o)}}}function T(e){var t=[],n=e.wtf;n?t=G.split(",").map(function(e){return"HTML"+e+"Element"}).concat(B):e[N]?t.push(N):t=B;for(var r=0;r<t.length;r++){var o=e[t[r]];s(o&&o.prototype)}}function m(e){var t=e.WebSocket;e.EventTarget||s(t.prototype),e.WebSocket=function(e,n){var o,a=arguments.length>1?new t(e,n):new t(e),i=Object.getOwnPropertyDescriptor(a,"onmessage");return i&&i.configurable===!1?(o=Object.create(a),["addEventListener","removeEventListener","send","close"].forEach(function(e){o[e]=function(){return a[e].apply(a,arguments)}})):o=a,r(o,["close","error","message","open"]),o};for(var n in t)e.WebSocket[n]=t[n]}function b(e){if(!D||j){var t="undefined"!=typeof WebSocket;w()?(P&&r(HTMLElement.prototype,W),r(XMLHttpRequest.prototype,null),"undefined"!=typeof IDBIndex&&(r(IDBIndex.prototype,null),r(IDBRequest.prototype,null),r(IDBOpenDBRequest.prototype,null),r(IDBDatabase.prototype,null),r(IDBTransaction.prototype,null),r(IDBCursor.prototype,null)),t&&r(WebSocket.prototype,null)):(_(),c("XMLHttpRequest"),t&&m(e))}}function w(){if((P||j)&&!Object.getOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=Object.getOwnPropertyDescriptor(Element.prototype,"onclick");if(e&&!e.configurable)return!1}var t=Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype,"onreadystatechange");Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}});var n=new XMLHttpRequest,r=!!n.onreadystatechange;return Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",t||{}),r}function _(){for(var e=function(e){var t=W[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][X]&&(t=Zone.current.wrap(o[n],r),t[X]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<W.length;t++)e(t)}function E(e){if((P||j)&&"registerElement"in e.document){var t=document.registerElement,n=["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"];document.registerElement=function(e,r){return r&&r.prototype&&n.forEach(function(e){var t="Document.registerElement::"+e;if(r.prototype.hasOwnProperty(e)){var n=Object.getOwnPropertyDescriptor(r.prototype,e);n&&n.value?(n.value=Zone.current.wrap(n.value,t),k(r.prototype,e,n)):r.prototype[e]=Zone.current.wrap(r.prototype[e],t)}else r.prototype[e]&&(r.prototype[e]=Zone.current.wrap(r.prototype[e],t))}),t.apply(document,[e,r])}}}function S(e){function t(e){var t=e[ee];return t}function n(e){XMLHttpRequest[re]=!1;var t=e.data,n=t.target[ne];n&&t.target.removeEventListener("readystatechange",n);var r=t.target[ne]=function(){t.target.readyState===t.target.DONE&&!t.aborted&&XMLHttpRequest[re]&&"scheduled"===e.state&&e.invoke()};t.target.addEventListener("readystatechange",r);var o=t.target[ee];return o||(t.target[ee]=e),i.apply(t.target,t.args),XMLHttpRequest[re]=!0,e}function r(){}function o(e){var t=e.data;return t.aborted=!0,u.apply(t.target,t.args)}var a=f(e.XMLHttpRequest.prototype,"open",function(){return function(e,t){return e[te]=0==t[2],a.apply(e,t)}}),i=f(e.XMLHttpRequest.prototype,"send",function(){return function(e,t){var a=Zone.current;if(e[te])return i.apply(e,t);var u={target:e,isPeriodic:!1,delay:null,args:t,aborted:!1};return a.scheduleMacroTask("XMLHttpRequest.send",r,u,n,o)}}),u=f(e.XMLHttpRequest.prototype,"abort",function(e){return function(e,n){var r=t(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}}})}function O(e){return function(t){var n=h(J,e);n.forEach(function(n){var r=J.PromiseRejectionEvent;if(r){var o=new r(e,{promise:t.promise,reason:t.rejection});n.invoke(o)}})}}var Z=(function(e){function t(e){return"__zone_symbol__"+e}function n(){0===G&&0===x.length&&(e[M]?e[M].resolve(0)[F](i):e[L](i,0))}function r(e){n(),x.push(e)}function o(e){if(!C[t("ignoreConsoleErrorUncaughtError")]){var n=e&&e.rejection;n&&console.error("Unhandled Promise rejection:",n instanceof Error?n.message:n,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",n,n instanceof Error?n.stack:void 0),console.error(e)}}function a(e){o(e);try{var n=C[t("unhandledPromiseRejectionHandler")];n&&"function"==typeof n&&n.apply(this,[e])}catch(r){}}function i(){if(!A){for(A=!0;x.length;){var e=x;x=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(r){o(r)}}}for(;q.length;)for(var i=function(){var e=q.shift();try{e.zone.runGuarded(function(){throw e})}catch(t){a(t)}};q.length;)i();A=!1}}function u(e){return e&&e.then}function s(e){return e}function c(e){return Q.reject(e)}function l(e,t){return function(n){try{f(e,t,n)}catch(r){f(e,!1,r)}}}function f(e,r,o){var a=J();if(e===o)throw new TypeError("Promise resolved with itself");if(e[B]===X){var i=null;try{"object"!=typeof o&&"function"!=typeof o||(i=o&&o.then)}catch(u){return a(function(){f(e,!1,u)})(),e}if(r!==K&&o instanceof Q&&o.hasOwnProperty(B)&&o.hasOwnProperty(N)&&o[B]!==X)h(o),f(e,o[B],o[N]);else if(r!==K&&"function"==typeof i)try{i.apply(o,[a(l(e,r)),a(l(e,!1))])}catch(u){a(function(){f(e,!1,u)})()}else{e[B]=r;var s=e[N];e[N]=o,r===K&&o instanceof Error&&(o[t("currentTask")]=C.currentTask);for(var c=0;c<s.length;)p(e,s[c++],s[c++],s[c++],s[c++]);if(0==s.length&&r==K){e[B]=V;try{throw new Error("Uncaught (in promise): "+o+(o&&o.stack?"\n"+o.stack:""))}catch(u){var d=u;d.rejection=o,d.promise=e,d.zone=C.current,d.task=C.currentTask,q.push(d),n()}}}}return e}function h(e){if(e[B]===V){try{var n=C[t("rejectionHandledHandler")];n&&"function"==typeof n&&n.apply(this,[{rejection:e[N],promise:e}])}catch(r){}e[B]=K;for(var o=0;o<q.length;o++)e===q[o].promise&&q.splice(o,1)}}function p(e,t,n,r,o){h(e);var a=e[B]?"function"==typeof r?r:s:"function"==typeof o?o:c;t.scheduleMicroTask(W,function(){try{f(n,!0,t.run(a,void 0,[e[N]]))}catch(r){f(n,!1,r)}})}function d(e){var t=e.prototype,n=t.then;t[F]=n,e.prototype.then=function(e,t){var r=this,o=new Q(function(e,t){n.call(r,e,t)});return o.then(e,t)},e[$]=!0}function k(e){return function(){var t=e.apply(this,arguments);if(t instanceof Q)return t;var n=t.constructor;return n[$]||d(n),t}}function v(e){if(e.originalStack=e.stack,g[ae]&&e.originalStack){for(var t=e.originalStack.split("\n"),n=H,r=0;r<t.length&&0===oe.filter(function(e){return e.trim()===t[r].trim()}).length;)r++;for(var o=function(){var e=t[r].trim();if(e){var o=re.hasOwnProperty(e)&&re[e];o===te.blackList?(t.splice(r,1),r--):ie.filter(function(t){return e.toLowerCase().indexOf(t.toLowerCase())!==-1}).length>0?(t.splice(r,1),r--):o===te.transition?(n=n.parent?n.parent:null,t.splice(r,1),r--):t[r]+=" ["+n.zone.name+"]"}};r<t.length&&n;r++)o();var a=t.join("\n");try{e.stack=e.zoneAwareStack=a}catch(i){}}}function g(){var e=ne.apply(this,arguments);if(!e.stack)try{throw e}catch(t){e=t}return v(e),e}function y(e){for(var t=e.stack?e.stack.split(/\n/):[];t.length;){var n=t.shift(),r=n.trim().split("[")[0].trim();/:\d+:\d+/.test(r)&&!re.hasOwnProperty(r)&&(re[r]=te.blackList);var o=n.split("(")[0].split("@")[0];if(o.indexOf("runGuarded")!==-1)break;if(o.indexOf("runTask")!==-1)break}}if(e.Zone)throw new Error("Zone already loaded.");var T={name:"NO ZONE"},m="notScheduled",b="scheduling",w="scheduled",_="running",E="canceling",S="unknown",O="microTask",Z="macroTask",z="eventTask",C=function(){function t(e,t){this._properties=null,this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new P(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==Q)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return H.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return R},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){void 0===t&&(t=void 0),void 0===n&&(n=null),void 0===r&&(r=null),H=new I(H,this);try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{H=H.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null),H=new I(H,this);try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{H=H.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||T).name+"; Execution: "+this.name+")");var r=e.state!=_;r&&e._transitionTo(_,w),e.runCount++;var o=R;R=e,H=new I(H,this);try{e.type==Z&&e.data&&!e.data.isPeriodic&&(e.cancelFn=null);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{e.state!==m&&e.state!==S&&(e.type==z||e.data&&e.data.isPeriodic?r&&e._transitionTo(w,_):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(m,_,m))),H=H.parent,R=o}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(b,m);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(r){throw e._transitionTo(S,b,m),this._zoneDelegate.handleError(this,r),r}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==b&&e._transitionTo(w,b),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new j(O,e,t,n,r,null))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new j(Z,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new j(z,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||T).name+"; Execution: "+this.name+")");e._transitionTo(E,w,_);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(S,E),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(m,E),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;t==-1&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();C.__symbol__=t;var D={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},P=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask,o=t&&t._hasTaskZS;(r||o)&&(this._hasTaskZS=r?n:D,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=D,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=D,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=D,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new C(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=O)throw new Error("Task is missing scheduleFn.");r(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{return this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");if(0==r||0==o){var a={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};this.hasTask(this.zone,a)}},e}(),j=function(){function e(e,t,n,r,o,a){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=e,this.source=t,this.data=r,this.scheduleFn=o,this.cancelFn=a,this.callback=n;var u=this;this.invoke=function(){G++;try{return u.runCount++,u.zone.runTask(u,this,arguments)}finally{1==G&&i(),G--}}}return Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(m,b)},e.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==m&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&"undefined"!=typeof this.data.handleId?this.data.handleId:Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,data:this.data,zone:this.zone.name,invoke:this.invoke,scheduleFn:this.scheduleFn,cancelFn:this.cancelFn,runCount:this.runCount,callback:this.callback}},e}(),I=function(){function e(e,t){this.parent=e,this.zone=t}return e}(),L=t("setTimeout"),M=t("Promise"),F=t("then"),H=new I(null,new C(null,null)),R=null,x=[],A=!1,q=[],G=0,B=t("state"),N=t("value"),W="Promise.then",X=null,U=!0,K=!1,V=0,J=function(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},Q=function(){function e(t){var n=this;if(!(n instanceof e))throw new Error("Must be an instanceof Promise.");n[B]=X,n[N]=[];try{t&&t(l(n,U),l(n,K))}catch(r){f(n,!1,r)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return f(new this(null),U,e)},e.reject=function(e){return f(new this(null),K,e)},e.race=function(e){function t(e){a&&(a=r(e))}function n(e){a&&(a=o(e))}for(var r,o,a=new this(function(e,t){n=[e,t],r=n[0],o=n[1];var n}),i=0,s=e;i<s.length;i++){var c=s[i];u(c)||(c=this.resolve(c)),c.then(t,n)}return a},e.all=function(e){for(var t,n,r=new this(function(e,r){t=e,n=r}),o=0,a=[],i=0,s=e;i<s.length;i++){var c=s[i];u(c)||(c=this.resolve(c)),c.then(function(e){return function(n){a[e]=n,o--,o||t(a)}}(o),n),o++}return o||t(a),r},e.prototype.then=function(e,t){var n=new this.constructor(null),r=C.current;return this[B]==X?this[N].push(r,n,e,t):p(this,r,n,e,t),n},e.prototype["catch"]=function(e){return this.then(null,e)},e}();Q.resolve=Q.resolve,Q.reject=Q.reject,Q.race=Q.race,Q.all=Q.all;var Y=e[M]=e.Promise;e.Promise=Q;var $=t("thenPatched");if(Y){d(Y);var ee=e.fetch;"function"==typeof ee&&(e.fetch=k(ee))}Promise[C.__symbol__("uncaughtPromiseErrors")]=q;var te;!function(e){e[e.blackList=0]="blackList",e[e.transition=1]="transition"}(te||(te={}));var ne=e[t("Error")]=e.Error,re={},oe=[];e.Error=g;var ae="stackRewrite",ie=["ZoneTask.invoke","ZoneAware","getStacktraceWithUncaughtError","new LongStackTrace","long-stack-trace"];g.prototype=ne.prototype,g[C.__symbol__("blacklistedStackFrames")]=re,g[ae]=!1;var ue=["stackTraceLimit","captureStackTrace","prepareStackTrace"],se=Object.keys(ne);se&&se.forEach(function(e){0===ue.filter(function(t){return t===e}).length&&Object.defineProperty(g,e,{get:function(){return ne[e]},set:function(t){ne[e]=t}})}),ne.hasOwnProperty("stackTraceLimit")&&(ne.stackTraceLimit=Math.max(ne.stackTraceLimit,15),Object.defineProperty(g,"stackTraceLimit",{get:function(){return ne.stackTraceLimit},set:function(e){return ne.stackTraceLimit=e}})),ne.hasOwnProperty("captureStackTrace")&&Object.defineProperty(g,"captureStackTrace",{value:function(e,t){ne.captureStackTrace(e,t)}}),Object.defineProperty(g,"prepareStackTrace",{get:function(){return ne.prepareStackTrace},set:function(e){return e&&"function"==typeof e?ne.prepareStackTrace=function(t,n){if(n)for(var r=0;r<n.length;r++){var o=n[r];if("zoneCaptureStackTrace"===o.getFunctionName()){n.splice(r,1);break}}return e.apply(this,[t,n])}:ne.prepareStackTrace=e}});var ce=C.current.fork({name:"detect",onInvoke:function(e,t,n,r,o,a,i){return e.invoke(n,r,o,a,i)},onHandleError:function(e,t,n,r){if(r.originalStack&&Error===g)for(var o=r.originalStack.split(/\n/),a=!1,i=!1,u=!1;o.length;){var s=o.shift();if(/:\d+:\d+/.test(s)){var c=s.split("(")[0].split("@")[0],l=te.transition;if(c.indexOf("ZoneAwareError")!==-1&&oe.push(s),c.indexOf("runGuarded")!==-1?i=!0:c.indexOf("runTask")!==-1?u=!0:c.indexOf("run")!==-1?a=!0:l=te.blackList,re[s.trim()]=l,a&&i&&u){g[ae]=!0;break}}}return!1}}),le=function(e,t){try{throw t?new Error(e):Error(e)}catch(n){return n}},fe=ne.stackTraceLimit;ne.stackTraceLimit=100;var he=function(){ce.run(function(){ce.runGuarded(function(){throw le("blacklistStackFrames",!0)})})},pe=function(){ce.run(function(){ce.runGuarded(function(){throw le("blacklistStackFrames")})})};ce.runTask(ce.scheduleMacroTask("detect",he,null,function(){return null},null)),ce.runTask(ce.scheduleMacroTask("detect",pe,null,function(){return null},null));var de=C.root.fork({name:"detectEmptyZone",onHandleError:function(e,t,n,r){return e.handleError(n,r),y(r),!1}}),ke=C.root.fork({name:"detectCallbackZone",onFork:function(e,t,n,r){return y(le("onFork")),y(le("onFork",!1)),e.fork(n,r)},onIntercept:function(e,t,n,r,o){return y(le("onIntercept")),y(le("onIntercept",!1)),e.intercept(n,r,o)},onInvoke:function(e,t,n,r,o,a,i){return y(le("onInvoke")),y(le("onInvoke",!1)),e.invoke(n,r,o,a,i)},onScheduleTask:function(e,t,n,r){return y(le("onScheduleTask")),y(le("onScheduleTask",!1)),e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return y(le("onInvokeTask")),y(le("onInvokeTask",!1)),e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return y(le("onCancelTask")),y(le("onCancelTask",!1)),e.cancelTask(n,r)},onHasTask:function(e,t,n,r){return y(le("onHasTask")),y(le("onHasTask",!1)),e.hasTask(n,r)},onHandleError:function(e,t,n,r){return e.handleError(n,r),y(r),!1}}),ve=function(){throw le("zoneAwareFrames")},ge=function(){throw le("zoneAwareFrames",!1)},ye=function(){new Promise(function(e,t){t(le("zoneAwareFrames"))})},Te=function(){new Promise(function(e,t){t(le("zoneAwareFrames",!1))})},me=function(){var e=new Promise(function(e,t){t(le("zoneAwareFrames"))});e["catch"](function(e){throw e})},be=function(){var e=new Promise(function(e,t){t(le("zoneAwareFrames",!1))});e["catch"](function(e){throw e})};return de.runTask(de.scheduleEventTask("detect",ve,null,function(){return null},null)),ke.runTask(ke.scheduleEventTask("detect",ve,null,function(){return null},null)),de.runTask(de.scheduleMacroTask("detect",ve,null,function(){return null},null)),ke.runTask(ke.scheduleMacroTask("detect",ve,null,function(){return null},null)),de.runTask(de.scheduleMicroTask("detect",ve,null,function(){return null})),ke.runTask(ke.scheduleMicroTask("detect",ve,null,function(){return null})),de.runGuarded(function(){de.run(ve)}),ke.runGuarded(function(){de.run(ve)}),de.runTask(de.scheduleEventTask("detect",ge,null,function(){return null},null)),ke.runTask(ke.scheduleEventTask("detect",ge,null,function(){return null},null)),de.runTask(de.scheduleMacroTask("detect",ge,null,function(){return null},null)),ke.runTask(ke.scheduleMacroTask("detect",ge,null,function(){return null},null)),de.runTask(de.scheduleMicroTask("detect",ge,null,function(){return null})),ke.runTask(ke.scheduleMicroTask("detect",ge,null,function(){return null})),de.runGuarded(function(){de.run(ge)}),ke.runGuarded(function(){de.run(ge)}),de.runGuarded(ye),ke.runGuarded(ye),de.runGuarded(Te),ke.runGuarded(Te),de.runGuarded(me),ke.runGuarded(me),de.runGuarded(be),ke.runGuarded(be),ne.stackTraceLimit=fe,e.Zone=C}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),function(e){return"__zone_symbol__"+e}),z="object"==typeof window&&window||"object"==typeof self&&self||global,C="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,D=!("nw"in z)&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),P=!D&&!C&&!("undefined"==typeof window||!window.HTMLElement),j="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)&&!C&&!("undefined"==typeof window||!window.HTMLElement),I=Z("eventTasks"),L="addEventListener",M="removeEventListener",F=function(e,t){return{useCapturing:t[2],eventName:t[0],handler:t[1],target:e||z,name:t[0],invokeAddFunc:function(e,t){return t&&t.invoke?this.target[e](this.eventName,t.invoke,this.useCapturing):this.target[e](this.eventName,t,this.useCapturing)},invokeRemoveFunc:function(e,t){return t&&t.invoke?this.target[e](this.eventName,t.invoke,this.useCapturing):this.target[e](this.eventName,t,this.useCapturing)}}},H=(i(L,M),u(M),Z("originalInstance"));Zone[Z("patchEventTargetMethods")]=s,Zone[Z("patchOnProperties")]=r;var R=Object[Z("defineProperty")]=Object.defineProperty,x=Object[Z("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,A=Object.create,q=Z("unconfigurables"),G="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",B="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),N="EventTarget",W="copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror".split(" "),X=Z("unbound"),U="set",K="clear",V=["alert","prompt","confirm"],J="undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global;
p(J,U,K,"Timeout"),p(J,U,K,"Interval"),p(J,U,K,"Immediate"),p(J,"request","cancel","AnimationFrame"),p(J,"mozRequest","mozCancel","AnimationFrame"),p(J,"webkitRequest","webkitCancel","AnimationFrame");for(var Q=0;Q<V.length;Q++){var Y=V[Q];f(J,Y,function(e,t,n){return function(t,r){return Zone.current.run(e,J,r,n)}})}T(J);var $=J.XMLHttpRequestEventTarget;$&&$.prototype&&s($.prototype),b(J),c("MutationObserver"),c("WebKitMutationObserver"),c("FileReader"),d(),E(J),S(J);var ee=Z("xhrTask"),te=Z("xhrSync"),ne=Z("xhrListener"),re=Z("xhrScheduled");J.navigator&&J.navigator.geolocation&&t(J.navigator.geolocation,["getCurrentPosition","watchPosition"]),J.PromiseRejectionEvent&&(Zone[Z("unhandledPromiseRejectionHandler")]=O("unhandledrejection"),Zone[Z("rejectionHandledHandler")]=O("rejectionhandled"))});

@@ -21,3 +21,3 @@ /**

const _global: any =
typeof window === 'object' && window || typeof self === 'object' && self || global;
typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global;

@@ -24,0 +24,0 @@ patchTimer(_global, set, clear, 'Timeout');

@@ -26,3 +26,3 @@ /**

const data = <TimerOptions>task.data;
data.args[0] = function() {
function timer() {
try {

@@ -34,2 +34,3 @@ task.invoke.apply(this, arguments);

};
data.args[0] = timer;
data.handleId = setNative.apply(window, data.args);

@@ -36,0 +37,0 @@ tasksByHandleId[data.handleId] = task;

@@ -16,6 +16,6 @@ /**

declare const WorkerGlobalScope: any;
declare const window: any;
export const zoneSymbol: (name: string) => string = (n) => `__zone_symbol__${n}`;
const _global = typeof window === 'object' && window || typeof self === 'object' && self || global;
const _global: any =
typeof window === 'object' && window || typeof self === 'object' && self || global;

@@ -54,3 +54,3 @@ export function bindArguments(args: any[], source: string): any[] {

export const isBrowser: boolean =
!isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);
!isNode && !isWebWorker && !!(typeof window !== 'undefined' && (window as any)['HTMLElement']);

@@ -60,3 +60,3 @@ // we are in electron of nw, so we are both browser and nodejs

{}.toString.call(process) === '[object process]' && !isWebWorker &&
!!(typeof window !== 'undefined' && window['HTMLElement']);
!!(typeof window !== 'undefined' && (window as any)['HTMLElement']);

@@ -63,0 +63,0 @@ export function patchProperty(obj: any, prop: string) {

@@ -14,5 +14,7 @@ /**

const NEWLINE = '\n';
const SEP = ' ------------- ';
const IGNORE_FRAMES: string[] = [];
const IGNORE_FRAMES: {[k: string]: true} = {};
const creationTrace = '__creationTrace__';
const ERROR_TAG = 'STACKTRACE TRACKING';
const SEP_TAG = '__SEP_TAG__';
let sepTemplate = '';

@@ -25,3 +27,3 @@ class LongStackTrace {

function getStacktraceWithUncaughtError(): Error {
return new Error('STACKTRACE TRACKING');
return new Error(ERROR_TAG);
}

@@ -54,3 +56,3 @@

// Filter out the Frames which are part of stack capturing.
if (!(i < IGNORE_FRAMES.length && IGNORE_FRAMES[i] === frame)) {
if (!IGNORE_FRAMES.hasOwnProperty(frame)) {
lines.push(trace[i]);

@@ -62,3 +64,3 @@ }

function renderLongStackTrace(frames: LongStackTrace[], stack: string): string {
const longTrace: string[] = [stack];
const longTrace: string[] = [stack.trim()];

@@ -70,4 +72,6 @@ if (frames) {

const lastTime = traceFrames.timestamp;
longTrace.push(
`${SEP} Elapsed: ${timestamp - lastTime.getTime()} ms; At: ${lastTime} ${SEP}`);
let separator =
`____________________Elapsed ${timestamp - lastTime.getTime()} ms; At: ${lastTime}`;
separator = separator.replace(/[^\w\d]/g, '_');
longTrace.push(sepTemplate.replace(SEP_TAG, separator));
addErrorStack(longTrace, traceFrames.error);

@@ -113,38 +117,11 @@

onHandleError: function(
parentZoneDelegate: ZoneDelegate, currentZone: Zone, targetZone: Zone, error: any): any {
parentZoneDelegate: ZoneDelegate, currentZone: Zone, targetZone: Zone, error: any): boolean {
const parentTask = Zone.currentTask || error.task;
if (error instanceof Error && parentTask) {
let stackSetSucceeded: string|boolean = null;
const longStack =
renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], error.stack);
try {
let descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
if (descriptor && descriptor.configurable) {
const delegateGet = descriptor.get;
const value = descriptor.value;
descriptor = {
get: function() {
return renderLongStackTrace(
parentTask.data && parentTask.data[creationTrace],
delegateGet ? delegateGet.apply(this) : value);
}
};
Object.defineProperty(error, 'stack', descriptor);
stackSetSucceeded = true;
}
error.stack = (error as any).longStack = longStack;
} catch (err) {
}
const longStack: string = stackSetSucceeded ?
null :
renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], error.stack);
if (!stackSetSucceeded) {
try {
stackSetSucceeded = error.stack = longStack;
} catch (err) {
}
}
if (!stackSetSucceeded) {
try {
stackSetSucceeded = (error as any).longStack = longStack;
} catch (err) {
}
}
}

@@ -170,9 +147,17 @@ return parentZoneDelegate.handleError(targetZone, error);

const frame2 = frames2[i];
if (!sepTemplate && frame1.indexOf(ERROR_TAG) == -1) {
sepTemplate = frame1.replace(/^(\s*(at)?\s*)([\w\/\<]+)/, '$1' + SEP_TAG);
}
if (frame1 === frame2) {
IGNORE_FRAMES.push(frame1);
IGNORE_FRAMES[frame1] = true;
} else {
break;
}
console.log('>>>>>>', sepTemplate, frame1);
}
if (!sepTemplate) {
// If we could not find it default to this text.
sepTemplate = SEP_TAG + '@[native code]';
}
}
computeIgnoreFrames();
{
"name": "zone.js",
"version": "0.8.3",
"version": "0.8.4",
"description": "Zones for JavaScript",

@@ -5,0 +5,0 @@ "main": "dist/zone-node.js",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc