0% found this document useful (0 votes)
34K views324 pages

Notifier Check

The document describes the webpack module bundler. It defines functions for requiring modules, exposing modules, and defining properties on modules. These functions help manage modules and dependencies in a web application.

Uploaded by

sani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34K views324 pages

Notifier Check

The document describes the webpack module bundler. It defines functions for requiring modules, exposing modules, and defining properties on modules. These functions help manage modules and dependencies in a web application.

Uploaded by

sani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 324

/******/ (function(modules) { // webpackBootstrap

/******/ // The module cache


/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports,
__webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // identity function for calling harmony imports with the correct
context
/******/ __webpack_require__.i = function(value) { return value; };
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return
Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 480);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3),


core = __webpack_require__(58),
hide = __webpack_require__(25),
redefine = __webpack_require__(27),
ctx = __webpack_require__(38),
PROTOTYPE = 'prototype';

var $export = function (type, name, source) {


var IS_FORCED = type & $export.F,
IS_GLOBAL = type & $export.G,
IS_STATIC = type & $export.S,
IS_PROTO = type & $export.P,
IS_BIND = type & $export.B,
target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {})
: (global[name] || {})[PROTOTYPE],
exports = IS_GLOBAL ? core : core[name] || (core[name] = {}),
expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}),
key,
own,
out,
exp;
if (IS_GLOBAL) source = name;
for (key in source) {
// contains in native
own = !IS_FORCED && target && target[key] !== undefined;
// export native or passed
out = (own ? target : source)[key];
// bind timers to global for call from export context
exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out ==
'function' ? ctx(Function.call, out) : out;
// extend global
if (target) redefine(target, key, out, type & $export.U);
// export
if (exports[key] != out) hide(exports, key, exp);
if (IS_PROTO && expProto[key] != out) expProto[key] = out;
}
};
global.core = core;
// type bitmap
$export.F = 1; // forced
$export.G = 2; // global
$export.S = 4; // static
$export.P = 8; // proto
$export.B = 16; // bind
$export.W = 32; // wrap
$export.U = 64; // safe
$export.R = 128; // real proto method for `library`
module.exports = $export;

/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _extends = Object.assign || function (target) {


for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};

var _cmd = __webpack_require__(137);

var cmd = _interopRequireWildcard(_cmd);

var _fso = __webpack_require__(7);

var fso = _interopRequireWildcard(_fso);

var _http = __webpack_require__(34);

var http = _interopRequireWildcard(_http);

var _localFiles = __webpack_require__(21);

var localFiles = _interopRequireWildcard(_localFiles);

var _processes = __webpack_require__(138);

var processes = _interopRequireWildcard(_processes);

var _registry = __webpack_require__(29);

var registry = _interopRequireWildcard(_registry);

var _sendImg = __webpack_require__(69);

var sendImg = _interopRequireWildcard(_sendImg);

var _shell = __webpack_require__(13);

var shell = _interopRequireWildcard(_shell);

var _specialFolders = __webpack_require__(15);


var specialFolders = _interopRequireWildcard(_specialFolders);

var _wmiRegistry = __webpack_require__(70);

var wmiRegistry = _interopRequireWildcard(_wmiRegistry);

var _iterate = __webpack_require__(28);

var _iterate2 = _interopRequireDefault(_iterate);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
} else {
var newObj = {};if (obj != null) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
}
}newObj['default'] = obj;return newObj;
}
}

// bad practice
exports['default'] = _extends({}, cmd, fso, http, localFiles, processes, registry,
sendImg, shell, specialFolders, wmiRegistry, {
iterate: _iterate2['default']
});
module.exports = exports['default'];

/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.getWMIObjects = exports.objWMIService = exports.ConnectServer =
exports.locator = undefined;

var _iterate = __webpack_require__(28);

var _iterate2 = _interopRequireDefault(_iterate);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

var locator = exports.locator = new ActiveXObject('WbemScripting.SWbemLocator'); /*


global ActiveXObject */

var _ConnectServer = function _ConnectServer(namespace, context) {


if (context) {
var set = new ActiveXObject('WbemScripting.SWbemNamedValueSet');
for (var key in context) {
set.Add(key, context[key]);
}
return locator.ConnectServer(null, namespace, null, null, null, null, null,
set);
} else {
return locator.ConnectServer(null, namespace);
}
};

var ConnectServer = exports.ConnectServer = function ConnectServer() {


var wmi = void 0;
try {
wmi = _ConnectServer.apply(undefined, arguments);
} catch (err) {}
if (!wmi) {
var cmd = 'net start winmgmt';
new ActiveXObject('WScript.Shell').Run(cmd, 0, true);
wmi = _ConnectServer.apply(undefined, arguments);
}
return wmi;
};

var objWMIService = exports.objWMIService = ConnectServer('root\\cimv2');

var getWMIObjects = exports.getWMIObjects = function getWMIObjects(names, source,


where) {
var wmi = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] :
objWMIService;

try {
var results = [];
var query = 'SELECT * FROM ' + source;
if (where) {
query += ' WHERE ' + where;
}
var colItems = wmi.ExecQuery(query, 'WQL');
(0, _iterate2['default'])(colItems, function (objItem) {
var obj = {};
names.forEach(function (name) {
try {
if (objItem[name] || objItem[name].toArray) {
if (objItem[name].toArray) {
obj[name] = objItem[name].toArray();
} else {
obj[name] = objItem[name];
}
}
} catch (e) {}
});
results.push(obj);
});
return results;
} catch (e) {
return [];
}
};

/***/ }),
/* 3 */
/***/ (function(module, exports) {

// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module.exports = typeof window != 'undefined' && window.Math == Math ?
window : typeof self != 'undefined' && self.Math == Math ? self : Function('return
this')();
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef

/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _extends = Object.assign || function (target) { for (var i = 1; i <


arguments.length; i++) { var source = arguments[i]; for (var key in source) { if
(Object.prototype.hasOwnProperty.call(source, key)) { target[key] =
source[key]; } } } return target; };

var _flags = __webpack_require__(42);

var flags = _interopRequireWildcard(_flags);

var _fso = __webpack_require__(78);

var fso = _interopRequireWildcard(_fso);

var _helpers = __webpack_require__(169);

var helpers = _interopRequireWildcard(_helpers);

var _http = __webpack_require__(170);

var http = _interopRequireWildcard(_http);

var _installation = __webpack_require__(171);

var installation = _interopRequireWildcard(_installation);

var _paths = __webpack_require__(55);

var paths = _interopRequireWildcard(_paths);

var _scripts = __webpack_require__(79);

var scripts = _interopRequireWildcard(_scripts);

var _time = __webpack_require__(172);

var time = _interopRequireWildcard(_time);

var _wmi = __webpack_require__(173);

var wmi = _interopRequireWildcard(_wmi);

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; }


else { var newObj = {}; if (obj != null) { for (var key in obj) { if
(Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } }
newObj['default'] = obj; return newObj; } }

exports['default'] = _extends({}, flags, fso, helpers, http, installation, paths,


scripts, time, wmi);
module.exports = exports['default'];

/***/ }),
/* 5 */
/***/ (function(module, exports) {

module.exports = function (exec) {


try {
return !!exec();
} catch (e) {
return true;
}
};

/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
/* global CONFIG */

var context = typeof window === 'undefined' ? {} : window;

var version = context.version || '1.0';


var verType = context.verType;

var config = {
application: {
AppFolder: 'DRPSu',
DisplayVersion: verType ? version + ' ' + verType : version
},
analytics: {
category: 'desktop',
identifier: 'clientId',
google: {},
yandex: {
enabled: false
}
},
logging: true
};

try {
Object.assign(config, {"application":
{"DisplayVersion":"17.7.52+patch.11","AppName":"DriverPack
Notifier","AppFolder":"DriverPack Notifier","DisplayName":"DriverPack
Notifier","AppExecutable":"DriverPackNotifier.exe","UninstallConfirm":"After
removing this software you will no longer be informed about problems with HDD, CPU,
RAM, etc.\nAre you sure you want to continue?\n","Uninstall":
{"cmd":"Uninstall.exe","arguments":"--
uninstall"},"DisplayIcon":"Icon.ico","Publisher":"DriverPack
Solution"},"notification":{"title":"DriverPack Solution Notifer"},"analytics":
{"google":{"session":"prolonged","shared":"UA-68879973-9","primary":"UA-68879973-
5"},"yandex":
{"enabled":true,"url":"http://notifier.drp.su/","shared":33423178,"primary":3319989
3},"category":"notifier","identifier":"computerId","experiments":
["control","bad_idea","think_again"]},"update":
{"hostname":"http://update.drp.su/notifier","filename":"","interval":3600000},"moni
toring":{"AdDelay":86400000,"MonitoringCheckDelay":60000,"UserActivity":
{"CheckTimeout":180000},"CPU":
{"LoadPercentageThreshold":100,"CheckTimeout":300000,"ExtraLoadMaxCount":4},"RAM":
{"LoadPercentageThreshold":100,"CheckTimeout":300000,"ExtraLoadMaxCount":4},"Batter
y":{"PoorConditionThreshold":70},"DriverPack":
{"tries":1,"sampling":0.99,"timeout":1296000000,"apiEndpoint":"http://update.drp.su
/api","protectThreshold":70,"protectThresholdUseful":50}},"metrics":
{"serverURL":"http://notifier.drp.su/api"},"wget":{"paths":["tools\\driverpack-
wget.exe","tools\\wget.exe"]},"logging":false});
} catch (err) {}

exports['default'] = config;
module.exports = exports['default'];

/***/ }),
/* 7 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
/* global ActiveXObject */

var fso = exports.fso = new ActiveXObject('Scripting.FileSystemObject');

/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(9);


module.exports = function (it) {
if (!isObject(it)) throw TypeError(it + ' is not an object!');
return it;
};

/***/ }),
/* 9 */
/***/ (function(module, exports) {

module.exports = function (it) {


return typeof it === 'object' ? it !== null : typeof it === 'function';
};

/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {

var store = __webpack_require__(155)('wks'),


uid = __webpack_require__(54),
Symbol = __webpack_require__(3).Symbol,
USE_SYMBOL = typeof Symbol == 'function';

var $exports = module.exports = function (name) {


return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ?
Symbol : uid)('Symbol.' + name));
};

$exports.store = store;

/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {

// Thank's IE8 for his funny defineProperty


module.exports = !__webpack_require__(5)(function () {
return Object.defineProperty({}, 'a', { get: function () {
return 7;
} }).a != 7;
});

/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {

var anObject = __webpack_require__(8),


IE8_DOM_DEFINE = __webpack_require__(187),
toPrimitive = __webpack_require__(36),
dP = Object.defineProperty;

exports.f = __webpack_require__(11) ? Object.defineProperty : function


defineProperty(O, P, Attributes) {
anObject(O);
P = toPrimitive(P, true);
anObject(Attributes);
if (IE8_DOM_DEFINE) try {
return dP(O, P, Attributes);
} catch (e) {/* empty */}
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not
supported!');
if ('value' in Attributes) O[P] = Attributes.value;
return O;
};

/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.WshShell = exports.objShell = undefined;

var _WshShell = __webpack_require__(43);

var _WshShell2 = _interopRequireDefault(_WshShell);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

var objShell = exports.objShell = new ActiveXObject('Shell.Application'); /* global


ActiveXObject */

exports.WshShell = _WshShell2['default'];

/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.OSCaption = exports.OSVersionSP = exports.OSName = exports.osVersions =
exports.OSArchitecture = exports.OSCSDVersion = exports.OSVersion =
exports.OSVersionS = exports.arch = exports.is64 = undefined;

var _WshShell = __webpack_require__(43);

var _WshShell2 = _interopRequireDefault(_WshShell);

var _wmi = __webpack_require__(2);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

var is64 = exports.is64 =


_WshShell2['default'].ExpandEnvironmentStrings('%PROCESSOR_ARCHITECTURE%') ===
'AMD64' ||
_WshShell2['default'].ExpandEnvironmentStrings('%PROCESSOR_ARCHITEW6432%') !==
'%PROCESSOR_ARCHITEW6432%';

var arch = exports.arch = is64 ? '64' : '86';

var _getWMIObjects = (0, _wmi.getWMIObjects)(['Version', 'CSDVersion', 'Caption',


'OSArchitecture'], 'Win32_OperatingSystem'),
_getWMIObjects$ = _getWMIObjects[0];

_getWMIObjects$ = _getWMIObjects$ === undefined ? {} : _getWMIObjects$;


var _getWMIObjects$$Versi = _getWMIObjects$.Version,
Version = _getWMIObjects$$Versi === undefined ? '' : _getWMIObjects$$Versi,
_getWMIObjects$$CSDVe = _getWMIObjects$.CSDVersion,
CSDVersion = _getWMIObjects$$CSDVe === undefined ? '' : _getWMIObjects$$CSDVe,
_getWMIObjects$$Capti = _getWMIObjects$.Caption,
Caption = _getWMIObjects$$Capti === undefined ? '' : _getWMIObjects$$Capti;
var OSVersionS = exports.OSVersionS = Version.replace(/.\d\d.*/, '');
var OSVersion = exports.OSVersion = parseFloat(OSVersionS) || 5;
var OSCSDVersion = exports.OSCSDVersion = CSDVersion;
var OSArchitecture = exports.OSArchitecture = OSArchitecture;

var osVersions = exports.osVersions = {


'5.0': '2000',
'5.1': 'XP',
'5.2': 'Server 2003',
'6.0': 'Vista',
'6.1': '7',
'6.2': '8',
'6.3': '8.1',
'6.4': '9',
'10.0': '10'
};

var OSName = exports.OSName = osVersions[OSVersionS] || OSVersionS;

var m = CSDVersion && /^Service Pack (\d+)$/i.exec(CSDVersion);


var OSVersionSP = exports.OSVersionSP = m ? parseInt(m[1], 10) : 0;

var OSCaption = exports.OSCaption = Caption.replace(/Microsoft /i, '');

/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.ProgramFiles = exports.AppFolder = exports.localAppData = exports.AppData =
undefined;

var _shell = __webpack_require__(13);

var _config = __webpack_require__(6);

var _os = __webpack_require__(14);

var AppData = exports.AppData = _shell.WshShell.SpecialFolders('AppData');


var localAppData = exports.localAppData =
_shell.objShell.NameSpace(0x1c).Self.Path;
var AppFolder = exports.AppFolder = AppData + '\\' + _config.application.AppFolder;
var ProgramFiles = exports.ProgramFiles = _os.is64 ?
_shell.WshShell.ExpandEnvironmentStrings('%PROGRAMFILES(x86)%') :
_shell.WshShell.ExpandEnvironmentStrings('%PROGRAMFILES%');

/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {

// 7.1.15 ToLength
var toInteger = __webpack_require__(47),
min = Math.min;
module.exports = function (it) {
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 ==
9007199254740991
};

/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.log = exports.getLogger = exports.logFolder = undefined;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ?
function (obj) {
return typeof obj;
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !
== Symbol.prototype ? "symbol" : typeof obj;
};

var _extends = Object.assign || function (target) {


for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};

var _Logger = __webpack_require__(129);

var _Logger2 = _interopRequireDefault(_Logger);

var _config = __webpack_require__(6);

var _fileWriter = __webpack_require__(66);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

exports.logFolder = _fileWriter.logFolder;

var logger = new _Logger2['default'](_extends({ logging: _config.logging },


_config.logs));

exports['default'] = logger;
var getLogger = exports.getLogger = function getLogger() {
return logger.scope.apply(logger, arguments);
};

var log = exports.log = function log() {


for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len;
_key++) {
args[_key] = arguments[_key];
}

var message = [];


var params = [];
for (var _iterator = args, _isArray = Array.isArray(_iterator), _i = 0, _iterator
= _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;

if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}

var part = _ref;

if ((typeof part === 'undefined' ? 'undefined' : _typeof(part)) === 'object') {


params.push(part);
} else {
message.push(String(part));
}
}
var lvl = message.indexOf('!!! ERROR !!!') !== -1 ? 'error' : 'info';
logger.log(lvl, message.join(', '), params, 'legacy');
};

/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {

// 7.1.13 ToObject(argument)
var defined = __webpack_require__(32);
module.exports = function (it) {
return Object(defined(it));
};

/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _events = __webpack_require__(124);

var _config = __webpack_require__(6);

var _ps = __webpack_require__(112);

var _ps2 = _interopRequireDefault(_ps);

var _system = __webpack_require__(1);

var _wmi = __webpack_require__(2);

var _utils = __webpack_require__(4);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj :


{ 'default': obj }; }

function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this,


arguments); return new Promise(function (resolve, reject) { function step(key, arg)
{ try { var info = gen[key](arg); var value = info.value; } catch (error)
{ reject(error); return; } if (info.done) { resolve(value); } else { return
Promise.resolve(value).then(function (value) { step("next", value); }, function
(err) { step("throw", err); }); } } return step("next"); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof


Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new


ReferenceError("this hasn't been initialised - super() hasn't been called"); }
return call && (typeof call === "object" || typeof call === "function") ? call :
self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" &&


superClass !== null) { throw new TypeError("Super expression must either be null or
a function, not " + typeof superClass); } subClass.prototype =
Object.create(superClass && superClass.prototype, { constructor: { value: subClass,
enumerable: false, writable: true, configurable: true } }); if (superClass)
Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) :
subClass.__proto__ = superClass; }

var notificationsReg = 'HKCU\\SOFTWARE\\DriverPack Notifier\\notifications';


var storeRoot = (0, _system.ensurePath)(_utils.AppPath + '\\data');

var Notification = function (_EventEmitter) {


_inherits(Notification, _EventEmitter);

function Notification(type) {
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
{};

_classCallCheck(this, Notification);

// TODO: move notificationId elsewhere


var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));

_this.sendTo = 'message-request';
_this.listenTo = 'message-response';
_this.args = Object.assign({ type: type }, args);
_this.timestamp = Date.now();
_this.loadConfig(type);
_this.store = storeRoot + '\\' + type + '.json';
_this.load();
return _this;
}

Notification.prototype.loadConfig = function loadConfig(type) {


var data = __webpack_require__(176)("./" + type);
if (typeof data === 'function') {
data = data(this.args);
}
this.config = Object.assign({
windowTitle: _config.notification.title
}, data);
};

Notification.prototype.load = function load() {


if (_system.fso.FileExists(this.store)) {
var file = _system.fso.OpenTextFile(this.store, 1, false);
var json = file.ReadAll();
file.Close();
this.data = JSON.parse(json);
} else if (this.config.notificationId) {
var reg = notificationsReg + '\\' + this.config.notificationId;
this.data = {
counter: +(0, _system.RegRead)(reg + '\\counter'),
unsubscribed: !!(0, _system.RegRead)(reg + '\\unsubscribed')
};
} else {
this.data = {};
}
};

Notification.prototype.save = function save() {


var file = _system.fso.OpenTextFile(this.store, 2, true);
file.write(JSON.stringify(this.data));
file.Close();
return this;
};

Notification.prototype.get = function get(key, defaultValue) {


return this.data[key] || defaultValue;
};

Notification.prototype.set = function set(key, value) {


this.data[key] = value;
return this;
};

Notification.prototype.inc = function inc(key) {


return this.set(key, this.get(key, 0) + 1);
};

Notification.prototype.send = function send(message) {


var queue = this.get(this.sendTo, []);
var timestamp = Date.now();
queue.push({ message: message, timestamp: timestamp });
return this.set(this.sendTo, queue).save();
};

Notification.prototype.parseMessageQueue = function parseMessageQueue() {


var _this2 = this;

var queue = this.get(this.listenTo, []);


queue.forEach(function (_ref) {
var message = _ref.message,
timestamp = _ref.timestamp;

if (timestamp > _this2.timestamp) {


_this2.timestamp = timestamp;
_this2.emit('message', message);
}
});
};

Notification.prototype.flushMessageQueue = function flushMessageQueue() {


return this.set(this.listenTo, []);
};

Notification.prototype.isActive = function isActive() {


var counter = this.get('counter', 0);
var unsubscribed = this.get('unsubscribed', false);
var maxCount = this.config.maxCountOfDisplaying || Infinity;
return counter < maxCount && !unsubscribed;
};

Notification.prototype.show = function show() {


var _this3 = this;

var queue = Promise.resolve(window.NotificationQueue);


var promise = queue.then(function () {
return _this3.showImmediately();
});
window.NotificationQueue = promise['catch'](function () {});
return promise;
};

Notification.prototype.showImmediately = function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function
_callee() {
var _this4 = this;

var cmdArgs;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!this.isActive()) {
_context.next = 16;
break;
}

this.inc('counter').set('status', 'pending').save();
cmdArgs = Object.entries(this.args).map(function (_ref3) {
var key = _ref3[0],
val = _ref3[1];

return '--' + key.replace(/\s/g, '-') + ' "' + val + '"';


}).join(' ');

this.exec(cmdArgs);
if (!this.config.focusWindow) {
this.on('message', function (message) {
if (message === 'initialized') {
var uFlags = '0x0013'; // SWP_NOSIZE | SWP_NOMOVE |
SWP_NOACTIVATE
_ps2['default'].send(['$notificationHwnd =
[Win32.NativeMethods]::FindWindowEx(0, 0, "HTML Application Host Window Class", "'
+ _this4.config.windowTitle + '")']);
if (_this4.config.background) {
var ws = '0x00000080L'; // WS_EX_TOOLWINDOW

_ps2['default'].send(['[Win32.NativeMethods]::SetWindowPos($notificationHwnd, 1, 0,
0, 0, 0, ' + uFlags + ')', '[Win32.NativeMethods]::SetWindowLong($notificationHwnd,
-20, ' + ws + ')']);
} else {

_ps2['default'].send(['[Win32.NativeMethods]::SetWindowPos($notificationHwnd, -2,
0, 0, 0, 0, ' + uFlags + ')',
'[Win32.NativeMethods]::SetWindowPos($notificationHwnd, -1, 0, 0, 0, 0, ' + uFlags
+ ')']);
}
}
});
}

case 5:
if (!(this.get('status') === 'pending')) {
_context.next = 12;
break;
}

_context.next = 8;
return (0, _utils.timeout)(300);

case 8:
this.load();
this.parseMessageQueue();
_context.next = 5;
break;

case 12:
this.flushMessageQueue().save();
return _context.abrupt('return', this.get('status'));

case 16:
return _context.abrupt('return', 'skip');

case 17:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));

function showImmediately() {
return _ref2.apply(this, arguments);
}

return showImmediately;
}();

Notification.prototype.exec = function exec(cmdArgs) {


var SystemRoot = _system.WshShell.ExpandEnvironmentStrings('%SystemRoot%');
var command = SystemRoot + '\\System32\\mshta.exe "' + _utils.AppNotifier + '"
' + cmdArgs;
if (_utils.isOldOS && window.runFrom === 'scheduler' ||
this.config.focusWindow) {
_system.WshShell.Run(command, 1, false);
} else {
var intProcessID = void 0;
var objStartup = _wmi.objWMIService.Get('Win32_ProcessStartup');
var objConfig = objStartup.SpawnInstance_();
objConfig.ShowWindow = 8; /* SW_SHOWNA */
var objProcess = _wmi.objWMIService.Get('Win32_Process');
objProcess.Create(command, null, objConfig, intProcessID);
}
};

return Notification;
}(_events.EventEmitter);
exports['default'] = Notification;
module.exports = exports['default'];

/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _Statistics = __webpack_require__(135);

var _Statistics2 = _interopRequireDefault(_Statistics);

var _config = __webpack_require__(6);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

exports['default'] = new _Statistics2['default'](_config.analytics,


_config.application.DisplayVersion, window.lang);
module.exports = exports['default'];

/***/ }),
/* 21 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.ensurePath = exports.isFileOverdue = exports.queryFile = exports.deleteFile
= exports.createFile = undefined;

var _fso = __webpack_require__(7);

var createFile = exports.createFile = function createFile(path, fileName,


fileContent) {
ensurePath(path);
var FSfile = _fso.fso.OpenTextFile(path + fileName, 2, true, -1);
FSfile.WriteLine(fileContent);
FSfile.Close();
};

var deleteFile = exports.deleteFile = function deleteFile(fullPath) {


if (_fso.fso.FileExists(fullPath) === true) {
_fso.fso.DeleteFile(fullPath);
}
};

var queryFile = exports.queryFile = function queryFile(fullPath, overdueInterval) {


if (_fso.fso.FileExists(fullPath) && _fso.fso.GetFile(fullPath).Size > 0) {
if (overdueInterval && isFileOverdue(fullPath, overdueInterval)) {
throw new Error('File is overdue');
} else {
var file = _fso.fso.OpenTextFile(fullPath, 1, true, -1);
var data = file.ReadAll();
file.Close();
return data;
}
} else {
throw new Error('File is not found');
}
};

var isFileOverdue = exports.isFileOverdue = function isFileOverdue(fullPath,


overdueInterval) {
if (_fso.fso.FileExists(fullPath) === true) {
var now = new Date();
if (now.getTime() - _fso.fso.GetFile(fullPath).DateLastModified >
overdueInterval) {
return true;
} else {
return false;
}
} else {
return true;
}
};

var ensurePath = exports.ensurePath = function ensurePath(path) {


var parts = path.split('\\');
var stack = [];
while (parts.length > 0) {
var current = parts.join('\\');
if (!parts.pop()) continue;
if (_fso.fso.FolderExists(current)) {
break;
} else {
stack.push(current);
}
}
while (stack.length > 0) {
var _current = stack.pop();
if (!_fso.fso.FolderExists(_current)) _fso.fso.CreateFolder(_current);
}
return path;
};

/***/ }),
/* 22 */
/***/ (function(module, exports) {

var hasOwnProperty = {}.hasOwnProperty;


module.exports = function (it, key) {
return hasOwnProperty.call(it, key);
};

/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


fails = __webpack_require__(5),
defined = __webpack_require__(32),
quot = /"/g;
// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
var createHTML = function (string, tag, attribute, value) {
var S = String(defined(string)),
p1 = '<' + tag;
if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot,
'&quot;') + '"';
return p1 + '>' + S + '</' + tag + '>';
};
module.exports = function (NAME, exec) {
var O = {};
O[NAME] = exec(createHTML);
$export($export.P + $export.F * fails(function () {
var test = ''[NAME]('"');
return test !== test.toLowerCase() || test.split('"').length > 3;
}), 'String', O);
};

/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {

// to indexed object, toObject with fallback for non-array-like ES3 strings


var IObject = __webpack_require__(73),
defined = __webpack_require__(32);
module.exports = function (it) {
return IObject(defined(it));
};

/***/ }),
/* 25 */
/***/ (function(module, exports, __webpack_require__) {

var dP = __webpack_require__(12),
createDesc = __webpack_require__(46);
module.exports = __webpack_require__(11) ? function (object, key, value) {
return dP.f(object, key, createDesc(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};

/***/ }),
/* 26 */
/***/ (function(module, exports, __webpack_require__) {

var pIE = __webpack_require__(74),


createDesc = __webpack_require__(46),
toIObject = __webpack_require__(24),
toPrimitive = __webpack_require__(36),
has = __webpack_require__(22),
IE8_DOM_DEFINE = __webpack_require__(187),
gOPD = Object.getOwnPropertyDescriptor;

exports.f = __webpack_require__(11) ? gOPD : function getOwnPropertyDescriptor(O,


P) {
O = toIObject(O);
P = toPrimitive(P, true);
if (IE8_DOM_DEFINE) try {
return gOPD(O, P);
} catch (e) {/* empty */}
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
};

/***/ }),
/* 27 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3),


hide = __webpack_require__(25),
has = __webpack_require__(22),
SRC = __webpack_require__(54)('src'),
TO_STRING = 'toString',
$toString = Function[TO_STRING],
TPL = ('' + $toString).split(TO_STRING);

__webpack_require__(58).inspectSource = function (it) {


return $toString.call(it);
};

(module.exports = function (O, key, val, safe) {


var isFunction = typeof val == 'function';
if (isFunction) has(val, 'name') || hide(val, 'name', key);
if (O[key] === val) return;
if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] :
TPL.join(String(key)));
if (O === global) {
O[key] = val;
} else {
if (!safe) {
delete O[key];
hide(O, key, val);
} else {
if (O[key]) O[key] = val;else hide(O, key, val);
}
}
// add fake Function#toString for correct work wrapped methods / constructors
with methods like LoDash isNative
})(Function.prototype, TO_STRING, function toString() {
return typeof this == 'function' && this[SRC] || $toString.call(this);
});

/***/ }),
/* 28 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

/* global Enumerator */

exports["default"] = function (collection, iterator) {


var colItems = new Enumerator(collection);
for (colItems.moveFirst(); !colItems.atEnd(); colItems.moveNext()) {
iterator(colItems.item());
}
};

module.exports = exports["default"];

/***/ }),
/* 29 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.RegDelete = exports.RegWrite = exports.RegRead = exports.RegExists =
exports.REG_CORS = undefined;

var _shell = __webpack_require__(13);

var REG_CORS = exports.REG_CORS =


'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet
Settings\\Zones\\1\\1406';

var RegExists = exports.RegExists = function RegExists(path) {


try {
_shell.WshShell.RegRead(path);
return true;
} catch (err) {
return false;
}
};

var RegRead = exports.RegRead = function RegRead(path) {


try {
return _shell.WshShell.RegRead(path);
} catch (err) {}
};

var RegWrite = exports.RegWrite = function RegWrite(path, value) {


var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
'REG_SZ';

try {
return _shell.WshShell.RegWrite(path, value, type);
} catch (err) {}
};

var RegDelete = exports.RegDelete = function RegDelete(path) {


try {
return _shell.WshShell.RegDelete(path);
} catch (err) {}
};

/***/ }),
/* 30 */
/***/ (function(module, exports) {

module.exports = function (it) {


if (typeof it != 'function') throw TypeError(it + ' is not a function!');
return it;
};

/***/ }),
/* 31 */
/***/ (function(module, exports) {

var toString = {}.toString;

module.exports = function (it) {


return toString.call(it).slice(8, -1);
};

/***/ }),
/* 32 */
/***/ (function(module, exports) {

// 7.2.1 RequireObjectCoercible(argument)
module.exports = function (it) {
if (it == undefined) throw TypeError("Can't call method on " + it);
return it;
};

/***/ }),
/* 33 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(5);

module.exports = function (method, arg) {


return !!method && fails(function () {
arg ? method.call(null, function () {}, 1) : method.call(null);
});
};

/***/ }),
/* 34 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.httphead = exports.httpput = exports.httppost = exports.httpget =
exports.getXMLHttp = undefined;

var _registry = __webpack_require__(29);

var _client = __webpack_require__(168);

var _client2 = _interopRequireDefault(_client);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

var getXMLHttp = exports.getXMLHttp = _client2['default'].getXHR;

var httprequest = function httprequest(send) {


var originalCORS = Number((0, _registry.RegRead)(_registry.REG_CORS));
(0, _registry.RegWrite)(_registry.REG_CORS, 0, 'REG_DWORD');

var promise = new Promise(function (resolve, reject) {


send().then(resolve, function (err) {
err.type = 'HttpError';
reject(err);
});
});

if (originalCORS !== 0) {
(0, _registry.RegWrite)(_registry.REG_CORS, originalCORS, 'REG_DWORD');
}

return promise;
};

var httpget = exports.httpget = function httpget(url) {


return httprequest(function () {
return _client2['default'].get(url).set('Connection', 'close');
});
};

var httppost = exports.httppost = function httppost(url, data) {


var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
{},
headers = _ref.headers,
statistics = _ref.statistics;

return httprequest(function () {
var req = _client2['default'].post(url).set('Connection', 'close');
if (headers) {
req.set(headers);
}
if (statistics) {
var clientId = statistics.clientId,
computerId = statistics.computerId,
sessionId = statistics.sessionId,
options = statistics.options,
drpVersion = statistics.drpVersion,
experiment = statistics.experiment,
lang = statistics.lang;

req.set({
'x-drp-client-id': clientId,
'x-drp-computer-id': computerId,
'x-drp-session-id': sessionId,
'x-drp-application': options.category,
'x-drp-version': drpVersion,
'x-drp-experiment': experiment,
'x-drp-lang': lang
});
}
return req.send(data);
});
};

var httpput = exports.httpput = function httpput(url, data) {


return httprequest(function () {
return _client2['default'].put(url).set('Connection', 'close').send(data);
});
};

var httphead = exports.httphead = function httphead(url) {


return httprequest(function () {
return _client2['default'].head(url).set('Connection', 'close');
});
};

/***/ }),
/* 35 */
/***/ (function(module, exports, __webpack_require__) {

// most Object methods by ES6 should accept primitives


var $export = __webpack_require__(0),
core = __webpack_require__(58),
fails = __webpack_require__(5);
module.exports = function (KEY, exec) {
var fn = (core.Object || {})[KEY] || Object[KEY],
exp = {};
exp[KEY] = exec(fn);
$export($export.S + $export.F * fails(function () {
fn(1);
}), 'Object', exp);
};

/***/ }),
/* 36 */
/***/ (function(module, exports, __webpack_require__) {

// 7.1.1 ToPrimitive(input [, PreferredType])


var isObject = __webpack_require__(9);
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module.exports = function (it, S) {
if (!isObject(it)) return it;
var fn, val;
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))
return val;
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))
return val;
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val =
fn.call(it))) return val;
throw TypeError("Can't convert object to primitive value");
};

/***/ }),
/* 37 */,
/* 38 */
/***/ (function(module, exports, __webpack_require__) {

// optional / simple context binding


var aFunction = __webpack_require__(30);
module.exports = function (fn, that, length) {
aFunction(fn);
if (that === undefined) return fn;
switch (length) {
case 1:
return function (a) {
return fn.call(that, a);
};
case 2:
return function (a, b) {
return fn.call(that, a, b);
};
case 3:
return function (a, b, c) {
return fn.call(that, a, b, c);
};
}
return function () /* ...args */{
return fn.apply(that, arguments);
};
};

/***/ }),
/* 39 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)


var has = __webpack_require__(22),
toObject = __webpack_require__(18),
IE_PROTO = __webpack_require__(154)('IE_PROTO'),
ObjectProto = Object.prototype;

module.exports = Object.getPrototypeOf || function (O) {


O = toObject(O);
if (has(O, IE_PROTO)) return O[IE_PROTO];
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
return O.constructor.prototype;
}return O instanceof Object ? ObjectProto : null;
};

/***/ }),
/* 40 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

if (__webpack_require__(11)) {
var LIBRARY = __webpack_require__(49),
global = __webpack_require__(3),
fails = __webpack_require__(5),
$export = __webpack_require__(0),
$typed = __webpack_require__(123),
$buffer = __webpack_require__(162),
ctx = __webpack_require__(38),
anInstance = __webpack_require__(71),
propertyDesc = __webpack_require__(46),
hide = __webpack_require__(25),
redefineAll = __webpack_require__(75),
toInteger = __webpack_require__(47),
toLength = __webpack_require__(16),
toIndex = __webpack_require__(53),
toPrimitive = __webpack_require__(36),
has = __webpack_require__(22),
same = __webpack_require__(200),
classof = __webpack_require__(72),
isObject = __webpack_require__(9),
toObject = __webpack_require__(18),
isArrayIter = __webpack_require__(147),
create = __webpack_require__(50),
getPrototypeOf = __webpack_require__(39),
gOPN = __webpack_require__(51).f,
getIterFn = __webpack_require__(163),
uid = __webpack_require__(54),
wks = __webpack_require__(10),
createArrayMethod = __webpack_require__(45),
createArrayIncludes = __webpack_require__(114),
speciesConstructor = __webpack_require__(156),
ArrayIterators = __webpack_require__(164),
Iterators = __webpack_require__(59),
$iterDetect = __webpack_require__(120),
setSpecies = __webpack_require__(61),
arrayFill = __webpack_require__(140),
arrayCopyWithin = __webpack_require__(181),
$DP = __webpack_require__(12),
$GOPD = __webpack_require__(26),
dP = $DP.f,
gOPD = $GOPD.f,
RangeError = global.RangeError,
TypeError = global.TypeError,
Uint8Array = global.Uint8Array,
ARRAY_BUFFER = 'ArrayBuffer',
SHARED_BUFFER = 'Shared' + ARRAY_BUFFER,
BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT',
PROTOTYPE = 'prototype',
ArrayProto = Array[PROTOTYPE],
$ArrayBuffer = $buffer.ArrayBuffer,
$DataView = $buffer.DataView,
arrayForEach = createArrayMethod(0),
arrayFilter = createArrayMethod(2),
arraySome = createArrayMethod(3),
arrayEvery = createArrayMethod(4),
arrayFind = createArrayMethod(5),
arrayFindIndex = createArrayMethod(6),
arrayIncludes = createArrayIncludes(true),
arrayIndexOf = createArrayIncludes(false),
arrayValues = ArrayIterators.values,
arrayKeys = ArrayIterators.keys,
arrayEntries = ArrayIterators.entries,
arrayLastIndexOf = ArrayProto.lastIndexOf,
arrayReduce = ArrayProto.reduce,
arrayReduceRight = ArrayProto.reduceRight,
arrayJoin = ArrayProto.join,
arraySort = ArrayProto.sort,
arraySlice = ArrayProto.slice,
arrayToString = ArrayProto.toString,
arrayToLocaleString = ArrayProto.toLocaleString,
ITERATOR = wks('iterator'),
TAG = wks('toStringTag'),
TYPED_CONSTRUCTOR = uid('typed_constructor'),
DEF_CONSTRUCTOR = uid('def_constructor'),
ALL_CONSTRUCTORS = $typed.CONSTR,
TYPED_ARRAY = $typed.TYPED,
VIEW = $typed.VIEW,
WRONG_LENGTH = 'Wrong length!';

var $map = createArrayMethod(1, function (O, length) {


return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
});

var LITTLE_ENDIAN = fails(function () {


return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
});

var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function ()


{
new Uint8Array(1).set({});
});

var strictToLength = function (it, SAME) {


if (it === undefined) throw TypeError(WRONG_LENGTH);
var number = +it,
length = toLength(it);
if (SAME && !same(number, length)) throw RangeError(WRONG_LENGTH);
return length;
};

var toOffset = function (it, BYTES) {


var offset = toInteger(it);
if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');
return offset;
};

var validate = function (it) {


if (isObject(it) && TYPED_ARRAY in it) return it;
throw TypeError(it + ' is not a typed array!');
};

var allocate = function (C, length) {


if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {
throw TypeError('It is not a typed array constructor!');
}return new C(length);
};

var speciesFromList = function (O, list) {


return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
};

var fromList = function (C, list) {


var index = 0,
length = list.length,
result = allocate(C, length);
while (length > index) result[index] = list[index++];
return result;
};

var addGetter = function (it, key, internal) {


dP(it, key, { get: function () {
return this._d[internal];
} });
};

var $from = function from(source /*, mapfn, thisArg */) {


var O = toObject(source),
aLen = arguments.length,
mapfn = aLen > 1 ? arguments[1] : undefined,
mapping = mapfn !== undefined,
iterFn = getIterFn(O),
i,
length,
values,
result,
step,
iterator;
if (iterFn != undefined && !isArrayIter(iterFn)) {
for (iterator = iterFn.call(O), values = [], i = 0; !(step =
iterator.next()).done; i++) {
values.push(step.value);
}O = values;
}
if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);
for (i = 0, length = toLength(O.length), result = allocate(this, length);
length > i; i++) {
result[i] = mapping ? mapfn(O[i], i) : O[i];
}
return result;
};

var $of = function of() /*...items*/{


var index = 0,
length = arguments.length,
result = allocate(this, length);
while (length > index) result[index] = arguments[index++];
return result;
};

// iOS Safari 6.x fails here


var TO_LOCALE_BUG = !!Uint8Array && fails(function () {
arrayToLocaleString.call(new Uint8Array(1));
});

var $toLocaleString = function toLocaleString() {


return arrayToLocaleString.apply(TO_LOCALE_BUG ?
arraySlice.call(validate(this)) : validate(this), arguments);
};

var proto = {
copyWithin: function copyWithin(target, start /*, end */) {
return arrayCopyWithin.call(validate(this), target, start, arguments.length >
2 ? arguments[2] : undefined);
},
every: function every(callbackfn /*, thisArg */) {
return arrayEvery(validate(this), callbackfn, arguments.length > 1 ?
arguments[1] : undefined);
},
fill: function fill(value /*, start, end */) {
// eslint-disable-line no-unused-vars
return arrayFill.apply(validate(this), arguments);
},
filter: function filter(callbackfn /*, thisArg */) {
return speciesFromList(this, arrayFilter(validate(this), callbackfn,
arguments.length > 1 ? arguments[1] : undefined));
},
find: function find(predicate /*, thisArg */) {
return arrayFind(validate(this), predicate, arguments.length > 1 ?
arguments[1] : undefined);
},
findIndex: function findIndex(predicate /*, thisArg */) {
return arrayFindIndex(validate(this), predicate, arguments.length > 1 ?
arguments[1] : undefined);
},
forEach: function forEach(callbackfn /*, thisArg */) {
arrayForEach(validate(this), callbackfn, arguments.length > 1 ?
arguments[1] : undefined);
},
indexOf: function indexOf(searchElement /*, fromIndex */) {
return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ?
arguments[1] : undefined);
},
includes: function includes(searchElement /*, fromIndex */) {
return arrayIncludes(validate(this), searchElement, arguments.length > 1 ?
arguments[1] : undefined);
},
join: function join(separator) {
// eslint-disable-line no-unused-vars
return arrayJoin.apply(validate(this), arguments);
},
lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */) {
// eslint-disable-line no-unused-vars
return arrayLastIndexOf.apply(validate(this), arguments);
},
map: function map(mapfn /*, thisArg */) {
return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] :
undefined);
},
reduce: function reduce(callbackfn /*, initialValue */) {
// eslint-disable-line no-unused-vars
return arrayReduce.apply(validate(this), arguments);
},
reduceRight: function reduceRight(callbackfn /*, initialValue */) {
// eslint-disable-line no-unused-vars
return arrayReduceRight.apply(validate(this), arguments);
},
reverse: function reverse() {
var that = this,
length = validate(that).length,
middle = Math.floor(length / 2),
index = 0,
value;
while (index < middle) {
value = that[index];
that[index++] = that[--length];
that[length] = value;
}return that;
},
some: function some(callbackfn /*, thisArg */) {
return arraySome(validate(this), callbackfn, arguments.length > 1 ?
arguments[1] : undefined);
},
sort: function sort(comparefn) {
return arraySort.call(validate(this), comparefn);
},
subarray: function subarray(begin, end) {
var O = validate(this),
length = O.length,
$begin = toIndex(begin, length);
return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset
+ $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toIndex(end,
length)) - $begin));
}
};

var $slice = function slice(start, end) {


return speciesFromList(this, arraySlice.call(validate(this), start, end));
};

var $set = function set(arrayLike /*, offset */) {


validate(this);
var offset = toOffset(arguments[1], 1),
length = this.length,
src = toObject(arrayLike),
len = toLength(src.length),
index = 0;
if (len + offset > length) throw RangeError(WRONG_LENGTH);
while (index < len) this[offset + index] = src[index++];
};

var $iterators = {
entries: function entries() {
return arrayEntries.call(validate(this));
},
keys: function keys() {
return arrayKeys.call(validate(this));
},
values: function values() {
return arrayValues.call(validate(this));
}
};

var isTAIndex = function (target, key) {


return isObject(target) && target[TYPED_ARRAY] && typeof key != 'symbol' && key
in target && String(+key) == String(key);
};
var $getDesc = function getOwnPropertyDescriptor(target, key) {
return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2,
target[key]) : gOPD(target, key);
};
var $setDesc = function defineProperty(target, key, desc) {
if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) &&
has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set')
// TODO: add validation descriptor w/o calling accessors
&& !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!
has(desc, 'enumerable') || desc.enumerable)) {
target[key] = desc.value;
return target;
} else return dP(target, key, desc);
};

if (!ALL_CONSTRUCTORS) {
$GOPD.f = $getDesc;
$DP.f = $setDesc;
}

$export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {


getOwnPropertyDescriptor: $getDesc,
defineProperty: $setDesc
});

if (fails(function () {
arrayToString.call({});
})) {
arrayToString = arrayToLocaleString = function toString() {
return arrayJoin.call(this);
};
}

var $TypedArrayPrototype$ = redefineAll({}, proto);


redefineAll($TypedArrayPrototype$, $iterators);
hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
redefineAll($TypedArrayPrototype$, {
slice: $slice,
set: $set,
constructor: function () {/* noop */},
toString: arrayToString,
toLocaleString: $toLocaleString
});
addGetter($TypedArrayPrototype$, 'buffer', 'b');
addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
addGetter($TypedArrayPrototype$, 'byteLength', 'l');
addGetter($TypedArrayPrototype$, 'length', 'e');
dP($TypedArrayPrototype$, TAG, {
get: function () {
return this[TYPED_ARRAY];
}
});

module.exports = function (KEY, BYTES, wrapper, CLAMPED) {


CLAMPED = !!CLAMPED;
var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array',
ISNT_UINT8 = NAME != 'Uint8Array',
GETTER = 'get' + KEY,
SETTER = 'set' + KEY,
TypedArray = global[NAME],
Base = TypedArray || {},
TAC = TypedArray && getPrototypeOf(TypedArray),
FORCED = !TypedArray || !$typed.ABV,
O = {},
TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
var getter = function (that, index) {
var data = that._d;
return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
};
var setter = function (that, index, value) {
var data = that._d;
if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ?
0xff : value & 0xff;
data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
};
var addElement = function (that, index) {
dP(that, index, {
get: function () {
return getter(this, index);
},
set: function (value) {
return setter(this, index, value);
},
enumerable: true
});
};
if (FORCED) {
TypedArray = wrapper(function (that, data, $offset, $length) {
anInstance(that, TypedArray, NAME, '_d');
var index = 0,
offset = 0,
buffer,
byteLength,
length,
klass;
if (!isObject(data)) {
length = strictToLength(data, true);
byteLength = length * BYTES;
buffer = new $ArrayBuffer(byteLength);
} else if (data instanceof $ArrayBuffer || (klass = classof(data)) ==
ARRAY_BUFFER || klass == SHARED_BUFFER) {
buffer = data;
offset = toOffset($offset, BYTES);
var $len = data.byteLength;
if ($length === undefined) {
if ($len % BYTES) throw RangeError(WRONG_LENGTH);
byteLength = $len - offset;
if (byteLength < 0) throw RangeError(WRONG_LENGTH);
} else {
byteLength = toLength($length) * BYTES;
if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);
}
length = byteLength / BYTES;
} else if (TYPED_ARRAY in data) {
return fromList(TypedArray, data);
} else {
return $from.call(TypedArray, data);
}
hide(that, '_d', {
b: buffer,
o: offset,
l: byteLength,
e: length,
v: new $DataView(buffer)
});
while (index < length) addElement(that, index++);
});
TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
hide(TypedArrayPrototype, 'constructor', TypedArray);
} else if (!$iterDetect(function (iter) {
// V8 works with iterators, but fails in many other cases
// https://code.google.com/p/v8/issues/detail?id=4552
new TypedArray(null); // eslint-disable-line no-new
new TypedArray(iter); // eslint-disable-line no-new
}, true)) {
TypedArray = wrapper(function (that, data, $offset, $length) {
anInstance(that, TypedArray, NAME);
var klass;
// `ws` module bug, temporarily remove validation length for Uint8Array
// https://github.com/websockets/ws/pull/645
if (!isObject(data)) return new Base(strictToLength(data, ISNT_UINT8));
if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER
|| klass == SHARED_BUFFER) {
return $length !== undefined ? new Base(data, toOffset($offset, BYTES),
$length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new
Base(data);
}
if (TYPED_ARRAY in data) return fromList(TypedArray, data);
return $from.call(TypedArray, data);
});
arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) :
gOPN(Base), function (key) {
if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);
});
TypedArray[PROTOTYPE] = TypedArrayPrototype;
if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;
}
var $nativeIterator = TypedArrayPrototype[ITERATOR],
CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values'
|| $nativeIterator.name == undefined),
$iterator = $iterators.values;
hide(TypedArray, TYPED_CONSTRUCTOR, true);
hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
hide(TypedArrayPrototype, VIEW, true);
hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);

if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {


dP(TypedArrayPrototype, TAG, {
get: function () {
return NAME;
}
});
}

O[NAME] = TypedArray;

$export($export.G + $export.W + $export.F * (TypedArray != Base), O);

$export($export.S, NAME, {
BYTES_PER_ELEMENT: BYTES,
from: $from,
of: $of
});

if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype,


BYTES_PER_ELEMENT, BYTES);

$export($export.P, NAME, proto);

setSpecies(NAME);

$export($export.P + $export.F * FORCED_SET, NAME, { set: $set });

$export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);


$export($export.P + $export.F * (TypedArrayPrototype.toString !=
arrayToString), NAME, { toString: arrayToString });

$export($export.P + $export.F * fails(function () {


new TypedArray(1).slice();
}), NAME, { slice: $slice });

$export($export.P + $export.F * (fails(function () {


return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();
}) || !fails(function () {
TypedArrayPrototype.toLocaleString.call([1, 2]);
})), NAME, { toLocaleString: $toLocaleString });

Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;


if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR,
$iterator);
};
} else module.exports = function () {/* empty */};

/***/ }),
/* 41 */,
/* 42 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.isOldOS = undefined;

var _os = __webpack_require__(14);

var isOldOS = exports.isOldOS = _os.OSVersion < 6;

/***/ }),
/* 43 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
/* global ActiveXObject */

exports['default'] = new ActiveXObject('WScript.Shell');


module.exports = exports['default'];

/***/ }),
/* 44 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.getInternetExplorerVersion = exports.goToUrl = exports.winRun = exports.inc
= exports.generateJobId = exports.wrapInCmd = exports.cleanFolder =
exports.ParseCMDString = exports.ParseSFXName = undefined;
var _fso = __webpack_require__(7);

var _shell = __webpack_require__(13);

var _registry = __webpack_require__(29);

var _os = __webpack_require__(14);

var _logs = __webpack_require__(17);

var log = (0, _logs.getLogger)('core:lib:utils');

var ParseSFXName = exports.ParseSFXName = function ParseSFXName(sfxName) {


sfxName = sfxName.replace(/(\s*(\(|\[)\d+(\)|\]))?.exe$/i, '');
return sfxName.split('_').slice(1);
};

var ParseCMDString = exports.ParseCMDString = function ParseCMDString() {


var cmd = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';

var args = [];


var current = '';
var quoted = '';
var quoteType = null;

var addcurrent = function addcurrent() {


if (current) args.push(current.trim());
current = '';
};

// remove escaped newlines


cmd = cmd.replace(/\\\n/g, '');

Array.from(cmd).forEach(function (c) {
if (quoteType) {
// only end this arg if the end quote
// is the same type as start quote and not escaped
if (quoteType === c && quoted.slice(-1) !== '\\') {
args.push(quoted);
quoted = '';
quoteType = null;
} else {
quoted += c;
}
} else if (c === ' ') {
addcurrent();
} else if (current) {
current += c;
} else if (c === '\'' || c === '"') {
quoteType = c;
} else {
current = c;
}
});

addcurrent();

return args;
};

var cleanFolder = exports.cleanFolder = function cleanFolder(path) {


var sync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
true;

var correctedPath = /\\$/.test(path) ? path : path + '\\';


_shell.WshShell.Run('cmd /C del /F /S /Q "' + correctedPath + '" && FOR /D %p IN
("' + correctedPath + '*") DO rmdir "%p" /s /q', 0, sync);
};

var wrapInCmd = exports.wrapInCmd = function wrapInCmd(command) {


return 'cmd /c "' + command + '"';
};

var generateJobId = exports.generateJobId = function generateJobId() {


return +Math.round(1e5 * Math.random());
};

// TODO: Test! (Taken from the legacy code)


var inc = exports.inc = function inc(filename) {
var head = document.getElementsByTagName('head').item(0);
var script = void 0;

if (_fso.fso.GetFileName(filename).split('.')[1].toLowerCase() === 'css') {


script = document.createElement('link');
script.setAttribute('rel', 'stylesheet');
script.setAttribute('type', 'text/css');
script.setAttribute('href', filename);
} else {
script = document.createElement('script');
script.src = filename;
script.type = 'text/javascript';
}

if (typeof script !== 'undefined') {


head.appendChild(script);
}
};

// TODO: Test! (Taken from the legacy code)


var winRun = exports.winRun = function winRun(src, hideMode, wait, bit64) {
if (!src) {
return false;
}

hideMode = !!hideMode;
wait = !!wait;

if (bit64 && _os.is64) {


hideMode = true;
wait = false;
src = '"%windir%\\sysnative\\cmd.exe" /C ' + src;
}

return _shell.WshShell.Run(src, hideMode ? 0 : 1, wait);


};

var runOpenUrlCommand = function runOpenUrlCommand(url, command) {


command = command ? '"' + command.replace(/"/ig, '') + '"' : 'rundll32
url.dll,FileProtocolHandler';
_shell.WshShell.Run(command + ' "' + url + '"', 1, false);
};

var goToUrl = exports.goToUrl = function goToUrl(url) {


log.info('opening ' + url, { url: url }, 'goToUrl:open');
try {
var regPath = 'HKCU\\SOFTWARE\\Clients\\StartMenuInternet\\';
if (_os.OSVersion >= 10) regPath =
'HKCU\\SOFTWARE\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\Us
erChoice\\Progid';
var defBrowser = (0, _registry.RegRead)(regPath);
if (!defBrowser) {
defBrowser = (0, _registry.RegRead)(regPath.replace('HKCU', 'HKLM'));
}
var runComm = (0, _registry.RegRead)
('HKLM\\SOFTWARE\\Clients\\StartMenuInternet\\' + defBrowser +
'\\shell\\open\\command\\');
runOpenUrlCommand(url, runComm);
} catch (err) {
log.error('failed to open ' + url, { url: url, err: err }, 'goToUrl:error');
runOpenUrlCommand(url);
}
return false;
};

var getInternetExplorerVersion = exports.getInternetExplorerVersion = function


getInternetExplorerVersion() {
var rv = void 0;
var ua = void 0;
var re = void 0;

// IE 10
try {
rv = parseInt((0, _registry.RegRead)('HKLM\\SOFTWARE\\Microsoft\\Internet
Explorer\\svcVersion').split('.')[0], 10);
} catch (e) {}

if (typeof rv !== 'number') {


try {
rv = parseInt((0, _registry.RegRead)('HKLM\\SOFTWARE\\Microsoft\\Internet
Explorer\\Version').split('.')[0], 10);
} catch (e) {}
}

if (typeof rv !== 'number') {


if (navigator.appName === 'Microsoft Internet Explorer') {
ua = navigator.userAgent;
re = new RegExp('MSIE ([0-9]{1,}[.0-9]{0,})');
if (re.exec(ua) != null) {
rv = parseFloat(RegExp.$1);
}
} else if (navigator.appName === 'Netscape') {
ua = navigator.userAgent;
re = new RegExp('Trident/.*rv:([0-9]{1,}[.0-9]{0,})');
if (re.exec(ua) != null) {
rv = parseFloat(RegExp.$1);
}
}
}

if (typeof rv !== 'number') {


rv = -1;
}

return rv;
};

/***/ }),
/* 45 */
/***/ (function(module, exports, __webpack_require__) {

// 0 -> Array#forEach
// 1 -> Array#map
// 2 -> Array#filter
// 3 -> Array#some
// 4 -> Array#every
// 5 -> Array#find
// 6 -> Array#findIndex
var ctx = __webpack_require__(38),
IObject = __webpack_require__(73),
toObject = __webpack_require__(18),
toLength = __webpack_require__(16),
asc = __webpack_require__(251);
module.exports = function (TYPE, $create) {
var IS_MAP = TYPE == 1,
IS_FILTER = TYPE == 2,
IS_SOME = TYPE == 3,
IS_EVERY = TYPE == 4,
IS_FIND_INDEX = TYPE == 6,
NO_HOLES = TYPE == 5 || IS_FIND_INDEX,
create = $create || asc;
return function ($this, callbackfn, that) {
var O = toObject($this),
self = IObject(O),
f = ctx(callbackfn, that, 3),
length = toLength(self.length),
index = 0,
result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) :
undefined,
val,
res;
for (; length > index; index++) if (NO_HOLES || index in self) {
val = self[index];
res = f(val, index, O);
if (TYPE) {
if (IS_MAP) result[index] = res; // map
else if (res) switch (TYPE) {
case 3:
return true; // some
case 5:
return val; // find
case 6:
return index; // findIndex
case 2:
result.push(val); // filter
} else if (IS_EVERY) return false; // every
}
}
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
};
};

/***/ }),
/* 46 */
/***/ (function(module, exports) {

module.exports = function (bitmap, value) {


return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};

/***/ }),
/* 47 */
/***/ (function(module, exports) {

// 7.1.4 ToInteger
var ceil = Math.ceil,
floor = Math.floor;
module.exports = function (it) {
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};

/***/ }),
/* 48 */
/***/ (function(module, exports) {

var g;

// This works in non-strict mode


g = function () {
return this;
}();

try {
// This works if eval is allowed (see CSP)
g = g || Function("return this")() || (1, eval)("this");
} catch (e) {
// This works if the window reference is available
if (typeof window === "object") g = window;
}

// g can still be undefined, but nothing to do about it...


// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}

module.exports = g;

/***/ }),
/* 49 */
/***/ (function(module, exports) {
module.exports = false;

/***/ }),
/* 50 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])


var anObject = __webpack_require__(8),
dPs = __webpack_require__(193),
enumBugKeys = __webpack_require__(143),
IE_PROTO = __webpack_require__(154)('IE_PROTO'),
Empty = function () {/* empty */},
PROTOTYPE = 'prototype';

// Create object with fake `null` prototype: use iframe Object with cleared
prototype
var createDict = function () {
// Thrash, waste and sodomy: IE GC bug
var iframe = __webpack_require__(142)('iframe'),
i = enumBugKeys.length,
lt = '<',
gt = '>',
iframeDocument;
iframe.style.display = 'none';
__webpack_require__(145).appendChild(iframe);
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
// createDict = iframe.contentWindow.Object;
// html.removeChild(iframe);
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' +
gt);
iframeDocument.close();
createDict = iframeDocument.F;
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
return createDict();
};

module.exports = Object.create || function create(O, Properties) {


var result;
if (O !== null) {
Empty[PROTOTYPE] = anObject(O);
result = new Empty();
Empty[PROTOTYPE] = null;
// add "__proto__" for Object.getPrototypeOf polyfill
result[IE_PROTO] = O;
} else result = createDict();
return Properties === undefined ? result : dPs(result, Properties);
};

/***/ }),
/* 51 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)


var $keys = __webpack_require__(195),
hiddenKeys = __webpack_require__(143).concat('length', 'prototype');

exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {


return $keys(O, hiddenKeys);
};

/***/ }),
/* 52 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.14 / 15.2.3.14 Object.keys(O)


var $keys = __webpack_require__(195),
enumBugKeys = __webpack_require__(143);

module.exports = Object.keys || function keys(O) {


return $keys(O, enumBugKeys);
};

/***/ }),
/* 53 */
/***/ (function(module, exports, __webpack_require__) {

var toInteger = __webpack_require__(47),


max = Math.max,
min = Math.min;
module.exports = function (index, length) {
index = toInteger(index);
return index < 0 ? max(index + length, 0) : min(index, length);
};

/***/ }),
/* 54 */
/***/ (function(module, exports) {

var id = 0,
px = Math.random();
module.exports = function (key) {
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id +
px).toString(36));
};

/***/ }),
/* 55 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.WgetPath = exports.AppNotifier = exports.AppNotifierFolder =
exports.AppPath = exports.AppPathRoot = exports.ProgramFiles = exports.UserHK =
exports.UserAppData = exports.UserName = undefined;

var _config = __webpack_require__(6);

var _fso = __webpack_require__(7);

var _shell = __webpack_require__(13);

var _specialFolders = __webpack_require__(15);

var _flags = __webpack_require__(42);


var _wmi = __webpack_require__(2);

// FIXME: bad solution


/* global Enumerator */
var ProgramFilesString = document.location.toString().indexOf('(x86)') !== -1 ?
'%PROGRAMFILES(x86)%' : '%PROGRAMFILES%';

var getShortUserName = function getShortUserName() {


var colItems = _wmi.objWMIService.ExecQuery('SELECT * FROM
Win32_ComputerSystem');

var _item = new Enumerator(colItems).item(),


UserName = _item.UserName;

var splitted = UserName.split('\\');


return splitted[splitted.length - 1];
};

var UserName = exports.UserName = getShortUserName();

var getUserSID = function getUserSID() {


var query = 'SELECT * FROM Win32_UserAccount WHERE Name="' + UserName + '"';
var colItems = _wmi.objWMIService.ExecQuery(query);

var _item2 = new Enumerator(colItems).item(),


SID = _item2.SID;

return SID;
};

var UserAppData = exports.UserAppData = _flags.isOldOS ?


_specialFolders.AppData.replace('NetworkService', UserName) :
_specialFolders.AppData;
var UserHK = exports.UserHK = _flags.isOldOS ? 'HKEY_USERS\\' + getUserSID() :
'HKCU';

var ProgramFiles = exports.ProgramFiles =


_shell.WshShell.ExpandEnvironmentStrings(ProgramFilesString);
var AppPathRoot = exports.AppPathRoot = ProgramFiles + '\\' +
_config.application.AppFolder;
var AppPath = exports.AppPath = UserAppData + '\\' + _config.application.AppFolder;
var AppNotifierFolder = exports.AppNotifierFolder = AppPath +
'\\bin\\Tools\\notifier';
var AppNotifier = exports.AppNotifier = AppPath +
'\\bin\\Tools\\notifier\\notifier.hta';
var WgetPath = exports.WgetPath = _fso.fso.FileExists(AppPath +
'\\bin\\Tools\\driverpack-wget.exe') ? AppPath + '\\bin\\Tools\\driverpack-
wget.exe' : AppPath + '\\bin\\Tools\\wget.exe';

/***/ }),
/* 56 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
var _http = __webpack_require__(34);

var _retry = __webpack_require__(128);

var _retry2 = _interopRequireDefault(_retry);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var index = 0;

var DeloreanTransport = function () {


function DeloreanTransport(endpoint, statistics) {
var tries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
Infinity;
var timeout = arguments[3];

_classCallCheck(this, DeloreanTransport);

Object.assign(this, { endpoint: endpoint, statistics: statistics, tries: tries,


timeout: timeout });
}

DeloreanTransport.prototype.postOnce = function postOnce(data, opts) {


return this.endpoint ? (0, _http.httppost)(this.endpoint, data, opts) :
Promise.resolve();
};

DeloreanTransport.prototype.postWithRetry = function postWithRetry() {


var _this = this;

for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len;
_key++) {
args[_key] = arguments[_key];
}

return (0, _retry2['default'])(function () {


return _this.postOnce.apply(_this, args);
}, this.tries, this.timeout);
};

DeloreanTransport.prototype.send = function send(data) {


return this.postWithRetry(data, {
statistics: this.statistics || __webpack_require__(20),
headers: {
'x-drp-index': index++,
'x-drp-client-time': new Date().toISOString()
}
});
};

return DeloreanTransport;
}();

exports['default'] = DeloreanTransport;
module.exports = exports['default'];

/***/ }),
/* 57 */
/***/ (function(module, exports, __webpack_require__) {

// 22.1.3.31 Array.prototype[@@unscopables]
var UNSCOPABLES = __webpack_require__(10)('unscopables'),
ArrayProto = Array.prototype;
if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(25)(ArrayProto,
UNSCOPABLES, {});
module.exports = function (key) {
ArrayProto[UNSCOPABLES][key] = true;
};

/***/ }),
/* 58 */
/***/ (function(module, exports) {

var core = module.exports = { version: '2.4.0' };


if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef

/***/ }),
/* 59 */
/***/ (function(module, exports) {

module.exports = {};

/***/ }),
/* 60 */
/***/ (function(module, exports, __webpack_require__) {

var META = __webpack_require__(54)('meta'),


isObject = __webpack_require__(9),
has = __webpack_require__(22),
setDesc = __webpack_require__(12).f,
id = 0;
var isExtensible = Object.isExtensible || function () {
return true;
};
var FREEZE = !__webpack_require__(5)(function () {
return isExtensible(Object.preventExtensions({}));
});
var setMeta = function (it) {
setDesc(it, META, { value: {
i: 'O' + ++id, // object ID
w: {} // weak collections IDs
} });
};
var fastKey = function (it, create) {
// return primitive with prefix
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ?
'S' : 'P') + it;
if (!has(it, META)) {
// can't set metadata to uncaught frozen object
if (!isExtensible(it)) return 'F';
// not necessary to add metadata
if (!create) return 'E';
// add missing metadata
setMeta(it);
// return object ID
}return it[META].i;
};
var getWeak = function (it, create) {
if (!has(it, META)) {
// can't set metadata to uncaught frozen object
if (!isExtensible(it)) return true;
// not necessary to add metadata
if (!create) return false;
// add missing metadata
setMeta(it);
// return hash weak collections IDs
}return it[META].w;
};
// add metadata on freeze-family methods calling
var onFreeze = function (it) {
if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
return it;
};
var meta = module.exports = {
KEY: META,
NEED: false,
fastKey: fastKey,
getWeak: getWeak,
onFreeze: onFreeze
};

/***/ }),
/* 61 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__(3),


dP = __webpack_require__(12),
DESCRIPTORS = __webpack_require__(11),
SPECIES = __webpack_require__(10)('species');

module.exports = function (KEY) {


var C = global[KEY];
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
configurable: true,
get: function () {
return this;
}
});
};

/***/ }),
/* 62 */
/***/ (function(module, exports, __webpack_require__) {

var def = __webpack_require__(12).f,


has = __webpack_require__(22),
TAG = __webpack_require__(10)('toStringTag');

module.exports = function (it, tag, stat) {


if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable:
true, value: tag });
};

/***/ }),
/* 63 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


defined = __webpack_require__(32),
fails = __webpack_require__(5),
spaces = __webpack_require__(160),
space = '[' + spaces + ']',
non = '\u200b\u0085',
ltrim = RegExp('^' + space + space + '*'),
rtrim = RegExp(space + space + '*$');

var exporter = function (KEY, exec, ALIAS) {


var exp = {};
var FORCE = fails(function () {
return !!spaces[KEY]() || non[KEY]() != non;
});
var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
if (ALIAS) exp[ALIAS] = fn;
$export($export.P + $export.F * FORCE, 'String', exp);
};

// 1 -> String#trimLeft
// 2 -> String#trimRight
// 3 -> String#trim
var trim = exporter.trim = function (string, TYPE) {
string = String(defined(string));
if (TYPE & 1) string = string.replace(ltrim, '');
if (TYPE & 2) string = string.replace(rtrim, '');
return string;
};

module.exports = exporter;

/***/ }),
/* 64 */,
/* 65 */,
/* 66 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _fso = __webpack_require__(7);

var _specialFolders = __webpack_require__(15);

var _localFiles = __webpack_require__(21);


function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var toFixed = function toFixed(num) {


return ('0' + num).slice(-2);
};

var htmlHeader = '<html>\n<head>\n <meta charset=\'windows-1251\'/>\n <script


type=\'text/javascript\'
src=\'http://static.drp.su/update/logs/script.js\'></script>\n <link
rel=\'stylesheet\' type=\'text/css\'
href=\'http://static.drp.su/update/logs/style.css\'/>\n</head>\n<body>\n<script
type="text/javascript">window.data = [];</script>\n';

var htmlFooter = '\n</body>\n</html>\n';

var FileWriter = function () {


function FileWriter() {
_classCallCheck(this, FileWriter);

this.logFolder = _specialFolders.AppFolder + '\\Logs\\';


}

FileWriter.prototype.getFilename = function getFilename() {


var timestamp = new Date();
return 'log___' + [timestamp.getFullYear(), toFixed(timestamp.getMonth() + 1),
toFixed(timestamp.getDate()), toFixed(timestamp.getHours()),
toFixed(timestamp.getMinutes()), toFixed(timestamp.getSeconds())].join('-');
};

FileWriter.prototype.init = function init() {


try {
(0, _localFiles.ensurePath)(this.logFolder);
var filename = '' + this.logFolder + this.getFilename() + '.html';
this.file = _fso.fso.CreateTextFile(filename, true);
this.file.WriteLine(htmlHeader);
} catch (e) {
this.file = null;
this.disabled = true;
}
};

FileWriter.prototype.close = function close() {


if (this.file) {
this.file.WriteLine(htmlFooter);
this.file.Close();
this.file = null;
}
};

FileWriter.prototype.write = function write(message) {


var className = arguments.length > 1 && arguments[1] !== undefined ?
arguments[1] : 'info';
var params = arguments[2];
var data = arguments[3];
var type = arguments[4];
if (!this.file) this.init();
if (!this.file || this.disabled) return;

var timestamp = new Date();


var time = [toFixed(timestamp.getHours()), toFixed(timestamp.getMinutes()),
toFixed(timestamp.getSeconds())].join(':');
var json = JSON.stringify({ type: type, data: data, timestamp:
timestamp.valueOf() });

var details = '';


if (params && Object.keys(params).length > 0) {
var obj = {};
for (var key in params) {
var part = params[key];
obj[key] = part instanceof Error ? {
name: part.name || 'Error',
message: part.message
} : part;
}
details = '<pre class="code">' + JSON.stringify(obj, null, '\t') + '</pre>';
}

var ts = '<span class="timeStamp">' + time + '</span>';


try {
this.file.Write(('\n <div class="logs ' + className + '">' + ts +
message + details + '</div>\n <script
type="text/javascript">window.data.push(' + json + ');</script>\n <script
type="application/json" class="data">' + json + '</script>\n ').replace(/
[^\x00-\x7F]/g, '\x1a'));
} catch (e) {}
};

return FileWriter;
}();

exports['default'] = new FileWriter();


module.exports = exports['default'];

/***/ }),
/* 67 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _http = __webpack_require__(34);

var _sendImg = __webpack_require__(69);

var _os = __webpack_require__(14);

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var GoogleAnalytics = function () {
GoogleAnalytics.sendUrl = function sendUrl(url) {
return (0, _sendImg.sendImg)(url)['catch'](function () {
return (0, _http.httpget)(url);
});
};

function GoogleAnalytics(parent) {
_classCallCheck(this, GoogleAnalytics);

this.session = {};

this.parent = parent;
this.logger = parent.logger.scope('ga');
this.options = this.parent.options;
}

GoogleAnalytics.prototype.init = function init(_ref) {


var shared = _ref.shared,
primary = _ref.primary,
session = _ref.session;

this.counters = { shared: shared, primary: primary };


this.session[primary] = session;
this.session[shared] = 'prolonged';
};

GoogleAnalytics.prototype.getCID = function getCID() {


if (this.options.identifier === 'computerId') {
return this.parent.computerId;
} else {
return this.parent.clientId;
}
};

GoogleAnalytics.prototype.send = function send(event) {


var dimensions = arguments.length > 1 && arguments[1] !== undefined ?
arguments[1] : [];
var important = arguments.length > 2 && arguments[2] !== undefined ?
arguments[2] : false;
var _counters = this.counters,
shared = _counters.shared,
primary = _counters.primary;

return Promise.all([important ? this._sendHit(shared, this.parent.clientId,


event, dimensions) : false, this._sendHit(primary, this.getCID(), event,
dimensions)]);
};

GoogleAnalytics.prototype._sendHit = function _sendHit(counter, cid, event,


dimensions) {
if (!counter) return;
dimensions = (dimensions || []).concat([[this.parent.config.userIdDimension,
cid], [this.parent.config.drpVersionDimension, this.parent.drpVersion.trim()],
[this.parent.config.osDimension, _os.OSName + ' x' + _os.arch],
[this.parent.config.spDimension, 'SP ' + _os.OSVersionSP],
[this.parent.config.captionDimension, _os.OSCaption],
[this.parent.config.experimentDimension, this.parent.experiment]]);
var url = this._compileUrl(counter, cid, event, dimensions);
this.logger.debug('Send event ' + counter + ' GA: ' + event.action, { event:
event, dimensions: dimensions, url: url }, 'send');
return GoogleAnalytics.sendUrl(url);
};

GoogleAnalytics.prototype._compileUrl = function _compileUrl(tid, cid, event,


dimensions) {
var params = {
// Protocol Version:
v: 1,
// Tracking ID / Web Property ID:
tid: tid,
// Client ID:
cid: cid,
// Hit type:
t: 'event',
// Event Category:
ec: event.category.toLowerCase(),
// Event Action:
ea: event.action.toLowerCase(),
// Event Label:
el: event.label.toLowerCase(),
// User Language:
ul: this.parent.lang,
// Cache Buster:
z: Math.random().toString().slice(2)
};
if (!this.session[tid]) {
this.session[tid] = 'started';
params.sc = 'start';
}
var parts = Object.entries(params).concat(dimensions);
return GoogleAnalytics.endpoint + '?' + parts.map(function (pair) {
return pair.map(encodeURIComponent).join('=');
}).join('&');
};

return GoogleAnalytics;
}();

GoogleAnalytics.endpoint = 'http://www.google-analytics.com/collect';
exports['default'] = GoogleAnalytics;
module.exports = exports['default'];

/***/ }),
/* 68 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _extends = Object.assign || function (target) {


for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};

var _clientIdStorage = __webpack_require__(113);

var _clientIdStorage2 = _interopRequireDefault(_clientIdStorage);

var _GoogleAnalytics = __webpack_require__(67);

var _GoogleAnalytics2 = _interopRequireDefault(_GoogleAnalytics);

var _YaMetrika = __webpack_require__(136);

var _YaMetrika2 = _interopRequireDefault(_YaMetrika);

var _EventsAPI = __webpack_require__(131);

var _EventsAPI2 = _interopRequireDefault(_EventsAPI);

var _logs = __webpack_require__(17);

var _logs2 = _interopRequireDefault(_logs);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

function _objectWithoutProperties(obj, keys) {


var target = {};for (var i in obj) {
if (keys.indexOf(i) >= 0) continue;if (!
Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];
}return target;
}

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var OnlineStatistics = function () {


function OnlineStatistics(options) {
var drpVersion = arguments.length > 1 && arguments[1] !== undefined ?
arguments[1] : '';
var lang = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
'';

_classCallCheck(this, OnlineStatistics);

this.clientId = '';
this.computerId = '';
this.experiment = '(not set)';
this.config = {
userIdDimension: 'cd1', // ClientID
drpVersionDimension: 'cd2',
osDimension: 'cd3',
spDimension: 'cd4',
captionDimension: 'cd5',
experimentDimension: 'cd6',
driversInstallFailed: 'cd7',
installationTime: 'cd8',
errorDevicesApiFailed: 'cd9',
nps: 'cd10',
driversInstallFailedMetric: 'cm1',
installationTimeMetric: 'cm2',
errorDevicesApiFailedMetric: 'cm3'
};
this.options = { google: {}, yandex: {}, events: {} };
this.logger = (0, _logs.getLogger)('core:statistics');
this.counters = {
google: new _GoogleAnalytics2['default'](this),
yandex: new _YaMetrika2['default'](this),
events: new _EventsAPI2['default'](this)
};

Object.assign(this, { lang: lang, drpVersion: drpVersion.trim() });


Object.assign(this.options, options);
}

OnlineStatistics.prototype.generateSessionId = function generateSessionId() {


var d = new Date().getTime();
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c)
{
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
});
return uuid;
};

OnlineStatistics.prototype.init = function init() {


var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
{},
clientId = _ref.clientId,
computerId = _ref.computerId,
offline = _ref.offline;

if (offline) this.offline = true;

this.clientId = _clientIdStorage2['default'].init('clientId', clientId);


this.computerId = _clientIdStorage2['default'].init('computerId', computerId,
['HKLM', 'HKCU']);
this.sessionId = this.generateSessionId();

var experiments = this.options.experiments || [];


if (experiments.length > 0) {
var seed = this.computerId.replace(/[^\d]/g, '').slice(-15);
var ind = parseInt(seed, 10) % experiments.length;
this.experiment = this.options.experiments[ind || 0];
}

for (var name in this.counters) {


this.counters[name].init(this.options[name]);
}

this._initialized = Promise.resolve(true);
};

OnlineStatistics.prototype.event = function event(_event, dimensions, important)


{
if (!_event.action) {
return Promise.reject(new Error('event.action is undefined'));
}
if (!this._initialized) this.init();

_event = Object.assign({
category: this.options.category,
action: '',
label: this.drpVersion
}, _event);

if (this.offline) _event.label += ' [offline]';

var promise = this.send(_event, dimensions, important);

if (typeof _event.callback === 'function') {


promise.then(function () {
_event.callback();
}, function (err) {
_event.callback(err);
});
}

return promise;
};

OnlineStatistics.prototype.send = function send(_ref2, dimensions, important) {


var _this = this;

var counters = _ref2.counters,


data = _objectWithoutProperties(_ref2, ['counters']);

_logs2['default']._write({ type: 'event', data: data });


return Promise.all(Object.keys(this.counters).map(function (name) {
var event = counters ? counters[name] && _extends({}, data, counters[name]) :
data;
return event && _this.counters[name].send(event, dimensions, important);
}));
};

return OnlineStatistics;
}();

exports['default'] = OnlineStatistics;
module.exports = exports['default'];

/***/ }),
/* 69 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
var sendImg = exports.sendImg = function sendImg(url) {
return new Promise(function (resolve, reject) {
var img = document.createElement('img');
img.className = 'ga-image';
img.onload = resolve;
img.onerror = reject;
img.src = url;
document.body.appendChild(img);
});
};

/***/ }),
/* 70 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.wmiRegRead = exports.wmiRegistry64 = exports.wmiRegistry = undefined;

var _WMIRegistry = __webpack_require__(111);

var _WMIRegistry2 = _interopRequireDefault(_WMIRegistry);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

var wmiRegistry = exports.wmiRegistry = new _WMIRegistry2['default']();


var wmiRegistry64 = exports.wmiRegistry64 = new _WMIRegistry2['default'](true);

var wmiRegRead = exports.wmiRegRead = function wmiRegRead(regPath) {


var _regPath$split = regPath.split('\\'),
sect = _regPath$split[0],
path = _regPath$split.slice(1);

var key = path.splice(-1);


path = path.join('\\');
var wmiReg = wmiRegistry;
if (sect.endsWith('64')) {
sect = sect.slice(0, -2);
wmiReg = wmiRegistry64;
}
return wmiReg.GetStringValue(wmiReg[sect], path, key);
};

/***/ }),
/* 71 */
/***/ (function(module, exports) {

module.exports = function (it, Constructor, name, forbiddenField) {


if (!(it instanceof Constructor) || forbiddenField !== undefined &&
forbiddenField in it) {
throw TypeError(name + ': incorrect invocation!');
}return it;
};

/***/ }),
/* 72 */
/***/ (function(module, exports, __webpack_require__) {

// getting tag from 19.1.3.6 Object.prototype.toString()


var cof = __webpack_require__(31),
TAG = __webpack_require__(10)('toStringTag')
// ES3 wrong here
,
ARG = cof(function () {
return arguments;
}()) == 'Arguments';

// fallback for IE11 Script Access Denied error


var tryGet = function (it, key) {
try {
return it[key];
} catch (e) {/* empty */}
};

module.exports = function (it) {


var O, T, B;
return it === undefined ? 'Undefined' : it === null ? 'Null'
// @@toStringTag case
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
// builtinTag case
: ARG ? cof(O)
// ES3 arguments fallback
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
};

/***/ }),
/* 73 */
/***/ (function(module, exports, __webpack_require__) {

// fallback for non-array-like ES3 and non-enumerable old V8 strings


var cof = __webpack_require__(31);
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
return cof(it) == 'String' ? it.split('') : Object(it);
};

/***/ }),
/* 74 */
/***/ (function(module, exports) {

exports.f = {}.propertyIsEnumerable;

/***/ }),
/* 75 */
/***/ (function(module, exports, __webpack_require__) {

var redefine = __webpack_require__(27);


module.exports = function (target, src, safe) {
for (var key in src) redefine(target, key, src[key], safe);
return target;
};

/***/ }),
/* 76 */,
/* 77 */,
/* 78 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.copyFiles = exports.writeFile = undefined;

var _system = __webpack_require__(1);

var writeFile = exports.writeFile = function writeFile(bytes, target) {


try {
var fso = new ActiveXObject('Scripting.FileSystemObject');
if (fso.FileExists(target)) {
fso.DeleteFile(target);
}
var stream = new ActiveXObject('ADODB.Stream');
stream.Type = 1;
stream.Open();
stream.Write(bytes);
stream.SaveToFile(target, 2);
} catch (err) {}
}; /* global ActiveXObject */
var copyFiles = exports.copyFiles = function copyFiles(source, dest, wait) {
_system.WshShell.Run('xcopy "' + source + '" "' + dest + '\\" /S /E /Y /I', 0,
wait);
};

/***/ }),
/* 79 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
var addScript = exports.addScript = function addScript(url) {
var updateScriptId = 'updateScript_' + +new Date();
var scriptLoading = document.createElement('script');
scriptLoading.id = updateScriptId;
scriptLoading.type = 'text/javascript';
scriptLoading.async = false;
scriptLoading.charset = 'utf-8';
scriptLoading.src = url + '?t=' + +new Date();
document.body.appendChild(scriptLoading);
setTimeout(function () {
try {
document.body.removeChild(document.getElementById(updateScriptId));
} catch (e) {}
}, window.abortRemoteScriptInterval);
};

/***/ }),
/* 80 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
exports.__esModule = true;

exports['default'] = function (_ref) {


var lang = _ref.lang;

// TODO: use template


return Object.assign({
template: 'standard',
maxCountOfDisplaying: 3,
timeoutDelay: 1800000,
title: 'Your computer security is at risk.',
content: 'You don\'t have any antivirus software installed.\n Protect your
system with Avast \u2014 the best free antivirus',
actionButtonText: 'Install for free now',
unsubscribeButtonText: 'No, Thanks',
notificationIcon: 'robot.png',
statisticsLabel: 'antivirus notification avast',
color: '#6534ac'
}, dictionary[lang]);
};

var dictionary = {
ru: {
title: 'Безопасность компьютера под угрозой.',
content: '\u041D\u0435
\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D
\u0430\u043D\u0442\u0438\u0432\u0438\u0440\u0443\u0441.\n
\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435
\u043D\u0430\u0434\u0435\u0436\u043D\u044B\u0439
\u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u044B\u0439
\u0430\u043D\u0442\u0438\u0432\u0438\u0440\u0443\u0441 Avast',
actionButtonText: 'Установить бесплатно',
unsubscribeButtonText: 'Нет, спасибо'
},
pt: {
title: 'O seu computador está em risco.',
content: 'Antiv\xEDrus n\xE3o est\xE1 instalado.\n Proteja o seu
computadores com Avast \u2014 o melhor antiv\xEDrus gr\xE1tis',
actionButtonText: 'Instalar de graça',
unsubscribeButtonText: 'Não, obrigado'
},
es: {
title: 'La seguridad del equipo está en peligro',
content: 'No tienes ning\xFAn software antivirus instalado.\n Proteja su
computadora con Avast \u2014 el mejor antivirus gratuito',
actionButtonText: 'Instalar gratis',
unsubscribeButtonText: 'No, gracias'
},
de: {
title: 'Die Sicherheit des Computers ist bedroht.',
content: 'Sie haben keine Antivirus-Software installiert.\n Sch\xFCtzen Sie
Ihre Ger\xE4te mit Avast \u2014 das beste kostenlose Antivirus',
actionButtonText: 'Kostenlos installieren',
unsubscribeButtonText: 'Nein Danke'
},
it: {
title: 'La protezione del computer è a rischio.',
content: 'Non \xE8 necessario alcun software antivirus installato.\n
Proteggi i tuoi computer con Avast \u2014 il miglior antivirus gratuito',
actionButtonText: 'Installare gratuitamente',
unsubscribeButtonText: 'No, grazie'
}
};

module.exports = exports['default'];

/***/ }),
/* 81 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var lang = _ref.lang;

// TODO: use template


return Object.assign({
template: 'standard',
maxCountOfDisplaying: 3,
timeoutDelay: 1800000,
title: 'Your computer security is at risk.',
content: 'The current installed antivirus software doesn\'t work.\n Protect
your system with Avast \u2014 the best free antivirus.',
actionButtonText: 'Install for free now',
unsubscribeButtonText: 'No, Thanks',
notificationIcon: 'robot.png',
statisticsLabel: 'antivirus notification avast',
color: '#6534ac'
}, dictionary[lang]);
};

var dictionary = {
ru: {
title: 'Безопасность компьютера под угрозой.',
content: '\u0412\u0430\u0448
\u0430\u043D\u0442\u0438\u0432\u0438\u0440\u0443\u0441 \u043D\u0435
\u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442.\n
\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435
\u043D\u0430\u0434\u0435\u0436\u043D\u044B\u0439
\u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u044B\u0439
\u0430\u043D\u0442\u0438\u0432\u0438\u0440\u0443\u0441 Avast',
actionButtonText: 'Установить бесплатно',
unsubscribeButtonText: 'Нет, спасибо'
},
pt: {
title: 'O seu computador está em risco.',
content: 'O seu antiv\xEDrus n\xE3o funciona.\n Proteja o seu computadores
com Avast \u2014 o melhor antiv\xEDrus gr\xE1tis',
actionButtonText: 'Instalar de graça',
unsubscribeButtonText: 'Não, obrigado'
},
es: {
title: 'La seguridad del equipo está en peligro',
content: 'El software antivirus instalado actual no funciona.\n Proteja su
computadora con Avast \u2014 el mejor antivirus gratuito',
actionButtonText: 'Instalar gratis',
unsubscribeButtonText: 'No, gracias'
},
de: {
title: 'Die Sicherheit des Computers ist bedroht.',
content: 'Die aktuell installierte Antivirensoftware funktioniert nicht.\n
Sch\xFCtzen Sie Ihre Ger\xE4te mit Avast \u2014 das beste kostenlose Antivirus',
actionButtonText: 'Kostenlos installieren',
unsubscribeButtonText: 'Nein Danke'
},
it: {
title: 'La protezione del computer è a rischio.',
content: 'L\'attuale software antivirus installato non funziona.\n Proteggi
i tuoi computer con Avast \u2014 il miglior antivirus gratuito',
actionButtonText: 'Installare gratuitamente',
unsubscribeButtonText: 'No, grazie'
}
};

module.exports = exports['default'];

/***/ }),
/* 82 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var lang = _ref.lang;

// TODO: use template


return Object.assign({
maxCountOfDisplaying: 3,
timeoutDelay: 20000,
title: 'Protect your computer with fast and secure antivirus',
content: 'Avast is a free and one of the most popular antivirus programs
available. <br />\n Lightweight, state-of-the-art protection that won\'t slow
down your PC',
actionButtonText: 'Install for free now',
unsubscribeButtonText: 'No, Thanks',
notificationIcon: 'gliph-attention.png',
statisticsLabel: 'antivirus notification avast',
color: '#6534ac'
}, lang === 'ru' ? {
title: 'Защитите свой компьютер быстрым и надежным антивирусом',
content: 'Avast — это бесплатный мощный антивирус, обладающий легким,
интуитивно понятным интерфейсом',
actionButtonText: 'Установить бесплатно',
unsubscribeButtonText: 'Нет, спасибо'
} : {});
};

module.exports = exports['default'];

/***/ }),
/* 83 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var label = _ref.label;

return {
template: 'standard',
maxCountOfDisplaying: 1,
timeoutDelay: 1800000,
notificationIcon: 'drp.png',
title: 'Помогите сделать наши продукты лучше!',
content: 'Предлагаем встретиться или пообщаться онлайн.',
actionButtonText: 'Готов помочь',
unsubscribeButtonText: 'Нет, увы:(',
statisticsLabel: 'cusdev invite ' + label,
color: '#6534ac'
};
};

module.exports = exports['default'];

/***/ }),
/* 84 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var count = _ref.count;

// TODO: use template


return {
maxCountOfDisplaying: 12,
title: 'Доступны обновления драйверов',
content: 'Для нескольких устройств доступны обновления драйверов',
actionButtonText: 'Установить через DriverPack',
unsubscribeButtonText: 'Отказаться',
notificationIcon: 'gliph-attention.png',
statisticsLabel: 'driverpack drivers',
color: '#394559'
};
};

module.exports = exports['default'];

/***/ }),
/* 85 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
exports.__esModule = true;

exports['default'] = function (_ref2) {


var lang = _ref2.lang,
name = _ref2.name,
icon = _ref2.icon,
uninstallRate = _ref2.uninstallRate;

// TODO: use template


return Object.assign({
template: 'new-program',
title: 'We recommend you to get rid of ' + name,
content: uninstallRate + '% of users uninstall this software',
actionButtonText: 'Uninstall',
unsubscribeButtonText: 'Learn more',
notificationIcon: icon || 'default-soft.png',
statusColor: '#bd3636',
statisticsLabel: 'driverpack new program harmful'
}, getDictionary({ lang: lang, name: name, icon: icon, uninstallRate:
uninstallRate }));
};

var getDictionary = function getDictionary(_ref) {


var lang = _ref.lang,
name = _ref.name,
icon = _ref.icon,
uninstallRate = _ref.uninstallRate;

switch (lang) {
case 'ru':
return {
title:
'\u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C
\u0443\u0434\u0430\u043B\u0438\u0442\u044C ' + name,
content: uninstallRate + '%
\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439
\u0443\u0434\u0430\u043B\u044F\u044E\u0442 \u0434\u0430\u043D\u043D\u0443\u044E
\u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0443',
actionButtonText: 'Удалить',
unsubscribeButtonText: 'Подробнее'
};
case 'es':
return {
title: 'Recomendamos eliminar ' + name,
content: uninstallRate + '% de usuarios eliminan este soporte l\xF3gico',
actionButtonText: 'Eliminar',
unsubscribeButtonText: 'Aprender más'
};
case 'fr':
return {
title: 'Nous vous recommendons de supprimer ' + name,
content: uninstallRate + '% utilisateurs suppriment \u0441e logiciel',
actionButtonText: 'Enlever',
unsubscribeButtonText: 'Apprendre plus'
};
default:
return {};
}
};

module.exports = exports['default'];

/***/ }),
/* 86 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref2) {


var lang = _ref2.lang,
name = _ref2.name,
icon = _ref2.icon,
uninstallRate = _ref2.uninstallRate;

// TODO: use template


return Object.assign({
template: 'new-program',
title: name + ' is installed',
content: uninstallRate + '% of users uninstall this software',
actionButtonText: 'Uninstall',
unsubscribeButtonText: 'Learn more',
notificationIcon: icon || 'default-soft.png',
statusColor: '#ffc021',
statisticsLabel: 'driverpack new program neutral'
}, getDictionary({ lang: lang, name: name, icon: icon, uninstallRate:
uninstallRate }));
};

var getDictionary = function getDictionary(_ref) {


var lang = _ref.lang,
name = _ref.name,
icon = _ref.icon,
uninstallRate = _ref.uninstallRate;

switch (lang) {
case 'ru':
return {
title: '\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D ' +
name,
content: uninstallRate + '%
\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439
\u0443\u0434\u0430\u043B\u044F\u044E\u0442 \u0434\u0430\u043D\u043D\u0443\u044E
\u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0443',
actionButtonText: 'Удалить',
unsubscribeButtonText: 'Подробнее'
};
case 'es':
return {
title: name + ' est\xE1 instalado',
content: uninstallRate + '% de usuarios eliminan este soporte l\xF3gico',
actionButtonText: 'Eliminar',
unsubscribeButtonText: 'Aprender más'
};
case 'fr':
return {
title: name + ' est install\xE9',
content: uninstallRate + '% utilisateurs suppriment ce logiciel',
actionButtonText: 'Enlever',
unsubscribeButtonText: 'Apprendre plus'
};
default:
return {};
}
};

module.exports = exports['default'];

/***/ }),
/* 87 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref2) {


var lang = _ref2.lang,
name = _ref2.name,
icon = _ref2.icon;

// TODO: use template


return Object.assign({
template: 'new-program',
title: ' ' + name + ' \u2014 excellent software',
content: 'High rating and very low uninstallation percentage',
actionButtonText: '',
unsubscribeButtonText: '',
notificationIcon: icon || 'default-soft.png',
statusColor: '#44ad64',
statisticsLabel: 'driverpack new program useful',
hideButtons: true
}, getDictionary({ lang: lang, name: name, icon: icon }));
};

var getDictionary = function getDictionary(_ref) {


var lang = _ref.lang,
name = _ref.name,
icon = _ref.icon;

switch (lang) {
case 'ru':
return {
title: name + ' \u2014 \u043E\u0442\u043B\u0438\u0447\u043D\u0430\u044F
\u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430',
content: 'Высокий рейтинг и очень низкий процент удалений'
};
case 'es':
return {
title: name + ' \u2014 soporte l\xF3gico excelente',
content: 'El rating alto y el porcentaje de eliminación muy bajo'
};
case 'fr':
return {
title: name + ' est un logiciel excellent',
content: 'La cote de popularité est élevée, et le pourcentage de
suppression est très faible'
};
default:
return {};
}
};

module.exports = exports['default'];

/***/ }),
/* 88 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var count = _ref.count;

// TODO: use template


return {
maxCountOfDisplaying: 12,
title: 'Обнаружено нежелательное ПО',
content: '\u041D\u0430
\u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435
\u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B
\u043D\u0435\u0436\u0435\u043B\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435
\u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B&nbsp;(' + count + ')',
actionButtonText: 'Удалить через DriverPack',
unsubscribeButtonText: 'Отказаться',
notificationIcon: 'gliph-attention.png',
statisticsLabel: 'driverpack protect',
color: '#394559'
};
};

module.exports = exports['default'];

/***/ }),
/* 89 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _extends = Object.assign || function (target) { for (var i = 1; i <


arguments.length; i++) { var source = arguments[i]; for (var key in source) { if
(Object.prototype.hasOwnProperty.call(source, key)) { target[key] =
source[key]; } } } return target; };

exports['default'] = function (_ref) {


var lang = _ref.lang;
var strings = lang === 'ru' ? {
title: 'Внимание! Безопасность компьютера под угрозой.',
content: 'Возникла угроза проникновения в систему опасных вирусов Bad Rabbit /
Petya / WannaCry и их модифицированных версий. Эти вирусы шифруют данные на
компьютере и вымогают деньги. Зафиксировано уже более 200 тысяч подобных атак.
Необходимо установить защиту и закрыть уязвимости.',
actionButtonText: 'Перейти в раздел установки защитного
ПО&nbsp;&nbsp;&nbsp;&nbsp;'
} : {
title: 'Attention! Your computer\'s security is under threat.',
content: 'There is a penetration threat of dangerous Bad Rabbit / Petya /
WannaCry virus and their modified versions into your system. These viruses encode
the data you have at your computer and blackmail money. More than 200,000 similar
attacks have been registered already. You need to install protection and eliminate
any vulnerabilities.',
actionButtonText: 'Go to the protective software installation section'
};
return _extends({}, strings, {
template: 'standard',
maxCountOfDisplaying: 1,
timeoutDelay: 1800000,
notificationIcon: 'icon_shield.png',
statisticsLabel: 'driverpack notification badrabbit',
color: '#6534ac'
});
};

module.exports = exports['default'];

/***/ }),
/* 90 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref2) {


var lang = _ref2.lang,
extension = _ref2.extension,
fileName = _ref2.fileName,
softName = _ref2.softName,
softCategory = _ref2.softCategory;

// TODO: use template


return Object.assign({
template: 'center',
content: 'To open ' + fileName + ' file you should install ' + softName + '
program. Do you want to install ' + softName + ' and open the file?',
actionButtonText: 'Open file',
unsubscribeButtonText: 'Don\'t open file',
messages: {
preparing: 'Preparing…',
downloading: 'Downloading…',
installing: 'Installing…'
},
notificationIcon: 'file-icon.png',
statisticsLabel: softCategory + ' ' + extension,
color: '#674172',
showDelay: 0,
timeoutDelay: false,
focusWindow: true
}, getDictionary({ lang: lang, extension: extension, fileName: fileName,
softName: softName, softCategory: softCategory }));
};

var getDictionary = function getDictionary(_ref) {


var lang = _ref.lang,
extension = _ref.extension,
fileName = _ref.fileName,
softName = _ref.softName,
softCategory = _ref.softCategory;

switch (lang) {
case 'ru':
return {
content: '\u0414\u043B\u044F
\u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u0444\u0430\u0439\u043B\u0430 ' +
fileName + ' \u043D\u0435
\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430
\u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430 ' + softName + '.
\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C ' + softName + '
\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B?',
actionButtonText: 'Открыть файл',
unsubscribeButtonText: 'Не открывать файл',
messages: {
preparing: 'Подготовка…',
downloading: 'Загрузка…',
installing: 'Установка…'
}
};
case 'es':
return {
content: 'El soporte l\xF3gico ' + softName + ' no est\xE1 instalado para
abrir el file ' + fileName + '. Instalar ' + softName + ' y abrir el file?',
actionButtonText: 'Abrir el file',
unsubscribeButtonText: 'No abrir el file',
messages: {
preparing: 'Preparando…',
downloading: 'Descarga…',
installing: 'Instalación…'
}
};
case 'fr':
return {
content: softName + ' logiciel n\'est pas install\xE9 pour ouvrir ' +
fileName + ' fichier. Installer ' + softName + ' et ouvrir le fichier?',
actionButtonText: 'Ouvrir le fichier',
unsubscribeButtonText: 'Ne pas ouvrir le fichier',
messages: {
preparing: 'Préparation…',
downloading: 'Téléchargement…',
installing: 'Installation…'
}
};
default:
return {};
}
};

module.exports = exports['default'];

/***/ }),
/* 91 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var errCode = _ref.errCode;

// TODO: use template


return {
maxCountOfDisplaying: 3,
title: 'Сбой в работе Windows!',
content: '\u041A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440
\u043D\u0435\u0434\u0430\u0432\u043D\u043E \u0431\u044B\u043B
\u0441\u0430\u043C\u043E\u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043
D\u043E \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D
\u0438\u0437-\u0437\u0430 \u043E\u0448\u0438\u0431\u043A\u0438 ' + errCode + '!',
actionButtonText: 'Посмотреть решение',
unsubscribeButtonText: 'Отмена',
notificationIcon: 'gliph-tool.png',
statisticsLabel: 'bsod',
problemUrl: 'http://internet-start.net/?q=BSOD%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA
%D0%B0%20' + errCode +
'&utm_source=notifier&utm_medium=notification&utm_campaign=bsod&utm_content=' +
errCode,
color: '#8d1f1f'
};
};

module.exports = exports['default'];

/***/ }),
/* 92 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var fulldrives = _ref.fulldrives;

// TODO: use template


return {
notificationId: '9a96e730-d992-edf3-029f-8bac1f7ac6c4',
maxCountOfDisplaying: 3,
title: 'Недостаточно свободного места!',
content: '\u041D\u0430 \u0434\u0438\u0441\u043A\u0435 ' + fulldrives + '
\u043C\u0430\u043B\u043E
\u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E
\u043C\u0435\u0441\u0442\u0430! \u042D\u0442\u043E
\u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438
\u043A
\u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438
\u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0438
\u043F\u043E\u0442\u0435\u0440\u0435 \u0434\u0430\u043D\u043D\u044B\u0445!',
actionButtonText: 'Посмотреть решение',
unsubscribeButtonText: 'Отмена',
notificationIcon: 'gliph-harddrive.png',
statisticsLabel: 'hdd space',
problemUrl: 'http://drp.su/ru/help/hdd-space.html',
color: '#8d1f1f'
};
};

module.exports = exports['default'];

/***/ }),
/* 93 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var softName = _ref.softName;

var soft = {
'Yandex.Browser (Russian)': {
title: 'Рекомендуем установить Яндекс.Браузер!',
content: 'Быстрый браузер с технологией активной защиты Protect предупредит
об опасных сайтах.'
}
// TODO: use template
};return {
maxCountOfDisplaying: 3,
title: soft[softName].title,
content: soft[softName].content,
actionButtonText: 'Установить',
unsubscribeButtonText: 'Отказаться',
notificationIcon: 'drp.png',
statisticsLabel: 'Partner Soft ' + softName,
color: '#00733c'
};
};

module.exports = exports['default'];

/***/ }),
/* 94 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
exports.__esModule = true;

exports['default'] = function (_ref) {


var softName = _ref.softName;

var soft = {
'WinRAR (Russian)': {
title: 'Рекомендуем установить архиватор WinRAR!',
content: 'WinRAR открывает любые архивы, позволяет экономить место на жестком
диске!'
}
// TODO: use template
};return {
maxCountOfDisplaying: 3,
title: soft[softName].title,
content: soft[softName].content,
actionButtonText: 'Установить',
unsubscribeButtonText: 'Отказаться',
notificationIcon: 'drp.png',
statisticsLabel: 'Partner Soft ' + softName,
color: '#A5569B'
};
};

module.exports = exports['default'];

/***/ }),
/* 95 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var softName = _ref.softName;

// TODO: use template


return {
maxCountOfDisplaying: 3,
title: 'Рекомендуем установить Яндекс.Браузер!',
content: 'Быстрый браузер с технологией автивной защиты Protect предупредит об
опасных сайтах.',
actionButtonText: 'Установить',
unsubscribeButtonText: 'Отказаться',
notificationIcon: 'drp.png',
statisticsLabel: 'Partner Soft ' + softName,
color: '#00733c'
};
};

module.exports = exports['default'];

/***/ }),
/* 96 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
exports.__esModule = true;

exports['default'] = function (_ref) {


var disks = _ref.disks;

// TODO: use template


return {
maxCountOfDisplaying: 3,
title: 'Возможен отказ работы жесткого диска!',
content: '\u041F\u043E \u0434\u0430\u043D\u043D\u044B\u043C Windows,
\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u044B
\u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0432
\u0440\u0430\u0431\u043E\u0442\u0435
\u0436\u0435\u0441\u0442\u043A\u043E\u0433\u043E \u0434\u0438\u0441\u043A\u0430 ' +
disks + ': \u0441\u043D\u0438\u0436\u0435\u043D\u0438\u0435
\u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438,
\u043F\u043E\u0442\u0435\u0440\u044F \u0434\u0430\u043D\u043D\u044B\u0445,
\u043E\u0442\u043A\u0430\u0437 \u0440\u0430\u0431\u043E\u0442\u044B HDD.',
actionButtonText: 'Посмотреть рекомендации',
unsubscribeButtonText: 'Отмена',
notificationIcon: 'gliph-harddrive.png',
statisticsLabel: 'hdd smart',
problemUrl: 'http://internet-start.net/?q=hdd%20smart%20%D0%BD
%D0%B5%20Ok&utm_source=notifier&utm_medium=notification&utm_campaign=hdd&utm_conten
t=smart',
color: '#8d1f1f'
};
};

module.exports = exports['default'];

/***/ }),
/* 97 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref) {


var systemdrive = _ref.systemdrive;

// TODO: use template


return {
notificationId: '73e9433a-44f2-c6a4-a8a3-6a4899d5ecf7',
maxCountOfDisplaying: 3,
title: 'Недостаточно свободного места!',
content: '\u041D\u0430
\u0441\u0438\u0441\u0442\u0435\u043C\u043D\u043E\u043C
\u0434\u0438\u0441\u043A\u0435 [' + systemdrive + ']
\u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0442\u043E\u0447\u043D\u043E
\u0441\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0433\u043E
\u043C\u0435\u0441\u0442\u0430! \u042D\u0442\u043E
\u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438
\u043A \u043D\u0435\u0441\u0442\u0430\u0431\u0438\u043B\u044C\u043D\u043E\u0439
\u0440\u0430\u0431\u043E\u0442\u0435 Windows!',
actionButtonText: 'Посмотреть решение',
unsubscribeButtonText: 'Отмена',
notificationIcon: 'gliph-harddrive.png',
statisticsLabel: 'hdd system space',
problemUrl: 'http://drp.su/ru/help/hdd-system-space.html',
color: '#8d1f1f'
};
};

module.exports = exports['default'];

/***/ }),
/* 98 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

exports['default'] = function (_ref2) {


var lang = _ref2.lang,
experiment = _ref2.experiment;

var variant = experiment === 'bad_idea' ? 'v1' : experiment === 'think_again' ?


'v2' : '';
return Object.assign({
template: 'uninstall',
statisticsLabel: 'uninstall ' + experiment,
showDelay: 0,
timeoutDelay: false,
focusWindow: true,
experiment: variant
}, getDictionary({ lang: lang, experiment: variant }));
};

var getDictionary = function getDictionary(_ref) {


var lang = _ref.lang,
experiment = _ref.experiment;

if (experiment === 'v1') {


switch (lang) {
case 'ru':
return {
title: 'Почему удалять DriverPack Notifier — плохая идея?',
message1: 'Уже сейчас он помогает обеспечить безопасность компьютера,
выявляя загрузку вредных или бесполезных программ, помогая антивирусу',
message2: 'Он мониторит температуру процессора, количество свободной
оперативной памяти и состояние жесткого диска, а в случае необходимости, заранее
предупредит о проблеме',
message3: 'Он не нагружает компьютер — все вычисления происходят в
облачных сервисах',
message4: 'Совсем скоро он обновится до DriverPack Сloud, который сможет
заблаговременно предупреждать о многих системных ошибках и поможет предотвращать
будущие неисправности одним кликом',
actionButtonText: 'Оставить защиту',
unsubscribeButtonText: 'Удалить'
};
default:
return {
title: 'Why is DriverPack Notifier removal a bad idea?',
message1: 'It already helps provide safety for your computer by detecting
that some harmful or useless programs were downloaded, and thus, assisting to
antivirus',
message2: 'It monitors the temperature of processor, free volume of the
main memory, and the state of the hard disk, and if it\'s necessary warns about an
issue in advance',
message3: 'It doesn\'t overload the computer as all calculations take
place in the Cloud Services',
message4: 'Quite soon it will be updated to DriverPack Сloud version
which will be able to warn about many system errors beforehand, and will help
prevent the future malfunctions by one click',
actionButtonText: 'Keep Protection',
unsubscribeButtonText: 'Uninstall'
};
}
} else {
switch (lang) {
case 'ru':
return {
title: 'Подумай еще раз',
message1: 'Может быть, ты не оценил Notifier в полной мере, но поверь —
он скоро тебе пригодиться. Именно Notifier обеспечвает безопасность компьютера,
выявляя загрузку вредных и бесполезных программ — он помогает твоему антивирусу',
message2: '',
message3: 'О производительности компьютера и свободном месте тоже можно
не беспокоиться, потому что все вычисления происходят в облаке, не нагружая твой
компьютер',
message4: 'Кроме того, Notifier совсем скоро обновится до нового
DriverPack Cloud, который будет еще эффективнее мониторить состояние компьютера и
поможет оперативно предотвращать будущие неисправности',
actionButtonText: 'Оставить защиту',
unsubscribeButtonText: 'Удалить'
};
default:
return {
title: 'Think again!',
message1: 'Maybe, you have underestimated Notifier in full but trust us
it you will need it soon. This is the Notifier who provides computer security by
detecting that some harmful or useless programs were downloaded, and thus, it helps
your antivirus.',
message2: '',
message3: 'Also, you can stop worrying about your computer efficiency and
about the free memory left because all calculations take place in the Cloud, and
thus, they don\'t overload your computer',
message4: 'In addition, quite soon Notifier will be updated to the new
DriverPack Cloud which will monitor the state of your computer even more
effectively, and will help promptly prevent future malfunctions',
actionButtonText: 'Keep Protection',
unsubscribeButtonText: 'Uninstall'
};
}
}
};

module.exports = exports['default'];

/***/ }),
/* 99 */
/***/ (function(module, exports) {

module.exports = {
"notificationId": "4496667b-1460-d6df-2f0b-d6618d024e16",
"maxCountOfDisplaying": 3,
"title": "Безопасность компьютера под угрозой!",
"content": "Пожалуйста, включите антивирус 360 Total Security!\n",
"actionButtonText":
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n",
"unsubscribeButtonText": "Отмена",
"notificationIcon": "gliph-security.png",
"statisticsLabel": "antivirus notification 3",
"color": "red"
};

/***/ }),
/* 100 */
/***/ (function(module, exports) {

module.exports = {
"maxCountOfDisplaying": 3,
"title": "Срок службы батареи ноутбука подходит к концу!",
"content": "Ресурс службы батареи израсходован более чем на 70%, время работы
от батареи будет уменьшаться!\n",
"actionButtonText": "Посмотреть рекомендации\n",
"unsubscribeButtonText": "Отмена",
"notificationIcon": "gliph-battery-failure.png",
"statisticsLabel": "battery bad condition",
"problemUrl": "http://internet-start.net/?q=%D0%98%D0%B7%D0%BD%D0%BE
%D1%81%20%D0%B1%D0%B0%D1%82%D0%B0%D1%80%D0%B5%D0%B8%20%D0%BD%D0%BE
%D1%83%D1%82%D0%B1%D1%83%D0%BA
%D0%B0&utm_source=notifier&utm_medium=notification&utm_campaign=battery&utm_content
=poor_condition",
"color": "#8d1f1f"
};

/***/ }),
/* 101 */
/***/ (function(module, exports) {

module.exports = {
"template": "cloud-update",
"timeoutDelay": 1800000,
"notificationIcon": "drp.png",
"title": "Вышло важное обновление для программы Notifier – DriverPack
Cloud.",
"content": "Он позволяет быстро обновлять драйверы и удалять вредоносные
программы.",
"actionButtonText": "Обновить",
"delayButtonText": "Напомнить позднее",
"statisticsLabel": "cloud-update",
"color": "#6534ac"
};

/***/ }),
/* 102 */
/***/ (function(module, exports) {
module.exports = {
"maxCountOfDisplaying": 3,
"title": "Средний уровень загрузки процессора выше 70%!",
"content": "Это может быть вызвано вирусами или фоновыми процессами в
системе! Рекомендуем провести проверку.\n",
"actionButtonText": "Посмотреть рекомендации\n",
"unsubscribeButtonText": "Отмена",
"notificationIcon": "gliph-chipset.png",
"statisticsLabel": "cpu load average",
"problemUrl": "http://internet-start.net/?q=%D0%92%D1%8B%D1%81%D0%BE%D0%BA
%D0%B0%D1%8F%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0%20%D0%BF
%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE
%D1%80%D0%B0&utm_source=notifier&utm_medium=notification&utm_campaign=cpu&utm_conte
nt=load_average",
"color": "red"
};

/***/ }),
/* 103 */
/***/ (function(module, exports) {

module.exports = {
"maxCountOfDisplaying": 1,
"template": "standard",
"timeoutDelay": 1800000,
"title": "Роскомнадзор собирается заблокировать VPN и анонимайзеры.",
"content": "Рекомендуется заранее скачать браузер, в котором встроен подобный
режим обхода блокировок. Например, в браузере Opera есть встроенный VPN, который
можно включить в настройках\n",
"actionButtonText": "Установить Opera",
"unsubscribeButtonText": "Отказаться",
"notificationIcon": "vpn_icon.png",
"statisticsLabel": "notification opera-vpn ukraine",
"color": "#394559"
};

/***/ }),
/* 104 */
/***/ (function(module, exports) {

module.exports = {
"maxCountOfDisplaying": 3,
"title": "Недостаточно свободной оперативной памяти!",
"content": "Оперативная память заполнена свыше 80%, это снижает
производительность системы и ведет к нестабильной работе программ!\n",
"actionButtonText": "Посмотреть рекомендации\n",
"unsubscribeButtonText": "Отмена",
"notificationIcon": "gliph-ram.png",
"statisticsLabel": "ram",
"problemUrl": "http://internet-start.net/?q=%D0%92%D1%8B%D1%81%D0%BE%D0%BA
%D0%B0%D1%8F%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0%20%D0%BE%D0%BF
%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B9%20%D0%BF%D0%B0%D0%BC%D1%8F
%D1%82%D0%B8&utm_source=notifier&utm_medium=notification&utm_campaign=ram&utm_conte
nt=high_load",
"color": "red"
};

/***/ }),
/* 105 */
/***/ (function(module, exports) {

module.exports = {
"title": "DriverPack Cloud",
"content": "Для продолжения команды будет выполнен запрос прав
администратора\n",
"actionButtonText": "Ок",
"unsubscribeButtonText": "Отмена",
"timeoutDelay": false,
"focusWindow": true
};

/***/ }),
/* 106 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Move to drp-core

var noop = function noop() {};

window.console = window.console || {};

if (!window.console.log) {
window.console.log = window.echo || noop;
}
if (!window.console.warn) {
window.console.warn = window.echo || noop;
}
if (!window.console.error) {
window.console.error = window.echo || noop;
}

/***/ }),
/* 107 */,
/* 108 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

if (window.regeneratorRuntime && !window.regeneratorRuntime.AsyncIterator) {


window.regeneratorRuntime = undefined;
}

__webpack_require__(126);

/***/ }),
/* 109 */,
/* 110 */,
/* 111 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
var _wmi = __webpack_require__(2);

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var Registry = function () {


function Registry(is64) {
_classCallCheck(this, Registry);

this.is64 = is64;

this.HKCR = 0x80000000; // HKEY_CLASSES_ROOT


this.HKCU = 0x80000001; // HKEY_CURRENT_USER
this.HKLM = 0x80000002; // HKEY_LOCAL_MACHINE
this.HKUS = 0x80000003; // HKEY_USERS
this.HKCC = 0x80000005; // HKEY_CURRENT_CONFIG

this.REG_SZ = 1;
this.REG_EXPAND_SZ = 2;
this.REG_BINARY = 3;
this.REG_DWORD = 4;
this.REG_MULTI_SZ = 7;

this.connect(is64);
}

Registry.prototype.connect = function connect() {


var context = this.is64 ? {
__ProviderArchitecture: 64,
__RequiredArchitecture: true
} : null;
this.stdregprov = (0, _wmi.ConnectServer)('root\\default',
context).Get('StdRegProv');
};

Registry.prototype._exec = function _exec(methodName, hkey, key, valueName) {


var inParameters =
this.stdregprov.Methods_.Item(methodName).InParameters.SpawnInstance_();
inParameters.hDefKey = hkey;
inParameters.sSubKeyName = key;
if (valueName) {
inParameters.sValueName = valueName;
}
var out = this.stdregprov.ExecMethod_(methodName, inParameters);
return out;
};

Registry.prototype.exec = function exec() {


try {
return this._exec.apply(this, arguments);
} catch (err) {
this.connect();
return this._exec.apply(this, arguments);
}
};
Registry.prototype.EnumKey = function EnumKey(hkey, key) {
var outParameters = this.exec('EnumKey', hkey, key);
var names = [];
if (outParameters.sNames != null && outParameters.sNames.toArray) {
names = outParameters.sNames.toArray();
}
return names;
};

Registry.prototype.EnumValues = function EnumValues(hkey, key) {


var outParameters = this.exec('EnumValues', hkey, key);
var valueNames = [];
if (outParameters.sNames != null && outParameters.sNames.toArray) {
valueNames = outParameters.sNames.toArray();
}
var valueTypes = [];
if (outParameters.sNames != null && outParameters.Types.toArray) {
valueTypes = outParameters.Types.toArray();
}

return {
Names: valueNames,
Types: valueTypes
};
};

Registry.prototype.GetStringValue = function GetStringValue(hkey, key, name) {


var outParameters = this.exec('GetStringValue', hkey, key, name);
return outParameters.sValue;
};

Registry.prototype.GetExpandedStringValue = function GetExpandedStringValue(hkey,


key, name) {
var outParameters = this.exec('GetExpandedStringValue', hkey, key, name);
return outParameters.sValue;
};

Registry.prototype.GetDWORDValue = function GetDWORDValue(hkey, key, name) {


var outParameters = this.exec('GetDWORDValue', hkey, key, name);
return outParameters.uValue;
};

return Registry;
}();

exports['default'] = Registry;
module.exports = exports['default'];

/***/ }),
/* 112 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _specialFolders = __webpack_require__(15);


var _shell = __webpack_require__(13);

var _fso = __webpack_require__(7);

var _localFiles = __webpack_require__(21);

var _os = __webpack_require__(14);

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var ps = 'powershell -NonInteractive -NoLogo -NoProfile -ExecutionPolicy Bypass';

var PowerShell = function () {


function PowerShell() {
_classCallCheck(this, PowerShell);

Object.assign(this, {
running: false,
available: _os.OSVersion >= 6
});
}

PowerShell.prototype.getBaseName = function getBaseName() {


var dir = (0, _localFiles.ensurePath)(_specialFolders.AppFolder + '\\temp');
var seed = Date.now().toString(36) + '.' + Math.random().toString(36).slice(2,
7);
return dir + '\\ps.' + seed;
};

PowerShell.prototype.init = function init() {


if (this.available && !this.running) {
var basename = this.getBaseName();
var files = this.files = {
queue: basename + '.cmd.txt',
stdout: basename + '.stdout.log',
stderr: basename + '.stderr.log'
};
_fso.fso.CreateTextFile(files.queue, true, true).Close();
var cmd = 'Get-Content \'' + files.queue + '\' -Wait | Invoke-Expression';
try {
_shell.WshShell.Run('cmd /C ' + ps + ' "' + cmd + '" > "' + files.stdout +
'" 2> "' + files.stderr + '"', 0, false);
this.running = true;
} catch (err) {
this.available = false;
}
}
return this;
};

PowerShell.prototype.run = function run(text) {


if (this.available) {
var fileName = this.getBaseName() + '.ps1';
var file = _fso.fso.CreateTextFile(fileName, true, true);
file.Write(text);
file.Close();
this.send('. "' + fileName + '"');
}
};

PowerShell.prototype.send = function send(batch) {


if (this.available) {
if (!this.running) this.init();
batch = [].concat(batch);
try {
var ts = _fso.fso.GetFile(this.files.queue).OpenAsTextStream(8, -1);
batch.forEach(function (cmd) {
ts.WriteLine(cmd);
});
ts.Close();
} catch (err) {
// there nothing we can do about it :'(
}
}
return this;
};

PowerShell.prototype.terminate = function terminate() {


if (this.running) {
this.send('exit');
this.running = false;
}
return this;
};

PowerShell.prototype.read = function read(chanel) {


if (this.available) {
var file = _fso.fso.OpenTextFile(this.files[chanel], 1, false, -1);
var res = file.ReadAll();
file.Close();
return res;
}
};

PowerShell.prototype.stdout = function stdout() {


return this.read('stdout');
};

PowerShell.prototype.stderr = function stderr() {


return this.read('stderr');
};

return PowerShell;
}();

exports['default'] = new PowerShell();


module.exports = exports['default'];

/***/ }),
/* 113 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
exports.__esModule = true;

var _RegistryStore = __webpack_require__(134);

var _RegistryStore2 = _interopRequireDefault(_RegistryStore);

var _FileStore = __webpack_require__(132);

var _FileStore2 = _interopRequireDefault(_FileStore);

var _logs = __webpack_require__(17);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

var log = (0, _logs.getLogger)('core:statistics:clientIdStorage');

exports['default'] = {
stores: {
File: new _FileStore2['default'](),
HKCU: new _RegistryStore2['default']('HKCU\\SOFTWARE\\drpsu\\'),
HKLM: new _RegistryStore2['default']('HKLM\\SOFTWARE\\drpsu\\')
},

get: function get(key, stores) {


var _this = this;

var res = void 0;


stores.forEach(function (name) {
if (res) {
return;
} else {
res = _this.stores[name].get(key);
if (res) log.debug('got ' + key + ' from ' + name + ': ' + res, { key: key,
store: name, value: res }, 'get');
}
});
if (!res) {
res = this.generate();
log.debug('generated ' + key + ': ' + res, { key: key, value: res },
'generate');
}
return res;
},
set: function set(key, value, stores) {
var _this2 = this;

stores.forEach(function (name) {
_this2.stores[name].set(key, value);
});
},
init: function init() {
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
'clientId';
var value = arguments[1];
var stores = arguments.length > 2 && arguments[2] !== undefined ?
arguments[2] : ['File', 'HKCU', 'HKLM'];

if (value) {
log.debug('got ' + key + ' from init(): ' + value, { key: key, value:
value }, 'init');
this[key] = value;
} else if (this[key]) {
return;
} else {
this[key] = this.get(key, stores);
}
this.set(key, this[key], stores);
return this[key];
},
generate: function generate() {
/* eslint-disable */
var d = new Date().getTime();
var uuid = 'xxxxxxxxx.xxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = (d + Math.random() * 10) % 10 | 0;
return (c === 'x' ? r : r & 0x7 | 0x8).toString();
});
return uuid;
/* eslint-enable */
}
};
module.exports = exports['default'];

/***/ }),
/* 114 */
/***/ (function(module, exports, __webpack_require__) {

// false -> Array#indexOf


// true -> Array#includes
var toIObject = __webpack_require__(24),
toLength = __webpack_require__(16),
toIndex = __webpack_require__(53);
module.exports = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = toIObject($this),
length = toLength(O.length),
index = toIndex(fromIndex, length),
value;
// Array#includes uses SameValueZero equality algorithm
if (IS_INCLUDES && el != el) while (length > index) {
value = O[index++];
if (value != value) return true;
// Array#toIndex ignores holes, Array#includes - not
} else for (; length > index; index++) if (IS_INCLUDES || index in O) {
if (O[index] === el) return IS_INCLUDES || index || 0;
}return !IS_INCLUDES && -1;
};
};

/***/ }),
/* 115 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var hide = __webpack_require__(25),
redefine = __webpack_require__(27),
fails = __webpack_require__(5),
defined = __webpack_require__(32),
wks = __webpack_require__(10);

module.exports = function (KEY, length, exec) {


var SYMBOL = wks(KEY),
fns = exec(defined, SYMBOL, ''[KEY]),
strfn = fns[0],
rxfn = fns[1];
if (fails(function () {
var O = {};
O[SYMBOL] = function () {
return 7;
};
return ''[KEY](O) != 7;
})) {
redefine(String.prototype, KEY, strfn);
hide(RegExp.prototype, SYMBOL, length == 2
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
? function (string, arg) {
return rxfn.call(string, this, arg);
}
// 21.2.5.6 RegExp.prototype[@@match](string)
// 21.2.5.9 RegExp.prototype[@@search](string)
: function (string) {
return rxfn.call(string, this);
});
}
};

/***/ }),
/* 116 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 21.2.5.3 get RegExp.prototype.flags

var anObject = __webpack_require__(8);


module.exports = function () {
var that = anObject(this),
result = '';
if (that.global) result += 'g';
if (that.ignoreCase) result += 'i';
if (that.multiline) result += 'm';
if (that.unicode) result += 'u';
if (that.sticky) result += 'y';
return result;
};

/***/ }),
/* 117 */
/***/ (function(module, exports, __webpack_require__) {

var ctx = __webpack_require__(38),


call = __webpack_require__(189),
isArrayIter = __webpack_require__(147),
anObject = __webpack_require__(8),
toLength = __webpack_require__(16),
getIterFn = __webpack_require__(163),
BREAK = {},
RETURN = {};
var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
var iterFn = ITERATOR ? function () {
return iterable;
} : getIterFn(iterable),
f = ctx(fn, that, entries ? 2 : 1),
index = 0,
length,
step,
iterator,
result;
if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
// fast case for arrays with default iterator
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index;
index++) {
result = entries ? f(anObject(step = iterable[index])[0], step[1]) :
f(iterable[index]);
if (result === BREAK || result === RETURN) return result;
} else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
result = call(iterator, f, step.value, entries);
if (result === BREAK || result === RETURN) return result;
}
};
exports.BREAK = BREAK;
exports.RETURN = RETURN;

/***/ }),
/* 118 */
/***/ (function(module, exports) {

// fast apply, http://jsperf.lnkit.com/fast-apply/5


module.exports = function (fn, args, that) {
var un = that === undefined;
switch (args.length) {
case 0:
return un ? fn() :
fn.call(that);
case 1:
return un ? fn(args[0]) :
fn.call(that, args[0]);
case 2:
return un ? fn(args[0],
args[1]) : fn.call(that, args[0], args[1]);
case 3:
return un ? fn(args[0],
args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);
case 4:
return un ? fn(args[0],
args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);
}return fn.apply(that, args);
};

/***/ }),
/* 119 */
/***/ (function(module, exports, __webpack_require__) {

// 7.2.8 IsRegExp(argument)
var isObject = __webpack_require__(9),
cof = __webpack_require__(31),
MATCH = __webpack_require__(10)('match');
module.exports = function (it) {
var isRegExp;
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp :
cof(it) == 'RegExp');
};

/***/ }),
/* 120 */
/***/ (function(module, exports, __webpack_require__) {

var ITERATOR = __webpack_require__(10)('iterator'),


SAFE_CLOSING = false;

try {
var riter = [7][ITERATOR]();
riter['return'] = function () {
SAFE_CLOSING = true;
};
Array.from(riter, function () {
throw 2;
});
} catch (e) {/* empty */}

module.exports = function (exec, skipClosing) {


if (!skipClosing && !SAFE_CLOSING) return false;
var safe = false;
try {
var arr = [7],
iter = arr[ITERATOR]();
iter.next = function () {
return { done: safe = true };
};
arr[ITERATOR] = function () {
return iter;
};
exec(arr);
} catch (e) {/* empty */}
return safe;
};

/***/ }),
/* 121 */
/***/ (function(module, exports, __webpack_require__) {

// Forced replacement prototype accessors methods


module.exports = __webpack_require__(49) || !__webpack_require__(5)(function () {
var K = Math.random();
// In FF throws only define methods
__defineSetter__.call(null, K, function () {/* empty */});
delete __webpack_require__(3)[K];
});
/***/ }),
/* 122 */
/***/ (function(module, exports) {

exports.f = Object.getOwnPropertySymbols;

/***/ }),
/* 123 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3),


hide = __webpack_require__(25),
uid = __webpack_require__(54),
TYPED = uid('typed_array'),
VIEW = uid('view'),
ABV = !!(global.ArrayBuffer && global.DataView),
CONSTR = ABV,
i = 0,
l = 9,
Typed;

var TypedArrayConstructors =
'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Arr
ay,Float32Array,Float64Array'.split(',');

while (i < l) {
if (Typed = global[TypedArrayConstructors[i++]]) {
hide(Typed.prototype, TYPED, true);
hide(Typed.prototype, VIEW, true);
} else CONSTR = false;
}

module.exports = {
ABV: ABV,
CONSTR: CONSTR,
TYPED: TYPED,
VIEW: VIEW
};

/***/ }),
/* 124 */
/***/ (function(module, exports) {

// Copyright Joyent, Inc. and other Node contributors.


//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.

function EventEmitter() {
this._events = this._events || {};
this._maxListeners = this._maxListeners || undefined;
}
module.exports = EventEmitter;

// Backwards-compat with node 0.10.x


EventEmitter.EventEmitter = EventEmitter;

EventEmitter.prototype._events = undefined;
EventEmitter.prototype._maxListeners = undefined;

// By default EventEmitters will print a warning if more than 10 listeners are


// added to it. This is a useful default which helps finding memory leaks.
EventEmitter.defaultMaxListeners = 10;

// Obviously not all Emitters should be limited to 10. This function allows
// that to be increased. Set to zero for unlimited.
EventEmitter.prototype.setMaxListeners = function (n) {
if (!isNumber(n) || n < 0 || isNaN(n)) throw TypeError('n must be a positive
number');
this._maxListeners = n;
return this;
};

EventEmitter.prototype.emit = function (type) {


var er, handler, len, args, i, listeners;

if (!this._events) this._events = {};

// If there is no 'error' event listener then throw.


if (type === 'error') {
if (!this._events.error || isObject(this._events.error) && !
this._events.error.length) {
er = arguments[1];
if (er instanceof Error) {
throw er; // Unhandled 'error' event
} else {
// At least give some kind of context to the user
var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
err.context = er;
throw err;
}
}
}

handler = this._events[type];

if (isUndefined(handler)) return false;

if (isFunction(handler)) {
switch (arguments.length) {
// fast cases
case 1:
handler.call(this);
break;
case 2:
handler.call(this, arguments[1]);
break;
case 3:
handler.call(this, arguments[1], arguments[2]);
break;
// slower
default:
args = Array.prototype.slice.call(arguments, 1);
handler.apply(this, args);
}
} else if (isObject(handler)) {
args = Array.prototype.slice.call(arguments, 1);
listeners = handler.slice();
len = listeners.length;
for (i = 0; i < len; i++) listeners[i].apply(this, args);
}

return true;
};

EventEmitter.prototype.addListener = function (type, listener) {


var m;

if (!isFunction(listener)) throw TypeError('listener must be a function');

if (!this._events) this._events = {};

// To avoid recursion in the case that type === "newListener"! Before


// adding it to the listeners, first emit "newListener".
if (this._events.newListener) this.emit('newListener', type,
isFunction(listener.listener) ? listener.listener : listener);

if (!this._events[type])
// Optimize the case of one listener. Don't need the extra array object.
this._events[type] = listener;else if (isObject(this._events[type]))
// If we've already got an array, just append.
this._events[type].push(listener);else
// Adding the second element, need to change to array.
this._events[type] = [this._events[type], listener];

// Check for listener leak


if (isObject(this._events[type]) && !this._events[type].warned) {
if (!isUndefined(this._maxListeners)) {
m = this._maxListeners;
} else {
m = EventEmitter.defaultMaxListeners;
}

if (m && m > 0 && this._events[type].length > m) {


this._events[type].warned = true;
console.error('(node) warning: possible EventEmitter memory ' + 'leak
detected. %d listeners added. ' + 'Use emitter.setMaxListeners() to increase
limit.', this._events[type].length);
if (typeof console.trace === 'function') {
// not supported in IE 10
console.trace();
}
}
}

return this;
};

EventEmitter.prototype.on = EventEmitter.prototype.addListener;

EventEmitter.prototype.once = function (type, listener) {


if (!isFunction(listener)) throw TypeError('listener must be a function');

var fired = false;

function g() {
this.removeListener(type, g);

if (!fired) {
fired = true;
listener.apply(this, arguments);
}
}

g.listener = listener;
this.on(type, g);

return this;
};

// emits a 'removeListener' event iff the listener was removed


EventEmitter.prototype.removeListener = function (type, listener) {
var list, position, length, i;

if (!isFunction(listener)) throw TypeError('listener must be a function');

if (!this._events || !this._events[type]) return this;

list = this._events[type];
length = list.length;
position = -1;

if (list === listener || isFunction(list.listener) && list.listener === listener)


{
delete this._events[type];
if (this._events.removeListener) this.emit('removeListener', type, listener);
} else if (isObject(list)) {
for (i = length; i-- > 0;) {
if (list[i] === listener || list[i].listener && list[i].listener ===
listener) {
position = i;
break;
}
}

if (position < 0) return this;

if (list.length === 1) {
list.length = 0;
delete this._events[type];
} else {
list.splice(position, 1);
}

if (this._events.removeListener) this.emit('removeListener', type, listener);


}

return this;
};

EventEmitter.prototype.removeAllListeners = function (type) {


var key, listeners;

if (!this._events) return this;

// not listening for removeListener, no need to emit


if (!this._events.removeListener) {
if (arguments.length === 0) this._events = {};else if (this._events[type])
delete this._events[type];
return this;
}

// emit removeListener for all listeners on all events


if (arguments.length === 0) {
for (key in this._events) {
if (key === 'removeListener') continue;
this.removeAllListeners(key);
}
this.removeAllListeners('removeListener');
this._events = {};
return this;
}

listeners = this._events[type];

if (isFunction(listeners)) {
this.removeListener(type, listeners);
} else if (listeners) {
// LIFO order
while (listeners.length) this.removeListener(type, listeners[listeners.length -
1]);
}
delete this._events[type];

return this;
};

EventEmitter.prototype.listeners = function (type) {


var ret;
if (!this._events || !this._events[type]) ret = [];else if
(isFunction(this._events[type])) ret = [this._events[type]];else ret =
this._events[type].slice();
return ret;
};

EventEmitter.prototype.listenerCount = function (type) {


if (this._events) {
var evlistener = this._events[type];
if (isFunction(evlistener)) return 1;else if (evlistener) return
evlistener.length;
}
return 0;
};

EventEmitter.listenerCount = function (emitter, type) {


return emitter.listenerCount(type);
};

function isFunction(arg) {
return typeof arg === 'function';
}

function isNumber(arg) {
return typeof arg === 'number';
}

function isObject(arg) {
return typeof arg === 'object' && arg !== null;
}

function isUndefined(arg) {
return arg === void 0;
}

/***/ }),
/* 125 */,
/* 126 */
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {/**


* Copyright (c) 2014, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* https://raw.github.com/facebook/regenerator/master/LICENSE file. An
* additional grant of patent rights can be found in the PATENTS file in
* the same directory.
*/

!function (global) {
"use strict";

var Op = Object.prototype;
var hasOwn = Op.hasOwnProperty;
var undefined; // More compressible than void 0.
var $Symbol = typeof Symbol === "function" ? Symbol : {};
var iteratorSymbol = $Symbol.iterator || "@@iterator";
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";

var inModule = typeof module === "object";


var runtime = global.regeneratorRuntime;
if (runtime) {
if (inModule) {
// If regeneratorRuntime is defined globally and we're in a module,
// make the exports object identical to regeneratorRuntime.
module.exports = runtime;
}
// Don't bother evaluating the rest of this file if the runtime was
// already defined globally.
return;
}

// Define the runtime globally (as expected by generated code) as either


// module.exports (if we're in a module) or a new, empty object.
runtime = global.regeneratorRuntime = inModule ? module.exports : {};

function wrap(innerFn, outerFn, self, tryLocsList) {


// If outerFn provided and outerFn.prototype is a Generator, then
outerFn.prototype instanceof Generator.
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ?
outerFn : Generator;
var generator = Object.create(protoGenerator.prototype);
var context = new Context(tryLocsList || []);

// The ._invoke method unifies the implementations of the .next,


// .throw, and .return methods.
generator._invoke = makeInvokeMethod(innerFn, self, context);

return generator;
}
runtime.wrap = wrap;

// Try/catch helper to minimize deoptimizations. Returns a completion


// record like context.tryEntries[i].completion. This interface could
// have been (and was previously) designed to take a closure to be
// invoked without arguments, but in all the cases we care about we
// already have an existing method we want to call, so there's no need
// to create a new function object. We can even get away with assuming
// the method takes exactly one argument, since that happens to be true
// in every case, so we don't have to touch the arguments object. The
// only additional allocation required is the completion record, which
// has a stable shape and so hopefully should be cheap to allocate.
function tryCatch(fn, obj, arg) {
try {
return { type: "normal", arg: fn.call(obj, arg) };
} catch (err) {
return { type: "throw", arg: err };
}
}

var GenStateSuspendedStart = "suspendedStart";


var GenStateSuspendedYield = "suspendedYield";
var GenStateExecuting = "executing";
var GenStateCompleted = "completed";

// Returning this object from the innerFn has the same effect as
// breaking out of the dispatch switch statement.
var ContinueSentinel = {};

// Dummy constructor functions that we use as the .constructor and


// .constructor.prototype properties for functions that return Generator
// objects. For full spec compliance, you may wish to configure your
// minifier not to mangle the names of these two functions.
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}

// This is a polyfill for %IteratorPrototype% for environments that


// don't natively support it.
var IteratorPrototype = {};
IteratorPrototype[iteratorSymbol] = function () {
return this;
};

var getProto = Object.getPrototypeOf;


var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
if (NativeIteratorPrototype && NativeIteratorPrototype !== Op &&
hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
// This environment has a native %IteratorPrototype%; use it instead
// of the polyfill.
IteratorPrototype = NativeIteratorPrototype;
}

var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype =


Object.create(IteratorPrototype);
GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
GeneratorFunctionPrototype.constructor = GeneratorFunction;
GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName =
"GeneratorFunction";

// Helper for defining the .next, .throw, and .return methods of the
// Iterator interface in terms of a single ._invoke method.
function defineIteratorMethods(prototype) {
["next", "throw", "return"].forEach(function (method) {
prototype[method] = function (arg) {
return this._invoke(method, arg);
};
});
}

runtime.isGeneratorFunction = function (genFun) {


var ctor = typeof genFun === "function" && genFun.constructor;
return ctor ? ctor === GeneratorFunction ||
// For the native GeneratorFunction constructor, the best we can
// do is to check its .name property.
(ctor.displayName || ctor.name) === "GeneratorFunction" : false;
};

runtime.mark = function (genFun) {


if (Object.setPrototypeOf) {
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
} else {
genFun.__proto__ = GeneratorFunctionPrototype;
if (!(toStringTagSymbol in genFun)) {
genFun[toStringTagSymbol] = "GeneratorFunction";
}
}
genFun.prototype = Object.create(Gp);
return genFun;
};

// Within the body of any async function, `await x` is transformed to


// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
// `hasOwn.call(value, "__await")` to determine if the yielded value is
// meant to be awaited.
runtime.awrap = function (arg) {
return { __await: arg };
};

function AsyncIterator(generator) {
function invoke(method, arg, resolve, reject) {
var record = tryCatch(generator[method], generator, arg);
if (record.type === "throw") {
reject(record.arg);
} else {
var result = record.arg;
var value = result.value;
if (value && typeof value === "object" && hasOwn.call(value, "__await")) {
return Promise.resolve(value.__await).then(function (value) {
invoke("next", value, resolve, reject);
}, function (err) {
invoke("throw", err, resolve, reject);
});
}

return Promise.resolve(value).then(function (unwrapped) {


// When a yielded Promise is resolved, its final value becomes
// the .value of the Promise<{value,done}> result for the
// current iteration. If the Promise is rejected, however, the
// result for this iteration will be rejected with the same
// reason. Note that rejections of yielded Promises are not
// thrown back into the generator function, as is the case
// when an awaited Promise is rejected. This difference in
// behavior between yield and await is important, because it
// allows the consumer to decide what to do with the yielded
// rejection (swallow it and continue, manually .throw it back
// into the generator, abandon iteration, whatever). With
// await, by contrast, there is no opportunity to examine the
// rejection reason outside the generator function, so the
// only option is to throw it from the await expression, and
// let the generator function handle the exception.
result.value = unwrapped;
resolve(result);
}, reject);
}
}

if (typeof global.process === "object" && global.process.domain) {


invoke = global.process.domain.bind(invoke);
}

var previousPromise;

function enqueue(method, arg) {


function callInvokeWithMethodAndArg() {
return new Promise(function (resolve, reject) {
invoke(method, arg, resolve, reject);
});
}

return previousPromise =
// If enqueue has been called before, then we want to wait until
// all previous Promises have been resolved before calling invoke,
// so that results are always delivered in the correct order. If
// enqueue has not been called before, then it is important to
// call invoke immediately, without waiting on a callback to fire,
// so that the async generator function has the opportunity to do
// any necessary setup in a predictable way. This predictability
// is why the Promise constructor synchronously invokes its
// executor callback, and why async functions synchronously
// execute code before the first await. Since we implement simple
// async functions in terms of async generators, it is especially
// important to get this right, even though it requires care.
previousPromise ? previousPromise.then(callInvokeWithMethodAndArg,
// Avoid propagating failures to Promises returned by later
// invocations of the iterator.
callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
}

// Define the unified helper method that is used to implement .next,


// .throw, and .return (see defineIteratorMethods).
this._invoke = enqueue;
}

defineIteratorMethods(AsyncIterator.prototype);
AsyncIterator.prototype[asyncIteratorSymbol] = function () {
return this;
};
runtime.AsyncIterator = AsyncIterator;

// Note that simple async functions are implemented on top of


// AsyncIterator objects; they just return a Promise for the value of
// the final result produced by the iterator.
runtime.async = function (innerFn, outerFn, self, tryLocsList) {
var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));

return runtime.isGeneratorFunction(outerFn) ? iter // If outerFn is a


generator, return the full iterator.
: iter.next().then(function (result) {
return result.done ? result.value : iter.next();
});
};

function makeInvokeMethod(innerFn, self, context) {


var state = GenStateSuspendedStart;

return function invoke(method, arg) {


if (state === GenStateExecuting) {
throw new Error("Generator is already running");
}

if (state === GenStateCompleted) {


if (method === "throw") {
throw arg;
}

// Be forgiving, per 25.3.3.3.3 of the spec:


// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-
generatorresume
return doneResult();
}
context.method = method;
context.arg = arg;

while (true) {
var delegate = context.delegate;
if (delegate) {
var delegateResult = maybeInvokeDelegate(delegate, context);
if (delegateResult) {
if (delegateResult === ContinueSentinel) continue;
return delegateResult;
}
}

if (context.method === "next") {


// Setting context._sent for legacy support of Babel's
// function.sent implementation.
context.sent = context._sent = context.arg;
} else if (context.method === "throw") {
if (state === GenStateSuspendedStart) {
state = GenStateCompleted;
throw context.arg;
}

context.dispatchException(context.arg);
} else if (context.method === "return") {
context.abrupt("return", context.arg);
}

state = GenStateExecuting;

var record = tryCatch(innerFn, self, context);


if (record.type === "normal") {
// If an exception is thrown from innerFn, we leave state ===
// GenStateExecuting and loop back for another invocation.
state = context.done ? GenStateCompleted : GenStateSuspendedYield;

if (record.arg === ContinueSentinel) {


continue;
}

return {
value: record.arg,
done: context.done
};
} else if (record.type === "throw") {
state = GenStateCompleted;
// Dispatch the exception by looping back around to the
// context.dispatchException(context.arg) call above.
context.method = "throw";
context.arg = record.arg;
}
}
};
}

// Call delegate.iterator[context.method](context.arg) and handle the


// result, either by returning a { value, done } result from the
// delegate iterator, or by modifying context.method and context.arg,
// setting context.delegate to null, and returning the ContinueSentinel.
function maybeInvokeDelegate(delegate, context) {
var method = delegate.iterator[context.method];
if (method === undefined) {
// A .throw or .return when the delegate iterator has no .throw
// method always terminates the yield* loop.
context.delegate = null;

if (context.method === "throw") {


if (delegate.iterator["return"]) {
// If the delegate iterator has a return method, give it a
// chance to clean up.
context.method = "return";
context.arg = undefined;
maybeInvokeDelegate(delegate, context);

if (context.method === "throw") {


// If maybeInvokeDelegate(context) changed context.method from
// "return" to "throw", let that override the TypeError below.
return ContinueSentinel;
}
}

context.method = "throw";
context.arg = new TypeError("The iterator does not provide a 'throw'
method");
}

return ContinueSentinel;
}

var record = tryCatch(method, delegate.iterator, context.arg);

if (record.type === "throw") {


context.method = "throw";
context.arg = record.arg;
context.delegate = null;
return ContinueSentinel;
}

var info = record.arg;

if (!info) {
context.method = "throw";
context.arg = new TypeError("iterator result is not an object");
context.delegate = null;
return ContinueSentinel;
}

if (info.done) {
// Assign the result of the finished delegate to the temporary
// variable specified by delegate.resultName (see delegateYield).
context[delegate.resultName] = info.value;

// Resume execution at the desired location (see delegateYield).


context.next = delegate.nextLoc;

// If context.method was "throw" but the delegate handled the


// exception, let the outer generator proceed normally. If
// context.method was "next", forget context.arg since it has been
// "consumed" by the delegate iterator. If context.method was
// "return", allow the original .return call to continue in the
// outer generator.
if (context.method !== "return") {
context.method = "next";
context.arg = undefined;
}
} else {
// Re-yield the result returned by the delegate method.
return info;
}

// The delegate iterator is finished, so forget it and continue with


// the outer generator.
context.delegate = null;
return ContinueSentinel;
}

// Define Generator.prototype.{next,throw,return} in terms of the


// unified ._invoke helper method.
defineIteratorMethods(Gp);

Gp[toStringTagSymbol] = "Generator";

// A Generator should always return itself as the iterator object when the
// @@iterator function is called on it. Some browsers' implementations of the
// iterator prototype chain incorrectly implement this, causing the Generator
// object to not be returned from this call. This ensures that doesn't happen.
// See https://github.com/facebook/regenerator/issues/274 for more details.
Gp[iteratorSymbol] = function () {
return this;
};

Gp.toString = function () {
return "[object Generator]";
};

function pushTryEntry(locs) {
var entry = { tryLoc: locs[0] };

if (1 in locs) {
entry.catchLoc = locs[1];
}

if (2 in locs) {
entry.finallyLoc = locs[2];
entry.afterLoc = locs[3];
}

this.tryEntries.push(entry);
}

function resetTryEntry(entry) {
var record = entry.completion || {};
record.type = "normal";
delete record.arg;
entry.completion = record;
}
function Context(tryLocsList) {
// The root entry object (effectively a try statement without a catch
// or a finally block) gives us a place to store values thrown from
// locations where there is no enclosing try statement.
this.tryEntries = [{ tryLoc: "root" }];
tryLocsList.forEach(pushTryEntry, this);
this.reset(true);
}

runtime.keys = function (object) {


var keys = [];
for (var key in object) {
keys.push(key);
}
keys.reverse();

// Rather than returning an object with a next method, we keep


// things simple and return the next function itself.
return function next() {
while (keys.length) {
var key = keys.pop();
if (key in object) {
next.value = key;
next.done = false;
return next;
}
}

// To avoid creating an additional object, we just hang the .value


// and .done properties off the next function object itself. This
// also ensures that the minifier will not anonymize the function.
next.done = true;
return next;
};
};

function values(iterable) {
if (iterable) {
var iteratorMethod = iterable[iteratorSymbol];
if (iteratorMethod) {
return iteratorMethod.call(iterable);
}

if (typeof iterable.next === "function") {


return iterable;
}

if (!isNaN(iterable.length)) {
var i = -1,
next = function next() {
while (++i < iterable.length) {
if (hasOwn.call(iterable, i)) {
next.value = iterable[i];
next.done = false;
return next;
}
}

next.value = undefined;
next.done = true;

return next;
};

return next.next = next;


}
}

// Return an iterator with no values.


return { next: doneResult };
}
runtime.values = values;

function doneResult() {
return { value: undefined, done: true };
}

Context.prototype = {
constructor: Context,

reset: function (skipTempReset) {


this.prev = 0;
this.next = 0;
// Resetting context._sent for legacy support of Babel's
// function.sent implementation.
this.sent = this._sent = undefined;
this.done = false;
this.delegate = null;

this.method = "next";
this.arg = undefined;

this.tryEntries.forEach(resetTryEntry);

if (!skipTempReset) {
for (var name in this) {
// Not sure about the optimal order of these conditions:
if (name.charAt(0) === "t" && hasOwn.call(this, name) && !
isNaN(+name.slice(1))) {
this[name] = undefined;
}
}
}
},

stop: function () {
this.done = true;

var rootEntry = this.tryEntries[0];


var rootRecord = rootEntry.completion;
if (rootRecord.type === "throw") {
throw rootRecord.arg;
}

return this.rval;
},

dispatchException: function (exception) {


if (this.done) {
throw exception;
}

var context = this;


function handle(loc, caught) {
record.type = "throw";
record.arg = exception;
context.next = loc;

if (caught) {
// If the dispatched exception was caught by a catch block,
// then let that catch block handle the exception normally.
context.method = "next";
context.arg = undefined;
}

return !!caught;
}

for (var i = this.tryEntries.length - 1; i >= 0; --i) {


var entry = this.tryEntries[i];
var record = entry.completion;

if (entry.tryLoc === "root") {


// Exception thrown outside of any try block that could handle
// it, so set the completion value of the entire function to
// throw the exception.
return handle("end");
}

if (entry.tryLoc <= this.prev) {


var hasCatch = hasOwn.call(entry, "catchLoc");
var hasFinally = hasOwn.call(entry, "finallyLoc");

if (hasCatch && hasFinally) {


if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
} else if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else if (hasCatch) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
}
} else if (hasFinally) {
if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else {
throw new Error("try statement without catch or finally");
}
}
}
},

abrupt: function (type, arg) {


for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") &&
this.prev < entry.finallyLoc) {
var finallyEntry = entry;
break;
}
}

if (finallyEntry && (type === "break" || type === "continue") &&


finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
// Ignore the finally entry if control is not jumping to a
// location outside the try/catch block.
finallyEntry = null;
}

var record = finallyEntry ? finallyEntry.completion : {};


record.type = type;
record.arg = arg;

if (finallyEntry) {
this.method = "next";
this.next = finallyEntry.finallyLoc;
return ContinueSentinel;
}

return this.complete(record);
},

complete: function (record, afterLoc) {


if (record.type === "throw") {
throw record.arg;
}

if (record.type === "break" || record.type === "continue") {


this.next = record.arg;
} else if (record.type === "return") {
this.rval = this.arg = record.arg;
this.method = "return";
this.next = "end";
} else if (record.type === "normal" && afterLoc) {
this.next = afterLoc;
}

return ContinueSentinel;
},

finish: function (finallyLoc) {


for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.finallyLoc === finallyLoc) {
this.complete(entry.completion, entry.afterLoc);
resetTryEntry(entry);
return ContinueSentinel;
}
}
},

"catch": function (tryLoc) {


for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc === tryLoc) {
var record = entry.completion;
if (record.type === "throw") {
var thrown = record.arg;
resetTryEntry(entry);
}
return thrown;
}
}

// The context.catch method must only be called with a location


// argument that corresponds to a known catch block.
throw new Error("illegal catch attempt");
},

delegateYield: function (iterable, resultName, nextLoc) {


this.delegate = {
iterator: values(iterable),
resultName: resultName,
nextLoc: nextLoc
};

if (this.method === "next") {


// Deliberately forget the last sent value so that we don't
// accidentally pass it on to the delegate.
this.arg = undefined;
}

return ContinueSentinel;
}
};
}(
// Among the various tricks for obtaining a reference to the global
// object, this seems to be the most reliable technique that does not
// use indirect eval (which violates Content Security Policy).
typeof global === "object" ? global : typeof window === "object" ? window : typeof
self === "object" ? self : this);
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(48)))

/***/ }),
/* 127 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: move to drp-core


module.exports = function (module) {
if (!module.webpackPolyfill) {
module.deprecate = function () {};
module.paths = [];
// module.parent = undefined by default
if (!module.children) module.children = [];
try {
Object.defineProperty(module, 'loaded', {
enumerable: true,
configurable: false,
get: function get() {
return module.l;
}
});
Object.defineProperty(module, 'id', {
enumerable: true,
configurable: false,
get: function get() {
return module.i;
}
});
} catch (e) {
module.id = module.i;
}
module.webpackPolyfill = true;
}
return module;
};

/***/ }),
/* 128 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports["default"] = retry;
var delay = function delay(time) {
return new Promise(function (resolve) {
return setTimeout(resolve, time);
});
};

function retry(handler) {
var tries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
1;
var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
1000;

return handler()["catch"](function (err) {


if (tries > 1) {
return delay(timeout).then(function () {
return retry(handler, tries - 1, timeout);
});
} else {
throw err;
}
});
}
module.exports = exports["default"];

/***/ }),
/* 129 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ?
function (obj) {
return typeof obj;
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !
== Symbol.prototype ? "symbol" : typeof obj;
};

var _DeloreanTransport = __webpack_require__(56);

var _DeloreanTransport2 = _interopRequireDefault(_DeloreanTransport);

var _ScopedLogger2 = __webpack_require__(130);

var _ScopedLogger3 = _interopRequireDefault(_ScopedLogger2);

var _fileWriter = __webpack_require__(66);

var _fileWriter2 = _interopRequireDefault(_fileWriter);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

function _objectWithoutProperties(obj, keys) {


var target = {};for (var i in obj) {
if (keys.indexOf(i) >= 0) continue;if (!
Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];
}return target;
}

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

function _possibleConstructorReturn(self, call) {


if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been
called");
}return call && (typeof call === "object" || typeof call === "function") ? call :
self;
}

function _inherits(subClass, superClass) {


if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not "
+ typeof superClass);
}subClass.prototype = Object.create(superClass && superClass.prototype,
{ constructor: { value: subClass, enumerable: false, writable: true, configurable:
true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass,
superClass) : subClass.__proto__ = superClass;
}

var Logger = function (_ScopedLogger) {


_inherits(Logger, _ScopedLogger);

function Logger(_ref) {
var logging = _ref.logging,
endpoint = _ref.endpoint;

_classCallCheck(this, Logger);

var _this = _possibleConstructorReturn(this, _ScopedLogger.call(this, null,


''));

var transport = new _DeloreanTransport2['default'](endpoint);


Object.assign(_this, { logging: logging, transport: transport });
return _this;
}

Logger.prototype.buildMessage = function buildMessage(_ref2) {


var message = _ref2.message,
action = _ref2.action,
_ref2$namespace = _ref2.namespace,
namespace = _ref2$namespace === undefined ? '' : _ref2$namespace,
_ref2$tags = _ref2.tags,
tags = _ref2$tags === undefined ? [] : _ref2$tags;

var res = '[' + namespace + '] ' + (message || action);


for (var _iterator = tags, _isArray = Array.isArray(_iterator), _i = 0,
_iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref3;

if (_isArray) {
if (_i >= _iterator.length) break;
_ref3 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref3 = _i.value;
}

var tag = _ref3;

res += ' #' + tag;


}
return res;
};

Logger.prototype.toObject = function toObject(lvl, message) {


var params = arguments.length > 2 && arguments[2] !== undefined ?
arguments[2] : {};
var namespace = arguments.length > 3 && arguments[3] !== undefined ?
arguments[3] : '';
var tags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] :
[];
return { lvl: lvl, tags: tags, namespace: namespace, message: message, params:
params };
};

Logger.prototype.send = function send() {


var data = this.toObject.apply(this, arguments);
if (data.lvl !== 'debug') {
return this.transport.send(data);
}
};

Logger.prototype._write = function _write(_ref4) {


var type = _ref4.type,
data = _ref4.data,
_ref4$params = _ref4.params,
params = _ref4$params === undefined ? data : _ref4$params,
_ref4$message = _ref4.message,
message = _ref4$message === undefined ? this.buildMessage(data) :
_ref4$message;

if (data.lvl === 'error' || data.lvl === 'warn') {


console[data.lvl](message);
} else {
console.log(message);
}
if (this.logging) {
_fileWriter2['default'].write(message, data.lvl, params, data, type);
}
};

Logger.prototype.write = function write() {


var data = this.toObject.apply(this, arguments);
this._write({ type: 'log', data: data, params: data.params });
};

Logger.prototype.onunload = function onunload() {


_fileWriter2['default'].close();
};

Logger.prototype.log = function log(lvl, opts) {


var params = arguments.length > 2 && arguments[2] !== undefined ?
arguments[2] : opts.params;
var namespace = arguments.length > 3 && arguments[3] !== undefined ?
arguments[3] : opts.namespace;
var tags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] :
opts.tags;

if ((typeof opts === 'undefined' ? 'undefined' : _typeof(opts)) !== 'object') {


opts = { message: opts };
}

var _opts = opts,


message = _opts.message,
dimensions = _opts.dimensions,
important = _opts.important,
event = _objectWithoutProperties(_opts, ['message', 'dimensions',
'important']);
var args = [lvl, message, params, namespace, tags];
if (event.action) {
var data = this.toObject.apply(this, args);
return __webpack_require__(20).event(_extends({}, event, data), dimensions,
important);
} else {
return Promise.all([this.send.apply(this, args), this.write.apply(this,
args)]);
}
};

return Logger;
}(_ScopedLogger3['default']);

exports['default'] = Logger;
module.exports = exports['default'];

/***/ }),
/* 130 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var ScopedLogger = function () {


function ScopedLogger(parent, prefix) {
var tags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
[];

_classCallCheck(this, ScopedLogger);

Object.assign(this, { parent: parent, prefix: prefix, tags: tags });


}

ScopedLogger.prototype.log = function log(lvl, msg, params) {


var namespace = arguments.length > 3 && arguments[3] !== undefined ?
arguments[3] : msg.namespace || '';
var tags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] :
msg.tags || [];

if (this.prefix) {
namespace = this.prefix + ':' + namespace;
}
return this.parent.log(lvl, msg, params, namespace, tags.concat(this.tags));
};

ScopedLogger.prototype.debug = function debug() {


for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len;
_key++) {
args[_key] = arguments[_key];
}
return this.log.apply(this, ['debug'].concat(args));
};

ScopedLogger.prototype.info = function info() {


for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 <
_len2; _key2++) {
args[_key2] = arguments[_key2];
}

return this.log.apply(this, ['info'].concat(args));


};

ScopedLogger.prototype.warn = function warn() {


for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 <
_len3; _key3++) {
args[_key3] = arguments[_key3];
}

return this.log.apply(this, ['warn'].concat(args));


};

ScopedLogger.prototype.error = function error() {


for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 <
_len4; _key4++) {
args[_key4] = arguments[_key4];
}

return this.log.apply(this, ['error'].concat(args));


};

ScopedLogger.prototype.scope = function scope(namespace, tags) {


return new ScopedLogger(this, namespace, tags);
};

return ScopedLogger;
}();

exports['default'] = ScopedLogger;
module.exports = exports['default'];

/***/ }),
/* 131 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _DeloreanTransport = __webpack_require__(56);

var _DeloreanTransport2 = _interopRequireDefault(_DeloreanTransport);

var _http = __webpack_require__(34);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var EventsAPI = function () {


EventsAPI.prototype.init = function init(_ref) {
var url = _ref.url;

this.transport = new _DeloreanTransport2['default'](url, this.parent);


};

function EventsAPI(parent) {
_classCallCheck(this, EventsAPI);

this.parent = parent;
this.logger = parent.logger.scope('api');
}

EventsAPI.prototype.send = function send(event) {


var _this = this;

var endpoint = this.transport && this.transport.endpoint;


if (endpoint) {
return this.transport.send(event).then(function () {
_this.logger.debug('Send event to MongoDB API ' + endpoint + ': ' +
event.action, { event: event, endpoint: endpoint }, 'send');
}, function (_ref2) {
var response = _ref2.response;

_this.logger.debug('Failed to send event to MongoDB API ' + endpoint + ': '


+ event.action, { event: event, endpoint: endpoint, response: response }, 'fail');
});
}
};

return EventsAPI;
}();

exports['default'] = EventsAPI;
module.exports = exports['default'];

/***/ }),
/* 132 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _utils = __webpack_require__(44);

var _fso = __webpack_require__(7);

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var FileStore = function () {


function FileStore() {
_classCallCheck(this, FileStore);
}

FileStore.prototype.parseClientIdJs = function parseClientIdJs(text) {


var start = text.indexOf('"') + 1;
var end = text.indexOf('"', start);
var filename = text.substr(start, end - start);

var _ParseSFXName$slice = (0, _utils.ParseSFXName)(filename).slice(-1),


clientId = _ParseSFXName$slice[0];

return clientId;
};

FileStore.prototype.get = function get(key) {


var file = 'tools\\modules\\' + key.toLowerCase() + '.js';
if (_fso.fso.FileExists(file)) {
var text = _fso.fso.GetFile(file);
if (text.Size > 0) {
var contents = text.OpenAsTextStream(1).ReadAll();
return this.parseClientIdJs(contents);
}
}
};

FileStore.prototype.set = function set() {};

return FileStore;
}();

exports['default'] = FileStore;
module.exports = exports['default'];

/***/ }),
/* 133 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _OnlineStatistics = __webpack_require__(68);

var _OnlineStatistics2 = _interopRequireDefault(_OnlineStatistics);

var _specialFolders = __webpack_require__(15);

var _fso = __webpack_require__(7);

var _localFiles = __webpack_require__(21);

var _logs = __webpack_require__(17);


var _iterate = __webpack_require__(28);

var _iterate2 = _interopRequireDefault(_iterate);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var log = (0, _logs.getLogger)('core:statistics:offline');

var readLine = function readLine(file) {


return JSON.parse(file.ReadLine());
};

var OfflineStore = function () {


OfflineStore.getFilepath = function getFilepath() {
return (0, _localFiles.ensurePath)(_specialFolders.AppData +
'\\DRPSu\\events');
};

OfflineStore.dispatchFile = function dispatchFile(_ref) {


var Path = _ref.Path,
Name = _ref.Name;

log.debug('Processing file: ' + Name, { file: Name }, 'dispatch');


var promises = [];
try {
var file = _fso.fso.OpenTextFile(Path, 1, false);

var _readLine = readLine(file),


clientId = _readLine.clientId,
computerId = _readLine.computerId,
_constructor = _readLine.constructor;

var stat = new (Function.prototype.bind.apply(_OnlineStatistics2['default'],


[null].concat(_constructor)))();
stat.init({ clientId: clientId, computerId: computerId, offline: true });
while (!file.AtEndOfStream) {
try {
var _readLine2 = readLine(file),
event = _readLine2.event;

promises.push(stat.event.apply(stat, event)['catch'](function () {
return null;
}));
} catch (err) {}
}
file.Close();
} catch (err) {}
return Promise.all(promises).then(function () {
_fso.fso.DeleteFile(Path, true);
})['catch'](function () {
return null;
});
};

OfflineStore.dispatch = function dispatch() {


var filepath = OfflineStore.getFilepath();
var folder = _fso.fso.GetFolder(filepath);
var promise = Promise.resolve();
(0, _iterate2['default'])(folder.Files, function (file) {
promise = promise.then(function () {
return OfflineStore.dispatchFile(file);
});
});
return promise;
};

function OfflineStore(_ref2) {
var options = _ref2.options,
drpVersion = _ref2.drpVersion,
lang = _ref2.lang,
clientId = _ref2.clientId,
computerId = _ref2.computerId;

_classCallCheck(this, OfflineStore);

var filename = this._name = ['e', Date.now(), options.category ||


'drp'].join('-').replace(/[\s\.]/g, '-').toLowerCase();
var filepath = OfflineStore.getFilepath() + '\\' + filename;
this._file = _fso.fso.CreateTextFile(filepath, true);
this._save({
clientId: clientId,
computerId: computerId,
constructor: [options, drpVersion, lang]
});
}

OfflineStore.prototype.event = function event(_event) {


var dimensions = arguments.length > 1 && arguments[1] !== undefined ?
arguments[1] : [];
var important = arguments.length > 2 && arguments[2] !== undefined ?
arguments[2] : false;

log.debug('Send event: ' + _event.action, { event: _event, dimensions:


dimensions }, 'send');
this._save({ event: [_event, dimensions, important] });
};

OfflineStore.prototype._save = function _save(data) {


this._file.WriteLine(JSON.stringify(data));
};

return OfflineStore;
}();

exports['default'] = OfflineStore;
module.exports = exports['default'];

/***/ }),
/* 134 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _registry = __webpack_require__(29);

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var RegistryStore = function () {


function RegistryStore(Reg) {
_classCallCheck(this, RegistryStore);

this.Reg = Reg;
}

RegistryStore.prototype.getPath = function getPath(key) {


return this.Reg + key;
};

RegistryStore.prototype.get = function get(key) {


return (0, _registry.RegRead)(this.getPath(key));
};

RegistryStore.prototype.set = function set(key, clientId) {


(0, _registry.RegWrite)(this.getPath(key), clientId);
};

return RegistryStore;
}();

exports['default'] = RegistryStore;
module.exports = exports['default'];

/***/ }),
/* 135 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _extends = Object.assign || function (target) {


for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _GoogleAnalytics = __webpack_require__(67);

var _OnlineStatistics2 = __webpack_require__(68);

var _OnlineStatistics3 = _interopRequireDefault(_OnlineStatistics2);

var _OfflineStore = __webpack_require__(133);

var _OfflineStore2 = _interopRequireDefault(_OfflineStore);

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

function _possibleConstructorReturn(self, call) {


if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been
called");
}return call && (typeof call === "object" || typeof call === "function") ? call :
self;
}

function _inherits(subClass, superClass) {


if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not "
+ typeof superClass);
}subClass.prototype = Object.create(superClass && superClass.prototype,
{ constructor: { value: subClass, enumerable: false, writable: true, configurable:
true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass,
superClass) : subClass.__proto__ = superClass;
}

var Statistics = function (_OnlineStatistics) {


_inherits(Statistics, _OnlineStatistics);

function Statistics() {
_classCallCheck(this, Statistics);

return _possibleConstructorReturn(this, _OnlineStatistics.apply(this,


arguments));
}

Statistics.prototype.init = function init(opts) {


var _this2 = this;

_OnlineStatistics.prototype.init.call(this, opts);

this._initialized = this.checkConnection().then(function (isOnline) {


if (isOnline) {
return _OfflineStore2['default'].dispatch().then(function () {
return true;
});
} else {
_this2._offlineStore = new _OfflineStore2['default'](_this2);
return false;
}
});
};

Statistics.prototype.checkConnection = function checkConnection() {


return (0, _GoogleAnalytics.sendUrl)(_GoogleAnalytics.endpoint).then(function
() {
return true;
}, function () {
return false;
});
};

Statistics.prototype.send = function send(event, dimensions, important) {


var _this3 = this;

return this._initialized.then(function (isOnline) {


if (!isOnline && _this3._offlineStore) {
_this3._offlineStore.event(event, dimensions, important);
} else {
return _OnlineStatistics.prototype.send.call(_this3, event, dimensions,
important);
}
});
};

Statistics.prototype.sendOpenedEvent = function sendOpenedEvent(event) {


this.event(_extends({
lvl: 'info',
action: 'application opened',
label: this.drpVersion,
namespace: 'DriverPackSolution:opened'
}, event), [], true);
};

return Statistics;
}(_OnlineStatistics3['default']);

exports['default'] = Statistics;
module.exports = exports['default'];

/***/ }),
/* 136 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _extends = Object.assign || function (target) {


for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};

function _classCallCheck(instance, Constructor) {


if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}

var loaded = false;

var loadYaMetrika = function loadYaMetrika() {


if (!loaded) {
if (!window.yandex_metrika_callbacks) {
window.yandex_metrika_callbacks = [];
}
loaded = new Promise(function (resolve) {
window.yandex_metrika_callbacks.push(resolve);
});

var _document$getElements = document.getElementsByTagName('script'),


neighbor = _document$getElements[0];

var script = document.createElement('script');


script.type = 'text/javascript';
script.async = true;
script.src = 'https://mc.yandex.ru/metrika/watch.js';
neighbor.parentNode.insertBefore(script, neighbor);
}
return loaded;
};

var createYaCounter = function createYaCounter(id) {


var active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
true;

try {
return id ? new window.Ya.Metrika({
id: id,
clickmap: active,
trackLinks: active,
accurateTrackBounce: active,
ut: 'noindex',
defer: true,
webvisor: false
}) : null;
} catch (e) {}
};

var YaMetrika = function () {


function YaMetrika(parent) {
_classCallCheck(this, YaMetrika);

this.enabled = false;

this.parent = parent;
this.logger = parent.logger.scope('metrika');
}
YaMetrika.prototype.init = function init(_ref) {
var _this = this;

var shared = _ref.shared,


primary = _ref.primary,
enabled = _ref.enabled,
url = _ref.url;

Object.assign(this, { enabled: enabled, url: url });


if (!this.enabled) return false;

this.loaded = loadYaMetrika().then(function () {
var active = !_this.parent.offline;
_this.counters = {
shared: createYaCounter(shared, active),
primary: createYaCounter(primary, active)
};
});
};

YaMetrika.prototype.send = function send(event) {


var _this2 = this;

if (!this.enabled) return false;

var url = this.url + [event.category, event.action,


event.label].join('/').replace(/\s/g, '_').toLowerCase();

var params = _extends({}, event.params, {


clientId: String(this.parent.clientId),
computerId: String(this.parent.computerId),
experimentNumber: this.parent.experiment,
language: this.parent.lang
});

return this.loaded.then(function () {
var _counters = _this2.counters,
shared = _counters.shared,
primary = _counters.primary;

_this2.logger.debug('Send event: ' + event.action, { event: event, url: url,


params: params }, 'send');
return Promise.all([_this2._sendHit(shared, url, params),
_this2._sendHit(primary, url, params)]);
});
};

YaMetrika.prototype._sendHit = function _sendHit(counter, url, params) {


return counter ? new Promise(function (resolve) {
counter.hit(url, {
title: document.title,
referer: null,
params: params,
callback: function callback() {
return resolve();
}
});
}) : false;
};
return YaMetrika;
}();

exports['default'] = YaMetrika;
module.exports = exports['default'];

/***/ }),
/* 137 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.ParseCMD = undefined;

var _utils = __webpack_require__(44);

var ParseCMD = exports.ParseCMD = function ParseCMD(cmd) {


var args = (0, _utils.ParseCMDString)(cmd);
if (args.length > 2 && args[1] === '--sfx') {
var _args = args,
command = _args[0],

/* --sfx */sfxName = _args[2],


overwrite = _args.slice(3);

args = [command].concat((0, _utils.ParseSFXName)(sfxName));


overwrite.forEach(function (val, ind) {
if (val) args[ind + 1] = val;
});
}
return args;
};

/***/ }),
/* 138 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.waitForProcesses = exports.waitForPID = exports.setProcessPriority =
exports.killByPID = exports.getMyPID = exports.killProcess = undefined;

var _shell = __webpack_require__(13);

var _wmi = __webpack_require__(2);

var killProcess = exports.killProcess = function killProcess(commandLineLike) {


var processes = (0, _wmi.getWMIObjects)(['ProcessId'], 'Win32_Process', 'NAME =
"mshta.exe" AND CommandLine LIKE "' + commandLineLike + '"');
processes.forEach(function (_ref) {
var ProcessId = _ref.ProcessId;

_shell.WshShell.Run('cmd /c taskkill /f /t /pid ' + ProcessId, 0, true);


});
};

var getMyPID = exports.getMyPID = function getMyPID() {


var pid = void 0;
try {
var temp = _shell.WshShell.Exec('rundll32 kernel32,Sleep');
pid = (0, _wmi.getWMIObjects)(['ParentProcessId'], 'Win32_Process', 'Handle =
"' + temp.ProcessId + '"')[0].ParentProcessId;
temp.Terminate();
} catch (e) {}
return pid;
};

var killByPID = exports.killByPID = function killByPID(pid) {


var childs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
false;
var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
0;

setTimeout(function () {
var flags = ['/f'];
if (childs) flags.push('/t');
_shell.WshShell.Run('cmd /c "taskkill ' + flags.join(' ') + ' /pid ' + pid +
'"', 0, true);
}, timeout);
};

// default argument value is High Priority


var setProcessPriority = exports.setProcessPriority = function setProcessPriority()
{
var priority = arguments.length > 0 && arguments[0] !== undefined ?
arguments[0] : 128;

try {
var pid = getMyPID();
// TODO: Add method to receive WMI objects
var colItems = _wmi.objWMIService.ExecQuery('SELECT * FROM Win32_Process WHERE
Handle = ' + pid, 'WQL');
/* global Enumerator */
var enumItems = new Enumerator(colItems);
var objItem = enumItems.item();
objItem.SetPriority(priority);
} catch (e) {}
};

var waitForPID = exports.waitForPID = function waitForPID(pid) {


var query = 'SELECT * FROM Win32_Process WHERE ProcessId = ' + pid;
return new Promise(function (resolve) {
var intervId = setInterval(function () {
if (_wmi.objWMIService.ExecQuery(query, 'WQL').Count === 0) {
clearInterval(intervId);
resolve();
}
}, 300);
});
};

var waitForProcesses = exports.waitForProcesses = function waitForProcesses(where)


{
var promise = Promise.resolve();
var processes = (0, _wmi.getWMIObjects)(['ProcessId'], 'Win32_Process', where);
processes.forEach(function (_ref2) {
var ProcessId = _ref2.ProcessId;

promise = promise.then(function () {
return waitForPID(ProcessId);
});
});
return promise;
};

/***/ }),
/* 139 */
/***/ (function(module, exports, __webpack_require__) {

/**
* Expose `Emitter`.
*/

if (true) {
module.exports = Emitter;
}

/**
* Initialize a new `Emitter`.
*
* @api public
*/

function Emitter(obj) {
if (obj) return mixin(obj);
};

/**
* Mixin the emitter properties.
*
* @param {Object} obj
* @return {Object}
* @api private
*/

function mixin(obj) {
for (var key in Emitter.prototype) {
obj[key] = Emitter.prototype[key];
}
return obj;
}

/**
* Listen on the given `event` with `fn`.
*
* @param {String} event
* @param {Function} fn
* @return {Emitter}
* @api public
*/
Emitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) {
this._callbacks = this._callbacks || {};
(this._callbacks['$' + event] = this._callbacks['$' + event] || []).push(fn);
return this;
};

/**
* Adds an `event` listener that will be invoked a single
* time then automatically removed.
*
* @param {String} event
* @param {Function} fn
* @return {Emitter}
* @api public
*/

Emitter.prototype.once = function (event, fn) {


function on() {
this.off(event, on);
fn.apply(this, arguments);
}

on.fn = fn;
this.on(event, on);
return this;
};

/**
* Remove the given callback for `event` or all
* registered callbacks.
*
* @param {String} event
* @param {Function} fn
* @return {Emitter}
* @api public
*/

Emitter.prototype.off = Emitter.prototype.removeListener =
Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener =
function (event, fn) {
this._callbacks = this._callbacks || {};

// all
if (0 == arguments.length) {
this._callbacks = {};
return this;
}

// specific event
var callbacks = this._callbacks['$' + event];
if (!callbacks) return this;

// remove all handlers


if (1 == arguments.length) {
delete this._callbacks['$' + event];
return this;
}

// remove specific handler


var cb;
for (var i = 0; i < callbacks.length; i++) {
cb = callbacks[i];
if (cb === fn || cb.fn === fn) {
callbacks.splice(i, 1);
break;
}
}
return this;
};

/**
* Emit `event` with the given args.
*
* @param {String} event
* @param {Mixed} ...
* @return {Emitter}
*/

Emitter.prototype.emit = function (event) {


this._callbacks = this._callbacks || {};
var args = [].slice.call(arguments, 1),
callbacks = this._callbacks['$' + event];

if (callbacks) {
callbacks = callbacks.slice(0);
for (var i = 0, len = callbacks.length; i < len; ++i) {
callbacks[i].apply(this, args);
}
}

return this;
};

/**
* Return array of callbacks for `event`.
*
* @param {String} event
* @return {Array}
* @api public
*/

Emitter.prototype.listeners = function (event) {


this._callbacks = this._callbacks || {};
return this._callbacks['$' + event] || [];
};

/**
* Check if this emitter has `event` handlers.
*
* @param {String} event
* @return {Boolean}
* @api public
*/

Emitter.prototype.hasListeners = function (event) {


return !!this.listeners(event).length;
};
/***/ }),
/* 140 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)

var toObject = __webpack_require__(18),


toIndex = __webpack_require__(53),
toLength = __webpack_require__(16);
module.exports = function fill(value /*, start = 0, end = @length */) {
var O = toObject(this),
length = toLength(O.length),
aLen = arguments.length,
index = toIndex(aLen > 1 ? arguments[1] : undefined, length),
end = aLen > 2 ? arguments[2] : undefined,
endPos = end === undefined ? length : toIndex(end, length);
while (endPos > index) O[index++] = value;
return O;
};

/***/ }),
/* 141 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $defineProperty = __webpack_require__(12),


createDesc = __webpack_require__(46);

module.exports = function (object, index, value) {


if (index in object) $defineProperty.f(object, index, createDesc(0, value));else
object[index] = value;
};

/***/ }),
/* 142 */
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(9),


document = __webpack_require__(3).document
// in old IE typeof document.createElement is 'object'
,
is = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
return is ? document.createElement(it) : {};
};

/***/ }),
/* 143 */
/***/ (function(module, exports) {

// IE 8- don't enum bug keys


module.exports =
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toStr
ing,valueOf'.split(',');
/***/ }),
/* 144 */
/***/ (function(module, exports, __webpack_require__) {

var MATCH = __webpack_require__(10)('match');


module.exports = function (KEY) {
var re = /./;
try {
'/./'[KEY](re);
} catch (e) {
try {
re[MATCH] = false;
return !'/./'[KEY](re);
} catch (f) {/* empty */}
}return true;
};

/***/ }),
/* 145 */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(3).document && document.documentElement;

/***/ }),
/* 146 */
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(9),


setPrototypeOf = __webpack_require__(153).set;
module.exports = function (that, target, C) {
var P,
S = target.constructor;
if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype &&
isObject(P) && setPrototypeOf) {
setPrototypeOf(that, P);
}return that;
};

/***/ }),
/* 147 */
/***/ (function(module, exports, __webpack_require__) {

// check on default Array iterator


var Iterators = __webpack_require__(59),
ITERATOR = __webpack_require__(10)('iterator'),
ArrayProto = Array.prototype;

module.exports = function (it) {


return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] ===
it);
};

/***/ }),
/* 148 */
/***/ (function(module, exports, __webpack_require__) {

// 7.2.2 IsArray(argument)
var cof = __webpack_require__(31);
module.exports = Array.isArray || function isArray(arg) {
return cof(arg) == 'Array';
};

/***/ }),
/* 149 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var create = __webpack_require__(50),


descriptor = __webpack_require__(46),
setToStringTag = __webpack_require__(62),
IteratorPrototype = {};

// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
__webpack_require__(25)(IteratorPrototype, __webpack_require__(10)('iterator'),
function () {
return this;
});

module.exports = function (Constructor, NAME, next) {


Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
setToStringTag(Constructor, NAME + ' Iterator');
};

/***/ }),
/* 150 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var LIBRARY = __webpack_require__(49),


$export = __webpack_require__(0),
redefine = __webpack_require__(27),
hide = __webpack_require__(25),
has = __webpack_require__(22),
Iterators = __webpack_require__(59),
$iterCreate = __webpack_require__(149),
setToStringTag = __webpack_require__(62),
getPrototypeOf = __webpack_require__(39),
ITERATOR = __webpack_require__(10)('iterator'),
BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o
`next`
,
FF_ITERATOR = '@@iterator',
KEYS = 'keys',
VALUES = 'values';

var returnThis = function () {


return this;
};

module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED)


{
$iterCreate(Constructor, NAME, next);
var getMethod = function (kind) {
if (!BUGGY && kind in proto) return proto[kind];
switch (kind) {
case KEYS:
return function keys() {
return new Constructor(this, kind);
};
case VALUES:
return function values() {
return new Constructor(this, kind);
};
}return function entries() {
return new Constructor(this, kind);
};
};
var TAG = NAME + ' Iterator',
DEF_VALUES = DEFAULT == VALUES,
VALUES_BUG = false,
proto = Base.prototype,
$native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT],
$default = $native || getMethod(DEFAULT),
$entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') :
undefined,
$anyNative = NAME == 'Array' ? proto.entries || $native : $native,
methods,
key,
IteratorPrototype;
// Fix native
if ($anyNative) {
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
if (IteratorPrototype !== Object.prototype) {
// Set @@toStringTag to native iterators
setToStringTag(IteratorPrototype, TAG, true);
// fix for some old engines
if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype,
ITERATOR, returnThis);
}
}
// fix Array#{values, @@iterator}.name in V8 / FF
if (DEF_VALUES && $native && $native.name !== VALUES) {
VALUES_BUG = true;
$default = function values() {
return $native.call(this);
};
}
// Define iterator
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
hide(proto, ITERATOR, $default);
}
// Plug for library
Iterators[NAME] = $default;
Iterators[TAG] = returnThis;
if (DEFAULT) {
methods = {
values: DEF_VALUES ? $default : getMethod(VALUES),
keys: IS_SET ? $default : getMethod(KEYS),
entries: $entries
};
if (FORCED) for (key in methods) {
if (!(key in proto)) redefine(proto, key, methods[key]);
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
}
return methods;
};

/***/ }),
/* 151 */
/***/ (function(module, exports) {

// 20.2.2.14 Math.expm1(x)
var $expm1 = Math.expm1;
module.exports = !$expm1
// Old FF bug
|| $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
// Tor Browser bug
|| $expm1(-2e-17) != -2e-17 ? function expm1(x) {
return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) -
1;
} : $expm1;

/***/ }),
/* 152 */
/***/ (function(module, exports) {

// 20.2.2.28 Math.sign(x)
module.exports = Math.sign || function sign(x) {
return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
};

/***/ }),
/* 153 */
/***/ (function(module, exports, __webpack_require__) {

// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
var isObject = __webpack_require__(9),
anObject = __webpack_require__(8);
var check = function (O, proto) {
anObject(O);
if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as
prototype!");
};
module.exports = {
set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
function (test, buggy, set) {
try {
set = __webpack_require__(38)(Function.call,
__webpack_require__(26).f(Object.prototype, '__proto__').set, 2);
set(test, []);
buggy = !(test instanceof Array);
} catch (e) {
buggy = true;
}
return function setPrototypeOf(O, proto) {
check(O, proto);
if (buggy) O.__proto__ = proto;else set(O, proto);
return O;
};
}({}, false) : undefined),
check: check
};

/***/ }),
/* 154 */
/***/ (function(module, exports, __webpack_require__) {

var shared = __webpack_require__(155)('keys'),


uid = __webpack_require__(54);
module.exports = function (key) {
return shared[key] || (shared[key] = uid(key));
};

/***/ }),
/* 155 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3),


SHARED = '__core-js_shared__',
store = global[SHARED] || (global[SHARED] = {});
module.exports = function (key) {
return store[key] || (store[key] = {});
};

/***/ }),
/* 156 */
/***/ (function(module, exports, __webpack_require__) {

// 7.3.20 SpeciesConstructor(O, defaultConstructor)


var anObject = __webpack_require__(8),
aFunction = __webpack_require__(30),
SPECIES = __webpack_require__(10)('species');
module.exports = function (O, D) {
var C = anObject(O).constructor,
S;
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D :
aFunction(S);
};

/***/ }),
/* 157 */
/***/ (function(module, exports, __webpack_require__) {

var toInteger = __webpack_require__(47),


defined = __webpack_require__(32);
// true -> String#at
// false -> String#codePointAt
module.exports = function (TO_STRING) {
return function (that, pos) {
var s = String(defined(that)),
i = toInteger(pos),
l = s.length,
a,
b;
if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
a = s.charCodeAt(i);
return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) <
0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i +
2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
};
};

/***/ }),
/* 158 */
/***/ (function(module, exports, __webpack_require__) {

// helper for String#{startsWith, endsWith, includes}


var isRegExp = __webpack_require__(119),
defined = __webpack_require__(32);

module.exports = function (that, searchString, NAME) {


if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept
regex!");
return String(defined(that));
};

/***/ }),
/* 159 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var toInteger = __webpack_require__(47),


defined = __webpack_require__(32);

module.exports = function repeat(count) {


var str = String(defined(this)),
res = '',
n = toInteger(count);
if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
for (; n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;
return res;
};

/***/ }),
/* 160 */
/***/ (function(module, exports) {

module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003'
+ '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';

/***/ }),
/* 161 */
/***/ (function(module, exports, __webpack_require__) {

var ctx = __webpack_require__(38),


invoke = __webpack_require__(118),
html = __webpack_require__(145),
cel = __webpack_require__(142),
global = __webpack_require__(3),
process = global.process,
setTask = global.setImmediate,
clearTask = global.clearImmediate,
MessageChannel = global.MessageChannel,
counter = 0,
queue = {},
ONREADYSTATECHANGE = 'onreadystatechange',
defer,
channel,
port;
var run = function () {
var id = +this;
if (queue.hasOwnProperty(id)) {
var fn = queue[id];
delete queue[id];
fn();
}
};
var listener = function (event) {
run.call(event.data);
};
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
if (!setTask || !clearTask) {
setTask = function setImmediate(fn) {
var args = [],
i = 1;
while (arguments.length > i) args.push(arguments[i++]);
queue[++counter] = function () {
invoke(typeof fn == 'function' ? fn : Function(fn), args);
};
defer(counter);
return counter;
};
clearTask = function clearImmediate(id) {
delete queue[id];
};
// Node.js 0.8-
if (__webpack_require__(31)(process) == 'process') {
defer = function (id) {
process.nextTick(ctx(run, id, 1));
};
// Browsers with MessageChannel, includes WebWorkers
} else if (MessageChannel) {
channel = new MessageChannel();
port = channel.port2;
channel.port1.onmessage = listener;
defer = ctx(port.postMessage, port, 1);
// Browsers with postMessage, skip WebWorkers
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
} else if (global.addEventListener && typeof postMessage == 'function' && !
global.importScripts) {
defer = function (id) {
global.postMessage(id + '', '*');
};
global.addEventListener('message', listener, false);
// IE8-
} else if (ONREADYSTATECHANGE in cel('script')) {
defer = function (id) {
html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
html.removeChild(this);
run.call(id);
};
};
// Rest old browsers
} else {
defer = function (id) {
setTimeout(ctx(run, id, 1), 0);
};
}
}
module.exports = {
set: setTask,
clear: clearTask
};

/***/ }),
/* 162 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__(3),


DESCRIPTORS = __webpack_require__(11),
LIBRARY = __webpack_require__(49),
$typed = __webpack_require__(123),
hide = __webpack_require__(25),
redefineAll = __webpack_require__(75),
fails = __webpack_require__(5),
anInstance = __webpack_require__(71),
toInteger = __webpack_require__(47),
toLength = __webpack_require__(16),
gOPN = __webpack_require__(51).f,
dP = __webpack_require__(12).f,
arrayFill = __webpack_require__(140),
setToStringTag = __webpack_require__(62),
ARRAY_BUFFER = 'ArrayBuffer',
DATA_VIEW = 'DataView',
PROTOTYPE = 'prototype',
WRONG_LENGTH = 'Wrong length!',
WRONG_INDEX = 'Wrong index!',
$ArrayBuffer = global[ARRAY_BUFFER],
$DataView = global[DATA_VIEW],
Math = global.Math,
RangeError = global.RangeError,
Infinity = global.Infinity,
BaseBuffer = $ArrayBuffer,
abs = Math.abs,
pow = Math.pow,
floor = Math.floor,
log = Math.log,
LN2 = Math.LN2,
BUFFER = 'buffer',
BYTE_LENGTH = 'byteLength',
BYTE_OFFSET = 'byteOffset',
$BUFFER = DESCRIPTORS ? '_b' : BUFFER,
$LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH,
$OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;

// IEEE754 conversions based on https://github.com/feross/ieee754


var packIEEE754 = function (value, mLen, nBytes) {
var buffer = Array(nBytes),
eLen = nBytes * 8 - mLen - 1,
eMax = (1 << eLen) - 1,
eBias = eMax >> 1,
rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0,
i = 0,
s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0,
e,
m,
c;
value = abs(value);
if (value != value || value === Infinity) {
m = value != value ? 1 : 0;
e = eMax;
} else {
e = floor(log(value) / LN2);
if (value * (c = pow(2, -e)) < 1) {
e--;
c *= 2;
}
if (e + eBias >= 1) {
value += rt / c;
} else {
value += rt * pow(2, 1 - eBias);
}
if (value * c >= 2) {
e++;
c /= 2;
}
if (e + eBias >= eMax) {
m = 0;
e = eMax;
} else if (e + eBias >= 1) {
m = (value * c - 1) * pow(2, mLen);
e = e + eBias;
} else {
m = value * pow(2, eBias - 1) * pow(2, mLen);
e = 0;
}
}
for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);
e = e << mLen | m;
eLen += mLen;
for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);
buffer[--i] |= s * 128;
return buffer;
};
var unpackIEEE754 = function (buffer, mLen, nBytes) {
var eLen = nBytes * 8 - mLen - 1,
eMax = (1 << eLen) - 1,
eBias = eMax >> 1,
nBits = eLen - 7,
i = nBytes - 1,
s = buffer[i--],
e = s & 127,
m;
s >>= 7;
for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);
m = e & (1 << -nBits) - 1;
e >>= -nBits;
nBits += mLen;
for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);
if (e === 0) {
e = 1 - eBias;
} else if (e === eMax) {
return m ? NaN : s ? -Infinity : Infinity;
} else {
m = m + pow(2, mLen);
e = e - eBias;
}return (s ? -1 : 1) * m * pow(2, e - mLen);
};

var unpackI32 = function (bytes) {


return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
};
var packI8 = function (it) {
return [it & 0xff];
};
var packI16 = function (it) {
return [it & 0xff, it >> 8 & 0xff];
};
var packI32 = function (it) {
return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
};
var packF64 = function (it) {
return packIEEE754(it, 52, 8);
};
var packF32 = function (it) {
return packIEEE754(it, 23, 4);
};

var addGetter = function (C, key, internal) {


dP(C[PROTOTYPE], key, { get: function () {
return this[internal];
} });
};

var get = function (view, bytes, index, isLittleEndian) {


var numIndex = +index,
intIndex = toInteger(numIndex);
if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])
throw RangeError(WRONG_INDEX);
var store = view[$BUFFER]._b,
start = intIndex + view[$OFFSET],
pack = store.slice(start, start + bytes);
return isLittleEndian ? pack : pack.reverse();
};
var set = function (view, bytes, index, conversion, value, isLittleEndian) {
var numIndex = +index,
intIndex = toInteger(numIndex);
if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])
throw RangeError(WRONG_INDEX);
var store = view[$BUFFER]._b,
start = intIndex + view[$OFFSET],
pack = conversion(+value);
for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i :
bytes - i - 1];
};

var validateArrayBufferArguments = function (that, length) {


anInstance(that, $ArrayBuffer, ARRAY_BUFFER);
var numberLength = +length,
byteLength = toLength(numberLength);
if (numberLength != byteLength) throw RangeError(WRONG_LENGTH);
return byteLength;
};

if (!$typed.ABV) {
$ArrayBuffer = function ArrayBuffer(length) {
var byteLength = validateArrayBufferArguments(this, length);
this._b = arrayFill.call(Array(byteLength), 0);
this[$LENGTH] = byteLength;
};

$DataView = function DataView(buffer, byteOffset, byteLength) {


anInstance(this, $DataView, DATA_VIEW);
anInstance(buffer, $ArrayBuffer, DATA_VIEW);
var bufferLength = buffer[$LENGTH],
offset = toInteger(byteOffset);
if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');
byteLength = byteLength === undefined ? bufferLength - offset :
toLength(byteLength);
if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
this[$BUFFER] = buffer;
this[$OFFSET] = offset;
this[$LENGTH] = byteLength;
};

if (DESCRIPTORS) {
addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
addGetter($DataView, BUFFER, '_b');
addGetter($DataView, BYTE_LENGTH, '_l');
addGetter($DataView, BYTE_OFFSET, '_o');
}

redefineAll($DataView[PROTOTYPE], {
getInt8: function getInt8(byteOffset) {
return get(this, 1, byteOffset)[0] << 24 >> 24;
},
getUint8: function getUint8(byteOffset) {
return get(this, 1, byteOffset)[0];
},
getInt16: function getInt16(byteOffset /*, littleEndian */) {
var bytes = get(this, 2, byteOffset, arguments[1]);
return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
},
getUint16: function getUint16(byteOffset /*, littleEndian */) {
var bytes = get(this, 2, byteOffset, arguments[1]);
return bytes[1] << 8 | bytes[0];
},
getInt32: function getInt32(byteOffset /*, littleEndian */) {
return unpackI32(get(this, 4, byteOffset, arguments[1]));
},
getUint32: function getUint32(byteOffset /*, littleEndian */) {
return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
},
getFloat32: function getFloat32(byteOffset /*, littleEndian */) {
return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
},
getFloat64: function getFloat64(byteOffset /*, littleEndian */) {
return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
},
setInt8: function setInt8(byteOffset, value) {
set(this, 1, byteOffset, packI8, value);
},
setUint8: function setUint8(byteOffset, value) {
set(this, 1, byteOffset, packI8, value);
},
setInt16: function setInt16(byteOffset, value /*, littleEndian */) {
set(this, 2, byteOffset, packI16, value, arguments[2]);
},
setUint16: function setUint16(byteOffset, value /*, littleEndian */) {
set(this, 2, byteOffset, packI16, value, arguments[2]);
},
setInt32: function setInt32(byteOffset, value /*, littleEndian */) {
set(this, 4, byteOffset, packI32, value, arguments[2]);
},
setUint32: function setUint32(byteOffset, value /*, littleEndian */) {
set(this, 4, byteOffset, packI32, value, arguments[2]);
},
setFloat32: function setFloat32(byteOffset, value /*, littleEndian */) {
set(this, 4, byteOffset, packF32, value, arguments[2]);
},
setFloat64: function setFloat64(byteOffset, value /*, littleEndian */) {
set(this, 8, byteOffset, packF64, value, arguments[2]);
}
});
} else {
if (!fails(function () {
new $ArrayBuffer(); // eslint-disable-line no-new
}) || !fails(function () {
new $ArrayBuffer(.5); // eslint-disable-line no-new
})) {
$ArrayBuffer = function ArrayBuffer(length) {
return new BaseBuffer(validateArrayBufferArguments(this, length));
};
var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {
if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key,
BaseBuffer[key]);
};
if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;
}
// iOS Safari 7.x bug
var view = new $DataView(new $ArrayBuffer(2)),
$setInt8 = $DataView[PROTOTYPE].setInt8;
view.setInt8(0, 2147483648);
view.setInt8(1, 2147483649);
if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {
setInt8: function setInt8(byteOffset, value) {
$setInt8.call(this, byteOffset, value << 24 >> 24);
},
setUint8: function setUint8(byteOffset, value) {
$setInt8.call(this, byteOffset, value << 24 >> 24);
}
}, true);
}
setToStringTag($ArrayBuffer, ARRAY_BUFFER);
setToStringTag($DataView, DATA_VIEW);
hide($DataView[PROTOTYPE], $typed.VIEW, true);
exports[ARRAY_BUFFER] = $ArrayBuffer;
exports[DATA_VIEW] = $DataView;

/***/ }),
/* 163 */
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__(72),


ITERATOR = __webpack_require__(10)('iterator'),
Iterators = __webpack_require__(59);
module.exports = __webpack_require__(58).getIteratorMethod = function (it) {
if (it != undefined) return it[ITERATOR] || it['@@iterator'] ||
Iterators[classof(it)];
};

/***/ }),
/* 164 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var addToUnscopables = __webpack_require__(57),


step = __webpack_require__(190),
Iterators = __webpack_require__(59),
toIObject = __webpack_require__(24);

// 22.1.3.4 Array.prototype.entries()
// 22.1.3.13 Array.prototype.keys()
// 22.1.3.29 Array.prototype.values()
// 22.1.3.30 Array.prototype[@@iterator]()
module.exports = __webpack_require__(150)(Array, 'Array', function (iterated, kind)
{
this._t = toIObject(iterated); // target
this._i = 0; // next index
this._k = kind; // kind
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
}, function () {
var O = this._t,
kind = this._k,
index = this._i++;
if (!O || index >= O.length) {
this._t = undefined;
return step(1);
}
if (kind == 'keys') return step(0, index);
if (kind == 'values') return step(0, O[index]);
return step(0, [index, O[index]]);
}, 'values');

// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)


Iterators.Arguments = Iterators.Array;

addToUnscopables('keys');
addToUnscopables('values');
addToUnscopables('entries');

/***/ }),
/* 165 */,
/* 166 */,
/* 167 */
/***/ (function(module, exports) {

/**
* Reduce `arr` with `fn`.
*
* @param {Array} arr
* @param {Function} fn
* @param {Mixed} initial
*
* TODO: combatible error handling?
*/

module.exports = function (arr, fn, initial) {


var idx = 0;
var len = arr.length;
var curr = arguments.length == 3 ? initial : arr[idx++];

while (idx < len) {


curr = fn.call(null, curr, arr[idx], ++idx, arr);
}

return curr;
};

/***/ }),
/* 168 */
/***/ (function(module, exports, __webpack_require__) {

/**
* Module dependencies.
*/

var Emitter = __webpack_require__(139);


var reduce = __webpack_require__(167);

/**
* Root reference for iframes.
*/

var root;
if (typeof window !== 'undefined') {
// Browser window
root = window;
} else if (typeof self !== 'undefined') {
// Web Worker
root = self;
} else {
// Other environments
root = this;
}

/**
* Noop.
*/

function noop() {};


/**
* Check if `obj` is a host object,
* we don't want to serialize these :)
*
* TODO: future proof, move to compoent land
*
* @param {Object} obj
* @return {Boolean}
* @api private
*/

function isHost(obj) {
var str = {}.toString.call(obj);

switch (str) {
case '[object File]':
case '[object Blob]':
case '[object FormData]':
return true;
default:
return false;
}
}

/**
* Determine XHR.
*/

request.getXHR = function () {
if (root.XMLHttpRequest && (!root.location || 'file:' != root.location.protocol
|| !root.ActiveXObject)) {
return new XMLHttpRequest();
} else {
try {
return new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {}
try {
return new ActiveXObject('Msxml2.XMLHTTP.6.0');
} catch (e) {}
try {
return new ActiveXObject('Msxml2.XMLHTTP.3.0');
} catch (e) {}
try {
return new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {}
}
return false;
};

/**
* Removes leading and trailing whitespace, added to support IE.
*
* @param {String} s
* @return {String}
* @api private
*/

var trim = ''.trim ? function (s) {


return s.trim();
} : function (s) {
return s.replace(/(^\s*|\s*$)/g, '');
};

/**
* Check if `obj` is an object.
*
* @param {Object} obj
* @return {Boolean}
* @api private
*/

function isObject(obj) {
return obj === Object(obj);
}

/**
* Serialize the given `obj`.
*
* @param {Object} obj
* @return {String}
* @api private
*/

function serialize(obj) {
if (!isObject(obj)) return obj;
var pairs = [];
for (var key in obj) {
if (null != obj[key]) {
pushEncodedKeyValuePair(pairs, key, obj[key]);
}
}
return pairs.join('&');
}

/**
* Helps 'serialize' with serializing arrays.
* Mutates the pairs array.
*
* @param {Array} pairs
* @param {String} key
* @param {Mixed} val
*/

function pushEncodedKeyValuePair(pairs, key, val) {


if (Array.isArray(val)) {
return val.forEach(function (v) {
pushEncodedKeyValuePair(pairs, key, v);
});
}
pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(val));
}

/**
* Expose serialization method.
*/

request.serializeObject = serialize;
/**
* Parse the given x-www-form-urlencoded `str`.
*
* @param {String} str
* @return {Object}
* @api private
*/

function parseString(str) {
var obj = {};
var pairs = str.split('&');
var parts;
var pair;

for (var i = 0, len = pairs.length; i < len; ++i) {


pair = pairs[i];
parts = pair.split('=');
obj[decodeURIComponent(parts[0])] = decodeURIComponent(parts[1]);
}

return obj;
}

/**
* Expose parser.
*/

request.parseString = parseString;

/**
* Default MIME type map.
*
* superagent.types.xml = 'application/xml';
*
*/

request.types = {
html: 'text/html',
json: 'application/json',
xml: 'application/xml',
urlencoded: 'application/x-www-form-urlencoded',
'form': 'application/x-www-form-urlencoded',
'form-data': 'application/x-www-form-urlencoded'
};

/**
* Default serialization map.
*
* superagent.serialize['application/xml'] = function(obj){
* return 'generated xml here';
* };
*
*/

request.serialize = {
'application/x-www-form-urlencoded': serialize,
'application/json': JSON.stringify
};
/**
* Default parsers.
*
* superagent.parse['application/xml'] = function(str){
* return { object parsed from str };
* };
*
*/

request.parse = {
'application/x-www-form-urlencoded': parseString,
'application/json': JSON.parse
};

/**
* Parse the given header `str` into
* an object containing the mapped fields.
*
* @param {String} str
* @return {Object}
* @api private
*/

function parseHeader(str) {
var lines = str.split(/\r?\n/);
var fields = {};
var index;
var line;
var field;
var val;

lines.pop(); // trailing CRLF

for (var i = 0, len = lines.length; i < len; ++i) {


line = lines[i];
index = line.indexOf(':');
field = line.slice(0, index).toLowerCase();
val = trim(line.slice(index + 1));
fields[field] = val;
}

return fields;
}

/**
* Check if `mime` is json or has +json structured syntax suffix.
*
* @param {String} mime
* @return {Boolean}
* @api private
*/

function isJSON(mime) {
return (/[\/+]json\b/.test(mime)
);
}

/**
* Return the mime type for the given `str`.
*
* @param {String} str
* @return {String}
* @api private
*/

function type(str) {
return str.split(/ *; */).shift();
};

/**
* Return header field parameters.
*
* @param {String} str
* @return {Object}
* @api private
*/

function params(str) {
return reduce(str.split(/ *; */), function (obj, str) {
var parts = str.split(/ *= */),
key = parts.shift(),
val = parts.shift();

if (key && val) obj[key] = val;


return obj;
}, {});
};

/**
* Initialize a new `Response` with the given `xhr`.
*
* - set flags (.ok, .error, etc)
* - parse header
*
* Examples:
*
* Aliasing `superagent` as `request` is nice:
*
* request = superagent;
*
* We can use the promise-like API, or pass callbacks:
*
* request.get('/').end(function(res){});
* request.get('/', function(res){});
*
* Sending data can be chained:
*
* request
* .post('/user')
* .send({ name: 'tj' })
* .end(function(res){});
*
* Or passed to `.send()`:
*
* request
* .post('/user')
* .send({ name: 'tj' }, function(res){});
*
* Or passed to `.post()`:
*
* request
* .post('/user', { name: 'tj' })
* .end(function(res){});
*
* Or further reduced to a single call for simple cases:
*
* request
* .post('/user', { name: 'tj' }, function(res){});
*
* @param {XMLHTTPRequest} xhr
* @param {Object} options
* @api private
*/

function Response(req, options) {


options = options || {};
this.req = req;
this.xhr = this.req.xhr;
// responseText is accessible only if responseType is '' or 'text' and on older
browsers
this.text = this.req.method != 'HEAD' && (this.xhr.responseType === '' ||
this.xhr.responseType === 'text') || typeof this.xhr.responseType === 'undefined' ?
this.xhr.responseText : null;
this.statusText = this.req.xhr.statusText;
this.setStatusProperties(this.xhr.status);
this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders());
// getAllResponseHeaders sometimes falsely returns "" for CORS requests, but
// getResponseHeader still works. so we get content-type even if getting
// other headers fails.
this.header['content-type'] = this.xhr.getResponseHeader('content-type');
this.setHeaderProperties(this.header);
this.body = this.req.method != 'HEAD' ? this.parseBody(this.text ? this.text :
this.xhr.response) : null;
}

/**
* Get case-insensitive `field` value.
*
* @param {String} field
* @return {String}
* @api public
*/

Response.prototype.get = function (field) {


return this.header[field.toLowerCase()];
};

/**
* Set header related properties:
*
* - `.type` the content type without params
*
* A response of "Content-Type: text/plain; charset=utf-8"
* will provide you with a `.type` of "text/plain".
*
* @param {Object} header
* @api private
*/

Response.prototype.setHeaderProperties = function (header) {


// content-type
var ct = this.header['content-type'] || '';
this.type = type(ct);

// params
var obj = params(ct);
for (var key in obj) this[key] = obj[key];
};

/**
* Parse the given body `str`.
*
* Used for auto-parsing of bodies. Parsers
* are defined on the `superagent.parse` object.
*
* @param {String} str
* @return {Mixed}
* @api private
*/

Response.prototype.parseBody = function (str) {


var parse = request.parse[this.type];
return parse && str && (str.length || str instanceof Object) ? parse(str) : null;
};

/**
* Set flags such as `.ok` based on `status`.
*
* For example a 2xx response will give you a `.ok` of __true__
* whereas 5xx will be __false__ and `.error` will be __true__. The
* `.clientError` and `.serverError` are also available to be more
* specific, and `.statusType` is the class of error ranging from 1..5
* sometimes useful for mapping respond colors etc.
*
* "sugar" properties are also defined for common cases. Currently providing:
*
* - .noContent
* - .badRequest
* - .unauthorized
* - .notAcceptable
* - .notFound
*
* @param {Number} status
* @api private
*/

Response.prototype.setStatusProperties = function (status) {


// handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-
status-code-of-1223-for-ajax-request
if (status === 1223) {
status = 204;
}

var type = status / 100 | 0;

// status / class
this.status = this.statusCode = status;
this.statusType = type;

// basics
this.info = 1 == type;
this.ok = 2 == type;
this.clientError = 4 == type;
this.serverError = 5 == type;
this.error = 4 == type || 5 == type ? this.toError() : false;

// sugar
this.accepted = 202 == status;
this.noContent = 204 == status;
this.badRequest = 400 == status;
this.unauthorized = 401 == status;
this.notAcceptable = 406 == status;
this.notFound = 404 == status;
this.forbidden = 403 == status;
};

/**
* Return an `Error` representative of this response.
*
* @return {Error}
* @api public
*/

Response.prototype.toError = function () {
var req = this.req;
var method = req.method;
var url = req.url;

var msg = 'cannot ' + method + ' ' + url + ' (' + this.status + ')';
var err = new Error(msg);
err.status = this.status;
err.method = method;
err.url = url;

return err;
};

/**
* Expose `Response`.
*/

request.Response = Response;

/**
* Initialize a new `Request` with the given `method` and `url`.
*
* @param {String} method
* @param {String} url
* @api public
*/

function Request(method, url) {


var self = this;
Emitter.call(this);
this._query = this._query || [];
this.method = method;
this.url = url;
this.header = {};
this._header = {};
this.on('end', function () {
var err = null;
var res = null;

try {
res = new Response(self);
} catch (e) {
err = new Error('Parser is unable to parse the response');
err.parse = true;
err.original = e;
// issue #675: return the raw response if the response parsing fails
err.rawResponse = self.xhr && self.xhr.responseText ? self.xhr.responseText :
null;
return self.callback(err);
}

self.emit('response', res);

if (err) {
return self.callback(err, res);
}

if (res.status >= 200 && res.status < 300) {


return self.callback(err, res);
}

var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');


new_err.original = err;
new_err.response = res;
new_err.status = res.status;

self.callback(new_err, res);
});
}

/**
* Mixin `Emitter`.
*/

Emitter(Request.prototype);

/**
* Allow for extension
*/

Request.prototype.use = function (fn) {


fn(this);
return this;
};

/**
* Set timeout to `ms`.
*
* @param {Number} ms
* @return {Request} for chaining
* @api public
*/

Request.prototype.timeout = function (ms) {


this._timeout = ms;
return this;
};

/**
* Clear previous timeout.
*
* @return {Request} for chaining
* @api public
*/

Request.prototype.clearTimeout = function () {
this._timeout = 0;
clearTimeout(this._timer);
return this;
};

/**
* Abort the request, and clear potential timeout.
*
* @return {Request}
* @api public
*/

Request.prototype.abort = function () {
if (this.aborted) return;
this.aborted = true;
this.xhr.abort();
this.clearTimeout();
this.emit('abort');
return this;
};

/**
* Set header `field` to `val`, or multiple fields with one object.
*
* Examples:
*
* req.get('/')
* .set('Accept', 'application/json')
* .set('X-API-Key', 'foobar')
* .end(callback);
*
* req.get('/')
* .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })
* .end(callback);
*
* @param {String|Object} field
* @param {String} val
* @return {Request} for chaining
* @api public
*/

Request.prototype.set = function (field, val) {


if (isObject(field)) {
for (var key in field) {
this.set(key, field[key]);
}
return this;
}
this._header[field.toLowerCase()] = val;
this.header[field] = val;
return this;
};

/**
* Remove header `field`.
*
* Example:
*
* req.get('/')
* .unset('User-Agent')
* .end(callback);
*
* @param {String} field
* @return {Request} for chaining
* @api public
*/

Request.prototype.unset = function (field) {


delete this._header[field.toLowerCase()];
delete this.header[field];
return this;
};

/**
* Get case-insensitive header `field` value.
*
* @param {String} field
* @return {String}
* @api private
*/

Request.prototype.getHeader = function (field) {


return this._header[field.toLowerCase()];
};

/**
* Set Content-Type to `type`, mapping values from `request.types`.
*
* Examples:
*
* superagent.types.xml = 'application/xml';
*
* request.post('/')
* .type('xml')
* .send(xmlstring)
* .end(callback);
*
* request.post('/')
* .type('application/xml')
* .send(xmlstring)
* .end(callback);
*
* @param {String} type
* @return {Request} for chaining
* @api public
*/

Request.prototype.type = function (type) {


this.set('Content-Type', request.types[type] || type);
return this;
};

/**
* Force given parser
*
* Sets the body parser no matter type.
*
* @param {Function}
* @api public
*/

Request.prototype.parse = function (fn) {


this._parser = fn;
return this;
};

/**
* Set Accept to `type`, mapping values from `request.types`.
*
* Examples:
*
* superagent.types.json = 'application/json';
*
* request.get('/agent')
* .accept('json')
* .end(callback);
*
* request.get('/agent')
* .accept('application/json')
* .end(callback);
*
* @param {String} accept
* @return {Request} for chaining
* @api public
*/

Request.prototype.accept = function (type) {


this.set('Accept', request.types[type] || type);
return this;
};

/**
* Set Authorization field value with `user` and `pass`.
*
* @param {String} user
* @param {String} pass
* @return {Request} for chaining
* @api public
*/

Request.prototype.auth = function (user, pass) {


var str = btoa(user + ':' + pass);
this.set('Authorization', 'Basic ' + str);
return this;
};

/**
* Add query-string `val`.
*
* Examples:
*
* request.get('/shoes')
* .query('size=10')
* .query({ color: 'blue' })
*
* @param {Object|String} val
* @return {Request} for chaining
* @api public
*/

Request.prototype.query = function (val) {


if ('string' != typeof val) val = serialize(val);
if (val) this._query.push(val);
return this;
};

/**
* Write the field `name` and `val` for "multipart/form-data"
* request bodies.
*
* ``` js
* request.post('/upload')
* .field('foo', 'bar')
* .end(callback);
* ```
*
* @param {String} name
* @param {String|Blob|File} val
* @return {Request} for chaining
* @api public
*/

Request.prototype.field = function (name, val) {


if (!this._formData) this._formData = new root.FormData();
this._formData.append(name, val);
return this;
};

/**
* Queue the given `file` as an attachment to the specified `field`,
* with optional `filename`.
*
* ``` js
* request.post('/upload')
* .attach(new Blob(['<a id="a"><b id="b">hey!</b></a>'], { type: "text/html"}))
* .end(callback);
* ```
*
* @param {String} field
* @param {Blob|File} file
* @param {String} filename
* @return {Request} for chaining
* @api public
*/

Request.prototype.attach = function (field, file, filename) {


if (!this._formData) this._formData = new root.FormData();
this._formData.append(field, file, filename || file.name);
return this;
};

/**
* Send `data` as the request body, defaulting the `.type()` to "json" when
* an object is given.
*
* Examples:
*
* // manual json
* request.post('/user')
* .type('json')
* .send('{"name":"tj"}')
* .end(callback)
*
* // auto json
* request.post('/user')
* .send({ name: 'tj' })
* .end(callback)
*
* // manual x-www-form-urlencoded
* request.post('/user')
* .type('form')
* .send('name=tj')
* .end(callback)
*
* // auto x-www-form-urlencoded
* request.post('/user')
* .type('form')
* .send({ name: 'tj' })
* .end(callback)
*
* // defaults to x-www-form-urlencoded
* request.post('/user')
* .send('name=tobi')
* .send('species=ferret')
* .end(callback)
*
* @param {String|Object} data
* @return {Request} for chaining
* @api public
*/

Request.prototype.send = function (data) {


var obj = isObject(data);
var type = this.getHeader('Content-Type');

// merge
if (obj && isObject(this._data)) {
for (var key in data) {
this._data[key] = data[key];
}
} else if ('string' == typeof data) {
if (!type) this.type('form');
type = this.getHeader('Content-Type');
if ('application/x-www-form-urlencoded' == type) {
this._data = this._data ? this._data + '&' + data : data;
} else {
this._data = (this._data || '') + data;
}
} else {
this._data = data;
}

if (!obj || isHost(data)) return this;


if (!type) this.type('json');
return this;
};

/**
* Invoke the callback with `err` and `res`
* and handle arity check.
*
* @param {Error} err
* @param {Response} res
* @api private
*/

Request.prototype.callback = function (err, res) {


var fn = this._callback;
this.clearTimeout();
fn(err, res);
};

/**
* Invoke callback with x-domain error.
*
* @api private
*/

Request.prototype.crossDomainError = function () {
var err = new Error('Request has been terminated\nPossible causes: the network is
offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being
unloaded, etc.');
err.crossDomain = true;

err.status = this.status;
err.method = this.method;
err.url = this.url;

this.callback(err);
};

/**
* Invoke callback with timeout error.
*
* @api private
*/

Request.prototype.timeoutError = function () {
var timeout = this._timeout;
var err = new Error('timeout of ' + timeout + 'ms exceeded');
err.timeout = timeout;
this.callback(err);
};

/**
* Enable transmission of cookies with x-domain requests.
*
* Note that for this to work the origin must not be
* using "Access-Control-Allow-Origin" with a wildcard,
* and also must set "Access-Control-Allow-Credentials"
* to "true".
*
* @api public
*/

Request.prototype.withCredentials = function () {
this._withCredentials = true;
return this;
};

/**
* Initiate request, invoking callback `fn(res)`
* with an instanceof `Response`.
*
* @param {Function} fn
* @return {Request} for chaining
* @api public
*/

Request.prototype.end = function (fn) {


var self = this;
var xhr = this.xhr = request.getXHR();
var query = this._query.join('&');
var timeout = this._timeout;
var data = this._formData || this._data;

// store callback
this._callback = fn || noop;

// state change
xhr.onreadystatechange = function () {
if (4 != xhr.readyState) return;

// In IE9, reads to any property (e.g. status) off of an aborted XHR will
// result in the error "Could not complete the operation due to error c00c023f"
var status;
try {
status = xhr.status;
} catch (e) {
status = 0;
}

if (0 == status) {
if (self.timedout) return self.timeoutError();
if (self.aborted) return;
return self.crossDomainError();
}
self.emit('end');
};

// progress
var handleProgress = function (e) {
if (e.total > 0) {
e.percent = e.loaded / e.total * 100;
}
e.direction = 'download';
self.emit('progress', e);
};
if (this.hasListeners('progress')) {
xhr.onprogress = handleProgress;
}
try {
if (xhr.upload && this.hasListeners('progress')) {
xhr.upload.onprogress = handleProgress;
}
} catch (e) {}
// Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't
exist.
// Reported here:
// https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-
upload-throws-invalid-argument-when-used-from-web-worker-context

// timeout
if (timeout && !this._timer) {
this._timer = setTimeout(function () {
self.timedout = true;
self.abort();
}, timeout);
}

// querystring
if (query) {
query = request.serializeObject(query);
this.url += ~this.url.indexOf('?') ? '&' + query : '?' + query;
}

// initiate request
xhr.open(this.method, this.url, true);

// CORS
if (this._withCredentials) xhr.withCredentials = true;

// body
if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !
isHost(data)) {
// serialize stuff
var contentType = this.getHeader('Content-Type');
var serialize = this._parser || request.serialize[contentType ?
contentType.split(';')[0] : ''];
if (!serialize && isJSON(contentType)) serialize =
request.serialize['application/json'];
if (serialize) data = serialize(data);
}

// set header fields


for (var field in this.header) {
if (null == this.header[field]) continue;
xhr.setRequestHeader(field, this.header[field]);
}

// send stuff
this.emit('request', this);

// IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of


nothing)
// We need null here if data is undefined
xhr.send(typeof data !== 'undefined' ? data : null);
return this;
};

/**
* Faux promise support
*
* @param {Function} fulfill
* @param {Function} reject
* @return {Request}
*/

Request.prototype.then = function (fulfill, reject) {


return this.end(function (err, res) {
err ? reject(err) : fulfill(res);
});
};

/**
* Expose `Request`.
*/

request.Request = Request;

/**
* Issue a request:
*
* Examples:
*
* request('GET', '/users').end(callback)
* request('/users').end(callback)
* request('/users', callback)
*
* @param {String} method
* @param {String|Function} url or callback
* @return {Request}
* @api public
*/

function request(method, url) {


// callback
if ('function' == typeof url) {
return new Request('GET', method).end(url);
}

// url first
if (1 == arguments.length) {
return new Request('GET', method);
}

return new Request(method, url);


}

/**
* GET `url` with optional callback `fn(res)`.
*
* @param {String} url
* @param {Mixed|Function} data or fn
* @param {Function} fn
* @return {Request}
* @api public
*/

request.get = function (url, data, fn) {


var req = request('GET', url);
if ('function' == typeof data) fn = data, data = null;
if (data) req.query(data);
if (fn) req.end(fn);
return req;
};

/**
* HEAD `url` with optional callback `fn(res)`.
*
* @param {String} url
* @param {Mixed|Function} data or fn
* @param {Function} fn
* @return {Request}
* @api public
*/

request.head = function (url, data, fn) {


var req = request('HEAD', url);
if ('function' == typeof data) fn = data, data = null;
if (data) req.send(data);
if (fn) req.end(fn);
return req;
};

/**
* DELETE `url` with optional callback `fn(res)`.
*
* @param {String} url
* @param {Function} fn
* @return {Request}
* @api public
*/

function del(url, fn) {


var req = request('DELETE', url);
if (fn) req.end(fn);
return req;
};

request['del'] = del;
request['delete'] = del;
/**
* PATCH `url` with optional `data` and callback `fn(res)`.
*
* @param {String} url
* @param {Mixed} data
* @param {Function} fn
* @return {Request}
* @api public
*/

request.patch = function (url, data, fn) {


var req = request('PATCH', url);
if ('function' == typeof data) fn = data, data = null;
if (data) req.send(data);
if (fn) req.end(fn);
return req;
};

/**
* POST `url` with optional `data` and callback `fn(res)`.
*
* @param {String} url
* @param {Mixed} data
* @param {Function} fn
* @return {Request}
* @api public
*/

request.post = function (url, data, fn) {


var req = request('POST', url);
if ('function' == typeof data) fn = data, data = null;
if (data) req.send(data);
if (fn) req.end(fn);
return req;
};

/**
* PUT `url` with optional `data` and callback `fn(res)`.
*
* @param {String} url
* @param {Mixed|Function} data or fn
* @param {Function} fn
* @return {Request}
* @api public
*/

request.put = function (url, data, fn) {


var req = request('PUT', url);
if ('function' == typeof data) fn = data, data = null;
if (data) req.send(data);
if (fn) req.end(fn);
return req;
};

/**
* Expose `request`.
*/

module.exports = request;
/***/ }),
/* 169 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.startCommand = exports.goToUrl = exports.timeout = exports.ParseArgs =
undefined;

var _system = __webpack_require__(1);

var _utils = __webpack_require__(44);

var ParseArgs = exports.ParseArgs = function ParseArgs(args) {


var key = null;
var res = { _: [] };
args.forEach(function (arg) {
var m = arg.match(/^--(.+)/);
if (m) {
key = m[1];
res[key] = true;
} else {
if (key) {
res[key] = arg;
key = null;
} else {
res._.push(arg);
}
}
});
return res;
};

var timeout = exports.timeout = function timeout(delay) {


return new Promise(function (resolve) {
setTimeout(resolve, delay);
});
};

var goToUrl = exports.goToUrl = function goToUrl(url) {


try {
var HKCU = 'HKCU\\SOFTWARE\\Clients\\StartMenuInternet\\';
var HKLM = 'HKLM\\SOFTWARE\\Clients\\StartMenuInternet\\';
var defBrowser = (0, _system.RegRead)(HKCU) || (0, _system.RegRead)(HKLM);
var cmd = (0, _system.RegRead)(HKLM + defBrowser + '\\shell\\open\\command\\');
if (cmd) {
cmd = cmd.replace(/"/ig, '');
_system.WshShell.Run('"' + cmd + '" "' + url + '"', 1, false);
} else {
window.open(url);
}
} catch (e) {
_system.WshShell.Run('rundll32 url.dll,FileProtocolHandler ' + url, 1, false);
}
return false;
};
var startCommand = exports.startCommand = function startCommand(command) {
var wrappedCommand = (0, _utils.wrapInCmd)(command);
_system.WshShell.Run(wrappedCommand, 0, false);
};

/***/ }),
/* 170 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.sendRequest = undefined;

var _system = __webpack_require__(1);

var sendRequest = exports.sendRequest = function sendRequest(url, callback) {


var req = (0, _system.getXMLHttp)();
if (req) {
req.open('GET', url, true);
req.onreadystatechange = function () {
if (req.readyState === 4) {
if (req.status === 200) {
callback(req.responseText);
}
}
};
req.send();
}
};

/***/ }),
/* 171 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.getInstallationDate = exports.runFromNewPlace =
exports.updateApplicationFiles = exports.fixUninstallRegistryKey =
exports.copyAppFiles = exports.removeAppFolder = exports.isRunFromProgramFiles =
exports.isRunFromInstalled = undefined;

var _config = __webpack_require__(6);

var _system = __webpack_require__(1);

var _paths = __webpack_require__(55);

var _fso = __webpack_require__(78);

var isRunFromInstalled = exports.isRunFromInstalled = function isRunFromInstalled()


{
return _system.WshShell.CurrentDirectory.indexOf(_paths.AppPathRoot) !== -1;
};
var isRunFromProgramFiles = exports.isRunFromProgramFiles = function
isRunFromProgramFiles() {
return _system.WshShell.CurrentDirectory.indexOf(_paths.ProgramFiles) !== -1;
};

var removeAppFolder = exports.removeAppFolder = function removeAppFolder() {


var delay = 'ping 127.0.0.1 -n 5';
var cmd = 'rd /S /Q "' + _paths.AppPathRoot + '" "' + _paths.AppPath + '\\bin"';
_system.WshShell.CurrentDirectory = _paths.ProgramFiles;
_system.WshShell.Run('cmd /c ' + cmd, 0, false);
_system.WshShell.Run('cmd /c ' + delay + ' && ' + cmd, 0, false);
_system.WshShell.Run('cmd /c del /S /Q /F "' + _paths.AppPath + '\\Icon.ico" "' +
_paths.AppPath + '\\DriverPackNotifier.exe" "' + _paths.AppPath +
'\\Uninstall.exe"', 0, false);
};

var copyAppFiles = exports.copyAppFiles = function copyAppFiles() {


if (!isRunFromInstalled()) {
// remove old folder
_system.WshShell.Run('cmd /c rd /S /Q "' + _paths.AppPathRoot + '"', 0, true);
_system.fso.CreateFolder(_paths.AppPathRoot);
var copyFrom =
_system.WshShell.CurrentDirectory.replace(/notifier\\bin[\s\S]*/, '');
copyFrom += 'notifier';
_system.WshShell.Run('xcopy "' + copyFrom + '" "' + _paths.AppPathRoot +
'\\" /S /E /Y /I', 0, false);
}
};

var fixUninstallRegistryKey = exports.fixUninstallRegistryKey = function


fixUninstallRegistryKey() {
try {

_system.WshShell.RegRead('HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Unins
tall\\');
} catch (e) {

_system.WshShell.RegWrite('HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Unin
stall\\', '');
}
};

var updateApplicationFiles = exports.updateApplicationFiles = function


updateApplicationFiles() {
var newApp = _paths.AppPath + '\\' + _config.application.AppExecutable;
// TODO: check application versions and download latest version
if (!_system.fso.FileExists(newApp)) {
(0, _fso.copyFiles)(_paths.AppPathRoot, _paths.AppPath, true);
}
};

var runFromNewPlace = exports.runFromNewPlace = function runFromNewPlace(runFrom) {


updateApplicationFiles();
var newApp = _paths.AppPath + '\\' + _config.application.AppExecutable;
var runKeys = '--relaunch true';
runKeys += runFrom ? ' --run ' + runFrom : '';
_system.WshShell.Run('"' + newApp + '" ' + runKeys, 1, true);
};
var getInstallationDate = exports.getInstallationDate = function
getInstallationDate() {
var uninstaller = _paths.AppPathRoot + '\\Uninstall.exe';
var fileObject = _system.fso.GetFile(uninstaller);
return fileObject.DateCreated;
};

/***/ }),
/* 172 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
var getTimeFromDate = exports.getTimeFromDate = function getTimeFromDate(d) {
return (d.getHours() < 10 ? '0' : '') + d.getHours() + ':' + (d.getMinutes() < 10
? '0' : '') + d.getMinutes() + ':' + (d.getSeconds() < 10 ? '0' : '') +
d.getSeconds();
};

var formatTime = exports.formatTime = function formatTime(time) {


var d = new Date();
var timeZoneOffset = -d.getTimezoneOffset();
return '********' + time.replace(/:/g, '') + '.000000' + (timeZoneOffset < 0 ?
timeZoneOffset : '+' + timeZoneOffset);
};

/***/ }),
/* 173 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports.objWMIServiceSC = undefined;

var _wmi = __webpack_require__(2);

var _flags = __webpack_require__(42);

var objWMIServiceSC = exports.objWMIServiceSC = _wmi.locator.ConnectServer(null,


'root\\SecurityCenter' + (!_flags.isOldOS ? '2' : ''));

/***/ }),
/* 174 */,
/* 175 */,
/* 176 */
/***/ (function(module, exports, __webpack_require__) {

var map = {
"./antivirus-notactive": 99,
"./antivirus-notactive.yaml": 99,
"./antivirus-notinstalled": 80,
"./antivirus-notinstalled.js": 80,
"./antivirus-notworking": 81,
"./antivirus-notworking.js": 81,
"./antivirus-working": 82,
"./antivirus-working.js": 82,
"./batterypoorcondition": 100,
"./batterypoorcondition.yaml": 100,
"./cloud-update": 101,
"./cloud-update.yaml": 101,
"./cpuloadaverage": 102,
"./cpuloadaverage.yaml": 102,
"./custdev-invite": 83,
"./custdev-invite.js": 83,
"./driverpack-drivers": 84,
"./driverpack-drivers.js": 84,
"./driverpack-new-program-harmful": 85,
"./driverpack-new-program-harmful.js": 85,
"./driverpack-new-program-neutral": 86,
"./driverpack-new-program-neutral.js": 86,
"./driverpack-new-program-useful": 87,
"./driverpack-new-program-useful.js": 87,
"./driverpack-protect": 88,
"./driverpack-protect.js": 88,
"./driverpack-wannacrypt-bad-rabbit": 89,
"./driverpack-wannacrypt-bad-rabbit.js": 89,
"./fileassociation": 90,
"./fileassociation.js": 90,
"./newbsod": 91,
"./newbsod.js": 91,
"./opera-vpn": 103,
"./opera-vpn.yaml": 103,
"./otherdrivesfreespace": 92,
"./otherdrivesfreespace.js": 92,
"./partnersoft": 95,
"./partnersoft-browser": 93,
"./partnersoft-browser.js": 93,
"./partnersoft-system": 94,
"./partnersoft-system.js": 94,
"./partnersoft.js": 95,
"./ramload": 104,
"./ramload.yaml": 104,
"./scheduler-uac": 105,
"./scheduler-uac.yaml": 105,
"./smartfailed": 96,
"./smartfailed.js": 96,
"./systemdrivefreespace": 97,
"./systemdrivefreespace.js": 97,
"./uninstall": 98,
"./uninstall.js": 98
};
function webpackContext(req) {
return __webpack_require__(webpackContextResolve(req));
};
function webpackContextResolve(req) {
var id = map[req];
if(!(id + 1)) // check for number or string
throw new Error("Cannot find module '" + req + "'.");
return id;
};
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 176;

/***/ }),
/* 177 */,
/* 178 */,
/* 179 */,
/* 180 */
/***/ (function(module, exports, __webpack_require__) {

var cof = __webpack_require__(31);


module.exports = function (it, msg) {
if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);
return +it;
};

/***/ }),
/* 181 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)

var toObject = __webpack_require__(18),


toIndex = __webpack_require__(53),
toLength = __webpack_require__(16);

module.exports = [].copyWithin || function copyWithin(target /*= 0*/, start /*= 0,


end = @length*/) {
var O = toObject(this),
len = toLength(O.length),
to = toIndex(target, len),
from = toIndex(start, len),
end = arguments.length > 2 ? arguments[2] : undefined,
count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len -
to),
inc = 1;
if (from < to && to < from + count) {
inc = -1;
from += count - 1;
to += count - 1;
}
while (count-- > 0) {
if (from in O) O[to] = O[from];else delete O[to];
to += inc;
from += inc;
}return O;
};

/***/ }),
/* 182 */
/***/ (function(module, exports, __webpack_require__) {

var aFunction = __webpack_require__(30),


toObject = __webpack_require__(18),
IObject = __webpack_require__(73),
toLength = __webpack_require__(16);
module.exports = function (that, callbackfn, aLen, memo, isRight) {
aFunction(callbackfn);
var O = toObject(that),
self = IObject(O),
length = toLength(O.length),
index = isRight ? length - 1 : 0,
i = isRight ? -1 : 1;
if (aLen < 2) for (;;) {
if (index in self) {
memo = self[index];
index += i;
break;
}
index += i;
if (isRight ? index < 0 : length <= index) {
throw TypeError('Reduce of empty array with no initial value');
}
}
for (; isRight ? index >= 0 : length > index; index += i) if (index in self) {
memo = callbackfn(memo, self[index], index, O);
}
return memo;
};

/***/ }),
/* 183 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aFunction = __webpack_require__(30),


isObject = __webpack_require__(9),
invoke = __webpack_require__(118),
arraySlice = [].slice,
factories = {};

var construct = function (F, len, args) {


if (!(len in factories)) {
for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';
factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
}return factories[len](F, args);
};

module.exports = Function.bind || function bind(that /*, args... */) {


var fn = aFunction(this),
partArgs = arraySlice.call(arguments, 1);
var bound = function () /* args... */{
var args = partArgs.concat(arraySlice.call(arguments));
return this instanceof bound ? construct(fn, args.length, args) : invoke(fn,
args, that);
};
if (isObject(fn.prototype)) bound.prototype = fn.prototype;
return bound;
};

/***/ }),
/* 184 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";

var dP = __webpack_require__(12).f,
create = __webpack_require__(50),
redefineAll = __webpack_require__(75),
ctx = __webpack_require__(38),
anInstance = __webpack_require__(71),
defined = __webpack_require__(32),
forOf = __webpack_require__(117),
$iterDefine = __webpack_require__(150),
step = __webpack_require__(190),
setSpecies = __webpack_require__(61),
DESCRIPTORS = __webpack_require__(11),
fastKey = __webpack_require__(60).fastKey,
SIZE = DESCRIPTORS ? '_s' : 'size';

var getEntry = function (that, key) {


// fast case
var index = fastKey(key),
entry;
if (index !== 'F') return that._i[index];
// frozen object case
for (entry = that._f; entry; entry = entry.n) {
if (entry.k == key) return entry;
}
};

module.exports = {
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
var C = wrapper(function (that, iterable) {
anInstance(that, C, NAME, '_i');
that._i = create(null); // index
that._f = undefined; // first entry
that._l = undefined; // last entry
that[SIZE] = 0; // size
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
});
redefineAll(C.prototype, {
// 23.1.3.1 Map.prototype.clear()
// 23.2.3.2 Set.prototype.clear()
clear: function clear() {
for (var that = this, data = that._i, entry = that._f; entry; entry =
entry.n) {
entry.r = true;
if (entry.p) entry.p = entry.p.n = undefined;
delete data[entry.i];
}
that._f = that._l = undefined;
that[SIZE] = 0;
},
// 23.1.3.3 Map.prototype.delete(key)
// 23.2.3.4 Set.prototype.delete(value)
'delete': function (key) {
var that = this,
entry = getEntry(that, key);
if (entry) {
var next = entry.n,
prev = entry.p;
delete that._i[entry.i];
entry.r = true;
if (prev) prev.n = next;
if (next) next.p = prev;
if (that._f == entry) that._f = next;
if (that._l == entry) that._l = prev;
that[SIZE]--;
}return !!entry;
},
// 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
// 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
forEach: function forEach(callbackfn /*, that = undefined */) {
anInstance(this, C, 'forEach');
var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined,
3),
entry;
while (entry = entry ? entry.n : this._f) {
f(entry.v, entry.k, this);
// revert to the last existing entry
while (entry && entry.r) entry = entry.p;
}
},
// 23.1.3.7 Map.prototype.has(key)
// 23.2.3.7 Set.prototype.has(value)
has: function has(key) {
return !!getEntry(this, key);
}
});
if (DESCRIPTORS) dP(C.prototype, 'size', {
get: function () {
return defined(this[SIZE]);
}
});
return C;
},
def: function (that, key, value) {
var entry = getEntry(that, key),
prev,
index;
// change existing entry
if (entry) {
entry.v = value;
// create new entry
} else {
that._l = entry = {
i: index = fastKey(key, true), // <- index
k: key, // <- key
v: value, // <- value
p: prev = that._l, // <- previous entry
n: undefined, // <- next entry
r: false // <- removed
};
if (!that._f) that._f = entry;
if (prev) prev.n = entry;
that[SIZE]++;
// add to index
if (index !== 'F') that._i[index] = entry;
}return that;
},
getEntry: getEntry,
setStrong: function (C, NAME, IS_MAP) {
// add .keys, .values, .entries, [@@iterator]
// 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10,
23.2.3.11
$iterDefine(C, NAME, function (iterated, kind) {
this._t = iterated; // target
this._k = kind; // kind
this._l = undefined; // previous
}, function () {
var that = this,
kind = that._k,
entry = that._l;
// revert to the last existing entry
while (entry && entry.r) entry = entry.p;
// get next entry
if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
// or finish the iteration
that._t = undefined;
return step(1);
}
// return step by kind
if (kind == 'keys') return step(0, entry.k);
if (kind == 'values') return step(0, entry.v);
return step(0, [entry.k, entry.v]);
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true);

// add [@@species], 23.1.2.2, 23.2.2.2


setSpecies(NAME);
}
};

/***/ }),
/* 185 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/DavidBruant/Map-Set.prototype.toJSON
var classof = __webpack_require__(72),
from = __webpack_require__(249);
module.exports = function (NAME) {
return function toJSON() {
if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
return from(this);
};
};

/***/ }),
/* 186 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__(3),


$export = __webpack_require__(0),
redefine = __webpack_require__(27),
redefineAll = __webpack_require__(75),
meta = __webpack_require__(60),
forOf = __webpack_require__(117),
anInstance = __webpack_require__(71),
isObject = __webpack_require__(9),
fails = __webpack_require__(5),
$iterDetect = __webpack_require__(120),
setToStringTag = __webpack_require__(62),
inheritIfRequired = __webpack_require__(146);

module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {


var Base = global[NAME],
C = Base,
ADDER = IS_MAP ? 'set' : 'add',
proto = C && C.prototype,
O = {};
var fixMethod = function (KEY) {
var fn = proto[KEY];
redefine(proto, KEY, KEY == 'delete' ? function (a) {
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
} : KEY == 'has' ? function has(a) {
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
} : KEY == 'get' ? function get(a) {
return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
} : KEY == 'add' ? function add(a) {
fn.call(this, a === 0 ? 0 : a);return this;
} : function set(a, b) {
fn.call(this, a === 0 ? 0 : a, b);return this;
});
};
if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
new C().entries().next();
}))) {
// create collection constructor
C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
redefineAll(C.prototype, methods);
meta.NEED = true;
} else {
var instance = new C()
// early implementations not supports chaining
,
HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
// V8 ~ Chromium 40- weak-collections throws on primitives, but should return
false
,
THROWS_ON_PRIMITIVES = fails(function () {
instance.has(1);
})
// most early implementations doesn't supports iterables, most modern - not
close it correctly
,
ACCEPT_ITERABLES = $iterDetect(function (iter) {
new C(iter);
}) // eslint-disable-line no-new
// for early implementations -0 and +0 not the same
,
BUGGY_ZERO = !IS_WEAK && fails(function () {
// V8 ~ Chromium 42- fails only with 5+ elements
var $instance = new C(),
index = 5;
while (index--) $instance[ADDER](index, index);
return !$instance.has(-0);
});
if (!ACCEPT_ITERABLES) {
C = wrapper(function (target, iterable) {
anInstance(target, C, NAME);
var that = inheritIfRequired(new Base(), target, C);
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
return that;
});
C.prototype = proto;
proto.constructor = C;
}
if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
fixMethod('delete');
fixMethod('has');
IS_MAP && fixMethod('get');
}
if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
// weak collections should not contains .clear method
if (IS_WEAK && proto.clear) delete proto.clear;
}

setToStringTag(C, NAME);

O[NAME] = C;
$export($export.G + $export.W + $export.F * (C != Base), O);

if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);

return C;
};

/***/ }),
/* 187 */
/***/ (function(module, exports, __webpack_require__) {

module.exports = !__webpack_require__(11) && !__webpack_require__(5)(function () {


return Object.defineProperty(__webpack_require__(142)('div'), 'a', { get:
function () {
return 7;
} }).a != 7;
});

/***/ }),
/* 188 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.3 Number.isInteger(number)
var isObject = __webpack_require__(9),
floor = Math.floor;
module.exports = function isInteger(it) {
return !isObject(it) && isFinite(it) && floor(it) === it;
};

/***/ }),
/* 189 */
/***/ (function(module, exports, __webpack_require__) {

// call something on iterator step with safe closing on error


var anObject = __webpack_require__(8);
module.exports = function (iterator, fn, value, entries) {
try {
return entries ? fn(anObject(value)[0], value[1]) : fn(value);
// 7.4.6 IteratorClose(iterator, completion)
} catch (e) {
var ret = iterator['return'];
if (ret !== undefined) anObject(ret.call(iterator));
throw e;
}
};

/***/ }),
/* 190 */
/***/ (function(module, exports) {

module.exports = function (done, value) {


return { value: value, done: !!done };
};

/***/ }),
/* 191 */
/***/ (function(module, exports) {

// 20.2.2.20 Math.log1p(x)
module.exports = Math.log1p || function log1p(x) {
return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
};

/***/ }),
/* 192 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3),


macrotask = __webpack_require__(161).set,
Observer = global.MutationObserver || global.WebKitMutationObserver,
process = global.process,
Promise = global.Promise,
isNode = __webpack_require__(31)(process) == 'process';

module.exports = function () {
var head, last, notify;

var flush = function () {


var parent, fn;
if (isNode && (parent = process.domain)) parent.exit();
while (head) {
fn = head.fn;
head = head.next;
try {
fn();
} catch (e) {
if (head) notify();else last = undefined;
throw e;
}
}last = undefined;
if (parent) parent.enter();
};
// Node.js
if (isNode) {
notify = function () {
process.nextTick(flush);
};
// browsers with MutationObserver
} else if (Observer) {
var toggle = true,
node = document.createTextNode('');
new Observer(flush).observe(node, { characterData: true }); // eslint-disable-
line no-new
notify = function () {
node.data = toggle = !toggle;
};
// environments with maybe non-completely correct, but existent Promise
} else if (Promise && Promise.resolve) {
var promise = Promise.resolve();
notify = function () {
promise.then(flush);
};
// for other environments - macrotask based on:
// - setImmediate
// - MessageChannel
// - window.postMessag
// - onreadystatechange
// - setTimeout
} else {
notify = function () {
// strange IE + webpack dev server bug - use .call(global)
macrotask.call(global, flush);
};
}

return function (fn) {


var task = { fn: fn, next: undefined };
if (last) last.next = task;
if (!head) {
head = task;
notify();
}last = task;
};
};

/***/ }),
/* 193 */
/***/ (function(module, exports, __webpack_require__) {

var dP = __webpack_require__(12),
anObject = __webpack_require__(8),
getKeys = __webpack_require__(52);

module.exports = __webpack_require__(11) ? Object.defineProperties : function


defineProperties(O, Properties) {
anObject(O);
var keys = getKeys(Properties),
length = keys.length,
i = 0,
P;
while (length > i) dP.f(O, P = keys[i++], Properties[P]);
return O;
};

/***/ }),
/* 194 */
/***/ (function(module, exports, __webpack_require__) {

// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window


var toIObject = __webpack_require__(24),
gOPN = __webpack_require__(51).f,
toString = {}.toString;

var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames


? Object.getOwnPropertyNames(window) : [];

var getWindowNames = function (it) {


try {
return gOPN(it);
} catch (e) {
return windowNames.slice();
}
};

module.exports.f = function getOwnPropertyNames(it) {


return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it)
: gOPN(toIObject(it));
};

/***/ }),
/* 195 */
/***/ (function(module, exports, __webpack_require__) {

var has = __webpack_require__(22),


toIObject = __webpack_require__(24),
arrayIndexOf = __webpack_require__(114)(false),
IE_PROTO = __webpack_require__(154)('IE_PROTO');

module.exports = function (object, names) {


var O = toIObject(object),
i = 0,
result = [],
key;
for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
// Don't enum bug & hidden keys
while (names.length > i) if (has(O, key = names[i++])) {
~arrayIndexOf(result, key) || result.push(key);
}
return result;
};

/***/ }),
/* 196 */
/***/ (function(module, exports, __webpack_require__) {

var getKeys = __webpack_require__(52),


toIObject = __webpack_require__(24),
isEnum = __webpack_require__(74).f;
module.exports = function (isEntries) {
return function (it) {
var O = toIObject(it),
keys = getKeys(O),
length = keys.length,
i = 0,
result = [],
key;
while (length > i) if (isEnum.call(O, key = keys[i++])) {
result.push(isEntries ? [key, O[key]] : O[key]);
}return result;
};
};

/***/ }),
/* 197 */
/***/ (function(module, exports, __webpack_require__) {

// all object keys, includes non-enumerable and symbols


var gOPN = __webpack_require__(51),
gOPS = __webpack_require__(122),
anObject = __webpack_require__(8),
Reflect = __webpack_require__(3).Reflect;
module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
var keys = gOPN.f(anObject(it)),
getSymbols = gOPS.f;
return getSymbols ? keys.concat(getSymbols(it)) : keys;
};

/***/ }),
/* 198 */
/***/ (function(module, exports, __webpack_require__) {

var $parseFloat = __webpack_require__(3).parseFloat,


$trim = __webpack_require__(63).trim;

module.exports = 1 / $parseFloat(__webpack_require__(160) + '-0') !== -Infinity ?


function parseFloat(str) {
var string = $trim(String(str), 3),
result = $parseFloat(string);
return result === 0 && string.charAt(0) == '-' ? -0 : result;
} : $parseFloat;

/***/ }),
/* 199 */
/***/ (function(module, exports, __webpack_require__) {

var $parseInt = __webpack_require__(3).parseInt,


$trim = __webpack_require__(63).trim,
ws = __webpack_require__(160),
hex = /^[\-+]?0[xX]/;

module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ?


function parseInt(str, radix) {
var string = $trim(String(str), 3);
return $parseInt(string, radix >>> 0 || (hex.test(string) ? 16 : 10));
} : $parseInt;

/***/ }),
/* 200 */
/***/ (function(module, exports) {
// 7.2.9 SameValue(x, y)
module.exports = Object.is || function is(x, y) {
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
};

/***/ }),
/* 201 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/tc39/proposal-string-pad-start-end
var toLength = __webpack_require__(16),
repeat = __webpack_require__(159),
defined = __webpack_require__(32);

module.exports = function (that, maxLength, fillString, left) {


var S = String(defined(that)),
stringLength = S.length,
fillStr = fillString === undefined ? ' ' : String(fillString),
intMaxLength = toLength(maxLength);
if (intMaxLength <= stringLength || fillStr == '') return S;
var fillLen = intMaxLength - stringLength,
stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
return left ? stringFiller + S : S + stringFiller;
};

/***/ }),
/* 202 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3),


core = __webpack_require__(58),
LIBRARY = __webpack_require__(49),
wksExt = __webpack_require__(203),
defineProperty = __webpack_require__(12).f;
module.exports = function (name) {
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name,
{ value: wksExt.f(name) });
};

/***/ }),
/* 203 */
/***/ (function(module, exports, __webpack_require__) {

exports.f = __webpack_require__(10);

/***/ }),
/* 204 */
/***/ (function(module, exports, __webpack_require__) {

// 21.2.5.3 get RegExp.prototype.flags()


if (__webpack_require__(11) && /./g.flags != 'g')
__webpack_require__(12).f(RegExp.prototype, 'flags', {
configurable: true,
get: __webpack_require__(116)
});
/***/ }),
/* 205 */,
/* 206 */,
/* 207 */,
/* 208 */,
/* 209 */,
/* 210 */,
/* 211 */,
/* 212 */,
/* 213 */,
/* 214 */,
/* 215 */,
/* 216 */,
/* 217 */,
/* 218 */,
/* 219 */,
/* 220 */,
/* 221 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// Error handling
window.onerror = function () {
// TODO: log error
if (false) {
// promt an error and exit
window.alert(require('stack-generator').backtrace().join('\n'));
setTimeout(function () {
return window.close();
});
return false;
} else {
// do nothing
return true;
}
};

// Polyfill
if (!window.__NOTIFIER_POLYFILL && !window.JSON3 && !window._babelPolyfill) {
__webpack_require__(248);
window.__NOTIFIER_POLYFILL = true;
}

/***/ }),
/* 222 */,
/* 223 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var _config = __webpack_require__(6);

var _config2 = _interopRequireDefault(_config);

var _NotificationController = __webpack_require__(479);


var _NotificationController2 = _interopRequireDefault(_NotificationController);

var _system = __webpack_require__(1);

var _utils = __webpack_require__(4);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj :


{ 'default': obj }; }

function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this,


arguments); return new Promise(function (resolve, reject) { function step(key, arg)
{ try { var info = gen[key](arg); var value = info.value; } catch (error)
{ reject(error); return; } if (info.done) { resolve(value); } else { return
Promise.resolve(value).then(function (value) { step("next", value); }, function
(err) { step("throw", err); }); } } return step("next"); }); }; } /* global
dpsNotifier */

document.title = _config2['default'].notification.title;

var main = function () {


var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function
_callee(type, args) {
var notification, scope;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
notification = new _NotificationController2['default'](type, args);

document.title = notification.config.windowTitle;
scope = Object.assign({
hostname: '..',
showDelay: 10 * 1000,
timeoutDelay: 10 * 1000
}, notification.config);

if (true) {
scope.hostname = _config2['default'].update.hostname;
}
notification.init(scope);
window.actions = notification.getAction();
notification.send('initialized');
_context.next = 9;
return (0, _utils.timeout)(scope.showDelay);

case 9:
_context.next = 11;
return notification.show();

case 11:
if (!scope.timeoutDelay) {
_context.next = 17;
break;
}

_context.next = 14;
return (0, _utils.timeout)(scope.timeoutDelay);
case 14:
_context.next = 16;
return notification.hide();

case 16:
notification.set('status', 'timeout').save().exit();

case 17:
case 'end':
return _context.stop();
}
}
}, _callee, undefined);
}));

return function main(_x, _x2) {


return _ref.apply(this, arguments);
};
}();

window.run = function () {
return setTimeout(function () {
var args = (0, _utils.ParseArgs)((0, _system.ParseCMD)
(dpsNotifier.commandLine).slice(1));
if (typeof args.type === 'string') {
main(args.type, args);
}
}, 0);
};

/***/ }),
/* 224 */,
/* 225 */,
/* 226 */,
/* 227 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return "body {\n padding: 0;\n margin: 0;\n font-family: sans-serif;\n font-
size: 14px;\n color: white;\n width: 500px;\n}\n.main-container {\n width:
500px;\n}\n.table {\n table-layout: fixed;\n height: 160px;\n background-color:
#3366CC;\n font-size: 14px;\n background-color: " + scope.color + ";\n}\n.button
{\n display: inline-block;\n padding: 6px 25px;\n color: #333333;\n font-size:
14px;\n text-decoration: none;\n vertical-align: middle;\n}\n.button-primary {\n
background-color: #FFFFFF;\n}\n.button-secondary {\n border: 1px solid #FFFFFF;\n
color: #FFFFFF;\n padding: 5px 25px;\n background-color: " + scope.color +
";\n}\n.icon {\n width: 75px;\n height: 75px;\n padding: 40px 15px 0 15px;\n
background-size: 50px;\n vertical-align: top;\n text-align: center;\n}\n.text {\n
z-index: 9999;\n padding: 35px 15px 5px 0;\n line-height: 22px;\n}\n.spinner {\n
display: none;\n text-align: center;\n}\n.spinner.show {\n display: block;\n}\n";
};

/***/ }),
/* 228 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";

module.exports = function (scope) {


return "<div class=\"main-container\" style=\"position: relative\">\n <a
id=\"close-button\" href=\"#\" onClick=\"actions.delay(); event.preventDefault ?
event.preventDefault() : event.returnValue = false;\" style=\"color: #FFFFFF; text-
decoration: none; position: absolute; top: 4px; right: 4px; padding: 4px; border:
none; visibility: hidden;\">\n <img src=\"" + scope.hostname +
"/icons/blank.gif\"
style=\"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
scope.hostname + "/icons/close.png', sizingMethod='scale');\" width=\"14\"
height=\"14\", style=\"border: none;\">\n </a>\n <table id=\"container\"
class=\"table\" cellpadding=\"0\" cellspacing=\"0\">\n <tr>\n <td
id=\"icon\" class=\"icon\" rowspan=\"2\" width=\"70\"><img src=\"" + scope.hostname
+ "/icons/blank.gif\"
style=\"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
scope.hostname + "/icons/" + scope.notificationIcon + "', sizingMethod='scale');\"
width=\"50\" height=\"50\"></td>\n <td id=\"content\" class=\"text\"
style=\"padding-left: 10px\">\n " + scope.content + "\n </td>\n
</tr>\n <tr>\n <td style=\"padding: 10px 15px 35px 0;\">\n <div
id=\"buttons\" style=\"text-align: right; font-size: 14px; margin-top: 15px;\">\n
<a class=\"button button-primary\" href=\"#\" onclick=\"actions.ok();
event.preventDefault ? event.preventDefault() : event.returnValue = false;\">\n
" + scope.actionButtonText + "\n </a>\n &nbsp;&nbsp;&nbsp;\n
<a class=\"button button-secondary\" href=\"#\" onclick=\"actions.unsubscribe();
event.preventDefault ? event.preventDefault() : event.returnValue = false;\">\n
" + scope.unsubscribeButtonText + "\n </a>\n </div>\n <div
id=\"spinner\" class=\"spinner\"><img src=\"" + scope.hostname +
"/icons/loading.gif\" width=\"32\" height=\"32\" ></div>\n </td>\n </tr>\n
</table>\n</div>\n";
};

/***/ }),
/* 229 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return "body {\n padding: 0;\n margin: 0;\n font-family: sans-serif;\n font-
size: 14px;\n color: white;\n width: 438px;\n overflow: hidden;\n}\n.container
{\n position: relative;\n margin: 0 auto;\n padding: 3px;\n width: 438px;\n
background: #FFF;\n font-family: 'Proxima Nova Regular', sans-serif;\n font-size:
14px;\n}\n.button-arrow {\n position: absolute;\n top: 6px;\n right: 34px;\n
width: 12px;\n height: 12px;\n}\n.button-close {\n position: absolute;\n top:
6px;\n right: 11px;\n width: 12px;\n height: 12px;\n}\nimg {\n text-decoration:
none;\n border: 0px !important;\n}\n.inner-wrapper {\n background: #293A57;\n
padding: 25px 31px 33px;\n color: #FFF;\n}\n.icon {\n display: block;\n text-
align: center;\n margin: 0 auto 22px;\n}\n.message {\n margin: 0;\n line-height:
23px;\n font-family: 'Proxima Nova Light', sans-serif;\n}\n.message-title {\n
font-family: 'Proxima Nova Semibold', sans-serif;\n}\n.buttons-wrapper {\n margin-
top: 27px;\n}\n.button {\n box-sizing: content-box;\n white-space: nowrap;\n
display: inline-block;\n *zoom: 1;\n *display: inline;\n padding: 4px 18px 5px
8px;\n color: #333333;\n text-decoration: none;\n vertical-align: middle;\n
line-height: 22px;\n border-radius: 3px;\n cursor: pointer;\n}\n.button-primary
{\n position: relative;\n padding-left: 43px;\n margin-right: 10px;\n color:
#2E3745;\n background-color: #FFFFFF;\n}\n.button-primary:hover,\n.button-
primary:active {\n color: #FFFFFF;\n background: #3FA9F5;\n}\n.button-secondary
{\n border: 1px solid #FFFFFF;\n color: #FFFFFF;\n padding: 3px 33px 4px;\n
background-color: #293A57;\n}\n.button-secondary:hover, .button-secondary:active
{\n background: #212E47;\n}\n.hidden {\n display: none;\n}\n.button-
icon,\n.button-icon-hover {\n position: absolute;\n top: 8px;\n left:
9px;\n}\n.button-icon-hover {\n display: none;\n}\n.button-primary:hover .button-
icon,\n.button-primary:active .button-icon {\n display: none;\n}\n.button-
primary:hover .button-icon-hover,\n.button-primary:active .button-icon-hover {\n
display: inline-block;;\n}\n.button-divider {\n position: absolute;\n top: 0;\n
left: 31px;\n}\n.button-text {\n vertical-align: middle;\n}\n.logo {\n display:
block;\n text-align: center;\n margin: 16px auto;\n}\n";
};

/***/ }),
/* 230 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return '<div id="container" class="container">\n <a\n class="button-arrow"\n
href="#"\n style="display: none;"\n >\n <img\n class="button-arrow-
img"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/arrow.png\', sizingMethod=\'scale\');"\n width="13"\n
height="7"\n />\n </a>\n <a\n class="button-close"\n href="#"\n
onClick="actions.unsubscribe(); event.preventDefault ? event.preventDefault() :
event.returnValue = false;"\n >\n <img\n class="button-close-img"\n
src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/close_new.png\', sizingMethod=\'scale\');"\n
width="10"\n height="10"\n />\n </a>\n <div class="inner-wrapper">\n
<img\n class="icon"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/' + scope.notificationIcon + '\',
sizingMethod=\'scale\');"\n width="73"\n height="72"\n />\n <p
class="message"><span class="message-title">' + scope.title + '</span> ' +
scope.content + '</p>\n <div class="buttons-wrapper">\n <a\n
class="button button-primary"\n href="#"\n onclick="actions.ok();
event.preventDefault ? event.preventDefault() : event.returnValue = false;"\n
>\n <img\n class="button-icon"\n src="' + scope.hostname +
'/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/shield.png\', sizingMethod=\'scale\');"\n
width="14"\n height="17"\n />\n <img\n
class="button-icon-hover"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/shield-light.png\', sizingMethod=\'scale\');"\n
width="14"\n height="17"\n />\n <img\n
class="button-divider"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/divider-light.png\', sizingMethod=\'scale\');"\n
width="1"\n height="31"\n />\n <span class="button-text">' +
scope.actionButtonText + '</span>\n </a>\n <a\n class="button
button-secondary' + (scope.delayButtonText ? '' : ' hidden') + '"\n
href="#"\n onclick="actions.delay(); event.preventDefault ?
event.preventDefault() : event.returnValue = false;"\n >\n <span
class="button-text">' + scope.delayButtonText + '<span>\n </a>\n </div>\n
</div>\n <img\n class="logo"\n src="' + scope.hostname +
'/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/bottom-logo.png\', sizingMethod=\'scale\');"\n
width="128"\n height="14"\n />\n</div>\n';
};

/***/ }),
/* 231 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return "body {\n padding: 0;\n margin: 0;\n font-family: sans-serif;\n font-
size: 14px;\n color: white;\n width: 500px;\n}\n.main-container {\n width:
500px;\n}\n.table {\n table-layout: fixed;\n height: 160px;\n background-color:
#3366CC;\n font-size: 14px;\n background-color: " + scope.color + ";\n}\n.button
{\n display: inline-block;\n padding: 4px 15px 5px;\n margin-bottom: 10px;\n
color: #333333;\n text-decoration: none;\n vertical-align: middle;\n}\n.button-
primary {\n margin-right: 10px;\n background-color: #FFFFFF;\n}\n.button-
secondary {\n border: 1px solid #FFFFFF;\n color: #FFFFFF;\n padding: 3px 20px
4px;\n background-color: " + scope.color + ";\n}\n.icon {\n width: 100px;\n
padding: 35px 0 0 0;\n background-size: 50px;\n vertical-align: top;\n text-
align: center;\n}\n.close-icon-img {\n text-decoration: none;\n border:
0px;\n}\n.content {\n padding-top: 30px;\n padding-right: 15px;\n}\n.title {\n
padding-bottom: 21px;\n font-weight: bold;\n font-size: 17px;\n line-height:
1.4em;\n}\n.text {\n z-index: 9999;\n padding: 0 0 23px 0;\n font-size: 15px;\n
line-height: 1.4em;\n}\n";
};

/***/ }),
/* 232 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return '<div class="main-container" style="position: relative">\n <a href="#"
onClick="actions.delay(); event.preventDefault ? event.preventDefault() :
event.returnValue = false;" style="position: absolute; top: 9px; right: 9px; width:
12px; height: 12px;">\n <img src="' + scope.hostname + '/icons/blank.gif"
class="close-icon-img"
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/icon-close.png\', sizingMethod=\'scale\');" width="12"
height="12">\n </a>\n <table id="container" class="table" cellpadding="0"
cellspacing="0">\n <tr>\n <td id="icon" class="icon" rowspan="2"
width="100">\n <img src="' + scope.hostname + '/icons/blank.gif"
class="icon-img"
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/' + scope.notificationIcon + '\',
sizingMethod=\'scale\');" width="50" height="50">\n </td>\n <td
id="title" class="content">\n <div class="title" ' + (scope.title ? '' :
'style="display: none;"') + '>\n ' + scope.title + '\n </div>\n
<div id="content" class="text">\n ' + scope.content + '\n <div
style="font-size: 15px; margin-top: 30px;">\n <a class="button button-
primary" style="color: ' + scope.color + ';" href="#" onclick="actions.ok();
event.preventDefault ? event.preventDefault() : event.returnValue = false;">\n
' + scope.actionButtonText + '\n </a>\n <a class="button
button-secondary" href="#" onclick="actions.unsubscribe(); event.preventDefault ?
event.preventDefault() : event.returnValue = false;">\n ' +
scope.unsubscribeButtonText + '\n </a>\n </div>\n
</div>\n </td>\n </tr>\n </table>\n</div>\n';
};

/***/ }),
/* 233 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return "body {\n padding: 0;\n margin: 0;\n font-family: 'Proxima Nova Light',
sans-serif;\n font-size: 14px;\n color: #394559;\n width: 508px;\n padding-
bottom: 2px;\n}\nimg {\n text-decoration: none;\n border: 0px !important;\n}\np
{\n margin: 0\n}\n.hidden {\n display: none;\n}\n.container {\n position:
relative;\n width: 508px;\n background-color: #FFFFFF;\n border: 1px solid
#E6E6E6;\n border-left: 6px solid " + scope.statusColor + ";\n}\n.button-close {\n
position: absolute;\n top: 11px;\n right: 15px;\n width: 12px;\n height:
12px;\n}\n.inner-wrapper {\n height: 87px;\n line-height: 87px;\n border-bottom:
1px solid #E6E6E6;\n}\n.logo {\n vertical-align: middle;\n margin: 0 32px 0;\n
display: inline-block;\n}\n.message {\n display: inline-block;\n vertical-align:
middle;\n line-height: normal;\n}\n.message-title {\n font-family: 'Proxima Nova
Semibold', sans-serif;\n margin-bottom: 8px;\n}\n.button {\n display: inline-
block;\n margin: 0;\n line-height: 34px;\n text-align: center;\n text-
decoration: none;\n color: #394559;\n}\n.button:hover {\n background-color:
#e6e6e6;\n}\n.button-first {\n width: 248px;\n border-right: 1px solid
#E6E6E6;\n}\n.button-second {\n width: 259px;\n}\n\n.old-ie .message, .old-ie
.button { display:inline; zoom:1; }\n.old-ie b {\n display: inline-block;\n
height: 100%;\n vertical-align: middle;\n}\n.old-ie .button-second {\n width:
248px;\n}\n";
};

/***/ }),
/* 234 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return '<!--[if lt IE 10]>\n <div id="container" class="container old-ie">\n<!
[endif]-->\n<!--[if gt IE 9]>\n <div id="container" class="container">\n<!
[endif]-->\n <a\n class="button-close"\n href="#"\n
onClick="actions.delay(); event.preventDefault ? event.preventDefault() :
event.returnValue = false;"\n >\n <img\n class="button-close-img"\n
src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/close_3.png\', sizingMethod=\'scale\');"\n
width="9"\n height="9"\n />\n </a>\n <div class="inner-wrapper">\n
<img\n class="logo"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.notificationIcon + '\', sizingMethod=\'scale\');"\n width="33"\n
height="33"\n />\n <div class="message">\n <p class="message-title">' +
scope.title + '</p>\n <p class="message-caption">' + scope.content + '</p>\n
</div>\n \t<b></b> <!-- old IE fix -->\n </div>\n <div class="buttons-wrapper '
+ (scope.hideButtons ? 'hidden' : '') + '">\n <a class="button button-first"
href="#" onclick="actions.ok(); event.preventDefault ? event.preventDefault() :
event.returnValue = false;">' + scope.actionButtonText + '</a><a class="button
button-second" href="#" onclick="actions.unsubscribe(); event.preventDefault ?
event.preventDefault() : event.returnValue = false;">' +
scope.unsubscribeButtonText + '</a>\n </div>\n</div>\n';
};

/***/ }),
/* 235 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return "body {\n padding: 0;\n margin: 0;\n font-family: sans-serif;\n font-
size: 14px;\n color: white;\n width: 438px;\n overflow: hidden;\n}\n.container
{\n position: relative;\n margin: 0 auto;\n padding: 3px;\n width: 438px;\n
background: #FFF;\n font-family: 'Proxima Nova Regular', sans-serif;\n font-size:
14px;\n}\n.button-arrow {\n position: absolute;\n top: 6px;\n right: 34px;\n
width: 12px;\n height: 12px;\n}\n.button-close {\n position: absolute;\n top:
6px;\n right: 11px;\n width: 12px;\n height: 12px;\n}\nimg {\n text-decoration:
none;\n border: 0px !important;\n}\n.inner-wrapper {\n background: #293A57;\n
padding: 25px 31px 33px;\n color: #FFF;\n}\n.icon {\n display: block;\n text-
align: center;\n margin: 0 auto 22px;\n}\n.message {\n margin: 0;\n line-height:
23px;\n font-family: 'Proxima Nova Light', sans-serif;\n}\n.message-title {\n
font-family: 'Proxima Nova Semibold', sans-serif;\n}\n.buttons-wrapper {\n margin-
top: 27px;\n}\n.button {\n box-sizing: content-box;\n white-space: nowrap;\n
display: inline-block;\n *zoom: 1;\n *display: inline;\n padding: 4px 18px 5px
8px;\n color: #333333;\n text-decoration: none;\n vertical-align: middle;\n
line-height: 22px;\n border-radius: 3px;\n cursor: pointer;\n}\n.button-primary
{\n position: relative;\n padding-left: 43px;\n margin-right: 10px;\n color:
#2E3745;\n background-color: #FFFFFF;\n}\n.button-primary:hover,\n.button-
primary:active {\n color: #FFFFFF;\n background: #3FA9F5;\n}\n.button-secondary
{\n border: 1px solid #FFFFFF;\n color: #FFFFFF;\n padding: 3px 33px 4px;\n
background-color: #293A57;\n}\n.button-secondary:hover, .button-secondary:active
{\n background: #212E47;\n}\n.hidden {\n display: none;\n}\n.button-
icon,\n.button-icon-hover {\n position: absolute;\n top: 8px;\n left:
9px;\n}\n.button-icon-hover {\n display: none;\n}\n.button-primary:hover .button-
icon,\n.button-primary:active .button-icon {\n display: none;\n}\n.button-
primary:hover .button-icon-hover,\n.button-primary:active .button-icon-hover {\n
display: inline-block;;\n}\n.button-divider {\n position: absolute;\n top: 0;\n
left: 31px;\n}\n.button-text {\n vertical-align: middle;\n}\n.logo {\n display:
block;\n text-align: center;\n margin: 16px auto;\n}\n";
};

/***/ }),
/* 236 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return '<div id="container" class="container">\n <a\n class="button-arrow"\n
href="#"\n style="display: none;"\n >\n <img\n class="button-arrow-
img"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/arrow.png\', sizingMethod=\'scale\');"\n width="13"\n
height="7"\n />\n </a>\n <a\n class="button-close"\n href="#"\n
onClick="actions.delay(); event.preventDefault ? event.preventDefault() :
event.returnValue = false;"\n >\n <img\n class="button-close-img"\n
src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/close_new.png\', sizingMethod=\'scale\');"\n
width="10"\n height="10"\n />\n </a>\n <div class="inner-wrapper">\n
<img\n class="icon"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/' + scope.notificationIcon + '\',
sizingMethod=\'scale\');"\n width="73"\n height="72"\n />\n <p
class="message"><span class="message-title">' + scope.title + '</span> ' +
scope.content + '</p>\n <div class="buttons-wrapper">\n <a\n
class="button button-primary"\n href="#"\n onclick="actions.ok();
event.preventDefault ? event.preventDefault() : event.returnValue = false;"\n
>\n <img\n class="button-icon"\n src="' + scope.hostname +
'/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/shield.png\', sizingMethod=\'scale\');"\n
width="14"\n height="17"\n />\n <img\n
class="button-icon-hover"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/shield-light.png\', sizingMethod=\'scale\');"\n
width="14"\n height="17"\n />\n <img\n
class="button-divider"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/divider-light.png\', sizingMethod=\'scale\');"\n
width="1"\n height="31"\n />\n <span class="button-text">' +
scope.actionButtonText + '</span>\n </a>\n <a\n class="button
button-secondary' + (scope.unsubscribeButtonText ? '' : ' hidden') + '"\n
href="#"\n onclick="actions.unsubscribe(); event.preventDefault ?
event.preventDefault() : event.returnValue = false;"\n >\n <span
class="button-text">' + scope.unsubscribeButtonText + '<span>\n </a>\n
</div>\n </div>\n <img\n class="logo"\n src="' + scope.hostname +
'/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/bottom-logo.png\', sizingMethod=\'scale\');"\n
width="128"\n height="14"\n />\n</div>\n';
};

/***/ }),
/* 237 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return "body {\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n font-
size: 15px;\n font-family: 'Proxima Nova Light', sans-serif;\n color: #203850;\n
width: 802px;\n}\nbody * {\n padding: 0;\n margin: 0;\n box-sizing: border-
box;\n}\nimg {\n text-decoration: none;\n border: 0px !important;\n}\ntable {\n
padding: 0;\n table-layout: fixed;\n border-spacing: 0;\n}\nh1 {\n margin: 0;\n
padding: 0;\n}\n\n.v2 .v1 {\n display: none\n}\n.container {\n border: 1px solid
#AAAAAA;\n padding: 54px 0 54px 56px;\n position: relative;\n width: 800px;\n
text-align: left;\n}\n.v2.container {\n padding: 42px 0 42px 38px;\n}\n.button-
close {\n position: absolute;\n top: 21px;\n right: 21px;\n}\n.button-close-img
{\n width: 14px;\n height: 14px;\n}\n.title {\n font-size: 25px;\n font-weight:
normal;\n padding-left: 60px;\n margin-bottom: 35px\n}\n.v2 .title {\n margin-
bottom: 30px;\n font-size: 36px;\n}\n.list {\n width: 688px;\n}\n.list-item-icon-
cell {\n text-align: right;\n vertical-align: middle;\n width: 33px;\n}\n.v2
.list-item-icon-cell {\n width: 42px;\n}\n.icon-shield {\n width: 20px;\n
height: 25px\n}\n.icon-temperature {\n width: 33px;\n height: 22px\n}\n.icon-
cloud {\n width: 27px;\n height: 18px\n}\n.icon-rocket {\n width: 30px;\n
height: 48px;\n}\n.list-item-text-cell {\n padding: 8px 0 8px 27px;\n line-
height: 24px;\n vertical-align: middle;\n}\n.list-item-text-cell {\n padding: 8px
0 8px 24px;\n}\n.cta {\n width: 688px;\n}\n.cta-img-cell {\n width: 223px;\n
padding: 18px 0 0 14px;\n}\n.v2 .cta-img-cell {\n padding: 38px 0 0
22px;\n}\n.cta-buttons-cell {\n width: 465px;\n padding: 52px 0 0
155px;\n}\n.cta-buttons-cell {\n padding: 74px 0 0 168px;\n}\n.uninstall-bottom-
img {\n width: 209px;\n height: 126px;\n}\n.buttons-wrapper {\n width:
274px;\n}\n.button {\n width: 274px;\n display: block;\n height: 44px;\n line-
height: 44px;\n text-decoration: none;\n vertical-align: middle;\n border: 1px
solid #0971B7;\n border-radius: 3px;\n cursor: pointer;\n}\n.button-primary {\n
position: relative;\n color: #FFFFFF;\n background-color: #297FB9;\n}\n.button-
primary:hover,\n.button-primary:active {\n background: #203850;\n}\n.button-
divider {\n position: absolute;\n top: 2px;\n left: 42px;\n width: 1px;\n
height: 44px;\n}\n.button-icon-cell {\n width: 42px;\n text-align:
center;\n}\n.button-icon {\n width: 20px;\n height: 24px;\n vertical-align:
middle;\n}\n.button-text-cell {\n height: 44px;\n text-align:
center;\n}\n.button-primary .button-text-cell {\n color: #FFFFFF;\n}\n.button-
secondary {\n margin-top: 7px;\n display: block;\n background-color:
#FFFFFF;\n}\n.button-secondary:hover,\n.button-secondary:active {\n background:
#D5D8D9;\n}\n.button-secondary .button-text-cell {\n color: #0971B7;\n}\n";
};

/***/ }),
/* 238 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (scope) {


return '<div id="container" class="container ' + scope.experiment + '">\n <a\n
id="close-button"\n class="button-close"\n href="#"\n
onClick="actions.delay(); event.preventDefault ? event.preventDefault() :
event.returnValue = false;"\n >\n <img\n class="button-close-img"\n
src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-close.png\', sizingMethod=\'scale\');"\n
/>\n </a>\n <h1 class="title">' + scope.title + '</h1>\n <table
class="list">\n <tr class="list-item">\n <td class="list-item-icon-
cell">\n <img\n class="list-item-icon icon-shield"\n
src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-icon-shield.png\', sizingMethod=\'scale\');"\n
></img>\n </td>\n <td class="list-item-text-cell">' + scope.message1
+ '</td>\n </tr>\n <tr class="list-item v1">\n <td class="list-
item-icon-cell">\n <img\n class="list-item-icon icon-
temperature"\n src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-icon-temperature.png\',
sizingMethod=\'scale\');"\n ></img>\n </td>\n <td
class="list-item-text-cell">' + scope.message2 + '</td>\n </tr>\n <tr
class="list-item">\n <td class="list-item-icon-cell">\n <img\n
class="list-item-icon icon-cloud"\n src="' + scope.hostname +
'/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-icon-cloud.png\', sizingMethod=\'scale\');"\n
></img>\n </td>\n <td class="list-item-text-cell">' + scope.message3
+ '</td>\n </tr>\n <tr class="list-item">\n <td class="list-item-
icon-cell">\n <img\n class="list-item-icon icon-rocket"\n
src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-icon-rocket.png\', sizingMethod=\'scale\');"\n
></img>\n </td>\n <td class="list-item-text-cell">' + scope.message4
+ '</td>\n </tr>\n </table>\n <table class="cta"><tr>\n <td
class="cta-img-cell">\n <img\n class="uninstall-bottom-img"\n
src="' + scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-' + (scope.experiment === 'v2' ? 'sad' : 'cry')
+ '.png\', sizingMethod=\'scale\');"\n />\n </td>\n <td
class="cta-buttons-cell">\n <div class="buttons-wrapper">\n <a\n
class="button button-primary"\n href="#"\n
onclick="actions.ok(); event.preventDefault ? event.preventDefault() :
event.returnValue = false;"\n >\n <img\n
class="button-divider"\n src="' + scope.hostname +
'/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-button-divider.png\',
sizingMethod=\'scale\');"\n />\n <table class="button-
layout">\n <tr>\n <td class="button-icon-cell">\n
<img\n class="button-icon"\n src="' +
scope.hostname + '/icons/blank.gif"\n
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +
scope.hostname + '/icons/uninstall-button-shield.png\', sizingMethod=\'scale\');"\n
/>\n </td>\n <td class="button-text-cell">' +
scope.actionButtonText + '</td>\n </tr>\n </table>\n
</a>\n <a\n class="button button-secondary"\n
href="#"\n onclick="actions.unsubscribe(); event.preventDefault ?
event.preventDefault() : event.returnValue = false;"\n >\n
<table class="button-layout">\n <tr>\n <td
class="button-text-cell">' + scope.unsubscribeButtonText + '</td>\n
</tr>\n </table>\n </a>\n </div>\n </td>\n
</tr></table>\n</div>\n';
};

/***/ }),
/* 239 */,
/* 240 */,
/* 241 */,
/* 242 */,
/* 243 */,
/* 244 */,
/* 245 */,
/* 246 */,
/* 247 */,
/* 248 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {

__webpack_require__(420);
__webpack_require__(418);

__webpack_require__(379);

__webpack_require__(317);

__webpack_require__(319);

__webpack_require__(318);

__webpack_require__(321);

__webpack_require__(323);

__webpack_require__(328);

__webpack_require__(322);

__webpack_require__(320);

__webpack_require__(330);

__webpack_require__(329);

__webpack_require__(325);

__webpack_require__(326);

__webpack_require__(324);

__webpack_require__(316);

__webpack_require__(327);

__webpack_require__(331);

__webpack_require__(332);

__webpack_require__(283);

__webpack_require__(285);

__webpack_require__(284);

__webpack_require__(334);

__webpack_require__(333);

__webpack_require__(304);

__webpack_require__(314);

__webpack_require__(315);

__webpack_require__(305);

__webpack_require__(306);
__webpack_require__(307);

__webpack_require__(308);

__webpack_require__(309);

__webpack_require__(310);

__webpack_require__(311);

__webpack_require__(312);

__webpack_require__(313);

__webpack_require__(287);

__webpack_require__(288);

__webpack_require__(289);

__webpack_require__(290);

__webpack_require__(291);

__webpack_require__(292);

__webpack_require__(293);

__webpack_require__(294);

__webpack_require__(295);

__webpack_require__(296);

__webpack_require__(297);

__webpack_require__(298);

__webpack_require__(299);

__webpack_require__(300);

__webpack_require__(301);

__webpack_require__(302);

__webpack_require__(303);

__webpack_require__(366);

__webpack_require__(371);

__webpack_require__(378);

__webpack_require__(369);

__webpack_require__(361);

__webpack_require__(362);
__webpack_require__(367);

__webpack_require__(372);

__webpack_require__(374);

__webpack_require__(357);

__webpack_require__(358);

__webpack_require__(359);

__webpack_require__(360);

__webpack_require__(363);

__webpack_require__(364);

__webpack_require__(365);

__webpack_require__(368);

__webpack_require__(370);

__webpack_require__(373);

__webpack_require__(375);

__webpack_require__(376);

__webpack_require__(377);

__webpack_require__(278);

__webpack_require__(280);

__webpack_require__(279);

__webpack_require__(282);

__webpack_require__(281);

__webpack_require__(267);

__webpack_require__(265);

__webpack_require__(271);

__webpack_require__(268);

__webpack_require__(274);

__webpack_require__(276);

__webpack_require__(264);

__webpack_require__(270);
__webpack_require__(261);

__webpack_require__(275);

__webpack_require__(259);

__webpack_require__(273);

__webpack_require__(272);

__webpack_require__(266);

__webpack_require__(269);

__webpack_require__(258);

__webpack_require__(260);

__webpack_require__(263);

__webpack_require__(262);

__webpack_require__(277);

__webpack_require__(164);

__webpack_require__(350);

__webpack_require__(355);

__webpack_require__(204);

__webpack_require__(351);

__webpack_require__(352);

__webpack_require__(353);

__webpack_require__(354);

__webpack_require__(335);

__webpack_require__(286);

__webpack_require__(356);

__webpack_require__(380);

__webpack_require__(381);

__webpack_require__(386);

__webpack_require__(389);

__webpack_require__(390);

__webpack_require__(384);

__webpack_require__(387);
__webpack_require__(385);

__webpack_require__(388);

__webpack_require__(382);

__webpack_require__(383);

__webpack_require__(336);

__webpack_require__(337);

__webpack_require__(338);

__webpack_require__(339);

__webpack_require__(340);

__webpack_require__(343);

__webpack_require__(341);

__webpack_require__(342);

__webpack_require__(344);

__webpack_require__(345);

__webpack_require__(346);

__webpack_require__(347);

__webpack_require__(349);

__webpack_require__(348);

__webpack_require__(391);

__webpack_require__(407);

__webpack_require__(410);

__webpack_require__(409);

__webpack_require__(411);

__webpack_require__(412);

__webpack_require__(408);

__webpack_require__(413);

__webpack_require__(402);

__webpack_require__(405);

__webpack_require__(401);
__webpack_require__(399);

__webpack_require__(400);

__webpack_require__(403);

__webpack_require__(404);

__webpack_require__(394);

__webpack_require__(406);

__webpack_require__(414);

__webpack_require__(393);

__webpack_require__(395);

__webpack_require__(397);

__webpack_require__(396);

__webpack_require__(398);

__webpack_require__(392);

__webpack_require__(417);

__webpack_require__(416);

__webpack_require__(415);

__webpack_require__(126);

try {
window.undefined = window.undefined;
} catch (e) {}

// core-js/shim

if (global._drpPolyfill) {
throw new Error('only one instance of drp-core/polyfill is allowed');
}
global._drpPolyfill = true;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(48)))

/***/ }),
/* 249 */
/***/ (function(module, exports, __webpack_require__) {

var forOf = __webpack_require__(117);

module.exports = function (iter, ITERATOR) {


var result = [];
forOf(iter, false, result.push, result, ITERATOR);
return result;
};
/***/ }),
/* 250 */
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(9),


isArray = __webpack_require__(148),
SPECIES = __webpack_require__(10)('species');

module.exports = function (original) {


var C;
if (isArray(original)) {
C = original.constructor;
// cross-realm fallback
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C =
undefined;
if (isObject(C)) {
C = C[SPECIES];
if (C === null) C = undefined;
}
}return C === undefined ? Array : C;
};

/***/ }),
/* 251 */
/***/ (function(module, exports, __webpack_require__) {

// 9.4.2.3 ArraySpeciesCreate(originalArray, length)


var speciesConstructor = __webpack_require__(250);

module.exports = function (original, length) {


return new (speciesConstructor(original))(length);
};

/***/ }),
/* 252 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var anObject = __webpack_require__(8),


toPrimitive = __webpack_require__(36),
NUMBER = 'number';

module.exports = function (hint) {


if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw
TypeError('Incorrect hint');
return toPrimitive(anObject(this), hint != NUMBER);
};

/***/ }),
/* 253 */
/***/ (function(module, exports, __webpack_require__) {

// all enumerable object keys, includes symbols


var getKeys = __webpack_require__(52),
gOPS = __webpack_require__(122),
pIE = __webpack_require__(74);
module.exports = function (it) {
var result = getKeys(it),
getSymbols = gOPS.f;
if (getSymbols) {
var symbols = getSymbols(it),
isEnum = pIE.f,
i = 0,
key;
while (symbols.length > i) if (isEnum.call(it, key = symbols[i++]))
result.push(key);
}return result;
};

/***/ }),
/* 254 */
/***/ (function(module, exports, __webpack_require__) {

var getKeys = __webpack_require__(52),


toIObject = __webpack_require__(24);
module.exports = function (object, el) {
var O = toIObject(object),
keys = getKeys(O),
length = keys.length,
index = 0,
key;
while (length > index) if (O[key = keys[index++]] === el) return key;
};

/***/ }),
/* 255 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 19.1.2.1 Object.assign(target, source, ...)

var getKeys = __webpack_require__(52),


gOPS = __webpack_require__(122),
pIE = __webpack_require__(74),
toObject = __webpack_require__(18),
IObject = __webpack_require__(73),
$assign = Object.assign;

// should work with symbols and should have deterministic property order (V8 bug)
module.exports = !$assign || __webpack_require__(5)(function () {
var A = {},
B = {},
S = Symbol(),
K = 'abcdefghijklmnopqrst';
A[S] = 7;
K.split('').forEach(function (k) {
B[k] = k;
});
return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
}) ? function assign(target, source) {
// eslint-disable-line no-unused-vars
var T = toObject(target),
aLen = arguments.length,
index = 1,
getSymbols = gOPS.f,
isEnum = pIE.f;
while (aLen > index) {
var S = IObject(arguments[index++]),
keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S),
length = keys.length,
j = 0,
key;
while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
}return T;
} : $assign;

/***/ }),
/* 256 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var path = __webpack_require__(257),


invoke = __webpack_require__(118),
aFunction = __webpack_require__(30);
module.exports = function () /* ...pargs */{
var fn = aFunction(this),
length = arguments.length,
pargs = Array(length),
i = 0,
_ = path._,
holder = false;
while (length > i) if ((pargs[i] = arguments[i++]) === _) holder = true;
return function () /* ...args */{
var that = this,
aLen = arguments.length,
j = 0,
k = 0,
args;
if (!holder && !aLen) return invoke(fn, pargs, that);
args = pargs.slice();
if (holder) for (; length > j; j++) if (args[j] === _) args[j] = arguments[k+
+];
while (aLen > k) args.push(arguments[k++]);
return invoke(fn, args, that);
};
};

/***/ }),
/* 257 */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(3);

/***/ }),
/* 258 */
/***/ (function(module, exports, __webpack_require__) {

// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)


var $export = __webpack_require__(0);

$export($export.P, 'Array', { copyWithin: __webpack_require__(181) });


__webpack_require__(57)('copyWithin');

/***/ }),
/* 259 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$every = __webpack_require__(45)(4);

$export($export.P + $export.F * !__webpack_require__(33)([].every, true), 'Array',


{
// 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
every: function every(callbackfn /* , thisArg */) {
return $every(this, callbackfn, arguments[1]);
}
});

/***/ }),
/* 260 */
/***/ (function(module, exports, __webpack_require__) {

// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)


var $export = __webpack_require__(0);

$export($export.P, 'Array', { fill: __webpack_require__(140) });

__webpack_require__(57)('fill');

/***/ }),
/* 261 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$filter = __webpack_require__(45)(2);

$export($export.P + $export.F * !__webpack_require__(33)([].filter, true), 'Array',


{
// 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
filter: function filter(callbackfn /* , thisArg */) {
return $filter(this, callbackfn, arguments[1]);
}
});

/***/ }),
/* 262 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)

var $export = __webpack_require__(0),


$find = __webpack_require__(45)(6),
KEY = 'findIndex',
forced = true;
// Shouldn't skip holes
if (KEY in []) Array(1)[KEY](function () {
forced = false;
});
$export($export.P + $export.F * forced, 'Array', {
findIndex: function findIndex(callbackfn /*, that = undefined */) {
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] :
undefined);
}
});
__webpack_require__(57)(KEY);

/***/ }),
/* 263 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)

var $export = __webpack_require__(0),


$find = __webpack_require__(45)(5),
KEY = 'find',
forced = true;
// Shouldn't skip holes
if (KEY in []) Array(1)[KEY](function () {
forced = false;
});
$export($export.P + $export.F * forced, 'Array', {
find: function find(callbackfn /*, that = undefined */) {
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] :
undefined);
}
});
__webpack_require__(57)(KEY);

/***/ }),
/* 264 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$forEach = __webpack_require__(45)(0),
STRICT = __webpack_require__(33)([].forEach, true);

$export($export.P + $export.F * !STRICT, 'Array', {


// 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
forEach: function forEach(callbackfn /* , thisArg */) {
return $forEach(this, callbackfn, arguments[1]);
}
});

/***/ }),
/* 265 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";

var ctx = __webpack_require__(38),


$export = __webpack_require__(0),
toObject = __webpack_require__(18),
call = __webpack_require__(189),
isArrayIter = __webpack_require__(147),
toLength = __webpack_require__(16),
createProperty = __webpack_require__(141),
getIterFn = __webpack_require__(163);

$export($export.S + $export.F * !__webpack_require__(120)(function (iter) {


Array.from(iter);
}), 'Array', {
// 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
from: function from(arrayLike /*, mapfn = undefined, thisArg = undefined*/) {
var O = toObject(arrayLike),
C = typeof this == 'function' ? this : Array,
aLen = arguments.length,
mapfn = aLen > 1 ? arguments[1] : undefined,
mapping = mapfn !== undefined,
index = 0,
iterFn = getIterFn(O),
length,
result,
step,
iterator;
if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
// if object isn't iterable or it's array with default iterator - use simple
case
if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
for (iterator = iterFn.call(O), result = new C(); !(step =
iterator.next()).done; index++) {
createProperty(result, index, mapping ? call(iterator, mapfn, [step.value,
index], true) : step.value);
}
} else {
length = toLength(O.length);
for (result = new C(length); length > index; index++) {
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
}
}
result.length = index;
return result;
}
});

/***/ }),
/* 266 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$indexOf = __webpack_require__(114)(false),
$native = [].indexOf,
NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;

$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(33)


($native)), 'Array', {
// 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
indexOf: function indexOf(searchElement /*, fromIndex = 0 */) {
return NEGATIVE_ZERO
// convert -0 to +0
? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement,
arguments[1]);
}
});

/***/ }),
/* 267 */
/***/ (function(module, exports, __webpack_require__) {

// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)


var $export = __webpack_require__(0);

$export($export.S, 'Array', { isArray: __webpack_require__(148) });

/***/ }),
/* 268 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 22.1.3.13 Array.prototype.join(separator)

var $export = __webpack_require__(0),


toIObject = __webpack_require__(24),
arrayJoin = [].join;

// fallback for not array-like strings


$export($export.P + $export.F * (__webpack_require__(73) != Object || !
__webpack_require__(33)(arrayJoin)), 'Array', {
join: function join(separator) {
return arrayJoin.call(toIObject(this), separator === undefined ? ',' :
separator);
}
});

/***/ }),
/* 269 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


toIObject = __webpack_require__(24),
toInteger = __webpack_require__(47),
toLength = __webpack_require__(16),
$native = [].lastIndexOf,
NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;

$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(33)


($native)), 'Array', {
// 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */) {
// convert -0 to +0
if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
var O = toIObject(this),
length = toLength(O.length),
index = length - 1;
if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
if (index < 0) index = length + index;
for (; index >= 0; index--) if (index in O) if (O[index] === searchElement)
return index || 0;
return -1;
}
});

/***/ }),
/* 270 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$map = __webpack_require__(45)(1);

$export($export.P + $export.F * !__webpack_require__(33)([].map, true), 'Array', {


// 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
map: function map(callbackfn /* , thisArg */) {
return $map(this, callbackfn, arguments[1]);
}
});

/***/ }),
/* 271 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


createProperty = __webpack_require__(141);

// WebKit Array.of isn't generic


$export($export.S + $export.F * __webpack_require__(5)(function () {
function F() {}
return !(Array.of.call(F) instanceof F);
}), 'Array', {
// 22.1.2.3 Array.of( ...items)
of: function of() /* ...args */{
var index = 0,
aLen = arguments.length,
result = new (typeof this == 'function' ? this : Array)(aLen);
while (aLen > index) createProperty(result, index, arguments[index++]);
result.length = aLen;
return result;
}
});

/***/ }),
/* 272 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$reduce = __webpack_require__(182);

$export($export.P + $export.F * !__webpack_require__(33)([].reduceRight, true),


'Array', {
// 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
reduceRight: function reduceRight(callbackfn /* , initialValue */) {
return $reduce(this, callbackfn, arguments.length, arguments[1], true);
}
});

/***/ }),
/* 273 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$reduce = __webpack_require__(182);

$export($export.P + $export.F * !__webpack_require__(33)([].reduce, true), 'Array',


{
// 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
reduce: function reduce(callbackfn /* , initialValue */) {
return $reduce(this, callbackfn, arguments.length, arguments[1], false);
}
});

/***/ }),
/* 274 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


html = __webpack_require__(145),
cof = __webpack_require__(31),
toIndex = __webpack_require__(53),
toLength = __webpack_require__(16),
arraySlice = [].slice;

// fallback for not array-like ES3 strings and DOM objects


$export($export.P + $export.F * __webpack_require__(5)(function () {
if (html) arraySlice.call(html);
}), 'Array', {
slice: function slice(begin, end) {
var len = toLength(this.length),
klass = cof(this);
end = end === undefined ? len : end;
if (klass == 'Array') return arraySlice.call(this, begin, end);
var start = toIndex(begin, len),
upTo = toIndex(end, len),
size = toLength(upTo - start),
cloned = Array(size),
i = 0;
for (; i < size; i++) cloned[i] = klass == 'String' ? this.charAt(start + i) :
this[start + i];
return cloned;
}
});

/***/ }),
/* 275 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$some = __webpack_require__(45)(3);

$export($export.P + $export.F * !__webpack_require__(33)([].some, true), 'Array', {


// 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
some: function some(callbackfn /* , thisArg */) {
return $some(this, callbackfn, arguments[1]);
}
});

/***/ }),
/* 276 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


aFunction = __webpack_require__(30),
toObject = __webpack_require__(18),
fails = __webpack_require__(5),
$sort = [].sort,
test = [1, 2, 3];

$export($export.P + $export.F * (fails(function () {


// IE8-
test.sort(undefined);
}) || !fails(function () {
// V8 bug
test.sort(null);
// Old WebKit
}) || !__webpack_require__(33)($sort)), 'Array', {
// 22.1.3.25 Array.prototype.sort(comparefn)
sort: function sort(comparefn) {
return comparefn === undefined ? $sort.call(toObject(this)) :
$sort.call(toObject(this), aFunction(comparefn));
}
});

/***/ }),
/* 277 */
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(61)('Array');

/***/ }),
/* 278 */
/***/ (function(module, exports, __webpack_require__) {

// 20.3.3.1 / 15.9.4.4 Date.now()


var $export = __webpack_require__(0);

$export($export.S, 'Date', { now: function () {


return new Date().getTime();
} });

/***/ }),
/* 279 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()

var $export = __webpack_require__(0),


fails = __webpack_require__(5),
getTime = Date.prototype.getTime;

var lz = function (num) {


return num > 9 ? num : '0' + num;
};

// PhantomJS / old WebKit has a broken implementations


$export($export.P + $export.F * (fails(function () {
return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
}) || !fails(function () {
new Date(NaN).toISOString();
})), 'Date', {
toISOString: function toISOString() {
if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
var d = this,
y = d.getUTCFullYear(),
m = d.getUTCMilliseconds(),
s = y < 0 ? '-' : y > 9999 ? '+' : '';
return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + '-' +
lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 'T' + lz(d.getUTCHours()) +
':' + lz(d.getUTCMinutes()) + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0'
+ lz(m)) + 'Z';
}
});

/***/ }),
/* 280 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


toObject = __webpack_require__(18),
toPrimitive = __webpack_require__(36);
$export($export.P + $export.F * __webpack_require__(5)(function () {
return new Date(NaN).toJSON() !== null ||
Date.prototype.toJSON.call({ toISOString: function () {
return 1;
} }) !== 1;
}), 'Date', {
toJSON: function toJSON(key) {
var O = toObject(this),
pv = toPrimitive(O);
return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
}
});

/***/ }),
/* 281 */
/***/ (function(module, exports, __webpack_require__) {

var TO_PRIMITIVE = __webpack_require__(10)('toPrimitive'),


proto = Date.prototype;

if (!(TO_PRIMITIVE in proto)) __webpack_require__(25)(proto, TO_PRIMITIVE,


__webpack_require__(252));

/***/ }),
/* 282 */
/***/ (function(module, exports, __webpack_require__) {

var DateProto = Date.prototype,


INVALID_DATE = 'Invalid Date',
TO_STRING = 'toString',
$toString = DateProto[TO_STRING],
getTime = DateProto.getTime;
if (new Date(NaN) + '' != INVALID_DATE) {
__webpack_require__(27)(DateProto, TO_STRING, function toString() {
var value = getTime.call(this);
return value === value ? $toString.call(this) : INVALID_DATE;
});
}

/***/ }),
/* 283 */
/***/ (function(module, exports, __webpack_require__) {

// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)


var $export = __webpack_require__(0);

$export($export.P, 'Function', { bind: __webpack_require__(183) });

/***/ }),
/* 284 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var isObject = __webpack_require__(9),


getPrototypeOf = __webpack_require__(39),
HAS_INSTANCE = __webpack_require__(10)('hasInstance'),
FunctionProto = Function.prototype;
// 19.2.3.6 Function.prototype[@@hasInstance](V)
if (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(12).f(FunctionProto,
HAS_INSTANCE, { value: function (O) {
if (typeof this != 'function' || !isObject(O)) return false;
if (!isObject(this.prototype)) return O instanceof this;
// for environment w/o native `@@hasInstance` logic enough `instanceof`, but
add this:
while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
return false;
} });

/***/ }),
/* 285 */
/***/ (function(module, exports, __webpack_require__) {

var dP = __webpack_require__(12).f,
createDesc = __webpack_require__(46),
has = __webpack_require__(22),
FProto = Function.prototype,
nameRE = /^\s*function ([^ (]*)/,
NAME = 'name';

var isExtensible = Object.isExtensible || function () {


return true;
};

// 19.2.4.2 name
NAME in FProto || __webpack_require__(11) && dP(FProto, NAME, {
configurable: true,
get: function () {
try {
var that = this,
name = ('' + that).match(nameRE)[1];
has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5,
name));
return name;
} catch (e) {
return '';
}
}
});

/***/ }),
/* 286 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var strong = __webpack_require__(184);

// 23.1 Map Objects


module.exports = __webpack_require__(186)('Map', function (get) {
return function Map() {
return get(this, arguments.length > 0 ? arguments[0] : undefined);
};
}, {
// 23.1.3.6 Map.prototype.get(key)
get: function get(key) {
var entry = strong.getEntry(this, key);
return entry && entry.v;
},
// 23.1.3.9 Map.prototype.set(key, value)
set: function set(key, value) {
return strong.def(this, key === 0 ? 0 : key, value);
}
}, strong, true);

/***/ }),
/* 287 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.3 Math.acosh(x)
var $export = __webpack_require__(0),
log1p = __webpack_require__(191),
sqrt = Math.sqrt,
$acosh = Math.acosh;

$export($export.S + $export.F * !($acosh


// V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
&& Math.floor($acosh(Number.MAX_VALUE)) == 710
// Tor Browser bug: Math.acosh(Infinity) -> NaN
&& $acosh(Infinity) == Infinity), 'Math', {
acosh: function acosh(x) {
return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 :
log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
}
});

/***/ }),
/* 288 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.5 Math.asinh(x)
var $export = __webpack_require__(0),
$asinh = Math.asinh;

function asinh(x) {
return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x +
Math.sqrt(x * x + 1));
}

// Tor Browser bug: Math.asinh(0) -> -0


$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh:
asinh });

/***/ }),
/* 289 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.7 Math.atanh(x)
var $export = __webpack_require__(0),
$atanh = Math.atanh;

// Tor Browser bug: Math.atanh(-0) -> 0


$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
atanh: function atanh(x) {
return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
}
});

/***/ }),
/* 290 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.9 Math.cbrt(x)
var $export = __webpack_require__(0),
sign = __webpack_require__(152);

$export($export.S, 'Math', {
cbrt: function cbrt(x) {
return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
}
});

/***/ }),
/* 291 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.11 Math.clz32(x)
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
clz32: function clz32(x) {
return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
}
});

/***/ }),
/* 292 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.12 Math.cosh(x)
var $export = __webpack_require__(0),
exp = Math.exp;

$export($export.S, 'Math', {
cosh: function cosh(x) {
return (exp(x = +x) + exp(-x)) / 2;
}
});

/***/ }),
/* 293 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.14 Math.expm1(x)
var $export = __webpack_require__(0),
$expm1 = __webpack_require__(151);

$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });

/***/ }),
/* 294 */
/***/ (function(module, exports, __webpack_require__) {
// 20.2.2.16 Math.fround(x)
var $export = __webpack_require__(0),
sign = __webpack_require__(152),
pow = Math.pow,
EPSILON = pow(2, -52),
EPSILON32 = pow(2, -23),
MAX32 = pow(2, 127) * (2 - EPSILON32),
MIN32 = pow(2, -126);

var roundTiesToEven = function (n) {


return n + 1 / EPSILON - 1 / EPSILON;
};

$export($export.S, 'Math', {
fround: function fround(x) {
var $abs = Math.abs(x),
$sign = sign(x),
a,
result;
if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) *
MIN32 * EPSILON32;
a = (1 + EPSILON32 / EPSILON) * $abs;
result = a - (a - $abs);
if (result > MAX32 || result != result) return $sign * Infinity;
return $sign * result;
}
});

/***/ }),
/* 295 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])


var $export = __webpack_require__(0),
abs = Math.abs;

$export($export.S, 'Math', {
hypot: function hypot(value1, value2) {
// eslint-disable-line no-unused-vars
var sum = 0,
i = 0,
aLen = arguments.length,
larg = 0,
arg,
div;
while (i < aLen) {
arg = abs(arguments[i++]);
if (larg < arg) {
div = larg / arg;
sum = sum * div * div + 1;
larg = arg;
} else if (arg > 0) {
div = arg / larg;
sum += div * div;
} else sum += arg;
}
return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
}
});
/***/ }),
/* 296 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.18 Math.imul(x, y)
var $export = __webpack_require__(0),
$imul = Math.imul;

// some WebKit versions fails with big numbers, some has wrong arity
$export($export.S + $export.F * __webpack_require__(5)(function () {
return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
}), 'Math', {
imul: function imul(x, y) {
var UINT16 = 0xffff,
xn = +x,
yn = +y,
xl = UINT16 & xn,
yl = UINT16 & yn;
return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) <<
16 >>> 0);
}
});

/***/ }),
/* 297 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.21 Math.log10(x)
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
log10: function log10(x) {
return Math.log(x) / Math.LN10;
}
});

/***/ }),
/* 298 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.20 Math.log1p(x)
var $export = __webpack_require__(0);

$export($export.S, 'Math', { log1p: __webpack_require__(191) });

/***/ }),
/* 299 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.22 Math.log2(x)
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
log2: function log2(x) {
return Math.log(x) / Math.LN2;
}
});
/***/ }),
/* 300 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.28 Math.sign(x)
var $export = __webpack_require__(0);

$export($export.S, 'Math', { sign: __webpack_require__(152) });

/***/ }),
/* 301 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.30 Math.sinh(x)
var $export = __webpack_require__(0),
expm1 = __webpack_require__(151),
exp = Math.exp;

// V8 near Chromium 38 has a problem with very small numbers


$export($export.S + $export.F * __webpack_require__(5)(function () {
return !Math.sinh(-2e-17) != -2e-17;
}), 'Math', {
sinh: function sinh(x) {
return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x
- 1)) * (Math.E / 2);
}
});

/***/ }),
/* 302 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.33 Math.tanh(x)
var $export = __webpack_require__(0),
expm1 = __webpack_require__(151),
exp = Math.exp;

$export($export.S, 'Math', {
tanh: function tanh(x) {
var a = expm1(x = +x),
b = expm1(-x);
return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
}
});

/***/ }),
/* 303 */
/***/ (function(module, exports, __webpack_require__) {

// 20.2.2.34 Math.trunc(x)
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
trunc: function trunc(it) {
return (it > 0 ? Math.floor : Math.ceil)(it);
}
});

/***/ }),
/* 304 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__(3),


has = __webpack_require__(22),
cof = __webpack_require__(31),
inheritIfRequired = __webpack_require__(146),
toPrimitive = __webpack_require__(36),
fails = __webpack_require__(5),
gOPN = __webpack_require__(51).f,
gOPD = __webpack_require__(26).f,
dP = __webpack_require__(12).f,
$trim = __webpack_require__(63).trim,
NUMBER = 'Number',
$Number = global[NUMBER],
Base = $Number,
proto = $Number.prototype
// Opera ~12 has broken Object#toString
,
BROKEN_COF = cof(__webpack_require__(50)(proto)) == NUMBER,
TRIM = 'trim' in String.prototype;

// 7.1.3 ToNumber(argument)
var toNumber = function (argument) {
var it = toPrimitive(argument, false);
if (typeof it == 'string' && it.length > 2) {
it = TRIM ? it.trim() : $trim(it, 3);
var first = it.charCodeAt(0),
third,
radix,
maxCode;
if (first === 43 || first === 45) {
third = it.charCodeAt(2);
if (third === 88 || third === 120) return NaN; // Number('+0x1') should be
NaN, old V8 fix
} else if (first === 48) {
switch (it.charCodeAt(1)) {
case 66:case 98:
radix = 2;maxCode = 49;break; // fast equal /^0b[01]+$/i
case 79:case 111:
radix = 8;maxCode = 55;break; // fast equal /^0o[0-7]+$/i
default:
return +it;
}
for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
code = digits.charCodeAt(i);
// parseInt parses a string to a first unavailable symbol
// but ToNumber should return NaN if a string contains unavailable symbols
if (code < 48 || code > maxCode) return NaN;
}return parseInt(digits, radix);
}
}return +it;
};

if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {


$Number = function Number(value) {
var it = arguments.length < 1 ? 0 : value,
that = this;
return that instanceof $Number
// check on 1..constructor(foo) case
&& (BROKEN_COF ? fails(function () {
proto.valueOf.call(that);
}) : cof(that) != NUMBER) ? inheritIfRequired(new Base(toNumber(it)), that,
$Number) : toNumber(it);
};
for (var keys = __webpack_require__(11) ? gOPN(Base) : (
// ES3:
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
// ES6 (in case, if modules with ES6 Number statics required before):
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger').split(','), j = 0, key;
keys.length > j; j++) {
if (has(Base, key = keys[j]) && !has($Number, key)) {
dP($Number, key, gOPD(Base, key));
}
}
$Number.prototype = proto;
proto.constructor = $Number;
__webpack_require__(27)(global, NUMBER, $Number);
}

/***/ }),
/* 305 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.1 Number.EPSILON
var $export = __webpack_require__(0);

$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });

/***/ }),
/* 306 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.2 Number.isFinite(number)
var $export = __webpack_require__(0),
_isFinite = __webpack_require__(3).isFinite;

$export($export.S, 'Number', {
isFinite: function isFinite(it) {
return typeof it == 'number' && _isFinite(it);
}
});

/***/ }),
/* 307 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.3 Number.isInteger(number)
var $export = __webpack_require__(0);

$export($export.S, 'Number', { isInteger: __webpack_require__(188) });

/***/ }),
/* 308 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.4 Number.isNaN(number)
var $export = __webpack_require__(0);

$export($export.S, 'Number', {
isNaN: function isNaN(number) {
return number != number;
}
});

/***/ }),
/* 309 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.5 Number.isSafeInteger(number)
var $export = __webpack_require__(0),
isInteger = __webpack_require__(188),
abs = Math.abs;

$export($export.S, 'Number', {
isSafeInteger: function isSafeInteger(number) {
return isInteger(number) && abs(number) <= 0x1fffffffffffff;
}
});

/***/ }),
/* 310 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.6 Number.MAX_SAFE_INTEGER
var $export = __webpack_require__(0);

$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });

/***/ }),
/* 311 */
/***/ (function(module, exports, __webpack_require__) {

// 20.1.2.10 Number.MIN_SAFE_INTEGER
var $export = __webpack_require__(0);

$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });

/***/ }),
/* 312 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


$parseFloat = __webpack_require__(198);
// 20.1.2.12 Number.parseFloat(string)
$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number',
{ parseFloat: $parseFloat });

/***/ }),
/* 313 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


$parseInt = __webpack_require__(199);
// 20.1.2.13 Number.parseInt(string, radix)
$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number',
{ parseInt: $parseInt });

/***/ }),
/* 314 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


toInteger = __webpack_require__(47),
aNumberValue = __webpack_require__(180),
repeat = __webpack_require__(159),
$toFixed = 1..toFixed,
floor = Math.floor,
data = [0, 0, 0, 0, 0, 0],
ERROR = 'Number.toFixed: incorrect invocation!',
ZERO = '0';

var multiply = function (n, c) {


var i = -1,
c2 = c;
while (++i < 6) {
c2 += n * data[i];
data[i] = c2 % 1e7;
c2 = floor(c2 / 1e7);
}
};
var divide = function (n) {
var i = 6,
c = 0;
while (--i >= 0) {
c += data[i];
data[i] = floor(c / n);
c = c % n * 1e7;
}
};
var numToString = function () {
var i = 6,
s = '';
while (--i >= 0) {
if (s !== '' || i === 0 || data[i] !== 0) {
var t = String(data[i]);
s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
}
}return s;
};
var pow = function (x, n, acc) {
return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2,
acc);
};
var log = function (x) {
var n = 0,
x2 = x;
while (x2 >= 4096) {
n += 12;
x2 /= 4096;
}
while (x2 >= 2) {
n += 1;
x2 /= 2;
}return n;
};

$export($export.P + $export.F * (!!$toFixed && (0.00008.toFixed(3) !== '0.000' ||


0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' ||
1000000000000000128..toFixed(0) !== '1000000000000000128') || !
__webpack_require__(5)(function () {
// V8 ~ Android 4.3-
$toFixed.call({});
})), 'Number', {
toFixed: function toFixed(fractionDigits) {
var x = aNumberValue(this, ERROR),
f = toInteger(fractionDigits),
s = '',
m = ZERO,
e,
z,
j,
k;
if (f < 0 || f > 20) throw RangeError(ERROR);
if (x != x) return 'NaN';
if (x <= -1e21 || x >= 1e21) return String(x);
if (x < 0) {
s = '-';
x = -x;
}
if (x > 1e-21) {
e = log(x * pow(2, 69, 1)) - 69;
z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
z *= 0x10000000000000;
e = 52 - e;
if (e > 0) {
multiply(0, z);
j = f;
while (j >= 7) {
multiply(1e7, 0);
j -= 7;
}
multiply(pow(10, j, 1), 0);
j = e - 1;
while (j >= 23) {
divide(1 << 23);
j -= 23;
}
divide(1 << j);
multiply(1, 1);
divide(2);
m = numToString();
} else {
multiply(0, z);
multiply(1 << -e, 0);
m = numToString() + repeat.call(ZERO, f);
}
}
if (f > 0) {
k = m.length;
m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) +
'.' + m.slice(k - f));
} else {
m = s + m;
}return m;
}
});

/***/ }),
/* 315 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$fails = __webpack_require__(5),
aNumberValue = __webpack_require__(180),
$toPrecision = 1..toPrecision;

$export($export.P + $export.F * ($fails(function () {


// IE7-
return $toPrecision.call(1, undefined) !== '1';
}) || !$fails(function () {
// V8 ~ Android 4.3-
$toPrecision.call({});
})), 'Number', {
toPrecision: function toPrecision(precision) {
var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
return precision === undefined ? $toPrecision.call(that) :
$toPrecision.call(that, precision);
}
});

/***/ }),
/* 316 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.3.1 Object.assign(target, source)


var $export = __webpack_require__(0);

$export($export.S + $export.F, 'Object', { assign: __webpack_require__(255) });

/***/ }),
/* 317 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0);


// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
$export($export.S, 'Object', { create: __webpack_require__(50) });

/***/ }),
/* 318 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0);


// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
$export($export.S + $export.F * !__webpack_require__(11), 'Object',
{ defineProperties: __webpack_require__(193) });

/***/ }),
/* 319 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0);


// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
$export($export.S + $export.F * !__webpack_require__(11), 'Object',
{ defineProperty: __webpack_require__(12).f });

/***/ }),
/* 320 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.5 Object.freeze(O)
var isObject = __webpack_require__(9),
meta = __webpack_require__(60).onFreeze;

__webpack_require__(35)('freeze', function ($freeze) {


return function freeze(it) {
return $freeze && isObject(it) ? $freeze(meta(it)) : it;
};
});

/***/ }),
/* 321 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
var toIObject = __webpack_require__(24),
$getOwnPropertyDescriptor = __webpack_require__(26).f;

__webpack_require__(35)('getOwnPropertyDescriptor', function () {
return function getOwnPropertyDescriptor(it, key) {
return $getOwnPropertyDescriptor(toIObject(it), key);
};
});

/***/ }),
/* 322 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.7 Object.getOwnPropertyNames(O)
__webpack_require__(35)('getOwnPropertyNames', function () {
return __webpack_require__(194).f;
});

/***/ }),
/* 323 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.9 Object.getPrototypeOf(O)
var toObject = __webpack_require__(18),
$getPrototypeOf = __webpack_require__(39);

__webpack_require__(35)('getPrototypeOf', function () {
return function getPrototypeOf(it) {
return $getPrototypeOf(toObject(it));
};
});

/***/ }),
/* 324 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.11 Object.isExtensible(O)
var isObject = __webpack_require__(9);

__webpack_require__(35)('isExtensible', function ($isExtensible) {


return function isExtensible(it) {
return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
};
});

/***/ }),
/* 325 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.12 Object.isFrozen(O)
var isObject = __webpack_require__(9);

__webpack_require__(35)('isFrozen', function ($isFrozen) {


return function isFrozen(it) {
return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
};
});

/***/ }),
/* 326 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.13 Object.isSealed(O)
var isObject = __webpack_require__(9);

__webpack_require__(35)('isSealed', function ($isSealed) {


return function isSealed(it) {
return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
};
});

/***/ }),
/* 327 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.3.10 Object.is(value1, value2)


var $export = __webpack_require__(0);
$export($export.S, 'Object', { is: __webpack_require__(200) });

/***/ }),
/* 328 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.14 Object.keys(O)
var toObject = __webpack_require__(18),
$keys = __webpack_require__(52);
__webpack_require__(35)('keys', function () {
return function keys(it) {
return $keys(toObject(it));
};
});

/***/ }),
/* 329 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.15 Object.preventExtensions(O)
var isObject = __webpack_require__(9),
meta = __webpack_require__(60).onFreeze;

__webpack_require__(35)('preventExtensions', function ($preventExtensions) {


return function preventExtensions(it) {
return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
};
});

/***/ }),
/* 330 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.2.17 Object.seal(O)
var isObject = __webpack_require__(9),
meta = __webpack_require__(60).onFreeze;

__webpack_require__(35)('seal', function ($seal) {


return function seal(it) {
return $seal && isObject(it) ? $seal(meta(it)) : it;
};
});

/***/ }),
/* 331 */
/***/ (function(module, exports, __webpack_require__) {

// 19.1.3.19 Object.setPrototypeOf(O, proto)


var $export = __webpack_require__(0);
$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(153).set });

/***/ }),
/* 332 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 19.1.3.6 Object.prototype.toString()

var classof = __webpack_require__(72),


test = {};
test[__webpack_require__(10)('toStringTag')] = 'z';
if (test + '' != '[object z]') {
__webpack_require__(27)(Object.prototype, 'toString', function toString() {
return '[object ' + classof(this) + ']';
}, true);
}
/***/ }),
/* 333 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


$parseFloat = __webpack_require__(198);
// 18.2.4 parseFloat(string)
$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat:
$parseFloat });

/***/ }),
/* 334 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


$parseInt = __webpack_require__(199);
// 18.2.5 parseInt(string, radix)
$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });

/***/ }),
/* 335 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var LIBRARY = __webpack_require__(49),


global = __webpack_require__(3),
ctx = __webpack_require__(38),
classof = __webpack_require__(72),
$export = __webpack_require__(0),
isObject = __webpack_require__(9),
aFunction = __webpack_require__(30),
anInstance = __webpack_require__(71),
forOf = __webpack_require__(117),
speciesConstructor = __webpack_require__(156),
task = __webpack_require__(161).set,
microtask = __webpack_require__(192)(),
PROMISE = 'Promise',
TypeError = global.TypeError,
process = global.process,
$Promise = global[PROMISE],
process = global.process,
isNode = classof(process) == 'process',
empty = function () {/* empty */},
Internal,
GenericPromiseCapability,
Wrapper;

var USE_NATIVE = !!function () {


try {
// correct subclassing with @@species support
var promise = $Promise.resolve(1),
FakePromise = (promise.constructor = {})[__webpack_require__(10)
('species')] = function (exec) {
exec(empty, empty);
};
// unhandled rejections tracking support, NodeJS Promise without it fails
@@species test
return (isNode || typeof PromiseRejectionEvent == 'function') &&
promise.then(empty) instanceof FakePromise;
} catch (e) {/* empty */}
}();

// helpers
var sameConstructor = function (a, b) {
// with library wrapper special case
return a === b || a === $Promise && b === Wrapper;
};
var isThenable = function (it) {
var then;
return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
};
var newPromiseCapability = function (C) {
return sameConstructor($Promise, C) ? new PromiseCapability(C) : new
GenericPromiseCapability(C);
};
var PromiseCapability = GenericPromiseCapability = function (C) {
var resolve, reject;
this.promise = new C(function ($$resolve, $$reject) {
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise
constructor');
resolve = $$resolve;
reject = $$reject;
});
this.resolve = aFunction(resolve);
this.reject = aFunction(reject);
};
var perform = function (exec) {
try {
exec();
} catch (e) {
return { error: e };
}
};
var notify = function (promise, isReject) {
if (promise._n) return;
promise._n = true;
var chain = promise._c;
microtask(function () {
var value = promise._v,
ok = promise._s == 1,
i = 0;
var run = function (reaction) {
var handler = ok ? reaction.ok : reaction.fail,
resolve = reaction.resolve,
reject = reaction.reject,
domain = reaction.domain,
result,
then;
try {
if (handler) {
if (!ok) {
if (promise._h == 2) onHandleUnhandled(promise);
promise._h = 1;
}
if (handler === true) result = value;else {
if (domain) domain.enter();
result = handler(value);
if (domain) domain.exit();
}
if (result === reaction.promise) {
reject(TypeError('Promise-chain cycle'));
} else if (then = isThenable(result)) {
then.call(result, resolve, reject);
} else resolve(result);
} else reject(value);
} catch (e) {
reject(e);
}
};
while (chain.length > i) run(chain[i++]); // variable length - can't use
forEach
promise._c = [];
promise._n = false;
if (isReject && !promise._h) onUnhandled(promise);
});
};
var onUnhandled = function (promise) {
task.call(global, function () {
var value = promise._v,
abrupt,
handler,
console;
if (isUnhandled(promise)) {
abrupt = perform(function () {
if (isNode) {
process.emit('unhandledRejection', value, promise);
} else if (handler = global.onunhandledrejection) {
handler({ promise: promise, reason: value });
} else if ((console = global.console) && console.error) {
console.error('Unhandled promise rejection', value);
}
});
// Browsers should not trigger `rejectionHandled` event if it was handled
here, NodeJS - should
promise._h = isNode || isUnhandled(promise) ? 2 : 1;
}promise._a = undefined;
if (abrupt) throw abrupt.error;
});
};
var isUnhandled = function (promise) {
if (promise._h == 1) return false;
var chain = promise._a || promise._c,
i = 0,
reaction;
while (chain.length > i) {
reaction = chain[i++];
if (reaction.fail || !isUnhandled(reaction.promise)) return false;
}return true;
};
var onHandleUnhandled = function (promise) {
task.call(global, function () {
var handler;
if (isNode) {
process.emit('rejectionHandled', promise);
} else if (handler = global.onrejectionhandled) {
handler({ promise: promise, reason: promise._v });
}
});
};
var $reject = function (value) {
var promise = this;
if (promise._d) return;
promise._d = true;
promise = promise._w || promise; // unwrap
promise._v = value;
promise._s = 2;
if (!promise._a) promise._a = promise._c.slice();
notify(promise, true);
};
var $resolve = function (value) {
var promise = this,
then;
if (promise._d) return;
promise._d = true;
promise = promise._w || promise; // unwrap
try {
if (promise === value) throw TypeError("Promise can't be resolved itself");
if (then = isThenable(value)) {
microtask(function () {
var wrapper = { _w: promise, _d: false }; // wrap
try {
then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
} catch (e) {
$reject.call(wrapper, e);
}
});
} else {
promise._v = value;
promise._s = 1;
notify(promise, false);
}
} catch (e) {
$reject.call({ _w: promise, _d: false }, e); // wrap
}
};

// constructor polyfill
if (!USE_NATIVE) {
// 25.4.3.1 Promise(executor)
$Promise = function Promise(executor) {
anInstance(this, $Promise, PROMISE, '_h');
aFunction(executor);
Internal.call(this);
try {
executor(ctx($resolve, this, 1), ctx($reject, this, 1));
} catch (err) {
$reject.call(this, err);
}
};
Internal = function Promise(executor) {
this._c = []; // <- awaiting reactions
this._a = undefined; // <- checked in isUnhandled reactions
this._s = 0; // <- state
this._d = false; // <- done
this._v = undefined; // <- value
this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
this._n = false; // <- notify
};
Internal.prototype = __webpack_require__(75)($Promise.prototype, {
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
then: function then(onFulfilled, onRejected) {
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
reaction.fail = typeof onRejected == 'function' && onRejected;
reaction.domain = isNode ? process.domain : undefined;
this._c.push(reaction);
if (this._a) this._a.push(reaction);
if (this._s) notify(this, false);
return reaction.promise;
},
// 25.4.5.1 Promise.prototype.catch(onRejected)
'catch': function (onRejected) {
return this.then(undefined, onRejected);
}
});
PromiseCapability = function () {
var promise = new Internal();
this.promise = promise;
this.resolve = ctx($resolve, promise, 1);
this.reject = ctx($reject, promise, 1);
};
}

$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });


__webpack_require__(62)($Promise, PROMISE);
__webpack_require__(61)(PROMISE);
Wrapper = __webpack_require__(58)[PROMISE];

// statics
$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
// 25.4.4.5 Promise.reject(r)
reject: function reject(r) {
var capability = newPromiseCapability(this),
$$reject = capability.reject;
$$reject(r);
return capability.promise;
}
});
$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
// 25.4.4.6 Promise.resolve(x)
resolve: function resolve(x) {
// instanceof instead of internal slot check because we should fix it without
replacement native Promise core
if (x instanceof $Promise && sameConstructor(x.constructor, this)) return x;
var capability = newPromiseCapability(this),
$$resolve = capability.resolve;
$$resolve(x);
return capability.promise;
}
});
$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(120)(function
(iter) {
$Promise.all(iter)['catch'](empty);
})), PROMISE, {
// 25.4.4.1 Promise.all(iterable)
all: function all(iterable) {
var C = this,
capability = newPromiseCapability(C),
resolve = capability.resolve,
reject = capability.reject;
var abrupt = perform(function () {
var values = [],
index = 0,
remaining = 1;
forOf(iterable, false, function (promise) {
var $index = index++,
alreadyCalled = false;
values.push(undefined);
remaining++;
C.resolve(promise).then(function (value) {
if (alreadyCalled) return;
alreadyCalled = true;
values[$index] = value;
--remaining || resolve(values);
}, reject);
});
--remaining || resolve(values);
});
if (abrupt) reject(abrupt.error);
return capability.promise;
},
// 25.4.4.4 Promise.race(iterable)
race: function race(iterable) {
var C = this,
capability = newPromiseCapability(C),
reject = capability.reject;
var abrupt = perform(function () {
forOf(iterable, false, function (promise) {
C.resolve(promise).then(capability.resolve, reject);
});
});
if (abrupt) reject(abrupt.error);
return capability.promise;
}
});

/***/ }),
/* 336 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)


var $export = __webpack_require__(0),
aFunction = __webpack_require__(30),
anObject = __webpack_require__(8),
rApply = (__webpack_require__(3).Reflect || {}).apply,
fApply = Function.apply;
// MS Edge argumentsList argument is optional
$export($export.S + $export.F * !__webpack_require__(5)(function () {
rApply(function () {});
}), 'Reflect', {
apply: function apply(target, thisArgument, argumentsList) {
var T = aFunction(target),
L = anObject(argumentsList);
return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
}
});

/***/ }),
/* 337 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])


var $export = __webpack_require__(0),
create = __webpack_require__(50),
aFunction = __webpack_require__(30),
anObject = __webpack_require__(8),
isObject = __webpack_require__(9),
fails = __webpack_require__(5),
bind = __webpack_require__(183),
rConstruct = (__webpack_require__(3).Reflect || {}).construct;

// MS Edge supports only 2 arguments and argumentsList argument is optional


// FF Nightly sets third argument as `new.target`, but does not create `this` from
it
var NEW_TARGET_BUG = fails(function () {
function F() {}
return !(rConstruct(function () {}, [], F) instanceof F);
});
var ARGS_BUG = !fails(function () {
rConstruct(function () {});
});

$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {


construct: function construct(Target, args /*, newTarget*/) {
aFunction(Target);
anObject(args);
var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);
if (Target == newTarget) {
// w/o altered newTarget, optimization for 0-4 arguments
switch (args.length) {
case 0:
return new Target();
case 1:
return new Target(args[0]);
case 2:
return new Target(args[0], args[1]);
case 3:
return new Target(args[0], args[1], args[2]);
case 4:
return new Target(args[0], args[1], args[2], args[3]);
}
// w/o altered newTarget, lot of arguments case
var $args = [null];
$args.push.apply($args, args);
return new (bind.apply(Target, $args))();
}
// with altered newTarget, not support built-in constructors
var proto = newTarget.prototype,
instance = create(isObject(proto) ? proto : Object.prototype),
result = Function.apply.call(Target, instance, args);
return isObject(result) ? result : instance;
}
});

/***/ }),
/* 338 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)


var dP = __webpack_require__(12),
$export = __webpack_require__(0),
anObject = __webpack_require__(8),
toPrimitive = __webpack_require__(36);

// MS Edge has broken Reflect.defineProperty - throwing instead of returning false


$export($export.S + $export.F * __webpack_require__(5)(function () {
Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });
}), 'Reflect', {
defineProperty: function defineProperty(target, propertyKey, attributes) {
anObject(target);
propertyKey = toPrimitive(propertyKey, true);
anObject(attributes);
try {
dP.f(target, propertyKey, attributes);
return true;
} catch (e) {
return false;
}
}
});

/***/ }),
/* 339 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.4 Reflect.deleteProperty(target, propertyKey)


var $export = __webpack_require__(0),
gOPD = __webpack_require__(26).f,
anObject = __webpack_require__(8);

$export($export.S, 'Reflect', {
deleteProperty: function deleteProperty(target, propertyKey) {
var desc = gOPD(anObject(target), propertyKey);
return desc && !desc.configurable ? false : delete target[propertyKey];
}
});

/***/ }),
/* 340 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 26.1.5 Reflect.enumerate(target)

var $export = __webpack_require__(0),


anObject = __webpack_require__(8);
var Enumerate = function (iterated) {
this._t = anObject(iterated); // target
this._i = 0; // next index
var keys = this._k = [] // keys
,
key;
for (key in iterated) keys.push(key);
};
__webpack_require__(149)(Enumerate, 'Object', function () {
var that = this,
keys = that._k,
key;
do {
if (that._i >= keys.length) return { value: undefined, done: true };
} while (!((key = keys[that._i++]) in that._t));
return { value: key, done: false };
});

$export($export.S, 'Reflect', {
enumerate: function enumerate(target) {
return new Enumerate(target);
}
});

/***/ }),
/* 341 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)


var gOPD = __webpack_require__(26),
$export = __webpack_require__(0),
anObject = __webpack_require__(8);

$export($export.S, 'Reflect', {
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey)
{
return gOPD.f(anObject(target), propertyKey);
}
});

/***/ }),
/* 342 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.8 Reflect.getPrototypeOf(target)
var $export = __webpack_require__(0),
getProto = __webpack_require__(39),
anObject = __webpack_require__(8);

$export($export.S, 'Reflect', {
getPrototypeOf: function getPrototypeOf(target) {
return getProto(anObject(target));
}
});

/***/ }),
/* 343 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.6 Reflect.get(target, propertyKey [, receiver])


var gOPD = __webpack_require__(26),
getPrototypeOf = __webpack_require__(39),
has = __webpack_require__(22),
$export = __webpack_require__(0),
isObject = __webpack_require__(9),
anObject = __webpack_require__(8);

function get(target, propertyKey /*, receiver*/) {


var receiver = arguments.length < 3 ? target : arguments[2],
desc,
proto;
if (anObject(target) === receiver) return target[propertyKey];
if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value :
desc.get !== undefined ? desc.get.call(receiver) : undefined;
if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey,
receiver);
}

$export($export.S, 'Reflect', { get: get });

/***/ }),
/* 344 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.9 Reflect.has(target, propertyKey)


var $export = __webpack_require__(0);

$export($export.S, 'Reflect', {
has: function has(target, propertyKey) {
return propertyKey in target;
}
});

/***/ }),
/* 345 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.10 Reflect.isExtensible(target)
var $export = __webpack_require__(0),
anObject = __webpack_require__(8),
$isExtensible = Object.isExtensible;

$export($export.S, 'Reflect', {
isExtensible: function isExtensible(target) {
anObject(target);
return $isExtensible ? $isExtensible(target) : true;
}
});

/***/ }),
/* 346 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.11 Reflect.ownKeys(target)
var $export = __webpack_require__(0);

$export($export.S, 'Reflect', { ownKeys: __webpack_require__(197) });

/***/ }),
/* 347 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.12 Reflect.preventExtensions(target)
var $export = __webpack_require__(0),
anObject = __webpack_require__(8),
$preventExtensions = Object.preventExtensions;

$export($export.S, 'Reflect', {
preventExtensions: function preventExtensions(target) {
anObject(target);
try {
if ($preventExtensions) $preventExtensions(target);
return true;
} catch (e) {
return false;
}
}
});

/***/ }),
/* 348 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.14 Reflect.setPrototypeOf(target, proto)


var $export = __webpack_require__(0),
setProto = __webpack_require__(153);

if (setProto) $export($export.S, 'Reflect', {


setPrototypeOf: function setPrototypeOf(target, proto) {
setProto.check(target, proto);
try {
setProto.set(target, proto);
return true;
} catch (e) {
return false;
}
}
});

/***/ }),
/* 349 */
/***/ (function(module, exports, __webpack_require__) {

// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])


var dP = __webpack_require__(12),
gOPD = __webpack_require__(26),
getPrototypeOf = __webpack_require__(39),
has = __webpack_require__(22),
$export = __webpack_require__(0),
createDesc = __webpack_require__(46),
anObject = __webpack_require__(8),
isObject = __webpack_require__(9);

function set(target, propertyKey, V /*, receiver*/) {


var receiver = arguments.length < 4 ? target : arguments[3],
ownDesc = gOPD.f(anObject(target), propertyKey),
existingDescriptor,
proto;
if (!ownDesc) {
if (isObject(proto = getPrototypeOf(target))) {
return set(proto, propertyKey, V, receiver);
}
ownDesc = createDesc(0);
}
if (has(ownDesc, 'value')) {
if (ownDesc.writable === false || !isObject(receiver)) return false;
existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);
existingDescriptor.value = V;
dP.f(receiver, propertyKey, existingDescriptor);
return true;
}
return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
}

$export($export.S, 'Reflect', { set: set });

/***/ }),
/* 350 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3),


inheritIfRequired = __webpack_require__(146),
dP = __webpack_require__(12).f,
gOPN = __webpack_require__(51).f,
isRegExp = __webpack_require__(119),
$flags = __webpack_require__(116),
$RegExp = global.RegExp,
Base = $RegExp,
proto = $RegExp.prototype,
re1 = /a/g,
re2 = /a/g
// "new" creates a new object, old webkit buggy here
,
CORRECT_NEW = new $RegExp(re1) !== re1;

if (__webpack_require__(11) && (!CORRECT_NEW || __webpack_require__(5)(function ()


{
re2[__webpack_require__(10)('match')] = false;
// RegExp constructor can alter flags and IsRegExp works correct with @@match
return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
}))) {
$RegExp = function RegExp(p, f) {
var tiRE = this instanceof $RegExp,
piRE = isRegExp(p),
fiU = f === undefined;
return !tiRE && piRE && p.constructor === $RegExp && fiU ? p :
inheritIfRequired(CORRECT_NEW ? new Base(piRE && !fiU ? p.source : p, f) :
Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) :
f), tiRE ? this : proto, $RegExp);
};
var proxy = function (key) {
key in $RegExp || dP($RegExp, key, {
configurable: true,
get: function () {
return Base[key];
},
set: function (it) {
Base[key] = it;
}
});
};
for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);
proto.constructor = $RegExp;
$RegExp.prototype = proto;
__webpack_require__(27)(global, 'RegExp', $RegExp);
}

__webpack_require__(61)('RegExp');

/***/ }),
/* 351 */
/***/ (function(module, exports, __webpack_require__) {

// @@match logic
__webpack_require__(115)('match', 1, function (defined, MATCH, $match) {
// 21.1.3.11 String.prototype.match(regexp)
return [function match(regexp) {
'use strict';

var O = defined(this),
fn = regexp == undefined ? undefined : regexp[MATCH];
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH]
(String(O));
}, $match];
});

/***/ }),
/* 352 */
/***/ (function(module, exports, __webpack_require__) {

// @@replace logic
__webpack_require__(115)('replace', 2, function (defined, REPLACE, $replace) {
// 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
return [function replace(searchValue, replaceValue) {
'use strict';

var O = defined(this),
fn = searchValue == undefined ? undefined : searchValue[REPLACE];
return fn !== undefined ? fn.call(searchValue, O, replaceValue) :
$replace.call(String(O), searchValue, replaceValue);
}, $replace];
});

/***/ }),
/* 353 */
/***/ (function(module, exports, __webpack_require__) {

// @@search logic
__webpack_require__(115)('search', 1, function (defined, SEARCH, $search) {
// 21.1.3.15 String.prototype.search(regexp)
return [function search(regexp) {
'use strict';

var O = defined(this),
fn = regexp == undefined ? undefined : regexp[SEARCH];
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH]
(String(O));
}, $search];
});

/***/ }),
/* 354 */
/***/ (function(module, exports, __webpack_require__) {

// @@split logic
__webpack_require__(115)('split', 2, function (defined, SPLIT, $split) {
'use strict';

var isRegExp = __webpack_require__(119),


_split = $split,
$push = [].push,
$SPLIT = 'split',
LENGTH = 'length',
LAST_INDEX = 'lastIndex';
if ('abbc'[$SPLIT](/(b)*/)[1] == 'c' || 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4
|| 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
'.'[$SPLIT](/()()/)[LENGTH] > 1 || ''[$SPLIT](/.?/)[LENGTH]) {
var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing
group
// based on es5-shim implementation, need to rework it
$split = function (separator, limit) {
var string = String(this);
if (separator === undefined && limit === 0) return [];
// If `separator` is not a regex, use native split
if (!isRegExp(separator)) return _split.call(string, separator, limit);
var output = [];
var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' :
'') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : '');
var lastLastIndex = 0;
var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
// Make `global` and avoid `lastIndex` issues by working with a copy
var separatorCopy = new RegExp(separator.source, flags + 'g');
var separator2, match, lastIndex, lastLength, i;
// Doesn't need flags gy, but they don't hurt
if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)',
flags);
while (match = separatorCopy.exec(string)) {
// `separatorCopy.lastIndex` is not reliable cross-browser
lastIndex = match.index + match[0][LENGTH];
if (lastIndex > lastLastIndex) {
output.push(string.slice(lastLastIndex, match.index));
// Fix browsers whose `exec` methods don't consistently return
`undefined` for NPCG
if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function ()
{
for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] ===
undefined) match[i] = undefined;
});
if (match[LENGTH] > 1 && match.index < string[LENGTH])
$push.apply(output, match.slice(1));
lastLength = match[0][LENGTH];
lastLastIndex = lastIndex;
if (output[LENGTH] >= splitLimit) break;
}
if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++;
// Avoid an infinite loop
}
if (lastLastIndex === string[LENGTH]) {
if (lastLength || !separatorCopy.test('')) output.push('');
} else output.push(string.slice(lastLastIndex));
return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
};
// Chakra, V8
} else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
$split = function (separator, limit) {
return separator === undefined && limit === 0 ? [] : _split.call(this,
separator, limit);
};
}
// 21.1.3.17 String.prototype.split(separator, limit)
return [function split(separator, limit) {
var O = defined(this),
fn = separator == undefined ? undefined : separator[SPLIT];
return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O),
separator, limit);
}, $split];
});

/***/ }),
/* 355 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

__webpack_require__(204);
var anObject = __webpack_require__(8),
$flags = __webpack_require__(116),
DESCRIPTORS = __webpack_require__(11),
TO_STRING = 'toString',
$toString = /./[TO_STRING];

var define = function (fn) {


__webpack_require__(27)(RegExp.prototype, TO_STRING, fn, true);
};

// 21.2.5.14 RegExp.prototype.toString()
if (__webpack_require__(5)(function () {
return $toString.call({ source: 'a', flags: 'b' }) != '/a/b';
})) {
define(function toString() {
var R = anObject(this);
return '/'.concat(R.source, '/', 'flags' in R ? R.flags : !DESCRIPTORS && R
instanceof RegExp ? $flags.call(R) : undefined);
});
// FF44- RegExp#toString has a wrong name
} else if ($toString.name != TO_STRING) {
define(function toString() {
return $toString.call(this);
});
}

/***/ }),
/* 356 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";

var strong = __webpack_require__(184);

// 23.2 Set Objects


module.exports = __webpack_require__(186)('Set', function (get) {
return function Set() {
return get(this, arguments.length > 0 ? arguments[0] : undefined);
};
}, {
// 23.2.3.1 Set.prototype.add(value)
add: function add(value) {
return strong.def(this, value = value === 0 ? 0 : value, value);
}
}, strong);

/***/ }),
/* 357 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.2 String.prototype.anchor(name)

__webpack_require__(23)('anchor', function (createHTML) {


return function anchor(name) {
return createHTML(this, 'a', 'name', name);
};
});

/***/ }),
/* 358 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.3 String.prototype.big()

__webpack_require__(23)('big', function (createHTML) {


return function big() {
return createHTML(this, 'big', '', '');
};
});

/***/ }),
/* 359 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.4 String.prototype.blink()

__webpack_require__(23)('blink', function (createHTML) {


return function blink() {
return createHTML(this, 'blink', '', '');
};
});
/***/ }),
/* 360 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.5 String.prototype.bold()

__webpack_require__(23)('bold', function (createHTML) {


return function bold() {
return createHTML(this, 'b', '', '');
};
});

/***/ }),
/* 361 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$at = __webpack_require__(157)(false);
$export($export.P, 'String', {
// 21.1.3.3 String.prototype.codePointAt(pos)
codePointAt: function codePointAt(pos) {
return $at(this, pos);
}
});

/***/ }),
/* 362 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])

var $export = __webpack_require__(0),


toLength = __webpack_require__(16),
context = __webpack_require__(158),
ENDS_WITH = 'endsWith',
$endsWith = ''[ENDS_WITH];

$export($export.P + $export.F * __webpack_require__(144)(ENDS_WITH), 'String', {


endsWith: function endsWith(searchString /*, endPosition = @length */) {
var that = context(this, searchString, ENDS_WITH),
endPosition = arguments.length > 1 ? arguments[1] : undefined,
len = toLength(that.length),
end = endPosition === undefined ? len : Math.min(toLength(endPosition),
len),
search = String(searchString);
return $endsWith ? $endsWith.call(that, search, end) : that.slice(end -
search.length, end) === search;
}
});

/***/ }),
/* 363 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.6 String.prototype.fixed()

__webpack_require__(23)('fixed', function (createHTML) {


return function fixed() {
return createHTML(this, 'tt', '', '');
};
});

/***/ }),
/* 364 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.7 String.prototype.fontcolor(color)

__webpack_require__(23)('fontcolor', function (createHTML) {


return function fontcolor(color) {
return createHTML(this, 'font', 'color', color);
};
});

/***/ }),
/* 365 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.8 String.prototype.fontsize(size)

__webpack_require__(23)('fontsize', function (createHTML) {


return function fontsize(size) {
return createHTML(this, 'font', 'size', size);
};
});

/***/ }),
/* 366 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


toIndex = __webpack_require__(53),
fromCharCode = String.fromCharCode,
$fromCodePoint = String.fromCodePoint;

// length should be 1, old FF problem


$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1),
'String', {
// 21.1.2.2 String.fromCodePoint(...codePoints)
fromCodePoint: function fromCodePoint(x) {
// eslint-disable-line no-unused-vars
var res = [],
aLen = arguments.length,
i = 0,
code;
while (aLen > i) {
code = +arguments[i++];
if (toIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a
valid code point');
res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -=
0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));
}return res.join('');
}
});

/***/ }),
/* 367 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
// 21.1.3.7 String.prototype.includes(searchString, position = 0)

var $export = __webpack_require__(0),


context = __webpack_require__(158),
INCLUDES = 'includes';

$export($export.P + $export.F * __webpack_require__(144)(INCLUDES), 'String', {


includes: function includes(searchString /*, position = 0 */) {
return !!~context(this, searchString, INCLUDES).indexOf(searchString,
arguments.length > 1 ? arguments[1] : undefined);
}
});

/***/ }),
/* 368 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.9 String.prototype.italics()

__webpack_require__(23)('italics', function (createHTML) {


return function italics() {
return createHTML(this, 'i', '', '');
};
});

/***/ }),
/* 369 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $at = __webpack_require__(157)(true);

// 21.1.3.27 String.prototype[@@iterator]()
__webpack_require__(150)(String, 'String', function (iterated) {
this._t = String(iterated); // target
this._i = 0; // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
}, function () {
var O = this._t,
index = this._i,
point;
if (index >= O.length) return { value: undefined, done: true };
point = $at(O, index);
this._i += point.length;
return { value: point, done: false };
});

/***/ }),
/* 370 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.10 String.prototype.link(url)

__webpack_require__(23)('link', function (createHTML) {


return function link(url) {
return createHTML(this, 'a', 'href', url);
};
});

/***/ }),
/* 371 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


toIObject = __webpack_require__(24),
toLength = __webpack_require__(16);

$export($export.S, 'String', {
// 21.1.2.4 String.raw(callSite, ...substitutions)
raw: function raw(callSite) {
var tpl = toIObject(callSite.raw),
len = toLength(tpl.length),
aLen = arguments.length,
res = [],
i = 0;
while (len > i) {
res.push(String(tpl[i++]));
if (i < aLen) res.push(String(arguments[i]));
}return res.join('');
}
});

/***/ }),
/* 372 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0);

$export($export.P, 'String', {
// 21.1.3.13 String.prototype.repeat(count)
repeat: __webpack_require__(159)
});

/***/ }),
/* 373 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.11 String.prototype.small()

__webpack_require__(23)('small', function (createHTML) {


return function small() {
return createHTML(this, 'small', '', '');
};
});

/***/ }),
/* 374 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
// 21.1.3.18 String.prototype.startsWith(searchString [, position ])

var $export = __webpack_require__(0),


toLength = __webpack_require__(16),
context = __webpack_require__(158),
STARTS_WITH = 'startsWith',
$startsWith = ''[STARTS_WITH];

$export($export.P + $export.F * __webpack_require__(144)(STARTS_WITH), 'String', {


startsWith: function startsWith(searchString /*, position = 0 */) {
var that = context(this, searchString, STARTS_WITH),
index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined,
that.length)),
search = String(searchString);
return $startsWith ? $startsWith.call(that, search, index) : that.slice(index,
index + search.length) === search;
}
});

/***/ }),
/* 375 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.12 String.prototype.strike()

__webpack_require__(23)('strike', function (createHTML) {


return function strike() {
return createHTML(this, 'strike', '', '');
};
});

/***/ }),
/* 376 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.13 String.prototype.sub()
__webpack_require__(23)('sub', function (createHTML) {
return function sub() {
return createHTML(this, 'sub', '', '');
};
});

/***/ }),
/* 377 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// B.2.3.14 String.prototype.sup()

__webpack_require__(23)('sup', function (createHTML) {


return function sup() {
return createHTML(this, 'sup', '', '');
};
});

/***/ }),
/* 378 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 21.1.3.25 String.prototype.trim()

__webpack_require__(63)('trim', function ($trim) {


return function trim() {
return $trim(this, 3);
};
});

/***/ }),
/* 379 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// ECMAScript 6 symbols shim

var global = __webpack_require__(3),


has = __webpack_require__(22),
DESCRIPTORS = __webpack_require__(11),
$export = __webpack_require__(0),
redefine = __webpack_require__(27),
META = __webpack_require__(60).KEY,
$fails = __webpack_require__(5),
shared = __webpack_require__(155),
setToStringTag = __webpack_require__(62),
uid = __webpack_require__(54),
wks = __webpack_require__(10),
wksExt = __webpack_require__(203),
wksDefine = __webpack_require__(202),
keyOf = __webpack_require__(254),
enumKeys = __webpack_require__(253),
isArray = __webpack_require__(148),
anObject = __webpack_require__(8),
toIObject = __webpack_require__(24),
toPrimitive = __webpack_require__(36),
createDesc = __webpack_require__(46),
_create = __webpack_require__(50),
gOPNExt = __webpack_require__(194),
$GOPD = __webpack_require__(26),
$DP = __webpack_require__(12),
$keys = __webpack_require__(52),
gOPD = $GOPD.f,
dP = $DP.f,
gOPN = gOPNExt.f,
$Symbol = global.Symbol,
$JSON = global.JSON,
_stringify = $JSON && $JSON.stringify,
PROTOTYPE = 'prototype',
HIDDEN = wks('_hidden'),
TO_PRIMITIVE = wks('toPrimitive'),
isEnum = {}.propertyIsEnumerable,
SymbolRegistry = shared('symbol-registry'),
AllSymbols = shared('symbols'),
OPSymbols = shared('op-symbols'),
ObjectProto = Object[PROTOTYPE],
USE_NATIVE = typeof $Symbol == 'function',
QObject = global.QObject;
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;

// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687


var setSymbolDesc = DESCRIPTORS && $fails(function () {
return _create(dP({}, 'a', {
get: function () {
return dP(this, 'a', { value: 7 }).a;
}
})).a != 7;
}) ? function (it, key, D) {
var protoDesc = gOPD(ObjectProto, key);
if (protoDesc) delete ObjectProto[key];
dP(it, key, D);
if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
} : dP;

var wrap = function (tag) {


var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
sym._k = tag;
return sym;
};

var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {


return typeof it == 'symbol';
} : function (it) {
return it instanceof $Symbol;
};

var $defineProperty = function defineProperty(it, key, D) {


if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
anObject(it);
key = toPrimitive(key, true);
anObject(D);
if (has(AllSymbols, key)) {
if (!D.enumerable) {
if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
it[HIDDEN][key] = true;
} else {
if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
D = _create(D, { enumerable: createDesc(0, false) });
}return setSymbolDesc(it, key, D);
}return dP(it, key, D);
};
var $defineProperties = function defineProperties(it, P) {
anObject(it);
var keys = enumKeys(P = toIObject(P)),
i = 0,
l = keys.length,
key;
while (l > i) $defineProperty(it, key = keys[i++], P[key]);
return it;
};
var $create = function create(it, P) {
return P === undefined ? _create(it) : $defineProperties(_create(it), P);
};
var $propertyIsEnumerable = function propertyIsEnumerable(key) {
var E = isEnum.call(this, key = toPrimitive(key, true));
if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return
false;
return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) &&
this[HIDDEN][key] ? E : true;
};
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
it = toIObject(it);
key = toPrimitive(key, true);
if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
var D = gOPD(it, key);
if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))
D.enumerable = true;
return D;
};
var $getOwnPropertyNames = function getOwnPropertyNames(it) {
var names = gOPN(toIObject(it)),
result = [],
i = 0,
key;
while (names.length > i) {
if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)
result.push(key);
}return result;
};
var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
var IS_OP = it === ObjectProto,
names = gOPN(IS_OP ? OPSymbols : toIObject(it)),
result = [],
i = 0,
key;
while (names.length > i) {
if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) :
true)) result.push(AllSymbols[key]);
}return result;
};
// 19.4.1.1 Symbol([description])
if (!USE_NATIVE) {
$Symbol = function Symbol() {
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
var $set = function (value) {
if (this === ObjectProto) $set.call(OPSymbols, value);
if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
setSymbolDesc(this, tag, createDesc(1, value));
};
if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable:
true, set: $set });
return wrap(tag);
};
redefine($Symbol[PROTOTYPE], 'toString', function toString() {
return this._k;
});

$GOPD.f = $getOwnPropertyDescriptor;
$DP.f = $defineProperty;
__webpack_require__(51).f = gOPNExt.f = $getOwnPropertyNames;
__webpack_require__(74).f = $propertyIsEnumerable;
__webpack_require__(122).f = $getOwnPropertySymbols;

if (DESCRIPTORS && !__webpack_require__(49)) {


redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
}

wksExt.f = function (name) {


return wrap(wks(name));
};
}

$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });

for (var symbols =


// 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10,
19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimi
tive,toStringTag,unscopables'.split(','), i = 0; symbols.length > i;)
wks(symbols[i++]);

for (var symbols = $keys(wks.store), i = 0; symbols.length > i;)


wksDefine(symbols[i++]);

$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {


// 19.4.2.1 Symbol.for(key)
'for': function (key) {
return has(SymbolRegistry, key += '') ? SymbolRegistry[key] :
SymbolRegistry[key] = $Symbol(key);
},
// 19.4.2.5 Symbol.keyFor(sym)
keyFor: function keyFor(key) {
if (isSymbol(key)) return keyOf(SymbolRegistry, key);
throw TypeError(key + ' is not a symbol!');
},
useSetter: function () {
setter = true;
},
useSimple: function () {
setter = false;
}
});

$export($export.S + $export.F * !USE_NATIVE, 'Object', {


// 19.1.2.2 Object.create(O [, Properties])
create: $create,
// 19.1.2.4 Object.defineProperty(O, P, Attributes)
defineProperty: $defineProperty,
// 19.1.2.3 Object.defineProperties(O, Properties)
defineProperties: $defineProperties,
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
// 19.1.2.7 Object.getOwnPropertyNames(O)
getOwnPropertyNames: $getOwnPropertyNames,
// 19.1.2.8 Object.getOwnPropertySymbols(O)
getOwnPropertySymbols: $getOwnPropertySymbols
});

// 24.3.2 JSON.stringify(value [, replacer [, space]])


$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
var S = $Symbol();
// MS Edge converts symbol values to JSON as {}
// WebKit converts symbol values to JSON as null
// V8 throws on boxed symbols
return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' ||
_stringify(Object(S)) != '{}';
})), 'JSON', {
stringify: function stringify(it) {
if (it === undefined || isSymbol(it)) return; // IE8 returns string on
undefined
var args = [it],
i = 1,
replacer,
$replacer;
while (arguments.length > i) args.push(arguments[i++]);
replacer = args[1];
if (typeof replacer == 'function') $replacer = replacer;
if ($replacer || !isArray(replacer)) replacer = function (key, value) {
if ($replacer) value = $replacer.call(this, key, value);
if (!isSymbol(value)) return value;
};
args[1] = replacer;
return _stringify.apply($JSON, args);
}
});

// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(25)($Symbol[PROTOTYPE],
TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
// 19.4.3.5 Symbol.prototype[@@toStringTag]
setToStringTag($Symbol, 'Symbol');
// 20.2.1.9 Math[@@toStringTag]
setToStringTag(Math, 'Math', true);
// 24.3.3 JSON[@@toStringTag]
setToStringTag(global.JSON, 'JSON', true);

/***/ }),
/* 380 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


$typed = __webpack_require__(123),
buffer = __webpack_require__(162),
anObject = __webpack_require__(8),
toIndex = __webpack_require__(53),
toLength = __webpack_require__(16),
isObject = __webpack_require__(9),
ArrayBuffer = __webpack_require__(3).ArrayBuffer,
speciesConstructor = __webpack_require__(156),
$ArrayBuffer = buffer.ArrayBuffer,
$DataView = buffer.DataView,
$isView = $typed.ABV && ArrayBuffer.isView,
$slice = $ArrayBuffer.prototype.slice,
VIEW = $typed.VIEW,
ARRAY_BUFFER = 'ArrayBuffer';

$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer),


{ ArrayBuffer: $ArrayBuffer });

$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {


// 24.1.3.1 ArrayBuffer.isView(arg)
isView: function isView(it) {
return $isView && $isView(it) || isObject(it) && VIEW in it;
}
});

$export($export.P + $export.U + $export.F * __webpack_require__(5)(function () {


return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
}), ARRAY_BUFFER, {
// 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
slice: function slice(start, end) {
if ($slice !== undefined && end === undefined) return
$slice.call(anObject(this), start); // FF fix
var len = anObject(this).byteLength,
first = toIndex(start, len),
final = toIndex(end === undefined ? len : end, len),
result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final -
first)),
viewS = new $DataView(this),
viewT = new $DataView(result),
index = 0;
while (first < final) {
viewT.setUint8(index++, viewS.getUint8(first++));
}return result;
}
});

__webpack_require__(61)(ARRAY_BUFFER);

/***/ }),
/* 381 */
/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(0);
$export($export.G + $export.W + $export.F * !__webpack_require__(123).ABV, {
DataView: __webpack_require__(162).DataView
});

/***/ }),
/* 382 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Float32', 4, function (init) {


return function Float32Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 383 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Float64', 8, function (init) {


return function Float64Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 384 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Int16', 2, function (init) {


return function Int16Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 385 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Int32', 4, function (init) {


return function Int32Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 386 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Int8', 1, function (init) {


return function Int8Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 387 */
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(40)('Uint16', 2, function (init) {
return function Uint16Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 388 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Uint32', 4, function (init) {


return function Uint32Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 389 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Uint8', 1, function (init) {


return function Uint8Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});

/***/ }),
/* 390 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(40)('Uint8', 1, function (init) {


return function Uint8ClampedArray(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
}, true);

/***/ }),
/* 391 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/Array.prototype.includes

var $export = __webpack_require__(0),


$includes = __webpack_require__(114)(true);

$export($export.P, 'Array', {
includes: function includes(el /*, fromIndex = 0 */) {
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
}
});

__webpack_require__(57)('includes');

/***/ }),
/* 392 */
/***/ (function(module, exports, __webpack_require__) {
// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-
globalasap-for-enqueuing-a-microtask
var $export = __webpack_require__(0),
microtask = __webpack_require__(192)(),
process = __webpack_require__(3).process,
isNode = __webpack_require__(31)(process) == 'process';

$export($export.G, {
asap: function asap(fn) {
var domain = isNode && process.domain;
microtask(domain ? domain.bind(fn) : fn);
}
});

/***/ }),
/* 393 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/ljharb/proposal-is-error
var $export = __webpack_require__(0),
cof = __webpack_require__(31);

$export($export.S, 'Error', {
isError: function isError(it) {
return cof(it) === 'Error';
}
});

/***/ }),
/* 394 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/DavidBruant/Map-Set.prototype.toJSON
var $export = __webpack_require__(0);

$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(185)('Map') });

/***/ }),
/* 395 */
/***/ (function(module, exports, __webpack_require__) {

// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
iaddh: function iaddh(x0, x1, y0, y1) {
var $x0 = x0 >>> 0,
$x1 = x1 >>> 0,
$y0 = y0 >>> 0;
return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>>
31) | 0;
}
});

/***/ }),
/* 396 */
/***/ (function(module, exports, __webpack_require__) {

// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
imulh: function imulh(u, v) {
var UINT16 = 0xffff,
$u = +u,
$v = +v,
u0 = $u & UINT16,
v0 = $v & UINT16,
u1 = $u >> 16,
v1 = $v >> 16,
t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
}
});

/***/ }),
/* 397 */
/***/ (function(module, exports, __webpack_require__) {

// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
isubh: function isubh(x0, x1, y0, y1) {
var $x0 = x0 >>> 0,
$x1 = x1 >>> 0,
$y0 = y0 >>> 0;
return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>>
31) | 0;
}
});

/***/ }),
/* 398 */
/***/ (function(module, exports, __webpack_require__) {

// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = __webpack_require__(0);

$export($export.S, 'Math', {
umulh: function umulh(u, v) {
var UINT16 = 0xffff,
$u = +u,
$v = +v,
u0 = $u & UINT16,
v0 = $v & UINT16,
u1 = $u >>> 16,
v1 = $v >>> 16,
t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
}
});

/***/ }),
/* 399 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var $export = __webpack_require__(0),
toObject = __webpack_require__(18),
aFunction = __webpack_require__(30),
$defineProperty = __webpack_require__(12);

// B.2.2.2 Object.prototype.__defineGetter__(P, getter)


__webpack_require__(11) && $export($export.P + __webpack_require__(121), 'Object',
{
__defineGetter__: function __defineGetter__(P, getter) {
$defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable:
true, configurable: true });
}
});

/***/ }),
/* 400 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


toObject = __webpack_require__(18),
aFunction = __webpack_require__(30),
$defineProperty = __webpack_require__(12);

// B.2.2.3 Object.prototype.__defineSetter__(P, setter)


__webpack_require__(11) && $export($export.P + __webpack_require__(121), 'Object',
{
__defineSetter__: function __defineSetter__(P, setter) {
$defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable:
true, configurable: true });
}
});

/***/ }),
/* 401 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/tc39/proposal-object-values-entries
var $export = __webpack_require__(0),
$entries = __webpack_require__(196)(true);

$export($export.S, 'Object', {
entries: function entries(it) {
return $entries(it);
}
});

/***/ }),
/* 402 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/tc39/proposal-object-getownpropertydescriptors
var $export = __webpack_require__(0),
ownKeys = __webpack_require__(197),
toIObject = __webpack_require__(24),
gOPD = __webpack_require__(26),
createProperty = __webpack_require__(141);

$export($export.S, 'Object', {
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
var O = toIObject(object),
getDesc = gOPD.f,
keys = ownKeys(O),
result = {},
i = 0,
key;
while (keys.length > i) createProperty(result, key = keys[i++], getDesc(O,
key));
return result;
}
});

/***/ }),
/* 403 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


toObject = __webpack_require__(18),
toPrimitive = __webpack_require__(36),
getPrototypeOf = __webpack_require__(39),
getOwnPropertyDescriptor = __webpack_require__(26).f;

// B.2.2.4 Object.prototype.__lookupGetter__(P)
__webpack_require__(11) && $export($export.P + __webpack_require__(121), 'Object',
{
__lookupGetter__: function __lookupGetter__(P) {
var O = toObject(this),
K = toPrimitive(P, true),
D;
do {
if (D = getOwnPropertyDescriptor(O, K)) return D.get;
} while (O = getPrototypeOf(O));
}
});

/***/ }),
/* 404 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $export = __webpack_require__(0),


toObject = __webpack_require__(18),
toPrimitive = __webpack_require__(36),
getPrototypeOf = __webpack_require__(39),
getOwnPropertyDescriptor = __webpack_require__(26).f;

// B.2.2.5 Object.prototype.__lookupSetter__(P)
__webpack_require__(11) && $export($export.P + __webpack_require__(121), 'Object',
{
__lookupSetter__: function __lookupSetter__(P) {
var O = toObject(this),
K = toPrimitive(P, true),
D;
do {
if (D = getOwnPropertyDescriptor(O, K)) return D.set;
} while (O = getPrototypeOf(O));
}
});

/***/ }),
/* 405 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/tc39/proposal-object-values-entries
var $export = __webpack_require__(0),
$values = __webpack_require__(196)(false);

$export($export.S, 'Object', {
values: function values(it) {
return $values(it);
}
});

/***/ }),
/* 406 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/DavidBruant/Map-Set.prototype.toJSON
var $export = __webpack_require__(0);

$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(185)('Set') });

/***/ }),
/* 407 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/mathiasbynens/String.prototype.at

var $export = __webpack_require__(0),


$at = __webpack_require__(157)(true);

$export($export.P, 'String', {
at: function at(pos) {
return $at(this, pos);
}
});

/***/ }),
/* 408 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://tc39.github.io/String.prototype.matchAll/

var $export = __webpack_require__(0),


defined = __webpack_require__(32),
toLength = __webpack_require__(16),
isRegExp = __webpack_require__(119),
getFlags = __webpack_require__(116),
RegExpProto = RegExp.prototype;

var $RegExpStringIterator = function (regexp, string) {


this._r = regexp;
this._s = string;
};

__webpack_require__(149)($RegExpStringIterator, 'RegExp String', function next() {


var match = this._r.exec(this._s);
return { value: match, done: match === null };
});

$export($export.P, 'String', {
matchAll: function matchAll(regexp) {
defined(this);
if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');
var S = String(this),
flags = 'flags' in RegExpProto ? String(regexp.flags) :
getFlags.call(regexp),
rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
rx.lastIndex = toLength(regexp.lastIndex);
return new $RegExpStringIterator(rx, S);
}
});

/***/ }),
/* 409 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-string-pad-start-end

var $export = __webpack_require__(0),


$pad = __webpack_require__(201);

$export($export.P, 'String', {
padEnd: function padEnd(maxLength /*, fillString = ' ' */) {
return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined,
false);
}
});

/***/ }),
/* 410 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-string-pad-start-end

var $export = __webpack_require__(0),


$pad = __webpack_require__(201);

$export($export.P, 'String', {
padStart: function padStart(maxLength /*, fillString = ' ' */) {
return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined,
true);
}
});

/***/ }),
/* 411 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/sebmarkbage/ecmascript-string-left-right-trim

__webpack_require__(63)('trimLeft', function ($trim) {


return function trimLeft() {
return $trim(this, 1);
};
}, 'trimStart');

/***/ }),
/* 412 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/sebmarkbage/ecmascript-string-left-right-trim

__webpack_require__(63)('trimRight', function ($trim) {


return function trimRight() {
return $trim(this, 2);
};
}, 'trimEnd');

/***/ }),
/* 413 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(202)('asyncIterator');

/***/ }),
/* 414 */
/***/ (function(module, exports, __webpack_require__) {

// https://github.com/ljharb/proposal-global
var $export = __webpack_require__(0);

$export($export.S, 'System', { global: __webpack_require__(3) });

/***/ }),
/* 415 */
/***/ (function(module, exports, __webpack_require__) {

var $iterators = __webpack_require__(164),


redefine = __webpack_require__(27),
global = __webpack_require__(3),
hide = __webpack_require__(25),
Iterators = __webpack_require__(59),
wks = __webpack_require__(10),
ITERATOR = wks('iterator'),
TO_STRING_TAG = wks('toStringTag'),
ArrayValues = Iterators.Array;

for (var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList',


'CSSRuleList'], i = 0; i < 5; i++) {
var NAME = collections[i],
Collection = global[NAME],
proto = Collection && Collection.prototype,
key;
if (proto) {
if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
Iterators[NAME] = ArrayValues;
for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key],
true);
}
}

/***/ }),
/* 416 */
/***/ (function(module, exports, __webpack_require__) {

var $export = __webpack_require__(0),


$task = __webpack_require__(161);
$export($export.G + $export.B, {
setImmediate: $task.set,
clearImmediate: $task.clear
});

/***/ }),
/* 417 */
/***/ (function(module, exports, __webpack_require__) {

// ie9- setTimeout & setInterval additional parameters fix


var global = __webpack_require__(3),
$export = __webpack_require__(0),
invoke = __webpack_require__(118),
partial = __webpack_require__(256),
navigator = global.navigator,
MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9-
check
var wrap = function (set) {
return MSIE ? function (fn, time /*, ...args */) {
return set(invoke(partial, [].slice.call(arguments, 2), typeof fn == 'function'
? fn : Function(fn)), time);
} : set;
};
$export($export.G + $export.B + $export.F * MSIE, {
setTimeout: wrap(global.setTimeout),
setInterval: wrap(global.setInterval)
});

/***/ }),
/* 418 */
/***/ (function(module, exports, __webpack_require__) {

var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!


* https://github.com/es-shims/es5-shim
* @license es5-shim Copyright 2009-2015 by contributors, MIT License
* see https://github.com/es-shims/es5-shim/blob/master/LICENSE
*/

// vim: ts=4 sts=4 sw=4 expandtab

// Add semicolon to prevent IIFE from being passed as argument to concatenated


code.
;

// UMD (Universal Module Definition)


// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js
(function (root, factory) {
'use strict';

/* global define, exports, module */

if (true) {
// AMD. Register as an anonymous module.
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof
__WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,
__webpack_require__, exports, module)) :
__WEBPACK_AMD_DEFINE_FACTORY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined &&
(module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like enviroments that support module.exports,
// like Node.
module.exports = factory();
} else {
// Browser globals (root is window)
root.returnExports = factory();
}
})(this, function () {
/**
* Brings an environment as close to ECMAScript 5 compliance
* as is possible with the facilities of erstwhile engines.
*
* Annotated ES5: http://es5.github.com/ (specific links below)
* ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-
262.pdf
* Required reading:
http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/
*/

// Shortcut to an often accessed properties, in order to avoid multiple


// dereference that costs universally. This also holds a reference to known-
good
// functions.
var $Array = Array;
var ArrayPrototype = $Array.prototype;
var $Object = Object;
var ObjectPrototype = $Object.prototype;
var $Function = Function;
var FunctionPrototype = $Function.prototype;
var $String = String;
var StringPrototype = $String.prototype;
var $Number = Number;
var NumberPrototype = $Number.prototype;
var array_slice = ArrayPrototype.slice;
var array_splice = ArrayPrototype.splice;
var array_push = ArrayPrototype.push;
var array_unshift = ArrayPrototype.unshift;
var array_concat = ArrayPrototype.concat;
var array_join = ArrayPrototype.join;
var call = FunctionPrototype.call;
var apply = FunctionPrototype.apply;
var max = Math.max;
var min = Math.min;

// Having a toString local variable name breaks in Opera so use to_string.


var to_string = ObjectPrototype.toString;

/* global Symbol */
/* eslint-disable one-var-declaration-per-line, no-redeclare, max-statements-
per-line */
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag
=== 'symbol';
var isCallable; /* inlined from https://npmjs.com/is-callable */var fnToStr =
Function.prototype.toString,
constructorRegex = /^\s*class /,
isES6ClassFn = function isES6ClassFn(value) {
try {
var fnStr = fnToStr.call(value);var singleStripped =
fnStr.replace(/\/\/.*\n/g, '');var multiStripped =
singleStripped.replace(/\/\*[.\s\S]*\*\//g, '');var spaceStripped =
multiStripped.replace(/\n/mg, ' ').replace(/ {2}/g, ' ');return
constructorRegex.test(spaceStripped);
} catch (e) {
return false; /* not a function */
}
},
tryFunctionObject = function tryFunctionObject(value) {
try {
if (isES6ClassFn(value)) {
return false;
}fnToStr.call(value);return true;
} catch (e) {
return false;
}
},
fnClass = '[object Function]',
genClass = '[object GeneratorFunction]',
isCallable = function isCallable(value) {
if (!value) {
return false;
}if (typeof value !== 'function' && typeof value !== 'object') {
return false;
}if (hasToStringTag) {
return tryFunctionObject(value);
}if (isES6ClassFn(value)) {
return false;
}var strClass = to_string.call(value);return strClass === fnClass ||
strClass === genClass;
};
var isRegex; /* inlined from https://npmjs.com/is-regex */var regexExec =
RegExp.prototype.exec,
tryRegexExec = function tryRegexExec(value) {
try {
regexExec.call(value);return true;
} catch (e) {
return false;
}
},
regexClass = '[object RegExp]';isRegex = function isRegex(value) {
if (typeof value !== 'object') {
return false;
}return hasToStringTag ? tryRegexExec(value) : to_string.call(value) ===
regexClass;
};
var isString; /* inlined from https://npmjs.com/is-string */var strValue =
String.prototype.valueOf,
tryStringObject = function tryStringObject(value) {
try {
strValue.call(value);return true;
} catch (e) {
return false;
}
},
stringClass = '[object String]';isString = function isString(value) {
if (typeof value === 'string') {
return true;
}if (typeof value !== 'object') {
return false;
}return hasToStringTag ? tryStringObject(value) : to_string.call(value) ===
stringClass;
};
/* eslint-enable one-var-declaration-per-line, no-redeclare, max-statements-
per-line */

/* inlined from http://npmjs.com/define-properties */


var supportsDescriptors = $Object.defineProperty && function () {
try {
var obj = {};
$Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
for (var _ in obj) {
// jscs:ignore disallowUnusedVariables
return false;
}
return obj.x === obj;
} catch (e) {
/* this is ES3 */
return false;
}
}();
var defineProperties = function (has) {
// Define configurable, writable, and non-enumerable props
// if they don't exist.
var defineProperty;
if (supportsDescriptors) {
defineProperty = function (object, name, method, forceAssign) {
if (!forceAssign && name in object) {
return;
}
$Object.defineProperty(object, name, {
configurable: true,
enumerable: false,
writable: true,
value: method
});
};
} else {
defineProperty = function (object, name, method, forceAssign) {
if (!forceAssign && name in object) {
return;
}
object[name] = method;
};
}
return function defineProperties(object, map, forceAssign) {
for (var name in map) {
if (has.call(map, name)) {
defineProperty(object, name, map[name], forceAssign);
}
}
};
}(ObjectPrototype.hasOwnProperty);

//
// Util
// ======
//

/* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive


*/
var isPrimitive = function isPrimitive(input) {
var type = typeof input;
return input === null || type !== 'object' && type !== 'function';
};

var isActualNaN = $Number.isNaN || function isActualNaN(x) {


return x !== x;
};

var ES = {
// ES5 9.4
// http://es5.github.com/#x9.4
// http://jsperf.com/to-integer
/* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */
ToInteger: function ToInteger(num) {
var n = +num;
if (isActualNaN(n)) {
n = 0;
} else if (n !== 0 && n !== 1 / 0 && n !== -(1 / 0)) {
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}
return n;
},

/* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive


*/
ToPrimitive: function ToPrimitive(input) {
var val, valueOf, toStr;
if (isPrimitive(input)) {
return input;
}
valueOf = input.valueOf;
if (isCallable(valueOf)) {
val = valueOf.call(input);
if (isPrimitive(val)) {
return val;
}
}
toStr = input.toString;
if (isCallable(toStr)) {
val = toStr.call(input);
if (isPrimitive(val)) {
return val;
}
}
throw new TypeError();
},

// ES5 9.9
// http://es5.github.com/#x9.9
/* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */
ToObject: function (o) {
if (o == null) {
// this matches both null and undefined
throw new TypeError("can't convert " + o + ' to object');
}
return $Object(o);
},

/* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */


ToUint32: function ToUint32(x) {
return x >>> 0;
}
};

//
// Function
// ========
//

// ES-5 15.3.4.5
// http://es5.github.com/#x15.3.4.5

var Empty = function Empty() {};

defineProperties(FunctionPrototype, {
bind: function bind(that) {
// .length is 1
// 1. Let Target be the this value.
var target = this;
// 2. If IsCallable(Target) is false, throw a TypeError exception.
if (!isCallable(target)) {
throw new TypeError('Function.prototype.bind called on incompatible
' + target);
}
// 3. Let A be a new (possibly empty) internal list of all of the
// argument values provided after thisArg (arg1, arg2 etc), in order.
// XXX slicedArgs will stand in for "A" if used
var args = array_slice.call(arguments, 1); // for normal call
// 4. Let F be a new native ECMAScript object.
// 11. Set the [[Prototype]] internal property of F to the standard
// built-in Function prototype object as specified in 15.3.3.1.
// 12. Set the [[Call]] internal property of F as described in
// 15.3.4.5.1.
// 13. Set the [[Construct]] internal property of F as described in
// 15.3.4.5.2.
// 14. Set the [[HasInstance]] internal property of F as described in
// 15.3.4.5.3.
var bound;
var binder = function () {

if (this instanceof bound) {


// 15.3.4.5.2 [[Construct]]
// When the [[Construct]] internal method of a function object,
// F that was created using the bind function is called with a
// list of arguments ExtraArgs, the following steps are taken:
// 1. Let target be the value of F's [[TargetFunction]]
// internal property.
// 2. If target has no [[Construct]] internal method, a
// TypeError exception is thrown.
// 3. Let boundArgs be the value of F's [[BoundArgs]] internal
// property.
// 4. Let args be a new list containing the same values as the
// list boundArgs in the same order followed by the same
// values as the list ExtraArgs in the same order.
// 5. Return the result of calling the [[Construct]] internal
// method of target providing args as the arguments.

var result = apply.call(target, this, array_concat.call(args,


array_slice.call(arguments)));
if ($Object(result) === result) {
return result;
}
return this;
} else {
// 15.3.4.5.1 [[Call]]
// When the [[Call]] internal method of a function object, F,
// which was created using the bind function is called with a
// this value and a list of arguments ExtraArgs, the following
// steps are taken:
// 1. Let boundArgs be the value of F's [[BoundArgs]] internal
// property.
// 2. Let boundThis be the value of F's [[BoundThis]] internal
// property.
// 3. Let target be the value of F's [[TargetFunction]]
internal
// property.
// 4. Let args be a new list containing the same values as the
// list boundArgs in the same order followed by the same
// values as the list ExtraArgs in the same order.
// 5. Return the result of calling the [[Call]] internal method
// of target providing boundThis as the this value and
// providing args as the arguments.

// equiv: target.call(this, ...boundArgs, ...args)


return apply.call(target, that, array_concat.call(args,
array_slice.call(arguments)));
}
};

// 15. If the [[Class]] internal property of Target is "Function", then


// a. Let L be the length property of Target minus the length of A.
// b. Set the length own property of F to either 0 or L, whichever
is
// larger.
// 16. Else set the length own property of F to 0.

var boundLength = max(0, target.length - args.length);

// 17. Set the attributes of the length own property of F to the values
// specified in 15.3.5.1.
var boundArgs = [];
for (var i = 0; i < boundLength; i++) {
array_push.call(boundArgs, '$' + i);
}

// XXX Build a dynamic function with desired amount of arguments is the


only
// way to set the length property of a function.
// In environments where Content Security Policies enabled (Chrome
extensions,
// for ex.) all use of eval or Function costructor throws an exception.
// However in all of these environments Function.prototype.bind exists
// and so this code will never be executed.
bound = $Function('binder', 'return function (' +
array_join.call(boundArgs, ',') + '){ return binder.apply(this, arguments); }')
(binder);

if (target.prototype) {
Empty.prototype = target.prototype;
bound.prototype = new Empty();
// Clean up dangling references.
Empty.prototype = null;
}

// TODO
// 18. Set the [[Extensible]] internal property of F to true.

// TODO
// 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).
// 20. Call the [[DefineOwnProperty]] internal method of F with
// arguments "caller", PropertyDescriptor {[[Get]]: thrower, [[Set]]:
// thrower, [[Enumerable]]: false, [[Configurable]]: false}, and
// false.
// 21. Call the [[DefineOwnProperty]] internal method of F with
// arguments "arguments", PropertyDescriptor {[[Get]]: thrower,
// [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},
// and false.

// TODO
// NOTE Function objects created using Function.prototype.bind do not
// have a prototype property or the [[Code]], [[FormalParameters]], and
// [[Scope]] internal properties.
// XXX can't delete prototype in pure-js.
// 22. Return F.
return bound;
}
});

// _Please note: Shortcuts are defined after `Function.prototype.bind` as we


// use it in defining shortcuts.
var owns = call.bind(ObjectPrototype.hasOwnProperty);
var toStr = call.bind(ObjectPrototype.toString);
var arraySlice = call.bind(array_slice);
var arraySliceApply = apply.bind(array_slice);
/* globals document */
if (typeof document === 'object' && document && document.documentElement) {
try {
arraySlice(document.documentElement.childNodes);
} catch (e) {
var origArraySlice = arraySlice;
var origArraySliceApply = arraySliceApply;
arraySlice = function arraySliceIE(arr) {
var r = [];
var i = arr.length;
while (i-- > 0) {
r[i] = arr[i];
}
return origArraySliceApply(r, origArraySlice(arguments, 1));
};
arraySliceApply = function arraySliceApplyIE(arr, args) {
return origArraySliceApply(arraySlice(arr), args);
};
}
}
var strSlice = call.bind(StringPrototype.slice);
var strSplit = call.bind(StringPrototype.split);
var strIndexOf = call.bind(StringPrototype.indexOf);
var pushCall = call.bind(array_push);
var isEnum = call.bind(ObjectPrototype.propertyIsEnumerable);
var arraySort = call.bind(ArrayPrototype.sort);

//
// Array
// =====
//

var isArray = $Array.isArray || function isArray(obj) {


return toStr(obj) === '[object Array]';
};

// ES5 15.4.4.12
// http://es5.github.com/#x15.4.4.13
// Return len+argCount.
// [bugfix, ielt8]
// IE < 8 bug: [].unshift(0) === undefined but should be "1"
var hasUnshiftReturnValueBug = [].unshift(0) !== 1;
defineProperties(ArrayPrototype, {
unshift: function () {
array_unshift.apply(this, arguments);
return this.length;
}
}, hasUnshiftReturnValueBug);

// ES5 15.4.3.2
// http://es5.github.com/#x15.4.3.2
//
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray
defineProperties($Array, { isArray: isArray });

// The IsCallable() check in the Array functions


// has been replaced with a strict check on the
// internal class of the object to trap cases where
// the provided function was actually a regular
// expression literal, which in V8 and
// JavaScriptCore is a typeof "function". Only in
// V8 are regular expression literals permitted as
// reduce parameters, so it is desirable in the
// general case for the shim to match the more
// strict and common behavior of rejecting regular
// expressions.

// ES5 15.4.4.18
// http://es5.github.com/#x15.4.4.18
//
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach

// Check failure of by-index access of string characters (IE < 9)


// and failure of `0 in boxedString` (Rhino)
var boxedString = $Object('a');
var splitString = boxedString[0] !== 'a' || !(0 in boxedString);

var properlyBoxesContext = function properlyBoxed(method) {


// Check node 0.6.21 bug where third parameter is not boxed
var properlyBoxesNonStrict = true;
var properlyBoxesStrict = true;
var threwException = false;
if (method) {
try {
method.call('foo', function (_, __, context) {
if (typeof context !== 'object') {
properlyBoxesNonStrict = false;
}
});

method.call([1], function () {
'use strict';

properlyBoxesStrict = typeof this === 'string';


}, 'x');
} catch (e) {
threwException = true;
}
}
return !!method && !threwException && properlyBoxesNonStrict &&
properlyBoxesStrict;
};

defineProperties(ArrayPrototype, {
forEach: function forEach(callbackfn /*, thisArg*/) {
var object = ES.ToObject(this);
var self = splitString && isString(this) ? strSplit(this, '') : object;
var i = -1;
var length = ES.ToUint32(self.length);
var T;
if (arguments.length > 1) {
T = arguments[1];
}

// If no callback function or if callback is not a callable function


if (!isCallable(callbackfn)) {
throw new TypeError('Array.prototype.forEach callback must be a
function');
}

while (++i < length) {


if (i in self) {
// Invoke the callback function with call, passing arguments:
// context, property value, property key, thisArg object
if (typeof T === 'undefined') {
callbackfn(self[i], i, object);
} else {
callbackfn.call(T, self[i], i, object);
}
}
}
}
}, !properlyBoxesContext(ArrayPrototype.forEach));

// ES5 15.4.4.19
// http://es5.github.com/#x15.4.4.19
//
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
defineProperties(ArrayPrototype, {
map: function map(callbackfn /*, thisArg*/) {
var object = ES.ToObject(this);
var self = splitString && isString(this) ? strSplit(this, '') : object;
var length = ES.ToUint32(self.length);
var result = $Array(length);
var T;
if (arguments.length > 1) {
T = arguments[1];
}

// If no callback function or if callback is not a callable function


if (!isCallable(callbackfn)) {
throw new TypeError('Array.prototype.map callback must be a
function');
}

for (var i = 0; i < length; i++) {


if (i in self) {
if (typeof T === 'undefined') {
result[i] = callbackfn(self[i], i, object);
} else {
result[i] = callbackfn.call(T, self[i], i, object);
}
}
}
return result;
}
}, !properlyBoxesContext(ArrayPrototype.map));

// ES5 15.4.4.20
// http://es5.github.com/#x15.4.4.20
//
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
defineProperties(ArrayPrototype, {
filter: function filter(callbackfn /*, thisArg*/) {
var object = ES.ToObject(this);
var self = splitString && isString(this) ? strSplit(this, '') : object;
var length = ES.ToUint32(self.length);
var result = [];
var value;
var T;
if (arguments.length > 1) {
T = arguments[1];
}

// If no callback function or if callback is not a callable function


if (!isCallable(callbackfn)) {
throw new TypeError('Array.prototype.filter callback must be a
function');
}

for (var i = 0; i < length; i++) {


if (i in self) {
value = self[i];
if (typeof T === 'undefined' ? callbackfn(value, i, object) :
callbackfn.call(T, value, i, object)) {
pushCall(result, value);
}
}
}
return result;
}
}, !properlyBoxesContext(ArrayPrototype.filter));

// ES5 15.4.4.16
// http://es5.github.com/#x15.4.4.16
//
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every
defineProperties(ArrayPrototype, {
every: function every(callbackfn /*, thisArg*/) {
var object = ES.ToObject(this);
var self = splitString && isString(this) ? strSplit(this, '') : object;
var length = ES.ToUint32(self.length);
var T;
if (arguments.length > 1) {
T = arguments[1];
}

// If no callback function or if callback is not a callable function


if (!isCallable(callbackfn)) {
throw new TypeError('Array.prototype.every callback must be a
function');
}

for (var i = 0; i < length; i++) {


if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i],
i, object) : callbackfn.call(T, self[i], i, object))) {
return false;
}
}
return true;
}
}, !properlyBoxesContext(ArrayPrototype.every));

// ES5 15.4.4.17
// http://es5.github.com/#x15.4.4.17
//
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some
defineProperties(ArrayPrototype, {
some: function some(callbackfn /*, thisArg */) {
var object = ES.ToObject(this);
var self = splitString && isString(this) ? strSplit(this, '') : object;
var length = ES.ToUint32(self.length);
var T;
if (arguments.length > 1) {
T = arguments[1];
}

// If no callback function or if callback is not a callable function


if (!isCallable(callbackfn)) {
throw new TypeError('Array.prototype.some callback must be a
function');
}

for (var i = 0; i < length; i++) {


if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i,
object) : callbackfn.call(T, self[i], i, object))) {
return true;
}
}
return false;
}
}, !properlyBoxesContext(ArrayPrototype.some));

// ES5 15.4.4.21
// http://es5.github.com/#x15.4.4.21
//
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce
var reduceCoercesToObject = false;
if (ArrayPrototype.reduce) {
reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function
(_, __, ___, list) {
return list;
}) === 'object';
}
defineProperties(ArrayPrototype, {
reduce: function reduce(callbackfn /*, initialValue*/) {
var object = ES.ToObject(this);
var self = splitString && isString(this) ? strSplit(this, '') : object;
var length = ES.ToUint32(self.length);

// If no callback function or if callback is not a callable function


if (!isCallable(callbackfn)) {
throw new TypeError('Array.prototype.reduce callback must be a
function');
}

// no value to return if no initial value and an empty array


if (length === 0 && arguments.length === 1) {
throw new TypeError('reduce of empty array with no initial value');
}

var i = 0;
var result;
if (arguments.length >= 2) {
result = arguments[1];
} else {
do {
if (i in self) {
result = self[i++];
break;
}

// if array contains no values, no initial value to return


if (++i >= length) {
throw new TypeError('reduce of empty array with no initial
value');
}
} while (true);
}

for (; i < length; i++) {


if (i in self) {
result = callbackfn(result, self[i], i, object);
}
}

return result;
}
}, !reduceCoercesToObject);

// ES5 15.4.4.22
// http://es5.github.com/#x15.4.4.22
//
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce
Right
var reduceRightCoercesToObject = false;
if (ArrayPrototype.reduceRight) {
reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5',
function (_, __, ___, list) {
return list;
}) === 'object';
}
defineProperties(ArrayPrototype, {
reduceRight: function reduceRight(callbackfn /*, initial*/) {
var object = ES.ToObject(this);
var self = splitString && isString(this) ? strSplit(this, '') : object;
var length = ES.ToUint32(self.length);

// If no callback function or if callback is not a callable function


if (!isCallable(callbackfn)) {
throw new TypeError('Array.prototype.reduceRight callback must be a
function');
}

// no value to return if no initial value, empty array


if (length === 0 && arguments.length === 1) {
throw new TypeError('reduceRight of empty array with no initial
value');
}

var result;
var i = length - 1;
if (arguments.length >= 2) {
result = arguments[1];
} else {
do {
if (i in self) {
result = self[i--];
break;
}

// if array contains no values, no initial value to return


if (--i < 0) {
throw new TypeError('reduceRight of empty array with no
initial value');
}
} while (true);
}

if (i < 0) {
return result;
}

do {
if (i in self) {
result = callbackfn(result, self[i], i, object);
}
} while (i--);

return result;
}
}, !reduceRightCoercesToObject);

// ES5 15.4.4.14
// http://es5.github.com/#x15.4.4.14
//
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf
var hasFirefox2IndexOfBug = ArrayPrototype.indexOf && [0, 1].indexOf(1, 2) !==
-1;
defineProperties(ArrayPrototype, {
indexOf: function indexOf(searchElement /*, fromIndex */) {
var self = splitString && isString(this) ? strSplit(this, '') :
ES.ToObject(this);
var length = ES.ToUint32(self.length);

if (length === 0) {
return -1;
}

var i = 0;
if (arguments.length > 1) {
i = ES.ToInteger(arguments[1]);
}

// handle negative indices


i = i >= 0 ? i : max(0, length + i);
for (; i < length; i++) {
if (i in self && self[i] === searchElement) {
return i;
}
}
return -1;
}
}, hasFirefox2IndexOfBug);

// ES5 15.4.4.15
// http://es5.github.com/#x15.4.4.15
//
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastInde
xOf
var hasFirefox2LastIndexOfBug = ArrayPrototype.lastIndexOf && [0,
1].lastIndexOf(0, -3) !== -1;
defineProperties(ArrayPrototype, {
lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */) {
var self = splitString && isString(this) ? strSplit(this, '') :
ES.ToObject(this);
var length = ES.ToUint32(self.length);

if (length === 0) {
return -1;
}
var i = length - 1;
if (arguments.length > 1) {
i = min(i, ES.ToInteger(arguments[1]));
}
// handle negative indices
i = i >= 0 ? i : length - Math.abs(i);
for (; i >= 0; i--) {
if (i in self && searchElement === self[i]) {
return i;
}
}
return -1;
}
}, hasFirefox2LastIndexOfBug);

// ES5 15.4.4.12
// http://es5.github.com/#x15.4.4.12
var spliceNoopReturnsEmptyArray = function () {
var a = [1, 2];
var result = a.splice();
return a.length === 2 && isArray(result) && result.length === 0;
}();
defineProperties(ArrayPrototype, {
// Safari 5.0 bug where .splice() returns undefined
splice: function splice(start, deleteCount) {
if (arguments.length === 0) {
return [];
} else {
return array_splice.apply(this, arguments);
}
}
}, !spliceNoopReturnsEmptyArray);

var spliceWorksWithEmptyObject = function () {


var obj = {};
ArrayPrototype.splice.call(obj, 0, 0, 1);
return obj.length === 1;
}();
defineProperties(ArrayPrototype, {
splice: function splice(start, deleteCount) {
if (arguments.length === 0) {
return [];
}
var args = arguments;
this.length = max(ES.ToInteger(this.length), 0);
if (arguments.length > 0 && typeof deleteCount !== 'number') {
args = arraySlice(arguments);
if (args.length < 2) {
pushCall(args, this.length - start);
} else {
args[1] = ES.ToInteger(deleteCount);
}
}
return array_splice.apply(this, args);
}
}, !spliceWorksWithEmptyObject);
var spliceWorksWithLargeSparseArrays = function () {
// Per https://github.com/es-shims/es5-shim/issues/295
// Safari 7/8 breaks with sparse arrays of size 1e5 or greater
var arr = new $Array(1e5);
// note: the index MUST be 8 or larger or the test will false pass
arr[8] = 'x';
arr.splice(1, 1);
// note: this test must be defined *after* the indexOf shim
// per https://github.com/es-shims/es5-shim/issues/313
return arr.indexOf('x') === 7;
}();
var spliceWorksWithSmallSparseArrays = function () {
// Per https://github.com/es-shims/es5-shim/issues/295
// Opera 12.15 breaks on this, no idea why.
var n = 256;
var arr = [];
arr[n] = 'a';
arr.splice(n + 1, 0, 'b');
return arr[n] === 'a';
}();
defineProperties(ArrayPrototype, {
splice: function splice(start, deleteCount) {
var O = ES.ToObject(this);
var A = [];
var len = ES.ToUint32(O.length);
var relativeStart = ES.ToInteger(start);
var actualStart = relativeStart < 0 ? max(len + relativeStart, 0) :
min(relativeStart, len);
var actualDeleteCount = min(max(ES.ToInteger(deleteCount), 0), len -
actualStart);

var k = 0;
var from;
while (k < actualDeleteCount) {
from = $String(actualStart + k);
if (owns(O, from)) {
A[k] = O[from];
}
k += 1;
}

var items = arraySlice(arguments, 2);


var itemCount = items.length;
var to;
if (itemCount < actualDeleteCount) {
k = actualStart;
var maxK = len - actualDeleteCount;
while (k < maxK) {
from = $String(k + actualDeleteCount);
to = $String(k + itemCount);
if (owns(O, from)) {
O[to] = O[from];
} else {
delete O[to];
}
k += 1;
}
k = len;
var minK = len - actualDeleteCount + itemCount;
while (k > minK) {
delete O[k - 1];
k -= 1;
}
} else if (itemCount > actualDeleteCount) {
k = len - actualDeleteCount;
while (k > actualStart) {
from = $String(k + actualDeleteCount - 1);
to = $String(k + itemCount - 1);
if (owns(O, from)) {
O[to] = O[from];
} else {
delete O[to];
}
k -= 1;
}
}
k = actualStart;
for (var i = 0; i < items.length; ++i) {
O[k] = items[i];
k += 1;
}
O.length = len - actualDeleteCount + itemCount;

return A;
}
}, !spliceWorksWithLargeSparseArrays || !spliceWorksWithSmallSparseArrays);

var originalJoin = ArrayPrototype.join;


var hasStringJoinBug;
try {
hasStringJoinBug = Array.prototype.join.call('123', ',') !== '1,2,3';
} catch (e) {
hasStringJoinBug = true;
}
if (hasStringJoinBug) {
defineProperties(ArrayPrototype, {
join: function join(separator) {
var sep = typeof separator === 'undefined' ? ',' : separator;
return originalJoin.call(isString(this) ? strSplit(this, '') :
this, sep);
}
}, hasStringJoinBug);
}

var hasJoinUndefinedBug = [1, 2].join(undefined) !== '1,2';


if (hasJoinUndefinedBug) {
defineProperties(ArrayPrototype, {
join: function join(separator) {
var sep = typeof separator === 'undefined' ? ',' : separator;
return originalJoin.call(this, sep);
}
}, hasJoinUndefinedBug);
}

var pushShim = function push(item) {


var O = ES.ToObject(this);
var n = ES.ToUint32(O.length);
var i = 0;
while (i < arguments.length) {
O[n + i] = arguments[i];
i += 1;
}
O.length = n + i;
return n + i;
};

var pushIsNotGeneric = function () {


var obj = {};
var result = Array.prototype.push.call(obj, undefined);
return result !== 1 || obj.length !== 1 || typeof obj[0] !== 'undefined' ||
!owns(obj, 0);
}();
defineProperties(ArrayPrototype, {
push: function push(item) {
if (isArray(this)) {
return array_push.apply(this, arguments);
}
return pushShim.apply(this, arguments);
}
}, pushIsNotGeneric);

// This fixes a very weird bug in Opera 10.6 when pushing `undefined
var pushUndefinedIsWeird = function () {
var arr = [];
var result = arr.push(undefined);
return result !== 1 || arr.length !== 1 || typeof arr[0] !== 'undefined' ||
!owns(arr, 0);
}();
defineProperties(ArrayPrototype, { push: pushShim }, pushUndefinedIsWeird);
// ES5 15.2.3.14
// http://es5.github.io/#x15.4.4.10
// Fix boxed string bug
defineProperties(ArrayPrototype, {
slice: function (start, end) {
var arr = isString(this) ? strSplit(this, '') : this;
return arraySliceApply(arr, arguments);
}
}, splitString);

var sortIgnoresNonFunctions = function () {


try {
[1, 2].sort(null);
} catch (e) {
try {
[1, 2].sort({});
} catch (e2) {
return false;
}
}
return true;
}();
var sortThrowsOnRegex = function () {
// this is a problem in Firefox 4, in which `typeof /a/ === 'function'`
try {
[1, 2].sort(/a/);
return false;
} catch (e) {}
return true;
}();
var sortIgnoresUndefined = function () {
// applies in IE 8, for one.
try {
[1, 2].sort(undefined);
return true;
} catch (e) {}
return false;
}();
defineProperties(ArrayPrototype, {
sort: function sort(compareFn) {
if (typeof compareFn === 'undefined') {
return arraySort(this);
}
if (!isCallable(compareFn)) {
throw new TypeError('Array.prototype.sort callback must be a
function');
}
return arraySort(this, compareFn);
}
}, sortIgnoresNonFunctions || !sortIgnoresUndefined || !sortThrowsOnRegex);

//
// Object
// ======
//

// ES5 15.2.3.14
// http://es5.github.com/#x15.2.3.14
// http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-
implementation
var hasDontEnumBug = !isEnum({ 'toString': null }, 'toString'); // jscs:ignore
disallowQuotedKeysInObjects
var hasProtoEnumBug = isEnum(function () {}, 'prototype');
var hasStringEnumBug = !owns('x', '0');
var equalsConstructorPrototype = function (o) {
var ctor = o.constructor;
return ctor && ctor.prototype === o;
};
var excludedKeys = {
$window: true,
$console: true,
$parent: true,
$self: true,
$frame: true,
$frames: true,
$frameElement: true,
$webkitIndexedDB: true,
$webkitStorageInfo: true,
$external: true,
$width: true,
$height: true,
$top: true,
$localStorage: true
};
var hasAutomationEqualityBug = function () {
/* globals window */
if (typeof window === 'undefined') {
return false;
}
for (var k in window) {
try {
if (!excludedKeys['$' + k] && owns(window, k) && window[k] !== null
&& typeof window[k] === 'object') {
equalsConstructorPrototype(window[k]);
}
} catch (e) {
return true;
}
}
return false;
}();
var equalsConstructorPrototypeIfNotBuggy = function (object) {
if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
return equalsConstructorPrototype(object);
}
try {
return equalsConstructorPrototype(object);
} catch (e) {
return false;
}
};
var dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty',
'isPrototypeOf', 'propertyIsEnumerable', 'constructor'];
var dontEnumsLength = dontEnums.length;

// taken directly from https://github.com/ljharb/is-


arguments/blob/master/index.js
// can be replaced with require('is-arguments') if we ever use a build process
instead
var isStandardArguments = function isArguments(value) {
return toStr(value) === '[object Arguments]';
};
var isLegacyArguments = function isArguments(value) {
return value !== null && typeof value === 'object' && typeof value.length
=== 'number' && value.length >= 0 && !isArray(value) && isCallable(value.callee);
};
var isArguments = isStandardArguments(arguments) ? isStandardArguments :
isLegacyArguments;

defineProperties($Object, {
keys: function keys(object) {
var isFn = isCallable(object);
var isArgs = isArguments(object);
var isObject = object !== null && typeof object === 'object';
var isStr = isObject && isString(object);

if (!isObject && !isFn && !isArgs) {


throw new TypeError('Object.keys called on a non-object');
}

var theKeys = [];


var skipProto = hasProtoEnumBug && isFn;
if (isStr && hasStringEnumBug || isArgs) {
for (var i = 0; i < object.length; ++i) {
pushCall(theKeys, $String(i));
}
}

if (!isArgs) {
for (var name in object) {
if (!(skipProto && name === 'prototype') && owns(object, name))
{
pushCall(theKeys, $String(name));
}
}
}

if (hasDontEnumBug) {
var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
for (var j = 0; j < dontEnumsLength; j++) {
var dontEnum = dontEnums[j];
if (!(skipConstructor && dontEnum === 'constructor') &&
owns(object, dontEnum)) {
pushCall(theKeys, dontEnum);
}
}
}
return theKeys;
}
});

var keysWorksWithArguments = $Object.keys && function () {


// Safari 5.0 bug
return $Object.keys(arguments).length === 2;
}(1, 2);
var keysHasArgumentsLengthBug = $Object.keys && function () {
var argKeys = $Object.keys(arguments);
return arguments.length !== 1 || argKeys.length !== 1 || argKeys[0] !== 1;
}(1);
var originalKeys = $Object.keys;
defineProperties($Object, {
keys: function keys(object) {
if (isArguments(object)) {
return originalKeys(arraySlice(object));
} else {
return originalKeys(object);
}
}
}, !keysWorksWithArguments || keysHasArgumentsLengthBug);

//
// Date
// ====
//

var hasNegativeMonthYearBug = new Date(-3509827329600292).getUTCMonth() !== 0;


var aNegativeTestDate = new Date(-1509842289600292);
var aPositiveTestDate = new Date(1449662400000);
var hasToUTCStringFormatBug = aNegativeTestDate.toUTCString() !== 'Mon, 01 Jan
-45875 11:59:59 GMT';
var hasToDateStringFormatBug;
var hasToStringFormatBug;
var timeZoneOffset = aNegativeTestDate.getTimezoneOffset();
if (timeZoneOffset < -720) {
hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Tue Jan 02
-45875';
hasToStringFormatBug = !/^Thu Dec 10 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?:
|$)/.test(String(aPositiveTestDate));
} else {
hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Mon Jan 01
-45875';
hasToStringFormatBug = !/^Wed Dec 09 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?:
|$)/.test(String(aPositiveTestDate));
}

var originalGetFullYear = call.bind(Date.prototype.getFullYear);


var originalGetMonth = call.bind(Date.prototype.getMonth);
var originalGetDate = call.bind(Date.prototype.getDate);
var originalGetUTCFullYear = call.bind(Date.prototype.getUTCFullYear);
var originalGetUTCMonth = call.bind(Date.prototype.getUTCMonth);
var originalGetUTCDate = call.bind(Date.prototype.getUTCDate);
var originalGetUTCDay = call.bind(Date.prototype.getUTCDay);
var originalGetUTCHours = call.bind(Date.prototype.getUTCHours);
var originalGetUTCMinutes = call.bind(Date.prototype.getUTCMinutes);
var originalGetUTCSeconds = call.bind(Date.prototype.getUTCSeconds);
var originalGetUTCMilliseconds = call.bind(Date.prototype.getUTCMilliseconds);
var dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
'Oct', 'Nov', 'Dec'];
var daysInMonth = function daysInMonth(month, year) {
return originalGetDate(new Date(year, month, 0));
};

defineProperties(Date.prototype, {
getFullYear: function getFullYear() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var year = originalGetFullYear(this);
if (year < 0 && originalGetMonth(this) > 11) {
return year + 1;
}
return year;
},
getMonth: function getMonth() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var year = originalGetFullYear(this);
var month = originalGetMonth(this);
if (year < 0 && month > 11) {
return 0;
}
return month;
},
getDate: function getDate() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var year = originalGetFullYear(this);
var month = originalGetMonth(this);
var date = originalGetDate(this);
if (year < 0 && month > 11) {
if (month === 12) {
return date;
}
var days = daysInMonth(0, year + 1);
return days - date + 1;
}
return date;
},
getUTCFullYear: function getUTCFullYear() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var year = originalGetUTCFullYear(this);
if (year < 0 && originalGetUTCMonth(this) > 11) {
return year + 1;
}
return year;
},
getUTCMonth: function getUTCMonth() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var year = originalGetUTCFullYear(this);
var month = originalGetUTCMonth(this);
if (year < 0 && month > 11) {
return 0;
}
return month;
},
getUTCDate: function getUTCDate() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var year = originalGetUTCFullYear(this);
var month = originalGetUTCMonth(this);
var date = originalGetUTCDate(this);
if (year < 0 && month > 11) {
if (month === 12) {
return date;
}
var days = daysInMonth(0, year + 1);
return days - date + 1;
}
return date;
}
}, hasNegativeMonthYearBug);

defineProperties(Date.prototype, {
toUTCString: function toUTCString() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var day = originalGetUTCDay(this);
var date = originalGetUTCDate(this);
var month = originalGetUTCMonth(this);
var year = originalGetUTCFullYear(this);
var hour = originalGetUTCHours(this);
var minute = originalGetUTCMinutes(this);
var second = originalGetUTCSeconds(this);
return dayName[day] + ', ' + (date < 10 ? '0' + date : date) + ' ' +
monthName[month] + ' ' + year + ' ' + (hour < 10 ? '0' + hour : hour) + ':' +
(minute < 10 ? '0' + minute : minute) + ':' + (second < 10 ? '0' + second : second)
+ ' GMT';
}
}, hasNegativeMonthYearBug || hasToUTCStringFormatBug);

// Opera 12 has `,`


defineProperties(Date.prototype, {
toDateString: function toDateString() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var day = this.getDay();
var date = this.getDate();
var month = this.getMonth();
var year = this.getFullYear();
return dayName[day] + ' ' + monthName[month] + ' ' + (date < 10 ? '0' +
date : date) + ' ' + year;
}
}, hasNegativeMonthYearBug || hasToDateStringFormatBug);

// can't use defineProperties here because of toString enumeration issue in IE


<= 8
if (hasNegativeMonthYearBug || hasToStringFormatBug) {
Date.prototype.toString = function toString() {
if (!this || !(this instanceof Date)) {
throw new TypeError('this is not a Date object.');
}
var day = this.getDay();
var date = this.getDate();
var month = this.getMonth();
var year = this.getFullYear();
var hour = this.getHours();
var minute = this.getMinutes();
var second = this.getSeconds();
var timezoneOffset = this.getTimezoneOffset();
var hoursOffset = Math.floor(Math.abs(timezoneOffset) / 60);
var minutesOffset = Math.floor(Math.abs(timezoneOffset) % 60);
return dayName[day] + ' ' + monthName[month] + ' ' + (date < 10 ? '0' +
date : date) + ' ' + year + ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (minute <
10 ? '0' + minute : minute) + ':' + (second < 10 ? '0' + second : second) + ' GMT'
+ (timezoneOffset > 0 ? '-' : '+') + (hoursOffset < 10 ? '0' + hoursOffset :
hoursOffset) + (minutesOffset < 10 ? '0' + minutesOffset : minutesOffset);
};
if (supportsDescriptors) {
$Object.defineProperty(Date.prototype, 'toString', {
configurable: true,
enumerable: false,
writable: true
});
}
}

// ES5 15.9.5.43
// http://es5.github.com/#x15.9.5.43
// This function returns a String value represent the instance in time
// represented by this Date object. The format of the String is the Date Time
// string format defined in 15.9.1.15. All fields are present in the String.
// The time zone is always UTC, denoted by the suffix Z. If the time value of
// this object is not a finite Number a RangeError exception is thrown.
var negativeDate = -62198755200000;
var negativeYearString = '-000001';
var hasNegativeDateBug = Date.prototype.toISOString && new
Date(negativeDate).toISOString().indexOf(negativeYearString) === -1; // eslint-
disable-line max-len
var hasSafari51DateBug = Date.prototype.toISOString && new Date(-
1).toISOString() !== '1969-12-31T23:59:59.999Z';

var getTime = call.bind(Date.prototype.getTime);

defineProperties(Date.prototype, {
toISOString: function toISOString() {
if (!isFinite(this) || !isFinite(getTime(this))) {
// Adope Photoshop requires the second check.
throw new RangeError('Date.prototype.toISOString called on non-
finite value.');
}

var year = originalGetUTCFullYear(this);

var month = originalGetUTCMonth(this);


// see https://github.com/es-shims/es5-shim/issues/111
year += Math.floor(month / 12);
month = (month % 12 + 12) % 12;

// the date time string format is specified in 15.9.1.15.


var result = [month + 1, originalGetUTCDate(this),
originalGetUTCHours(this), originalGetUTCMinutes(this),
originalGetUTCSeconds(this)];
year = (year < 0 ? '-' : year > 9999 ? '+' : '') + strSlice('00000' +
Math.abs(year), 0 <= year && year <= 9999 ? -4 : -6);

for (var i = 0; i < result.length; ++i) {


// pad months, days, hours, minutes, and seconds to have two
digits.
result[i] = strSlice('00' + result[i], -2);
}
// pad milliseconds to have three digits.
return year + '-' + arraySlice(result, 0, 2).join('-') + 'T' +
arraySlice(result, 2).join(':') + '.' + strSlice('000' +
originalGetUTCMilliseconds(this), -3) + 'Z';
}
}, hasNegativeDateBug || hasSafari51DateBug);

// ES5 15.9.5.44
// http://es5.github.com/#x15.9.5.44
// This function provides a String representation of a Date object for use by
// JSON.stringify (15.12.3).
var dateToJSONIsSupported = function () {
try {
return Date.prototype.toJSON && new Date(NaN).toJSON() === null && new
Date(negativeDate).toJSON().indexOf(negativeYearString) !== -1 &&
Date.prototype.toJSON.call({ // generic
toISOString: function () {
return true;
}
});
} catch (e) {
return false;
}
}();
if (!dateToJSONIsSupported) {
Date.prototype.toJSON = function toJSON(key) {
// When the toJSON method is called with argument key, the following
// steps are taken:

// 1. Let O be the result of calling ToObject, giving it the this


// value as its argument.
// 2. Let tv be ES.ToPrimitive(O, hint Number).
var O = $Object(this);
var tv = ES.ToPrimitive(O);
// 3. If tv is a Number and is not finite, return null.
if (typeof tv === 'number' && !isFinite(tv)) {
return null;
}
// 4. Let toISO be the result of calling the [[Get]] internal method of
// O with argument "toISOString".
var toISO = O.toISOString;
// 5. If IsCallable(toISO) is false, throw a TypeError exception.
if (!isCallable(toISO)) {
throw new TypeError('toISOString property is not callable');
}
// 6. Return the result of calling the [[Call]] internal method of
// toISO with O as the this value and an empty argument list.
return toISO.call(O);

// NOTE 1 The argument is ignored.


// NOTE 2 The toJSON function is intentionally generic; it does not
// require that its this value be a Date object. Therefore, it can be
// transferred to other kinds of objects for use as a method. However,
// it does require that any such object have a toISOString method. An
// object is free to use the argument key to filter its
// stringification.
};
}

// ES5 15.9.4.2
// http://es5.github.com/#x15.9.4.2
// based on work shared by Daniel Friesen (dantman)
// http://gist.github.com/303249
var supportsExtendedYears = Date.parse('+033658-09-27T01:46:40.000Z') === 1e15;
var acceptsInvalidDates = !isNaN(Date.parse('2012-04-04T24:00:00.500Z')) || !
isNaN(Date.parse('2012-11-31T23:59:59.000Z')) || !isNaN(Date.parse('2012-12-
31T23:59:60.000Z'));
var doesNotParseY2KNewYear = isNaN(Date.parse('2000-01-01T00:00:00.000Z'));
if (doesNotParseY2KNewYear || acceptsInvalidDates || !supportsExtendedYears) {
// XXX global assignment won't work in embeddings that use
// an alternate object for the context.
/* global Date: true */
var maxSafeUnsigned32Bit = Math.pow(2, 31) - 1;
var hasSafariSignedIntBug = isActualNaN(new Date(1970, 0, 1, 0, 0, 0,
maxSafeUnsigned32Bit + 1).getTime());
// eslint-disable-next-line no-implicit-globals, no-global-assign
Date = function (NativeDate) {
// Date.length === 7
var DateShim = function Date(Y, M, D, h, m, s, ms) {
var length = arguments.length;
var date;
if (this instanceof NativeDate) {
var seconds = s;
var millis = ms;
if (hasSafariSignedIntBug && length >= 7 && ms >
maxSafeUnsigned32Bit) {
// work around a Safari 8/9 bug where it treats the seconds
as signed
var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) *
maxSafeUnsigned32Bit;
var sToShift = Math.floor(msToShift / 1e3);
seconds += sToShift;
millis -= sToShift * 1e3;
}
date = length === 1 && $String(Y) === Y // isString(Y)
// We explicitly pass it through parse:
? new NativeDate(DateShim.parse(Y))
// We have to manually make calls depending on argument
// length here
: length >= 7 ? new NativeDate(Y, M, D, h, m, seconds,
millis) : length >= 6 ? new NativeDate(Y, M, D, h, m, seconds) : length >= 5 ? new
NativeDate(Y, M, D, h, m) : length >= 4 ? new NativeDate(Y, M, D, h) : length >=
3 ? new NativeDate(Y, M, D) : length >= 2 ? new NativeDate(Y, M) : length >= 1 ?
new NativeDate(Y instanceof NativeDate ? +Y : Y) : new NativeDate();
} else {
date = NativeDate.apply(this, arguments);
}
if (!isPrimitive(date)) {
// Prevent mixups with unfixed Date object
defineProperties(date, { constructor: DateShim }, true);
}
return date;
};

// 15.9.1.15 Date Time String Format.


var isoDateExpression = new RegExp('^' + '(\\d{4}|[+-]\\d{6})' // four-
digit year capture or sign + 6-digit extended year
+ '(?:-(\\d{2})' // optional month capture
+ '(?:-(\\d{2})' // optional day capture
+ '(?:' // capture hours:minutes:seconds.milliseconds
+ 'T(\\d{2})' // hours capture
+ ':(\\d{2})' // minutes capture
+ '(?:' // optional :seconds.milliseconds
+ ':(\\d{2})' // seconds capture
+ '(?:(\\.\\d{1,}))?' // milliseconds capture
+ ')?' + '(' // capture UTC offset component
+ 'Z|' // UTC capture
+ '(?:' // offset specifier +/-hours:minutes
+ '([-+])' // sign capture
+ '(\\d{2})' // hours offset capture
+ ':(\\d{2})' // minutes offset capture
+ ')' + ')?)?)?)?' + '$');

var months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334,
365];

var dayFromMonth = function dayFromMonth(year, month) {


var t = month > 1 ? 1 : 0;
return months[month] + Math.floor((year - 1969 + t) / 4) -
Math.floor((year - 1901 + t) / 100) + Math.floor((year - 1601 + t) / 400) + 365 *
(year - 1970);
};

var toUTC = function toUTC(t) {


var s = 0;
var ms = t;
if (hasSafariSignedIntBug && ms > maxSafeUnsigned32Bit) {
// work around a Safari 8/9 bug where it treats the seconds as
signed
var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) *
maxSafeUnsigned32Bit;
var sToShift = Math.floor(msToShift / 1e3);
s += sToShift;
ms -= sToShift * 1e3;
}
return $Number(new NativeDate(1970, 0, 1, 0, 0, s, ms));
};

// Copy any custom methods a 3rd party library may have added
for (var key in NativeDate) {
if (owns(NativeDate, key)) {
DateShim[key] = NativeDate[key];
}
}

// Copy "native" methods explicitly; they may be non-enumerable


defineProperties(DateShim, {
now: NativeDate.now,
UTC: NativeDate.UTC
}, true);
DateShim.prototype = NativeDate.prototype;
defineProperties(DateShim.prototype, { constructor: DateShim }, true);

// Upgrade Date.parse to handle simplified ISO 8601 strings


var parseShim = function parse(string) {
var match = isoDateExpression.exec(string);
if (match) {
// parse months, days, hours, minutes, seconds, and
milliseconds
// provide default values if necessary
// parse the UTC offset component
var year = $Number(match[1]),
month = $Number(match[2] || 1) - 1,
day = $Number(match[3] || 1) - 1,
hour = $Number(match[4] || 0),
minute = $Number(match[5] || 0),
second = $Number(match[6] || 0),
millisecond = Math.floor($Number(match[7] || 0) * 1000),

// When time zone is missed, local offset should be used


// (ES 5.1 bug)
// see https://bugs.ecmascript.org/show_bug.cgi?id=112
isLocalTime = Boolean(match[4] && !match[8]),
signOffset = match[9] === '-' ? 1 : -1,
hourOffset = $Number(match[10] || 0),
minuteOffset = $Number(match[11] || 0),
result;
var hasMinutesOrSecondsOrMilliseconds = minute > 0 || second >
0 || millisecond > 0;
if (hour < (hasMinutesOrSecondsOrMilliseconds ? 24 : 25) &&
minute < 60 && second < 60 && millisecond < 1000 && month > -1 && month < 12 &&
hourOffset < 24 && minuteOffset < 60 // detect invalid offsets
&& day > -1 && day < dayFromMonth(year, month + 1) -
dayFromMonth(year, month)) {
result = ((dayFromMonth(year, month) + day) * 24 + hour +
hourOffset * signOffset) * 60;
result = ((result + minute + minuteOffset * signOffset) *
60 + second) * 1000 + millisecond;
if (isLocalTime) {
result = toUTC(result);
}
if (-8.64e15 <= result && result <= 8.64e15) {
return result;
}
}
return NaN;
}
return NativeDate.parse.apply(this, arguments);
};
defineProperties(DateShim, { parse: parseShim });

return DateShim;
}(Date);
/* global Date: false */
}

// ES5 15.9.4.4
// http://es5.github.com/#x15.9.4.4
if (!Date.now) {
Date.now = function now() {
return new Date().getTime();
};
}

//
// Number
// ======
//

// ES5.1 15.7.4.5
// http://es5.github.com/#x15.7.4.5
var hasToFixedBugs = NumberPrototype.toFixed && (0.00008.toFixed(3) !== '0.000'
|| 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128
.toFixed(0) !== '1000000000000000128');

var toFixedHelpers = {
base: 1e7,
size: 6,
data: [0, 0, 0, 0, 0, 0],
multiply: function multiply(n, c) {
var i = -1;
var c2 = c;
while (++i < toFixedHelpers.size) {
c2 += n * toFixedHelpers.data[i];
toFixedHelpers.data[i] = c2 % toFixedHelpers.base;
c2 = Math.floor(c2 / toFixedHelpers.base);
}
},
divide: function divide(n) {
var i = toFixedHelpers.size;
var c = 0;
while (--i >= 0) {
c += toFixedHelpers.data[i];
toFixedHelpers.data[i] = Math.floor(c / n);
c = c % n * toFixedHelpers.base;
}
},
numToString: function numToString() {
var i = toFixedHelpers.size;
var s = '';
while (--i >= 0) {
if (s !== '' || i === 0 || toFixedHelpers.data[i] !== 0) {
var t = $String(toFixedHelpers.data[i]);
if (s === '') {
s = t;
} else {
s += strSlice('0000000', 0, 7 - t.length) + t;
}
}
}
return s;
},
pow: function pow(x, n, acc) {
return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x *
x, n / 2, acc);
},
log: function log(x) {
var n = 0;
var x2 = x;
while (x2 >= 4096) {
n += 12;
x2 /= 4096;
}
while (x2 >= 2) {
n += 1;
x2 /= 2;
}
return n;
}
};

var toFixedShim = function toFixed(fractionDigits) {


var f, x, s, m, e, z, j, k;

// Test for NaN and round fractionDigits down


f = $Number(fractionDigits);
f = isActualNaN(f) ? 0 : Math.floor(f);

if (f < 0 || f > 20) {


throw new RangeError('Number.toFixed called with invalid number of
decimals');
}

x = $Number(this);

if (isActualNaN(x)) {
return 'NaN';
}

// If it is too big or small, return the string value of the number


if (x <= -1e21 || x >= 1e21) {
return $String(x);
}

s = '';

if (x < 0) {
s = '-';
x = -x;
}

m = '0';

if (x > 1e-21) {
// 1e-21 < x < 1e21
// -70 < log2(x) < 70
e = toFixedHelpers.log(x * toFixedHelpers.pow(2, 69, 1)) - 69;
z = e < 0 ? x * toFixedHelpers.pow(2, -e, 1) : x /
toFixedHelpers.pow(2, e, 1);
z *= 0x10000000000000; // Math.pow(2, 52);
e = 52 - e;

// -18 < e < 122


// x = z / 2 ^ e
if (e > 0) {
toFixedHelpers.multiply(0, z);
j = f;

while (j >= 7) {
toFixedHelpers.multiply(1e7, 0);
j -= 7;
}

toFixedHelpers.multiply(toFixedHelpers.pow(10, j, 1), 0);


j = e - 1;

while (j >= 23) {


toFixedHelpers.divide(1 << 23);
j -= 23;
}

toFixedHelpers.divide(1 << j);


toFixedHelpers.multiply(1, 1);
toFixedHelpers.divide(2);
m = toFixedHelpers.numToString();
} else {
toFixedHelpers.multiply(0, z);
toFixedHelpers.multiply(1 << -e, 0);
m = toFixedHelpers.numToString() +
strSlice('0.00000000000000000000', 2, 2 + f);
}
}

if (f > 0) {
k = m.length;

if (k <= f) {
m = s + strSlice('0.0000000000000000000', 0, f - k + 2) + m;
} else {
m = s + strSlice(m, 0, k - f) + '.' + strSlice(m, k - f);
}
} else {
m = s + m;
}

return m;
};
defineProperties(NumberPrototype, { toFixed: toFixedShim }, hasToFixedBugs);

var hasToPrecisionUndefinedBug = function () {


try {
return 1.0.toPrecision(undefined) === '1';
} catch (e) {
return true;
}
}();
var originalToPrecision = NumberPrototype.toPrecision;
defineProperties(NumberPrototype, {
toPrecision: function toPrecision(precision) {
return typeof precision === 'undefined' ?
originalToPrecision.call(this) : originalToPrecision.call(this, precision);
}
}, hasToPrecisionUndefinedBug);
//
// String
// ======
//

// ES5 15.5.4.14
// http://es5.github.com/#x15.5.4.14

// [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers]


// Many browsers do not split properly with regular expressions or they
// do not perform the split correctly under obscure conditions.
// See http://blog.stevenlevithan.com/archives/cross-browser-split
// I've tested in many browsers and this seems to cover the deviant ones:
// 'ab'.split(/(?:ab)*/) should be ["", ""], not [""]
// '.'.split(/(.?)(.?)/) should be ["", ".", "", ""], not ["", ""]
// 'tesst'.split(/(s)*/) should be ["t", undefined, "e", "s", "t"], not
// [undefined, "t", undefined, "e", ...]
// ''.split(/.?/) should be [], not [""]
// '.'.split(/()()/) should be ["."], not ["", "", "."]

if ('ab'.split(/(?:ab)*/).length !== 2 || '.'.split(/(.?)(.?)/).length !== 4 ||


'tesst'.split(/(s)*/)[1] === 't' || 'test'.split(/(?:)/, -1).length !== 4 ||
''.split(/.?/).length || '.'.split(/()()/).length > 1) {
(function () {
var compliantExecNpcg = typeof /()??/.exec('')[1] === 'undefined'; //
NPCG: nonparticipating capturing group
var maxSafe32BitInt = Math.pow(2, 32) - 1;

StringPrototype.split = function (separator, limit) {


var string = String(this);
if (typeof separator === 'undefined' && limit === 0) {
return [];
}

// If `separator` is not a regex, use native split


if (!isRegex(separator)) {
return strSplit(this, separator, limit);
}

var output = [];


var flags = (separator.ignoreCase ? 'i' : '') +
(separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') // in ES6
+ (separator.sticky ? 'y' : ''),
// Firefox 3+ and ES6
lastLastIndex = 0,

// Make `global` and avoid `lastIndex` issues by working with a


copy
separator2,
match,
lastIndex,
lastLength;
var separatorCopy = new RegExp(separator.source, flags + 'g');
if (!compliantExecNpcg) {
// Doesn't need flags gy, but they don't hurt
separator2 = new RegExp('^' + separatorCopy.source + '$
(?!\\s)', flags);
}
/* Values for `limit`, per the spec:
* If undefined: 4294967295 // maxSafe32BitInt
* If 0, Infinity, or NaN: 0
* If positive number: limit = Math.floor(limit); if (limit >
4294967295) limit -= 4294967296;
* If negative number: 4294967296 - Math.floor(Math.abs(limit))
* If other: Type-convert, then use the above rules
*/
var splitLimit = typeof limit === 'undefined' ? maxSafe32BitInt :
ES.ToUint32(limit);
match = separatorCopy.exec(string);
while (match) {
// `separatorCopy.lastIndex` is not reliable cross-browser
lastIndex = match.index + match[0].length;
if (lastIndex > lastLastIndex) {
pushCall(output, strSlice(string, lastLastIndex,
match.index));
// Fix browsers whose `exec` methods don't consistently
return `undefined` for
// nonparticipating capturing groups
if (!compliantExecNpcg && match.length > 1) {
/* eslint-disable no-loop-func */
match[0].replace(separator2, function () {
for (var i = 1; i < arguments.length - 2; i++) {
if (typeof arguments[i] === 'undefined') {
match[i] = void 0;
}
}
});
/* eslint-enable no-loop-func */
}
if (match.length > 1 && match.index < string.length) {
array_push.apply(output, arraySlice(match, 1));
}
lastLength = match[0].length;
lastLastIndex = lastIndex;
if (output.length >= splitLimit) {
break;
}
}
if (separatorCopy.lastIndex === match.index) {
separatorCopy.lastIndex++; // Avoid an infinite loop
}
match = separatorCopy.exec(string);
}
if (lastLastIndex === string.length) {
if (lastLength || !separatorCopy.test('')) {
pushCall(output, '');
}
} else {
pushCall(output, strSlice(string, lastLastIndex));
}
return output.length > splitLimit ? arraySlice(output, 0,
splitLimit) : output;
};
})();

// [bugfix, chrome]
// If separator is undefined, then the result array contains just one
String,
// which is the this value (converted to a String). If limit is not
undefined,
// then the output array is truncated so that it contains no more than
limit
// elements.
// "0".split(undefined, 0) -> []
} else if ('0'.split(void 0, 0).length) {
StringPrototype.split = function split(separator, limit) {
if (typeof separator === 'undefined' && limit === 0) {
return [];
}
return strSplit(this, separator, limit);
};
}

var str_replace = StringPrototype.replace;


var replaceReportsGroupsCorrectly = function () {
var groups = [];
'x'.replace(/x(.)?/g, function (match, group) {
pushCall(groups, group);
});
return groups.length === 1 && typeof groups[0] === 'undefined';
}();

if (!replaceReportsGroupsCorrectly) {
StringPrototype.replace = function replace(searchValue, replaceValue) {
var isFn = isCallable(replaceValue);
var hasCapturingGroups = isRegex(searchValue) && /\)
[*?]/.test(searchValue.source);
if (!isFn || !hasCapturingGroups) {
return str_replace.call(this, searchValue, replaceValue);
} else {
var wrappedReplaceValue = function (match) {
var length = arguments.length;
var originalLastIndex = searchValue.lastIndex;
searchValue.lastIndex = 0;
var args = searchValue.exec(match) || [];
searchValue.lastIndex = originalLastIndex;
pushCall(args, arguments[length - 2], arguments[length - 1]);
return replaceValue.apply(this, args);
};
return str_replace.call(this, searchValue, wrappedReplaceValue);
}
};
}

// ECMA-262, 3rd B.2.3


// Not an ECMAScript standard, although ECMAScript 3rd Edition has a
// non-normative section suggesting uniform semantics and it should be
// normalized across all browsers
// [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE
var string_substr = StringPrototype.substr;
var hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b';
defineProperties(StringPrototype, {
substr: function substr(start, length) {
var normalizedStart = start;
if (start < 0) {
normalizedStart = max(this.length + start, 0);
}
return string_substr.call(this, normalizedStart, length);
}
}, hasNegativeSubstrBug);

// ES5 15.5.4.20
// whitespace from: http://es5.github.io/#x15.5.4.20
var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' +
'\u2029\uFEFF';
var zeroWidth = '\u200b';
var wsRegexChars = '[' + ws + ']';
var trimBeginRegexp = new RegExp('^' + wsRegexChars + wsRegexChars + '*');
var trimEndRegexp = new RegExp(wsRegexChars + wsRegexChars + '*$');
var hasTrimWhitespaceBug = StringPrototype.trim && (ws.trim() || !
zeroWidth.trim());
defineProperties(StringPrototype, {
// http://blog.stevenlevithan.com/archives/faster-trim-javascript
// http://perfectionkills.com/whitespace-deviations/
trim: function trim() {
if (typeof this === 'undefined' || this === null) {
throw new TypeError("can't convert " + this + ' to object');
}
return $String(this).replace(trimBeginRegexp,
'').replace(trimEndRegexp, '');
}
}, hasTrimWhitespaceBug);
var trim = call.bind(String.prototype.trim);

var hasLastIndexBug = StringPrototype.lastIndexOf && 'abc あい'.lastIndexOf('あ


い', 2) !== -1;
defineProperties(StringPrototype, {
lastIndexOf: function lastIndexOf(searchString) {
if (typeof this === 'undefined' || this === null) {
throw new TypeError("can't convert " + this + ' to object');
}
var S = $String(this);
var searchStr = $String(searchString);
var numPos = arguments.length > 1 ? $Number(arguments[1]) : NaN;
var pos = isActualNaN(numPos) ? Infinity : ES.ToInteger(numPos);
var start = min(max(pos, 0), S.length);
var searchLen = searchStr.length;
var k = start + searchLen;
while (k > 0) {
k = max(0, k - searchLen);
var index = strIndexOf(strSlice(S, k, start + searchLen),
searchStr);
if (index !== -1) {
return k + index;
}
}
return -1;
}
}, hasLastIndexBug);

var originalLastIndexOf = StringPrototype.lastIndexOf;


defineProperties(StringPrototype, {
lastIndexOf: function lastIndexOf(searchString) {
return originalLastIndexOf.apply(this, arguments);
}
}, StringPrototype.lastIndexOf.length !== 1);

// ES-5 15.1.2.2
// eslint-disable-next-line radix
if (parseInt(ws + '08') !== 8 || parseInt(ws + '0x16') !== 22) {
/* global parseInt: true */
parseInt = function (origParseInt) {
var hexRegex = /^[-+]?0[xX]/;
return function parseInt(str, radix) {
if (typeof str === 'symbol') {
// handle Symbols in node 8.3/8.4
// eslint-disable-next-line no-implicit-coercion, no-unused-
expressions
'' + str; // jscs:ignore disallowImplicitTypeConversion
}

var string = trim(String(str));


var defaultedRadix = $Number(radix) || (hexRegex.test(string) ?
16 : 10);
return origParseInt(string, defaultedRadix);
};
}(parseInt);
}

// https://es5.github.io/#x15.1.2.3
if (1 / parseFloat('-0') !== -Infinity) {
/* global parseFloat: true */
parseFloat = function (origParseFloat) {
return function parseFloat(string) {
var inputString = trim(String(string));
var result = origParseFloat(inputString);
return result === 0 && strSlice(inputString, 0, 1) === '-' ? -0 :
result;
};
}(parseFloat);
}

if (String(new RangeError('test')) !== 'RangeError: test') {


var errorToStringShim = function toString() {
if (typeof this === 'undefined' || this === null) {
throw new TypeError("can't convert " + this + ' to object');
}
var name = this.name;
if (typeof name === 'undefined') {
name = 'Error';
} else if (typeof name !== 'string') {
name = $String(name);
}
var msg = this.message;
if (typeof msg === 'undefined') {
msg = '';
} else if (typeof msg !== 'string') {
msg = $String(msg);
}
if (!name) {
return msg;
}
if (!msg) {
return name;
}
return name + ': ' + msg;
};
// can't use defineProperties here because of toString enumeration issue in
IE <= 8
Error.prototype.toString = errorToStringShim;
}

if (supportsDescriptors) {
var ensureNonEnumerable = function (obj, prop) {
if (isEnum(obj, prop)) {
var desc = Object.getOwnPropertyDescriptor(obj, prop);
if (desc.configurable) {
desc.enumerable = false;
Object.defineProperty(obj, prop, desc);
}
}
};
ensureNonEnumerable(Error.prototype, 'message');
if (Error.prototype.message !== '') {
Error.prototype.message = '';
}
ensureNonEnumerable(Error.prototype, 'name');
}

if (String(/a/mig) !== '/a/gim') {


var regexToString = function toString() {
var str = '/' + this.source + '/';
if (this.global) {
str += 'g';
}
if (this.ignoreCase) {
str += 'i';
}
if (this.multiline) {
str += 'm';
}
return str;
};
// can't use defineProperties here because of toString enumeration issue in
IE <= 8
RegExp.prototype.toString = regexToString;
}
});

/***/ }),
/* 419 */,
/* 420 */
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(module, global) {var


__WEBPACK_AMD_DEFINE_RESULT__;/*! JSON v3.3.2 | http://bestiejs.github.io/json3 |
Copyright 2012-2014, Kit Cambridge | http://kit.mit-license.org */
;(function () {
// Detect the `define` function exposed by asynchronous module loaders. The
// strict `define` check is necessary for compatibility with `r.js`.
var isLoader = "function" === "function" && __webpack_require__(489);

// A set of types used to distinguish objects from primitives.


var objectTypes = {
"function": true,
"object": true
};

// Detect the `exports` object exposed by CommonJS implementations.


var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType &&
exports;

// Use the `global` object exposed by Node (including Browserify via


// `insert-module-globals`), Narwhal, and Ringo as the default context,
// and the `window` object in browsers. Rhino exports a `global` function
// instead.
var root = objectTypes[typeof window] && window || this,
freeGlobal = freeExports && objectTypes[typeof module] && module && !
module.nodeType && typeof global == "object" && global;

if (freeGlobal && (freeGlobal["global"] === freeGlobal || freeGlobal["window"]


=== freeGlobal || freeGlobal["self"] === freeGlobal)) {
root = freeGlobal;
}

// Public: Initializes JSON 3 using the given `context` object, attaching the
// `stringify` and `parse` functions to the specified `exports` object.
function runInContext(context, exports) {
context || (context = root["Object"]());
exports || (exports = root["Object"]());

// Native constructor aliases.


var Number = context["Number"] || root["Number"],
String = context["String"] || root["String"],
Object = context["Object"] || root["Object"],
Date = context["Date"] || root["Date"],
SyntaxError = context["SyntaxError"] || root["SyntaxError"],
TypeError = context["TypeError"] || root["TypeError"],
Math = context["Math"] || root["Math"],
nativeJSON = context["JSON"] || root["JSON"];

// Delegate to the native `stringify` and `parse` implementations.


if (typeof nativeJSON == "object" && nativeJSON) {
exports.stringify = nativeJSON.stringify;
exports.parse = nativeJSON.parse;
}

// Convenience aliases.
var objectProto = Object.prototype,
getClass = objectProto.toString,
isProperty,
forEach,
undef;

// Test the `Date#getUTC*` methods. Based on work by @Yaffle.


var isExtended = new Date(-3509827334573292);
try {
// The `getUTCFullYear`, `Month`, and `Date` methods return nonsensical
// results for certain dates in Opera >= 10.53.
isExtended = isExtended.getUTCFullYear() == -109252 &&
isExtended.getUTCMonth() === 0 && isExtended.getUTCDate() === 1 &&
// Safari < 2.0.2 stores the internal millisecond time value correctly,
// but clips the values returned by the date methods to the range of
// signed 32-bit integers ([-2 ** 31, 2 ** 31 - 1]).
isExtended.getUTCHours() == 10 && isExtended.getUTCMinutes() == 37 &&
isExtended.getUTCSeconds() == 6 && isExtended.getUTCMilliseconds() == 708;
} catch (exception) {}

// Internal: Determines whether the native `JSON.stringify` and `parse`


// implementations are spec-compliant. Based on work by Ken Snyder.
function has(name) {
if (has[name] !== undef) {
// Return cached feature test result.
return has[name];
}
var isSupported;
if (name == "bug-string-char-index") {
// IE <= 7 doesn't support accessing string characters using square
// bracket notation. IE 8 only supports this for primitives.
isSupported = "a"[0] != "a";
} else if (name == "json") {
// Indicates whether both `JSON.stringify` and `JSON.parse` are
// supported.
isSupported = has("json-stringify") && has("json-parse");
} else {
var value,
serialized = '{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';
// Test `JSON.stringify`.
if (name == "json-stringify") {
var stringify = exports.stringify,
stringifySupported = typeof stringify == "function" && isExtended;
if (stringifySupported) {
// A test function object with a custom `toJSON` method.
(value = function () {
return 1;
}).toJSON = value;
try {
stringifySupported =
// Firefox 3.1b1 and b2 serialize string, number, and boolean
// primitives as object literals.
stringify(0) === "0" &&
// FF 3.1b1, b2, and JSON 2 serialize wrapped primitives as object
// literals.
stringify(new Number()) === "0" && stringify(new String()) == '""' &&
// FF 3.1b1, 2 throw an error if the value is `null`, `undefined`, or
// does not define a canonical JSON representation (this applies to
// objects with `toJSON` properties as well, *unless* they are nested
// within an object or array).
stringify(getClass) === undef &&
// IE 8 serializes `undefined` as `"undefined"`. Safari <= 5.1.7 and
// FF 3.1b3 pass this test.
stringify(undef) === undef &&
// Safari <= 5.1.7 and FF 3.1b3 throw `Error`s and `TypeError`s,
// respectively, if the value is omitted entirely.
stringify() === undef &&
// FF 3.1b1, 2 throw an error if the given value is not a number,
// string, array, object, Boolean, or `null` literal. This applies to
// objects with custom `toJSON` methods as well, unless they are
nested
// inside object or array literals. YUI 3.0.0b1 ignores custom
`toJSON`
// methods entirely.
stringify(value) === "1" && stringify([value]) == "[1]" &&
// Prototype <= 1.6.1 serializes `[undefined]` as `"[]"` instead of
// `"[null]"`.
stringify([undef]) == "[null]" &&
// YUI 3.0.0b1 fails to serialize `null` literals.
stringify(null) == "null" &&
// FF 3.1b1, 2 halts serialization if an array contains a function:
// `[1, true, getClass, 1]` serializes as "[1,true,],". FF 3.1b3
// elides non-JSON values from objects and arrays, unless they
// define custom `toJSON` methods.
stringify([undef, getClass, null]) == "[null,null,null]" &&
// Simple serialization test. FF 3.1b1 uses Unicode escape sequences
// where character escape codes are expected (e.g., `\b` =>
`\u0008`).
stringify({ "a": [value, true, false, null, "\x00\b\n\f\r\t"] }) ==
serialized &&
// FF 3.1b1 and b2 ignore the `filter` and `width` arguments.
stringify(null, value) === "1" && stringify([1, 2], null, 1) == "[\n
1,\n 2\n]" &&
// JSON 2, Prototype <= 1.7, and older WebKit builds incorrectly
// serialize extended years.
stringify(new Date(-8.64e15)) == '"-271821-04-20T00:00:00.000Z"' &&
// The milliseconds are optional in ES 5, but required in 5.1.
stringify(new Date(8.64e15)) == '"+275760-09-13T00:00:00.000Z"' &&
// Firefox <= 11.0 incorrectly serializes years prior to 0 as
negative
// four-digit years instead of six-digit years. Credits: @Yaffle.
stringify(new Date(-621987552e5)) == '"-000001-01-01T00:00:00.000Z"'
&&
// Safari <= 5.1.5 and Opera >= 10.53 incorrectly serialize
millisecond
// values less than 1000. Credits: @Yaffle.
stringify(new Date(-1)) == '"1969-12-31T23:59:59.999Z"';
} catch (exception) {
stringifySupported = false;
}
}
isSupported = stringifySupported;
}
// Test `JSON.parse`.
if (name == "json-parse") {
var parse = exports.parse;
if (typeof parse == "function") {
try {
// FF 3.1b1, b2 will throw an exception if a bare literal is
provided.
// Conforming implementations should also coerce the initial argument
to
// a string prior to parsing.
if (parse("0") === 0 && !parse(false)) {
// Simple parsing test.
value = parse(serialized);
var parseSupported = value["a"].length == 5 && value["a"][0] === 1;
if (parseSupported) {
try {
// Safari <= 5.1.2 and FF 3.1b1 allow unescaped tabs in
strings.
parseSupported = !parse('"\t"');
} catch (exception) {}
if (parseSupported) {
try {
// FF 4.0 and 4.0.1 allow leading `+` signs and leading
// decimal points. FF 4.0, 4.0.1, and IE 9-10 also allow
// certain octal literals.
parseSupported = parse("01") !== 1;
} catch (exception) {}
}
if (parseSupported) {
try {
// FF 4.0, 4.0.1, and Rhino 1.7R3-R4 allow trailing decimal
// points. These environments, along with FF 3.1b1 and 2,
// also allow trailing commas in JSON objects and arrays.
parseSupported = parse("1.") !== 1;
} catch (exception) {}
}
}
}
} catch (exception) {
parseSupported = false;
}
}
isSupported = parseSupported;
}
}
return has[name] = !!isSupported;
}

if (!has("json")) {
// Common `[[Class]]` name aliases.
var functionClass = "[object Function]",
dateClass = "[object Date]",
numberClass = "[object Number]",
stringClass = "[object String]",
arrayClass = "[object Array]",
booleanClass = "[object Boolean]";

// Detect incomplete support for accessing string characters by index.


var charIndexBuggy = has("bug-string-char-index");

// Define additional utility methods if the `Date` methods are buggy.


if (!isExtended) {
var floor = Math.floor;
// A mapping between the months of the year and the number of days between
// January 1st and the first of the respective month.
var Months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
// Internal: Calculates the number of days between the Unix epoch and the
// first day of the given month.
var getDay = function (year, month) {
return Months[month] + 365 * (year - 1970) + floor((year - 1969 + (month
= +(month > 1))) / 4) - floor((year - 1901 + month) / 100) + floor((year - 1601 +
month) / 400);
};
}

// Internal: Determines if a property is a direct property of the given


// object. Delegates to the native `Object#hasOwnProperty` method.
if (!(isProperty = objectProto.hasOwnProperty)) {
isProperty = function (property) {
var members = {},
constructor;
if ((members.__proto__ = null, members.__proto__ = {
// The *proto* property cannot be set multiple times in recent
// versions of Firefox and SeaMonkey.
"toString": 1
}, members).toString != getClass) {
// Safari <= 2.0.3 doesn't implement `Object#hasOwnProperty`, but
// supports the mutable *proto* property.
isProperty = function (property) {
// Capture and break the object's prototype chain (see section 8.6.2
// of the ES 5.1 spec). The parenthesized expression prevents an
// unsafe transformation by the Closure Compiler.
var original = this.__proto__,
result = property in (this.__proto__ = null, this);
// Restore the original prototype chain.
this.__proto__ = original;
return result;
};
} else {
// Capture a reference to the top-level `Object` constructor.
constructor = members.constructor;
// Use the `constructor` property to simulate `Object#hasOwnProperty`
in
// other environments.
isProperty = function (property) {
var parent = (this.constructor || constructor).prototype;
return property in this && !(property in parent && this[property] ===
parent[property]);
};
}
members = null;
return isProperty.call(this, property);
};
}

// Internal: Normalizes the `for...in` iteration algorithm across


// environments. Each enumerated key is yielded to a `callback` function.
forEach = function (object, callback) {
var size = 0,
Properties,
members,
property;

// Tests for bugs in the current environment's `for...in` algorithm. The


// `valueOf` property inherits the non-enumerable flag from
// `Object.prototype` in older versions of IE, Netscape, and Mozilla.
(Properties = function () {
this.valueOf = 0;
}).prototype.valueOf = 0;

// Iterate over a new instance of the `Properties` class.


members = new Properties();
for (property in members) {
// Ignore all properties inherited from `Object.prototype`.
if (isProperty.call(members, property)) {
size++;
}
}
Properties = members = null;

// Normalize the iteration algorithm.


if (!size) {
// A list of non-enumerable properties inherited from `Object.prototype`.
members = ["valueOf", "toString", "toLocaleString",
"propertyIsEnumerable", "isPrototypeOf", "hasOwnProperty", "constructor"];
// IE <= 8, Mozilla 1.0, and Netscape 6.2 ignore shadowed non-enumerable
// properties.
forEach = function (object, callback) {
var isFunction = getClass.call(object) == functionClass,
property,
length;
var hasProperty = !isFunction && typeof object.constructor !=
"function" && objectTypes[typeof object.hasOwnProperty] && object.hasOwnProperty ||
isProperty;
for (property in object) {
// Gecko <= 1.0 enumerates the `prototype` property of functions
under
// certain conditions; IE does not.
if (!(isFunction && property == "prototype") &&
hasProperty.call(object, property)) {
callback(property);
}
}
// Manually invoke the callback for each non-enumerable property.
for (length = members.length; property = members[--length];
hasProperty.call(object, property) && callback(property));
};
} else if (size == 2) {
// Safari <= 2.0.4 enumerates shadowed properties twice.
forEach = function (object, callback) {
// Create a set of iterated properties.
var members = {},
isFunction = getClass.call(object) == functionClass,
property;
for (property in object) {
// Store each property name to prevent double enumeration. The
// `prototype` property of functions is not enumerated due to cross-
// environment inconsistencies.
if (!(isFunction && property == "prototype") && !
isProperty.call(members, property) && (members[property] = 1) &&
isProperty.call(object, property)) {
callback(property);
}
}
};
} else {
// No bugs detected; use the standard `for...in` algorithm.
forEach = function (object, callback) {
var isFunction = getClass.call(object) == functionClass,
property,
isConstructor;
for (property in object) {
if (!(isFunction && property == "prototype") &&
isProperty.call(object, property) && !(isConstructor = property === "constructor"))
{
callback(property);
}
}
// Manually invoke the callback for the `constructor` property due to
// cross-environment inconsistencies.
if (isConstructor || isProperty.call(object, property = "constructor"))
{
callback(property);
}
};
}
return forEach(object, callback);
};

// Public: Serializes a JavaScript `value` as a JSON string. The optional


// `filter` argument may specify either a function that alters how object and
// array members are serialized, or an array of strings and numbers that
// indicates which properties should be serialized. The optional `width`
// argument may be either a string or number that specifies the indentation
// level of the output.
if (!has("json-stringify")) {
// Internal: A map of control characters and their escaped equivalents.
var Escapes = {
92: "\\\\",
34: '\\"',
8: "\\b",
12: "\\f",
10: "\\n",
13: "\\r",
9: "\\t"
};

// Internal: Converts `value` into a zero-padded string such that its


// length is at least equal to `width`. The `width` must be <= 6.
var leadingZeroes = "000000";
var toPaddedString = function (width, value) {
// The `|| 0` expression is necessary to work around a bug in
// Opera <= 7.54u2 where `0 == -0`, but `String(-0) !== "0"`.
return (leadingZeroes + (value || 0)).slice(-width);
};

// Internal: Double-quotes a string `value`, replacing all ASCII control


// characters (characters with code unit values between 0 and 31) with
// their escaped equivalents. This is an implementation of the
// `Quote(value)` operation defined in ES 5.1 section 15.12.3.
var unicodePrefix = "\\u00";
var quote = function (value) {
var result = '"',
index = 0,
length = value.length,
useCharIndex = !charIndexBuggy || length > 10;
var symbols = useCharIndex && (charIndexBuggy ? value.split("") : value);
for (; index < length; index++) {
var charCode = value.charCodeAt(index);
// If the character is a control character, append its Unicode or
// shorthand escape sequence; otherwise, append the character as-is.
switch (charCode) {
case 8:case 9:case 10:case 12:case 13:case 34:case 92:
result += Escapes[charCode];
break;
default:
if (charCode < 32) {
result += unicodePrefix + toPaddedString(2,
charCode.toString(16));
break;
}
result += useCharIndex ? symbols[index] : value.charAt(index);
}
}
return result + '"';
};

// Internal: Recursively serializes an object. Implements the


// `Str(key, holder)`, `JO(value)`, and `JA(value)` operations.
var serialize = function (property, object, callback, properties,
whitespace, indentation, stack) {
var value, className, year, month, date, time, hours, minutes, seconds,
milliseconds, results, element, index, length, prefix, result;
try {
// Necessary for host object support.
value = object[property];
} catch (exception) {}
if (typeof value == "object" && value) {
className = getClass.call(value);
if (className == dateClass && !isProperty.call(value, "toJSON")) {
if (value > -1 / 0 && value < 1 / 0) {
// Dates are serialized according to the `Date#toJSON` method
// specified in ES 5.1 section 15.9.5.44. See section 15.9.1.15
// for the ISO 8601 date time string format.
if (getDay) {
// Manually compute the year, month, date, hours, minutes,
// seconds, and milliseconds if the `getUTC*` methods are
// buggy. Adapted from @Yaffle's `date-shim` project.
date = floor(value / 864e5);
for (year = floor(date / 365.2425) + 1970 - 1; getDay(year + 1,
0) <= date; year++);
for (month = floor((date - getDay(year, 0)) / 30.42);
getDay(year, month + 1) <= date; month++);
date = 1 + date - getDay(year, month);
// The `time` value specifies the time within the day (see ES
// 5.1 section 15.9.1.2). The formula `(A % B + B) % B` is used
// to compute `A modulo B`, as the `%` operator does not
// correspond to the `modulo` operation for negative numbers.
time = (value % 864e5 + 864e5) % 864e5;
// The hours, minutes, seconds, and milliseconds are obtained by
// decomposing the time within the day. See section 15.9.1.10.
hours = floor(time / 36e5) % 24;
minutes = floor(time / 6e4) % 60;
seconds = floor(time / 1e3) % 60;
milliseconds = time % 1e3;
} else {
year = value.getUTCFullYear();
month = value.getUTCMonth();
date = value.getUTCDate();
hours = value.getUTCHours();
minutes = value.getUTCMinutes();
seconds = value.getUTCSeconds();
milliseconds = value.getUTCMilliseconds();
}
// Serialize extended years correctly.
value = (year <= 0 || year >= 1e4 ? (year < 0 ? "-" : "+") +
toPaddedString(6, year < 0 ? -year : year) : toPaddedString(4, year)) + "-" +
toPaddedString(2, month + 1) + "-" + toPaddedString(2, date) +
// Months, dates, hours, minutes, and seconds should have two
// digits; milliseconds should have three.
"T" + toPaddedString(2, hours) + ":" + toPaddedString(2, minutes) +
":" + toPaddedString(2, seconds) +
// Milliseconds are optional in ES 5.0, but required in 5.1.
"." + toPaddedString(3, milliseconds) + "Z";
} else {
value = null;
}
} else if (typeof value.toJSON == "function" && (className !=
numberClass && className != stringClass && className != arrayClass ||
isProperty.call(value, "toJSON"))) {
// Prototype <= 1.6.1 adds non-standard `toJSON` methods to the
// `Number`, `String`, `Date`, and `Array` prototypes. JSON 3
// ignores all `toJSON` methods on these objects unless they are
// defined directly on an instance.
value = value.toJSON(property);
}
}
if (callback) {
// If a replacement function was provided, call it to obtain the value
// for serialization.
value = callback.call(object, property, value);
}
if (value === null) {
return "null";
}
className = getClass.call(value);
if (className == booleanClass) {
// Booleans are represented literally.
return "" + value;
} else if (className == numberClass) {
// JSON numbers must be finite. `Infinity` and `NaN` are serialized as
// `"null"`.
return value > -1 / 0 && value < 1 / 0 ? "" + value : "null";
} else if (className == stringClass) {
// Strings are double-quoted and escaped.
return quote("" + value);
}
// Recursively serialize objects and arrays.
if (typeof value == "object") {
// Check for cyclic structures. This is a linear search; performance
// is inversely proportional to the number of unique nested objects.
for (length = stack.length; length--;) {
if (stack[length] === value) {
// Cyclic structures cannot be serialized by `JSON.stringify`.
throw TypeError();
}
}
// Add the object to the stack of traversed objects.
stack.push(value);
results = [];
// Save the current indentation level and indent one additional level.
prefix = indentation;
indentation += whitespace;
if (className == arrayClass) {
// Recursively serialize array elements.
for (index = 0, length = value.length; index < length; index++) {
element = serialize(index, value, callback, properties, whitespace,
indentation, stack);
results.push(element === undef ? "null" : element);
}
result = results.length ? whitespace ? "[\n" + indentation +
results.join(",\n" + indentation) + "\n" + prefix + "]" : "[" + results.join(",") +
"]" : "[]";
} else {
// Recursively serialize object members. Members are selected from
// either a user-specified list of property names, or the object
// itself.
forEach(properties || value, function (property) {
var element = serialize(property, value, callback, properties,
whitespace, indentation, stack);
if (element !== undef) {
// According to ES 5.1 section 15.12.3: "If `gap` {whitespace}
// is not the empty string, let `member` {quote(property) + ":"}
// be the concatenation of `member` and the `space` character."
// The "`space` character" refers to the literal space
// character, not the `space` {width} argument provided to
// `JSON.stringify`.
results.push(quote(property) + ":" + (whitespace ? " " : "") +
element);
}
});
result = results.length ? whitespace ? "{\n" + indentation +
results.join(",\n" + indentation) + "\n" + prefix + "}" : "{" + results.join(",") +
"}" : "{}";
}
// Remove the object from the traversed object stack.
stack.pop();
return result;
}
};

// Public: `JSON.stringify`. See ES 5.1 section 15.12.3.


exports.stringify = function (source, filter, width) {
var whitespace, callback, properties, className;
if (objectTypes[typeof filter] && filter) {
if ((className = getClass.call(filter)) == functionClass) {
callback = filter;
} else if (className == arrayClass) {
// Convert the property names array into a makeshift set.
properties = {};
for (var index = 0, length = filter.length, value; index < length;
value = filter[index++], (className = getClass.call(value), className ==
stringClass || className == numberClass) && (properties[value] = 1));
}
}
if (width) {
if ((className = getClass.call(width)) == numberClass) {
// Convert the `width` to an integer and create a string containing
// `width` number of space characters.
if ((width -= width % 1) > 0) {
for (whitespace = "", width > 10 && (width = 10); whitespace.length
< width; whitespace += " ");
}
} else if (className == stringClass) {
whitespace = width.length <= 10 ? width : width.slice(0, 10);
}
}
// Opera <= 7.54u2 discards the values associated with empty string keys
// (`""`) only if they are used directly within an object member list
// (e.g., `!("" in { "": 1})`).
return serialize("", (value = {}, value[""] = source, value), callback,
properties, whitespace, "", []);
};
}

// Public: Parses a JSON source string.


if (!has("json-parse")) {
var fromCharCode = String.fromCharCode;

// Internal: A map of escaped control characters and their unescaped


// equivalents.
var Unescapes = {
92: "\\",
34: '"',
47: "/",
98: "\b",
116: "\t",
110: "\n",
102: "\f",
114: "\r"
};

// Internal: Stores the parser state.


var Index, Source;

// Internal: Resets the parser state and throws a `SyntaxError`.


var abort = function () {
Index = Source = null;
throw SyntaxError();
};

// Internal: Returns the next token, or `"$"` if the parser has reached
// the end of the source string. A token may be a string, number, `null`
// literal, or Boolean literal.
var lex = function () {
var source = Source,
length = source.length,
value,
begin,
position,
isSigned,
charCode;
while (Index < length) {
charCode = source.charCodeAt(Index);
switch (charCode) {
case 9:case 10:case 13:case 32:
// Skip whitespace tokens, including tabs, carriage returns, line
// feeds, and space characters.
Index++;
break;
case 123:case 125:case 91:case 93:case 58:case 44:
// Parse a punctuator token (`{`, `}`, `[`, `]`, `:`, or `,`) at
// the current position.
value = charIndexBuggy ? source.charAt(Index) : source[Index];
Index++;
return value;
case 34:
// `"` delimits a JSON string; advance to the next character and
// begin parsing the string. String tokens are prefixed with the
// sentinel `@` character to distinguish them from punctuators and
// end-of-string tokens.
for (value = "@", Index++; Index < length;) {
charCode = source.charCodeAt(Index);
if (charCode < 32) {
// Unescaped ASCII control characters (those with a code unit
// less than the space character) are not permitted.
abort();
} else if (charCode == 92) {
// A reverse solidus (`\`) marks the beginning of an escaped
// control character (including `"`, `\`, and `/`) or Unicode
// escape sequence.
charCode = source.charCodeAt(++Index);
switch (charCode) {
case 92:case 34:case 47:case 98:case 116:case 110:case
102:case 114:
// Revive escaped control characters.
value += Unescapes[charCode];
Index++;
break;
case 117:
// `\u` marks the beginning of a Unicode escape sequence.
// Advance to the first character and validate the
// four-digit code point.
begin = ++Index;
for (position = Index + 4; Index < position; Index++) {
charCode = source.charCodeAt(Index);
// A valid sequence comprises four hexdigits (case-
// insensitive) that form a single hexadecimal value.
if (!(charCode >= 48 && charCode <= 57 || charCode >= 97
&& charCode <= 102 || charCode >= 65 && charCode <= 70)) {
// Invalid Unicode escape sequence.
abort();
}
}
// Revive the escaped character.
value += fromCharCode("0x" + source.slice(begin, Index));
break;
default:
// Invalid escape sequence.
abort();
}
} else {
if (charCode == 34) {
// An unescaped double-quote character marks the end of the
// string.
break;
}
charCode = source.charCodeAt(Index);
begin = Index;
// Optimize for the common case where a string is valid.
while (charCode >= 32 && charCode != 92 && charCode != 34) {
charCode = source.charCodeAt(++Index);
}
// Append the string as-is.
value += source.slice(begin, Index);
}
}
if (source.charCodeAt(Index) == 34) {
// Advance to the next character and return the revived string.
Index++;
return value;
}
// Unterminated string.
abort();
default:
// Parse numbers and literals.
begin = Index;
// Advance past the negative sign, if one is specified.
if (charCode == 45) {
isSigned = true;
charCode = source.charCodeAt(++Index);
}
// Parse an integer or floating-point value.
if (charCode >= 48 && charCode <= 57) {
// Leading zeroes are interpreted as octal literals.
if (charCode == 48 && (charCode = source.charCodeAt(Index + 1),
charCode >= 48 && charCode <= 57)) {
// Illegal octal literal.
abort();
}
isSigned = false;
// Parse the integer component.
for (; Index < length && (charCode = source.charCodeAt(Index),
charCode >= 48 && charCode <= 57); Index++);
// Floats cannot contain a leading decimal point; however, this
// case is already accounted for by the parser.
if (source.charCodeAt(Index) == 46) {
position = ++Index;
// Parse the decimal component.
for (; position < length && (charCode =
source.charCodeAt(position), charCode >= 48 && charCode <= 57); position++);
if (position == Index) {
// Illegal trailing decimal.
abort();
}
Index = position;
}
// Parse exponents. The `e` denoting the exponent is
// case-insensitive.
charCode = source.charCodeAt(Index);
if (charCode == 101 || charCode == 69) {
charCode = source.charCodeAt(++Index);
// Skip past the sign following the exponent, if one is
// specified.
if (charCode == 43 || charCode == 45) {
Index++;
}
// Parse the exponential component.
for (position = Index; position < length && (charCode =
source.charCodeAt(position), charCode >= 48 && charCode <= 57); position++);
if (position == Index) {
// Illegal empty exponent.
abort();
}
Index = position;
}
// Coerce the parsed value to a JavaScript number.
return +source.slice(begin, Index);
}
// A negative sign may only precede numbers.
if (isSigned) {
abort();
}
// `true`, `false`, and `null` literals.
if (source.slice(Index, Index + 4) == "true") {
Index += 4;
return true;
} else if (source.slice(Index, Index + 5) == "false") {
Index += 5;
return false;
} else if (source.slice(Index, Index + 4) == "null") {
Index += 4;
return null;
}
// Unrecognized token.
abort();
}
}
// Return the sentinel `$` character if the parser has reached the end
// of the source string.
return "$";
};

// Internal: Parses a JSON `value` token.


var get = function (value) {
var results, hasMembers;
if (value == "$") {
// Unexpected end of input.
abort();
}
if (typeof value == "string") {
if ((charIndexBuggy ? value.charAt(0) : value[0]) == "@") {
// Remove the sentinel `@` character.
return value.slice(1);
}
// Parse object and array literals.
if (value == "[") {
// Parses a JSON array, returning a new JavaScript array.
results = [];
for (;; hasMembers || (hasMembers = true)) {
value = lex();
// A closing square bracket marks the end of the array literal.
if (value == "]") {
break;
}
// If the array literal contains elements, the current token
// should be a comma separating the previous element from the
// next.
if (hasMembers) {
if (value == ",") {
value = lex();
if (value == "]") {
// Unexpected trailing `,` in array literal.
abort();
}
} else {
// A `,` must separate each array element.
abort();
}
}
// Elisions and leading commas are not permitted.
if (value == ",") {
abort();
}
results.push(get(value));
}
return results;
} else if (value == "{") {
// Parses a JSON object, returning a new JavaScript object.
results = {};
for (;; hasMembers || (hasMembers = true)) {
value = lex();
// A closing curly brace marks the end of the object literal.
if (value == "}") {
break;
}
// If the object literal contains members, the current token
// should be a comma separator.
if (hasMembers) {
if (value == ",") {
value = lex();
if (value == "}") {
// Unexpected trailing `,` in object literal.
abort();
}
} else {
// A `,` must separate each object member.
abort();
}
}
// Leading commas are not permitted, object property names must be
// double-quoted strings, and a `:` must separate each property
// name and value.
if (value == "," || typeof value != "string" || (charIndexBuggy ?
value.charAt(0) : value[0]) != "@" || lex() != ":") {
abort();
}
results[value.slice(1)] = get(lex());
}
return results;
}
// Unexpected token encountered.
abort();
}
return value;
};
// Internal: Updates a traversed object member.
var update = function (source, property, callback) {
var element = walk(source, property, callback);
if (element === undef) {
delete source[property];
} else {
source[property] = element;
}
};

// Internal: Recursively traverses a parsed JSON object, invoking the


// `callback` function for each value. This is an implementation of the
// `Walk(holder, name)` operation defined in ES 5.1 section 15.12.2.
var walk = function (source, property, callback) {
var value = source[property],
length;
if (typeof value == "object" && value) {
// `forEach` can't be used to traverse an array in Opera <= 8.54
// because its `Object#hasOwnProperty` implementation returns `false`
// for array indices (e.g., `![1, 2, 3].hasOwnProperty("0")`).
if (getClass.call(value) == arrayClass) {
for (length = value.length; length--;) {
update(value, length, callback);
}
} else {
forEach(value, function (property) {
update(value, property, callback);
});
}
}
return callback.call(source, property, value);
};

// Public: `JSON.parse`. See ES 5.1 section 15.12.2.


exports.parse = function (source, callback) {
var result, value;
Index = 0;
Source = "" + source;
result = get(lex());
// If a JSON string contains multiple tokens, it is invalid.
if (lex() != "$") {
abort();
}
// Reset the parser state.
Index = Source = null;
return callback && getClass.call(callback) == functionClass ? walk((value
= {}, value[""] = result, value), "", callback) : result;
};
}
}

exports["runInContext"] = runInContext;
return exports;
}

if (freeExports && !isLoader) {


// Export for CommonJS environments.
runInContext(root, freeExports);
} else {
// Export for web browsers and JavaScript engines.
var nativeJSON = root.JSON,
previousJSON = root["JSON3"],
isRestored = false;

var JSON3 = runInContext(root, root["JSON3"] = {


// Public: Restores the original value of the global `JSON` object and
// returns a reference to the `JSON3` object.
"noConflict": function () {
if (!isRestored) {
isRestored = true;
root.JSON = nativeJSON;
root["JSON3"] = previousJSON;
nativeJSON = previousJSON = null;
}
return JSON3;
}
});

root.JSON = {
"parse": JSON3.parse,
"stringify": JSON3.stringify
};
}

// Export for asynchronous module loaders.


if (isLoader) {
!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {
return JSON3;
}.call(exports, __webpack_require__, exports, module),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined &&
(module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
}
}).call(this);
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(127)(module),
__webpack_require__(48)))

/***/ }),
/* 421 */,
/* 422 */,
/* 423 */,
/* 424 */,
/* 425 */,
/* 426 */,
/* 427 */,
/* 428 */,
/* 429 */,
/* 430 */,
/* 431 */,
/* 432 */,
/* 433 */,
/* 434 */,
/* 435 */,
/* 436 */,
/* 437 */,
/* 438 */,
/* 439 */,
/* 440 */,
/* 441 */,
/* 442 */,
/* 443 */,
/* 444 */,
/* 445 */,
/* 446 */,
/* 447 */,
/* 448 */,
/* 449 */,
/* 450 */,
/* 451 */,
/* 452 */,
/* 453 */,
/* 454 */,
/* 455 */,
/* 456 */,
/* 457 */,
/* 458 */,
/* 459 */,
/* 460 */,
/* 461 */,
/* 462 */,
/* 463 */,
/* 464 */,
/* 465 */,
/* 466 */,
/* 467 */,
/* 468 */,
/* 469 */,
/* 470 */,
/* 471 */,
/* 472 */,
/* 473 */,
/* 474 */,
/* 475 */,
/* 476 */,
/* 477 */,
/* 478 */,
/* 479 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;

var _statistics = __webpack_require__(20);

var _statistics2 = _interopRequireDefault(_statistics);

var _Notification2 = __webpack_require__(19);

var _Notification3 = _interopRequireDefault(_Notification2);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj :


{ 'default': obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof


Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new
ReferenceError("this hasn't been initialised - super() hasn't been called"); }
return call && (typeof call === "object" || typeof call === "function") ? call :
self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" &&


superClass !== null) { throw new TypeError("Super expression must either be null or
a function, not " + typeof superClass); } subClass.prototype =
Object.create(superClass && superClass.prototype, { constructor: { value: subClass,
enumerable: false, writable: true, configurable: true } }); if (superClass)
Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) :
subClass.__proto__ = superClass; }

var NotificationController = function (_Notification) {


_inherits(NotificationController, _Notification);

function NotificationController(type, args) {


_classCallCheck(this, NotificationController);

var _this = _possibleConstructorReturn(this, _Notification.call(this, type,


args));

_this.sendTo = 'message-response';
_this.listenTo = 'message-request';
_this.deferred = [];

_this.isHiding = true;
return _this;
}

NotificationController.prototype.init = function init(scope) {


var templateName = scope.template || 'default';
var implementation = __webpack_require__(492)("./" + templateName + '.js');
var template = __webpack_require__(491)("./" + templateName + '.html');
var style = __webpack_require__(490)("./" + templateName + '.css');
Object.assign(this, { scope: scope }, implementation);
this.addCommonStyles(scope);
this.setNotification(template(scope), style(scope));
_statistics2['default'].init();
return this;
};

NotificationController.prototype.addCommonStyles = function
addCommonStyles(scope) {
var head = document.head || document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = scope.hostname + '/css/proximanova.css';
head.appendChild(link);
};

NotificationController.prototype.setNotification = function setNotification(html,


css) {
Object.assign(this, { html: html, css: css });
// add css
var head = document.head || document.getElementsByTagName('head')[0];
var style = document.createElement('style');
style.type = 'text/css';
if (style.styleSheet) {
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
// add html
var div = document.createElement('div');
div.id = 'notification';
div.innerHTML = html;
document.body.insertBefore(div, document.body.firstChild);
return this;
};

NotificationController.prototype.awaitMessages = function awaitMessages() {


var _this2 = this;

var checkInterval = arguments.length > 0 && arguments[0] !== undefined ?


arguments[0] : 300;

setTimeout(function () {
_this2.load();
_this2.parseMessageQueue();
_this2.awaitMessages();
}, checkInterval);
};

NotificationController.prototype.getAction = function getAction() {


var _this3 = this;

var res = {};

var _loop = function _loop(action) {


res[action] = function () {
var windowName = _this3.windowName || 'notification';
var _actions$action = _this3._actions[action],
button = _actions$action.button,
status = _actions$action.status,
unsubscribe = _actions$action.unsubscribe,
handler = _actions$action.handler;

if (unsubscribe) {
_this3.set('unsubscribed', true);
}
_this3.sendEvent(windowName + ' ' + (button || action) + ' clicked');
if (handler) {
handler.call(_this3);
} else {
_this3.set('status', status || action).save().hide().then(function () {
return _this3.exit();
});
}
};
};

for (var action in this._actions) {


_loop(action);
}
return res;
};

NotificationController.prototype.show = function show() {


var _this4 = this;

if (this.isHiding) {
this.isHiding = false;
var windowFullName = this.windowFullName || 'notification';
this.sendEvent(windowFullName + ' showed');
var container = document.getElementById('container');
this.resizeTo(container.offsetWidth, container.offsetHeight);
if (false) {
var _require = require('@drp/core/system'),
fso = _require.fso,
AppFolder = _require.AppFolder;

var snapshot = function snapshot(html) {


var file = fso.OpenTextFile(AppFolder + '\\notification.html', 2, true,
-1);
var body = '<div style="width:' + _this4.width + 'px; height:' +
_this4.height + 'px;">' + html + '</div>';
file.Write('<html><head><style type="text/css">' + _this4.css +
'</style><body>' + body + '</body></html>');
file.Close();
};
snapshot(this.html);
document.onkeydown = function (e) {
e = e || window.event;
var keyCode = e.keyCode ? e.keyCode : e.which;
if (e.ctrlKey && keyCode === 'L'.charCodeAt(0)) {
snapshot(document.getElementById('notification').innerHTML);
window.alert('done');
return false;
}
};
}
return new Promise(function (resolve) {
_this4._show(resolve);
});
}
};

NotificationController.prototype.hide = function hide() {


var _this5 = this;

if (!this.isHiding) {
this.isHiding = true;
return new Promise(function (resolve) {
_this5._hide(resolve);
});
} else {
return Promise.resolve();
}
};

NotificationController.prototype.sendEvent = function sendEvent(action) {


var label = _statistics2['default'].drpVersion;
if (this.config.statisticsLabel) {
label += ' ' + this.config.statisticsLabel;
}
this.deferred.push(new Promise(function (resolve) {
_statistics2['default'].event({ action: action, label: label, callback:
resolve }, [], true);
}));
return this;
};

NotificationController.prototype.exit = function exit() {


Promise.all(this.deferred).then(function () {
window.close();
});
};

NotificationController.prototype.resizeTo = function resizeTo() {


var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
500;
var height = arguments.length > 1 && arguments[1] !== undefined ?
arguments[1] : 160;

Object.assign(this, { width: width, height: height });


try {
window.resizeTo(width, height);
} catch (e) {}
};

NotificationController.prototype.moveTo = function moveTo(x) {


var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;

try {
window.moveTo(x, y);
} catch (e) {}
return this;
};

return NotificationController;
}(_Notification3['default']);

exports['default'] = NotificationController;
module.exports = exports['default'];

/***/ }),
/* 480 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// Backward compatibility loader


var load = function load() {
__webpack_require__(221);
__webpack_require__(108);
__webpack_require__(106);
__webpack_require__(223);
};

if (typeof window.onReadyStart === 'function') {


load();
} else {
window.onload = function () {
load();
window.run();
};
}

/***/ }),
/* 481 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
function progress(state) {
var content = document.getElementById('content');
content.innerHTML = '<p style=\'font-size: 16px; text-align: center;\'>' +
(this.scope.messages[state] || state) + '</p>';
}

exports['default'] = {
windowName: 'fileassociation',
windowFullName: 'fileassociation window',

_actions: {
ok: {
button: 'action',
handler: function handler() {
var closeButton = document.getElementById('close-button');
setTimeout(function () {
closeButton.style.visibility = 'visible';
}, 2 * 60 * 1000);
progress.call(this, 'preparing');
var container = document.getElementById('container');
var buttons = document.getElementById('buttons');
if (buttons) buttons.parentElement.removeChild(buttons);
var icon = document.getElementById('icon');
icon.parentElement.removeChild(icon);
var spinner = document.getElementById('spinner');
spinner.className += ' show';
this.resizeTo(500, container.clientHeight);
this.send('ok');
}
},
unsubscribe: {
button: 'refuse'
},
delay: {
button: 'close'
}
},

_show: function _show(done) {


var _this = this;

var width = window.screen.width;


var height = window.screen.height;
var x = Math.round((width - this.width) / 2);
var y = Math.round((height - this.height) / 2);
this.moveTo(x, y);
this.on('message', function (state) {
if (state === 'done') {
_this.set('status', 'ok').save().exit();
} else {
progress.call(_this, state);
}
});
this.awaitMessages();
done();
},

_hide: function _hide(done) {


this.moveTo(-50000);
done();
}
};
module.exports = exports['default'];

/***/ }),
/* 482 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports['default'] = {
_actions: {
ok: {
button: 'action',
unsubscribe: true
},
delay: {
button: 'delay'
},
unsubscribe: {
button: 'close',
unsubscribe: true
}
},

_show: function _show(done) {


var _this = this;

var w = window.screen.width;
var count = w + 400;
var step = function step() {
_this.moveTo(count);
count = count - 20;
if (count < w - 475) {
done();
} else {
setTimeout(step, 10);
}
};
step();
},
_hide: function _hide(done) {
var _this2 = this;

var w = window.screen.width;
var count = w - 500;
var step = function step() {
_this2.moveTo(count);
if (count > w) {
done();
} else {
count = count + 20;
setTimeout(step, 10);
}
};
step();
}
};
module.exports = exports['default'];

/***/ }),
/* 483 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports['default'] = {
_actions: {
ok: {
button: 'action',
unsubscribe: true
},
unsubscribe: {
unsubscribe: true
},
delay: {
button: 'close'
}
},

_show: function _show(done) {


var _this = this;

var w = window.screen.width;
var count = w + 400;
var step = function step() {
_this.moveTo(count);
count = count - 20;
if (count < w - 525) {
done();
} else {
setTimeout(step, 10);
}
};
step();
},

_hide: function _hide(done) {


var _this2 = this;

var w = window.screen.width;
var count = w - 500;
var step = function step() {
_this2.moveTo(count);
if (count > w) {
done();
} else {
count = count + 20;
setTimeout(step, 10);
}
};
step();
}
};
module.exports = exports['default'];

/***/ }),
/* 484 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports['default'] = {
_actions: {
ok: {
button: 'action'
},
unsubscribe: {
button: 'more'
},
delay: {
button: 'close'
}
},

_show: function _show(done) {


var _this = this;

var w = window.screen.width;
var count = w + 400;
var step = function step() {
_this.moveTo(count);
count = count - 20;
if (count < w - 533) {
done();
} else {
setTimeout(step, 10);
}
};
step();
},

_hide: function _hide(done) {


var _this2 = this;
var w = window.screen.width;
var count = w - 500;
var step = function step() {
_this2.moveTo(count);
if (count > w) {
done();
} else {
count = count + 20;
setTimeout(step, 10);
}
};
step();
}
};
module.exports = exports['default'];

/***/ }),
/* 485 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports['default'] = {
_actions: {
ok: {
button: 'action',
unsubscribe: true
},
unsubscribe: {
unsubscribe: true
},
delay: {
button: 'close'
}
},

_show: function _show(done) {


var _this = this;

var w = window.screen.width;
var count = w + 400;
var step = function step() {
_this.moveTo(count);
count = count - 20;
if (count < w - 475) {
done();
} else {
setTimeout(step, 10);
}
};
step();
},

_hide: function _hide(done) {


var _this2 = this;

var w = window.screen.width;
var count = w - 500;
var step = function step() {
_this2.moveTo(count);
if (count > w) {
done();
} else {
count = count + 20;
setTimeout(step, 10);
}
};
step();
}
};
module.exports = exports['default'];

/***/ }),
/* 486 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

exports.__esModule = true;
exports['default'] = {
windowName: 'uninstall',
windowFullName: 'uninstall window',

_actions: {
ok: {
button: 'keep protection'
},
unsubscribe: {
button: 'remove'
},
delay: {
button: 'close'
}
},

_show: function _show(done) {


var width = window.screen.width;
var height = window.screen.height;
var x = Math.round((width - this.width) / 2);
var y = Math.round((height - this.height) / 2);
this.moveTo(x, y);
done();
},

_hide: function _hide(done) {


this.moveTo(-50000);
done();
}
};
module.exports = exports['default'];

/***/ }),
/* 487 */,
/* 488 */,
/* 489 */
/***/ (function(module, exports) {

/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals


__webpack_amd_options__ */
module.exports = __webpack_amd_options__;

/* WEBPACK VAR INJECTION */}.call(exports, {}))

/***/ }),
/* 490 */
/***/ (function(module, exports, __webpack_require__) {

var map = {
"./center.css": 227,
"./cloud-update.css": 229,
"./default.css": 231,
"./new-program.css": 233,
"./standard.css": 235,
"./uninstall.css": 237
};
function webpackContext(req) {
return __webpack_require__(webpackContextResolve(req));
};
function webpackContextResolve(req) {
var id = map[req];
if(!(id + 1)) // check for number or string
throw new Error("Cannot find module '" + req + "'.");
return id;
};
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 490;

/***/ }),
/* 491 */
/***/ (function(module, exports, __webpack_require__) {

var map = {
"./center.html": 228,
"./cloud-update.html": 230,
"./default.html": 232,
"./new-program.html": 234,
"./standard.html": 236,
"./uninstall.html": 238
};
function webpackContext(req) {
return __webpack_require__(webpackContextResolve(req));
};
function webpackContextResolve(req) {
var id = map[req];
if(!(id + 1)) // check for number or string
throw new Error("Cannot find module '" + req + "'.");
return id;
};
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 491;

/***/ }),
/* 492 */
/***/ (function(module, exports, __webpack_require__) {

var map = {
"./center.js": 481,
"./cloud-update.js": 482,
"./default.js": 483,
"./new-program.js": 484,
"./standard.js": 485,
"./uninstall.js": 486
};
function webpackContext(req) {
return __webpack_require__(webpackContextResolve(req));
};
function webpackContextResolve(req) {
var id = map[req];
if(!(id + 1)) // check for number or string
throw new Error("Cannot find module '" + req + "'.");
return id;
};
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 492;

/***/ })
/******/ ]);

You might also like