angularjs-rails 1.5.0 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,1357 +70,706 @@ THE SOFTWARE.
70
70
  /* 0 */
71
71
  /***/ function(module, exports, __webpack_require__) {
72
72
 
73
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
74
- var microtask = __webpack_require__(1);
75
- var es6Promise = __webpack_require__(2);
76
- var core = __webpack_require__(6);
77
- var browserPatch = __webpack_require__(10);
78
- if (core.Zone.prototype['scheduleMicrotask']) {
79
- console.warn('Zone-microtasks already exported on window the object!');
80
- }
81
- else {
82
- microtask.addMicrotaskSupport(core.Zone);
83
- global.Zone = core.Zone;
84
- global.zone = new global.Zone();
85
- // Monkey patch the Promise implementation to add support for microtasks
86
- global.Promise = es6Promise.Promise;
87
- browserPatch.apply();
88
- }
89
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1taWNyb3Rhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvYnJvd3Nlci96b25lLW1pY3JvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFFYixJQUFZLFNBQVMsV0FBTSxjQUFjLENBQUMsQ0FBQTtBQUMxQyxJQUFZLFVBQVUsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUMxQyxJQUFZLElBQUksV0FBTSxTQUFTLENBQUMsQ0FBQTtBQUNoQyxJQUFZLFlBQVksV0FBTSxrQkFBa0IsQ0FBQyxDQUFBO0FBRWpELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0RBQXdELENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBQUMsSUFBSSxDQUFDLENBQUM7SUFDTixTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN4QixNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWhDLHdFQUF3RTtJQUN4RSxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFFcEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCAqIGFzIG1pY3JvdGFzayBmcm9tICcuLi9taWNyb3Rhc2snO1xuaW1wb3J0ICogYXMgZXM2UHJvbWlzZSBmcm9tICdlczYtcHJvbWlzZSc7XG5pbXBvcnQgKiBhcyBjb3JlIGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0ICogYXMgYnJvd3NlclBhdGNoIGZyb20gJy4uL3BhdGNoL2Jyb3dzZXInO1xuXG5pZiAoY29yZS5ab25lLnByb3RvdHlwZVsnc2NoZWR1bGVNaWNyb3Rhc2snXSkge1xuICBjb25zb2xlLndhcm4oJ1pvbmUtbWljcm90YXNrcyBhbHJlYWR5IGV4cG9ydGVkIG9uIHdpbmRvdyB0aGUgb2JqZWN0IScpO1xufSBlbHNlIHtcbiAgbWljcm90YXNrLmFkZE1pY3JvdGFza1N1cHBvcnQoY29yZS5ab25lKTtcblxuICBnbG9iYWwuWm9uZSA9IGNvcmUuWm9uZTtcbiAgZ2xvYmFsLnpvbmUgPSBuZXcgZ2xvYmFsLlpvbmUoKTtcblxuICAvLyBNb25rZXkgcGF0Y2ggdGhlIFByb21pc2UgaW1wbGVtZW50YXRpb24gdG8gYWRkIHN1cHBvcnQgZm9yIG1pY3JvdGFza3NcbiAgZ2xvYmFsLlByb21pc2UgPSBlczZQcm9taXNlLlByb21pc2U7XG5cbiAgYnJvd3NlclBhdGNoLmFwcGx5KCk7XG59XG4iXX0=
90
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
91
-
92
- /***/ },
93
- /* 1 */
94
- /***/ function(module, exports, __webpack_require__) {
95
-
96
- /* WEBPACK VAR INJECTION */(function(global) {// TODO(vicb): Create a benchmark for the different methods & the usage of the queue
97
- // see https://github.com/angular/zone.js/issues/97
98
- // It is required to initialize hasNativePromise before requiring es6-promise otherwise es6-promise would
99
- // overwrite the native Promise implementation on v8 and the check would always return false.
100
- // see https://github.com/jakearchibald/es6-promise/issues/140
101
- var hasNativePromise = typeof Promise !== "undefined" &&
102
- Promise.toString().indexOf("[native code]") !== -1;
103
- var isFirefox = global.navigator &&
104
- global.navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
105
- var resolvedPromise;
106
- // TODO(vicb): remove '!isFirefox' when the bug gets fixed:
107
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1162013
108
- if (hasNativePromise && !isFirefox) {
109
- // When available use a native Promise to schedule microtasks.
110
- // When not available, es6-promise fallback will be used
111
- resolvedPromise = Promise.resolve();
112
- }
113
- var es6Promise = __webpack_require__(2).Promise;
114
- if (resolvedPromise) {
115
- es6Promise._setScheduler(function (fn) {
116
- resolvedPromise.then(fn);
73
+ /* WEBPACK VAR INJECTION */(function(global) {"use strict";
74
+ __webpack_require__(1);
75
+ var event_target_1 = __webpack_require__(2);
76
+ var define_property_1 = __webpack_require__(4);
77
+ var register_element_1 = __webpack_require__(5);
78
+ var property_descriptor_1 = __webpack_require__(6);
79
+ var timers_1 = __webpack_require__(8);
80
+ var utils_1 = __webpack_require__(3);
81
+ var set = 'set';
82
+ var clear = 'clear';
83
+ var blockingMethods = ['alert', 'prompt', 'confirm'];
84
+ var _global = typeof window == 'undefined' ? global : window;
85
+ timers_1.patchTimer(_global, set, clear, 'Timeout');
86
+ timers_1.patchTimer(_global, set, clear, 'Interval');
87
+ timers_1.patchTimer(_global, set, clear, 'Immediate');
88
+ timers_1.patchTimer(_global, 'request', 'cancelMacroTask', 'AnimationFrame');
89
+ timers_1.patchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame');
90
+ timers_1.patchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');
91
+ for (var i = 0; i < blockingMethods.length; i++) {
92
+ var name = blockingMethods[i];
93
+ utils_1.patchMethod(_global, name, function (delegate, symbol, name) {
94
+ return function (s, args) {
95
+ return Zone.current.run(delegate, _global, args, name);
96
+ };
117
97
  });
118
98
  }
119
- // es6-promise asap should schedule microtasks via zone.scheduleMicrotask so that any
120
- // user defined hooks are triggered
121
- es6Promise._setAsap(function (fn, arg) {
122
- global.zone.scheduleMicrotask(function () {
123
- fn(arg);
124
- });
125
- });
126
- // The default implementation of scheduleMicrotask use the original es6-promise implementation
127
- // to schedule a microtask
128
- function scheduleMicrotask(fn) {
129
- es6Promise._asap(this.bind(fn));
99
+ event_target_1.eventTargetPatch(_global);
100
+ property_descriptor_1.propertyDescriptorPatch(_global);
101
+ utils_1.patchClass('MutationObserver');
102
+ utils_1.patchClass('WebKitMutationObserver');
103
+ utils_1.patchClass('FileReader');
104
+ define_property_1.propertyPatch();
105
+ register_element_1.registerElementPatch(_global);
106
+ // Treat XMLHTTPRequest as a macrotask.
107
+ patchXHR(_global);
108
+ var XHR_TASK = utils_1.zoneSymbol('xhrTask');
109
+ function patchXHR(window) {
110
+ function findPendingTask(target) {
111
+ var pendingTask = target[XHR_TASK];
112
+ return pendingTask;
113
+ }
114
+ function scheduleTask(task) {
115
+ var data = task.data;
116
+ data.target.addEventListener('readystatechange', function () {
117
+ if (data.target.readyState === XMLHttpRequest.DONE) {
118
+ if (!data.aborted) {
119
+ task.invoke();
120
+ }
121
+ }
122
+ });
123
+ var storedTask = data.target[XHR_TASK];
124
+ if (!storedTask) {
125
+ data.target[XHR_TASK] = task;
126
+ }
127
+ setNative.apply(data.target, data.args);
128
+ return task;
129
+ }
130
+ function placeholderCallback() {
131
+ }
132
+ function clearTask(task) {
133
+ var data = task.data;
134
+ // Note - ideally, we would call data.target.removeEventListener here, but it's too late
135
+ // to prevent it from firing. So instead, we store info for the event listener.
136
+ data.aborted = true;
137
+ return clearNative.apply(data.target, data.args);
138
+ }
139
+ var setNative = utils_1.patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) {
140
+ var zone = Zone.current;
141
+ var options = {
142
+ target: self,
143
+ isPeriodic: false,
144
+ delay: null,
145
+ args: args,
146
+ aborted: false
147
+ };
148
+ return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask);
149
+ }; });
150
+ var clearNative = utils_1.patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) {
151
+ var task = findPendingTask(self);
152
+ if (task && typeof task.type == 'string') {
153
+ // If the XHR has already completed, do nothing.
154
+ if (task.cancelFn == null) {
155
+ return;
156
+ }
157
+ task.zone.cancelTask(task);
158
+ }
159
+ // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task to cancel. Do nothing.
160
+ }; });
130
161
  }
131
- function addMicrotaskSupport(zoneClass) {
132
- zoneClass.prototype.scheduleMicrotask = scheduleMicrotask;
133
- return zoneClass;
162
+ /// GEO_LOCATION
163
+ if (_global['navigator'] && _global['navigator'].geolocation) {
164
+ utils_1.patchPrototype(_global['navigator'].geolocation, [
165
+ 'getCurrentPosition',
166
+ 'watchPosition'
167
+ ]);
134
168
  }
135
- exports.addMicrotaskSupport = addMicrotaskSupport;
136
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm90YXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL21pY3JvdGFzay50cyJdLCJuYW1lcyI6WyJzY2hlZHVsZU1pY3JvdGFzayIsImFkZE1pY3JvdGFza1N1cHBvcnQiXSwibWFwcGluZ3MiOiJBQUFBLG9GQUFvRjtBQUNwRixtREFBbUQ7QUFFbkQseUdBQXlHO0FBQ3pHLDZGQUE2RjtBQUM3Riw4REFBOEQ7QUFDOUQsSUFBSSxnQkFBZ0IsR0FBRyxPQUFPLE9BQU8sS0FBSyxXQUFXO0lBQ2pELE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFdkQsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVM7SUFDNUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXJFLElBQUksZUFBZSxDQUFDO0FBRXBCLDJEQUEyRDtBQUMzRCx1REFBdUQ7QUFDdkQsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ25DLDhEQUE4RDtJQUM5RCx3REFBd0Q7SUFDeEQsZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUVoRCxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBUyxFQUFFO1FBQ2xDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQscUZBQXFGO0FBQ3JGLG1DQUFtQztBQUNuQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVMsRUFBRSxFQUFFLEdBQUc7SUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUM1QixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsOEZBQThGO0FBQzlGLDBCQUEwQjtBQUMxQiwyQkFBMkIsRUFBRTtJQUMzQkEsVUFBVUEsQ0FBQ0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7QUFDbENBLENBQUNBO0FBRUQsNkJBQW9DLFNBQVM7SUFDM0NDLFNBQVNBLENBQUNBLFNBQVNBLENBQUNBLGlCQUFpQkEsR0FBR0EsaUJBQWlCQSxDQUFDQTtJQUMxREEsTUFBTUEsQ0FBQ0EsU0FBU0EsQ0FBQ0E7QUFDbkJBLENBQUNBO0FBSGUsMkJBQW1CLHNCQUdsQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETyh2aWNiKTogQ3JlYXRlIGEgYmVuY2htYXJrIGZvciB0aGUgZGlmZmVyZW50IG1ldGhvZHMgJiB0aGUgdXNhZ2Ugb2YgdGhlIHF1ZXVlXG4vLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvem9uZS5qcy9pc3N1ZXMvOTdcblxuLy8gSXQgaXMgcmVxdWlyZWQgdG8gaW5pdGlhbGl6ZSBoYXNOYXRpdmVQcm9taXNlIGJlZm9yZSByZXF1aXJpbmcgZXM2LXByb21pc2Ugb3RoZXJ3aXNlIGVzNi1wcm9taXNlIHdvdWxkXG4vLyBvdmVyd3JpdGUgdGhlIG5hdGl2ZSBQcm9taXNlIGltcGxlbWVudGF0aW9uIG9uIHY4IGFuZCB0aGUgY2hlY2sgd291bGQgYWx3YXlzIHJldHVybiBmYWxzZS5cbi8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vamFrZWFyY2hpYmFsZC9lczYtcHJvbWlzZS9pc3N1ZXMvMTQwXG52YXIgaGFzTmF0aXZlUHJvbWlzZSA9IHR5cGVvZiBQcm9taXNlICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgUHJvbWlzZS50b1N0cmluZygpLmluZGV4T2YoXCJbbmF0aXZlIGNvZGVdXCIpICE9PSAtMTtcblxudmFyIGlzRmlyZWZveCA9IGdsb2JhbC5uYXZpZ2F0b3IgJiZcbiAgICBnbG9iYWwubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2ZpcmVmb3gnKSA+IC0xO1xuXG52YXIgcmVzb2x2ZWRQcm9taXNlO1xuXG4vLyBUT0RPKHZpY2IpOiByZW1vdmUgJyFpc0ZpcmVmb3gnIHdoZW4gdGhlIGJ1ZyBnZXRzIGZpeGVkOlxuLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2MjAxM1xuaWYgKGhhc05hdGl2ZVByb21pc2UgJiYgIWlzRmlyZWZveCkge1xuICAvLyBXaGVuIGF2YWlsYWJsZSB1c2UgYSBuYXRpdmUgUHJvbWlzZSB0byBzY2hlZHVsZSBtaWNyb3Rhc2tzLlxuICAvLyBXaGVuIG5vdCBhdmFpbGFibGUsIGVzNi1wcm9taXNlIGZhbGxiYWNrIHdpbGwgYmUgdXNlZFxuICByZXNvbHZlZFByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcbn1cblxudmFyIGVzNlByb21pc2UgPSByZXF1aXJlKCdlczYtcHJvbWlzZScpLlByb21pc2U7XG5cbmlmIChyZXNvbHZlZFByb21pc2UpIHtcbiAgZXM2UHJvbWlzZS5fc2V0U2NoZWR1bGVyKGZ1bmN0aW9uKGZuKSB7XG4gICAgcmVzb2x2ZWRQcm9taXNlLnRoZW4oZm4pO1xuICB9KTtcbn1cblxuLy8gZXM2LXByb21pc2UgYXNhcCBzaG91bGQgc2NoZWR1bGUgbWljcm90YXNrcyB2aWEgem9uZS5zY2hlZHVsZU1pY3JvdGFzayBzbyB0aGF0IGFueVxuLy8gdXNlciBkZWZpbmVkIGhvb2tzIGFyZSB0cmlnZ2VyZWRcbmVzNlByb21pc2UuX3NldEFzYXAoZnVuY3Rpb24oZm4sIGFyZykge1xuICBnbG9iYWwuem9uZS5zY2hlZHVsZU1pY3JvdGFzayhmdW5jdGlvbigpIHtcbiAgICBmbihhcmcpO1xuICB9KTtcbn0pO1xuXG4vLyBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBzY2hlZHVsZU1pY3JvdGFzayB1c2UgdGhlIG9yaWdpbmFsIGVzNi1wcm9taXNlIGltcGxlbWVudGF0aW9uXG4vLyB0byBzY2hlZHVsZSBhIG1pY3JvdGFza1xuZnVuY3Rpb24gc2NoZWR1bGVNaWNyb3Rhc2soZm4pIHtcbiAgZXM2UHJvbWlzZS5fYXNhcCh0aGlzLmJpbmQoZm4pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE1pY3JvdGFza1N1cHBvcnQoem9uZUNsYXNzKSB7XG4gIHpvbmVDbGFzcy5wcm90b3R5cGUuc2NoZWR1bGVNaWNyb3Rhc2sgPSBzY2hlZHVsZU1pY3JvdGFzaztcbiAgcmV0dXJuIHpvbmVDbGFzcztcbn1cbiJdfQ==
169
+
137
170
  /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
138
171
 
139
172
  /***/ },
140
- /* 2 */
141
- /***/ function(module, exports, __webpack_require__) {
142
-
143
- var require;var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {/*!
144
- * @overview es6-promise - a tiny implementation of Promises/A+.
145
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
146
- * @license Licensed under MIT license
147
- * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
148
- * @version 3.0.2
149
- */
150
-
151
- (function() {
152
- "use strict";
153
- function lib$es6$promise$utils$$objectOrFunction(x) {
154
- return typeof x === 'function' || (typeof x === 'object' && x !== null);
155
- }
156
-
157
- function lib$es6$promise$utils$$isFunction(x) {
158
- return typeof x === 'function';
159
- }
160
-
161
- function lib$es6$promise$utils$$isMaybeThenable(x) {
162
- return typeof x === 'object' && x !== null;
163
- }
164
-
165
- var lib$es6$promise$utils$$_isArray;
166
- if (!Array.isArray) {
167
- lib$es6$promise$utils$$_isArray = function (x) {
168
- return Object.prototype.toString.call(x) === '[object Array]';
169
- };
170
- } else {
171
- lib$es6$promise$utils$$_isArray = Array.isArray;
172
- }
173
-
174
- var lib$es6$promise$utils$$isArray = lib$es6$promise$utils$$_isArray;
175
- var lib$es6$promise$asap$$len = 0;
176
- var lib$es6$promise$asap$$toString = {}.toString;
177
- var lib$es6$promise$asap$$vertxNext;
178
- var lib$es6$promise$asap$$customSchedulerFn;
179
-
180
- var lib$es6$promise$asap$$asap = function asap(callback, arg) {
181
- lib$es6$promise$asap$$queue[lib$es6$promise$asap$$len] = callback;
182
- lib$es6$promise$asap$$queue[lib$es6$promise$asap$$len + 1] = arg;
183
- lib$es6$promise$asap$$len += 2;
184
- if (lib$es6$promise$asap$$len === 2) {
185
- // If len is 2, that means that we need to schedule an async flush.
186
- // If additional callbacks are queued before the queue is flushed, they
187
- // will be processed by this flush that we are scheduling.
188
- if (lib$es6$promise$asap$$customSchedulerFn) {
189
- lib$es6$promise$asap$$customSchedulerFn(lib$es6$promise$asap$$flush);
190
- } else {
191
- lib$es6$promise$asap$$scheduleFlush();
192
- }
193
- }
194
- }
195
-
196
- function lib$es6$promise$asap$$setScheduler(scheduleFn) {
197
- lib$es6$promise$asap$$customSchedulerFn = scheduleFn;
198
- }
199
-
200
- function lib$es6$promise$asap$$setAsap(asapFn) {
201
- lib$es6$promise$asap$$asap = asapFn;
202
- }
203
-
204
- var lib$es6$promise$asap$$browserWindow = (typeof window !== 'undefined') ? window : undefined;
205
- var lib$es6$promise$asap$$browserGlobal = lib$es6$promise$asap$$browserWindow || {};
206
- var lib$es6$promise$asap$$BrowserMutationObserver = lib$es6$promise$asap$$browserGlobal.MutationObserver || lib$es6$promise$asap$$browserGlobal.WebKitMutationObserver;
207
- var lib$es6$promise$asap$$isNode = typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';
208
-
209
- // test for web worker but not in IE10
210
- var lib$es6$promise$asap$$isWorker = typeof Uint8ClampedArray !== 'undefined' &&
211
- typeof importScripts !== 'undefined' &&
212
- typeof MessageChannel !== 'undefined';
213
-
214
- // node
215
- function lib$es6$promise$asap$$useNextTick() {
216
- // node version 0.10.x displays a deprecation warning when nextTick is used recursively
217
- // see https://github.com/cujojs/when/issues/410 for details
218
- return function() {
219
- process.nextTick(lib$es6$promise$asap$$flush);
220
- };
221
- }
222
-
223
- // vertx
224
- function lib$es6$promise$asap$$useVertxTimer() {
225
- return function() {
226
- lib$es6$promise$asap$$vertxNext(lib$es6$promise$asap$$flush);
227
- };
228
- }
229
-
230
- function lib$es6$promise$asap$$useMutationObserver() {
231
- var iterations = 0;
232
- var observer = new lib$es6$promise$asap$$BrowserMutationObserver(lib$es6$promise$asap$$flush);
233
- var node = document.createTextNode('');
234
- observer.observe(node, { characterData: true });
235
-
236
- return function() {
237
- node.data = (iterations = ++iterations % 2);
238
- };
239
- }
240
-
241
- // web worker
242
- function lib$es6$promise$asap$$useMessageChannel() {
243
- var channel = new MessageChannel();
244
- channel.port1.onmessage = lib$es6$promise$asap$$flush;
245
- return function () {
246
- channel.port2.postMessage(0);
247
- };
248
- }
249
-
250
- function lib$es6$promise$asap$$useSetTimeout() {
251
- return function() {
252
- setTimeout(lib$es6$promise$asap$$flush, 1);
253
- };
254
- }
255
-
256
- var lib$es6$promise$asap$$queue = new Array(1000);
257
- function lib$es6$promise$asap$$flush() {
258
- for (var i = 0; i < lib$es6$promise$asap$$len; i+=2) {
259
- var callback = lib$es6$promise$asap$$queue[i];
260
- var arg = lib$es6$promise$asap$$queue[i+1];
261
-
262
- callback(arg);
263
-
264
- lib$es6$promise$asap$$queue[i] = undefined;
265
- lib$es6$promise$asap$$queue[i+1] = undefined;
266
- }
267
-
268
- lib$es6$promise$asap$$len = 0;
269
- }
270
-
271
- function lib$es6$promise$asap$$attemptVertx() {
272
- try {
273
- var r = require;
274
- var vertx = __webpack_require__(4);
275
- lib$es6$promise$asap$$vertxNext = vertx.runOnLoop || vertx.runOnContext;
276
- return lib$es6$promise$asap$$useVertxTimer();
277
- } catch(e) {
278
- return lib$es6$promise$asap$$useSetTimeout();
279
- }
280
- }
281
-
282
- var lib$es6$promise$asap$$scheduleFlush;
283
- // Decide what async method to use to triggering processing of queued callbacks:
284
- if (lib$es6$promise$asap$$isNode) {
285
- lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useNextTick();
286
- } else if (lib$es6$promise$asap$$BrowserMutationObserver) {
287
- lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useMutationObserver();
288
- } else if (lib$es6$promise$asap$$isWorker) {
289
- lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useMessageChannel();
290
- } else if (lib$es6$promise$asap$$browserWindow === undefined && "function" === 'function') {
291
- lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$attemptVertx();
292
- } else {
293
- lib$es6$promise$asap$$scheduleFlush = lib$es6$promise$asap$$useSetTimeout();
294
- }
295
-
296
- function lib$es6$promise$$internal$$noop() {}
297
-
298
- var lib$es6$promise$$internal$$PENDING = void 0;
299
- var lib$es6$promise$$internal$$FULFILLED = 1;
300
- var lib$es6$promise$$internal$$REJECTED = 2;
301
-
302
- var lib$es6$promise$$internal$$GET_THEN_ERROR = new lib$es6$promise$$internal$$ErrorObject();
303
-
304
- function lib$es6$promise$$internal$$selfFulfillment() {
305
- return new TypeError("You cannot resolve a promise with itself");
306
- }
307
-
308
- function lib$es6$promise$$internal$$cannotReturnOwn() {
309
- return new TypeError('A promises callback cannot return that same promise.');
310
- }
311
-
312
- function lib$es6$promise$$internal$$getThen(promise) {
313
- try {
314
- return promise.then;
315
- } catch(error) {
316
- lib$es6$promise$$internal$$GET_THEN_ERROR.error = error;
317
- return lib$es6$promise$$internal$$GET_THEN_ERROR;
318
- }
319
- }
320
-
321
- function lib$es6$promise$$internal$$tryThen(then, value, fulfillmentHandler, rejectionHandler) {
322
- try {
323
- then.call(value, fulfillmentHandler, rejectionHandler);
324
- } catch(e) {
325
- return e;
326
- }
327
- }
173
+ /* 1 */
174
+ /***/ function(module, exports) {
328
175
 
329
- function lib$es6$promise$$internal$$handleForeignThenable(promise, thenable, then) {
330
- lib$es6$promise$asap$$asap(function(promise) {
331
- var sealed = false;
332
- var error = lib$es6$promise$$internal$$tryThen(then, thenable, function(value) {
333
- if (sealed) { return; }
334
- sealed = true;
335
- if (thenable !== value) {
336
- lib$es6$promise$$internal$$resolve(promise, value);
337
- } else {
338
- lib$es6$promise$$internal$$fulfill(promise, value);
339
- }
340
- }, function(reason) {
341
- if (sealed) { return; }
342
- sealed = true;
343
-
344
- lib$es6$promise$$internal$$reject(promise, reason);
345
- }, 'Settle: ' + (promise._label || ' unknown promise'));
346
-
347
- if (!sealed && error) {
348
- sealed = true;
349
- lib$es6$promise$$internal$$reject(promise, error);
176
+ /* WEBPACK VAR INJECTION */(function(global) {;
177
+ ;
178
+ var Zone = (function (global) {
179
+ var Zone = (function () {
180
+ function Zone(parent, zoneSpec) {
181
+ this._properties = null;
182
+ this._parent = parent;
183
+ this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '<root>';
184
+ this._properties = zoneSpec && zoneSpec.properties || {};
185
+ this._zoneDelegate = new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);
350
186
  }
351
- }, promise);
352
- }
353
-
354
- function lib$es6$promise$$internal$$handleOwnThenable(promise, thenable) {
355
- if (thenable._state === lib$es6$promise$$internal$$FULFILLED) {
356
- lib$es6$promise$$internal$$fulfill(promise, thenable._result);
357
- } else if (thenable._state === lib$es6$promise$$internal$$REJECTED) {
358
- lib$es6$promise$$internal$$reject(promise, thenable._result);
359
- } else {
360
- lib$es6$promise$$internal$$subscribe(thenable, undefined, function(value) {
361
- lib$es6$promise$$internal$$resolve(promise, value);
362
- }, function(reason) {
363
- lib$es6$promise$$internal$$reject(promise, reason);
187
+ Object.defineProperty(Zone, "current", {
188
+ get: function () { return _currentZone; },
189
+ enumerable: true,
190
+ configurable: true
364
191
  });
365
- }
366
- }
367
-
368
- function lib$es6$promise$$internal$$handleMaybeThenable(promise, maybeThenable) {
369
- if (maybeThenable.constructor === promise.constructor) {
370
- lib$es6$promise$$internal$$handleOwnThenable(promise, maybeThenable);
371
- } else {
372
- var then = lib$es6$promise$$internal$$getThen(maybeThenable);
373
-
374
- if (then === lib$es6$promise$$internal$$GET_THEN_ERROR) {
375
- lib$es6$promise$$internal$$reject(promise, lib$es6$promise$$internal$$GET_THEN_ERROR.error);
376
- } else if (then === undefined) {
377
- lib$es6$promise$$internal$$fulfill(promise, maybeThenable);
378
- } else if (lib$es6$promise$utils$$isFunction(then)) {
379
- lib$es6$promise$$internal$$handleForeignThenable(promise, maybeThenable, then);
380
- } else {
381
- lib$es6$promise$$internal$$fulfill(promise, maybeThenable);
382
- }
383
- }
384
- }
385
-
386
- function lib$es6$promise$$internal$$resolve(promise, value) {
387
- if (promise === value) {
388
- lib$es6$promise$$internal$$reject(promise, lib$es6$promise$$internal$$selfFulfillment());
389
- } else if (lib$es6$promise$utils$$objectOrFunction(value)) {
390
- lib$es6$promise$$internal$$handleMaybeThenable(promise, value);
391
- } else {
392
- lib$es6$promise$$internal$$fulfill(promise, value);
393
- }
394
- }
395
-
396
- function lib$es6$promise$$internal$$publishRejection(promise) {
397
- if (promise._onerror) {
398
- promise._onerror(promise._result);
399
- }
400
-
401
- lib$es6$promise$$internal$$publish(promise);
402
- }
403
-
404
- function lib$es6$promise$$internal$$fulfill(promise, value) {
405
- if (promise._state !== lib$es6$promise$$internal$$PENDING) { return; }
406
-
407
- promise._result = value;
408
- promise._state = lib$es6$promise$$internal$$FULFILLED;
409
-
410
- if (promise._subscribers.length !== 0) {
411
- lib$es6$promise$asap$$asap(lib$es6$promise$$internal$$publish, promise);
412
- }
413
- }
414
-
415
- function lib$es6$promise$$internal$$reject(promise, reason) {
416
- if (promise._state !== lib$es6$promise$$internal$$PENDING) { return; }
417
- promise._state = lib$es6$promise$$internal$$REJECTED;
418
- promise._result = reason;
419
-
420
- lib$es6$promise$asap$$asap(lib$es6$promise$$internal$$publishRejection, promise);
421
- }
422
-
423
- function lib$es6$promise$$internal$$subscribe(parent, child, onFulfillment, onRejection) {
424
- var subscribers = parent._subscribers;
425
- var length = subscribers.length;
426
-
427
- parent._onerror = null;
428
-
429
- subscribers[length] = child;
430
- subscribers[length + lib$es6$promise$$internal$$FULFILLED] = onFulfillment;
431
- subscribers[length + lib$es6$promise$$internal$$REJECTED] = onRejection;
432
-
433
- if (length === 0 && parent._state) {
434
- lib$es6$promise$asap$$asap(lib$es6$promise$$internal$$publish, parent);
435
- }
436
- }
437
-
438
- function lib$es6$promise$$internal$$publish(promise) {
439
- var subscribers = promise._subscribers;
440
- var settled = promise._state;
441
-
442
- if (subscribers.length === 0) { return; }
443
-
444
- var child, callback, detail = promise._result;
445
-
446
- for (var i = 0; i < subscribers.length; i += 3) {
447
- child = subscribers[i];
448
- callback = subscribers[i + settled];
449
-
450
- if (child) {
451
- lib$es6$promise$$internal$$invokeCallback(settled, child, callback, detail);
452
- } else {
453
- callback(detail);
454
- }
455
- }
456
-
457
- promise._subscribers.length = 0;
458
- }
459
-
460
- function lib$es6$promise$$internal$$ErrorObject() {
461
- this.error = null;
462
- }
463
-
464
- var lib$es6$promise$$internal$$TRY_CATCH_ERROR = new lib$es6$promise$$internal$$ErrorObject();
465
-
466
- function lib$es6$promise$$internal$$tryCatch(callback, detail) {
467
- try {
468
- return callback(detail);
469
- } catch(e) {
470
- lib$es6$promise$$internal$$TRY_CATCH_ERROR.error = e;
471
- return lib$es6$promise$$internal$$TRY_CATCH_ERROR;
472
- }
473
- }
474
-
475
- function lib$es6$promise$$internal$$invokeCallback(settled, promise, callback, detail) {
476
- var hasCallback = lib$es6$promise$utils$$isFunction(callback),
477
- value, error, succeeded, failed;
478
-
479
- if (hasCallback) {
480
- value = lib$es6$promise$$internal$$tryCatch(callback, detail);
481
-
482
- if (value === lib$es6$promise$$internal$$TRY_CATCH_ERROR) {
483
- failed = true;
484
- error = value.error;
485
- value = null;
486
- } else {
487
- succeeded = true;
488
- }
489
-
490
- if (promise === value) {
491
- lib$es6$promise$$internal$$reject(promise, lib$es6$promise$$internal$$cannotReturnOwn());
492
- return;
493
- }
494
-
495
- } else {
496
- value = detail;
497
- succeeded = true;
498
- }
499
-
500
- if (promise._state !== lib$es6$promise$$internal$$PENDING) {
501
- // noop
502
- } else if (hasCallback && succeeded) {
503
- lib$es6$promise$$internal$$resolve(promise, value);
504
- } else if (failed) {
505
- lib$es6$promise$$internal$$reject(promise, error);
506
- } else if (settled === lib$es6$promise$$internal$$FULFILLED) {
507
- lib$es6$promise$$internal$$fulfill(promise, value);
508
- } else if (settled === lib$es6$promise$$internal$$REJECTED) {
509
- lib$es6$promise$$internal$$reject(promise, value);
510
- }
511
- }
512
-
513
- function lib$es6$promise$$internal$$initializePromise(promise, resolver) {
514
- try {
515
- resolver(function resolvePromise(value){
516
- lib$es6$promise$$internal$$resolve(promise, value);
517
- }, function rejectPromise(reason) {
518
- lib$es6$promise$$internal$$reject(promise, reason);
192
+ ;
193
+ Object.defineProperty(Zone, "currentTask", {
194
+ get: function () { return _currentTask; },
195
+ enumerable: true,
196
+ configurable: true
519
197
  });
520
- } catch(e) {
521
- lib$es6$promise$$internal$$reject(promise, e);
522
- }
523
- }
524
-
525
- function lib$es6$promise$enumerator$$Enumerator(Constructor, input) {
526
- var enumerator = this;
527
-
528
- enumerator._instanceConstructor = Constructor;
529
- enumerator.promise = new Constructor(lib$es6$promise$$internal$$noop);
530
-
531
- if (enumerator._validateInput(input)) {
532
- enumerator._input = input;
533
- enumerator.length = input.length;
534
- enumerator._remaining = input.length;
535
-
536
- enumerator._init();
537
-
538
- if (enumerator.length === 0) {
539
- lib$es6$promise$$internal$$fulfill(enumerator.promise, enumerator._result);
540
- } else {
541
- enumerator.length = enumerator.length || 0;
542
- enumerator._enumerate();
543
- if (enumerator._remaining === 0) {
544
- lib$es6$promise$$internal$$fulfill(enumerator.promise, enumerator._result);
545
- }
546
- }
547
- } else {
548
- lib$es6$promise$$internal$$reject(enumerator.promise, enumerator._validationError());
549
- }
550
- }
551
-
552
- lib$es6$promise$enumerator$$Enumerator.prototype._validateInput = function(input) {
553
- return lib$es6$promise$utils$$isArray(input);
554
- };
555
-
556
- lib$es6$promise$enumerator$$Enumerator.prototype._validationError = function() {
557
- return new Error('Array Methods must be provided an Array');
558
- };
559
-
560
- lib$es6$promise$enumerator$$Enumerator.prototype._init = function() {
561
- this._result = new Array(this.length);
562
- };
563
-
564
- var lib$es6$promise$enumerator$$default = lib$es6$promise$enumerator$$Enumerator;
565
-
566
- lib$es6$promise$enumerator$$Enumerator.prototype._enumerate = function() {
567
- var enumerator = this;
568
-
569
- var length = enumerator.length;
570
- var promise = enumerator.promise;
571
- var input = enumerator._input;
572
-
573
- for (var i = 0; promise._state === lib$es6$promise$$internal$$PENDING && i < length; i++) {
574
- enumerator._eachEntry(input[i], i);
575
- }
576
- };
577
-
578
- lib$es6$promise$enumerator$$Enumerator.prototype._eachEntry = function(entry, i) {
579
- var enumerator = this;
580
- var c = enumerator._instanceConstructor;
581
-
582
- if (lib$es6$promise$utils$$isMaybeThenable(entry)) {
583
- if (entry.constructor === c && entry._state !== lib$es6$promise$$internal$$PENDING) {
584
- entry._onerror = null;
585
- enumerator._settledAt(entry._state, i, entry._result);
586
- } else {
587
- enumerator._willSettleAt(c.resolve(entry), i);
588
- }
589
- } else {
590
- enumerator._remaining--;
591
- enumerator._result[i] = entry;
592
- }
593
- };
594
-
595
- lib$es6$promise$enumerator$$Enumerator.prototype._settledAt = function(state, i, value) {
596
- var enumerator = this;
597
- var promise = enumerator.promise;
598
-
599
- if (promise._state === lib$es6$promise$$internal$$PENDING) {
600
- enumerator._remaining--;
601
-
602
- if (state === lib$es6$promise$$internal$$REJECTED) {
603
- lib$es6$promise$$internal$$reject(promise, value);
604
- } else {
605
- enumerator._result[i] = value;
198
+ ;
199
+ Object.defineProperty(Zone.prototype, "parent", {
200
+ get: function () { return this._parent; },
201
+ enumerable: true,
202
+ configurable: true
203
+ });
204
+ ;
205
+ Object.defineProperty(Zone.prototype, "name", {
206
+ get: function () { return this._name; },
207
+ enumerable: true,
208
+ configurable: true
209
+ });
210
+ ;
211
+ Zone.prototype.get = function (key) {
212
+ var current = this;
213
+ while (current) {
214
+ if (current._properties.hasOwnProperty(key)) {
215
+ return current._properties[key];
216
+ }
217
+ current = current._parent;
218
+ }
219
+ };
220
+ Zone.prototype.fork = function (zoneSpec) {
221
+ if (!zoneSpec)
222
+ throw new Error('ZoneSpec required!');
223
+ return this._zoneDelegate.fork(this, zoneSpec);
224
+ };
225
+ Zone.prototype.wrap = function (callback, source) {
226
+ if (typeof callback !== 'function') {
227
+ throw new Error('Expecting function got: ' + callback);
228
+ }
229
+ var _callback = this._zoneDelegate.intercept(this, callback, source);
230
+ var zone = this;
231
+ return function () {
232
+ return zone.runGuarded(_callback, this, arguments, source);
233
+ };
234
+ };
235
+ Zone.prototype.run = function (callback, applyThis, applyArgs, source) {
236
+ if (applyThis === void 0) { applyThis = null; }
237
+ if (applyArgs === void 0) { applyArgs = null; }
238
+ if (source === void 0) { source = null; }
239
+ var oldZone = _currentZone;
240
+ _currentZone = this;
241
+ try {
242
+ return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
243
+ }
244
+ finally {
245
+ _currentZone = oldZone;
246
+ }
247
+ };
248
+ Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {
249
+ if (applyThis === void 0) { applyThis = null; }
250
+ if (applyArgs === void 0) { applyArgs = null; }
251
+ if (source === void 0) { source = null; }
252
+ var oldZone = _currentZone;
253
+ _currentZone = this;
254
+ try {
255
+ try {
256
+ return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
257
+ }
258
+ catch (error) {
259
+ if (this._zoneDelegate.handleError(this, error)) {
260
+ throw error;
261
+ }
262
+ }
263
+ }
264
+ finally {
265
+ _currentZone = oldZone;
266
+ }
267
+ };
268
+ Zone.prototype.runTask = function (task, applyThis, applyArgs) {
269
+ task.runCount++;
270
+ if (task.zone != this)
271
+ throw new Error('A task can only be run in the zone which created it! (Creation: ' +
272
+ task.zone.name + '; Execution: ' + this.name + ')');
273
+ var previousTask = _currentTask;
274
+ _currentTask = task;
275
+ var oldZone = _currentZone;
276
+ _currentZone = this;
277
+ try {
278
+ if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {
279
+ task.cancelFn = null;
280
+ }
281
+ try {
282
+ return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);
283
+ }
284
+ catch (error) {
285
+ if (this._zoneDelegate.handleError(this, error)) {
286
+ throw error;
287
+ }
288
+ }
289
+ }
290
+ finally {
291
+ _currentZone = oldZone;
292
+ _currentTask = previousTask;
293
+ }
294
+ };
295
+ Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {
296
+ return this._zoneDelegate.scheduleTask(this, new ZoneTask('microTask', this, source, callback, data, customSchedule, null));
297
+ };
298
+ Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {
299
+ return this._zoneDelegate.scheduleTask(this, new ZoneTask('macroTask', this, source, callback, data, customSchedule, customCancel));
300
+ };
301
+ Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {
302
+ return this._zoneDelegate.scheduleTask(this, new ZoneTask('eventTask', this, source, callback, data, customSchedule, customCancel));
303
+ };
304
+ Zone.prototype.cancelTask = function (task) {
305
+ var value = this._zoneDelegate.cancelTask(this, task);
306
+ task.runCount = -1;
307
+ task.cancelFn = null;
308
+ return value;
309
+ };
310
+ Zone.__symbol__ = __symbol__;
311
+ return Zone;
312
+ }());
313
+ ;
314
+ var ZoneDelegate = (function () {
315
+ function ZoneDelegate(zone, parentDelegate, zoneSpec) {
316
+ this._taskCounts = { microTask: 0, macroTask: 0, eventTask: 0 };
317
+ this.zone = zone;
318
+ this._parentDelegate = parentDelegate;
319
+ this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);
320
+ this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);
321
+ this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);
322
+ this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);
323
+ this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);
324
+ this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);
325
+ this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);
326
+ this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);
327
+ this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);
328
+ this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);
329
+ this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);
330
+ this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);
331
+ this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);
332
+ this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);
333
+ this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS);
334
+ this._hasTaskDlgt = zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt);
606
335
  }
607
- }
608
-
609
- if (enumerator._remaining === 0) {
610
- lib$es6$promise$$internal$$fulfill(promise, enumerator._result);
611
- }
612
- };
613
-
614
- lib$es6$promise$enumerator$$Enumerator.prototype._willSettleAt = function(promise, i) {
615
- var enumerator = this;
616
-
617
- lib$es6$promise$$internal$$subscribe(promise, undefined, function(value) {
618
- enumerator._settledAt(lib$es6$promise$$internal$$FULFILLED, i, value);
619
- }, function(reason) {
620
- enumerator._settledAt(lib$es6$promise$$internal$$REJECTED, i, reason);
621
- });
622
- };
623
- function lib$es6$promise$promise$all$$all(entries) {
624
- return new lib$es6$promise$enumerator$$default(this, entries).promise;
625
- }
626
- var lib$es6$promise$promise$all$$default = lib$es6$promise$promise$all$$all;
627
- function lib$es6$promise$promise$race$$race(entries) {
628
- /*jshint validthis:true */
629
- var Constructor = this;
630
-
631
- var promise = new Constructor(lib$es6$promise$$internal$$noop);
632
-
633
- if (!lib$es6$promise$utils$$isArray(entries)) {
634
- lib$es6$promise$$internal$$reject(promise, new TypeError('You must pass an array to race.'));
635
- return promise;
636
- }
637
-
638
- var length = entries.length;
639
-
640
- function onFulfillment(value) {
641
- lib$es6$promise$$internal$$resolve(promise, value);
642
- }
643
-
644
- function onRejection(reason) {
645
- lib$es6$promise$$internal$$reject(promise, reason);
646
- }
647
-
648
- for (var i = 0; promise._state === lib$es6$promise$$internal$$PENDING && i < length; i++) {
649
- lib$es6$promise$$internal$$subscribe(Constructor.resolve(entries[i]), undefined, onFulfillment, onRejection);
650
- }
651
-
652
- return promise;
653
- }
654
- var lib$es6$promise$promise$race$$default = lib$es6$promise$promise$race$$race;
655
- function lib$es6$promise$promise$resolve$$resolve(object) {
656
- /*jshint validthis:true */
657
- var Constructor = this;
658
-
659
- if (object && typeof object === 'object' && object.constructor === Constructor) {
660
- return object;
661
- }
662
-
663
- var promise = new Constructor(lib$es6$promise$$internal$$noop);
664
- lib$es6$promise$$internal$$resolve(promise, object);
665
- return promise;
666
- }
667
- var lib$es6$promise$promise$resolve$$default = lib$es6$promise$promise$resolve$$resolve;
668
- function lib$es6$promise$promise$reject$$reject(reason) {
669
- /*jshint validthis:true */
670
- var Constructor = this;
671
- var promise = new Constructor(lib$es6$promise$$internal$$noop);
672
- lib$es6$promise$$internal$$reject(promise, reason);
673
- return promise;
674
- }
675
- var lib$es6$promise$promise$reject$$default = lib$es6$promise$promise$reject$$reject;
676
-
677
- var lib$es6$promise$promise$$counter = 0;
678
-
679
- function lib$es6$promise$promise$$needsResolver() {
680
- throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
681
- }
682
-
683
- function lib$es6$promise$promise$$needsNew() {
684
- throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
685
- }
686
-
687
- var lib$es6$promise$promise$$default = lib$es6$promise$promise$$Promise;
688
- /**
689
- Promise objects represent the eventual result of an asynchronous operation. The
690
- primary way of interacting with a promise is through its `then` method, which
691
- registers callbacks to receive either a promise's eventual value or the reason
692
- why the promise cannot be fulfilled.
693
-
694
- Terminology
695
- -----------
696
-
697
- - `promise` is an object or function with a `then` method whose behavior conforms to this specification.
698
- - `thenable` is an object or function that defines a `then` method.
699
- - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).
700
- - `exception` is a value that is thrown using the throw statement.
701
- - `reason` is a value that indicates why a promise was rejected.
702
- - `settled` the final resting state of a promise, fulfilled or rejected.
703
-
704
- A promise can be in one of three states: pending, fulfilled, or rejected.
705
-
706
- Promises that are fulfilled have a fulfillment value and are in the fulfilled
707
- state. Promises that are rejected have a rejection reason and are in the
708
- rejected state. A fulfillment value is never a thenable.
709
-
710
- Promises can also be said to *resolve* a value. If this value is also a
711
- promise, then the original promise's settled state will match the value's
712
- settled state. So a promise that *resolves* a promise that rejects will
713
- itself reject, and a promise that *resolves* a promise that fulfills will
714
- itself fulfill.
715
-
716
-
717
- Basic Usage:
718
- ------------
719
-
720
- ```js
721
- var promise = new Promise(function(resolve, reject) {
722
- // on success
723
- resolve(value);
724
-
725
- // on failure
726
- reject(reason);
727
- });
728
-
729
- promise.then(function(value) {
730
- // on fulfillment
731
- }, function(reason) {
732
- // on rejection
733
- });
734
- ```
735
-
736
- Advanced Usage:
737
- ---------------
738
-
739
- Promises shine when abstracting away asynchronous interactions such as
740
- `XMLHttpRequest`s.
741
-
742
- ```js
743
- function getJSON(url) {
744
- return new Promise(function(resolve, reject){
745
- var xhr = new XMLHttpRequest();
746
-
747
- xhr.open('GET', url);
748
- xhr.onreadystatechange = handler;
749
- xhr.responseType = 'json';
750
- xhr.setRequestHeader('Accept', 'application/json');
751
- xhr.send();
752
-
753
- function handler() {
754
- if (this.readyState === this.DONE) {
755
- if (this.status === 200) {
756
- resolve(this.response);
757
- } else {
758
- reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));
759
- }
336
+ ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {
337
+ return this._forkZS
338
+ ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec)
339
+ : new Zone(targetZone, zoneSpec);
340
+ };
341
+ ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {
342
+ return this._interceptZS
343
+ ? this._interceptZS.onIntercept(this._interceptDlgt, this.zone, targetZone, callback, source)
344
+ : callback;
345
+ };
346
+ ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {
347
+ return this._invokeZS
348
+ ? this._invokeZS.onInvoke(this._invokeDlgt, this.zone, targetZone, callback, applyThis, applyArgs, source)
349
+ : callback.apply(applyThis, applyArgs);
350
+ };
351
+ ZoneDelegate.prototype.handleError = function (targetZone, error) {
352
+ return this._handleErrorZS
353
+ ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this.zone, targetZone, error)
354
+ : true;
355
+ };
356
+ ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {
357
+ try {
358
+ if (this._scheduleTaskZS) {
359
+ return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this.zone, targetZone, task);
360
+ }
361
+ else if (task.scheduleFn) {
362
+ task.scheduleFn(task);
363
+ }
364
+ else if (task.type == 'microTask') {
365
+ scheduleMicroTask(task);
366
+ }
367
+ else {
368
+ throw new Error('Task is missing scheduleFn.');
369
+ }
370
+ return task;
760
371
  }
761
- };
762
- });
763
- }
764
-
765
- getJSON('/posts.json').then(function(json) {
766
- // on fulfillment
767
- }, function(reason) {
768
- // on rejection
769
- });
770
- ```
771
-
772
- Unlike callbacks, promises are great composable primitives.
773
-
774
- ```js
775
- Promise.all([
776
- getJSON('/posts'),
777
- getJSON('/comments')
778
- ]).then(function(values){
779
- values[0] // => postsJSON
780
- values[1] // => commentsJSON
781
-
782
- return values;
783
- });
784
- ```
785
-
786
- @class Promise
787
- @param {function} resolver
788
- Useful for tooling.
789
- @constructor
790
- */
791
- function lib$es6$promise$promise$$Promise(resolver) {
792
- this._id = lib$es6$promise$promise$$counter++;
793
- this._state = undefined;
794
- this._result = undefined;
795
- this._subscribers = [];
796
-
797
- if (lib$es6$promise$$internal$$noop !== resolver) {
798
- if (!lib$es6$promise$utils$$isFunction(resolver)) {
799
- lib$es6$promise$promise$$needsResolver();
372
+ finally {
373
+ if (targetZone == this.zone) {
374
+ this._updateTaskCount(task.type, 1);
375
+ }
376
+ }
377
+ };
378
+ ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {
379
+ try {
380
+ return this._invokeTaskZS
381
+ ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this.zone, targetZone, task, applyThis, applyArgs)
382
+ : task.callback.apply(applyThis, applyArgs);
383
+ }
384
+ finally {
385
+ if (targetZone == this.zone && (task.type != 'eventTask') && !(task.data && task.data.isPeriodic)) {
386
+ this._updateTaskCount(task.type, -1);
387
+ }
388
+ }
389
+ };
390
+ ZoneDelegate.prototype.cancelTask = function (targetZone, task) {
391
+ var value;
392
+ if (this._cancelTaskZS) {
393
+ value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this.zone, targetZone, task);
394
+ }
395
+ else if (!task.cancelFn) {
396
+ throw new Error('Task does not support cancellation, or is already canceled.');
397
+ }
398
+ else {
399
+ value = task.cancelFn(task);
400
+ }
401
+ if (targetZone == this.zone) {
402
+ // this should not be in the finally block, because exceptions assume not canceled.
403
+ this._updateTaskCount(task.type, -1);
404
+ }
405
+ return value;
406
+ };
407
+ ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {
408
+ return this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this.zone, targetZone, isEmpty);
409
+ };
410
+ ZoneDelegate.prototype._updateTaskCount = function (type, count) {
411
+ var counts = this._taskCounts;
412
+ var prev = counts[type];
413
+ var next = counts[type] = prev + count;
414
+ if (next < 0) {
415
+ throw new Error('More tasks executed then were scheduled.');
416
+ }
417
+ if (prev == 0 || next == 0) {
418
+ var isEmpty = {
419
+ microTask: counts.microTask > 0,
420
+ macroTask: counts.macroTask > 0,
421
+ eventTask: counts.eventTask > 0,
422
+ change: type
423
+ };
424
+ try {
425
+ this.hasTask(this.zone, isEmpty);
426
+ }
427
+ finally {
428
+ if (this._parentDelegate) {
429
+ this._parentDelegate._updateTaskCount(type, count);
430
+ }
431
+ }
432
+ }
433
+ };
434
+ return ZoneDelegate;
435
+ }());
436
+ var ZoneTask = (function () {
437
+ function ZoneTask(type, zone, source, callback, options, scheduleFn, cancelFn) {
438
+ this.runCount = 0;
439
+ this.type = type;
440
+ this.zone = zone;
441
+ this.source = source;
442
+ this.data = options;
443
+ this.scheduleFn = scheduleFn;
444
+ this.cancelFn = cancelFn;
445
+ this.callback = callback;
446
+ var self = this;
447
+ this.invoke = function () {
448
+ try {
449
+ return zone.runTask(self, this, arguments);
450
+ }
451
+ finally {
452
+ drainMicroTaskQueue();
453
+ }
454
+ };
800
455
  }
801
-
802
- if (!(this instanceof lib$es6$promise$promise$$Promise)) {
803
- lib$es6$promise$promise$$needsNew();
456
+ return ZoneTask;
457
+ }());
458
+ function __symbol__(name) { return '__zone_symbol__' + name; }
459
+ ;
460
+ var symbolSetTimeout = __symbol__('setTimeout');
461
+ var symbolPromise = __symbol__('Promise');
462
+ var symbolThen = __symbol__('then');
463
+ var _currentZone = new Zone(null, null);
464
+ var _currentTask = null;
465
+ var _microTaskQueue = [];
466
+ var _isDrainingMicrotaskQueue = false;
467
+ var _uncaughtPromiseErrors = [];
468
+ var _drainScheduled = false;
469
+ function scheduleQueueDrain() {
470
+ if (!_drainScheduled && !_currentTask && _microTaskQueue.length == 0) {
471
+ // We are not running in Task, so we need to kickstart the microtask queue.
472
+ if (global[symbolPromise]) {
473
+ global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue);
474
+ }
475
+ else {
476
+ global[symbolSetTimeout](drainMicroTaskQueue, 0);
477
+ }
804
478
  }
805
-
806
- lib$es6$promise$$internal$$initializePromise(this, resolver);
807
- }
808
479
  }
809
-
810
- lib$es6$promise$promise$$Promise.all = lib$es6$promise$promise$all$$default;
811
- lib$es6$promise$promise$$Promise.race = lib$es6$promise$promise$race$$default;
812
- lib$es6$promise$promise$$Promise.resolve = lib$es6$promise$promise$resolve$$default;
813
- lib$es6$promise$promise$$Promise.reject = lib$es6$promise$promise$reject$$default;
814
- lib$es6$promise$promise$$Promise._setScheduler = lib$es6$promise$asap$$setScheduler;
815
- lib$es6$promise$promise$$Promise._setAsap = lib$es6$promise$asap$$setAsap;
816
- lib$es6$promise$promise$$Promise._asap = lib$es6$promise$asap$$asap;
817
-
818
- lib$es6$promise$promise$$Promise.prototype = {
819
- constructor: lib$es6$promise$promise$$Promise,
820
-
821
- /**
822
- The primary way of interacting with a promise is through its `then` method,
823
- which registers callbacks to receive either a promise's eventual value or the
824
- reason why the promise cannot be fulfilled.
825
-
826
- ```js
827
- findUser().then(function(user){
828
- // user is available
829
- }, function(reason){
830
- // user is unavailable, and you are given the reason why
831
- });
832
- ```
833
-
834
- Chaining
835
- --------
836
-
837
- The return value of `then` is itself a promise. This second, 'downstream'
838
- promise is resolved with the return value of the first promise's fulfillment
839
- or rejection handler, or rejected if the handler throws an exception.
840
-
841
- ```js
842
- findUser().then(function (user) {
843
- return user.name;
844
- }, function (reason) {
845
- return 'default name';
846
- }).then(function (userName) {
847
- // If `findUser` fulfilled, `userName` will be the user's name, otherwise it
848
- // will be `'default name'`
849
- });
850
-
851
- findUser().then(function (user) {
852
- throw new Error('Found user, but still unhappy');
853
- }, function (reason) {
854
- throw new Error('`findUser` rejected and we're unhappy');
855
- }).then(function (value) {
856
- // never reached
857
- }, function (reason) {
858
- // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.
859
- // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.
860
- });
861
- ```
862
- If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.
863
-
864
- ```js
865
- findUser().then(function (user) {
866
- throw new PedagogicalException('Upstream error');
867
- }).then(function (value) {
868
- // never reached
869
- }).then(function (value) {
870
- // never reached
871
- }, function (reason) {
872
- // The `PedgagocialException` is propagated all the way down to here
873
- });
874
- ```
875
-
876
- Assimilation
877
- ------------
878
-
879
- Sometimes the value you want to propagate to a downstream promise can only be
880
- retrieved asynchronously. This can be achieved by returning a promise in the
881
- fulfillment or rejection handler. The downstream promise will then be pending
882
- until the returned promise is settled. This is called *assimilation*.
883
-
884
- ```js
885
- findUser().then(function (user) {
886
- return findCommentsByAuthor(user);
887
- }).then(function (comments) {
888
- // The user's comments are now available
889
- });
890
- ```
891
-
892
- If the assimliated promise rejects, then the downstream promise will also reject.
893
-
894
- ```js
895
- findUser().then(function (user) {
896
- return findCommentsByAuthor(user);
897
- }).then(function (comments) {
898
- // If `findCommentsByAuthor` fulfills, we'll have the value here
899
- }, function (reason) {
900
- // If `findCommentsByAuthor` rejects, we'll have the reason here
901
- });
902
- ```
903
-
904
- Simple Example
905
- --------------
906
-
907
- Synchronous Example
908
-
909
- ```javascript
910
- var result;
911
-
912
- try {
913
- result = findResult();
914
- // success
915
- } catch(reason) {
916
- // failure
917
- }
918
- ```
919
-
920
- Errback Example
921
-
922
- ```js
923
- findResult(function(result, err){
924
- if (err) {
925
- // failure
926
- } else {
927
- // success
480
+ function scheduleMicroTask(task) {
481
+ scheduleQueueDrain();
482
+ _microTaskQueue.push(task);
483
+ }
484
+ function consoleError(e) {
485
+ var rejection = e && e.rejection;
486
+ if (rejection) {
487
+ console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection);
928
488
  }
929
- });
930
- ```
931
-
932
- Promise Example;
933
-
934
- ```javascript
935
- findResult().then(function(result){
936
- // success
937
- }, function(reason){
938
- // failure
939
- });
940
- ```
941
-
942
- Advanced Example
943
- --------------
944
-
945
- Synchronous Example
946
-
947
- ```javascript
948
- var author, books;
949
-
950
- try {
951
- author = findAuthor();
952
- books = findBooksByAuthor(author);
953
- // success
954
- } catch(reason) {
955
- // failure
956
- }
957
- ```
958
-
959
- Errback Example
960
-
961
- ```js
962
-
963
- function foundBooks(books) {
964
-
965
- }
966
-
967
- function failure(reason) {
968
-
969
- }
970
-
971
- findAuthor(function(author, err){
972
- if (err) {
973
- failure(err);
974
- // failure
975
- } else {
976
- try {
977
- findBoooksByAuthor(author, function(books, err) {
978
- if (err) {
979
- failure(err);
980
- } else {
981
- try {
982
- foundBooks(books);
983
- } catch(reason) {
984
- failure(reason);
489
+ console.error(e);
490
+ }
491
+ function drainMicroTaskQueue() {
492
+ if (!_isDrainingMicrotaskQueue) {
493
+ _isDrainingMicrotaskQueue = true;
494
+ while (_microTaskQueue.length) {
495
+ var queue = _microTaskQueue;
496
+ _microTaskQueue = [];
497
+ for (var i = 0; i < queue.length; i++) {
498
+ var task = queue[i];
499
+ try {
500
+ task.zone.runTask(task, null, null);
501
+ }
502
+ catch (e) {
503
+ consoleError(e);
504
+ }
985
505
  }
986
- }
987
- });
988
- } catch(error) {
989
- failure(err);
990
- }
991
- // success
992
- }
993
- });
994
- ```
995
-
996
- Promise Example;
997
-
998
- ```javascript
999
- findAuthor().
1000
- then(findBooksByAuthor).
1001
- then(function(books){
1002
- // found books
1003
- }).catch(function(reason){
1004
- // something went wrong
1005
- });
1006
- ```
1007
-
1008
- @method then
1009
- @param {Function} onFulfilled
1010
- @param {Function} onRejected
1011
- Useful for tooling.
1012
- @return {Promise}
1013
- */
1014
- then: function(onFulfillment, onRejection) {
1015
- var parent = this;
1016
- var state = parent._state;
1017
-
1018
- if (state === lib$es6$promise$$internal$$FULFILLED && !onFulfillment || state === lib$es6$promise$$internal$$REJECTED && !onRejection) {
1019
- return this;
1020
- }
1021
-
1022
- var child = new this.constructor(lib$es6$promise$$internal$$noop);
1023
- var result = parent._result;
1024
-
1025
- if (state) {
1026
- var callback = arguments[state - 1];
1027
- lib$es6$promise$asap$$asap(function(){
1028
- lib$es6$promise$$internal$$invokeCallback(state, child, callback, result);
1029
- });
1030
- } else {
1031
- lib$es6$promise$$internal$$subscribe(parent, child, onFulfillment, onRejection);
506
+ }
507
+ while (_uncaughtPromiseErrors.length) {
508
+ var uncaughtPromiseErrors = _uncaughtPromiseErrors;
509
+ _uncaughtPromiseErrors = [];
510
+ var _loop_1 = function(i) {
511
+ var uncaughtPromiseError = uncaughtPromiseErrors[i];
512
+ try {
513
+ uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });
514
+ }
515
+ catch (e) {
516
+ consoleError(e);
517
+ }
518
+ };
519
+ for (var i = 0; i < uncaughtPromiseErrors.length; i++) {
520
+ _loop_1(i);
521
+ }
522
+ }
523
+ _isDrainingMicrotaskQueue = false;
524
+ _drainScheduled = false;
1032
525
  }
1033
-
1034
- return child;
1035
- },
1036
-
1037
- /**
1038
- `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
1039
- as the catch block of a try/catch statement.
1040
-
1041
- ```js
1042
- function findAuthor(){
1043
- throw new Error('couldn't find that author');
1044
- }
1045
-
1046
- // synchronous
1047
- try {
1048
- findAuthor();
1049
- } catch(reason) {
1050
- // something went wrong
1051
- }
1052
-
1053
- // async with promises
1054
- findAuthor().catch(function(reason){
1055
- // something went wrong
1056
- });
1057
- ```
1058
-
1059
- @method catch
1060
- @param {Function} onRejection
1061
- Useful for tooling.
1062
- @return {Promise}
1063
- */
1064
- 'catch': function(onRejection) {
1065
- return this.then(null, onRejection);
1066
- }
1067
- };
1068
- function lib$es6$promise$polyfill$$polyfill() {
1069
- var local;
1070
-
1071
- if (typeof global !== 'undefined') {
1072
- local = global;
1073
- } else if (typeof self !== 'undefined') {
1074
- local = self;
1075
- } else {
1076
- try {
1077
- local = Function('return this')();
1078
- } catch (e) {
1079
- throw new Error('polyfill failed because global object is unavailable in this environment');
1080
- }
1081
- }
1082
-
1083
- var P = local.Promise;
1084
-
1085
- if (P && Object.prototype.toString.call(P.resolve()) === '[object Promise]' && !P.cast) {
1086
- return;
1087
- }
1088
-
1089
- local.Promise = lib$es6$promise$promise$$default;
1090
- }
1091
- var lib$es6$promise$polyfill$$default = lib$es6$promise$polyfill$$polyfill;
1092
-
1093
- var lib$es6$promise$umd$$ES6Promise = {
1094
- 'Promise': lib$es6$promise$promise$$default,
1095
- 'polyfill': lib$es6$promise$polyfill$$default
1096
- };
1097
-
1098
- /* global define:true module:true window: true */
1099
- if ("function" === 'function' && __webpack_require__(5)['amd']) {
1100
- !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return lib$es6$promise$umd$$ES6Promise; }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
1101
- } else if (typeof module !== 'undefined' && module['exports']) {
1102
- module['exports'] = lib$es6$promise$umd$$ES6Promise;
1103
- } else if (typeof this !== 'undefined') {
1104
- this['ES6Promise'] = lib$es6$promise$umd$$ES6Promise;
1105
526
  }
1106
-
1107
- lib$es6$promise$polyfill$$default();
1108
- }).call(this);
1109
-
1110
-
1111
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(3)(module)))
1112
-
1113
- /***/ },
1114
- /* 3 */
1115
- /***/ function(module, exports) {
1116
-
1117
- module.exports = function(module) {
1118
- if(!module.webpackPolyfill) {
1119
- module.deprecate = function() {};
1120
- module.paths = [];
1121
- // module.parent = undefined by default
1122
- module.children = [];
1123
- module.webpackPolyfill = 1;
1124
- }
1125
- return module;
1126
- }
1127
-
1128
-
1129
- /***/ },
1130
- /* 4 */
1131
- /***/ function(module, exports) {
1132
-
1133
- /* (ignored) */
1134
-
1135
- /***/ },
1136
- /* 5 */
1137
- /***/ function(module, exports) {
1138
-
1139
- module.exports = function() { throw new Error("define cannot be used indirect"); };
1140
-
1141
-
1142
- /***/ },
1143
- /* 6 */
1144
- /***/ function(module, exports, __webpack_require__) {
1145
-
1146
- /* WEBPACK VAR INJECTION */(function(global) {var keys = __webpack_require__(7);
1147
- var promise = __webpack_require__(8);
1148
- var deprecated = {};
1149
- function deprecatedWarning(key, text) {
1150
- if (!deprecated.hasOwnProperty(key)) {
1151
- deprecated[key] = true;
1152
- console.warn("DEPRECATION WARNING: '" + key +
1153
- "' is no longer supported and will be removed in next major release. " + text);
527
+ function isThenable(value) {
528
+ return value && value.then;
529
+ }
530
+ function forwardResolution(value) { return value; }
531
+ function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }
532
+ var symbolState = __symbol__('state');
533
+ var symbolValue = __symbol__('value');
534
+ var source = 'Promise.then';
535
+ var UNRESOLVED = null;
536
+ var RESOLVED = true;
537
+ var REJECTED = false;
538
+ var REJECTED_NO_CATCH = 0;
539
+ function makeResolver(promise, state) {
540
+ return function (v) {
541
+ resolvePromise(promise, state, v);
542
+ // Do not return value or you will break the Promise spec.
543
+ };
1154
544
  }
1155
- }
1156
- var Zone = (function () {
1157
- function Zone(parentZone, data) {
1158
- this.parent = null;
1159
- // onError is used to override error handling.
1160
- // When a custom error handler is provided, it should most probably rethrow the exception
1161
- // not to break the expected control flow:
1162
- //
1163
- // `promise.then(fnThatThrows).catch(fn);`
1164
- //
1165
- // When this code is executed in a zone with a custom onError handler that doesn't rethrow, the
1166
- // `.catch()` branch will not be taken as the `fnThatThrows` exception will be swallowed by the
1167
- // handler.
1168
- this.onError = null;
1169
- var zone = (arguments.length) ? Object.create(parentZone) : this;
1170
- zone.parent = parentZone || null;
1171
- Object.keys(data || {}).forEach(function (property) {
1172
- var _property = property.substr(1);
1173
- // augment the new zone with a hook decorates the parent's hook
1174
- if (property[0] === '$') {
1175
- zone[_property] = data[property](parentZone[_property] || function () { });
545
+ function resolvePromise(promise, state, value) {
546
+ if (promise[symbolState] === UNRESOLVED) {
547
+ if (value instanceof ZoneAwarePromise && value[symbolState] !== UNRESOLVED) {
548
+ clearRejectedNoCatch(value);
549
+ resolvePromise(promise, value[symbolState], value[symbolValue]);
1176
550
  }
1177
- else if (property[0] === '+') {
1178
- if (parentZone[_property]) {
1179
- zone[_property] = function () {
1180
- var result = parentZone[_property].apply(this, arguments);
1181
- data[property].apply(this, arguments);
1182
- return result;
1183
- };
551
+ else if (isThenable(value)) {
552
+ value.then(makeResolver(promise, state), makeResolver(promise, false));
553
+ }
554
+ else {
555
+ promise[symbolState] = state;
556
+ var queue = promise[symbolValue];
557
+ promise[symbolValue] = value;
558
+ for (var i = 0; i < queue.length;) {
559
+ scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);
1184
560
  }
1185
- else {
1186
- zone[_property] = data[property];
561
+ if (queue.length == 0 && state == REJECTED) {
562
+ promise[symbolState] = REJECTED_NO_CATCH;
563
+ try {
564
+ throw new Error("Uncaught (in promise): " + value);
565
+ }
566
+ catch (e) {
567
+ var error = e;
568
+ error.rejection = value;
569
+ error.promise = promise;
570
+ error.zone = Zone.current;
571
+ error.task = Zone.currentTask;
572
+ _uncaughtPromiseErrors.push(error);
573
+ scheduleQueueDrain();
574
+ }
1187
575
  }
1188
576
  }
1189
- else if (property[0] === '-') {
1190
- if (parentZone[_property]) {
1191
- zone[_property] = function () {
1192
- data[property].apply(this, arguments);
1193
- return parentZone[_property].apply(this, arguments);
1194
- };
1195
- }
1196
- else {
1197
- zone[_property] = data[property];
577
+ }
578
+ // Resolving an already resolved promise is a noop.
579
+ return promise;
580
+ }
581
+ function clearRejectedNoCatch(promise) {
582
+ if (promise[symbolState] === REJECTED_NO_CATCH) {
583
+ promise[symbolState] = REJECTED;
584
+ for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {
585
+ if (promise === _uncaughtPromiseErrors[i].promise) {
586
+ _uncaughtPromiseErrors.splice(i, 1);
587
+ break;
1198
588
  }
1199
589
  }
1200
- else {
1201
- zone[property] = (typeof data[property] === 'object') ?
1202
- JSON.parse(JSON.stringify(data[property])) :
1203
- data[property];
590
+ }
591
+ }
592
+ function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {
593
+ clearRejectedNoCatch(promise);
594
+ var delegate = promise[symbolState] ? onFulfilled || forwardResolution : onRejected || forwardRejection;
595
+ zone.scheduleMicroTask(source, function () {
596
+ try {
597
+ resolvePromise(chainPromise, true, zone.run(delegate, null, [promise[symbolValue]]));
598
+ }
599
+ catch (error) {
600
+ resolvePromise(chainPromise, false, error);
1204
601
  }
1205
602
  });
1206
- zone.$id = Zone.nextId++;
1207
- return zone;
1208
603
  }
1209
- Zone.prototype.fork = function (locals) {
1210
- this.onZoneCreated();
1211
- return new Zone(this, locals);
1212
- };
1213
- Zone.prototype.bind = function (fn, skipEnqueue) {
1214
- if (typeof fn !== 'function') {
1215
- throw new Error('Expecting function got: ' + fn);
604
+ var ZoneAwarePromise = (function () {
605
+ function ZoneAwarePromise(executor) {
606
+ var promise = this;
607
+ promise[symbolState] = UNRESOLVED;
608
+ promise[symbolValue] = []; // queue;
609
+ try {
610
+ executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));
611
+ }
612
+ catch (e) {
613
+ resolvePromise(promise, false, e);
614
+ }
1216
615
  }
1217
- skipEnqueue || this.enqueueTask(fn);
1218
- var zone = this.isRootZone() ? this : this.fork();
1219
- return function zoneBoundFn() {
1220
- return zone.run(fn, this, arguments);
616
+ ZoneAwarePromise.resolve = function (value) {
617
+ return resolvePromise(new this(null), RESOLVED, value);
1221
618
  };
1222
- };
1223
- /// @deprecated
1224
- Zone.prototype.bindOnce = function (fn) {
1225
- deprecatedWarning('bindOnce', 'There is no replacement.');
1226
- var boundZone = this;
1227
- return this.bind(function () {
1228
- var result = fn.apply(this, arguments);
1229
- boundZone.dequeueTask(fn);
1230
- return result;
1231
- });
1232
- };
1233
- Zone.prototype.isRootZone = function () {
1234
- return this.parent === null;
1235
- };
1236
- Zone.prototype.run = function (fn, applyTo, applyWith) {
1237
- applyWith = applyWith || [];
1238
- var oldZone = global.zone;
1239
- // MAKE THIS ZONE THE CURRENT ZONE
1240
- global.zone = this;
1241
- try {
1242
- this.beforeTask();
1243
- return fn.apply(applyTo, applyWith);
1244
- }
1245
- catch (e) {
1246
- if (this.onError) {
1247
- this.onError(e);
619
+ ZoneAwarePromise.reject = function (error) {
620
+ return resolvePromise(new this(null), REJECTED, error);
621
+ };
622
+ ZoneAwarePromise.race = function (values) {
623
+ var resolve;
624
+ var reject;
625
+ var promise = new this(function (res, rej) { resolve = res; reject = rej; });
626
+ function onResolve(value) { promise && (promise = null || resolve(value)); }
627
+ function onReject(error) { promise && (promise = null || reject(error)); }
628
+ for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {
629
+ var value = values_1[_i];
630
+ if (!isThenable(value)) {
631
+ value = this.resolve(value);
632
+ }
633
+ value.then(onResolve, onReject);
634
+ }
635
+ return promise;
636
+ };
637
+ ZoneAwarePromise.all = function (values) {
638
+ var resolve;
639
+ var reject;
640
+ var promise = new this(function (res, rej) { resolve = res; reject = rej; });
641
+ var count = 0;
642
+ var resolvedValues = [];
643
+ function onReject(error) { promise && reject(error); promise = null; }
644
+ for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {
645
+ var value = values_2[_i];
646
+ if (!isThenable(value)) {
647
+ value = this.resolve(value);
648
+ }
649
+ value.then((function (index) { return function (value) {
650
+ resolvedValues[index] = value;
651
+ count--;
652
+ if (promise && !count) {
653
+ resolve(resolvedValues);
654
+ }
655
+ promise == null;
656
+ }; })(count), onReject);
657
+ count++;
658
+ }
659
+ if (!count)
660
+ resolve(resolvedValues);
661
+ return promise;
662
+ };
663
+ ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {
664
+ var chainPromise = new ZoneAwarePromise(null);
665
+ var zone = Zone.current;
666
+ if (this[symbolState] == UNRESOLVED) {
667
+ this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);
1248
668
  }
1249
669
  else {
1250
- throw e;
670
+ scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);
1251
671
  }
1252
- }
1253
- finally {
1254
- this.afterTask();
1255
- // REVERT THE CURRENT ZONE BACK TO THE ORIGINAL ZONE
1256
- global.zone = oldZone;
1257
- }
1258
- };
1259
- Zone.prototype.beforeTask = function () { };
1260
- Zone.prototype.onZoneCreated = function () { };
1261
- Zone.prototype.afterTask = function () { };
1262
- Zone.prototype.enqueueTask = function (fn) {
1263
- deprecatedWarning('enqueueTask', 'Use addTask/addRepeatingTask/addMicroTask');
1264
- };
1265
- Zone.prototype.dequeueTask = function (fn) {
1266
- deprecatedWarning('dequeueTask', 'Use removeTask/removeRepeatingTask/removeMicroTask');
1267
- };
1268
- Zone.prototype.addTask = function (taskFn) { this.enqueueTask(taskFn); };
1269
- Zone.prototype.removeTask = function (taskFn) { this.dequeueTask(taskFn); };
1270
- Zone.prototype.addRepeatingTask = function (taskFn) { this.enqueueTask(taskFn); };
1271
- Zone.prototype.removeRepeatingTask = function (taskFn) { this.dequeueTask(taskFn); };
1272
- Zone.prototype.addMicrotask = function (taskFn) { this.enqueueTask(taskFn); };
1273
- Zone.prototype.removeMicrotask = function (taskFn) { this.dequeueTask(taskFn); };
1274
- Zone.prototype.addEventListener = function () {
1275
- return this[keys.common.addEventListener].apply(this, arguments);
1276
- };
1277
- Zone.prototype.removeEventListener = function () {
1278
- return this[keys.common.removeEventListener].apply(this, arguments);
1279
- };
1280
- // Root zone ID === 1
1281
- Zone.nextId = 1;
1282
- Zone.bindPromiseFn = promise.bindPromiseFn;
1283
- return Zone;
1284
- })();
1285
- exports.Zone = Zone;
1286
- ;
1287
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9jb3JlLnRzIl0sIm5hbWVzIjpbImRlcHJlY2F0ZWRXYXJuaW5nIiwiWm9uZSIsIlpvbmUuY29uc3RydWN0b3IiLCJab25lLmZvcmsiLCJab25lLmJpbmQiLCJab25lLmJpbmQuem9uZUJvdW5kRm4iLCJab25lLmJpbmRPbmNlIiwiWm9uZS5pc1Jvb3Rab25lIiwiWm9uZS5ydW4iLCJab25lLmJlZm9yZVRhc2siLCJab25lLm9uWm9uZUNyZWF0ZWQiLCJab25lLmFmdGVyVGFzayIsIlpvbmUuZW5xdWV1ZVRhc2siLCJab25lLmRlcXVldWVUYXNrIiwiWm9uZS5hZGRUYXNrIiwiWm9uZS5yZW1vdmVUYXNrIiwiWm9uZS5hZGRSZXBlYXRpbmdUYXNrIiwiWm9uZS5yZW1vdmVSZXBlYXRpbmdUYXNrIiwiWm9uZS5hZGRNaWNyb3Rhc2siLCJab25lLnJlbW92ZU1pY3JvdGFzayIsIlpvbmUuYWRkRXZlbnRMaXN0ZW5lciIsIlpvbmUucmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBWSxJQUFJLFdBQU0sUUFBUSxDQUFDLENBQUE7QUFDL0IsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUUzQyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFFcEIsMkJBQTJCLEdBQUcsRUFBRSxJQUFJO0lBQ2xDQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxVQUFVQSxDQUFDQSxjQUFjQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUNwQ0EsVUFBVUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsR0FBR0EsSUFBSUEsQ0FBQ0E7UUFDdkJBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBLHdCQUF3QkEsR0FBR0EsR0FBR0E7WUFDdkNBLHNFQUFzRUEsR0FBR0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7SUFDckZBLENBQUNBO0FBQ0hBLENBQUNBO0FBRUQ7SUFR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LDhCQUFlQSxHQUFmQSxVQUFnQkEsTUFBTUEsSUFBSWtCLElBQUlBLENBQUNBLFdBQVdBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBLENBQUNBO0lBRXJEbEIsK0JBQWdCQSxHQUFoQkE7UUFDRW1CLE1BQU1BLENBQUNBLElBQUlBLENBQUNBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLGdCQUFnQkEsQ0FBQ0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsSUFBSUEsRUFBRUEsU0FBU0EsQ0FBQ0EsQ0FBQ0E7SUFDbkVBLENBQUNBO0lBRURuQixrQ0FBbUJBLEdBQW5CQTtRQUNFb0IsTUFBTUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsbUJBQW1CQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxJQUFJQSxFQUFFQSxTQUFTQSxDQUFDQSxDQUFDQTtJQUN0RUEsQ0FBQ0E7SUFuSkRwQixxQkFBcUJBO0lBQ2RBLFdBQU1BLEdBQUdBLENBQUNBLENBQUNBO0lBQ1hBLGtCQUFhQSxHQUFHQSxPQUFPQSxDQUFDQSxhQUFhQSxDQUFDQTtJQWtKL0NBLFdBQUNBO0FBQURBLENBQUNBLEFBckpELElBcUpDO0FBckpZLFlBQUksT0FxSmhCLENBQUE7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMga2V5cyBmcm9tICcuL2tleXMnO1xuaW1wb3J0ICogYXMgcHJvbWlzZSBmcm9tICcuL3BhdGNoL3Byb21pc2UnO1xuXG52YXIgZGVwcmVjYXRlZCA9IHt9O1xuXG5mdW5jdGlvbiBkZXByZWNhdGVkV2FybmluZyhrZXksIHRleHQpIHtcbiAgaWYgKCFkZXByZWNhdGVkLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICBkZXByZWNhdGVkW2tleV0gPSB0cnVlO1xuICAgIGNvbnNvbGUud2FybihcIkRFUFJFQ0FUSU9OIFdBUk5JTkc6ICdcIiArIGtleSArXG4gICAgICAgIFwiJyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciByZWxlYXNlLiBcIiArIHRleHQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBab25lIHtcbiAgLy8gUm9vdCB6b25lIElEID09PSAxXG4gIHN0YXRpYyBuZXh0SWQgPSAxO1xuICBzdGF0aWMgYmluZFByb21pc2VGbiA9IHByb21pc2UuYmluZFByb21pc2VGbjtcblxuXG4gIHBhcmVudDogWm9uZSA9IG51bGw7XG4gICRpZDogbnVtYmVyO1xuICBjb25zdHJ1Y3RvcihwYXJlbnRab25lPywgZGF0YT8pIHtcbiAgICB2YXIgem9uZSA9IChhcmd1bWVudHMubGVuZ3RoKSA/IE9iamVjdC5jcmVhdGUocGFyZW50Wm9uZSkgOiB0aGlzO1xuXG4gICAgem9uZS5wYXJlbnQgPSBwYXJlbnRab25lIHx8IG51bGw7XG5cbiAgICBPYmplY3Qua2V5cyhkYXRhIHx8IHt9KS5mb3JFYWNoKGZ1bmN0aW9uKHByb3BlcnR5KSB7XG5cbiAgICAgIHZhciBfcHJvcGVydHkgPSBwcm9wZXJ0eS5zdWJzdHIoMSk7XG5cbiAgICAgIC8vIGF1Z21lbnQgdGhlIG5ldyB6b25lIHdpdGggYSBob29rIGRlY29yYXRlcyB0aGUgcGFyZW50J3MgaG9va1xuICAgICAgaWYgKHByb3BlcnR5WzBdID09PSAnJCcpIHtcbiAgICAgICAgem9uZVtfcHJvcGVydHldID0gZGF0YVtwcm9wZXJ0eV0ocGFyZW50Wm9uZVtfcHJvcGVydHldIHx8IGZ1bmN0aW9uICgpIHt9KTtcblxuICAgICAgLy8gYXVnbWVudCB0aGUgbmV3IHpvbmUgd2l0aCBhIGhvb2sgdGhhdCBydW5zIGFmdGVyIHRoZSBwYXJlbnQncyBob29rXG4gICAgICB9IGVsc2UgaWYgKHByb3BlcnR5WzBdID09PSAnKycpIHtcbiAgICAgICAgaWYgKHBhcmVudFpvbmVbX3Byb3BlcnR5XSkge1xuICAgICAgICAgIHpvbmVbX3Byb3BlcnR5XSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBwYXJlbnRab25lW19wcm9wZXJ0eV0uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIGRhdGFbcHJvcGVydHldLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgem9uZVtfcHJvcGVydHldID0gZGF0YVtwcm9wZXJ0eV07XG4gICAgICAgIH1cblxuICAgICAgLy8gYXVnbWVudCB0aGUgbmV3IHpvbmUgd2l0aCBhIGhvb2sgdGhhdCBydW5zIGJlZm9yZSB0aGUgcGFyZW50J3MgaG9va1xuICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eVswXSA9PT0gJy0nKSB7XG4gICAgICAgIGlmIChwYXJlbnRab25lW19wcm9wZXJ0eV0pIHtcbiAgICAgICAgICB6b25lW19wcm9wZXJ0eV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBkYXRhW3Byb3BlcnR5XS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudFpvbmVbX3Byb3BlcnR5XS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgem9uZVtfcHJvcGVydHldID0gZGF0YVtwcm9wZXJ0eV07XG4gICAgICAgIH1cblxuICAgICAgLy8gc2V0IHRoZSBuZXcgem9uZSdzIGhvb2sgKHJlcGxhY2luZyB0aGUgcGFyZW50IHpvbmUncylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHpvbmVbcHJvcGVydHldID0gKHR5cGVvZiBkYXRhW3Byb3BlcnR5XSA9PT0gJ29iamVjdCcpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhW3Byb3BlcnR5XSkpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtwcm9wZXJ0eV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB6b25lLiRpZCA9ICg8YW55PlpvbmUpLm5leHRJZCsrO1xuXG4gICAgcmV0dXJuIHpvbmU7XG4gIH1cblxuICBmb3JrKGxvY2Fscz8pIHtcbiAgICB0aGlzLm9uWm9uZUNyZWF0ZWQoKTtcbiAgICByZXR1cm4gbmV3IFpvbmUodGhpcywgbG9jYWxzKTtcbiAgfVxuXG4gIGJpbmQoZm4sIHNraXBFbnF1ZXVlPykge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0aW5nIGZ1bmN0aW9uIGdvdDogJyArIGZuKTtcbiAgICB9XG4gICAgc2tpcEVucXVldWUgfHwgdGhpcy5lbnF1ZXVlVGFzayhmbik7XG4gICAgdmFyIHpvbmUgPSB0aGlzLmlzUm9vdFpvbmUoKSA/IHRoaXMgOiB0aGlzLmZvcmsoKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gem9uZUJvdW5kRm4oKSB7XG4gICAgICByZXR1cm4gem9uZS5ydW4oZm4sIHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgfVxuXG4gIC8vLyBAZGVwcmVjYXRlZFxuICBiaW5kT25jZShmbikge1xuICAgIGRlcHJlY2F0ZWRXYXJuaW5nKCdiaW5kT25jZScsICdUaGVyZSBpcyBubyByZXBsYWNlbWVudC4nKTtcbiAgICB2YXIgYm91bmRab25lID0gdGhpcztcbiAgICByZXR1cm4gdGhpcy5iaW5kKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciByZXN1bHQgPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgYm91bmRab25lLmRlcXVldWVUYXNrKGZuKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG4gIH1cblxuICBpc1Jvb3Rab25lKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudCA9PT0gbnVsbDtcbiAgfVxuXG4gIHJ1bihmbiwgYXBwbHlUbz8sIGFwcGx5V2l0aD8pIHtcbiAgICBhcHBseVdpdGggPSBhcHBseVdpdGggfHwgW107XG5cbiAgICB2YXIgb2xkWm9uZSA9IGdsb2JhbC56b25lO1xuXG4gICAgLy8gTUFLRSBUSElTIFpPTkUgVEhFIENVUlJFTlQgWk9ORVxuICAgIGdsb2JhbC56b25lID0gdGhpcztcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLmJlZm9yZVRhc2soKTtcbiAgICAgIHJldHVybiBmbi5hcHBseShhcHBseVRvLCBhcHBseVdpdGgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICh0aGlzLm9uRXJyb3IpIHtcbiAgICAgICAgdGhpcy5vbkVycm9yKGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5hZnRlclRhc2soKTtcbiAgICAgIC8vIFJFVkVSVCBUSEUgQ1VSUkVOVCBaT05FIEJBQ0sgVE8gVEhFIE9SSUdJTkFMIFpPTkVcbiAgICAgIGdsb2JhbC56b25lID0gb2xkWm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBvbkVycm9yIGlzIHVzZWQgdG8gb3ZlcnJpZGUgZXJyb3IgaGFuZGxpbmcuXG4gIC8vIFdoZW4gYSBjdXN0b20gZXJyb3IgaGFuZGxlciBpcyBwcm92aWRlZCwgaXQgc2hvdWxkIG1vc3QgcHJvYmFibHkgcmV0aHJvdyB0aGUgZXhjZXB0aW9uXG4gIC8vIG5vdCB0byBicmVhayB0aGUgZXhwZWN0ZWQgY29udHJvbCBmbG93OlxuICAvL1xuICAvLyBgcHJvbWlzZS50aGVuKGZuVGhhdFRocm93cykuY2F0Y2goZm4pO2BcbiAgLy9cbiAgLy8gV2hlbiB0aGlzIGNvZGUgaXMgZXhlY3V0ZWQgaW4gYSB6b25lIHdpdGggYSBjdXN0b20gb25FcnJvciBoYW5kbGVyIHRoYXQgZG9lc24ndCByZXRocm93LCB0aGVcbiAgLy8gYC5jYXRjaCgpYCBicmFuY2ggd2lsbCBub3QgYmUgdGFrZW4gYXMgdGhlIGBmblRoYXRUaHJvd3NgIGV4Y2VwdGlvbiB3aWxsIGJlIHN3YWxsb3dlZCBieSB0aGVcbiAgLy8gaGFuZGxlci5cbiAgb25FcnJvciA9IG51bGw7XG4gIGJlZm9yZVRhc2soKSB7fVxuICBvblpvbmVDcmVhdGVkKCkge31cbiAgYWZ0ZXJUYXNrKCkge31cbiAgXG4gIGVucXVldWVUYXNrKGZuOiBGdW5jdGlvbikge1xuICAgIGRlcHJlY2F0ZWRXYXJuaW5nKCdlbnF1ZXVlVGFzaycsICdVc2UgYWRkVGFzay9hZGRSZXBlYXRpbmdUYXNrL2FkZE1pY3JvVGFzaycpO1xuICB9XG4gIGRlcXVldWVUYXNrKGZuOiBGdW5jdGlvbikge1xuICAgIGRlcHJlY2F0ZWRXYXJuaW5nKCdkZXF1ZXVlVGFzaycsICdVc2UgcmVtb3ZlVGFzay9yZW1vdmVSZXBlYXRpbmdUYXNrL3JlbW92ZU1pY3JvVGFzaycpO1xuICB9XG5cbiAgYWRkVGFzayh0YXNrRm4pIHsgdGhpcy5lbnF1ZXVlVGFzayh0YXNrRm4pOyB9XG4gIHJlbW92ZVRhc2sodGFza0ZuKSB7IHRoaXMuZGVxdWV1ZVRhc2sodGFza0ZuKTsgfVxuXG4gIGFkZFJlcGVhdGluZ1Rhc2sodGFza0ZuKSB7IHRoaXMuZW5xdWV1ZVRhc2sodGFza0ZuKTsgfVxuICByZW1vdmVSZXBlYXRpbmdUYXNrKHRhc2tGbikgeyB0aGlzLmRlcXVldWVUYXNrKHRhc2tGbik7IH1cblxuICBhZGRNaWNyb3Rhc2sodGFza0ZuKSB7IHRoaXMuZW5xdWV1ZVRhc2sodGFza0ZuKTsgfVxuICByZW1vdmVNaWNyb3Rhc2sodGFza0ZuKSB7IHRoaXMuZGVxdWV1ZVRhc2sodGFza0ZuKTsgfVxuXG4gIGFkZEV2ZW50TGlzdGVuZXIoKSB7XG4gICAgcmV0dXJuIHRoaXNba2V5cy5jb21tb24uYWRkRXZlbnRMaXN0ZW5lcl0uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIoKSB7XG4gICAgcmV0dXJuIHRoaXNba2V5cy5jb21tb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcl0uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfVxufTtcblxuIl19
1288
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1289
-
1290
- /***/ },
1291
- /* 7 */
1292
- /***/ function(module, exports) {
672
+ return chainPromise;
673
+ };
674
+ ZoneAwarePromise.prototype.catch = function (onRejected) {
675
+ return this.then(null, onRejected);
676
+ };
677
+ return ZoneAwarePromise;
678
+ }());
679
+ var NativePromise = global[__symbol__('Promise')] = global.Promise;
680
+ global.Promise = ZoneAwarePromise;
681
+ if (NativePromise) {
682
+ var NativePromiseProtototype = NativePromise.prototype;
683
+ var NativePromiseThen_1 = NativePromiseProtototype[__symbol__('then')]
684
+ = NativePromiseProtototype.then;
685
+ NativePromiseProtototype.then = function (onResolve, onReject) {
686
+ var nativePromise = this;
687
+ return new ZoneAwarePromise(function (resolve, reject) {
688
+ NativePromiseThen_1.call(nativePromise, resolve, reject);
689
+ }).then(onResolve, onReject);
690
+ };
691
+ }
692
+ return global.Zone = Zone;
693
+ })(typeof window === 'undefined' ? global : window);
1293
694
 
1294
- /**
1295
- * Creates keys for `private` properties on exposed objects to minimize interactions with other codebases.
1296
- */
1297
- function create(name) {
1298
- // `Symbol` implementation is broken in Chrome 39.0.2171, do not use them even if they are available
1299
- return '_zone$' + name;
1300
- }
1301
- exports.create = create;
1302
- exports.common = {
1303
- addEventListener: create('addEventListener'),
1304
- removeEventListener: create('removeEventListener')
1305
- };
1306
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9rZXlzLnRzIl0sIm5hbWVzIjpbImNyZWF0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxnQkFBdUIsSUFBSTtJQUN6QkEsb0dBQW9HQTtJQUNwR0EsTUFBTUEsQ0FBQ0EsUUFBUUEsR0FBR0EsSUFBSUEsQ0FBQ0E7QUFDekJBLENBQUNBO0FBSGUsY0FBTSxTQUdyQixDQUFBO0FBRVUsY0FBTSxHQUFHO0lBQ2xCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUM1QyxtQkFBbUIsRUFBRSxNQUFNLENBQUMscUJBQXFCLENBQUM7Q0FDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBrZXlzIGZvciBgcHJpdmF0ZWAgcHJvcGVydGllcyBvbiBleHBvc2VkIG9iamVjdHMgdG8gbWluaW1pemUgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgY29kZWJhc2VzLlxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUobmFtZSkge1xuICAvLyBgU3ltYm9sYCBpbXBsZW1lbnRhdGlvbiBpcyBicm9rZW4gaW4gQ2hyb21lIDM5LjAuMjE3MSwgZG8gbm90IHVzZSB0aGVtIGV2ZW4gaWYgdGhleSBhcmUgYXZhaWxhYmxlXG4gIHJldHVybiAnX3pvbmUkJyArIG5hbWU7XG59XG5cbmV4cG9ydCB2YXIgY29tbW9uID0ge1xuICBhZGRFdmVudExpc3RlbmVyOiBjcmVhdGUoJ2FkZEV2ZW50TGlzdGVuZXInKSxcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcjogY3JlYXRlKCdyZW1vdmVFdmVudExpc3RlbmVyJylcbn07XG4iXX0=
695
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1307
696
 
1308
697
  /***/ },
1309
- /* 8 */
698
+ /* 2 */
1310
699
  /***/ function(module, exports, __webpack_require__) {
1311
700
 
1312
- /* WEBPACK VAR INJECTION */(function(global) {var utils = __webpack_require__(9);
1313
- if (global.Promise) {
1314
- exports.bindPromiseFn = function (delegate) {
1315
- return function () {
1316
- var delegatePromise = delegate.apply(this, arguments);
1317
- // if the delegate returned an instance of Promise, forward it.
1318
- if (delegatePromise instanceof Promise) {
1319
- return delegatePromise;
1320
- }
1321
- // Otherwise wrap the Promise-like in a global Promise
1322
- return new Promise(function (resolve, reject) {
1323
- delegatePromise.then(resolve, reject);
1324
- });
1325
- };
1326
- };
1327
- }
1328
- else {
1329
- exports.bindPromiseFn = function (delegate) {
1330
- return function () {
1331
- return _patchThenable(delegate.apply(this, arguments));
1332
- };
1333
- };
1334
- }
1335
- function _patchPromiseFnsOnObject(objectPath, fnNames) {
1336
- var obj = global;
1337
- var exists = objectPath.every(function (segment) {
1338
- obj = obj[segment];
1339
- return obj;
1340
- });
1341
- if (!exists) {
1342
- return;
701
+ "use strict";
702
+ var utils_1 = __webpack_require__(3);
703
+ var WTF_ISSUE_555 = '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';
704
+ var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex'.split(',');
705
+ var EVENT_TARGET = 'EventTarget';
706
+ function eventTargetPatch(_global) {
707
+ var apis = [];
708
+ var isWtf = _global['wtf'];
709
+ if (isWtf) {
710
+ // Workaround for: https://github.com/google/tracing-framework/issues/555
711
+ apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);
712
+ }
713
+ else if (_global[EVENT_TARGET]) {
714
+ apis.push(EVENT_TARGET);
1343
715
  }
1344
- fnNames.forEach(function (name) {
1345
- var fn = obj[name];
1346
- if (fn) {
1347
- obj[name] = exports.bindPromiseFn(fn);
1348
- }
1349
- });
1350
- }
1351
- function _patchThenable(thenable) {
1352
- var then = thenable.then;
1353
- thenable.then = function () {
1354
- var args = utils.bindArguments(arguments);
1355
- var nextThenable = then.apply(thenable, args);
1356
- return _patchThenable(nextThenable);
1357
- };
1358
- var ocatch = thenable.catch;
1359
- thenable.catch = function () {
1360
- var args = utils.bindArguments(arguments);
1361
- var nextThenable = ocatch.apply(thenable, args);
1362
- return _patchThenable(nextThenable);
1363
- };
1364
- return thenable;
1365
- }
1366
- function apply() {
1367
- // Patch .then() and .catch() on native Promises to execute callbacks in the zone where
1368
- // those functions are called.
1369
- if (global.Promise) {
1370
- utils.patchPrototype(Promise.prototype, [
1371
- 'then',
1372
- 'catch'
1373
- ]);
1374
- // Patch browser APIs that return a Promise
1375
- var patchFns = [
1376
- // fetch
1377
- [[], ['fetch']],
1378
- [['Response', 'prototype'], ['arrayBuffer', 'blob', 'json', 'text']]
1379
- ];
1380
- patchFns.forEach(function (objPathAndFns) {
1381
- _patchPromiseFnsOnObject(objPathAndFns[0], objPathAndFns[1]);
1382
- });
716
+ else {
717
+ // Note: EventTarget is not available in all browsers,
718
+ // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget
719
+ apis = NO_EVENT_TARGET;
720
+ }
721
+ for (var i = 0; i < apis.length; i++) {
722
+ var type = _global[apis[i]];
723
+ utils_1.patchEventTargetMethods(type && type.prototype);
1383
724
  }
1384
725
  }
1385
- exports.apply = apply;
1386
- module.exports = {
1387
- apply: apply,
1388
- bindPromiseFn: exports.bindPromiseFn
1389
- };
1390
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wYXRjaC9wcm9taXNlLnRzIl0sIm5hbWVzIjpbIl9wYXRjaFByb21pc2VGbnNPbk9iamVjdCIsIl9wYXRjaFRoZW5hYmxlIiwiYXBwbHkiXSwibWFwcGluZ3MiOiJBQUFBLElBQVksS0FBSyxXQUFNLFVBQVUsQ0FBQyxDQUFBO0FBdUJsQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuQixxQkFBYSxHQUFHLFVBQVUsUUFBUTtRQUNoQyxNQUFNLENBQUM7WUFDTCxJQUFJLGVBQWUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV0RCwrREFBK0Q7WUFDL0QsRUFBRSxDQUFDLENBQUMsZUFBZSxZQUFZLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDekIsQ0FBQztZQUVELHNEQUFzRDtZQUN0RCxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBUyxPQUFPLEVBQUUsTUFBTTtnQkFDekMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUMsSUFBSSxDQUFDLENBQUM7SUFDTixxQkFBYSxHQUFHLFVBQVUsUUFBUTtRQUNoQyxNQUFNLENBQUM7WUFDTCxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELGtDQUFrQyxVQUFVLEVBQUUsT0FBTztJQUNuREEsSUFBSUEsR0FBR0EsR0FBR0EsTUFBTUEsQ0FBQ0E7SUFFakJBLElBQUlBLE1BQU1BLEdBQUdBLFVBQVVBLENBQUNBLEtBQUtBLENBQUNBLFVBQVVBLE9BQU9BO1FBQzdDLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQ0EsQ0FBQ0E7SUFFSEEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7UUFDWkEsTUFBTUEsQ0FBQ0E7SUFDVEEsQ0FBQ0E7SUFFREEsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsVUFBVUEsSUFBSUE7UUFDNUIsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDUCxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcscUJBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDQSxDQUFDQTtBQUNMQSxDQUFDQTtBQUVELHdCQUF3QixRQUFRO0lBQzlCQyxJQUFJQSxJQUFJQSxHQUFHQSxRQUFRQSxDQUFDQSxJQUFJQSxDQUFDQTtJQUN6QkEsUUFBUUEsQ0FBQ0EsSUFBSUEsR0FBR0E7UUFDZCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDQTtJQUVGQSxJQUFJQSxNQUFNQSxHQUFHQSxRQUFRQSxDQUFDQSxLQUFLQSxDQUFDQTtJQUM1QkEsUUFBUUEsQ0FBQ0EsS0FBS0EsR0FBR0E7UUFDZixJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDQTtJQUVGQSxNQUFNQSxDQUFDQSxRQUFRQSxDQUFDQTtBQUNsQkEsQ0FBQ0E7QUFHRDtJQUNFQyx1RkFBdUZBO0lBQ3ZGQSw4QkFBOEJBO0lBQzlCQSxFQUFFQSxDQUFDQSxDQUFDQSxNQUFNQSxDQUFDQSxPQUFPQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUNuQkEsS0FBS0EsQ0FBQ0EsY0FBY0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsU0FBU0EsRUFBRUE7WUFDdENBLE1BQU1BO1lBQ05BLE9BQU9BO1NBQ1JBLENBQUNBLENBQUNBO1FBRUhBLDJDQUEyQ0E7UUFDM0NBLElBQUlBLFFBQVFBLEdBQUdBO1lBQ2JBLFFBQVFBO1lBQ1JBLENBQUNBLEVBQUVBLEVBQUVBLENBQUNBLE9BQU9BLENBQUNBLENBQUNBO1lBQ2ZBLENBQUNBLENBQUNBLFVBQVVBLEVBQUVBLFdBQVdBLENBQUNBLEVBQUVBLENBQUNBLGFBQWFBLEVBQUVBLE1BQU1BLEVBQUVBLE1BQU1BLEVBQUVBLE1BQU1BLENBQUNBLENBQUNBO1NBQ3JFQSxDQUFDQTtRQUVGQSxRQUFRQSxDQUFDQSxPQUFPQSxDQUFDQSxVQUFTQSxhQUFhQTtZQUNyQyx3QkFBd0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDQSxDQUFDQTtJQUNMQSxDQUFDQTtBQUNIQSxDQUFDQTtBQXBCZSxhQUFLLFFBb0JwQixDQUFBO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNmLEtBQUssRUFBRSxLQUFLO0lBQ1osYUFBYSxFQUFFLHFCQUFhO0NBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi91dGlscyc7XG5cbi8qXG4gKiBQYXRjaGVzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgUHJvbWlzZS1saWtlIGluc3RhbmNlLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSB1c2VkIHdoZW4gZWl0aGVyOlxuICogLSBOYXRpdmUgUHJvbWlzZXMgYXJlIG5vdCBhdmFpbGFibGUsXG4gKiAtIFRoZSBmdW5jdGlvbiByZXR1cm5zIGEgUHJvbWlzZS1saWtlIG9iamVjdC5cbiAqXG4gKiBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2Ugem9uZXMgcmVseSBvbiBhIFByb21pc2UgbW9ua2V5IHBhdGNoIHRoYXQgY291bGQgbm90IGJlIGFwcGxpZWQgd2hlblxuICogUHJvbWlzZSBpcyBub3QgbmF0aXZlbHkgYXZhaWxhYmxlIG9yIHdoZW4gdGhlIHJldHVybmVkIG9iamVjdCBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZS5cbiAqXG4gKiBOb3RlIHRoYXQgY2FsbGluZyBgYmluZFByb21pc2VGbmAgb24gYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBuYXRpdmUgUHJvbWlzZSB3aWxsIGFsc28gd29ya1xuICogd2l0aCBtaW5pbWFsIG92ZXJoZWFkLlxuICpcbiAqIGBgYFxuICogdmFyIGJvdW5kRnVuY3Rpb24gPSBiaW5kUHJvbWlzZUZuKEZ1bmN0aW9uUmV0dXJuaW5nQVByb21pc2UpO1xuICpcbiAqIGJvdW5kRnVuY3Rpb24udGhlbihzdWNjZXNzSGFuZGxlciwgZXJyb3JIYW5kbGVyKTtcbiAqIGBgYFxuICovXG5leHBvcnQgdmFyIGJpbmRQcm9taXNlRm47XG5cbmlmIChnbG9iYWwuUHJvbWlzZSkge1xuICBiaW5kUHJvbWlzZUZuID0gZnVuY3Rpb24gKGRlbGVnYXRlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIGRlbGVnYXRlUHJvbWlzZSA9IGRlbGVnYXRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgICAgIC8vIGlmIHRoZSBkZWxlZ2F0ZSByZXR1cm5lZCBhbiBpbnN0YW5jZSBvZiBQcm9taXNlLCBmb3J3YXJkIGl0LlxuICAgICAgaWYgKGRlbGVnYXRlUHJvbWlzZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgcmV0dXJuIGRlbGVnYXRlUHJvbWlzZTtcbiAgICAgIH1cblxuICAgICAgLy8gT3RoZXJ3aXNlIHdyYXAgdGhlIFByb21pc2UtbGlrZSBpbiBhIGdsb2JhbCBQcm9taXNlXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGRlbGVnYXRlUHJvbWlzZS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICB9KTtcbiAgICB9O1xuICB9O1xufSBlbHNlIHtcbiAgYmluZFByb21pc2VGbiA9IGZ1bmN0aW9uIChkZWxlZ2F0ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gX3BhdGNoVGhlbmFibGUoZGVsZWdhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gICAgfTtcbiAgfTtcbn1cblxuXG5mdW5jdGlvbiBfcGF0Y2hQcm9taXNlRm5zT25PYmplY3Qob2JqZWN0UGF0aCwgZm5OYW1lcykge1xuICB2YXIgb2JqID0gZ2xvYmFsO1xuXG4gIHZhciBleGlzdHMgPSBvYmplY3RQYXRoLmV2ZXJ5KGZ1bmN0aW9uIChzZWdtZW50KSB7XG4gICAgb2JqID0gb2JqW3NlZ21lbnRdO1xuICAgIHJldHVybiBvYmo7XG4gIH0pO1xuXG4gIGlmICghZXhpc3RzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm5OYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdmFyIGZuID0gb2JqW25hbWVdO1xuICAgIGlmIChmbikge1xuICAgICAgb2JqW25hbWVdID0gYmluZFByb21pc2VGbihmbik7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gX3BhdGNoVGhlbmFibGUodGhlbmFibGUpIHtcbiAgdmFyIHRoZW4gPSB0aGVuYWJsZS50aGVuO1xuICB0aGVuYWJsZS50aGVuID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBhcmdzID0gdXRpbHMuYmluZEFyZ3VtZW50cyhhcmd1bWVudHMpO1xuICAgIHZhciBuZXh0VGhlbmFibGUgPSB0aGVuLmFwcGx5KHRoZW5hYmxlLCBhcmdzKTtcbiAgICByZXR1cm4gX3BhdGNoVGhlbmFibGUobmV4dFRoZW5hYmxlKTtcbiAgfTtcblxuICB2YXIgb2NhdGNoID0gdGhlbmFibGUuY2F0Y2g7XG4gIHRoZW5hYmxlLmNhdGNoID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBhcmdzID0gdXRpbHMuYmluZEFyZ3VtZW50cyhhcmd1bWVudHMpO1xuICAgIHZhciBuZXh0VGhlbmFibGUgPSBvY2F0Y2guYXBwbHkodGhlbmFibGUsIGFyZ3MpO1xuICAgIHJldHVybiBfcGF0Y2hUaGVuYWJsZShuZXh0VGhlbmFibGUpO1xuICB9O1xuXG4gIHJldHVybiB0aGVuYWJsZTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHkoKSB7XG4gIC8vIFBhdGNoIC50aGVuKCkgYW5kIC5jYXRjaCgpIG9uIG5hdGl2ZSBQcm9taXNlcyB0byBleGVjdXRlIGNhbGxiYWNrcyBpbiB0aGUgem9uZSB3aGVyZVxuICAvLyB0aG9zZSBmdW5jdGlvbnMgYXJlIGNhbGxlZC5cbiAgaWYgKGdsb2JhbC5Qcm9taXNlKSB7XG4gICAgdXRpbHMucGF0Y2hQcm90b3R5cGUoUHJvbWlzZS5wcm90b3R5cGUsIFtcbiAgICAgICd0aGVuJyxcbiAgICAgICdjYXRjaCdcbiAgICBdKTtcblxuICAgIC8vIFBhdGNoIGJyb3dzZXIgQVBJcyB0aGF0IHJldHVybiBhIFByb21pc2VcbiAgICB2YXIgcGF0Y2hGbnMgPSBbXG4gICAgICAvLyBmZXRjaFxuICAgICAgW1tdLCBbJ2ZldGNoJ11dLFxuICAgICAgW1snUmVzcG9uc2UnLCAncHJvdG90eXBlJ10sIFsnYXJyYXlCdWZmZXInLCAnYmxvYicsICdqc29uJywgJ3RleHQnXV1cbiAgICBdO1xuXG4gICAgcGF0Y2hGbnMuZm9yRWFjaChmdW5jdGlvbihvYmpQYXRoQW5kRm5zKSB7XG4gICAgICBfcGF0Y2hQcm9taXNlRm5zT25PYmplY3Qob2JqUGF0aEFuZEZuc1swXSwgb2JqUGF0aEFuZEZuc1sxXSk7XG4gICAgfSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGFwcGx5OiBhcHBseSxcbiAgYmluZFByb21pc2VGbjogYmluZFByb21pc2VGblxufTtcbiJdfQ==
1391
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
726
+ exports.eventTargetPatch = eventTargetPatch;
727
+
1392
728
 
1393
729
  /***/ },
1394
- /* 9 */
1395
- /***/ function(module, exports, __webpack_require__) {
730
+ /* 3 */
731
+ /***/ function(module, exports) {
1396
732
 
1397
- /* WEBPACK VAR INJECTION */(function(global) {var keys = __webpack_require__(7);
1398
- function bindArguments(args) {
733
+ /* WEBPACK VAR INJECTION */(function(global) {/**
734
+ * Suppress closure compiler errors about unknown 'process' variable
735
+ * @fileoverview
736
+ * @suppress {undefinedVars}
737
+ */
738
+ "use strict";
739
+ exports.zoneSymbol = Zone['__symbol__'];
740
+ var _global = typeof window == 'undefined' ? global : window;
741
+ function bindArguments(args, source) {
1399
742
  for (var i = args.length - 1; i >= 0; i--) {
1400
743
  if (typeof args[i] === 'function') {
1401
- args[i] = global.zone.bind(args[i]);
744
+ args[i] = Zone.current.wrap(args[i], source + '_' + i);
1402
745
  }
1403
746
  }
1404
747
  return args;
1405
748
  }
1406
749
  exports.bindArguments = bindArguments;
1407
750
  ;
1408
- function patchPrototype(obj, fnNames) {
1409
- fnNames.forEach(function (name) {
1410
- var delegate = obj[name];
751
+ function patchPrototype(prototype, fnNames) {
752
+ var source = prototype.constructor['name'];
753
+ var _loop_1 = function(i) {
754
+ var name_1 = fnNames[i];
755
+ var delegate = prototype[name_1];
1411
756
  if (delegate) {
1412
- obj[name] = function () {
1413
- return delegate.apply(this, bindArguments(arguments));
1414
- };
757
+ prototype[name_1] = (function (delegate) {
758
+ return function () {
759
+ return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));
760
+ };
761
+ })(delegate);
1415
762
  }
1416
- });
763
+ };
764
+ for (var i = 0; i < fnNames.length; i++) {
765
+ _loop_1(i);
766
+ }
1417
767
  }
1418
768
  exports.patchPrototype = patchPrototype;
1419
769
  ;
1420
- function isWebWorker() {
1421
- return (typeof document === "undefined");
1422
- }
1423
- exports.isWebWorker = isWebWorker;
770
+ exports.isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);
771
+ exports.isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]');
772
+ exports.isBrowser = !exports.isNode && !exports.isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);
1424
773
  function patchProperty(obj, prop) {
1425
774
  var desc = Object.getOwnPropertyDescriptor(obj, prop) || {
1426
775
  enumerable: true,
@@ -1441,8 +790,14 @@ THE SOFTWARE.
1441
790
  this.removeEventListener(eventName, this[_prop]);
1442
791
  }
1443
792
  if (typeof fn === 'function') {
1444
- this[_prop] = fn;
1445
- this.addEventListener(eventName, fn, false);
793
+ var wrapFn = function (event) {
794
+ var result;
795
+ result = fn.apply(this, arguments);
796
+ if (result != undefined && !result)
797
+ event.preventDefault();
798
+ };
799
+ this[_prop] = wrapFn;
800
+ this.addEventListener(eventName, wrapFn, false);
1446
801
  }
1447
802
  else {
1448
803
  this[_prop] = null;
@@ -1455,84 +810,146 @@ THE SOFTWARE.
1455
810
  }
1456
811
  exports.patchProperty = patchProperty;
1457
812
  ;
1458
- function patchProperties(obj, properties) {
1459
- (properties || (function () {
1460
- var props = [];
1461
- for (var prop in obj) {
1462
- props.push(prop);
813
+ function patchOnProperties(obj, properties) {
814
+ var onProperties = [];
815
+ for (var prop in obj) {
816
+ if (prop.substr(0, 2) == 'on') {
817
+ onProperties.push(prop);
1463
818
  }
1464
- return props;
1465
- }()).
1466
- filter(function (propertyName) {
1467
- return propertyName.substr(0, 2) === 'on';
1468
- })).
1469
- forEach(function (eventName) {
1470
- patchProperty(obj, eventName);
1471
- });
819
+ }
820
+ for (var j = 0; j < onProperties.length; j++) {
821
+ patchProperty(obj, onProperties[j]);
822
+ }
823
+ if (properties) {
824
+ for (var i = 0; i < properties.length; i++) {
825
+ patchProperty(obj, 'on' + properties[i]);
826
+ }
827
+ }
1472
828
  }
1473
- exports.patchProperties = patchProperties;
829
+ exports.patchOnProperties = patchOnProperties;
1474
830
  ;
1475
- var originalFnKey = keys.create('originalFn');
1476
- var boundFnsKey = keys.create('boundFns');
1477
- function patchEventTargetMethods(obj) {
1478
- // This is required for the addEventListener hook on the root zone.
1479
- obj[keys.common.addEventListener] = obj.addEventListener;
1480
- obj.addEventListener = function (eventName, handler, useCapturing) {
1481
- //Ignore special listeners of IE11 & Edge dev tools, see https://github.com/angular/zone.js/issues/150
1482
- if (handler && handler.toString() !== "[object FunctionWrapper]") {
1483
- var eventType = eventName + (useCapturing ? '$capturing' : '$bubbling');
1484
- var fn;
1485
- if (handler.handleEvent) {
1486
- // Have to pass in 'handler' reference as an argument here, otherwise it gets clobbered in
1487
- // IE9 by the arguments[1] assignment at end of this function.
1488
- fn = (function (handler) {
1489
- return function () {
1490
- handler.handleEvent.apply(handler, arguments);
1491
- };
1492
- })(handler);
1493
- }
1494
- else {
1495
- fn = handler;
831
+ var EVENT_TASKS = exports.zoneSymbol('eventTasks');
832
+ var ADD_EVENT_LISTENER = 'addEventListener';
833
+ var REMOVE_EVENT_LISTENER = 'removeEventListener';
834
+ var SYMBOL_ADD_EVENT_LISTENER = exports.zoneSymbol(ADD_EVENT_LISTENER);
835
+ var SYMBOL_REMOVE_EVENT_LISTENER = exports.zoneSymbol(REMOVE_EVENT_LISTENER);
836
+ function findExistingRegisteredTask(target, handler, name, capture, remove) {
837
+ var eventTasks = target[EVENT_TASKS];
838
+ if (eventTasks) {
839
+ for (var i = 0; i < eventTasks.length; i++) {
840
+ var eventTask = eventTasks[i];
841
+ var data = eventTask.data;
842
+ if (data.handler === handler
843
+ && data.useCapturing === capture
844
+ && data.eventName === name) {
845
+ if (remove) {
846
+ eventTasks.splice(i, 1);
847
+ }
848
+ return eventTask;
1496
849
  }
1497
- handler[originalFnKey] = fn;
1498
- handler[boundFnsKey] = handler[boundFnsKey] || {};
1499
- handler[boundFnsKey][eventType] = handler[boundFnsKey][eventType] || global.zone.bind(fn);
1500
- arguments[1] = handler[boundFnsKey][eventType];
1501
- }
1502
- // - Inside a Web Worker, `this` is undefined, the context is `global` (= `self`)
1503
- // - When `addEventListener` is called on the global context in strict mode, `this` is undefined
1504
- // see https://github.com/angular/zone.js/issues/190
1505
- var target = this || global;
1506
- return global.zone.addEventListener.apply(target, arguments);
1507
- };
1508
- // This is required for the removeEventListener hook on the root zone.
1509
- obj[keys.common.removeEventListener] = obj.removeEventListener;
1510
- obj.removeEventListener = function (eventName, handler, useCapturing) {
1511
- var eventType = eventName + (useCapturing ? '$capturing' : '$bubbling');
1512
- if (handler && handler[boundFnsKey] && handler[boundFnsKey][eventType]) {
1513
- var _bound = handler[boundFnsKey];
1514
- arguments[1] = _bound[eventType];
1515
- delete _bound[eventType];
1516
- global.zone.dequeueTask(handler[originalFnKey]);
1517
850
  }
1518
- // - Inside a Web Worker, `this` is undefined, the context is `global`
1519
- // - When `addEventListener` is called on the global context in strict mode, `this` is undefined
1520
- // see https://github.com/angular/zone.js/issues/190
1521
- var target = this || global;
1522
- var result = global.zone.removeEventListener.apply(target, arguments);
1523
- return result;
851
+ }
852
+ return null;
853
+ }
854
+ function attachRegisteredEvent(target, eventTask) {
855
+ var eventTasks = target[EVENT_TASKS];
856
+ if (!eventTasks) {
857
+ eventTasks = target[EVENT_TASKS] = [];
858
+ }
859
+ eventTasks.push(eventTask);
860
+ }
861
+ function scheduleEventListener(eventTask) {
862
+ var meta = eventTask.data;
863
+ attachRegisteredEvent(meta.target, eventTask);
864
+ return meta.target[SYMBOL_ADD_EVENT_LISTENER](meta.eventName, eventTask.invoke, meta.useCapturing);
865
+ }
866
+ function cancelEventListener(eventTask) {
867
+ var meta = eventTask.data;
868
+ findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true);
869
+ meta.target[SYMBOL_REMOVE_EVENT_LISTENER](meta.eventName, eventTask.invoke, meta.useCapturing);
870
+ }
871
+ function zoneAwareAddEventListener(self, args) {
872
+ var eventName = args[0];
873
+ var handler = args[1];
874
+ var useCapturing = args[2] || false;
875
+ // - Inside a Web Worker, `this` is undefined, the context is `global`
876
+ // - When `addEventListener` is called on the global context in strict mode, `this` is undefined
877
+ // see https://github.com/angular/zone.js/issues/190
878
+ var target = self || _global;
879
+ var delegate = null;
880
+ if (typeof handler == 'function') {
881
+ delegate = handler;
882
+ }
883
+ else if (handler && handler.handleEvent) {
884
+ delegate = function (event) { return handler.handleEvent(event); };
885
+ }
886
+ var validZoneHandler = false;
887
+ try {
888
+ // In cross site contexts (such as WebDriver frameworks like Selenium),
889
+ // accessing the handler object here will cause an exception to be thrown which
890
+ // will fail tests prematurely.
891
+ validZoneHandler = handler && handler.toString() === "[object FunctionWrapper]";
892
+ }
893
+ catch (e) {
894
+ // Returning nothing here is fine, because objects in a cross-site context are unusable
895
+ return;
896
+ }
897
+ // Ignore special listeners of IE11 & Edge dev tools, see https://github.com/angular/zone.js/issues/150
898
+ if (!delegate || validZoneHandler) {
899
+ return target[SYMBOL_ADD_EVENT_LISTENER](eventName, handler, useCapturing);
900
+ }
901
+ var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, false);
902
+ if (eventTask) {
903
+ // we already registered, so this will have noop.
904
+ return target[SYMBOL_ADD_EVENT_LISTENER](eventName, eventTask.invoke, useCapturing);
905
+ }
906
+ var zone = Zone.current;
907
+ var source = target.constructor['name'] + '.addEventListener:' + eventName;
908
+ var data = {
909
+ target: target,
910
+ eventName: eventName,
911
+ name: eventName,
912
+ useCapturing: useCapturing,
913
+ handler: handler
1524
914
  };
915
+ zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener);
916
+ }
917
+ function zoneAwareRemoveEventListener(self, args) {
918
+ var eventName = args[0];
919
+ var handler = args[1];
920
+ var useCapturing = args[2] || false;
921
+ // - Inside a Web Worker, `this` is undefined, the context is `global`
922
+ // - When `addEventListener` is called on the global context in strict mode, `this` is undefined
923
+ // see https://github.com/angular/zone.js/issues/190
924
+ var target = self || _global;
925
+ var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, true);
926
+ if (eventTask) {
927
+ eventTask.zone.cancelTask(eventTask);
928
+ }
929
+ else {
930
+ target[SYMBOL_REMOVE_EVENT_LISTENER](eventName, handler, useCapturing);
931
+ }
932
+ }
933
+ function patchEventTargetMethods(obj) {
934
+ if (obj && obj.addEventListener) {
935
+ patchMethod(obj, ADD_EVENT_LISTENER, function () { return zoneAwareAddEventListener; });
936
+ patchMethod(obj, REMOVE_EVENT_LISTENER, function () { return zoneAwareRemoveEventListener; });
937
+ return true;
938
+ }
939
+ else {
940
+ return false;
941
+ }
1525
942
  }
1526
943
  exports.patchEventTargetMethods = patchEventTargetMethods;
1527
944
  ;
1528
- var originalInstanceKey = keys.create('originalInstance');
945
+ var originalInstanceKey = exports.zoneSymbol('originalInstance');
1529
946
  // wrap some native API on `window`
1530
947
  function patchClass(className) {
1531
- var OriginalClass = global[className];
948
+ var OriginalClass = _global[className];
1532
949
  if (!OriginalClass)
1533
950
  return;
1534
- global[className] = function () {
1535
- var a = bindArguments(arguments);
951
+ _global[className] = function () {
952
+ var a = bindArguments(arguments, className);
1536
953
  switch (a.length) {
1537
954
  case 0:
1538
955
  this[originalInstanceKey] = new OriginalClass();
@@ -1549,23 +966,23 @@ THE SOFTWARE.
1549
966
  case 4:
1550
967
  this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);
1551
968
  break;
1552
- default: throw new Error('what are you even doing?');
969
+ default: throw new Error('Arg list too long.');
1553
970
  }
1554
971
  };
1555
- var instance = new OriginalClass();
972
+ var instance = new OriginalClass(function () { });
1556
973
  var prop;
1557
974
  for (prop in instance) {
1558
975
  (function (prop) {
1559
976
  if (typeof instance[prop] === 'function') {
1560
- global[className].prototype[prop] = function () {
977
+ _global[className].prototype[prop] = function () {
1561
978
  return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);
1562
979
  };
1563
980
  }
1564
981
  else {
1565
- Object.defineProperty(global[className].prototype, prop, {
982
+ Object.defineProperty(_global[className].prototype, prop, {
1566
983
  set: function (fn) {
1567
984
  if (typeof fn === 'function') {
1568
- this[originalInstanceKey][prop] = global.zone.bind(fn);
985
+ this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);
1569
986
  }
1570
987
  else {
1571
988
  this[originalInstanceKey][prop] = fn;
@@ -1580,286 +997,60 @@ THE SOFTWARE.
1580
997
  }
1581
998
  for (prop in OriginalClass) {
1582
999
  if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {
1583
- global[className][prop] = OriginalClass[prop];
1000
+ _global[className][prop] = OriginalClass[prop];
1584
1001
  }
1585
1002
  }
1586
1003
  }
1587
1004
  exports.patchClass = patchClass;
1588
1005
  ;
1589
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOlsiYmluZEFyZ3VtZW50cyIsInBhdGNoUHJvdG90eXBlIiwiaXNXZWJXb3JrZXIiLCJwYXRjaFByb3BlcnR5IiwicGF0Y2hQcm9wZXJ0aWVzIiwicGF0Y2hFdmVudFRhcmdldE1ldGhvZHMiLCJwYXRjaENsYXNzIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFZLElBQUksV0FBTSxRQUFRLENBQUMsQ0FBQTtBQUUvQix1QkFBOEIsSUFBSTtJQUNoQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0EsR0FBR0EsSUFBSUEsQ0FBQ0EsTUFBTUEsR0FBR0EsQ0FBQ0EsRUFBRUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsRUFBRUEsRUFBRUEsQ0FBQ0E7UUFDMUNBLEVBQUVBLENBQUNBLENBQUNBLE9BQU9BLElBQUlBLENBQUNBLENBQUNBLENBQUNBLEtBQUtBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBO1lBQ2xDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQSxHQUFHQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQSxJQUFJQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUN0Q0EsQ0FBQ0E7SUFDSEEsQ0FBQ0E7SUFDREEsTUFBTUEsQ0FBQ0EsSUFBSUEsQ0FBQ0E7QUFDZEEsQ0FBQ0E7QUFQZSxxQkFBYSxnQkFPNUIsQ0FBQTtBQUFBLENBQUM7QUFFRix3QkFBK0IsR0FBRyxFQUFFLE9BQU87SUFDekNDLE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLFVBQVVBLElBQUlBO1FBQzVCLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2IsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUNWLE1BQU0s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O0FBQ0hBLENBQUNBO0FBL0NlLGtCQUFVLGFBK0N6QixDQUFBO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGtleXMgZnJvbSAnLi9rZXlzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJpbmRBcmd1bWVudHMoYXJncykge1xuICBmb3IgKHZhciBpID0gYXJncy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIGlmICh0eXBlb2YgYXJnc1tpXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgYXJnc1tpXSA9IGdsb2JhbC56b25lLmJpbmQoYXJnc1tpXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBhcmdzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoUHJvdG90eXBlKG9iaiwgZm5OYW1lcykge1xuICBmbk5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB2YXIgZGVsZWdhdGUgPSBvYmpbbmFtZV07XG4gICAgaWYgKGRlbGVnYXRlKSB7XG4gICAgICBvYmpbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBkZWxlZ2F0ZS5hcHBseSh0aGlzLCBiaW5kQXJndW1lbnRzKGFyZ3VtZW50cykpO1xuICAgICAgfTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2ViV29ya2VyKCkge1xuICByZXR1cm4gKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaFByb3BlcnR5KG9iaiwgcHJvcCkge1xuICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBwcm9wKSB8fCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfTtcblxuICAvLyBBIHByb3BlcnR5IGRlc2NyaXB0b3IgY2Fubm90IGhhdmUgZ2V0dGVyL3NldHRlciBhbmQgYmUgd3JpdGFibGVcbiAgLy8gZGVsZXRpbmcgdGhlIHdyaXRhYmxlIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzIGF2b2lkcyB0aGlzIGVycm9yOlxuICAvL1xuICAvLyBUeXBlRXJyb3I6IHByb3BlcnR5IGRlc2NyaXB0b3JzIG11c3Qgbm90IHNwZWNpZnkgYSB2YWx1ZSBvciBiZSB3cml0YWJsZSB3aGVuIGFcbiAgLy8gZ2V0dGVyIG9yIHNldHRlciBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgZGVsZXRlIGRlc2Mud3JpdGFibGU7XG4gIGRlbGV0ZSBkZXNjLnZhbHVlO1xuXG4gIC8vIHN1YnN0cigyKSBjdXogJ29uY2xpY2snIC0+ICdjbGljaycsIGV0Y1xuICB2YXIgZXZlbnROYW1lID0gcHJvcC5zdWJzdHIoMik7XG4gIHZhciBfcHJvcCA9ICdfJyArIHByb3A7XG5cbiAgZGVzYy5zZXQgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICBpZiAodGhpc1tfcHJvcF0pIHtcbiAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXNbX3Byb3BdKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzW19wcm9wXSA9IGZuO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZm4sIGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpc1tfcHJvcF0gPSBudWxsO1xuICAgIH1cbiAgfTtcblxuICBkZXNjLmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpc1tfcHJvcF07XG4gIH07XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgZGVzYyk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hQcm9wZXJ0aWVzKG9iaiwgcHJvcGVydGllcz8pIHtcbiAgKHByb3BlcnRpZXMgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBwcm9wcyA9IFtdO1xuICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHtcbiAgICAgICAgcHJvcHMucHVzaChwcm9wKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9wcztcbiAgICB9KCkpLlxuICAgIGZpbHRlcihmdW5jdGlvbiAocHJvcGVydHlOYW1lKSB7XG4gICAgICByZXR1cm4gcHJvcGVydHlOYW1lLnN1YnN0cigwLDIpID09PSAnb24nO1xuICAgIH0pKS5cbiAgICBmb3JFYWNoKGZ1bmN0aW9uIChldmVudE5hbWUpIHtcbiAgICAgIHBhdGNoUHJvcGVydHkob2JqLCBldmVudE5hbWUpO1xuICAgIH0pO1xufTtcblxudmFyIG9yaWdpbmFsRm5LZXkgPSBrZXlzLmNyZWF0ZSgnb3JpZ2luYWxGbicpO1xudmFyIGJvdW5kRm5zS2V5ID0ga2V5cy5jcmVhdGUoJ2JvdW5kRm5zJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaEV2ZW50VGFyZ2V0TWV0aG9kcyhvYmopIHtcbiAgLy8gVGhpcyBpcyByZXF1aXJlZCBmb3IgdGhlIGFkZEV2ZW50TGlzdGVuZXIgaG9vayBvbiB0aGUgcm9vdCB6b25lLlxuICBvYmpba2V5cy5jb21tb24uYWRkRXZlbnRMaXN0ZW5lcl0gPSBvYmouYWRkRXZlbnRMaXN0ZW5lcjtcbiAgb2JqLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbiAoZXZlbnROYW1lLCBoYW5kbGVyLCB1c2VDYXB0dXJpbmcpIHtcbiAgICAvL0lnbm9yZSBzcGVjaWFsIGxpc3RlbmVycyBvZiBJRTExICYgRWRnZSBkZXYgdG9vbHMsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci96b25lLmpzL2lzc3Vlcy8xNTBcbiAgICBpZiAoaGFuZGxlciAmJiBoYW5kbGVyLnRvU3RyaW5nKCkgIT09IFwiW29iamVjdCBGdW5jdGlvbldyYXBwZXJdXCIpIHtcbiAgICAgIHZhciBldmVudFR5cGUgPSBldmVudE5hbWUgKyAodXNlQ2FwdHVyaW5nID8gJyRjYXB0dXJpbmcnIDogJyRidWJibGluZycpO1xuICAgICAgdmFyIGZuO1xuICAgICAgaWYgKGhhbmRsZXIuaGFuZGxlRXZlbnQpIHtcbiAgICAgICAgLy8gSGF2ZSB0byBwYXNzIGluICdoYW5kbGVyJyByZWZlcmVuY2UgYXMgYW4gYXJndW1lbnQgaGVyZSwgb3RoZXJ3aXNlIGl0IGdldHMgY2xvYmJlcmVkIGluXG4gICAgICAgIC8vIElFOSBieSB0aGUgYXJndW1lbnRzWzFdIGFzc2lnbm1lbnQgYXQgZW5kIG9mIHRoaXMgZnVuY3Rpb24uXG4gICAgICAgIGZuID0gKGZ1bmN0aW9uKGhhbmRsZXIpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBoYW5kbGVyLmhhbmRsZUV2ZW50LmFwcGx5KGhhbmRsZXIsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfSkoaGFuZGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmbiA9IGhhbmRsZXI7XG4gICAgICB9XG5cbiAgICAgIGhhbmRsZXJbb3JpZ2luYWxGbktleV0gPSBmbjtcbiAgICAgIGhhbmRsZXJbYm91bmRGbnNLZXldID0gaGFuZGxlcltib3VuZEZuc0tleV0gfHwge307XG4gICAgICBoYW5kbGVyW2JvdW5kRm5zS2V5XVtldmVudFR5cGVdID0gaGFuZGxlcltib3VuZEZuc0tleV1bZXZlbnRUeXBlXSB8fCBnbG9iYWwuem9uZS5iaW5kKGZuKTtcbiAgICAgIGFyZ3VtZW50c1sxXSA9IGhhbmRsZXJbYm91bmRGbnNLZXldW2V2ZW50VHlwZV07XG4gICAgfVxuXG4gICAgLy8gLSBJbnNpZGUgYSBXZWIgV29ya2VyLCBgdGhpc2AgaXMgdW5kZWZpbmVkLCB0aGUgY29udGV4dCBpcyBgZ2xvYmFsYCAoPSBgc2VsZmApXG4gICAgLy8gLSBXaGVuIGBhZGRFdmVudExpc3RlbmVyYCBpcyBjYWxsZWQgb24gdGhlIGdsb2JhbCBjb250ZXh0IGluIHN0cmljdCBtb2RlLCBgdGhpc2AgaXMgdW5kZWZpbmVkXG4gICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL3pvbmUuanMvaXNzdWVzLzE5MFxuICAgIHZhciB0YXJnZXQgPSB0aGlzIHx8IGdsb2JhbDtcbiAgICByZXR1cm4gZ2xvYmFsLnpvbmUuYWRkRXZlbnRMaXN0ZW5lci5hcHBseSh0YXJnZXQsIGFyZ3VtZW50cyk7XG4gIH07XG5cbiAgLy8gVGhpcyBpcyByZXF1aXJlZCBmb3IgdGhlIHJlbW92ZUV2ZW50TGlzdGVuZXIgaG9vayBvbiB0aGUgcm9vdCB6b25lLlxuICBvYmpba2V5cy5jb21tb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcl0gPSBvYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcjtcbiAgb2JqLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbiAoZXZlbnROYW1lLCBoYW5kbGVyLCB1c2VDYXB0dXJpbmcpIHtcbiAgICB2YXIgZXZlbnRUeXBlID0gZXZlbnROYW1lICsgKHVzZUNhcHR1cmluZyA/ICckY2FwdHVyaW5nJyA6ICckYnViYmxpbmcnKTtcbiAgICBpZiAoaGFuZGxlciAmJiBoYW5kbGVyW2JvdW5kRm5zS2V5XSAmJiBoYW5kbGVyW2JvdW5kRm5zS2V5XVtldmVudFR5cGVdKSB7XG4gICAgICB2YXIgX2JvdW5kID0gaGFuZGxlcltib3VuZEZuc0tleV07XG4gICAgICBhcmd1bWVudHNbMV0gPSBfYm91bmRbZXZlbnRUeXBlXTtcbiAgICAgIGRlbGV0ZSBfYm91bmRbZXZlbnRUeXBlXTtcbiAgICAgIGdsb2JhbC56b25lLmRlcXVldWVUYXNrKGhhbmRsZXJbb3JpZ2luYWxGbktleV0pO1xuICAgIH1cblxuICAgIC8vIC0gSW5zaWRlIGEgV2ViIFdvcmtlciwgYHRoaXNgIGlzIHVuZGVmaW5lZCwgdGhlIGNvbnRleHQgaXMgYGdsb2JhbGBcbiAgICAvLyAtIFdoZW4gYGFkZEV2ZW50TGlzdGVuZXJgIGlzIGNhbGxlZCBvbiB0aGUgZ2xvYmFsIGNvbnRleHQgaW4gc3RyaWN0IG1vZGUsIGB0aGlzYCBpcyB1bmRlZmluZWRcbiAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvem9uZS5qcy9pc3N1ZXMvMTkwXG4gICAgdmFyIHRhcmdldCA9IHRoaXMgfHwgZ2xvYmFsO1xuICAgIHZhciByZXN1bHQgPSBnbG9iYWwuem9uZS5yZW1vdmVFdmVudExpc3RlbmVyLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufTtcblxudmFyIG9yaWdpbmFsSW5zdGFuY2VLZXkgPSBrZXlzLmNyZWF0ZSgnb3JpZ2luYWxJbnN0YW5jZScpO1xuXG4vLyB3cmFwIHNvbWUgbmF0aXZlIEFQSSBvbiBgd2luZG93YFxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoQ2xhc3MoY2xhc3NOYW1lKSB7XG4gIHZhciBPcmlnaW5hbENsYXNzID0gZ2xvYmFsW2NsYXNzTmFtZV07XG4gIGlmICghT3JpZ2luYWxDbGFzcykgcmV0dXJuO1xuXG4gIGdsb2JhbFtjbGFzc05hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBhID0gYmluZEFyZ3VtZW50cyhhcmd1bWVudHMpO1xuICAgIHN3aXRjaCAoYS5sZW5ndGgpIHtcbiAgICAgIGNhc2UgMDogdGhpc1tvcmlnaW5hbEluc3RhbmNlS2V5XSA9IG5ldyBPcmlnaW5hbENsYXNzKCk7IGJyZWFrO1xuICAgICAgY2FzZSAxOiB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldID0gbmV3IE9yaWdpbmFsQ2xhc3MoYVswXSk7IGJyZWFrO1xuICAgICAgY2FzZSAyOiB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldID0gbmV3IE9yaWdpbmFsQ2xhc3MoYVswXSwgYVsxXSk7IGJyZWFrO1xuICAgICAgY2FzZSAzOiB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldID0gbmV3IE9yaWdpbmFsQ2xhc3MoYVswXSwgYVsxXSwgYVsyXSk7IGJyZWFrO1xuICAgICAgY2FzZSA0OiB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldID0gbmV3IE9yaWdpbmFsQ2xhc3MoYVswXSwgYVsxXSwgYVsyXSwgYVszXSk7IGJyZWFrO1xuICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd3aGF0IGFyZSB5b3UgZXZlbiBkb2luZz8nKTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIGluc3RhbmNlID0gbmV3IE9yaWdpbmFsQ2xhc3MoKTtcblxuICB2YXIgcHJvcDtcbiAgZm9yIChwcm9wIGluIGluc3RhbmNlKSB7XG4gICAgKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlW3Byb3BdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGdsb2JhbFtjbGFzc05hbWVdLnByb3RvdHlwZVtwcm9wXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gdGhpc1tvcmlnaW5hbEluc3RhbmNlS2V5XVtwcm9wXS5hcHBseSh0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbFtjbGFzc05hbWVdLnByb3RvdHlwZSwgcHJvcCwge1xuICAgICAgICAgIHNldDogZnVuY3Rpb24gKGZuKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXNbb3JpZ2luYWxJbnN0YW5jZUtleV1bcHJvcF0gPSBnbG9iYWwuem9uZS5iaW5kKGZuKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXNbb3JpZ2luYWxJbnN0YW5jZUtleV1bcHJvcF0gPSBmbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXNbb3JpZ2luYWxJbnN0YW5jZUtleV1bcHJvcF07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KHByb3ApKTtcbiAgfVxuXG4gIGZvciAocHJvcCBpbiBPcmlnaW5hbENsYXNzKSB7XG4gICAgaWYgKHByb3AgIT09ICdwcm90b3R5cGUnICYmIE9yaWdpbmFsQ2xhc3MuaGFzT3duUHJvcGVydHkocHJvcCkpIHtcbiAgICAgIGdsb2JhbFtjbGFzc05hbWVdW3Byb3BdID0gT3JpZ2luYWxDbGFzc1twcm9wXTtcbiAgICB9XG4gIH1cbn07XG4iXX0=
1590
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1591
-
1592
- /***/ },
1593
- /* 10 */
1594
- /***/ function(module, exports, __webpack_require__) {
1595
-
1596
- /* WEBPACK VAR INJECTION */(function(global) {var fnPatch = __webpack_require__(11);
1597
- var promisePatch = __webpack_require__(8);
1598
- var mutationObserverPatch = __webpack_require__(13);
1599
- var definePropertyPatch = __webpack_require__(14);
1600
- var registerElementPatch = __webpack_require__(15);
1601
- var eventTargetPatch = __webpack_require__(16);
1602
- var propertyDescriptorPatch = __webpack_require__(17);
1603
- var geolocationPatch = __webpack_require__(19);
1604
- var fileReaderPatch = __webpack_require__(20);
1605
- function apply() {
1606
- fnPatch.patchSetClearFunction(global, global.Zone, [
1607
- ['setTimeout', 'clearTimeout', false, false],
1608
- ['setInterval', 'clearInterval', true, false],
1609
- ['setImmediate', 'clearImmediate', false, false],
1610
- ['requestAnimationFrame', 'cancelAnimationFrame', false, true],
1611
- ['mozRequestAnimationFrame', 'mozCancelAnimationFrame', false, true],
1612
- ['webkitRequestAnimationFrame', 'webkitCancelAnimationFrame', false, true]
1613
- ]);
1614
- fnPatch.patchFunction(global, [
1615
- 'alert',
1616
- 'prompt'
1617
- ]);
1618
- eventTargetPatch.apply();
1619
- propertyDescriptorPatch.apply();
1620
- promisePatch.apply();
1621
- mutationObserverPatch.patchClass('MutationObserver');
1622
- mutationObserverPatch.patchClass('WebKitMutationObserver');
1623
- definePropertyPatch.apply();
1624
- registerElementPatch.apply();
1625
- geolocationPatch.apply();
1626
- fileReaderPatch.apply();
1627
- }
1628
- exports.apply = apply;
1629
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wYXRjaC9icm93c2VyLnRzIl0sIm5hbWVzIjpbImFwcGx5Il0sIm1hcHBpbmdzIjoiQUFBQSxJQUFZLE9BQU8sV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUN2QyxJQUFZLFlBQVksV0FBTSxXQUFXLENBQUMsQ0FBQTtBQUMxQyxJQUFZLHFCQUFxQixXQUFNLHFCQUFxQixDQUFDLENBQUE7QUFDN0QsSUFBWSxtQkFBbUIsV0FBTSxtQkFBbUIsQ0FBQyxDQUFBO0FBQ3pELElBQVksb0JBQW9CLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUUzRCxJQUFZLGdCQUFnQixXQUFNLGdCQUFnQixDQUFDLENBQUE7QUFDbkQsSUFBWSx1QkFBdUIsV0FBTSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pFLElBQVksZ0JBQWdCLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFDbEQsSUFBWSxlQUFlLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFFakQ7SUFDRUEsT0FBT0EsQ0FBQ0EscUJBQXFCQSxDQUFDQSxNQUFNQSxFQUFFQSxNQUFNQSxDQUFDQSxJQUFJQSxFQUFFQTtRQUNqREEsQ0FBQ0EsWUFBWUEsRUFBRUEsY0FBY0EsRUFBRUEsS0FBS0EsRUFBRUEsS0FBS0EsQ0FBQ0E7UUFDNUNBLENBQUNBLGFBQWFBLEVBQUVBLGVBQWVBLEVBQUVBLElBQUlBLEVBQUVBLEtBQUtBLENBQUNBO1FBQzdDQSxDQUFDQSxjQUFjQSxFQUFFQSxnQkFBZ0JBLEVBQUVBLEtBQUtBLEVBQUVBLEtBQUtBLENBQUNBO1FBQ2hEQSxDQUFDQSx1QkFBdUJBLEVBQUVBLHNCQUFzQkEsRUFBRUEsS0FBS0EsRUFBRUEsSUFBSUEsQ0FBQ0E7UUFDOURBLENBQUNBLDBCQUEwQkEsRUFBRUEseUJBQXlCQSxFQUFFQSxLQUFLQSxFQUFFQSxJQUFJQSxDQUFDQTtRQUNwRUEsQ0FBQ0EsNkJBQTZCQSxFQUFFQSw0QkFBNEJBLEVBQUVBLEtBQUtBLEVBQUVBLElBQUlBLENBQUNBO0tBQzNFQSxDQUFDQSxDQUFDQTtJQUVIQSxPQUFPQSxDQUFDQSxhQUFhQSxDQUFDQSxNQUFNQSxFQUFFQTtRQUM1QkEsT0FBT0E7UUFDUEEsUUFBUUE7S0FDVEEsQ0FBQ0EsQ0FBQ0E7SUFFSEEsZ0JBQWdCQSxDQUFDQSxLQUFLQSxFQUFFQSxDQUFDQTtJQUV6QkEsdUJBQXVCQSxDQUFDQSxLQUFLQSxFQUFFQSxDQUFDQTtJQUVoQ0EsWUFBWUEsQ0FBQ0EsS0FBS0EsRUFBRUEsQ0FBQ0E7SUFFckJBLHFCQUFxQkEsQ0FBQ0EsVUFBVUEsQ0FBQ0Esa0JBQWtCQSxDQUFDQSxDQUFDQTtJQUNyREEscUJBQXFCQSxDQUFDQSxVQUFVQSxDQUFDQSx3QkFBd0JBLENBQUNBLENBQUNBO0lBRTNEQSxtQkFBbUJBLENBQUNBLEtBQUtBLEVBQUVBLENBQUNBO0lBRTVCQSxvQkFBb0JBLENBQUNBLEtBQUtBLEVBQUVBLENBQUNBO0lBRTdCQSxnQkFBZ0JBLENBQUNBLEtBQUtBLEVBQUVBLENBQUNBO0lBRXpCQSxlQUFlQSxDQUFDQSxLQUFLQSxFQUFFQSxDQUFDQTtBQUMxQkEsQ0FBQ0E7QUEvQmUsYUFBSyxRQStCcEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZuUGF0Y2ggZnJvbSAnLi9mdW5jdGlvbnMnO1xuaW1wb3J0ICogYXMgcHJvbWlzZVBhdGNoIGZyb20gJy4vcHJvbWlzZSc7XG5pbXBvcnQgKiBhcyBtdXRhdGlvbk9ic2VydmVyUGF0Y2ggZnJvbSAnLi9tdXRhdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQgKiBhcyBkZWZpbmVQcm9wZXJ0eVBhdGNoIGZyb20gJy4vZGVmaW5lLXByb3BlcnR5JztcbmltcG9ydCAqIGFzIHJlZ2lzdGVyRWxlbWVudFBhdGNoIGZyb20gJy4vcmVnaXN0ZXItZWxlbWVudCc7XG5pbXBvcnQgKiBhcyB3ZWJTb2NrZXRQYXRjaCBmcm9tICcuL3dlYnNvY2tldCc7XG5pbXBvcnQgKiBhcyBldmVudFRhcmdldFBhdGNoIGZyb20gJy4vZXZlbnQtdGFyZ2V0JztcbmltcG9ydCAqIGFzIHByb3BlcnR5RGVzY3JpcHRvclBhdGNoIGZyb20gJy4vcHJvcGVydHktZGVzY3JpcHRvcic7XG5pbXBvcnQgKiBhcyBnZW9sb2NhdGlvblBhdGNoIGZyb20gJy4vZ2VvbG9jYXRpb24nO1xuaW1wb3J0ICogYXMgZmlsZVJlYWRlclBhdGNoIGZyb20gJy4vZmlsZS1yZWFkZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHkoKSB7XG4gIGZuUGF0Y2gucGF0Y2hTZXRDbGVhckZ1bmN0aW9uKGdsb2JhbCwgZ2xvYmFsLlpvbmUsIFtcbiAgICBbJ3NldFRpbWVvdXQnLCAnY2xlYXJUaW1lb3V0JywgZmFsc2UsIGZhbHNlXSxcbiAgICBbJ3NldEludGVydmFsJywgJ2NsZWFySW50ZXJ2YWwnLCB0cnVlLCBmYWxzZV0sXG4gICAgWydzZXRJbW1lZGlhdGUnLCAnY2xlYXJJbW1lZGlhdGUnLCBmYWxzZSwgZmFsc2VdLFxuICAgIFsncmVxdWVzdEFuaW1hdGlvbkZyYW1lJywgJ2NhbmNlbEFuaW1hdGlvbkZyYW1lJywgZmFsc2UsIHRydWVdLFxuICAgIFsnbW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lJywgJ21vekNhbmNlbEFuaW1hdGlvbkZyYW1lJywgZmFsc2UsIHRydWVdLFxuICAgIFsnd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lJywgJ3dlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1lJywgZmFsc2UsIHRydWVdXG4gIF0pO1xuXG4gIGZuUGF0Y2gucGF0Y2hGdW5jdGlvbihnbG9iYWwsIFtcbiAgICAnYWxlcnQnLFxuICAgICdwcm9tcHQnXG4gIF0pO1xuXG4gIGV2ZW50VGFyZ2V0UGF0Y2guYXBwbHkoKTtcblxuICBwcm9wZXJ0eURlc2NyaXB0b3JQYXRjaC5hcHBseSgpO1xuXG4gIHByb21pc2VQYXRjaC5hcHBseSgpO1xuXG4gIG11dGF0aW9uT2JzZXJ2ZXJQYXRjaC5wYXRjaENsYXNzKCdNdXRhdGlvbk9ic2VydmVyJyk7XG4gIG11dGF0aW9uT2JzZXJ2ZXJQYXRjaC5wYXRjaENsYXNzKCdXZWJLaXRNdXRhdGlvbk9ic2VydmVyJyk7XG5cbiAgZGVmaW5lUHJvcGVydHlQYXRjaC5hcHBseSgpO1xuXG4gIHJlZ2lzdGVyRWxlbWVudFBhdGNoLmFwcGx5KCk7XG5cbiAgZ2VvbG9jYXRpb25QYXRjaC5hcHBseSgpO1xuXG4gIGZpbGVSZWFkZXJQYXRjaC5hcHBseSgpO1xufVxuXG4iXX0=
1630
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1631
-
1632
- /***/ },
1633
- /* 11 */
1634
- /***/ function(module, exports, __webpack_require__) {
1635
-
1636
- /* WEBPACK VAR INJECTION */(function(global) {var wtf = __webpack_require__(12);
1637
- function patchSetClearFunction(window, Zone, fnNames) {
1638
- function patchMacroTaskMethod(setName, clearName, repeating, isRaf) {
1639
- var setNative = window[setName];
1640
- var clearNative = window[clearName];
1641
- var ids = {};
1642
- if (setNative) {
1643
- var wtfSetEventFn = wtf.createEvent('Zone#' + setName + '(uint32 zone, uint32 id, uint32 delay)');
1644
- var wtfClearEventFn = wtf.createEvent('Zone#' + clearName + '(uint32 zone, uint32 id)');
1645
- var wtfCallbackFn = wtf.createScope('Zone#cb:' + setName + '(uint32 zone, uint32 id, uint32 delay)');
1646
- // Forward all calls from the window through the zone.
1647
- window[setName] = function () {
1648
- return global.zone[setName].apply(global.zone, arguments);
1649
- };
1650
- window[clearName] = function () {
1651
- return global.zone[clearName].apply(global.zone, arguments);
1652
- };
1653
- // Set up zone processing for the set function.
1654
- Zone.prototype[setName] = function (fn, delay) {
1655
- // We need to save `fn` in var different then argument. This is because
1656
- // in IE9 `argument[0]` and `fn` have same identity, and assigning to
1657
- // `argument[0]` changes `fn`.
1658
- var callbackFn = fn;
1659
- if (typeof callbackFn !== 'function') {
1660
- // force the error by calling the method with wrong args
1661
- setNative.apply(window, arguments);
1662
- }
1663
- var zone = this;
1664
- var setId = null;
1665
- // wrap the callback function into the zone.
1666
- arguments[0] = function () {
1667
- var callbackZone = zone.isRootZone() || isRaf ? zone : zone.fork();
1668
- var callbackThis = this;
1669
- var callbackArgs = arguments;
1670
- return wtf.leaveScope(wtfCallbackFn(callbackZone.$id, setId, delay), callbackZone.run(function () {
1671
- if (!repeating) {
1672
- delete ids[setId];
1673
- callbackZone.removeTask(callbackFn);
1674
- }
1675
- return callbackFn.apply(callbackThis, callbackArgs);
1676
- }));
1677
- };
1678
- if (repeating) {
1679
- zone.addRepeatingTask(callbackFn);
1680
- }
1681
- else {
1682
- zone.addTask(callbackFn);
1683
- }
1684
- setId = setNative.apply(window, arguments);
1685
- ids[setId] = callbackFn;
1686
- wtfSetEventFn(zone.$id, setId, delay);
1687
- return setId;
1688
- };
1689
- Zone.prototype[setName + 'Unpatched'] = function () {
1690
- return setNative.apply(window, arguments);
1691
- };
1692
- // Set up zone processing for the clear function.
1693
- Zone.prototype[clearName] = function (id) {
1694
- wtfClearEventFn(this.$id, id);
1695
- if (ids.hasOwnProperty(id)) {
1696
- var callbackFn = ids[id];
1697
- delete ids[id];
1698
- if (repeating) {
1699
- this.removeRepeatingTask(callbackFn);
1700
- }
1701
- else {
1702
- this.removeTask(callbackFn);
1703
- }
1704
- }
1705
- return clearNative.apply(window, arguments);
1706
- };
1707
- Zone.prototype[clearName + 'Unpatched'] = function () {
1708
- return clearNative.apply(window, arguments);
1709
- };
1710
- }
1006
+ function createNamedFn(name, delegate) {
1007
+ try {
1008
+ return (Function('f', "return function " + name + "(){return f(this, arguments)}"))(delegate);
1711
1009
  }
1712
- fnNames.forEach(function (args) {
1713
- patchMacroTaskMethod.apply(null, args);
1714
- });
1715
- }
1716
- exports.patchSetClearFunction = patchSetClearFunction;
1717
- ;
1718
- function patchFunction(obj, fnNames) {
1719
- fnNames.forEach(function (name) {
1720
- var delegate = obj[name];
1721
- global.zone[name] = function () {
1722
- return delegate.apply(obj, arguments);
1723
- };
1724
- obj[name] = function () {
1725
- return global.zone[name].apply(this, arguments);
1010
+ catch (e) {
1011
+ // if we fail, we must be CSP, just return delegate.
1012
+ return function () {
1013
+ return delegate(this, arguments);
1726
1014
  };
1727
- });
1728
- }
1729
- exports.patchFunction = patchFunction;
1730
- ;
1731
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3BhdGNoL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6WyJwYXRjaFNldENsZWFyRnVuY3Rpb24iLCJwYXRjaFNldENsZWFyRnVuY3Rpb24ucGF0Y2hNYWNyb1Rhc2tNZXRob2QiLCJwYXRjaEZ1bmN0aW9uIl0sIm1hcHBpbmdzIjoiQUFDQSxJQUFZLEdBQUcsV0FBTSxRQUFRLENBQUMsQ0FBQTtBQUU5QiwrQkFBc0MsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPO0lBQ3pEQSw4QkFBOEJBLE9BQU9BLEVBQUVBLFNBQVNBLEVBQUVBLFNBQVNBLEVBQUVBLEtBQUtBO1FBQ2hFQyxJQUFJQSxTQUFTQSxHQUFHQSxNQUFNQSxDQUFDQSxPQUFPQSxDQUFDQSxDQUFDQTtRQUNoQ0EsSUFBSUEsV0FBV0EsR0FBR0EsTUFBTUEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0E7UUFDcENBLElBQUlBLEdBQUdBLEdBQUdBLEVBQUVBLENBQUNBO1FBRWJBLEVBQUVBLENBQUNBLENBQUNBLFNBQVNBLENBQUNBLENBQUNBLENBQUNBO1lBQ2RBLElBQUlBLGFBQWFBLEdBQUdBLEdBQUdBLENBQUNBLFdBQVdBLENBQUNBLE9BQU9BLEdBQUdBLE9BQU9BLEdBQUdBLHdDQUF3Q0EsQ0FBQ0EsQ0FBQ0E7WUFDbEdBLElBQUlBLGVBQWVBLEdBQUdBLEdBQUdBLENBQUNBLFdBQVdBLENBQUNBLE9BQU9BLEdBQUdBLFNBQVNBLEdBQUdBLDBCQUEwQkEsQ0FBQ0EsQ0FBQ0E7WUFDeEZBLElBQUlBLGFBQWFBLEdBQUdBLEdBQUdBLENBQUNBLFdBQVdBLENBQUNBLFVBQVVBLEdBQUdBLE9BQU9BLEdBQUdBLHdDQUF3Q0EsQ0FBQ0EsQ0FBQ0E7WUFFckdBLHNEQUFzREE7WUFDdERBLE1BQU1BLENBQUNBLE9BQU9BLENBQUNBLEdBQUdBO2dCQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFP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QUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7UUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDVixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQ0EsQ0FBQ0E7QUFDTEEsQ0FBQ0E7QUFYZSxxQkFBYSxnQkFXNUIsQ0FBQTtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgKiBhcyB3dGYgZnJvbSAnLi4vd3RmJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoU2V0Q2xlYXJGdW5jdGlvbih3aW5kb3csIFpvbmUsIGZuTmFtZXMpIHtcbiAgZnVuY3Rpb24gcGF0Y2hNYWNyb1Rhc2tNZXRob2Qoc2V0TmFtZSwgY2xlYXJOYW1lLCByZXBlYXRpbmcsIGlzUmFmKSB7XG4gICAgdmFyIHNldE5hdGl2ZSA9IHdpbmRvd1tzZXROYW1lXTtcbiAgICB2YXIgY2xlYXJOYXRpdmUgPSB3aW5kb3dbY2xlYXJOYW1lXTtcbiAgICB2YXIgaWRzID0ge307XG5cbiAgICBpZiAoc2V0TmF0aXZlKSB7XG4gICAgICB2YXIgd3RmU2V0RXZlbnRGbiA9IHd0Zi5jcmVhdGVFdmVudCgnWm9uZSMnICsgc2V0TmFtZSArICcodWludDMyIHpvbmUsIHVpbnQzMiBpZCwgdWludDMyIGRlbGF5KScpO1xuICAgICAgdmFyIHd0ZkNsZWFyRXZlbnRGbiA9IHd0Zi5jcmVhdGVFdmVudCgnWm9uZSMnICsgY2xlYXJOYW1lICsgJyh1aW50MzIgem9uZSwgdWludDMyIGlkKScpO1xuICAgICAgdmFyIHd0ZkNhbGxiYWNrRm4gPSB3dGYuY3JlYXRlU2NvcGUoJ1pvbmUjY2I6JyArIHNldE5hbWUgKyAnKHVpbnQzMiB6b25lLCB1aW50MzIgaWQsIHVpbnQzMiBkZWxheSknKTtcblxuICAgICAgLy8gRm9yd2FyZCBhbGwgY2FsbHMgZnJvbSB0aGUgd2luZG93IHRocm91Z2ggdGhlIHpvbmUuXG4gICAgICB3aW5kb3dbc2V0TmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBnbG9iYWwuem9uZVtzZXROYW1lXS5hcHBseShnbG9iYWwuem9uZSwgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgICB3aW5kb3dbY2xlYXJOYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGdsb2JhbC56b25lW2NsZWFyTmFtZV0uYXBwbHkoZ2xvYmFsLnpvbmUsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuXG5cbiAgICAgIC8vIFNldCB1cCB6b25lIHByb2Nlc3NpbmcgZm9yIHRoZSBzZXQgZnVuY3Rpb24uXG4gICAgICBab25lLnByb3RvdHlwZVtzZXROYW1lXSA9IGZ1bmN0aW9uIChmbiwgZGVsYXkpIHtcbiAgICAgICAgLy8gV2UgbmVlZCB0byBzYXZlIGBmbmAgaW4gdmFyIGRpZmZlcmVudCB0aGVuIGFyZ3VtZW50LiBUaGlzIGlzIGJlY2F1c2VcbiAgICAgICAgLy8gaW4gSUU5IGBhcmd1bWVudFswXWAgYW5kIGBmbmAgaGF2ZSBzYW1lIGlkZW50aXR5LCBhbmQgYXNzaWduaW5nIHRvXG4gICAgICAgIC8vIGBhcmd1bWVudFswXWAgY2hhbmdlcyBgZm5gLlxuICAgICAgICB2YXIgY2FsbGJhY2tGbiA9IGZuO1xuICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrRm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAvLyBmb3JjZSB0aGUgZXJyb3IgYnkgY2FsbGluZyB0aGUgbWV0aG9kIHdpdGggd3JvbmcgYXJnc1xuICAgICAgICAgIHNldE5hdGl2ZS5hcHBseSh3aW5kb3csIGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHpvbmUgPSB0aGlzO1xuICAgICAgICB2YXIgc2V0SWQgPSBudWxsO1xuICAgICAgICAvLyB3cmFwIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBpbnRvIHRoZSB6b25lLlxuICAgICAgICBhcmd1bWVudHNbMF0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgY2FsbGJhY2tab25lID0gem9uZS5pc1Jvb3Rab25lKCkgfHwgaXNSYWYgPyB6b25lIDogem9uZS5mb3JrKCk7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrVGhpcyA9IHRoaXM7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrQXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgICByZXR1cm4gd3RmLmxlYXZlU2NvcGUoXG4gICAgICAgICAgICAgIHd0ZkNhbGxiYWNrRm4oY2FsbGJhY2tab25lLiRpZCwgc2V0SWQsIGRlbGF5KSxcbiAgICAgICAgICAgICAgY2FsbGJhY2tab25lLnJ1bihmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcGVhdGluZykge1xuICAgICAgICAgICAgICAgICAgZGVsZXRlIGlkc1tzZXRJZF07XG4gICAgICAgICAgICAgICAgICBjYWxsYmFja1pvbmUucmVtb3ZlVGFzayhjYWxsYmFja0ZuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrRm4uYXBwbHkoY2FsbGJhY2tUaGlzLCBjYWxsYmFja0FyZ3MpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH07XG4gICAgICAgIGlmIChyZXBlYXRpbmcpIHtcbiAgICAgICAgICB6b25lLmFkZFJlcGVhdGluZ1Rhc2soY2FsbGJhY2tGbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgem9uZS5hZGRUYXNrKGNhbGxiYWNrRm4pO1xuICAgICAgICB9XG4gICAgICAgIHNldElkID0gc2V0TmF0aXZlLmFwcGx5KHdpbmRvdywgYXJndW1lbnRzKTtcbiAgICAgICAgaWRzW3NldElkXSA9IGNhbGxiYWNrRm47XG4gICAgICAgIHd0ZlNldEV2ZW50Rm4oem9uZS4kaWQsIHNldElkLCBkZWxheSk7XG4gICAgICAgIHJldHVybiBzZXRJZDtcbiAgICAgIH07XG5cbiAgICAgIFpvbmUucHJvdG90eXBlW3NldE5hbWUgKyAnVW5wYXRjaGVkJ10gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNldE5hdGl2ZS5hcHBseSh3aW5kb3csIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuXG4gICAgICAvLyBTZXQgdXAgem9uZSBwcm9jZXNzaW5nIGZvciB0aGUgY2xlYXIgZnVuY3Rpb24uXG4gICAgICBab25lLnByb3RvdHlwZVtjbGVhck5hbWVdID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICAgIHd0ZkNsZWFyRXZlbnRGbih0aGlzLiRpZCwgaWQpO1xuICAgICAgICBpZiAoaWRzLmhhc093blByb3BlcnR5KGlkKSkge1xuICAgICAgICAgIHZhciBjYWxsYmFja0ZuID0gaWRzW2lkXTtcbiAgICAgICAgICBkZWxldGUgaWRzW2lkXTtcbiAgICAgICAgICBpZiAocmVwZWF0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVJlcGVhdGluZ1Rhc2soY2FsbGJhY2tGbik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlVGFzayhjYWxsYmFja0ZuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsZWFyTmF0aXZlLmFwcGx5KHdpbmRvdywgYXJndW1lbnRzKTtcbiAgICAgIH07XG5cbiAgICAgIFpvbmUucHJvdG90eXBlW2NsZWFyTmFtZSArICdVbnBhdGNoZWQnXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY2xlYXJOYXRpdmUuYXBwbHkod2luZG93LCBhcmd1bWVudHMpO1xuICAgICAgfTtcblxuICAgIH1cbiAgfVxuICBmbk5hbWVzLmZvckVhY2goZnVuY3Rpb24oYXJncykge1xuICAgIHBhdGNoTWFjcm9UYXNrTWV0aG9kLmFwcGx5KG51bGwsIGFyZ3MpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaEZ1bmN0aW9uKG9iaiwgZm5OYW1lcykge1xuICBmbk5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB2YXIgZGVsZWdhdGUgPSBvYmpbbmFtZV07XG4gICAgZ2xvYmFsLnpvbmVbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZGVsZWdhdGUuYXBwbHkob2JqLCBhcmd1bWVudHMpO1xuICAgIH07XG5cbiAgICBvYmpbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2xvYmFsLnpvbmVbbmFtZV0uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9KTtcbn07XG4iXX0=
1732
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1733
-
1734
- /***/ },
1735
- /* 12 */
1736
- /***/ function(module, exports) {
1737
-
1738
- /* WEBPACK VAR INJECTION */(function(global) {// Detect and setup WTF.
1739
- var wtfTrace = null;
1740
- var wtfEvents = null;
1741
- var wtfEnabled = (function () {
1742
- var wtf = global['wtf'];
1743
- if (wtf) {
1744
- wtfTrace = wtf['trace'];
1745
- if (wtfTrace) {
1746
- wtfEvents = wtfTrace['events'];
1747
- return true;
1748
- }
1749
1015
  }
1750
- return false;
1751
- })();
1752
- function noop() {
1753
1016
  }
1754
- exports.enabled = wtfEnabled;
1755
- exports.createScope = wtfEnabled ? function (signature, flags) {
1756
- return wtfEvents.createScope(signature, flags);
1757
- } : function (s, f) {
1758
- return noop;
1759
- };
1760
- exports.createEvent = wtfEnabled ? function (signature, flags) {
1761
- return wtfEvents.createInstance(signature, flags);
1762
- } : function (s, f) {
1763
- return noop;
1764
- };
1765
- exports.leaveScope = wtfEnabled ? function (scope, returnValue) {
1766
- wtfTrace.leaveScope(scope, returnValue);
1767
- return returnValue;
1768
- } : function (s, v) {
1769
- return v;
1770
- };
1771
- exports.beginTimeRange = wtfEnabled ? function (rangeType, action) {
1772
- return wtfTrace.beginTimeRange(rangeType, action);
1773
- } : function (t, a) {
1774
- return null;
1775
- };
1776
- exports.endTimeRange = wtfEnabled ? function (range) {
1777
- wtfTrace.endTimeRange(range);
1778
- } : function (r) {
1779
- };
1780
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3RmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3d0Zi50cyJdLCJuYW1lcyI6WyJub29wIl0sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0I7QUFDeEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ3BCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztBQUNyQixJQUFJLFVBQVUsR0FBRyxDQUFDO0lBQ2hCLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ1IsUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2IsU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMO0FBQ0FBLENBQUNBO0FBVVksZUFBTyxHQUFXLFVBQVUsQ0FBQztBQUM3QixtQkFBVyxHQUFnRCxVQUFVLEdBQUcsVUFBVSxTQUFTLEVBQUUsS0FBSztJQUM3RyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakQsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUNXLG1CQUFXLEdBQXVELFVBQVUsR0FBRyxVQUFVLFNBQVMsRUFBRSxLQUFLO0lBQ3BILE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNwRCxDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBQ1csa0JBQVUsR0FBRyxVQUFVLEdBQUcsVUFBVSxLQUFnQixFQUFFLFdBQWU7SUFDaEYsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsTUFBTSxDQUFDLFdBQVcsQ0FBQztBQUNyQixDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBQ1csc0JBQWMsR0FBRyxVQUFVLEdBQUcsVUFBVSxTQUFTLEVBQUUsTUFBTTtJQUNwRSxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEQsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUNXLG9CQUFZLEdBQUcsVUFBVSxHQUFHLFVBQVUsS0FBSztJQUN0RCxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUMsR0FBRyxVQUFVLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBEZXRlY3QgYW5kIHNldHVwIFdURi5cbnZhciB3dGZUcmFjZSA9IG51bGw7XG52YXIgd3RmRXZlbnRzID0gbnVsbDtcbnZhciB3dGZFbmFibGVkID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIHd0ZiA9IGdsb2JhbFsnd3RmJ107XG4gIGlmICh3dGYpIHtcbiAgICB3dGZUcmFjZSA9IHd0ZlsndHJhY2UnXTtcbiAgICBpZiAod3RmVHJhY2UpIHtcbiAgICAgIHd0ZkV2ZW50cyA9IHd0ZlRyYWNlWydldmVudHMnXTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59KSgpO1xuXG5mdW5jdGlvbiBub29wKCkge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFd0ZlNjb3BlRm4ge1xuICAoLi4uYXJncyk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXdGZFdmVudEZuIHtcbiAgKC4uLmFyZ3MpOiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBlbmFibGVkOmJvb2xlYW4gPSB3dGZFbmFibGVkO1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVNjb3BlOihzaWduYXR1cmU6c3RyaW5nLCBmbGFncz86YW55KSA9PiBXdGZTY29wZUZuID0gd3RmRW5hYmxlZCA/IGZ1bmN0aW9uIChzaWduYXR1cmUsIGZsYWdzKSB7XG4gIHJldHVybiB3dGZFdmVudHMuY3JlYXRlU2NvcGUoc2lnbmF0dXJlLCBmbGFncyk7XG59IDogZnVuY3Rpb24gKHMsIGYpIHtcbiAgcmV0dXJuIG5vb3A7XG59O1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUV2ZW50OiAoc2lnbmF0dXJlOiBzdHJpbmcsIGFjdGlvbj86IHN0cmluZykgPT4gV3RmRXZlbnRGbiA9IHd0ZkVuYWJsZWQgPyBmdW5jdGlvbiAoc2lnbmF0dXJlLCBmbGFncykge1xuICByZXR1cm4gd3RmRXZlbnRzLmNyZWF0ZUluc3RhbmNlKHNpZ25hdHVyZSwgZmxhZ3MpO1xufSA6IGZ1bmN0aW9uIChzLCBmKSB7XG4gIHJldHVybiBub29wO1xufTtcbmV4cG9ydCBjb25zdCBsZWF2ZVNjb3BlID0gd3RmRW5hYmxlZCA/IGZ1bmN0aW9uIChzY29wZTpXdGZTY29wZUZuLCByZXR1cm5WYWx1ZTphbnkpOmFueSB7XG4gIHd0ZlRyYWNlLmxlYXZlU2NvcGUoc2NvcGUsIHJldHVyblZhbHVlKTtcbiAgcmV0dXJuIHJldHVyblZhbHVlO1xufSA6IGZ1bmN0aW9uIChzLCB2KSB7XG4gIHJldHVybiB2O1xufTtcbmV4cG9ydCBjb25zdCBiZWdpblRpbWVSYW5nZSA9IHd0ZkVuYWJsZWQgPyBmdW5jdGlvbiAocmFuZ2VUeXBlLCBhY3Rpb24pIHtcbiAgcmV0dXJuIHd0ZlRyYWNlLmJlZ2luVGltZVJhbmdlKHJhbmdlVHlwZSwgYWN0aW9uKTtcbn0gOiBmdW5jdGlvbiAodCwgYSkge1xuICByZXR1cm4gbnVsbDtcbn07XG5leHBvcnQgY29uc3QgZW5kVGltZVJhbmdlID0gd3RmRW5hYmxlZCA/IGZ1bmN0aW9uIChyYW5nZSkge1xuICB3dGZUcmFjZS5lbmRUaW1lUmFuZ2UocmFuZ2UpO1xufSA6IGZ1bmN0aW9uIChyKSB7XG59O1xuIl19
1781
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1782
-
1783
- /***/ },
1784
- /* 13 */
1785
- /***/ function(module, exports, __webpack_require__) {
1786
-
1787
- /* WEBPACK VAR INJECTION */(function(global) {var keys = __webpack_require__(7);
1788
- var originalInstanceKey = keys.create('originalInstance');
1789
- var creationZoneKey = keys.create('creationZone');
1790
- var isActiveKey = keys.create('isActive');
1791
- // wrap some native API on `window`
1792
- function patchClass(className) {
1793
- var OriginalClass = global[className];
1794
- if (!OriginalClass)
1795
- return;
1796
- global[className] = function (fn) {
1797
- this[originalInstanceKey] = new OriginalClass(global.zone.bind(fn, true));
1798
- // Remember where the class was instantiate to execute the enqueueTask and dequeueTask hooks
1799
- this[creationZoneKey] = global.zone;
1800
- };
1801
- var instance = new OriginalClass(function () { });
1802
- global[className].prototype.disconnect = function () {
1803
- var result = this[originalInstanceKey].disconnect.apply(this[originalInstanceKey], arguments);
1804
- if (this[isActiveKey]) {
1805
- this[creationZoneKey].dequeueTask();
1806
- this[isActiveKey] = false;
1807
- }
1808
- return result;
1809
- };
1810
- global[className].prototype.observe = function () {
1811
- if (!this[isActiveKey]) {
1812
- this[creationZoneKey].enqueueTask();
1813
- this[isActiveKey] = true;
1814
- }
1815
- return this[originalInstanceKey].observe.apply(this[originalInstanceKey], arguments);
1816
- };
1817
- var prop;
1818
- for (prop in instance) {
1819
- (function (prop) {
1820
- if (typeof global[className].prototype !== 'undefined') {
1821
- return;
1822
- }
1823
- if (typeof instance[prop] === 'function') {
1824
- global[className].prototype[prop] = function () {
1825
- return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);
1826
- };
1827
- }
1828
- else {
1829
- Object.defineProperty(global[className].prototype, prop, {
1830
- set: function (fn) {
1831
- if (typeof fn === 'function') {
1832
- this[originalInstanceKey][prop] = global.zone.bind(fn);
1833
- }
1834
- else {
1835
- this[originalInstanceKey][prop] = fn;
1836
- }
1837
- },
1838
- get: function () {
1839
- return this[originalInstanceKey][prop];
1840
- }
1841
- });
1842
- }
1843
- }(prop));
1844
- }
1017
+ exports.createNamedFn = createNamedFn;
1018
+ function patchMethod(target, name, patchFn) {
1019
+ var proto = target;
1020
+ while (proto && !proto.hasOwnProperty(name)) {
1021
+ proto = Object.getPrototypeOf(proto);
1022
+ }
1023
+ if (!proto && target[name]) {
1024
+ // somehow we did not find it, but we can see it. This happens on IE for Window properties.
1025
+ proto = target;
1026
+ }
1027
+ var delegateName = exports.zoneSymbol(name);
1028
+ var delegate;
1029
+ if (proto && !(delegate = proto[delegateName])) {
1030
+ delegate = proto[delegateName] = proto[name];
1031
+ proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name));
1032
+ }
1033
+ return delegate;
1845
1034
  }
1846
- exports.patchClass = patchClass;
1847
- ;
1848
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb24tb2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcGF0Y2gvbXV0YXRpb24tb2JzZXJ2ZXIudHMiXSwibmFtZXMiOlsicGF0Y2hDbGFzcyJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBWSxJQUFJLFdBQU0sU0FBUyxDQUFDLENBQUE7QUFFaEMsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDMUQsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNsRCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTFDLG1DQUFtQztBQUNuQyxvQkFBMkIsU0FBUztJQUNsQ0EsSUFBSUEsYUFBYUEsR0FBR0EsTUFBTUEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0E7SUFDdENBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBLGFBQWFBLENBQUNBO1FBQUNBLE1BQU1BLENBQUNBO0lBRTNCQSxNQUFNQSxDQUFDQSxTQUFTQSxDQUFDQSxHQUFHQSxVQUFVQSxFQUFFQTtRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRSw0RkFBNEY7UUFDNUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDdEMsQ0FBQyxDQUFDQTtJQUVGQSxJQUFJQSxRQUFRQSxHQUFHQSxJQUFJQSxhQUFhQSxDQUFDQSxjQUFhLENBQUMsQ0FBQ0EsQ0FBQ0E7SUFFakRBLE1BQU1BLENBQUNBLFNBQVNBLENBQUNBLENBQUNBLFNBQVNBLENBQUNBLFVBQVVBLEdBQUdBO1FBQ3ZDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUYsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUNBO0lBRUZBLE1BQU1BLENBQUNBLFNBQVNBLENBQUNBLENBQUNBLFNBQVNBLENBQUNBLE9BQU9BLEdBQUdBO1FBQ3BDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkYsQ0FBQyxDQUFDQTtJQUVGQSxJQUFJQSxJQUFJQSxDQUFDQTtJQUNUQSxHQUFHQSxDQUFDQSxDQUFDQSxJQUFJQSxJQUFJQSxRQUFRQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUN0QkEsQ0FBQ0EsVUFBVUEsSUFBSUE7WUFDYixFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxDQUFDO1lBQ1QsQ0FBQztZQUNELEVBQUUsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUc7b0JBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3JGLENBQUMsQ0FBQztZQUNKLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFO29CQUN2RCxHQUFHLEVBQUUsVUFBVSxFQUFFO3dCQUNmLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7NEJBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN6RCxDQUFDO3dCQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDdkMsQ0FBQztvQkFDSCxDQUFDO29CQUNELEdBQUcsRUFBRTt3QkFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pDLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7SUFDWEEsQ0FBQ0E7QUFDSEEsQ0FBQ0E7QUF2RGUsa0JBQVUsYUF1RHpCLENBQUE7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMga2V5cyBmcm9tICcuLi9rZXlzJztcblxudmFyIG9yaWdpbmFsSW5zdGFuY2VLZXkgPSBrZXlzLmNyZWF0ZSgnb3JpZ2luYWxJbnN0YW5jZScpO1xudmFyIGNyZWF0aW9uWm9uZUtleSA9IGtleXMuY3JlYXRlKCdjcmVhdGlvblpvbmUnKTtcbnZhciBpc0FjdGl2ZUtleSA9IGtleXMuY3JlYXRlKCdpc0FjdGl2ZScpO1xuXG4vLyB3cmFwIHNvbWUgbmF0aXZlIEFQSSBvbiBgd2luZG93YFxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoQ2xhc3MoY2xhc3NOYW1lKSB7XG4gIHZhciBPcmlnaW5hbENsYXNzID0gZ2xvYmFsW2NsYXNzTmFtZV07XG4gIGlmICghT3JpZ2luYWxDbGFzcykgcmV0dXJuO1xuXG4gIGdsb2JhbFtjbGFzc05hbWVdID0gZnVuY3Rpb24gKGZuKSB7XG4gICAgdGhpc1tvcmlnaW5hbEluc3RhbmNlS2V5XSA9IG5ldyBPcmlnaW5hbENsYXNzKGdsb2JhbC56b25lLmJpbmQoZm4sIHRydWUpKTtcbiAgICAvLyBSZW1lbWJlciB3aGVyZSB0aGUgY2xhc3Mgd2FzIGluc3RhbnRpYXRlIHRvIGV4ZWN1dGUgdGhlIGVucXVldWVUYXNrIGFuZCBkZXF1ZXVlVGFzayBob29rc1xuICAgIHRoaXNbY3JlYXRpb25ab25lS2V5XSA9IGdsb2JhbC56b25lO1xuICB9O1xuXG4gIHZhciBpbnN0YW5jZSA9IG5ldyBPcmlnaW5hbENsYXNzKGZ1bmN0aW9uICgpIHt9KTtcblxuICBnbG9iYWxbY2xhc3NOYW1lXS5wcm90b3R5cGUuZGlzY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcmVzdWx0ID0gdGhpc1tvcmlnaW5hbEluc3RhbmNlS2V5XS5kaXNjb25uZWN0LmFwcGx5KHRoaXNbb3JpZ2luYWxJbnN0YW5jZUtleV0sIGFyZ3VtZW50cyk7XG4gICAgaWYgKHRoaXNbaXNBY3RpdmVLZXldKSB7XG4gICAgICB0aGlzW2NyZWF0aW9uWm9uZUtleV0uZGVxdWV1ZVRhc2soKTtcbiAgICAgIHRoaXNbaXNBY3RpdmVLZXldID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgZ2xvYmFsW2NsYXNzTmFtZV0ucHJvdG90eXBlLm9ic2VydmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzW2lzQWN0aXZlS2V5XSkge1xuICAgICAgdGhpc1tjcmVhdGlvblpvbmVLZXldLmVucXVldWVUYXNrKCk7XG4gICAgICB0aGlzW2lzQWN0aXZlS2V5XSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldLm9ic2VydmUuYXBwbHkodGhpc1tvcmlnaW5hbEluc3RhbmNlS2V5XSwgYXJndW1lbnRzKTtcbiAgfTtcblxuICB2YXIgcHJvcDtcbiAgZm9yIChwcm9wIGluIGluc3RhbmNlKSB7XG4gICAgKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICBpZiAodHlwZW9mIGdsb2JhbFtjbGFzc05hbWVdLnByb3RvdHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZVtwcm9wXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBnbG9iYWxbY2xhc3NOYW1lXS5wcm90b3R5cGVbcHJvcF0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXNbb3JpZ2luYWxJbnN0YW5jZUtleV1bcHJvcF0uYXBwbHkodGhpc1tvcmlnaW5hbEluc3RhbmNlS2V5XSwgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWxbY2xhc3NOYW1lXS5wcm90b3R5cGUsIHByb3AsIHtcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIChmbikge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldW3Byb3BdID0gZ2xvYmFsLnpvbmUuYmluZChmbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldW3Byb3BdID0gZm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzW29yaWdpbmFsSW5zdGFuY2VLZXldW3Byb3BdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfShwcm9wKSk7XG4gIH1cbn07XG4iXX0=
1035
+ exports.patchMethod = patchMethod;
1036
+
1849
1037
  /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1850
1038
 
1851
1039
  /***/ },
1852
- /* 14 */
1040
+ /* 4 */
1853
1041
  /***/ function(module, exports, __webpack_require__) {
1854
1042
 
1855
- var keys = __webpack_require__(7);
1856
- // might need similar for object.freeze
1857
- // i regret nothing
1043
+ "use strict";
1044
+ var utils_1 = __webpack_require__(3);
1045
+ /*
1046
+ * This is necessary for Chrome and Chrome mobile, to enable
1047
+ * things like redefining `createdCallback` on an element.
1048
+ */
1858
1049
  var _defineProperty = Object.defineProperty;
1859
1050
  var _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1860
1051
  var _create = Object.create;
1861
- var unconfigurablesKey = keys.create('unconfigurables');
1862
- function apply() {
1052
+ var unconfigurablesKey = utils_1.zoneSymbol('unconfigurables');
1053
+ function propertyPatch() {
1863
1054
  Object.defineProperty = function (obj, prop, desc) {
1864
1055
  if (isUnconfigurable(obj, prop)) {
1865
1056
  throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj);
@@ -1891,7 +1082,7 @@ THE SOFTWARE.
1891
1082
  return desc;
1892
1083
  };
1893
1084
  }
1894
- exports.apply = apply;
1085
+ exports.propertyPatch = propertyPatch;
1895
1086
  ;
1896
1087
  function _redefineProperty(obj, prop, desc) {
1897
1088
  desc = rewriteDescriptor(obj, prop, desc);
@@ -1912,16 +1103,17 @@ THE SOFTWARE.
1912
1103
  }
1913
1104
  return desc;
1914
1105
  }
1915
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLXByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3BhdGNoL2RlZmluZS1wcm9wZXJ0eS50cyJdLCJuYW1lcyI6WyJhcHBseSIsIl9yZWRlZmluZVByb3BlcnR5IiwiaXNVbmNvbmZpZ3VyYWJsZSIsInJld3JpdGVEZXNjcmlwdG9yIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFZLElBQUksV0FBTSxTQUFTLENBQUMsQ0FBQTtBQUVoQyx1Q0FBdUM7QUFDdkMsbUJBQW1CO0FBRW5CLElBQUksZUFBZSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7QUFDNUMsSUFBSSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFDaEUsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUM1QixJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV4RDtJQUNFQSxNQUFNQSxDQUFDQSxjQUFjQSxHQUFHQSxVQUFVQSxHQUFHQSxFQUFFQSxJQUFJQSxFQUFFQSxJQUFJQTtRQUMvQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxTQUFTLENBQUMsd0NBQXdDLEdBQUcsSUFBSSxHQUFHLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN4RixDQUFDO1FBQ0QsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUNBO0lBRUZBLE1BQU1BLENBQUNBLGdCQUFnQkEsR0FB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Jy4uL2tleXMnO1xuXG4vLyBtaWdodCBuZWVkIHNpbWlsYXIgZm9yIG9iamVjdC5mcmVlemVcbi8vIGkgcmVncmV0IG5vdGhpbmdcblxudmFyIF9kZWZpbmVQcm9wZXJ0eSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfY3JlYXRlID0gT2JqZWN0LmNyZWF0ZTtcbnZhciB1bmNvbmZpZ3VyYWJsZXNLZXkgPSBrZXlzLmNyZWF0ZSgndW5jb25maWd1cmFibGVzJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseSgpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5ID0gZnVuY3Rpb24gKG9iaiwgcHJvcCwgZGVzYykge1xuICAgIGlmIChpc1VuY29uZmlndXJhYmxlKG9iaiwgcHJvcCkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBhc3NpZ24gdG8gcmVhZCBvbmx5IHByb3BlcnR5IFxcJycgKyBwcm9wICsgJ1xcJyBvZiAnICsgb2JqKTtcbiAgICB9XG4gICAgaWYgKHByb3AgIT09ICdwcm90b3R5cGUnKSB7XG4gICAgICBkZXNjID0gcmV3cml0ZURlc2NyaXB0b3Iob2JqLCBwcm9wLCBkZXNjKTtcbiAgICB9XG4gICAgcmV0dXJuIF9kZWZpbmVQcm9wZXJ0eShvYmosIHByb3AsIGRlc2MpO1xuICB9O1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzID0gZnVuY3Rpb24gKG9iaiwgcHJvcHMpIHtcbiAgICBPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgcHJvcHNbcHJvcF0pO1xuICAgIH0pO1xuICAgIHJldHVybiBvYmo7XG4gIH07XG5cbiAgT2JqZWN0LmNyZWF0ZSA9IGZ1bmN0aW9uIChvYmosIHByb3RvKSB7XG4gICAgaWYgKHR5cGVvZiBwcm90byA9PT0gJ29iamVjdCcpIHtcbiAgICAgIE9iamVjdC5rZXlzKHByb3RvKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICAgIHByb3RvW3Byb3BdID0gcmV3cml0ZURlc2NyaXB0b3Iob2JqLCBwcm9wLCBwcm90b1twcm9wXSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIF9jcmVhdGUob2JqLCBwcm90byk7XG4gIH07XG5cbiAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IGZ1bmN0aW9uIChvYmosIHByb3ApIHtcbiAgICB2YXIgZGVzYyA9IF9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBwcm9wKTtcbiAgICBpZiAoaXNVbmNvbmZpZ3VyYWJsZShvYmosIHByb3ApKSB7XG4gICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZGVzYztcbiAgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfcmVkZWZpbmVQcm9wZXJ0eShvYmosIHByb3AsIGRlc2MpIHtcbiAgZGVzYyA9IHJld3JpdGVEZXNjcmlwdG9yKG9iaiwgcHJvcCwgZGVzYyk7XG4gIHJldHVybiBfZGVmaW5lUHJvcGVydHkob2JqLCBwcm9wLCBkZXNjKTtcbn07XG5cbmZ1bmN0aW9uIGlzVW5jb25maWd1cmFibGUgKG9iaiwgcHJvcCkge1xuICByZXR1cm4gb2JqICYmIG9ialt1bmNvbmZpZ3VyYWJsZXNLZXldICYmIG9ialt1bmNvbmZpZ3VyYWJsZXNLZXldW3Byb3BdO1xufVxuXG5mdW5jdGlvbiByZXdyaXRlRGVzY3JpcHRvciAob2JqLCBwcm9wLCBkZXNjKSB7XG4gIGRlc2MuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgaWYgKCFkZXNjLmNvbmZpZ3VyYWJsZSkge1xuICAgIGlmICghb2JqW3VuY29uZmlndXJhYmxlc0tleV0pIHtcbiAgICAgIF9kZWZpbmVQcm9wZXJ0eShvYmosIHVuY29uZmlndXJhYmxlc0tleSwgeyB3cml0YWJsZTogdHJ1ZSwgdmFsdWU6IHt9IH0pO1xuICAgIH1cbiAgICBvYmpbdW5jb25maWd1cmFibGVzS2V5XVtwcm9wXSA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIGRlc2M7XG59XG5cblxuIl19
1106
+
1916
1107
 
1917
1108
  /***/ },
1918
- /* 15 */
1109
+ /* 5 */
1919
1110
  /***/ function(module, exports, __webpack_require__) {
1920
1111
 
1921
- /* WEBPACK VAR INJECTION */(function(global) {var define_property_1 = __webpack_require__(14);
1922
- var utils = __webpack_require__(9);
1923
- function apply() {
1924
- if (utils.isWebWorker() || !('registerElement' in global.document)) {
1112
+ "use strict";
1113
+ var define_property_1 = __webpack_require__(4);
1114
+ var utils_1 = __webpack_require__(3);
1115
+ function registerElementPatch(_global) {
1116
+ if (!utils_1.isBrowser || !('registerElement' in _global.document)) {
1925
1117
  return;
1926
1118
  }
1927
1119
  var _registerElement = document.registerElement;
@@ -1934,173 +1126,138 @@ THE SOFTWARE.
1934
1126
  document.registerElement = function (name, opts) {
1935
1127
  if (opts && opts.prototype) {
1936
1128
  callbacks.forEach(function (callback) {
1129
+ var source = 'Document.registerElement::' + callback;
1937
1130
  if (opts.prototype.hasOwnProperty(callback)) {
1938
1131
  var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);
1939
1132
  if (descriptor && descriptor.value) {
1940
- descriptor.value = global.zone.bind(descriptor.value);
1133
+ descriptor.value = Zone.current.wrap(descriptor.value, source);
1941
1134
  define_property_1._redefineProperty(opts.prototype, callback, descriptor);
1942
1135
  }
1943
1136
  else {
1944
- opts.prototype[callback] = global.zone.bind(opts.prototype[callback]);
1137
+ opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
1945
1138
  }
1946
1139
  }
1947
1140
  else if (opts.prototype[callback]) {
1948
- opts.prototype[callback] = global.zone.bind(opts.prototype[callback]);
1141
+ opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
1949
1142
  }
1950
1143
  });
1951
1144
  }
1952
1145
  return _registerElement.apply(document, [name, opts]);
1953
1146
  };
1954
1147
  }
1955
- exports.apply = apply;
1956
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wYXRjaC9yZWdpc3Rlci1lbGVtZW50LnRzIl0sIm5hbWVzIjpbImFwcGx5Il0sIm1hcHBpbmdzIjoiQUFBQSxnQ0FBZ0MsbUJBQW1CLENBQUMsQ0FBQTtBQUNwRCxJQUFZLEtBQUssV0FBTSxVQUFVLENBQUMsQ0FBQTtBQUVsQztJQUNFQSxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxXQUFXQSxFQUFFQSxJQUFJQSxDQUFDQSxDQUFDQSxpQkFBaUJBLElBQVVBLE1BQU9BLENBQUNBLFFBQVFBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO1FBQzFFQSxNQUFNQSxDQUFDQTtJQUNUQSxDQUFDQTtJQUVEQSxJQUFJQSxnQkFBZ0JBLEdBQVNBLFFBQVNBLENBQUNBLGVBQWVBLENBQUNBO0lBQ3ZEQSxJQUFJQSxTQUFTQSxHQUFHQTtRQUNkQSxpQkFBaUJBO1FBQ2pCQSxrQkFBa0JBO1FBQ2xCQSxrQkFBa0JBO1FBQ2xCQSwwQkFBMEJBO0tBQzNCQSxDQUFDQTtJQUVJQSxRQUFTQSxDQUFDQSxlQUFlQSxHQUFHQSxVQUFVQSxJQUFJQSxFQUFFQSxJQUFJQTtRQUNwRCxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFFBQVE7Z0JBQ2xDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzNFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDbkMsVUFBVSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3RELG1DQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUMxRCxDQUFDO29CQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUN4RSxDQUFDO2dCQUNILENBQUM7Z0JBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDeEUsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQyxDQUFDQTtBQUNKQSxDQUFDQTtBQWhDZSxhQUFLLFFBZ0NwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtfcmVkZWZpbmVQcm9wZXJ0eX0gZnJvbSAnLi9kZWZpbmUtcHJvcGVydHknO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHkoKSB7XG4gIGlmICh1dGlscy5pc1dlYldvcmtlcigpIHx8ICEoJ3JlZ2lzdGVyRWxlbWVudCcgaW4gKDxhbnk+Z2xvYmFsKS5kb2N1bWVudCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgX3JlZ2lzdGVyRWxlbWVudCA9ICg8YW55PmRvY3VtZW50KS5yZWdpc3RlckVsZW1lbnQ7XG4gIHZhciBjYWxsYmFja3MgPSBbXG4gICAgJ2NyZWF0ZWRDYWxsYmFjaycsXG4gICAgJ2F0dGFjaGVkQ2FsbGJhY2snLFxuICAgICdkZXRhY2hlZENhbGxiYWNrJyxcbiAgICAnYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrJ1xuICBdO1xuXG4gICg8YW55PmRvY3VtZW50KS5yZWdpc3RlckVsZW1lbnQgPSBmdW5jdGlvbiAobmFtZSwgb3B0cykge1xuICAgIGlmIChvcHRzICYmIG9wdHMucHJvdG90eXBlKSB7XG4gICAgICBjYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICAgICAgaWYgKG9wdHMucHJvdG90eXBlLmhhc093blByb3BlcnR5KGNhbGxiYWNrKSkge1xuICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvcHRzLnByb3RvdHlwZSwgY2FsbGJhY2spO1xuICAgICAgICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IudmFsdWUpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBnbG9iYWwuem9uZS5iaW5kKGRlc2NyaXB0b3IudmFsdWUpO1xuICAgICAgICAgICAgX3JlZGVmaW5lUHJvcGVydHkob3B0cy5wcm90b3R5cGUsIGNhbGxiYWNrLCBkZXNjcmlwdG9yKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0cy5wcm90b3R5cGVbY2FsbGJhY2tdID0gZ2xvYmFsLnpvbmUuYmluZChvcHRzLnByb3RvdHlwZVtjYWxsYmFja10pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChvcHRzLnByb3RvdHlwZVtjYWxsYmFja10pIHtcbiAgICAgICAgICBvcHRzLnByb3RvdHlwZVtjYWxsYmFja10gPSBnbG9iYWwuem9uZS5iaW5kKG9wdHMucHJvdG90eXBlW2NhbGxiYWNrXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBfcmVnaXN0ZXJFbGVtZW50LmFwcGx5KGRvY3VtZW50LCBbbmFtZSwgb3B0c10pO1xuICB9O1xufVxuIl19
1957
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1958
-
1959
- /***/ },
1960
- /* 16 */
1961
- /***/ function(module, exports, __webpack_require__) {
1148
+ exports.registerElementPatch = registerElementPatch;
1962
1149
 
1963
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
1964
- var utils = __webpack_require__(9);
1965
- function apply() {
1966
- // patched properties depend on addEventListener, so this needs to come first
1967
- if (global.EventTarget) {
1968
- utils.patchEventTargetMethods(global.EventTarget.prototype);
1969
- }
1970
- else {
1971
- var apis = [
1972
- 'ApplicationCache',
1973
- 'EventSource',
1974
- 'FileReader',
1975
- 'InputMethodContext',
1976
- 'MediaController',
1977
- 'MessagePort',
1978
- 'Node',
1979
- 'Performance',
1980
- 'SVGElementInstance',
1981
- 'SharedWorker',
1982
- 'TextTrack',
1983
- 'TextTrackCue',
1984
- 'TextTrackList',
1985
- 'WebKitNamedFlow',
1986
- 'Worker',
1987
- 'WorkerGlobalScope',
1988
- 'XMLHttpRequest',
1989
- 'XMLHttpRequestEventTarget',
1990
- 'XMLHttpRequestUpload'
1991
- ];
1992
- apis.forEach(function (api) {
1993
- var proto = global[api] && global[api].prototype;
1994
- // Some browsers e.g. Android 4.3's don't actually implement
1995
- // the EventTarget methods for all of these e.g. FileReader.
1996
- // In this case, there is nothing to patch.
1997
- if (proto && proto.addEventListener) {
1998
- utils.patchEventTargetMethods(proto);
1999
- }
2000
- });
2001
- // Patch the methods on `window` instead of `Window.prototype`
2002
- // `Window` is not accessible on Android 4.3
2003
- if (typeof (window) !== 'undefined') {
2004
- utils.patchEventTargetMethods(window);
2005
- }
2006
- }
2007
- }
2008
- exports.apply = apply;
2009
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3BhdGNoL2V2ZW50LXRhcmdldC50cyJdLCJuYW1lcyI6WyJhcHBseSJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBRWIsSUFBWSxLQUFLLFdBQU0sVUFBVSxDQUFDLENBQUE7QUFFbEM7SUFDRUEsNkVBQTZFQTtJQUM3RUEsRUFBRUEsQ0FBQ0EsQ0FBT0EsTUFBT0EsQ0FBQ0EsV0FBV0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7UUFDOUJBLEtBQUtBLENBQUNBLHVCQUF1QkEsQ0FBT0EsTUFBT0EsQ0FBQ0EsV0FBV0EsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0E7SUFJckVBLENBQUNBO0lBQUNBLElBQUlBLENBQUNBLENBQUNBO1FBQ05BLElBQUlBLElBQUlBLEdBQUdBO1lBQ1RBLGtCQUFrQkE7WUFDbEJBLGFBQWFBO1lBQ2JBLFlBQVlBO1lBQ1pBLG9CQUFvQkE7WUFDcEJBLGlCQUFpQkE7WUFDakJBLGFBQWFBO1lBQ2JBLE1BQU1BO1lBQ05BLGFBQWFBO1lBQ2JBLG9CQUFvQkE7WUFDcEJBLGNBQWNBO1lBQ2RBLFdBQVdBO1lBQ1hBLGNBQWNBO1lBQ2RBLGVBQWVBO1lBQ2ZBLGlCQUFpQkE7WUFDakJBLFFBQVFBO1lBQ1JBLG1CQUFtQkE7WUFDbkJBLGdCQUFnQkE7WUFDaEJBLDJCQUEyQkE7WUFDM0JBLHNCQUFzQkE7U0FDdkJBLENBQUNBO1FBRUZBLElBQUlBLENBQUNBLE9BQU9BLENBQUNBLFVBQVNBLEdBQUdBO1lBQ3ZCLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRWpELDREQUE0RDtZQUM1RCw0REFBNEQ7WUFDNUQsMkNBQTJDO1lBQzNDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUMsQ0FBQ0EsQ0FBQ0E7UUFFSEEsOERBQThEQTtRQUM5REEsNENBQTRDQTtRQUM1Q0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsT0FBTUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsS0FBS0EsV0FBV0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDbkNBLEtBQUtBLENBQUNBLHVCQUF1QkEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0E7UUFDeENBLENBQUNBO0lBQ0hBLENBQUNBO0FBQ0hBLENBQUNBO0FBL0NlLGFBQUssUUErQ3BCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5KCkge1xuICAvLyBwYXRjaGVkIHByb3BlcnRpZXMgZGVwZW5kIG9uIGFkZEV2ZW50TGlzdGVuZXIsIHNvIHRoaXMgbmVlZHMgdG8gY29tZSBmaXJzdFxuICBpZiAoKDxhbnk+Z2xvYmFsKS5FdmVudFRhcmdldCkge1xuICAgIHV0aWxzLnBhdGNoRXZlbnRUYXJnZXRNZXRob2RzKCg8YW55Pmdsb2JhbCkuRXZlbnRUYXJnZXQucHJvdG90eXBlKTtcblxuICAvLyBOb3RlOiBFdmVudFRhcmdldCBpcyBub3QgYXZhaWxhYmxlIGluIGFsbCBicm93c2VycyxcbiAgLy8gaWYgaXQncyBub3QgYXZhaWxhYmxlLCB3ZSBpbnN0ZWFkIHBhdGNoIHRoZSBBUElzIGluIHRoZSBJREwgdGhhdCBpbmhlcml0IGZyb20gRXZlbnRUYXJnZXRcbiAgfSBlbHNlIHtcbiAgICB2YXIgYXBpcyA9IFtcbiAgICAgICdBcHBsaWNhdGlvbkNhY2hlJyxcbiAgICAgICdFdmVudFNvdXJjZScsXG4gICAgICAnRmlsZVJlYWRlcicsXG4gICAgICAnSW5wdXRNZXRob2RDb250ZXh0JyxcbiAgICAgICdNZWRpYUNvbnRyb2xsZXInLFxuICAgICAgJ01lc3NhZ2VQb3J0JyxcbiAgICAgICdOb2RlJyxcbiAgICAgICdQZXJmb3JtYW5jZScsXG4gICAgICAnU1ZHRWxlbWVudEluc3RhbmNlJyxcbiAgICAgICdTaGFyZWRXb3JrZXInLFxuICAgICAgJ1RleHRUcmFjaycsXG4gICAgICAnVGV4dFRyYWNrQ3VlJyxcbiAgICAgICdUZXh0VHJhY2tMaXN0JyxcbiAgICAgICdXZWJLaXROYW1lZEZsb3cnLFxuICAgICAgJ1dvcmtlcicsXG4gICAgICAnV29ya2VyR2xvYmFsU2NvcGUnLFxuICAgICAgJ1hNTEh0dHBSZXF1ZXN0JyxcbiAgICAgICdYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0JyxcbiAgICAgICdYTUxIdHRwUmVxdWVzdFVwbG9hZCdcbiAgICBdO1xuXG4gICAgYXBpcy5mb3JFYWNoKGZ1bmN0aW9uKGFwaSkge1xuICAgICAgdmFyIHByb3RvID0gZ2xvYmFsW2FwaV0gJiYgZ2xvYmFsW2FwaV0ucHJvdG90eXBlO1xuXG4gICAgICAvLyBTb21lIGJyb3dzZXJzIGUuZy4gQW5kcm9pZCA0LjMncyBkb24ndCBhY3R1YWxseSBpbXBsZW1lbnRcbiAgICAgIC8vIHRoZSBFdmVudFRhcmdldCBtZXRob2RzIGZvciBhbGwgb2YgdGhlc2UgZS5nLiBGaWxlUmVhZGVyLlxuICAgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGVyZSBpcyBub3RoaW5nIHRvIHBhdGNoLlxuICAgICAgaWYgKHByb3RvICYmIHByb3RvLmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgdXRpbHMucGF0Y2hFdmVudFRhcmdldE1ldGhvZHMocHJvdG8pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gUGF0Y2ggdGhlIG1ldGhvZHMgb24gYHdpbmRvd2AgaW5zdGVhZCBvZiBgV2luZG93LnByb3RvdHlwZWBcbiAgICAvLyBgV2luZG93YCBpcyBub3QgYWNjZXNzaWJsZSBvbiBBbmRyb2lkIDQuM1xuICAgIGlmICh0eXBlb2Yod2luZG93KSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHV0aWxzLnBhdGNoRXZlbnRUYXJnZXRNZXRob2RzKHdpbmRvdyk7XG4gICAgfVxuICB9XG59XG4iXX0=
2010
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
2011
1150
 
2012
1151
  /***/ },
2013
- /* 17 */
1152
+ /* 6 */
2014
1153
  /***/ function(module, exports, __webpack_require__) {
2015
1154
 
2016
- /* WEBPACK VAR INJECTION */(function(global) {var webSocketPatch = __webpack_require__(18);
2017
- var utils = __webpack_require__(9);
2018
- var keys = __webpack_require__(7);
1155
+ "use strict";
1156
+ var webSocketPatch = __webpack_require__(7);
1157
+ var utils_1 = __webpack_require__(3);
2019
1158
  var eventNames = '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(' ');
2020
- function apply() {
2021
- if (utils.isWebWorker()) {
2022
- // on WebWorker so don't apply patch
1159
+ function propertyDescriptorPatch(_global) {
1160
+ if (utils_1.isNode) {
2023
1161
  return;
2024
1162
  }
2025
1163
  var supportsWebSocket = typeof WebSocket !== 'undefined';
2026
1164
  if (canPatchViaPropertyDescriptor()) {
2027
1165
  // for browsers that we can patch the descriptor: Chrome & Firefox
2028
- var onEventNames = eventNames.map(function (property) {
2029
- return 'on' + property;
2030
- });
2031
- utils.patchProperties(HTMLElement.prototype, onEventNames);
2032
- utils.patchProperties(XMLHttpRequest.prototype);
1166
+ if (utils_1.isBrowser) {
1167
+ utils_1.patchOnProperties(HTMLElement.prototype, eventNames);
1168
+ }
1169
+ utils_1.patchOnProperties(XMLHttpRequest.prototype, null);
1170
+ if (typeof IDBIndex !== 'undefined') {
1171
+ utils_1.patchOnProperties(IDBIndex.prototype, null);
1172
+ utils_1.patchOnProperties(IDBRequest.prototype, null);
1173
+ utils_1.patchOnProperties(IDBOpenDBRequest.prototype, null);
1174
+ utils_1.patchOnProperties(IDBDatabase.prototype, null);
1175
+ utils_1.patchOnProperties(IDBTransaction.prototype, null);
1176
+ utils_1.patchOnProperties(IDBCursor.prototype, null);
1177
+ }
2033
1178
  if (supportsWebSocket) {
2034
- utils.patchProperties(WebSocket.prototype);
1179
+ utils_1.patchOnProperties(WebSocket.prototype, null);
2035
1180
  }
2036
1181
  }
2037
1182
  else {
2038
1183
  // Safari, Android browsers (Jelly Bean)
2039
1184
  patchViaCapturingAllTheEvents();
2040
- utils.patchClass('XMLHttpRequest');
1185
+ utils_1.patchClass('XMLHttpRequest');
2041
1186
  if (supportsWebSocket) {
2042
- webSocketPatch.apply();
1187
+ webSocketPatch.apply(_global);
2043
1188
  }
2044
1189
  }
2045
1190
  }
2046
- exports.apply = apply;
1191
+ exports.propertyDescriptorPatch = propertyDescriptorPatch;
2047
1192
  function canPatchViaPropertyDescriptor() {
2048
- if (!Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && typeof Element !== 'undefined') {
1193
+ if (utils_1.isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick')
1194
+ && typeof Element !== 'undefined') {
2049
1195
  // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364
2050
1196
  // IDL interface attributes are not configurable
2051
1197
  var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');
2052
1198
  if (desc && !desc.configurable)
2053
1199
  return false;
2054
1200
  }
2055
- Object.defineProperty(HTMLElement.prototype, 'onclick', {
1201
+ Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {
2056
1202
  get: function () {
2057
1203
  return true;
2058
1204
  }
2059
1205
  });
2060
- var elt = document.createElement('div');
2061
- var result = !!elt.onclick;
2062
- Object.defineProperty(HTMLElement.prototype, 'onclick', {});
1206
+ var req = new XMLHttpRequest();
1207
+ var result = !!req.onreadystatechange;
1208
+ Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {});
2063
1209
  return result;
2064
1210
  }
2065
1211
  ;
2066
- var unboundKey = keys.create('unbound');
2067
- // Whenever any event fires, we check the event target and all parents
1212
+ var unboundKey = utils_1.zoneSymbol('unbound');
1213
+ // Whenever any eventListener fires, we check the eventListener target and all parents
2068
1214
  // for `onwhatever` properties and replace them with zone-bound functions
2069
1215
  // - Chrome (for now)
2070
1216
  function patchViaCapturingAllTheEvents() {
2071
- eventNames.forEach(function (property) {
1217
+ var _loop_1 = function(i) {
1218
+ var property = eventNames[i];
2072
1219
  var onproperty = 'on' + property;
2073
1220
  document.addEventListener(property, function (event) {
2074
- var elt = event.target, bound;
1221
+ var elt = event.target, bound, source;
1222
+ if (elt) {
1223
+ source = elt.constructor['name'] + '.' + onproperty;
1224
+ }
1225
+ else {
1226
+ source = 'unknown.' + onproperty;
1227
+ }
2075
1228
  while (elt) {
2076
1229
  if (elt[onproperty] && !elt[onproperty][unboundKey]) {
2077
- bound = global.zone.bind(elt[onproperty]);
1230
+ bound = Zone.current.wrap(elt[onproperty], source);
2078
1231
  bound[unboundKey] = elt[onproperty];
2079
1232
  elt[onproperty] = bound;
2080
1233
  }
2081
1234
  elt = elt.parentElement;
2082
1235
  }
2083
1236
  }, true);
2084
- });
1237
+ };
1238
+ for (var i = 0; i < eventNames.length; i++) {
1239
+ _loop_1(i);
1240
+ }
1241
+ ;
2085
1242
  }
2086
1243
  ;
2087
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wYXRjaC9wcm9wZXJ0eS1kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbImFwcGx5IiwiY2FuUGF0Y2hWaWFQcm9wZXJ0eURlc2NyaXB0b3IiLCJwYXRjaFZpYUNhcHR1cmluZ0FsbFRoZUV2ZW50cyJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBWSxjQUFjLFdBQU0sYUFBYSxDQUFDLENBQUE7QUFDOUMsSUFBWSxLQUFLLFdBQU0sVUFBVSxDQUFDLENBQUE7QUFDbEMsSUFBWSxJQUFJLFdBQU0sU0FBUyxDQUFDLENBQUE7QUFFaEMsSUFBSSxVQUFVLEdBQUcsdW1CQUF1bUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFcG9CO0lBQ0VBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLFdBQVdBLEVBQUVBLENBQUNBLENBQUFBLENBQUNBO1FBQ3ZCQSxvQ0FBb0NBO1FBQ3BDQSxNQUFNQSxDQUFDQTtJQUNUQSxDQUFDQTtJQUVEQSxJQUFJQSxpQkFBaUJBLEdBQUdBLE9BQU9BLFNBQVNBLEtBQUtBLFdBQVdBLENBQUNBO0lBQ3pEQSxFQUFFQSxDQUFDQSxDQUFDQSw2QkFBNkJBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBO1FBQ3BDQSxtRUFBbUVBO1FBQ25FQSxJQUFJQSxZQUFZQSxHQUFHQSxVQUFVQSxDQUFDQSxHQUFHQSxDQUFDQSxVQUFVQSxRQUFRQTtZQUNsRCxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN6QixDQUFDLENBQUNBLENBQUNBO1FBQ0hBLEtBQUtBLENBQUNBLGVBQWVBLENBQUNBLFdBQVdBLENBQUNBLFNBQVNBLEVBQUVBLFlBQVlBLENBQUNBLENBQUNBO1FBQzNEQSxLQUFLQSxDQUFDQSxlQUFlQSxDQUFDQSxjQUFjQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQTtRQUNoREEsRUFBRUEsQ0FBQ0EsQ0FB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Q0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQ0EsQ0FBQ0E7QUFDTEEsQ0FBQ0E7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgd2ViU29ja2V0UGF0Y2ggZnJvbSAnLi93ZWJzb2NrZXQnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0ICogYXMga2V5cyBmcm9tICcuLi9rZXlzJztcblxudmFyIGV2ZW50TmFtZXMgPSAnY29weSBjdXQgcGFzdGUgYWJvcnQgYmx1ciBmb2N1cyBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGNoYW5nZSBjbGljayBjb250ZXh0bWVudSBkYmxjbGljayBkcmFnIGRyYWdlbmQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnb3ZlciBkcmFnc3RhcnQgZHJvcCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuZGVkIGlucHV0IGludmFsaWQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBsb2FkIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IG1lc3NhZ2UgbW91c2Vkb3duIG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBtb3VzZW1vdmUgbW91c2VvdXQgbW91c2VvdmVyIG1vdXNldXAgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzZXQgc2Nyb2xsIHNlZWtlZCBzZWVraW5nIHNlbGVjdCBzaG93IHN0YWxsZWQgc3VibWl0IHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZyBtb3pmdWxsc2NyZWVuY2hhbmdlIG1vemZ1bGxzY3JlZW5lcnJvciBtb3pwb2ludGVybG9ja2NoYW5nZSBtb3pwb2ludGVybG9ja2Vycm9yIGVycm9yIHdlYmdsY29udGV4dHJlc3RvcmVkIHdlYmdsY29udGV4dGxvc3Qgd2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvcicuc3BsaXQoJyAnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5KCkge1xuICBpZiAodXRpbHMuaXNXZWJXb3JrZXIoKSl7XG4gICAgLy8gb24gV2ViV29ya2VyIHNvIGRvbid0IGFwcGx5IHBhdGNoXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHN1cHBvcnRzV2ViU29ja2V0ID0gdHlwZW9mIFdlYlNvY2tldCAhPT0gJ3VuZGVmaW5lZCc7XG4gIGlmIChjYW5QYXRjaFZpYVByb3BlcnR5RGVzY3JpcHRvcigpKSB7XG4gICAgLy8gZm9yIGJyb3dzZXJzIHRoYXQgd2UgY2FuIHBhdGNoIHRoZSBkZXNjcmlwdG9yOiAgQ2hyb21lICYgRmlyZWZveFxuICAgIHZhciBvbkV2ZW50TmFtZXMgPSBldmVudE5hbWVzLm1hcChmdW5jdGlvbiAocHJvcGVydHkpIHtcbiAgICAgIHJldHVybiAnb24nICsgcHJvcGVydHk7XG4gICAgfSk7XG4gICAgdXRpbHMucGF0Y2hQcm9wZXJ0aWVzKEhUTUxFbGVtZW50LnByb3RvdHlwZSwgb25FdmVudE5hbWVzKTtcbiAgICB1dGlscy5wYXRjaFByb3BlcnRpZXMoWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlKTtcbiAgICBpZiAoc3VwcG9ydHNXZWJTb2NrZXQpIHtcbiAgICAgIHV0aWxzLnBhdGNoUHJvcGVydGllcyhXZWJTb2NrZXQucHJvdG90eXBlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gU2FmYXJpLCBBbmRyb2lkIGJyb3dzZXJzIChKZWxseSBCZWFuKVxuICAgIHBhdGNoVmlhQ2FwdHVyaW5nQWxsVGhlRXZlbnRzKCk7XG4gICAgdXRpbHMucGF0Y2hDbGFzcygnWE1MSHR0cFJlcXVlc3QnKTtcbiAgICBpZiAoc3VwcG9ydHNXZWJTb2NrZXQpIHtcbiAgICAgIHdlYlNvY2tldFBhdGNoLmFwcGx5KCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNhblBhdGNoVmlhUHJvcGVydHlEZXNjcmlwdG9yKCkge1xuICBpZiAoIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycpICYmIHR5cGVvZiBFbGVtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIFdlYktpdCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzY0XG4gICAgLy8gSURMIGludGVyZmFjZSBhdHRyaWJ1dGVzIGFyZSBub3QgY29uZmlndXJhYmxlXG4gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycpO1xuICAgIGlmIChkZXNjICYmICFkZXNjLmNvbmZpZ3VyYWJsZSkgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEhUTUxFbGVtZW50LnByb3RvdHlwZSwgJ29uY2xpY2snLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICB2YXIgZWx0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIHZhciByZXN1bHQgPSAhIWVsdC5vbmNsaWNrO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoSFRNTEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycsIHt9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbnZhciB1bmJvdW5kS2V5ID0ga2V5cy5jcmVhdGUoJ3VuYm91bmQnKTtcblxuLy8gV2hlbmV2ZXIgYW55IGV2ZW50IGZpcmVzLCB3ZSBjaGVjayB0aGUgZXZlbnQgdGFyZ2V0IGFuZCBhbGwgcGFyZW50c1xuLy8gZm9yIGBvbndoYXRldmVyYCBwcm9wZXJ0aWVzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCB6b25lLWJvdW5kIGZ1bmN0aW9uc1xuLy8gLSBDaHJvbWUgKGZvciBub3cpXG5mdW5jdGlvbiBwYXRjaFZpYUNhcHR1cmluZ0FsbFRoZUV2ZW50cygpIHtcbiAgZXZlbnROYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wZXJ0eSkge1xuICAgIHZhciBvbnByb3BlcnR5ID0gJ29uJyArIHByb3BlcnR5O1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIocHJvcGVydHksIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgdmFyIGVsdCA9IDxOb2RlPmV2ZW50LnRhcmdldCwgYm91bmQ7XG4gICAgICB3aGlsZSAoZWx0KSB7XG4gICAgICAgIGlmIChlbHRbb25wcm9wZXJ0eV0gJiYgIWVsdFtvbnByb3BlcnR5XVt1bmJvdW5kS2V5XSkge1xuICAgICAgICAgIGJvdW5kID0gZ2xvYmFsLnpvbmUuYmluZChlbHRbb25wcm9wZXJ0eV0pO1xuICAgICAgICAgIGJvdW5kW3VuYm91bmRLZXldID0gZWx0W29ucHJvcGVydHldO1xuICAgICAgICAgIGVsdFtvbnByb3BlcnR5XSA9IGJvdW5kO1xuICAgICAgICB9XG4gICAgICAgIGVsdCA9IGVsdC5wYXJlbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH0sIHRydWUpO1xuICB9KTtcbn07XG4iXX0=
2088
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1244
+
2089
1245
 
2090
1246
  /***/ },
2091
- /* 18 */
1247
+ /* 7 */
2092
1248
  /***/ function(module, exports, __webpack_require__) {
2093
1249
 
2094
- /* WEBPACK VAR INJECTION */(function(global) {var utils = __webpack_require__(9);
1250
+ "use strict";
1251
+ var utils_1 = __webpack_require__(3);
2095
1252
  // we have to patch the instance since the proto is non-configurable
2096
- function apply() {
2097
- var WS = global.WebSocket;
1253
+ function apply(_global) {
1254
+ var WS = _global.WebSocket;
2098
1255
  // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener
2099
1256
  // On older Chrome, no need since EventTarget was already patched
2100
- if (!global.EventTarget) {
2101
- utils.patchEventTargetMethods(WS.prototype);
1257
+ if (!_global.EventTarget) {
1258
+ utils_1.patchEventTargetMethods(WS.prototype);
2102
1259
  }
2103
- global.WebSocket = function (a, b) {
1260
+ _global.WebSocket = function (a, b) {
2104
1261
  var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);
2105
1262
  var proxySocket;
2106
1263
  // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance
@@ -2117,41 +1274,68 @@ THE SOFTWARE.
2117
1274
  // we can patch the real socket
2118
1275
  proxySocket = socket;
2119
1276
  }
2120
- utils.patchProperties(proxySocket, ['onclose', 'onerror', 'onmessage', 'onopen']);
1277
+ utils_1.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']);
2121
1278
  return proxySocket;
2122
1279
  };
2123
- }
2124
- exports.apply = apply;
2125
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3BhdGNoL3dlYnNvY2tldC50cyJdLCJuYW1lcyI6WyJhcHBseSJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBWSxLQUFLLFdBQU0sVUFBVSxDQUFDLENBQUE7QUFFbEMsb0VBQW9FO0FBQ3BFO0lBQ0VBLElBQUlBLEVBQUVBLEdBQVNBLE1BQU9BLENBQUNBLFNBQVNBLENBQUNBO0lBQ2pDQSx5RkFBeUZBO0lBQ3pGQSxpRUFBaUVBO0lBQ2pFQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFPQSxNQUFPQSxDQUFDQSxXQUFXQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUMvQkEsS0FBS0EsQ0FBQ0EsdUJBQXVCQSxDQUFDQSxFQUFFQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQTtJQUM5Q0EsQ0FBQ0E7SUFDS0EsTUFBT0EsQ0FBQ0EsU0FBU0EsR0FBR0EsVUFBU0EsQ0FBQ0EsRUFBRUEsQ0FBQ0E7UUFDckMsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksV0FBVyxDQUFDO1FBRWhCLGdHQUFnRztRQUNoRyxJQUFJLGFBQWEsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUQsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVMsUUFBUTtnQkFDcEYsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHO29CQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ25ELENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sK0JBQStCO1lBQy9CLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQztRQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVsRixNQUFNLENBQUMsV0FBVyxDQUFDO0lBQ3JCLENBQUMsQ0FBQ0E7QUFDSkEsQ0FBQ0E7QUE3QmUsYUFBSyxRQTZCcEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuLy8gd2UgaGF2ZSB0byBwYXRjaCB0aGUgaW5zdGFuY2Ugc2luY2UgdGhlIHByb3RvIGlzIG5vbi1jb25maWd1cmFibGVcbmV4cG9ydCBmdW5jdGlvbiBhcHBseSgpIHtcbiAgdmFyIFdTID0gKDxhbnk+Z2xvYmFsKS5XZWJTb2NrZXQ7XG4gIC8vIE9uIFNhZmFyaSB3aW5kb3cuRXZlbnRUYXJnZXQgZG9lc24ndCBleGlzdCBzbyBuZWVkIHRvIHBhdGNoIFdTIGFkZC9yZW1vdmVFdmVudExpc3RlbmVyXG4gIC8vIE9uIG9sZGVyIENocm9tZSwgbm8gbmVlZCBzaW5jZSBFdmVudFRhcmdldCB3YXMgYWxyZWFkeSBwYXRjaGVkXG4gIGlmICghKDxhbnk+Z2xvYmFsKS5FdmVudFRhcmdldCkge1xuICAgIHV0aWxzLnBhdGNoRXZlbnRUYXJnZXRNZXRob2RzKFdTLnByb3RvdHlwZSk7XG4gIH1cbiAgKDxhbnk+Z2xvYmFsKS5XZWJTb2NrZXQgPSBmdW5jdGlvbihhLCBiKSB7XG4gICAgdmFyIHNvY2tldCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gbmV3IFdTKGEsIGIpIDogbmV3IFdTKGEpO1xuICAgIHZhciBwcm94eVNvY2tldDtcblxuICAgIC8vIFNhZmFyaSA3LjAgaGFzIG5vbi1jb25maWd1cmFibGUgb3duICdvbm1lc3NhZ2UnIGFuZCBmcmllbmRzIHByb3BlcnRpZXMgb24gdGhlIHNvY2tldCBpbnN0YW5jZVxuICAgIHZhciBvbm1lc3NhZ2VEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb2NrZXQsICdvbm1lc3NhZ2UnKTtcbiAgICBpZiAob25tZXNzYWdlRGVzYyAmJiBvbm1lc3NhZ2VEZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgIHByb3h5U29ja2V0ID0gT2JqZWN0LmNyZWF0ZShzb2NrZXQpO1xuICAgICAgWydhZGRFdmVudExpc3RlbmVyJywgJ3JlbW92ZUV2ZW50TGlzdGVuZXInLCAnc2VuZCcsICdjbG9zZSddLmZvckVhY2goZnVuY3Rpb24ocHJvcE5hbWUpIHtcbiAgICAgICAgcHJveHlTb2NrZXRbcHJvcE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHNvY2tldFtwcm9wTmFtZV0uYXBwbHkoc29ja2V0LCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHdlIGNhbiBwYXRjaCB0aGUgcmVhbCBzb2NrZXRcbiAgICAgIHByb3h5U29ja2V0ID0gc29ja2V0O1xuICAgIH1cblxuICAgIHV0aWxzLnBhdGNoUHJvcGVydGllcyhwcm94eVNvY2tldCwgWydvbmNsb3NlJywgJ29uZXJyb3InLCAnb25tZXNzYWdlJywgJ29ub3BlbiddKTtcblxuICAgIHJldHVybiBwcm94eVNvY2tldDtcbiAgfTtcbn1cbiJdfQ==
2126
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
2127
-
2128
- /***/ },
2129
- /* 19 */
2130
- /***/ function(module, exports, __webpack_require__) {
2131
-
2132
- /* WEBPACK VAR INJECTION */(function(global) {var utils = __webpack_require__(9);
2133
- function apply() {
2134
- if (global.navigator && global.navigator.geolocation) {
2135
- utils.patchPrototype(global.navigator.geolocation, [
2136
- 'getCurrentPosition',
2137
- 'watchPosition'
2138
- ]);
1280
+ for (var prop in WS) {
1281
+ _global.WebSocket[prop] = WS[prop];
2139
1282
  }
2140
1283
  }
2141
1284
  exports.apply = apply;
2142
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcGF0Y2gvZ2VvbG9jYXRpb24udHMiXSwibmFtZXMiOlsiYXBwbHkiXSwibWFwcGluZ3MiOiJBQUFBLElBQVksS0FBSyxXQUFNLFVBQVUsQ0FBQyxDQUFBO0FBRWxDO0lBQ0VBLEVBQUVBLENBQUNBLENBQUNBLE1BQU1BLENBQUNBLFNBQVNBLElBQUlBLE1BQU1BLENBQUNBLFNBQVNBLENBQUNBLFdBQVdBLENBQUNBLENBQUNBLENBQUNBO1FBQ3JEQSxLQUFLQSxDQUFDQSxjQUFjQSxDQUFDQSxNQUFNQSxDQUFDQSxTQUFTQSxDQUFDQSxXQUFXQSxFQUFFQTtZQUNqREEsb0JBQW9CQTtZQUNwQkEsZUFBZUE7U0FDaEJBLENBQUNBLENBQUNBO0lBQ0xBLENBQUNBO0FBQ0hBLENBQUNBO0FBUGUsYUFBSyxRQU9wQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHkoKSB7XG4gIGlmIChnbG9iYWwubmF2aWdhdG9yICYmIGdsb2JhbC5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcbiAgICB1dGlscy5wYXRjaFByb3RvdHlwZShnbG9iYWwubmF2aWdhdG9yLmdlb2xvY2F0aW9uLCBbXG4gICAgICAnZ2V0Q3VycmVudFBvc2l0aW9uJyxcbiAgICAgICd3YXRjaFBvc2l0aW9uJ1xuICAgIF0pO1xuICB9XG59XG4iXX0=
2143
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1285
+
2144
1286
 
2145
1287
  /***/ },
2146
- /* 20 */
1288
+ /* 8 */
2147
1289
  /***/ function(module, exports, __webpack_require__) {
2148
1290
 
2149
- var utils = __webpack_require__(9);
2150
- function apply() {
2151
- utils.patchClass('FileReader');
1291
+ "use strict";
1292
+ var utils_1 = __webpack_require__(3);
1293
+ function patchTimer(window, setName, cancelName, nameSuffix) {
1294
+ var setNative = null;
1295
+ var clearNative = null;
1296
+ setName += nameSuffix;
1297
+ cancelName += nameSuffix;
1298
+ function scheduleTask(task) {
1299
+ var data = task.data;
1300
+ data.args[0] = task.invoke;
1301
+ data.handleId = setNative.apply(window, data.args);
1302
+ return task;
1303
+ }
1304
+ function clearTask(task) {
1305
+ return clearNative(task.data.handleId);
1306
+ }
1307
+ setNative = utils_1.patchMethod(window, setName, function (delegate) { return function (self, args) {
1308
+ if (typeof args[0] === 'function') {
1309
+ var zone = Zone.current;
1310
+ var options = {
1311
+ handleId: null,
1312
+ isPeriodic: nameSuffix === 'Interval',
1313
+ delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,
1314
+ args: args
1315
+ };
1316
+ return zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);
1317
+ }
1318
+ else {
1319
+ // cause an error by calling it directly.
1320
+ return delegate.apply(window, args);
1321
+ }
1322
+ }; });
1323
+ clearNative = utils_1.patchMethod(window, cancelName, function (delegate) { return function (self, args) {
1324
+ var task = args[0];
1325
+ if (task && typeof task.type === 'string') {
1326
+ if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {
1327
+ // Do not cancel already canceled functions
1328
+ task.zone.cancelTask(task);
1329
+ }
1330
+ }
1331
+ else {
1332
+ // cause an error by calling it directly.
1333
+ delegate.apply(window, args);
1334
+ }
1335
+ }; });
2152
1336
  }
2153
- exports.apply = apply;
2154
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcGF0Y2gvZmlsZS1yZWFkZXIudHMiXSwibmFtZXMiOlsiYXBwbHkiXSwibWFwcGluZ3MiOiJBQUFBLElBQVksS0FBSyxXQUFNLFVBQVUsQ0FBQyxDQUFBO0FBRWxDO0lBQ0VBLEtBQUtBLENBQUNBLFVBQVVBLENBQUNBLFlBQVlBLENBQUNBLENBQUNBO0FBQ2pDQSxDQUFDQTtBQUZlLGFBQUssUUFFcEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5KCkge1xuICB1dGlscy5wYXRjaENsYXNzKCdGaWxlUmVhZGVyJyk7XG59XG4iXX0=
1337
+ exports.patchTimer = patchTimer;
1338
+
2155
1339
 
2156
1340
  /***/ }
2157
1341
  /******/ ]);
@@ -2199,97 +1383,127 @@ THE SOFTWARE.
2199
1383
  /************************************************************************/
2200
1384
  /******/ ([
2201
1385
  /* 0 */
2202
- /***/ function(module, exports, __webpack_require__) {
2203
-
2204
- /* WEBPACK VAR INJECTION */(function(global) {var long_stack_trace_1 = __webpack_require__(1);
2205
- if (!global.Zone) {
2206
- throw new Error('zone.js should be installed before loading the long stack trace zone');
2207
- }
2208
- global.Zone.longStackTraceZone = long_stack_trace_1.longStackTraceZone;
2209
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1zdGFjay10cmFjZS16b25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2Jyb3dzZXIvbG9uZy1zdGFjay10cmFjZS16b25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQywyQkFBMkIsQ0FBQyxDQUFBO0FBRTdELEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0FBQzFGLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLHFDQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtsb25nU3RhY2tUcmFjZVpvbmV9IGZyb20gJy4uL3pvbmVzL2xvbmctc3RhY2stdHJhY2UnO1xuXG5pZiAoIWdsb2JhbC5ab25lKSB7XG4gIHRocm93IG5ldyBFcnJvcignem9uZS5qcyBzaG91bGQgYmUgaW5zdGFsbGVkIGJlZm9yZSBsb2FkaW5nIHRoZSBsb25nIHN0YWNrIHRyYWNlIHpvbmUnKTtcbn1cblxuZ2xvYmFsLlpvbmUubG9uZ1N0YWNrVHJhY2Vab25lID0gbG9uZ1N0YWNrVHJhY2Vab25lO1xuIl19
2210
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
2211
-
2212
- /***/ },
2213
- /* 1 */
2214
1386
  /***/ function(module, exports) {
2215
1387
 
2216
- /* WEBPACK VAR INJECTION */(function(global) {/*
2217
- * Wrapped stacktrace
2218
- *
2219
- * We need this because in some implementations, constructing a trace is slow
2220
- * and so we want to defer accessing the trace for as long as possible
2221
- */
2222
1388
  'use strict';
2223
- function _Stacktrace(e) {
2224
- this._e = e;
2225
- }
2226
- _Stacktrace.prototype.get = function () {
2227
- if (global.zone.stackFramesFilter && this._e.stack) {
2228
- return this._e.stack
2229
- .split('\n')
2230
- .filter(global.zone.stackFramesFilter)
2231
- .join('\n');
1389
+ (function () {
1390
+ var NEWLINE = '\n';
1391
+ var SEP = ' ------------- ';
1392
+ var IGNORE_FRAMES = [];
1393
+ var creationTrace = '__creationTrace__';
1394
+ var LongStackTrace = (function () {
1395
+ function LongStackTrace() {
1396
+ this.error = getStacktrace();
1397
+ this.timestamp = new Date();
1398
+ }
1399
+ return LongStackTrace;
1400
+ }());
1401
+ function getStacktraceWithUncaughtError() {
1402
+ return new Error('STACKTRACE TRACKING');
2232
1403
  }
2233
- return this._e.stack;
2234
- };
2235
- function _getStacktraceWithUncaughtError() {
2236
- return new _Stacktrace(new Error());
2237
- }
2238
- function _getStacktraceWithCaughtError() {
2239
- try {
2240
- throw new Error();
1404
+ function getStacktraceWithCaughtError() {
1405
+ try {
1406
+ throw getStacktraceWithUncaughtError();
1407
+ }
1408
+ catch (e) {
1409
+ return e;
1410
+ }
2241
1411
  }
2242
- catch (e) {
2243
- return new _Stacktrace(e);
1412
+ // Some implementations of exception handling don't create a stack trace if the exception
1413
+ // isn't thrown, however it's faster not to actually throw the exception.
1414
+ var error = getStacktraceWithUncaughtError();
1415
+ var coughtError = getStacktraceWithCaughtError();
1416
+ var getStacktrace = error.stack
1417
+ ? getStacktraceWithUncaughtError
1418
+ : (coughtError.stack ? getStacktraceWithCaughtError : getStacktraceWithUncaughtError);
1419
+ function getFrames(error) {
1420
+ return error.stack ? error.stack.split(NEWLINE) : [];
1421
+ }
1422
+ function addErrorStack(lines, error) {
1423
+ var trace = getFrames(error);
1424
+ for (var i = 0; i < trace.length; i++) {
1425
+ var frame = trace[i];
1426
+ // Filter out the Frames which are part of stack capturing.
1427
+ if (!(i < IGNORE_FRAMES.length && IGNORE_FRAMES[i] === frame)) {
1428
+ lines.push(trace[i]);
1429
+ }
1430
+ }
2244
1431
  }
2245
- }
2246
- // Some implementations of exception handling don't create a stack trace if the exception
2247
- // isn't thrown, however it's faster not to actually throw the exception.
2248
- var stack = _getStacktraceWithUncaughtError();
2249
- var _getStacktrace = stack && stack._e.stack
2250
- ? _getStacktraceWithUncaughtError
2251
- : _getStacktraceWithCaughtError;
2252
- exports.longStackTraceZone = {
2253
- getLongStacktrace: function (exception) {
2254
- var traces = [];
2255
- var currentZone = this;
2256
- if (exception) {
2257
- if (currentZone.stackFramesFilter && exception.stack) {
2258
- traces.push(exception.stack.split('\n')
2259
- .filter(currentZone.stackFramesFilter)
2260
- .join('\n'));
1432
+ function renderLongStackTrace(frames, stack) {
1433
+ var longTrace = [stack];
1434
+ if (frames) {
1435
+ var timestamp = new Date().getTime();
1436
+ for (var i = 0; i < frames.length; i++) {
1437
+ var traceFrames = frames[i];
1438
+ var lastTime = traceFrames.timestamp;
1439
+ longTrace.push(SEP + " Elapsed: " + (timestamp - lastTime.getTime()) + " ms; At: " + lastTime + " " + SEP);
1440
+ addErrorStack(longTrace, traceFrames.error);
1441
+ timestamp = lastTime.getTime();
2261
1442
  }
2262
- else {
2263
- traces.push(exception.stack);
1443
+ }
1444
+ return longTrace.join(NEWLINE);
1445
+ }
1446
+ Zone['longStackTraceZoneSpec'] = {
1447
+ name: 'long-stack-trace',
1448
+ longStackTraceLimit: 10,
1449
+ onScheduleTask: function (parentZoneDelegate, currentZone, targetZone, task) {
1450
+ var currentTask = Zone.currentTask;
1451
+ var trace = currentTask && currentTask.data && currentTask.data[creationTrace] || [];
1452
+ trace = [new LongStackTrace()].concat(trace);
1453
+ if (trace.length > this.longStackTraceLimit) {
1454
+ trace.length = this.longStackTraceLimit;
1455
+ }
1456
+ if (!task.data)
1457
+ task.data = {};
1458
+ task.data[creationTrace] = trace;
1459
+ return parentZoneDelegate.scheduleTask(targetZone, task);
1460
+ },
1461
+ onHandleError: function (parentZoneDelegate, currentZone, targetZone, error) {
1462
+ var parentTask = Zone.currentTask;
1463
+ if (error instanceof Error && parentTask) {
1464
+ var descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
1465
+ if (descriptor) {
1466
+ var delegateGet_1 = descriptor.get;
1467
+ var value_1 = descriptor.value;
1468
+ descriptor = {
1469
+ get: function () {
1470
+ return renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], delegateGet_1 ? delegateGet_1.apply(this) : value_1);
1471
+ }
1472
+ };
1473
+ Object.defineProperty(error, 'stack', descriptor);
1474
+ }
1475
+ else {
1476
+ error.stack = renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], error.stack);
1477
+ }
2264
1478
  }
1479
+ return parentZoneDelegate.handleError(targetZone, error);
2265
1480
  }
2266
- var now = Date.now();
2267
- while (currentZone && currentZone.constructedAtException) {
2268
- traces.push('--- ' + (new Date(currentZone.constructedAtTime)).toString() +
2269
- ' - ' + (now - currentZone.constructedAtTime) + 'ms ago', currentZone.constructedAtException.get());
2270
- currentZone = currentZone.parent;
1481
+ };
1482
+ function captureStackTraces(stackTraces, count) {
1483
+ if (count > 0) {
1484
+ stackTraces.push(getFrames((new LongStackTrace()).error));
1485
+ captureStackTraces(stackTraces, count - 1);
2271
1486
  }
2272
- return traces.join('\n');
2273
- },
2274
- stackFramesFilter: function (line) {
2275
- return !/zone(-microtask)?(\.min)?\.js/.test(line);
2276
- },
2277
- onError: function (exception) {
2278
- var reporter = this.reporter || console.log.bind(console);
2279
- reporter(exception.toString());
2280
- reporter(this.getLongStacktrace(exception));
2281
- },
2282
- '$fork': function (parentFork) {
2283
- return function () {
2284
- var newZone = parentFork.apply(this, arguments);
2285
- newZone.constructedAtException = _getStacktrace();
2286
- newZone.constructedAtTime = Date.now();
2287
- return newZone;
2288
- };
2289
1487
  }
2290
- };
2291
- //# sourceMappingURLDisabled=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1zdGFjay10cmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi96b25lcy9sb25nLXN0YWNrLXRyYWNlLnRzIl0sIm5hbWVzIjpbIl9TdGFja3RyYWNlIiwiX2dldFN0YWNrdHJhY2VXaXRoVW5jYXVnaHRFcnJvciIsIl9nZXRTdGFja3RyYWNlV2l0aENhdWdodEVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILFlBQVksQ0FBQztBQUViLHFCQUFxQixDQUFDO0lBQ3BCQSxJQUFJQSxDQUFDQSxFQUFFQSxHQUFHQSxDQUFDQSxDQUFDQTtBQUNkQSxDQUFDQTtBQUVELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHO0lBQzFCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUs7YUFDakIsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQztBQUVGO0lBQ0VDLE1BQU1BLENBQUNBLElBQUlBLFdBQVdBLENBQUNBLElBQUlBLEtBQUtBLEVBQUVBLENBQUNBLENBQUNBO0FBQ3RDQSxDQUFDQTtBQUVEO0lBQ0VDLElBQUlBLENBQUNBO1FBQ0hBLE1BQU1BLElBQUlBLEtBQUtBLEVBQUVBLENBQUNBO0lBQ3BCQSxDQUFFQTtJQUFBQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUNYQSxNQUFNQSxDQUFDQSxJQUFJQSxXQUFXQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtJQUM1QkEsQ0FBQ0E7QUFDSEEsQ0FBQ0E7QUFFRCx5RkFBeUY7QUFDekYseUVBQXlFO0FBQ3pFLElBQUksS0FBSyxHQUFHLCtCQUErQixFQUFFLENBQUM7QUFFOUMsSUFBSSxjQUFjLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSztNQUN4QywrQkFBK0I7TUFDL0IsNkJBQTZCLENBQUM7QUFFckIsMEJBQWtCLEdBQUc7SUFDaEMsaUJBQWlCLEVBQUUsVUFBVSxTQUFTO1FBQ3BDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDdkIsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNkLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7cUJBQ2hDLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7cUJBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVyQixPQUFPLFdBQVcsSUFBSSxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUN6RCxNQUFNLENBQUMsSUFBSSxDQUNQLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUM3RCxLQUFLLEdBQUcsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsUUFBUSxFQUN4RCxXQUFXLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM5QyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQixFQUFFLFVBQVUsSUFBSTtRQUMvQixNQUFNLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELE9BQU8sRUFBRSxVQUFVLFNBQVM7UUFDMUIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLEVBQUUsVUFBVSxVQUFVO1FBQzNCLE1BQU0sQ0FBQztZQUNMLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUNsRCxPQUFPLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogV3JhcHBlZCBzdGFja3RyYWNlXG4gKlxuICogV2UgbmVlZCB0aGlzIGJlY2F1c2UgaW4gc29tZSBpbXBsZW1lbnRhdGlvbnMsIGNvbnN0cnVjdGluZyBhIHRyYWNlIGlzIHNsb3dcbiAqIGFuZCBzbyB3ZSB3YW50IHRvIGRlZmVyIGFjY2Vzc2luZyB0aGUgdHJhY2UgZm9yIGFzIGxvbmcgYXMgcG9zc2libGVcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9TdGFja3RyYWNlKGUpIHtcbiAgdGhpcy5fZSA9IGU7XG59XG5cbl9TdGFja3RyYWNlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChnbG9iYWwuem9uZS5zdGFja0ZyYW1lc0ZpbHRlciAmJiB0aGlzLl9lLnN0YWNrKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Uuc3RhY2tcbiAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgIC5maWx0ZXIoZ2xvYmFsLnpvbmUuc3RhY2tGcmFtZXNGaWx0ZXIpXG4gICAgICAuam9pbignXFxuJyk7XG4gIH1cblxuICByZXR1cm4gdGhpcy5fZS5zdGFjaztcbn07XG5cbmZ1bmN0aW9uIF9nZXRTdGFja3RyYWNlV2l0aFVuY2F1Z2h0RXJyb3IgKCkge1xuICByZXR1cm4gbmV3IF9TdGFja3RyYWNlKG5ldyBFcnJvcigpKTtcbn1cblxuZnVuY3Rpb24gX2dldFN0YWNrdHJhY2VXaXRoQ2F1Z2h0RXJyb3IgKCkge1xuICB0cnkge1xuICAgIHRocm93IG5ldyBFcnJvcigpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIG5ldyBfU3RhY2t0cmFjZShlKTtcbiAgfVxufVxuXG4vLyBTb21lIGltcGxlbWVudGF0aW9ucyBvZiBleGNlcHRpb24gaGFuZGxpbmcgZG9uJ3QgY3JlYXRlIGEgc3RhY2sgdHJhY2UgaWYgdGhlIGV4Y2VwdGlvblxuLy8gaXNuJ3QgdGhyb3duLCBob3dldmVyIGl0J3MgZmFzdGVyIG5vdCB0byBhY3R1YWxseSB0aHJvdyB0aGUgZXhjZXB0aW9uLlxudmFyIHN0YWNrID0gX2dldFN0YWNrdHJhY2VXaXRoVW5jYXVnaHRFcnJvcigpO1xuXG52YXIgX2dldFN0YWNrdHJhY2UgPSBzdGFjayAmJiBzdGFjay5fZS5zdGFja1xuICA/IF9nZXRTdGFja3RyYWNlV2l0aFVuY2F1Z2h0RXJyb3JcbiAgOiBfZ2V0U3RhY2t0cmFjZVdpdGhDYXVnaHRFcnJvcjtcblxuZXhwb3J0IGNvbnN0IGxvbmdTdGFja1RyYWNlWm9uZSA9IHtcbiAgZ2V0TG9uZ1N0YWNrdHJhY2U6IGZ1bmN0aW9uIChleGNlcHRpb24pIHtcbiAgICB2YXIgdHJhY2VzID0gW107XG4gICAgdmFyIGN1cnJlbnRab25lID0gdGhpcztcbiAgICBpZiAoZXhjZXB0aW9uKSB7XG4gICAgICBpZiAoY3VycmVudFpvbmUuc3RhY2tGcmFtZXNGaWx0ZXIgJiYgZXhjZXB0aW9uLnN0YWNrKSB7XG4gICAgICAgIHRyYWNlcy5wdXNoKGV4Y2VwdGlvbi5zdGFjay5zcGxpdCgnXFxuJylcbiAgICAgICAgICAgICAgLmZpbHRlcihjdXJyZW50Wm9uZS5zdGFja0ZyYW1lc0ZpbHRlcilcbiAgICAgICAgICAgICAgLmpvaW4oJ1xcbicpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYWNlcy5wdXNoKGV4Y2VwdGlvbi5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBub3cgPSBEYXRlLm5vdygpO1xuXG4gICAgd2hpbGUgKGN1cnJlbnRab25lICYmIGN1cnJlbnRab25lLmNvbnN0cnVjdGVkQXRFeGNlcHRpb24pIHtcbiAgICAgIHRyYWNlcy5wdXNoKFxuICAgICAgICAgICctLS0gJyArIChuZXcgRGF0ZShjdXJyZW50Wm9uZS5jb25zdHJ1Y3RlZEF0VGltZSkpLnRvU3RyaW5nKCkgK1xuICAgICAgICAgICcgLSAnICsgKG5vdyAtIGN1cnJlbnRab25lLmNvbnN0cnVjdGVkQXRUaW1lKSArICdtcyBhZ28nLFxuICAgICAgICAgIGN1cnJlbnRab25lLmNvbnN0cnVjdGVkQXRFeGNlcHRpb24uZ2V0KCkpO1xuICAgICAgY3VycmVudFpvbmUgPSBjdXJyZW50Wm9uZS5wYXJlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYWNlcy5qb2luKCdcXG4nKTtcbiAgfSxcblxuICBzdGFja0ZyYW1lc0ZpbHRlcjogZnVuY3Rpb24gKGxpbmUpIHtcbiAgICByZXR1cm4gIS96b25lKC1taWNyb3Rhc2spPyhcXC5taW4pP1xcLmpzLy50ZXN0KGxpbmUpO1xuICB9LFxuXG4gIG9uRXJyb3I6IGZ1bmN0aW9uIChleGNlcHRpb24pIHtcbiAgICB2YXIgcmVwb3J0ZXIgPSB0aGlzLnJlcG9ydGVyIHx8IGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSk7XG4gICAgcmVwb3J0ZXIoZXhjZXB0aW9uLnRvU3RyaW5nKCkpO1xuICAgIHJlcG9ydGVyKHRoaXMuZ2V0TG9uZ1N0YWNrdHJhY2UoZXhjZXB0aW9uKSk7XG4gIH0sXG5cbiAgJyRmb3JrJzogZnVuY3Rpb24gKHBhcmVudEZvcmspIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbmV3Wm9uZSA9IHBhcmVudEZvcmsuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIG5ld1pvbmUuY29uc3RydWN0ZWRBdEV4Y2VwdGlvbiA9IF9nZXRTdGFja3RyYWNlKCk7XG4gICAgICBuZXdab25lLmNvbnN0cnVjdGVkQXRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIHJldHVybiBuZXdab25lO1xuICAgIH1cbiAgfVxufTtcblxuIl19
2292
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1488
+ function computeIgnoreFrames() {
1489
+ var frames = [];
1490
+ captureStackTraces(frames, 2);
1491
+ var frames1 = frames[0];
1492
+ var frames2 = frames[1];
1493
+ for (var i = 0; i < frames1.length; i++) {
1494
+ var frame1 = frames1[i];
1495
+ var frame2 = frames2[i];
1496
+ if (frame1 === frame2) {
1497
+ IGNORE_FRAMES.push(frame1);
1498
+ }
1499
+ else {
1500
+ break;
1501
+ }
1502
+ }
1503
+ }
1504
+ computeIgnoreFrames();
1505
+ })();
1506
+
2293
1507
 
2294
1508
  /***/ }
2295
1509
  /******/ ]);