From 23f46dd274c05e5458943f853cbbba472d61550e Mon Sep 17 00:00:00 2001 From: Benjamin Reed Date: Mon, 19 Jun 2017 15:18:52 -0400 Subject: [PATCH] build(dist): generate dist from latest source --- dist/opennms.js | 33493 +++++++++++++++++++------------------- dist/opennms.js.map | 2 +- dist/opennms.min.js | 14 +- dist/opennms.min.js.map | 2 +- 4 files changed, 16805 insertions(+), 16706 deletions(-) diff --git a/dist/opennms.js b/dist/opennms.js index 74aa8e159..66f19c02a 100644 --- a/dist/opennms.js +++ b/dist/opennms.js @@ -5663,58 +5663,7 @@ module.exports = function (module) { "use strict"; -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * An {@link OnmsHTTP} query result. - * @module OnmsResult - */ /** */ - -var OnmsResult = function () { - /** - * construct a new result - * @param message the status message - * @param code the response code - */ - function OnmsResult(data, message, code, type) { - _classCallCheck(this, OnmsResult); - - this.data = data; - this.message = message; - this.code = code; - this.type = type; - } - /** create a new error result */ - - - _createClass(OnmsResult, [{ - key: "isSuccess", - - /** whether this response is a successful response */ - value: function isSuccess() { - return this.code === 200 || this.code === 204; - } - }], [{ - key: "error", - value: function error(message, code) { - return new OnmsResult(undefined, message, code); - } - /** create a new "OK" result */ - - }, { - key: "ok", - value: function ok(response, message, code, type) { - return new OnmsResult(response, message || 'OK', code || 200, type); - } - }]); - - return OnmsResult; -}(); - -exports.OnmsResult = OnmsResult; +module.exports = __webpack_require__(232); /***/ }), /* 10 */ @@ -6372,6 +6321,66 @@ var __WEBPACK_AMD_DEFINE_RESULT__; "use strict"; +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * An {@link OnmsHTTP} query result. + * @module OnmsResult + */ /** */ + +var OnmsResult = function () { + /** + * construct a new result + * @param message the status message + * @param code the response code + */ + function OnmsResult(data, message, code, type) { + _classCallCheck(this, OnmsResult); + + this.data = data; + this.message = message; + this.code = code; + this.type = type; + } + /** create a new error result */ + + + _createClass(OnmsResult, [{ + key: "isSuccess", + + /** whether this response is a successful response */ + value: function isSuccess() { + return this.code === 200 || this.code === 204; + } + }], [{ + key: "error", + value: function error(message, code) { + return new OnmsResult(undefined, message, code); + } + /** create a new "OK" result */ + + }, { + key: "ok", + value: function ok(response, message, code, type) { + return new OnmsResult(response, message || 'OK', code || 200, type); + } + }]); + + return OnmsResult; +}(); + +exports.OnmsResult = OnmsResult; + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + 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; } @@ -6405,7 +6414,7 @@ exports.ServerTypes = Object.freeze({ }); /***/ }), -/* 13 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6459,15 +6468,6 @@ var OnmsServiceType = function () { exports.OnmsServiceType = OnmsServiceType; -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(232); - /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { @@ -7880,7 +7880,7 @@ var OnmsHTTPOptions = * Construct a new OnmsHTTPOptions object. * @constructor */ -function OnmsHTTPOptions(timeout, auth) { +function OnmsHTTPOptions(timeout, auth, server) { _classCallCheck(this, OnmsHTTPOptions); /** how long to wait for ReST calls to time out */ @@ -7895,6 +7895,9 @@ function OnmsHTTPOptions(timeout, auth) { if (auth !== undefined) { this.auth = auth; } + if (server !== undefined) { + this.server = server; + } }; exports.OnmsHTTPOptions = OnmsHTTPOptions; @@ -8018,7 +8021,7 @@ exports.OnmsVersion = OnmsVersion; "use strict"; -var _regenerator = __webpack_require__(14); +var _regenerator = __webpack_require__(9); var _regenerator2 = _interopRequireDefault(_regenerator); @@ -8064,7 +8067,7 @@ var OnmsError_1 = __webpack_require__(6); var Util_1 = __webpack_require__(31); var OnmsEvent_1 = __webpack_require__(46); var OnmsParm_1 = __webpack_require__(23); -var OnmsServiceType_1 = __webpack_require__(13); +var OnmsServiceType_1 = __webpack_require__(14); var OnmsSeverity_1 = __webpack_require__(24); var Log_1 = __webpack_require__(4); var typescript_logging_1 = __webpack_require__(5); @@ -8078,19 +8081,19 @@ var cat = new typescript_logging_1.Category('events', Log_1.catDao); var EventDAO = function (_AbstractDAO_1$Abstra) { _inherits(EventDAO, _AbstractDAO_1$Abstra); - function EventDAO() { + function EventDAO(impl) { _classCallCheck(this, EventDAO); - return _possibleConstructorReturn(this, (EventDAO.__proto__ || Object.getPrototypeOf(EventDAO)).apply(this, arguments)); + return _possibleConstructorReturn(this, (EventDAO.__proto__ || Object.getPrototypeOf(EventDAO)).call(this, impl)); } + /** + * create an event object from a JSON object + * @hidden + */ + _createClass(EventDAO, [{ key: "fromData", - - /** - * create an event object from a JSON object - * @hidden - */ value: function fromData(data) { var event = new OnmsEvent_1.OnmsEvent(); event.id = this.toNumber(data.id); @@ -8675,7 +8678,6 @@ var _createClass = function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } Object.defineProperty(exports, "__esModule", { value: true }); -var Client_1 = __webpack_require__(34); var OnmsHTTPOptions_1 = __webpack_require__(20); var Log_1 = __webpack_require__(4); /** @hidden */ @@ -8693,11 +8695,10 @@ var AbstractDAO = function () { function AbstractDAO(impl) { _classCallCheck(this, AbstractDAO); - if (impl instanceof Client_1.Client) { - this.http = impl.http; - } else { - this.http = impl; + if (impl.http) { + impl = impl.http; } + this.http = impl; } /** extract the count or totalCount values from response data */ @@ -8844,6 +8845,7 @@ var AbstractHTTP = function () { this.filterProcessor = new V1FilterProcessor_1.V1FilterProcessor(); this.serverObj = server; this.timeout = timeout; + this.assertFilterProcessorExists(); } /** the server associated with this HTTP implementation */ @@ -8872,6 +8874,13 @@ var AbstractHTTP = function () { return data; } } + /** get the server in the options object, or fall back to the one assigned to the HTTP impl */ + + }, { + key: "getServer", + value: function getServer(options) { + return options.server || this.serverObj; + } /** combine all options from the given options, the current server, and the default options */ }, { @@ -8881,8 +8890,9 @@ var AbstractHTTP = function () { if (this.timeout) { ret.timeout = this.timeout; } - if (this.serverObj && this.serverObj.auth) { - ret.auth = Object.assign(ret.auth, this.serverObj.auth); + var server = this.getServer(options); + if (server && server.auth) { + ret.auth = Object.assign(ret.auth, server.auth); } ret = Object.assign(ret, options); return ret; @@ -8891,17 +8901,14 @@ var AbstractHTTP = function () { }, { key: "onSetServer", - value: function onSetServer() { - // do nothing by default - } + value: function onSetServer() {} + // do nothing by default + + /** make sure the filter processor is initialized */ + }, { - key: "server", - get: function get() { - return this.serverObj; - }, - set: function set(server) { - this.serverObj = server; - this.onSetServer(); + key: "assertFilterProcessorExists", + value: function assertFilterProcessorExists() { if (!this.filterProcessor) { if (this.serverObj && this.serverObj.metadata) { switch (this.serverObj.metadata.apiVersion()) { @@ -8911,6 +8918,17 @@ var AbstractHTTP = function () { } } } + }, { + key: "server", + get: function get() { + this.assertFilterProcessorExists(); + return this.serverObj; + }, + set: function set(server) { + this.serverObj = server; + this.assertFilterProcessorExists(); + this.onSetServer(); + } }]); return AbstractHTTP; @@ -9253,1924 +9271,2243 @@ exports.LFService = LFService; /***/ (function(module, exports, __webpack_require__) { "use strict"; +/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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 _regenerator = __webpack_require__(14); +/*! + * URI.js - Mutating URLs + * + * Version: 1.18.10 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */ +(function (root, factory) { + 'use strict'; + // https://github.com/umdjs/umd/blob/master/returnExports.js -var _regenerator2 = _interopRequireDefault(_regenerator); + if (( false ? 'undefined' : _typeof(module)) === 'object' && module.exports) { + // Node + module.exports = factory(__webpack_require__(195), __webpack_require__(193), __webpack_require__(194)); + } else if (true) { + // AMD. Register as an anonymous module. + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(195), __webpack_require__(193), __webpack_require__(194)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else { + // Browser globals (root is window) + root.URI = factory(root.punycode, root.IPv6, root.SecondLevelDomains, root); + } +})(undefined, function (punycode, IPv6, SLD, root) { + 'use strict'; + /*global location, escape, unescape */ + // FIXME: v2.0.0 renamce non-camelCase properties to uppercase + /*jshint camelcase: false */ -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + // save current URI variable, if any -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + var _URI = root && root.URI; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + function URI(url, base) { + var _urlSupplied = arguments.length >= 1; + var _baseSupplied = arguments.length >= 2; -var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : new P(function (resolve) { - resolve(result.value); - }).then(fulfilled, rejected); + // Allow instantiation without the 'new' keyword + if (!(this instanceof URI)) { + if (_urlSupplied) { + if (_baseSupplied) { + return new URI(url, base); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var Log_1 = __webpack_require__(4); -var typescript_logging_1 = __webpack_require__(5); -var OnmsHTTPOptions_1 = __webpack_require__(20); -var OnmsError_1 = __webpack_require__(6); -var OnmsResult_1 = __webpack_require__(9); -var OnmsVersion_1 = __webpack_require__(21); -var ServerType_1 = __webpack_require__(12); -var OnmsServer_1 = __webpack_require__(37); -var ServerMetadata_1 = __webpack_require__(38); -var AlarmDAO_1 = __webpack_require__(39); -var EventDAO_1 = __webpack_require__(22); -var NodeDAO_1 = __webpack_require__(40); -var AxiosHTTP_1 = __webpack_require__(58); -/** @hidden */ -var catClient = new typescript_logging_1.Category('client', Log_1.catRoot); -/** - * The OpenNMS client. This is the primary interface to OpenNMS servers. - * @module Client - */ /** */ - -var Client = function () { - _createClass(Client, null, [{ - key: "checkServer", - - /** - * Given an OnmsServer object, check that it can be connected to. - * - * @param server - the server to check - * @param httpImpl - the {@link IOnmsHTTP} implementation to use - * @param timeout - how long to wait before giving up when making ReST calls - */ - value: function checkServer(server, httpImpl, timeout) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { - var opts, infoUrl; - return _regenerator2.default.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - opts = new OnmsHTTPOptions_1.OnmsHTTPOptions(timeout, server.auth); - - if (httpImpl) { - _context.next = 5; - break; - } - - if (Client.http) { - _context.next = 4; - break; - } - - throw new OnmsError_1.OnmsError('No HTTP implementation is configured!'); - case 4: - httpImpl = Client.http; + return new URI(url); + } - case 5: - opts.accept = 'text/plain'; - infoUrl = server.resolveURL('rest/alarms/count'); + return new URI(); + } - Log_1.log.debug('checking URL: ' + infoUrl, catClient); - return _context.abrupt("return", httpImpl.get(infoUrl, opts).then(function (ret) { - return true; - })); + if (url === undefined) { + if (_urlSupplied) { + throw new TypeError('undefined is not a valid argument for URI'); + } - case 9: - case "end": - return _context.stop(); - } - } - }, _callee, this); - })); - } - /** - * Given an OnmsServer object, query what capabilities it has, and return the capabilities - * associated with that server. - * - * @param server - the server to check - * @param httpImpl - the {@link IOnmsHTTP} implementation to use - * @param timeout - how long to wait before giving up when making ReST calls - */ + if (typeof location !== 'undefined') { + url = location.href + ''; + } else { + url = ''; + } + } - }, { - key: "getMetadata", - value: function getMetadata(server, httpImpl, timeout) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { - var opts, infoUrl; - return _regenerator2.default.wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - opts = new OnmsHTTPOptions_1.OnmsHTTPOptions(timeout, server.auth); + if (url === null) { + if (_urlSupplied) { + throw new TypeError('null is not a valid argument for URI'); + } + } - opts.accept = 'application/json'; + this.href(url); - if (httpImpl) { - _context2.next = 6; - break; - } + // resolve to base according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#constructor + if (base !== undefined) { + return this.absoluteTo(base); + } - if (Client.http) { - _context2.next = 5; - break; - } + return this; + } - throw new OnmsError_1.OnmsError('No HTTP implementation is configured!'); + URI.version = '1.18.10'; - case 5: - httpImpl = Client.http; + var p = URI.prototype; + var hasOwn = Object.prototype.hasOwnProperty; - case 6: - infoUrl = server.resolveURL('rest/info'); + function escapeRegEx(string) { + // https://github.com/medialize/URI.js/commit/85ac21783c11f8ccab06106dba9735a31a86924d#commitcomment-821963 + return string.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); + } - Log_1.log.debug('checking URL: ' + infoUrl, catClient); - return _context2.abrupt("return", httpImpl.get(infoUrl, opts).then(function (ret) { - var version = new OnmsVersion_1.OnmsVersion(ret.data.version, ret.data.displayVersion); - var metadata = new ServerMetadata_1.ServerMetadata(version); - if (ret.data.packageName) { - if (ret.data.packageName.toLowerCase() === 'meridian') { - metadata.type = ServerType_1.ServerTypes.MERIDIAN; - } - } - return OnmsResult_1.OnmsResult.ok(metadata, ret.message, ret.code); - })); + function getType(value) { + // IE8 doesn't return [Object Undefined] but [Object Object] for undefined value + if (value === undefined) { + return 'Undefined'; + } - case 9: - case "end": - return _context2.stop(); - } - } - }, _callee2, this); - })); - } - /** - * Construct a new OpenNMS client. - * @constructor - * @param httpImpl - The OnmsHTTP implementation to use. Normally - * this will automatically choose the best implementation - * based on the environment. - */ + return String(Object.prototype.toString.call(value)).slice(8, -1); + } - }]); + function isArray(obj) { + return getType(obj) === 'Array'; + } - function Client(httpImpl) { - _classCallCheck(this, Client); + function filterArrayValues(data, value) { + var lookup = {}; + var i, length; - if (httpImpl) { - Client.http = httpImpl; - } else { - Client.http = new AxiosHTTP_1.AxiosHTTP(); - } + if (getType(value) === 'RegExp') { + lookup = null; + } else if (isArray(value)) { + for (i = 0, length = value.length; i < length; i++) { + lookup[value[i]] = true; + } + } else { + lookup[value] = true; } - /** - * Connect to an OpenNMS server, check what capabilities it has, and return an {@link OnmsServer} - * for that connection. - */ + for (i = 0, length = data.length; i < length; i++) { + /*jshint laxbreak: true */ + var _match = lookup && lookup[data[i]] !== undefined || !lookup && value.test(data[i]); + /*jshint laxbreak: false */ + if (_match) { + data.splice(i, 1); + length--; + i--; + } + } - _createClass(Client, [{ - key: "connect", - value: function connect(name, url, username, password, timeout) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee3() { - var self, server; - return _regenerator2.default.wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - self = this; - server = new OnmsServer_1.OnmsServer(name, url, username, password); - _context3.next = 4; - return Client.checkServer(server, undefined, timeout); - - case 4: - return _context3.abrupt("return", Client.getMetadata(server, undefined, timeout).then(function (result) { - self.server = server; - server.metadata = result.data; - return self; - })); + return data; + } - case 5: - case "end": - return _context3.stop(); - } - } - }, _callee3, this); - })); - } - /** Get an alarm DAO for querying alarms. */ + function arrayContains(list, value) { + var i, length; - }, { - key: "alarms", - value: function alarms() { - return new AlarmDAO_1.AlarmDAO(this); + // value may be string, number, array, regexp + if (isArray(value)) { + // Note: this can be optimized to O(n) (instead of current O(m * n)) + for (i = 0, length = value.length; i < length; i++) { + if (!arrayContains(list, value[i])) { + return false; } - /** Get an event DAO for querying events. */ + } - }, { - key: "events", - value: function events() { - return new EventDAO_1.EventDAO(this); - } - /** Get a node DAO for querying nodes. */ + return true; + } - }, { - key: "nodes", - value: function nodes() { - return new NodeDAO_1.NodeDAO(this); + var _type = getType(value); + for (i = 0, length = list.length; i < length; i++) { + if (_type === 'RegExp') { + if (typeof list[i] === 'string' && list[i].match(value)) { + return true; } - }]); - - return Client; -}(); - -exports.Client = Client; - -/***/ }), -/* 35 */ -/***/ (function(module, exports, __webpack_require__) { + } else if (list[i] === value) { + return true; + } + } -"use strict"; + return false; + } + function arraysEqual(one, two) { + if (!isArray(one) || !isArray(two)) { + return false; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + // arrays can't be equal if they have different amount of content + if (one.length !== two.length) { + return false; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + one.sort(); + two.sort(); -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; } + for (var i = 0, l = one.length; i < l; i++) { + if (one[i] !== two[i]) { + return false; + } + } -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; } + return true; + } -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); -/** - * Represents a filter comparator. - * @module Comparator - */ /** */ + function trimSlashes(text) { + var trim_expression = /^\/+|\/+$/g; + return text.replace(trim_expression, ''); + } -var Comparator = function (_OnmsEnum_1$OnmsEnum) { - _inherits(Comparator, _OnmsEnum_1$OnmsEnum); + URI._parts = function () { + return { + protocol: null, + username: null, + password: null, + hostname: null, + urn: null, + port: null, + path: null, + query: null, + fragment: null, + // state + duplicateQueryParameters: URI.duplicateQueryParameters, + escapeQuerySpace: URI.escapeQuerySpace + }; + }; + // state: allow duplicate query parameters (a=1&a=1) + URI.duplicateQueryParameters = false; + // state: replaces + with %20 (space in query strings) + URI.escapeQuerySpace = true; + // static properties + URI.protocol_expression = /^[a-z][a-z0-9.+-]*$/i; + URI.idn_expression = /[^a-z0-9\.-]/i; + URI.punycode_expression = /(xn--)/i; + // well, 333.444.555.666 matches, but it sure ain't no IPv4 - do we care? + URI.ip4_expression = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; + // credits to Rich Brown + // source: http://forums.intermapper.com/viewtopic.php?p=1096#1096 + // specification: http://www.ietf.org/rfc/rfc4291.txt + URI.ip6_expression = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/; + // expression used is "gruber revised" (@gruber v2) determined to be the + // best solution in a regex-golf we did a couple of ages ago at + // * http://mathiasbynens.be/demo/url-regex + // * http://rodneyrehm.de/t/url-regex.html + URI.find_uri_expression = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig; + URI.findUri = { + // valid "scheme://" or "www." + start: /\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi, + // everything up to the next whitespace + end: /[\s\r\n]|$/, + // trim trailing punctuation captured by end RegExp + trim: /[`!()\[\]{};:'".,<>?«»“”„‘’]+$/, + // balanced parens inclusion (), [], {}, <> + parens: /(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g + }; + // http://www.iana.org/assignments/uri-schemes.html + // http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports + URI.defaultPorts = { + http: '80', + https: '443', + ftp: '21', + gopher: '70', + ws: '80', + wss: '443' + }; + // allowed hostname characters according to RFC 3986 + // ALPHA DIGIT "-" "." "_" "~" "!" "$" "&" "'" "(" ")" "*" "+" "," ";" "=" %encoded + // I've never seen a (non-IDN) hostname other than: ALPHA DIGIT . - + URI.invalid_hostname_characters = /[^a-zA-Z0-9\.-]/; + // map DOM Elements to their URI attribute + URI.domAttributes = { + 'a': 'href', + 'blockquote': 'cite', + 'link': 'href', + 'base': 'href', + 'script': 'src', + 'form': 'action', + 'img': 'src', + 'area': 'href', + 'iframe': 'src', + 'embed': 'src', + 'source': 'src', + 'track': 'src', + 'input': 'src', // but only if type="image" + 'audio': 'src', + 'video': 'src' + }; + URI.getDomAttribute = function (node) { + if (!node || !node.nodeName) { + return undefined; + } - function Comparator(id, label) { - _classCallCheck(this, Comparator); + var nodeName = node.nodeName.toLowerCase(); + // should only expose src for type="image" + if (nodeName === 'input' && node.type !== 'image') { + return undefined; + } - /** aliases for the command-line */ - var _this = _possibleConstructorReturn(this, (Comparator.__proto__ || Object.getPrototypeOf(Comparator)).call(this, id, label)); + return URI.domAttributes[nodeName]; + }; - _this.aliases = []; + function escapeForDumbFirefox36(value) { + // https://github.com/medialize/URI.js/issues/91 + return escape(value); + } - for (var _len = arguments.length, aliases = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - aliases[_key - 2] = arguments[_key]; + // encoding / decoding according to RFC3986 + function strictEncodeURIComponent(string) { + // see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent + return encodeURIComponent(string).replace(/[!'()*]/g, escapeForDumbFirefox36).replace(/\*/g, '%2A'); + } + URI.encode = strictEncodeURIComponent; + URI.decode = decodeURIComponent; + URI.iso8859 = function () { + URI.encode = escape; + URI.decode = unescape; + }; + URI.unicode = function () { + URI.encode = strictEncodeURIComponent; + URI.decode = decodeURIComponent; + }; + URI.characters = { + pathname: { + encode: { + // RFC3986 2.1: For consistency, URI producers and normalizers should + // use uppercase hexadecimal digits for all percent-encodings. + expression: /%(24|26|2B|2C|3B|3D|3A|40)/ig, + map: { + // -._~!'()* + '%24': '$', + '%26': '&', + '%2B': '+', + '%2C': ',', + '%3B': ';', + '%3D': '=', + '%3A': ':', + '%40': '@' } - - _this.aliases = aliases; - return _this; + }, + decode: { + expression: /[\/\?#]/g, + map: { + '/': '%2F', + '?': '%3F', + '#': '%23' + } + } + }, + reserved: { + encode: { + // RFC3986 2.1: For consistency, URI producers and normalizers should + // use uppercase hexadecimal digits for all percent-encodings. + expression: /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig, + map: { + // gen-delims + '%3A': ':', + '%2F': '/', + '%3F': '?', + '%23': '#', + '%5B': '[', + '%5D': ']', + '%40': '@', + // sub-delims + '%21': '!', + '%24': '$', + '%26': '&', + '%27': '\'', + '%28': '(', + '%29': ')', + '%2A': '*', + '%2B': '+', + '%2C': ',', + '%3B': ';', + '%3D': '=' + } + } + }, + urnpath: { + // The characters under `encode` are the characters called out by RFC 2141 as being acceptable + // for usage in a URN. RFC2141 also calls out "-", ".", and "_" as acceptable characters, but + // these aren't encoded by encodeURIComponent, so we don't have to call them out here. Also + // note that the colon character is not featured in the encoding map; this is because URI.js + // gives the colons in URNs semantic meaning as the delimiters of path segements, and so it + // should not appear unencoded in a segment itself. + // See also the note above about RFC3986 and capitalalized hex digits. + encode: { + expression: /%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig, + map: { + '%21': '!', + '%24': '$', + '%27': '\'', + '%28': '(', + '%29': ')', + '%2A': '*', + '%2B': '+', + '%2C': ',', + '%3B': ';', + '%3D': '=', + '%40': '@' + } + }, + // These characters are the characters called out by RFC2141 as "reserved" characters that + // should never appear in a URN, plus the colon character (see note above). + decode: { + expression: /[\/\?#:]/g, + map: { + '/': '%2F', + '?': '%3F', + '#': '%23', + ':': '%3A' + } + } + } + }; + URI.encodeQuery = function (string, escapeQuerySpace) { + var escaped = URI.encode(string + ''); + if (escapeQuerySpace === undefined) { + escapeQuerySpace = URI.escapeQuerySpace; } - /** whether this comparator matches the given comparator string */ + return escapeQuerySpace ? escaped.replace(/%20/g, '+') : escaped; + }; + URI.decodeQuery = function (string, escapeQuerySpace) { + string += ''; + if (escapeQuerySpace === undefined) { + escapeQuerySpace = URI.escapeQuerySpace; + } - _createClass(Comparator, [{ - key: "matches", - value: function matches(comparator) { - return comparator.toLowerCase() === this.label.toLowerCase() || this.aliases.indexOf(comparator) >= 0; - } - }]); + try { + return URI.decode(escapeQuerySpace ? string.replace(/\+/g, '%20') : string); + } catch (e) { + // we're not going to mess with weird encodings, + // give up and return the undecoded original string + // see https://github.com/medialize/URI.js/issues/87 + // see https://github.com/medialize/URI.js/issues/92 + return string; + } + }; + // generate encode/decode path functions + var _parts = { 'encode': 'encode', 'decode': 'decode' }; + var _part; + var generateAccessor = function generateAccessor(_group, _part) { + return function (string) { + try { + return URI[_part](string + '').replace(URI.characters[_group][_part].expression, function (c) { + return URI.characters[_group][_part].map[c]; + }); + } catch (e) { + // we're not going to mess with weird encodings, + // give up and return the undecoded original string + // see https://github.com/medialize/URI.js/issues/87 + // see https://github.com/medialize/URI.js/issues/92 + return string; + } + }; + }; - return Comparator; -}(OnmsEnum_1.OnmsEnum); + for (_part in _parts) { + URI[_part + 'PathSegment'] = generateAccessor('pathname', _parts[_part]); + URI[_part + 'UrnPathSegment'] = generateAccessor('urnpath', _parts[_part]); + } -exports.Comparator = Comparator; -/* tslint:disable:object-literal-sort-keys */ -/** @hidden */ -exports.Comparators = Object.freeze({ - EQ: new Comparator(1, 'EQ', '=', '=='), - NE: new Comparator(2, 'NE', '!='), - ILIKE: new Comparator(3, 'ILIKE'), - LIKE: new Comparator(4, 'LIKE'), - GT: new Comparator(5, 'GT', '>'), - LT: new Comparator(6, 'LT', '<'), - GE: new Comparator(7, 'GE', '>='), - LE: new Comparator(8, 'LE', '<='), - NULL: new Comparator(9, 'NULL'), - NOTNULL: new Comparator(10, 'NOTNULL') -}); + var generateSegmentedPathFunction = function generateSegmentedPathFunction(_sep, _codingFuncName, _innerCodingFuncName) { + return function (string) { + // Why pass in names of functions, rather than the function objects themselves? The + // definitions of some functions (but in particular, URI.decode) will occasionally change due + // to URI.js having ISO8859 and Unicode modes. Passing in the name and getting it will ensure + // that the functions we use here are "fresh". + var actualCodingFunc; + if (!_innerCodingFuncName) { + actualCodingFunc = URI[_codingFuncName]; + } else { + actualCodingFunc = function actualCodingFunc(string) { + return URI[_codingFuncName](URI[_innerCodingFuncName](string)); + }; + } -/***/ }), -/* 36 */ -/***/ (function(module, exports, __webpack_require__) { + var segments = (string + '').split(_sep); -"use strict"; + for (var i = 0, length = segments.length; i < length; i++) { + segments[i] = actualCodingFunc(segments[i]); + } + return segments.join(_sep); + }; + }; -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + // This takes place outside the above loop because we don't want, e.g., encodeUrnPath functions. + URI.decodePath = generateSegmentedPathFunction('/', 'decodePathSegment'); + URI.decodeUrnPath = generateSegmentedPathFunction(':', 'decodeUrnPathSegment'); + URI.recodePath = generateSegmentedPathFunction('/', 'encodePathSegment', 'decode'); + URI.recodeUrnPath = generateSegmentedPathFunction(':', 'encodeUrnPathSegment', 'decode'); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + URI.encodeReserved = generateAccessor('reserved', 'encode'); -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents server authentication config. - * @module OnmsAuthConfig - */ /** */ + URI.parse = function (string, parts) { + var pos; + if (!parts) { + parts = {}; + } + // [protocol"://"[username[":"password]"@"]hostname[":"port]"/"?][path]["?"querystring]["#"fragment] -var OnmsAuthConfig = function () { - /** - * Construct an auth configuration object. - * @constructor - */ - function OnmsAuthConfig(username, password) { - _classCallCheck(this, OnmsAuthConfig); + // extract fragment + pos = string.indexOf('#'); + if (pos > -1) { + // escaping? + parts.fragment = string.substring(pos + 1) || null; + string = string.substring(0, pos); + } - this.username = username; - this.password = password; - } - /** - * Create a new {@link OnmsAuthConfig} object from this existing one. - */ + // extract query + pos = string.indexOf('?'); + if (pos > -1) { + // escaping? + parts.query = string.substring(pos + 1) || null; + string = string.substring(0, pos); + } + // extract protocol + if (string.substring(0, 2) === '//') { + // relative-scheme + parts.protocol = null; + string = string.substring(2); + // extract "user:pass@host:port" + string = URI.parseAuthority(string, parts); + } else { + pos = string.indexOf(':'); + if (pos > -1) { + parts.protocol = string.substring(0, pos) || null; + if (parts.protocol && !parts.protocol.match(URI.protocol_expression)) { + // : may be within the path + parts.protocol = undefined; + } else if (string.substring(pos + 1, pos + 3) === '//') { + string = string.substring(pos + 3); - _createClass(OnmsAuthConfig, [{ - key: "clone", - value: function clone() { - return new OnmsAuthConfig(this.username, this.password); + // extract "user:pass@host:port" + string = URI.parseAuthority(string, parts); + } else { + string = string.substring(pos + 1); + parts.urn = true; + } + } } - }]); - return OnmsAuthConfig; -}(); - -exports.OnmsAuthConfig = OnmsAuthConfig; + // what's left must be the path + parts.path = string; -/***/ }), -/* 37 */ -/***/ (function(module, exports, __webpack_require__) { + // and we're done + return parts; + }; + URI.parseHost = function (string, parts) { + // Copy chrome, IE, opera backslash-handling behavior. + // Back slashes before the query string get converted to forward slashes + // See: https://github.com/joyent/node/blob/386fd24f49b0e9d1a8a076592a404168faeecc34/lib/url.js#L115-L124 + // See: https://code.google.com/p/chromium/issues/detail?id=25916 + // https://github.com/medialize/URI.js/pull/233 + string = string.replace(/\\/g, '/'); -"use strict"; + // extract host:port + var pos = string.indexOf('/'); + var bracketPos; + var t; + if (pos === -1) { + pos = string.length; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (string.charAt(0) === '[') { + // IPv6 host - http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04#section-6 + // I claim most client software breaks on IPv6 anyways. To simplify things, URI only accepts + // IPv6+port in the format [2001:db8::1]:80 (for the time being) + bracketPos = string.indexOf(']'); + parts.hostname = string.substring(1, bracketPos) || null; + parts.port = string.substring(bracketPos + 2, pos) || null; + if (parts.port === '/') { + parts.port = null; + } + } else { + var firstColon = string.indexOf(':'); + var firstSlash = string.indexOf('/'); + var nextColon = string.indexOf(':', firstColon + 1); + if (nextColon !== -1 && (firstSlash === -1 || nextColon < firstSlash)) { + // IPv6 host contains multiple colons - but no port + // this notation is actually not allowed by RFC 3986, but we're a liberal parser + parts.hostname = string.substring(0, pos) || null; + parts.port = null; + } else { + t = string.substring(0, pos).split(':'); + parts.hostname = t[0] || null; + parts.port = t[1] || null; + } + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (parts.hostname && string.substring(pos).charAt(0) !== '/') { + pos++; + string = '/' + string; + } -Object.defineProperty(exports, "__esModule", { value: true }); -/** @hidden */ -// tslint:disable-next-line -var URI = __webpack_require__(195); -var OnmsAuthConfig_1 = __webpack_require__(36); -var ServerType_1 = __webpack_require__(12); -var UUID_1 = __webpack_require__(251); -/** - * Represents a remote OpenNMS server. - * @module OnmsServer - */ /** */ + return string.substring(pos) || '/'; + }; + URI.parseAuthority = function (string, parts) { + string = URI.parseUserinfo(string, parts); + return URI.parseHost(string, parts); + }; + URI.parseUserinfo = function (string, parts) { + // extract username:password + var firstSlash = string.indexOf('/'); + var pos = string.lastIndexOf('@', firstSlash > -1 ? firstSlash : string.length - 1); + var t; -var OnmsServer = function () { - /** - * Construct a new OnmsServer object representing a remote server. - * @constructor - */ - function OnmsServer(name, url, auth, password) { - _classCallCheck(this, OnmsServer); + // authority@ must come before /path + if (pos > -1 && (firstSlash === -1 || pos < firstSlash)) { + t = string.substring(0, pos).split(':'); + parts.username = t[0] ? URI.decode(t[0]) : null; + t.shift(); + parts.password = t[0] ? URI.decode(t.join(':')) : null; + string = string.substring(pos + 1); + } else { + parts.username = null; + parts.password = null; + } - this.id = UUID_1.UUID.generate(); - this.name = name; - this.url = url; - if (auth instanceof OnmsAuthConfig_1.OnmsAuthConfig) { - this.auth = auth; - } else { - this.auth = new OnmsAuthConfig_1.OnmsAuthConfig(auth, password); - } + return string; + }; + URI.parseQuery = function (string, escapeQuerySpace) { + if (!string) { + return {}; } - /** - * Given a relative URL fragment, construct a URL for that fragment on the server. - * @param forFragment - the URL fragment to append to the server URL - * @returns a complete URL - */ + // throw out the funky business - "?"[name"="value"&"]+ + string = string.replace(/&+/g, '&').replace(/^\?*&*|&+$/g, ''); - _createClass(OnmsServer, [{ - key: "resolveURL", - value: function resolveURL(forFragment) { - if (!this.url) { - return undefined; - } - if (forFragment === undefined) { - return this.url; - } - if (forFragment.indexOf('/') === 0 || forFragment.indexOf('http') === 0) { - return forFragment; - } - return URI(this.url).segment(forFragment).toString(); - } - /** - * Create a new {@link OnmsServer} object from this existing one. - */ + if (!string) { + return {}; + } - }, { - key: "clone", - value: function clone() { - var auth = this.auth ? this.auth.clone() : undefined; - var ret = new OnmsServer(this.name, this.url, auth); - ret.metadata = this.metadata ? this.metadata.clone() : undefined; - return ret; - } - /** - * Return the hostname portion of the URL associated with this server. - */ + var items = {}; + var splits = string.split('&'); + var length = splits.length; + var v, name, value; - }, { - key: "toString", + for (var i = 0; i < length; i++) { + v = splits[i].split('='); + name = URI.decodeQuery(v.shift(), escapeQuerySpace); + // no "=" is null according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#collect-url-parameters + value = v.length ? URI.decodeQuery(v.join('='), escapeQuerySpace) : null; - /** a pretty string representation of this server */ - value: function toString() { - if (this.metadata) { - return 'OpenNMS ' + (this.metadata.type === ServerType_1.ServerTypes.MERIDIAN ? 'Meridian' : 'Horizon') + ' ' + this.metadata.version.displayVersion + ' at ' + (this.host || this.url); - } else { - return 'OpenNMS at ' + (this.host || this.url); - } - } - }, { - key: "host", - get: function get() { - if (!this.url) { - return undefined; - } - return URI(this.url).hostname(); + if (hasOwn.call(items, name)) { + if (typeof items[name] === 'string' || items[name] === null) { + items[name] = [items[name]]; } - }]); - return OnmsServer; -}(); + items[name].push(value); + } else { + items[name] = value; + } + } -exports.OnmsServer = OnmsServer; + return items; + }; -/***/ }), -/* 38 */ -/***/ (function(module, exports, __webpack_require__) { + URI.build = function (parts) { + var t = ''; -"use strict"; + if (parts.protocol) { + t += parts.protocol + ':'; + } + if (!parts.urn && (t || parts.hostname)) { + t += '//'; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + t += URI.buildAuthority(parts) || ''; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (typeof parts.path === 'string') { + if (parts.path.charAt(0) !== '/' && typeof parts.hostname === 'string') { + t += '/'; + } -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsVersion_1 = __webpack_require__(21); -var ServerType_1 = __webpack_require__(12); -/** - * A class that represents the capabilities an OpenNMS server has and other information about it. - * @module ServerMetadata - */ /** */ + t += parts.path; + } -var ServerMetadata = function () { - /** - * Construct a ServerMetadata object. - * @constructor - * @param version the version of the server - * @param type the type of server (Horizon, Meridian) - */ - function ServerMetadata(version, type) { - _classCallCheck(this, ServerMetadata); + if (typeof parts.query === 'string' && parts.query) { + t += '?' + parts.query; + } - if (version instanceof OnmsVersion_1.OnmsVersion) { - this.version = version || new OnmsVersion_1.OnmsVersion('0.0.0'); - } else { - this.version = new OnmsVersion_1.OnmsVersion(version || '0.0.0'); - } - this.type = type || ServerType_1.ServerTypes.HORIZON; + if (typeof parts.fragment === 'string' && parts.fragment) { + t += '#' + parts.fragment; } - /** can you ack alarms through ReST */ + return t; + }; + URI.buildHost = function (parts) { + var t = ''; + if (!parts.hostname) { + return ''; + } else if (URI.ip6_expression.test(parts.hostname)) { + t += '[' + parts.hostname + ']'; + } else { + t += parts.hostname; + } - _createClass(ServerMetadata, [{ - key: "ackAlarms", - value: function ackAlarms() { - return this.version.ge('14.0.0'); - } - /** does this server support graphs (ie, the measurements API) */ + if (parts.port) { + t += ':' + parts.port; + } - }, { - key: "graphs", - value: function graphs() { - if (this.type && this.type === ServerType_1.ServerTypes.MERIDIAN) { - return this.version.ge('2016.1.0'); - } else { - return this.version.ge('16.0.0'); + return t; + }; + URI.buildAuthority = function (parts) { + return URI.buildUserinfo(parts) + URI.buildHost(parts); + }; + URI.buildUserinfo = function (parts) { + var t = ''; + + if (parts.username) { + t += URI.encode(parts.username); + } + + if (parts.password) { + t += ':' + URI.encode(parts.password); + } + + if (t) { + t += '@'; + } + + return t; + }; + URI.buildQuery = function (data, duplicateQueryParameters, escapeQuerySpace) { + // according to http://tools.ietf.org/html/rfc3986 or http://labs.apache.org/webarch/uri/rfc/rfc3986.html + // being »-._~!$&'()*+,;=:@/?« %HEX and alnum are allowed + // the RFC explicitly states ?/foo being a valid use case, no mention of parameter syntax! + // URI.js treats the query string as being application/x-www-form-urlencoded + // see http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type + + var t = ''; + var unique, key, i, length; + for (key in data) { + if (hasOwn.call(data, key) && key) { + if (isArray(data[key])) { + unique = {}; + for (i = 0, length = data[key].length; i < length; i++) { + if (data[key][i] !== undefined && unique[data[key][i] + ''] === undefined) { + t += '&' + URI.buildQueryParameter(key, data[key][i], escapeQuerySpace); + if (duplicateQueryParameters !== true) { + unique[data[key][i] + ''] = true; + } } + } + } else if (data[key] !== undefined) { + t += '&' + URI.buildQueryParameter(key, data[key], escapeQuerySpace); } - /** does this server support outage summaries */ + } + } - }, { - key: "outageSummaries", - value: function outageSummaries() { - return this.version.ge('14.0.3'); - } - /** does this server support setting the location on a node */ + return t.substring(1); + }; + URI.buildQueryParameter = function (name, value, escapeQuerySpace) { + // http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type -- application/x-www-form-urlencoded + // don't append "=" for null values, according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#url-parameter-serialization + return URI.encodeQuery(name, escapeQuerySpace) + (value !== null ? '=' + URI.encodeQuery(value, escapeQuerySpace) : ''); + }; - }, { - key: "setNodeLocation", - value: function setNodeLocation() { - return this.version.ge('15.0.2'); + URI.addQuery = function (data, name, value) { + if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { + for (var key in name) { + if (hasOwn.call(name, key)) { + URI.addQuery(data, key, name[key]); } - /** what version of the ReST API does this server support */ + } + } else if (typeof name === 'string') { + if (data[name] === undefined) { + data[name] = value; + return; + } else if (typeof data[name] === 'string') { + data[name] = [data[name]]; + } - }, { - key: "apiVersion", - value: function apiVersion() { - return 1; - } - /** a convenient data structure with all capabilities listed */ + if (!isArray(value)) { + value = [value]; + } - }, { - key: "capabilities", - value: function capabilities() { - return { - ackAlarms: this.ackAlarms(), - apiVersion: this.apiVersion(), - graphs: this.graphs(), - outageSummaries: this.outageSummaries(), - setNodeLocation: this.setNodeLocation(), - type: this.type === ServerType_1.ServerTypes.MERIDIAN ? 'Meridian' : 'Horizon' - }; - } - /** a human-readable representation of this version */ + data[name] = (data[name] || []).concat(value); + } else { + throw new TypeError('URI.addQuery() accepts an object, string as the name parameter'); + } + }; + URI.removeQuery = function (data, name, value) { + var i, length, key; - }, { - key: "toString", - value: function toString() { - return 'ServerMetadata[version=' + this.version.toString() + ',apiVersion=' + this.apiVersion() + ',type=' + this.type.toString() + ',ackAlarms=' + this.ackAlarms() + ',graphs=' + this.graphs() + ',outageSummaries=' + this.outageSummaries() + ',setNodeLocation=' + this.setNodeLocation() + ']'; + if (isArray(name)) { + for (i = 0, length = name.length; i < length; i++) { + data[name[i]] = undefined; + } + } else if (getType(name) === 'RegExp') { + for (key in data) { + if (name.test(key)) { + data[key] = undefined; } - /** - * Create a new {@link ServerMetadata} object from this existing one. - */ + } + } else if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { + for (key in name) { + if (hasOwn.call(name, key)) { + URI.removeQuery(data, key, name[key]); + } + } + } else if (typeof name === 'string') { + if (value !== undefined) { + if (getType(value) === 'RegExp') { + if (!isArray(data[name]) && value.test(data[name])) { + data[name] = undefined; + } else { + data[name] = filterArrayValues(data[name], value); + } + } else if (data[name] === String(value) && (!isArray(value) || value.length === 1)) { + data[name] = undefined; + } else if (isArray(data[name])) { + data[name] = filterArrayValues(data[name], value); + } + } else { + data[name] = undefined; + } + } else { + throw new TypeError('URI.removeQuery() accepts an object, string, RegExp as the first parameter'); + } + }; + URI.hasQuery = function (data, name, value, withinArray) { + switch (getType(name)) { + case 'String': + // Nothing to do here + break; - }, { - key: "clone", - value: function clone() { - return new ServerMetadata(this.version.clone(), this.type); + case 'RegExp': + for (var key in data) { + if (hasOwn.call(data, key)) { + if (name.test(key) && (value === undefined || URI.hasQuery(data, key, value))) { + return true; + } + } } - }]); - return ServerMetadata; -}(); + return false; -exports.ServerMetadata = ServerMetadata; + case 'Object': + for (var _key in name) { + if (hasOwn.call(name, _key)) { + if (!URI.hasQuery(data, _key, name[_key])) { + return false; + } + } + } -/***/ }), -/* 39 */ -/***/ (function(module, exports, __webpack_require__) { + return true; -"use strict"; + default: + throw new TypeError('URI.hasQuery() accepts a string, regular expression or object as the name parameter'); + } + switch (getType(value)) { + case 'Undefined': + // true if exists (but may be empty) + return name in data; // data[name] !== undefined; -var _regenerator = __webpack_require__(14); + case 'Boolean': + // true if exists and non-empty + var _booly = Boolean(isArray(data[name]) ? data[name].length : data[name]); + return value === _booly; -var _regenerator2 = _interopRequireDefault(_regenerator); + case 'Function': + // allow complex comparison + return !!value(data[name], name, data); -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; }; + case 'Array': + if (!isArray(data[name])) { + return false; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + var op = withinArray ? arrayContains : arraysEqual; + return op(data[name], value); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + case 'RegExp': + if (!isArray(data[name])) { + return Boolean(data[name] && data[name].match(value)); + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (!withinArray) { + return false; + } -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; } + return arrayContains(data[name], value); -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; } + case 'Number': + value = String(value); + /* falls through */ + case 'String': + if (!isArray(data[name])) { + return data[name] === value; + } -var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + if (!withinArray) { + return false; } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + + return arrayContains(data[name], value); + + default: + throw new TypeError('URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter'); + } + }; + + URI.joinPaths = function () { + var input = []; + var segments = []; + var nonEmptySegments = 0; + + for (var i = 0; i < arguments.length; i++) { + var url = new URI(arguments[i]); + input.push(url); + var _segments = url.segment(); + for (var s = 0; s < _segments.length; s++) { + if (typeof _segments[s] === 'string') { + segments.push(_segments[s]); } - function step(result) { - result.done ? resolve(result.value) : new P(function (resolve) { - resolve(result.value); - }).then(fulfilled, rejected); + + if (_segments[s]) { + nonEmptySegments++; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var AbstractDAO_1 = __webpack_require__(30); -var EventDAO_1 = __webpack_require__(22); -var OnmsAlarm_1 = __webpack_require__(42); -var OnmsParm_1 = __webpack_require__(23); -var OnmsServiceType_1 = __webpack_require__(13); -var OnmsAlarmType_1 = __webpack_require__(43); -var OnmsSeverity_1 = __webpack_require__(24); -var OnmsTroubleTicketState_1 = __webpack_require__(56); -var OnmsError_1 = __webpack_require__(6); -var Log_1 = __webpack_require__(4); -var typescript_logging_1 = __webpack_require__(5); -/** @hidden */ -var cat = new typescript_logging_1.Category('alarms', Log_1.catDao); -/** - * Data access for {@link OnmsAlarm} objects - * @module AlarmDAO - */ /** */ + } + } -var AlarmDAO = function (_AbstractDAO_1$Abstra) { - _inherits(AlarmDAO, _AbstractDAO_1$Abstra); + if (!segments.length || !nonEmptySegments) { + return new URI(''); + } - function AlarmDAO(impl) { - _classCallCheck(this, AlarmDAO); + var uri = new URI('').segment(segments); - var _this = _possibleConstructorReturn(this, (AlarmDAO.__proto__ || Object.getPrototypeOf(AlarmDAO)).call(this, impl)); + if (input[0].path() === '' || input[0].path().slice(0, 1) === '/') { + uri.path('/' + uri.path()); + } - _this.eventDao = new EventDAO_1.EventDAO(impl); - return _this; + return uri.normalize(); + }; + + URI.commonPath = function (one, two) { + var length = Math.min(one.length, two.length); + var pos; + + // find first non-matching character + for (pos = 0; pos < length; pos++) { + if (one.charAt(pos) !== two.charAt(pos)) { + pos--; + break; + } } - /** - * create an alarm object from a JSON object - * @hidden - */ + if (pos < 1) { + return one.charAt(0) === two.charAt(0) && one.charAt(0) === '/' ? '/' : ''; + } - _createClass(AlarmDAO, [{ - key: "fromData", - value: function fromData(data) { - var alarm = new OnmsAlarm_1.OnmsAlarm(); - alarm.id = this.toNumber(data.id); - alarm.count = data.count; - alarm.ackUser = data.ackUser; - alarm.uei = data.uei; - alarm.description = data.description; - alarm.firstEventTime = this.toDate(data.firstEventTime); - alarm.lastEvent = this.eventDao.fromData(data.lastEvent); - alarm.logMessage = data.logMessage; - alarm.reductionKey = data.reductionKey; - alarm.troubleTicket = data.troubleTicket; - alarm.nodeId = this.toNumber(data.nodeId); - alarm.nodeLabel = data.nodeLabel; - alarm.suppressedBy = data.suppressedBy; - if (data.ackTime) { - alarm.ackTime = this.toDate(data.ackTime); - } - if (data.severity) { - alarm.severity = OnmsSeverity_1.Severities[data.severity]; - } - if (data.type) { - var type = this.toNumber(data.type); - alarm.type = OnmsAlarmType_1.AlarmTypes[type]; - } - if (data.troubleTicketState) { - alarm.troubleTicketState = OnmsTroubleTicketState_1.TroubleTicketStates[data.troubleTicketState]; - } - if (data.serviceType) { - var st = data.serviceType; - alarm.service = OnmsServiceType_1.OnmsServiceType.for(st.id, st.name); - } - if (data.suppressedTime) { - alarm.suppressedTime = this.toDate(data.suppressedTime); - } - if (data.suppressedUntil) { - alarm.suppressedUntil = this.toDate(data.suppressedUntil); - } - if (data.parameters) { - var parms = data.parameters; - if (parms.parameter) { - parms = parms.parameter; - } - if (!Array.isArray(parms)) { - parms = [parms]; - } - alarm.parameters = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + // revert to last / + if (one.charAt(pos) !== '/' || two.charAt(pos) !== '/') { + pos = one.substring(0, pos).lastIndexOf('/'); + } - try { - for (var _iterator = parms[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var parm = _step.value; + return one.substring(0, pos + 1); + }; - parm = new OnmsParm_1.OnmsParm(parm.name, parm.type, parm.value); - alarm.parameters.push(parm); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - return alarm; - } - /** get an alarm, given the alarm's ID */ - - }, { - key: "get", - value: function get(id) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { - var _this2 = this; + URI.withinString = function (string, callback, options) { + options || (options = {}); + var _start = options.start || URI.findUri.start; + var _end = options.end || URI.findUri.end; + var _trim = options.trim || URI.findUri.trim; + var _parens = options.parens || URI.findUri.parens; + var _attributeOpen = /[a-z0-9-]=["']?$/i; - var opts; - return _regenerator2.default.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - opts = this.getOptions(); - return _context.abrupt("return", this.http.get('rest/alarms/' + id, opts).then(function (result) { - return _this2.fromData(result.data); - })); + _start.lastIndex = 0; + while (true) { + var match = _start.exec(string); + if (!match) { + break; + } - case 2: - case "end": - return _context.stop(); - } - } - }, _callee, this); - })); + var start = match.index; + if (options.ignoreHtml) { + // attribut(e=["']?$) + var attributeOpen = string.slice(Math.max(start - 3, 0), start); + if (attributeOpen && _attributeOpen.test(attributeOpen)) { + continue; } - /** get an alarm, given a filter */ - - }, { - key: "find", - value: function find(filter) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { - var _this3 = this; - - var opts; - return _regenerator2.default.wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - opts = this.getOptions(filter); - return _context2.abrupt("return", this.http.get('rest/alarms', opts).then(function (result) { - var data = result.data; - if (_this3.getCount(data) > 0 && data.alarm) { - data = data.alarm; - } else { - data = []; - } - if (!Array.isArray(data)) { - throw new OnmsError_1.OnmsError('Expected an array of alarms but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); - } - return data.map(function (alarmData) { - return _this3.fromData(alarmData); - }); - })); + } - case 2: - case "end": - return _context2.stop(); - } - } - }, _callee2, this); - })); + var end = start + string.slice(start).search(_end); + var slice = string.slice(start, end); + // make sure we include well balanced parens + var parensEnd = -1; + while (true) { + var parensMatch = _parens.exec(slice); + if (!parensMatch) { + break; } - }]); - return AlarmDAO; -}(AbstractDAO_1.AbstractDAO); + var parensMatchEnd = parensMatch.index + parensMatch[0].length; + parensEnd = Math.max(parensEnd, parensMatchEnd); + } -exports.AlarmDAO = AlarmDAO; + if (parensEnd > -1) { + slice = slice.slice(0, parensEnd) + slice.slice(parensEnd).replace(_trim, ''); + } else { + slice = slice.replace(_trim, ''); + } -/***/ }), -/* 40 */ -/***/ (function(module, exports, __webpack_require__) { + if (slice.length <= match[0].length) { + // the extract only contains the starting marker of a URI, + // e.g. "www" or "http://" + continue; + } -"use strict"; + if (options.ignore && options.ignore.test(slice)) { + continue; + } + end = start + slice.length; + var result = callback(slice, start, end, string); + if (result === undefined) { + _start.lastIndex = end; + continue; + } -var _regenerator = __webpack_require__(14); + result = String(result); + string = string.slice(0, start) + result + string.slice(end); + _start.lastIndex = start + result.length; + } -var _regenerator2 = _interopRequireDefault(_regenerator); + _start.lastIndex = 0; + return string; + }; -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; }; + URI.ensureValidHostname = function (v) { + // Theoretically URIs allow percent-encoding in Hostnames (according to RFC 3986) + // they are not part of DNS and therefore ignored by URI.js -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (v.match(URI.invalid_hostname_characters)) { + // test punycode + if (!punycode) { + throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-] and Punycode.js is not available'); + } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + if (punycode.toASCII(v).match(URI.invalid_hostname_characters)) { + throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); + } + } + }; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + // noConflict + URI.noConflict = function (removeAll) { + if (removeAll) { + var unconflicted = { + URI: this.noConflict() + }; -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; } + if (root.URITemplate && typeof root.URITemplate.noConflict === 'function') { + unconflicted.URITemplate = root.URITemplate.noConflict(); + } -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; } + if (root.IPv6 && typeof root.IPv6.noConflict === 'function') { + unconflicted.IPv6 = root.IPv6.noConflict(); + } -var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : new P(function (resolve) { - resolve(result.value); - }).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var AbstractDAO_1 = __webpack_require__(30); -var OnmsError_1 = __webpack_require__(6); -var Util_1 = __webpack_require__(31); -var OnmsCategory_1 = __webpack_require__(44); -var OnmsCollectType_1 = __webpack_require__(45); -var OnmsIpInterface_1 = __webpack_require__(47); -var OnmsManagedType_1 = __webpack_require__(48); -var OnmsMonitoredService_1 = __webpack_require__(49); -var OnmsNode_1 = __webpack_require__(50); -var OnmsNodeLabelSource_1 = __webpack_require__(51); -var OnmsNodeType_1 = __webpack_require__(252); -var OnmsPrimaryType_1 = __webpack_require__(52); -var OnmsServiceType_1 = __webpack_require__(13); -var OnmsServiceStatusType_1 = __webpack_require__(53); -var OnmsSnmpInterface_1 = __webpack_require__(54); -var OnmsSnmpStatusType_1 = __webpack_require__(55); -var PhysAddr_1 = __webpack_require__(57); -var Log_1 = __webpack_require__(4); -var typescript_logging_1 = __webpack_require__(5); -/** @hidden */ -var cat = new typescript_logging_1.Category('nodes', Log_1.catDao); -/** - * Data access for {@link OnmsNode} objects - * @module NodeDAO - */ /** */ + if (root.SecondLevelDomains && typeof root.SecondLevelDomains.noConflict === 'function') { + unconflicted.SecondLevelDomains = root.SecondLevelDomains.noConflict(); + } -var NodeDAO = function (_AbstractDAO_1$Abstra) { - _inherits(NodeDAO, _AbstractDAO_1$Abstra); + return unconflicted; + } else if (root.URI === this) { + root.URI = _URI; + } - function NodeDAO() { - _classCallCheck(this, NodeDAO); + return this; + }; - return _possibleConstructorReturn(this, (NodeDAO.__proto__ || Object.getPrototypeOf(NodeDAO)).apply(this, arguments)); + p.build = function (deferBuild) { + if (deferBuild === true) { + this._deferred_build = true; + } else if (deferBuild === undefined || this._deferred_build) { + this._string = URI.build(this._parts); + this._deferred_build = false; } - _createClass(NodeDAO, [{ - key: "fromData", + return this; + }; - /** - * create a node object from a JSON object - * @hidden - */ - value: function fromData(data) { - var node = new OnmsNode_1.OnmsNode(); - node.id = this.toNumber(data.id); - node.label = data.label; - node.location = data.location; - node.foreignSource = data.foreignSource || undefined; - node.foreignId = data.foreignId || undefined; - node.sysContact = data.sysContact; - node.sysDescription = data.sysDescription; - node.sysLocation = data.sysLocation; - node.sysName = data.sysName; - node.sysObjectId = data.sysObjectId; - if (data.labelSource) { - node.labelSource = OnmsNodeLabelSource_1.OnmsNodeLabelSource.forId(data.labelSource); - } - if (data.createTime) { - node.createTime = this.toDate(data.createTime); - } - if (data.lastCapsdPoll) { - node.lastCapsdPoll = this.toDate(data.lastCapsdPoll); - } - if (data.type) { - node.type = OnmsNodeType_1.OnmsNodeType.forId(data.type); - } - node.categories = data.categories.map(function (c) { - return OnmsCategory_1.OnmsCategory.for(c.id, c.name); - }); - for (var key in data.assetRecord) { - if (data.assetRecord.hasOwnProperty(key) && data.assetRecord[key] !== null && data.assetRecord[key] !== undefined) { - node.assets[key] = data.assetRecord[key]; - } - } - return node; - } - /** - * create an IP interface object from a JSON object - * @hidden - */ + p.clone = function () { + return new URI(this); + }; - }, { - key: "fromIpInterfaceData", - value: function fromIpInterfaceData(data) { - var iface = new OnmsIpInterface_1.OnmsIpInterface(); - iface.id = this.toNumber(data.id); - iface.hostname = data.hostName || data.hostname; - iface.ipAddress = Util_1.Util.toIPAddress(data.ipAddress); - iface.isManaged = OnmsManagedType_1.OnmsManagedType.forId(data.isManaged); - iface.lastCapsdPoll = this.toDate(data.lastCapsdPoll); - iface.snmpPrimary = OnmsPrimaryType_1.OnmsPrimaryType.forId(data.snmpPrimary); - if (data.snmpInterface && data.snmpInterface.id) { - iface.snmpInterfaceId = this.toNumber(data.snmpInterface.id); - } - return iface; - } - /** - * create an SNMP interface object from a JSON object - * @hidden - */ + p.valueOf = p.toString = function () { + return this.build(false)._string; + }; - }, { - key: "fromSnmpData", - value: function fromSnmpData(data) { - var iface = new OnmsSnmpInterface_1.OnmsSnmpInterface(); - iface.id = this.toNumber(data.id); - iface.ifIndex = this.toNumber(data.ifIndex); - iface.ifDescr = data.ifDescr; - iface.ifType = this.toNumber(data.ifType); - iface.ifName = data.ifName; - iface.ifSpeed = this.toNumber(data.ifSpeed); - iface.ifAdminStatus = OnmsSnmpStatusType_1.OnmsSnmpStatusType.forId(this.toNumber(data.ifAdminStatus)); - iface.ifOperStatus = OnmsSnmpStatusType_1.OnmsSnmpStatusType.forId(this.toNumber(data.ifOperStatus)); - iface.ifAlias = data.ifAlias; - iface.lastCapsdPoll = this.toDate(data.lastCapsdPoll); - iface.collect = OnmsCollectType_1.OnmsCollectType.forId(data.collectFlag); - iface.poll = data.poll; - iface.lastSnmpPoll = this.toDate(data.lastSnmpPoll); - if (data.physAddr) { - iface.physAddr = new PhysAddr_1.PhysAddr(data.physAddr); - } - return iface; - } - /** - * create a monitored service object from a JSON object - * @hidden - */ + function generateSimpleAccessor(_part) { + return function (v, build) { + if (v === undefined) { + return this._parts[_part] || ''; + } else { + this._parts[_part] = v || null; + this.build(!build); + return this; + } + }; + } - }, { - key: "fromServiceData", - value: function fromServiceData(data) { - var service = new OnmsMonitoredService_1.OnmsMonitoredService(); - service.id = this.toNumber(data.id); - service.lastFail = this.toDate(data.lastFail); - service.lastGood = this.toDate(data.lastGood); - if (data.serviceType) { - service.type = OnmsServiceType_1.OnmsServiceType.for(data.serviceType.id, data.serviceType.name); - } - if (data.status) { - service.status = OnmsServiceStatusType_1.OnmsServiceStatusType.forId(data.status); - } - return service; + function generatePrefixAccessor(_part, _key) { + return function (v, build) { + if (v === undefined) { + return this._parts[_part] || ''; + } else { + if (v !== null) { + v = v + ''; + if (v.charAt(0) === _key) { + v = v.substring(1); + } } - /** - * get an node, given the node's ID - * - * @param id the node's ID - * @param recurse optionally fetch all sub-model objects (ipInterface, etc.) - */ - }, { - key: "get", - value: function get(id) { - var recurse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this._parts[_part] = v; + this.build(!build); + return this; + } + }; + } - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { - var _this2 = this; + p.protocol = generateSimpleAccessor('protocol'); + p.username = generateSimpleAccessor('username'); + p.password = generateSimpleAccessor('password'); + p.hostname = generateSimpleAccessor('hostname'); + p.port = generateSimpleAccessor('port'); + p.query = generatePrefixAccessor('query', '?'); + p.fragment = generatePrefixAccessor('fragment', '#'); - var opts; - return _regenerator2.default.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - opts = this.getOptions(); - return _context.abrupt("return", this.http.get('rest/nodes/' + id, opts).then(function (result) { - var node = _this2.fromData(result.data); - if (recurse) { - return _this2.fetch(node); - } else { - return node; - } - })); + p.search = function (v, build) { + var t = this.query(v, build); + return typeof t === 'string' && t.length ? '?' + t : t; + }; + p.hash = function (v, build) { + var t = this.fragment(v, build); + return typeof t === 'string' && t.length ? '#' + t : t; + }; - case 2: - case "end": - return _context.stop(); - } - } - }, _callee, this); - })); - } - /** search for nodes, given a filter */ + p.pathname = function (v, build) { + if (v === undefined || v === true) { + var res = this._parts.path || (this._parts.hostname ? '/' : ''); + return v ? (this._parts.urn ? URI.decodeUrnPath : URI.decodePath)(res) : res; + } else { + if (this._parts.urn) { + this._parts.path = v ? URI.recodeUrnPath(v) : ''; + } else { + this._parts.path = v ? URI.recodePath(v) : '/'; + } + this.build(!build); + return this; + } + }; + p.path = p.pathname; + p.href = function (href, build) { + var key; - }, { - key: "find", - value: function find(filter) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { - var _this3 = this; + if (href === undefined) { + return this.toString(); + } - var opts; - return _regenerator2.default.wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - opts = this.getOptions(filter); - return _context2.abrupt("return", this.http.get('rest/nodes', opts).then(function (result) { - var data = result.data; - if (_this3.getCount(data) > 0 && data.node) { - data = data.node; - } else { - data = []; - } - if (!Array.isArray(data)) { - throw new OnmsError_1.OnmsError('Expected an array of nodes but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); - } - return data.map(function (nodeData) { - return _this3.fromData(nodeData); - }); - })); + this._string = ''; + this._parts = URI._parts(); - case 2: - case "end": - return _context2.stop(); - } - } - }, _callee2, this); - })); - } - /** given a node, fetch all the sub-model objects for that node (ipInterfaces, snmpInterfaces, etc.) */ + var _URI = href instanceof URI; + var _object = (typeof href === 'undefined' ? 'undefined' : _typeof(href)) === 'object' && (href.hostname || href.path || href.pathname); + if (href.nodeName) { + var attribute = URI.getDomAttribute(href); + href = href[attribute] || ''; + _object = false; + } - }, { - key: "fetch", - value: function fetch(node) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee3() { - var _this4 = this; + // window.location is reported to be an object, but it's not the sort + // of object we're looking for: + // * location.protocol ends with a colon + // * location.query != object.search + // * location.hash != object.fragment + // simply serializing the unknown object should do the trick + // (for location, not for everything...) + if (!_URI && _object && href.pathname !== undefined) { + href = href.toString(); + } - return _regenerator2.default.wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.snmpInterfaces(node).then(function (si) { - node.snmpInterfaces = si; - si.forEach(function (iface) { - iface.node = node; - }); - return _this4.ipInterfaces(node).then(function (ifaces) { - node.ipInterfaces = ifaces; - ifaces.forEach(function (iface) { - iface.node = node; - }); - return Promise.all(ifaces.map(function (iface) { - return _this4.services(node, iface).then(function (services) { - iface.services = services; - services.forEach(function (service) { - service.node = node; - service.ipInterface = iface; - }); - }); - })).then(function () { - return node; - }); - }); - })); - - case 1: - case "end": - return _context3.stop(); - } - } - }, _callee3, this); - })); + if (typeof href === 'string' || href instanceof String) { + this._parts = URI.parse(String(href), this._parts); + } else if (_URI || _object) { + var src = _URI ? href._parts : href; + for (key in src) { + if (hasOwn.call(this._parts, key)) { + this._parts[key] = src[key]; } - /** given a node, get the IP interfaces for that node */ + } + } else { + throw new TypeError('invalid input'); + } - }, { - key: "ipInterfaces", - value: function ipInterfaces(node, filter) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee4() { - var _this5 = this; + this.build(!build); + return this; + }; - var opts; - return _regenerator2.default.wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - opts = this.getOptions(filter); + // identification accessors + p.is = function (what) { + var ip = false; + var ip4 = false; + var ip6 = false; + var name = false; + var sld = false; + var idn = false; + var punycode = false; + var relative = !this._parts.urn; - if (node instanceof OnmsNode_1.OnmsNode) { - node = node.id; - } - return _context4.abrupt("return", this.http.get('rest/nodes/' + node + '/ipinterfaces', opts).then(function (result) { - var data = result.data; - if (_this5.getCount(data) > 0 && data.ipInterface) { - data = data.ipInterface; - } else { - data = []; - } - if (!Array.isArray(data)) { - throw new OnmsError_1.OnmsError('Expected an array of IP interfaces but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); - } - return data.map(function (ifaceData) { - return _this5.fromIpInterfaceData(ifaceData); - }); - })); + if (this._parts.hostname) { + relative = false; + ip4 = URI.ip4_expression.test(this._parts.hostname); + ip6 = URI.ip6_expression.test(this._parts.hostname); + ip = ip4 || ip6; + name = !ip; + sld = name && SLD && SLD.has(this._parts.hostname); + idn = name && URI.idn_expression.test(this._parts.hostname); + punycode = name && URI.punycode_expression.test(this._parts.hostname); + } - case 3: - case "end": - return _context4.stop(); - } - } - }, _callee4, this); - })); - } - /** given a node, get the SNMP interfaces for that node */ + switch (what.toLowerCase()) { + case 'relative': + return relative; - }, { - key: "snmpInterfaces", - value: function snmpInterfaces(node, filter) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee5() { - var _this6 = this; + case 'absolute': + return !relative; - var opts; - return _regenerator2.default.wrap(function _callee5$(_context5) { - while (1) { - switch (_context5.prev = _context5.next) { - case 0: - opts = this.getOptions(filter); + // hostname identification + case 'domain': + case 'name': + return name; - if (node instanceof OnmsNode_1.OnmsNode) { - node = node.id; - } - return _context5.abrupt("return", this.http.get('rest/nodes/' + node + '/snmpinterfaces', opts).then(function (result) { - var data = result.data; - if (_this6.getCount(data) > 0 && data.snmpInterface) { - data = data.snmpInterface; - } else { - data = []; - } - if (!Array.isArray(data)) { - throw new OnmsError_1.OnmsError('Expected an array of SNMP interfaces but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); - } - return data.map(function (ifaceData) { - return _this6.fromSnmpData(ifaceData); - }); - })); + case 'sld': + return sld; - case 3: - case "end": - return _context5.stop(); - } - } - }, _callee5, this); - })); - } - /** given a node, get the IP interfaces for that node */ + case 'ip': + return ip; - }, { - key: "services", - value: function services(node, ipInterface, filter) { - return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee6() { - var _this7 = this; + case 'ip4': + case 'ipv4': + case 'inet4': + return ip4; - var opts; - return _regenerator2.default.wrap(function _callee6$(_context6) { - while (1) { - switch (_context6.prev = _context6.next) { - case 0: - opts = this.getOptions(filter); + case 'ip6': + case 'ipv6': + case 'inet6': + return ip6; - if (node instanceof OnmsNode_1.OnmsNode) { - node = node.id; - } - if (ipInterface instanceof OnmsIpInterface_1.OnmsIpInterface && ipInterface.ipAddress) { - ipInterface = ipInterface.ipAddress.address; - } - return _context6.abrupt("return", this.http.get('rest/nodes/' + node + '/ipinterfaces/' + ipInterface + '/services', opts).then(function (result) { - var data = result.data; - if (_this7.getCount(data) > 0 && data.service) { - data = data.service; - } else { - data = []; - } - if (!Array.isArray(data)) { - throw new OnmsError_1.OnmsError('Expected an array of services but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); - } - return data.map(function (ifaceData) { - return _this7.fromServiceData(ifaceData); - }); - })); + case 'idn': + return idn; - case 4: - case "end": - return _context6.stop(); - } - } - }, _callee6, this); - })); - } - }]); + case 'url': + return !this._parts.urn; - return NodeDAO; -}(AbstractDAO_1.AbstractDAO); + case 'urn': + return !!this._parts.urn; -exports.NodeDAO = NodeDAO; + case 'punycode': + return punycode; + } -/***/ }), -/* 41 */ -/***/ (function(module, exports, __webpack_require__) { + return null; + }; -"use strict"; + // component specific input validation + var _protocol = p.protocol; + var _port = p.port; + var _hostname = p.hostname; + p.protocol = function (v, build) { + if (v !== undefined) { + if (v) { + // accept trailing :// + v = v.replace(/:(\/\/)?$/, ''); -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (!v.match(URI.protocol_expression)) { + throw new TypeError('Protocol "' + v + '" contains characters other than [A-Z0-9.+-] or doesn\'t start with [A-Z]'); + } + } + } + return _protocol.call(this, v, build); + }; + p.scheme = p.protocol; + p.port = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (v !== undefined) { + if (v === 0) { + v = null; + } -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); -var Comparator_1 = __webpack_require__(35); -var OnmsError_1 = __webpack_require__(6); -/** @hidden */ -var nonExclusiveComparators = [Comparator_1.Comparators.NULL, Comparator_1.Comparators.NOTNULL]; -/** @hidden */ -var isExclusive = function isExclusive(comparator) { - return nonExclusiveComparators.indexOf(comparator) < 0; -}; -/** - * OpenNMS V1 ReST filter processor - * @module V1FilterProcessor - */ /** */ + if (v) { + v += ''; + if (v.charAt(0) === ':') { + v = v.substring(1); + } -var V1FilterProcessor = function () { - function V1FilterProcessor() { - _classCallCheck(this, V1FilterProcessor); + if (v.match(/[^0-9]/)) { + throw new TypeError('Port "' + v + '" contains characters other than [0-9]'); + } + } + } + return _port.call(this, v, build); + }; + p.hostname = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; } - _createClass(V1FilterProcessor, [{ - key: "getParameters", + if (v !== undefined) { + var x = {}; + var res = URI.parseHost(v, x); + if (res !== '/') { + throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); + } - /** given a filter, return a hash of URL parameters */ - value: function getParameters(filter) { - var ret = {}; - if (filter.limit !== undefined) { - ret.limit = '' + filter.limit; - } - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + v = x.hostname; + } + return _hostname.call(this, v, build); + }; - try { - for (var _iterator = filter.restrictions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var restriction = _step.value; + // compound accessors + p.origin = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } - switch (restriction.comparator) { - case Comparator_1.Comparators.NULL: - { - ret[restriction.attribute] = 'null'; - break; - } - case Comparator_1.Comparators.NOTNULL: - { - ret[restriction.attribute] = 'notnull'; - break; - } - default: - { - var comp = restriction.comparator.label.toLowerCase(); - if (ret.comparator && ret.comparator !== comp) { - throw new OnmsError_1.OnmsError('V1 only supports one restriction comparator type!'); - } - ret.comparator = comp; - var value = '' + restriction.value; - if (restriction.value instanceof OnmsEnum_1.OnmsEnum) { - value = restriction.value.label; - } - ret[restriction.attribute] = value; - } - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } + if (v === undefined) { + var protocol = this.protocol(); + var authority = this.authority(); + if (!authority) { + return ''; + } - return ret; - } - }]); + return (protocol ? protocol + '://' : '') + this.authority(); + } else { + var origin = URI(v); + this.protocol(origin.protocol()).authority(origin.authority()).build(!build); + return this; + } + }; + p.host = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } - return V1FilterProcessor; -}(); + if (v === undefined) { + return this._parts.hostname ? URI.buildHost(this._parts) : ''; + } else { + var res = URI.parseHost(v, this._parts); + if (res !== '/') { + throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); + } -exports.V1FilterProcessor = V1FilterProcessor; + this.build(!build); + return this; + } + }; + p.authority = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } -/***/ }), -/* 42 */ -/***/ (function(module, exports, __webpack_require__) { + if (v === undefined) { + return this._parts.hostname ? URI.buildAuthority(this._parts) : ''; + } else { + var res = URI.parseAuthority(v, this._parts); + if (res !== '/') { + throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); + } -"use strict"; + this.build(!build); + return this; + } + }; + p.userinfo = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } + if (v === undefined) { + var t = URI.buildUserinfo(this._parts); + return t ? t.substring(0, t.length - 1) : t; + } else { + if (v[v.length - 1] !== '@') { + v += '@'; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + URI.parseUserinfo(v, this._parts); + this.build(!build); + return this; + } + }; + p.resource = function (v, build) { + var parts; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (v === undefined) { + return this.path() + this.search() + this.hash(); + } -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an OpenNMS alarm. - * @module OnmsAlarm - */ /** */ + parts = URI.parse(v); + this._parts.path = parts.path; + this._parts.query = parts.query; + this._parts.fragment = parts.fragment; + this.build(!build); + return this; + }; -var OnmsAlarm = function () { - function OnmsAlarm() { - _classCallCheck(this, OnmsAlarm); + // fraction accessors + p.subdomain = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; } - _createClass(OnmsAlarm, [{ - key: "lastEventTime", + // convenience, return "www" from "www.example.org" + if (v === undefined) { + if (!this._parts.hostname || this.is('IP')) { + return ''; + } - /** the most recent time the event has triggered this alarm */ - get: function get() { - if (this.lastEvent && this.lastEvent.time) { - return this.lastEvent.time; - } - return undefined; - } - }]); + // grab domain and add another segment + var end = this._parts.hostname.length - this.domain().length - 1; + return this._parts.hostname.substring(0, end) || ''; + } else { + var e = this._parts.hostname.length - this.domain().length; + var sub = this._parts.hostname.substring(0, e); + var replace = new RegExp('^' + escapeRegEx(sub)); - return OnmsAlarm; -}(); + if (v && v.charAt(v.length - 1) !== '.') { + v += '.'; + } -exports.OnmsAlarm = OnmsAlarm; + if (v) { + URI.ensureValidHostname(v); + } -/***/ }), -/* 43 */ -/***/ (function(module, exports, __webpack_require__) { + this._parts.hostname = this._parts.hostname.replace(replace, v); + this.build(!build); + return this; + } + }; + p.domain = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } -"use strict"; + if (typeof v === 'boolean') { + build = v; + v = undefined; + } + // convenience, return "example.org" from "www.example.org" + if (v === undefined) { + if (!this._parts.hostname || this.is('IP')) { + return ''; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + // if hostname consists of 1 or 2 segments, it must be the domain + var t = this._parts.hostname.match(/\./g); + if (t && t.length < 2) { + return this._parts.hostname; + } -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; } + // grab tld and add another segment + var end = this._parts.hostname.length - this.tld(build).length - 1; + end = this._parts.hostname.lastIndexOf('.', end - 1) + 1; + return this._parts.hostname.substring(end) || ''; + } else { + if (!v) { + throw new TypeError('cannot set domain empty'); + } -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; } + URI.ensureValidHostname(v); -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); -/** - * Represents an OpenNMS alarm type. - * @module OnmsAlarmType - */ /** */ + if (!this._parts.hostname || this.is('IP')) { + this._parts.hostname = v; + } else { + var replace = new RegExp(escapeRegEx(this.domain()) + '$'); + this._parts.hostname = this._parts.hostname.replace(replace, v); + } -var OnmsAlarmType = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsAlarmType, _OnmsEnum_1$OnmsEnum); + this.build(!build); + return this; + } + }; + p.tld = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } - function OnmsAlarmType() { - _classCallCheck(this, OnmsAlarmType); + if (typeof v === 'boolean') { + build = v; + v = undefined; + } - return _possibleConstructorReturn(this, (OnmsAlarmType.__proto__ || Object.getPrototypeOf(OnmsAlarmType)).apply(this, arguments)); - } + // return "org" from "www.example.org" + if (v === undefined) { + if (!this._parts.hostname || this.is('IP')) { + return ''; + } - return OnmsAlarmType; -}(OnmsEnum_1.OnmsEnum); + var pos = this._parts.hostname.lastIndexOf('.'); + var tld = this._parts.hostname.substring(pos + 1); -exports.OnmsAlarmType = OnmsAlarmType; -/** @hidden */ -exports.AlarmTypes = Object.freeze({ - 1: new OnmsAlarmType(1, 'possible resolution'), - 2: new OnmsAlarmType(2, 'resolution event'), - 3: new OnmsAlarmType(3, 'no possible resolution') -}); + if (build !== true && SLD && SLD.list[tld.toLowerCase()]) { + return SLD.get(this._parts.hostname) || tld; + } -/***/ }), -/* 44 */ -/***/ (function(module, exports, __webpack_require__) { + return tld; + } else { + var replace; -"use strict"; + if (!v) { + throw new TypeError('cannot set TLD empty'); + } else if (v.match(/[^a-zA-Z0-9-]/)) { + if (SLD && SLD.is(v)) { + replace = new RegExp(escapeRegEx(this.tld()) + '$'); + this._parts.hostname = this._parts.hostname.replace(replace, v); + } else { + throw new TypeError('TLD "' + v + '" contains characters other than [A-Z0-9]'); + } + } else if (!this._parts.hostname || this.is('IP')) { + throw new ReferenceError('cannot set TLD on non-domain host'); + } else { + replace = new RegExp(escapeRegEx(this.tld()) + '$'); + this._parts.hostname = this._parts.hostname.replace(replace, v); + } + this.build(!build); + return this; + } + }; + p.directory = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (v === undefined || v === true) { + if (!this._parts.path && !this._parts.hostname) { + return ''; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (this._parts.path === '/') { + return '/'; + } -Object.defineProperty(exports, "__esModule", { value: true }); -var Log_1 = __webpack_require__(4); -var typescript_logging_1 = __webpack_require__(5); -/** @hidden */ -var cat = new typescript_logging_1.Category('category', Log_1.catModel); -/** @hidden */ -exports.Categories = {}; -/** - * Represents an OpenNMS category. - * @module OnmsCategory - */ /** */ + var end = this._parts.path.length - this.filename().length - 1; + var res = this._parts.path.substring(0, end) || (this._parts.hostname ? '/' : ''); -var OnmsCategory = function () { - _createClass(OnmsCategory, null, [{ - key: "for", + return v ? URI.decodePath(res) : res; + } else { + var e = this._parts.path.length - this.filename().length; + var directory = this._parts.path.substring(0, e); + var replace = new RegExp('^' + escapeRegEx(directory)); - /** get a singleton category object for the given category */ - value: function _for(id, name) { - if (exports.Categories[id]) { - if (exports.Categories[id].name === name) { - return exports.Categories[id]; - } else { - Log_1.log.warn('Category ID ' + id + ' is already cached, but names do not match!' + ' (' + exports.Categories[id].name + ' != ' + name + ')', cat); - } - } - exports.Categories[id] = new OnmsCategory(id, name); - return exports.Categories[id]; + // fully qualifier directories begin with a slash + if (!this.is('relative')) { + if (!v) { + v = '/'; } - /** given an ID and name, construct a service type */ - }]); + if (v.charAt(0) !== '/') { + v = '/' + v; + } + } - function OnmsCategory(id, name) { - _classCallCheck(this, OnmsCategory); + // directories always end with a slash + if (v && v.charAt(v.length - 1) !== '/') { + v += '/'; + } - this.id = id; - this.name = name; + v = URI.recodePath(v); + this._parts.path = this._parts.path.replace(replace, v); + this.build(!build); + return this; + } + }; + p.filename = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; } - return OnmsCategory; -}(); - -exports.OnmsCategory = OnmsCategory; + if (typeof v !== 'string') { + if (!this._parts.path || this._parts.path === '/') { + return ''; + } -/***/ }), -/* 45 */ -/***/ (function(module, exports, __webpack_require__) { + var pos = this._parts.path.lastIndexOf('/'); + var res = this._parts.path.substring(pos + 1); -"use strict"; + return v ? URI.decodePathSegment(res) : res; + } else { + var mutatedDirectory = false; + if (v.charAt(0) === '/') { + v = v.substring(1); + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (v.match(/\.?\//)) { + mutatedDirectory = true; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + var replace = new RegExp(escapeRegEx(this.filename()) + '$'); + v = URI.recodePath(v); + this._parts.path = this._parts.path.replace(replace, v); -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; } + if (mutatedDirectory) { + this.normalizePath(build); + } else { + this.build(!build); + } -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; } + return this; + } + }; + p.suffix = function (v, build) { + if (this._parts.urn) { + return v === undefined ? '' : this; + } -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); -/** - * Represents an OpenNMS SNMP interface "should collect" type. - * @module OnmsCollectType - */ /** */ + if (v === undefined || v === true) { + if (!this._parts.path || this._parts.path === '/') { + return ''; + } -var OnmsCollectType = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsCollectType, _OnmsEnum_1$OnmsEnum); + var filename = this.filename(); + var pos = filename.lastIndexOf('.'); + var s, res; - function OnmsCollectType() { - _classCallCheck(this, OnmsCollectType); + if (pos === -1) { + return ''; + } - return _possibleConstructorReturn(this, (OnmsCollectType.__proto__ || Object.getPrototypeOf(OnmsCollectType)).apply(this, arguments)); - } + // suffix may only contain alnum characters (yup, I made this up.) + s = filename.substring(pos + 1); + res = /^[a-z0-9%]+$/i.test(s) ? s : ''; + return v ? URI.decodePathSegment(res) : res; + } else { + if (v.charAt(0) === '.') { + v = v.substring(1); + } - _createClass(OnmsCollectType, [{ - key: "isCollectionEnabled", + var suffix = this.suffix(); + var replace; - /** whether or not collection is enabled on the SNMP interface */ - value: function isCollectionEnabled() { - return this.id === 'C' || this.id === 'UC'; + if (!suffix) { + if (!v) { + return this; } - }], [{ - key: "forId", - /** given an ID, return the matching collect type object */ - value: function forId(id) { - return OnmsEnum_1.forId(exports.CollectTypes, id); - } - /** given a label, return the matching collect type object */ + this._parts.path += '.' + URI.recodePath(v); + } else if (!v) { + replace = new RegExp(escapeRegEx('.' + suffix) + '$'); + } else { + replace = new RegExp(escapeRegEx(suffix) + '$'); + } - }, { - key: "forLabel", - value: function forLabel(label) { - return OnmsEnum_1.forLabel(exports.CollectTypes, label); - } - }]); + if (replace) { + v = URI.recodePath(v); + this._parts.path = this._parts.path.replace(replace, v); + } - return OnmsCollectType; -}(OnmsEnum_1.OnmsEnum); + this.build(!build); + return this; + } + }; + p.segment = function (segment, v, build) { + var separator = this._parts.urn ? ':' : '/'; + var path = this.path(); + var absolute = path.substring(0, 1) === '/'; + var segments = path.split(separator); -exports.OnmsCollectType = OnmsCollectType; -/* tslint:disable:object-literal-sort-keys */ -/** @hidden */ -exports.CollectTypes = Object.freeze({ - COLLECT: new OnmsCollectType('C', 'COLLECT'), - FORCE_COLLECT: new OnmsCollectType('UC', 'FORCE_COLLECT'), - DO_NOT_COLLECT: new OnmsCollectType('N', 'DO_NOT_COLLECT'), - FORCE_DO_NOT_COLLECT: new OnmsCollectType('UN', 'FORCE_DO_NOT_COLLECT') -}); + if (segment !== undefined && typeof segment !== 'number') { + build = v; + v = segment; + segment = undefined; + } -/***/ }), -/* 46 */ -/***/ (function(module, exports, __webpack_require__) { + if (segment !== undefined && typeof segment !== 'number') { + throw new Error('Bad segment "' + segment + '", must be 0-based integer'); + } -"use strict"; + if (absolute) { + segments.shift(); + } + if (segment < 0) { + // allow negative indexes to address from the end + segment = Math.max(segments.length + segment, 0); + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (v === undefined) { + /*jshint laxbreak: true */ + return segment === undefined ? segments : segments[segment]; + /*jshint laxbreak: false */ + } else if (segment === null || segments[segment] === undefined) { + if (isArray(v)) { + segments = []; + // collapse empty elements within array + for (var i = 0, l = v.length; i < l; i++) { + if (!v[i].length && (!segments.length || !segments[segments.length - 1].length)) { + continue; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (segments.length && !segments[segments.length - 1].length) { + segments.pop(); + } -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an OpenNMS event. - * @module OnmsEvent - */ /** */ + segments.push(trimSlashes(v[i])); + } + } else if (v || typeof v === 'string') { + v = trimSlashes(v); + if (segments[segments.length - 1] === '') { + // empty trailing elements have to be overwritten + // to prevent results such as /foo//bar + segments[segments.length - 1] = v; + } else { + segments.push(v); + } + } + } else { + if (v) { + segments[segment] = trimSlashes(v); + } else { + segments.splice(segment, 1); + } + } -var OnmsEvent = function () { - function OnmsEvent() { - _classCallCheck(this, OnmsEvent); + if (absolute) { + segments.unshift(''); } - _createClass(OnmsEvent, [{ - key: "serviceName", + return this.path(segments.join(separator), build); + }; + p.segmentCoded = function (segment, v, build) { + var segments, i, l; - /** the service name associated with the event */ - get: function get() { - if (this.service && this.service.name) { - return this.service.name; - } - return undefined; + if (typeof segment !== 'number') { + build = v; + v = segment; + segment = undefined; + } + + if (v === undefined) { + segments = this.segment(segment, v, build); + if (!isArray(segments)) { + segments = segments !== undefined ? URI.decode(segments) : undefined; + } else { + for (i = 0, l = segments.length; i < l; i++) { + segments[i] = URI.decode(segments[i]); } - }]); + } - return OnmsEvent; -}(); + return segments; + } -exports.OnmsEvent = OnmsEvent; + if (!isArray(v)) { + v = typeof v === 'string' || v instanceof String ? URI.encode(v) : v; + } else { + for (i = 0, l = v.length; i < l; i++) { + v[i] = URI.encode(v[i]); + } + } -/***/ }), -/* 47 */ -/***/ (function(module, exports, __webpack_require__) { + return this.segment(segment, v, build); + }; -"use strict"; + // mutating query string + var q = p.query; + p.query = function (v, build) { + if (v === true) { + return URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); + } else if (typeof v === 'function') { + var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); + var result = v.call(this, data); + this._parts.query = URI.buildQuery(result || data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); + this.build(!build); + return this; + } else if (v !== undefined && typeof v !== 'string') { + this._parts.query = URI.buildQuery(v, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); + this.build(!build); + return this; + } else { + return q.call(this, v, build); + } + }; + p.setQuery = function (name, value, build) { + var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); + if (typeof name === 'string' || name instanceof String) { + data[name] = value !== undefined ? value : null; + } else if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { + for (var key in name) { + if (hasOwn.call(name, key)) { + data[key] = name[key]; + } + } + } else { + throw new TypeError('URI.addQuery() accepts an object, string as the name parameter'); + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); + if (typeof name !== 'string') { + build = value; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + this.build(!build); + return this; + }; + p.addQuery = function (name, value, build) { + var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); + URI.addQuery(data, name, value === undefined ? null : value); + this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); + if (typeof name !== 'string') { + build = value; + } -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an OpenNMS IP interface. - * @module OnmsIpInterface - */ /** */ + this.build(!build); + return this; + }; + p.removeQuery = function (name, value, build) { + var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); + URI.removeQuery(data, name, value); + this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); + if (typeof name !== 'string') { + build = value; + } -var OnmsIpInterface = function () { - function OnmsIpInterface() { - _classCallCheck(this, OnmsIpInterface); + this.build(!build); + return this; + }; + p.hasQuery = function (name, value, withinArray) { + var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); + return URI.hasQuery(data, name, value, withinArray); + }; + p.setSearch = p.setQuery; + p.addSearch = p.addQuery; + p.removeSearch = p.removeQuery; + p.hasSearch = p.hasQuery; - /** the services on this interface */ - this.services = []; + // sanitizing URLs + p.normalize = function () { + if (this._parts.urn) { + return this.normalizeProtocol(false).normalizePath(false).normalizeQuery(false).normalizeFragment(false).build(); } - _createClass(OnmsIpInterface, [{ - key: "snmpInterface", - get: function get() { - if (this.node) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = this.node.snmpInterfaces[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var iface = _step.value; + return this.normalizeProtocol(false).normalizeHostname(false).normalizePort(false).normalizePath(false).normalizeQuery(false).normalizeFragment(false).build(); + }; + p.normalizeProtocol = function (build) { + if (typeof this._parts.protocol === 'string') { + this._parts.protocol = this._parts.protocol.toLowerCase(); + this.build(!build); + } - if (iface.id === this.snmpInterfaceId) { - return iface; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - return undefined; - } - }]); + return this; + }; + p.normalizeHostname = function (build) { + if (this._parts.hostname) { + if (this.is('IDN') && punycode) { + this._parts.hostname = punycode.toASCII(this._parts.hostname); + } else if (this.is('IPv6') && IPv6) { + this._parts.hostname = IPv6.best(this._parts.hostname); + } - return OnmsIpInterface; -}(); + this._parts.hostname = this._parts.hostname.toLowerCase(); + this.build(!build); + } -exports.OnmsIpInterface = OnmsIpInterface; + return this; + }; + p.normalizePort = function (build) { + // remove port of it's the protocol's default + if (typeof this._parts.protocol === 'string' && this._parts.port === URI.defaultPorts[this._parts.protocol]) { + this._parts.port = null; + this.build(!build); + } -/***/ }), -/* 48 */ -/***/ (function(module, exports, __webpack_require__) { + return this; + }; + p.normalizePath = function (build) { + var _path = this._parts.path; + if (!_path) { + return this; + } -"use strict"; + if (this._parts.urn) { + this._parts.path = URI.recodeUrnPath(this._parts.path); + this.build(!build); + return this; + } + if (this._parts.path === '/') { + return this; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + _path = URI.recodePath(_path); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + var _was_relative; + var _leadingParents = ''; + var _parent, _pos; -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; } + // handle relative paths + if (_path.charAt(0) !== '/') { + _was_relative = true; + _path = '/' + _path; + } -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; } + // handle relative files (as opposed to directories) + if (_path.slice(-3) === '/..' || _path.slice(-2) === '/.') { + _path += '/'; + } -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); -/** - * Represents an OpenNMS node "is managed" type. - * @module OnmsManagedType - */ /** */ + // resolve simples + _path = _path.replace(/(\/(\.\/)+)|(\/\.$)/g, '/').replace(/\/{2,}/g, '/'); -var OnmsManagedType = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsManagedType, _OnmsEnum_1$OnmsEnum); + // remember leading parents + if (_was_relative) { + _leadingParents = _path.substring(1).match(/^(\.\.\/)+/) || ''; + if (_leadingParents) { + _leadingParents = _leadingParents[0]; + } + } - function OnmsManagedType() { - _classCallCheck(this, OnmsManagedType); + // resolve parents + while (true) { + _parent = _path.search(/\/\.\.(\/|$)/); + if (_parent === -1) { + // no more ../ to resolve + break; + } else if (_parent === 0) { + // top level cannot be relative, skip it + _path = _path.substring(3); + continue; + } - return _possibleConstructorReturn(this, (OnmsManagedType.__proto__ || Object.getPrototypeOf(OnmsManagedType)).apply(this, arguments)); + _pos = _path.substring(0, _parent).lastIndexOf('/'); + if (_pos === -1) { + _pos = _parent; + } + _path = _path.substring(0, _pos) + _path.substring(_parent + 3); } - _createClass(OnmsManagedType, [{ - key: "isManaged", - - /** whether or not the node is managed */ - value: function isManaged() { - return this.id === 'M'; - } - }], [{ - key: "forId", + // revert to relative + if (_was_relative && this.is('relative')) { + _path = _leadingParents + _path.substring(1); + } - /** given an ID, return the matching managed type object */ - value: function forId(id) { - return OnmsEnum_1.forId(exports.ManagedTypes, id); - } - /** given a label, return the matching managed type object */ + this._parts.path = _path; + this.build(!build); + return this; + }; + p.normalizePathname = p.normalizePath; + p.normalizeQuery = function (build) { + if (typeof this._parts.query === 'string') { + if (!this._parts.query.length) { + this._parts.query = null; + } else { + this.query(URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace)); + } - }, { - key: "forLabel", - value: function forLabel(label) { - return OnmsEnum_1.forLabel(exports.ManagedTypes, label); - } - }]); + this.build(!build); + } - return OnmsManagedType; -}(OnmsEnum_1.OnmsEnum); + return this; + }; + p.normalizeFragment = function (build) { + if (!this._parts.fragment) { + this._parts.fragment = null; + this.build(!build); + } -exports.OnmsManagedType = OnmsManagedType; -/* tslint:disable:object-literal-sort-keys */ -/** @hidden */ -exports.ManagedTypes = Object.freeze({ - MANAGED: new OnmsManagedType('M', 'MANAGED'), - ALIAS: new OnmsManagedType('A', 'ALIAS'), - DELETED: new OnmsManagedType('D', 'DELETED'), - UNMANAGED: new OnmsManagedType('U', 'UNMANAGED'), - FORCE_UNMANAGED: new OnmsManagedType('F', 'FORCE_UNMANAGED'), - NOT_POLLED: new OnmsManagedType('N', 'NOT_POLLED'), - REMOTE_ONLY: new OnmsManagedType('X', 'REMOTE_ONLY') -}); + return this; + }; + p.normalizeSearch = p.normalizeQuery; + p.normalizeHash = p.normalizeFragment; -/***/ }), -/* 49 */ -/***/ (function(module, exports, __webpack_require__) { + p.iso8859 = function () { + // expect unicode input, iso8859 output + var e = URI.encode; + var d = URI.decode; -"use strict"; + URI.encode = escape; + URI.decode = decodeURIComponent; + try { + this.normalize(); + } finally { + URI.encode = e; + URI.decode = d; + } + return this; + }; + p.unicode = function () { + // expect iso8859 input, unicode output + var e = URI.encode; + var d = URI.decode; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + URI.encode = strictEncodeURIComponent; + URI.decode = unescape; + try { + this.normalize(); + } finally { + URI.encode = e; + URI.decode = d; + } + return this; + }; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an OpenNMS monitored service. - * @module OnmsMonitoredService - */ /** */ + p.readable = function () { + var uri = this.clone(); + // removing username, password, because they shouldn't be displayed according to RFC 3986 + uri.username('').password('').normalize(); + var t = ''; + if (uri._parts.protocol) { + t += uri._parts.protocol + '://'; + } -var OnmsMonitoredService = function OnmsMonitoredService() { - _classCallCheck(this, OnmsMonitoredService); -}; + if (uri._parts.hostname) { + if (uri.is('punycode') && punycode) { + t += punycode.toUnicode(uri._parts.hostname); + if (uri._parts.port) { + t += ':' + uri._parts.port; + } + } else { + t += uri.host(); + } + } -exports.OnmsMonitoredService = OnmsMonitoredService; + if (uri._parts.hostname && uri._parts.path && uri._parts.path.charAt(0) !== '/') { + t += '/'; + } -/***/ }), -/* 50 */ -/***/ (function(module, exports, __webpack_require__) { + t += uri.path(true); + if (uri._parts.query) { + var q = ''; + for (var i = 0, qp = uri._parts.query.split('&'), l = qp.length; i < l; i++) { + var kv = (qp[i] || '').split('='); + q += '&' + URI.decodeQuery(kv[0], this._parts.escapeQuerySpace).replace(/&/g, '%26'); -"use strict"; + if (kv[1] !== undefined) { + q += '=' + URI.decodeQuery(kv[1], this._parts.escapeQuerySpace).replace(/&/g, '%26'); + } + } + t += '?' + q.substring(1); + } + t += URI.decodeQuery(uri.hash(), true); + return t; + }; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + // resolving relative and absolute URLs + p.absoluteTo = function (base) { + var resolved = this.clone(); + var properties = ['protocol', 'username', 'password', 'hostname', 'port']; + var basedir, i, p; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an OpenNMS node. - * @module OnmsNode - */ /** */ + if (this._parts.urn) { + throw new Error('URNs do not have any generally defined hierarchical components'); + } -var OnmsNode = function OnmsNode() { - _classCallCheck(this, OnmsNode); + if (!(base instanceof URI)) { + base = new URI(base); + } - /** the LLDP element associated with this node */ - // public lldpElement: LldpElement; - /** the OSPF element associated with this node */ - // public ospfElement: OspfElement; - /** the IsIs element associated with this node */ - // public isisElement: IsIsElement; - /** the CDP element associated with this node */ - // public cdpElement: CdpElement; - /** the path element associated with this node */ - // public pathElement: PathElement; - /** the SNMP interfaces on this node */ - this.snmpInterfaces = []; - /** the IP interfaces on this node */ - this.ipInterfaces = []; - /** the categories the node is in */ - this.categories = []; - /** the assets of the node */ - this.assets = {}; -}; + if (resolved._parts.protocol) { + // Directly returns even if this._parts.hostname is empty. + return resolved; + } else { + resolved._parts.protocol = base._parts.protocol; + } -exports.OnmsNode = OnmsNode; + if (this._parts.hostname) { + return resolved; + } -/***/ }), -/* 51 */ -/***/ (function(module, exports, __webpack_require__) { + for (i = 0; p = properties[i]; i++) { + resolved._parts[p] = base._parts[p]; + } -"use strict"; + if (!resolved._parts.path) { + resolved._parts.path = base._parts.path; + if (!resolved._parts.query) { + resolved._parts.query = base._parts.query; + } + } else { + if (resolved._parts.path.substring(-2) === '..') { + resolved._parts.path += '/'; + } + if (resolved.path().charAt(0) !== '/') { + basedir = base.directory(); + basedir = basedir ? basedir : base.path().indexOf('/') === 0 ? '/' : ''; + resolved._parts.path = (basedir ? basedir + '/' : '') + resolved._parts.path; + resolved.normalizePath(); + } + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + resolved.build(); + return resolved; + }; + p.relativeTo = function (base) { + var relative = this.clone().normalize(); + var relativeParts, baseParts, common, relativePath, basePath; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (relative._parts.urn) { + throw new Error('URNs do not have any generally defined hierarchical components'); + } -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; } + base = new URI(base).normalize(); + relativeParts = relative._parts; + baseParts = base._parts; + relativePath = relative.path(); + basePath = base.path(); -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; } + if (relativePath.charAt(0) !== '/') { + throw new Error('URI is already relative'); + } -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); -/** - * Represents an OpenNMS node label source. - * @module OnmsNodeLabelSource - */ /** */ + if (basePath.charAt(0) !== '/') { + throw new Error('Cannot calculate a URI relative to another relative URI'); + } -var OnmsNodeLabelSource = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsNodeLabelSource, _OnmsEnum_1$OnmsEnum); + if (relativeParts.protocol === baseParts.protocol) { + relativeParts.protocol = null; + } - function OnmsNodeLabelSource() { - _classCallCheck(this, OnmsNodeLabelSource); + if (relativeParts.username !== baseParts.username || relativeParts.password !== baseParts.password) { + return relative.build(); + } - return _possibleConstructorReturn(this, (OnmsNodeLabelSource.__proto__ || Object.getPrototypeOf(OnmsNodeLabelSource)).apply(this, arguments)); + if (relativeParts.protocol !== null || relativeParts.username !== null || relativeParts.password !== null) { + return relative.build(); } - _createClass(OnmsNodeLabelSource, null, [{ - key: "forId", + if (relativeParts.hostname === baseParts.hostname && relativeParts.port === baseParts.port) { + relativeParts.hostname = null; + relativeParts.port = null; + } else { + return relative.build(); + } - /** given an ID, return the matching node label source object */ - value: function forId(id) { - return OnmsEnum_1.forId(exports.NodeLabelSources, id); - } - /** given a label, return the matching node label source object */ + if (relativePath === basePath) { + relativeParts.path = ''; + return relative.build(); + } - }, { - key: "forLabel", - value: function forLabel(label) { - return OnmsEnum_1.forLabel(exports.NodeLabelSources, label); - } - }]); + // determine common sub path + common = URI.commonPath(relativePath, basePath); - return OnmsNodeLabelSource; -}(OnmsEnum_1.OnmsEnum); + // If the paths have nothing in common, return a relative URL with the absolute path. + if (!common) { + return relative.build(); + } -exports.OnmsNodeLabelSource = OnmsNodeLabelSource; -/* tslint:disable:object-literal-sort-keys */ -/** @hidden */ -exports.NodeLabelSources = Object.freeze({ - USER: new OnmsNodeLabelSource('U', 'USER'), - NETBIOS: new OnmsNodeLabelSource('N', 'NETBIOS'), - HOSTNAME: new OnmsNodeLabelSource('H', 'HOSTNAME'), - SYSNAME: new OnmsNodeLabelSource('S', 'SYSNAME'), - ADDRESS: new OnmsNodeLabelSource('A', 'ADDRESS'), - UNKNOWN: new OnmsNodeLabelSource(' ', 'UNKNOWN') -}); + var parents = baseParts.path.substring(common.length).replace(/[^\/]*$/, '').replace(/.*?\//g, '../'); -/***/ }), -/* 52 */ -/***/ (function(module, exports, __webpack_require__) { + relativeParts.path = parents + relativeParts.path.substring(common.length) || './'; -"use strict"; + return relative.build(); + }; + // comparing URIs + p.equals = function (uri) { + var one = this.clone(); + var two = new URI(uri); + var one_map = {}; + var two_map = {}; + var checked = {}; + var one_query, two_query, key; -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + one.normalize(); + two.normalize(); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + // exact match + if (one.toString() === two.toString()) { + return true; + } -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; } + // extract query string + one_query = one.query(); + two_query = two.query(); + one.query(''); + two.query(''); -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; } + // definitely not equal if not even non-query parts match + if (one.toString() !== two.toString()) { + return false; + } -Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); -/** - * Represents an OpenNMS "SNMP primary" type. - * @module OnmsPrimaryType - */ /** */ + // query parameters have the same length, even if they're permuted + if (one_query.length !== two_query.length) { + return false; + } -var OnmsPrimaryType = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsPrimaryType, _OnmsEnum_1$OnmsEnum); + one_map = URI.parseQuery(one_query, this._parts.escapeQuerySpace); + two_map = URI.parseQuery(two_query, this._parts.escapeQuerySpace); - function OnmsPrimaryType() { - _classCallCheck(this, OnmsPrimaryType); + for (key in one_map) { + if (hasOwn.call(one_map, key)) { + if (!isArray(one_map[key])) { + if (one_map[key] !== two_map[key]) { + return false; + } + } else if (!arraysEqual(one_map[key], two_map[key])) { + return false; + } - return _possibleConstructorReturn(this, (OnmsPrimaryType.__proto__ || Object.getPrototypeOf(OnmsPrimaryType)).apply(this, arguments)); + checked[key] = true; + } } - _createClass(OnmsPrimaryType, [{ - key: "isPrimary", - - /** whether or not the interface is a primary SNMP interface */ - value: function isPrimary() { - return this.id === 'P'; + for (key in two_map) { + if (hasOwn.call(two_map, key)) { + if (!checked[key]) { + // two contains a parameter not present in one + return false; } - }], [{ - key: "forId", + } + } - /** given an ID, return the matching primary type object */ - value: function forId(id) { - return OnmsEnum_1.forId(exports.PrimaryTypes, id); - } - /** given a label, return the matching primary type object */ + return true; + }; - }, { - key: "forLabel", - value: function forLabel(label) { - return OnmsEnum_1.forLabel(exports.PrimaryTypes, label); - } - }]); + // state + p.duplicateQueryParameters = function (v) { + this._parts.duplicateQueryParameters = !!v; + return this; + }; - return OnmsPrimaryType; -}(OnmsEnum_1.OnmsEnum); + p.escapeQuerySpace = function (v) { + this._parts.escapeQuerySpace = !!v; + return this; + }; -exports.OnmsPrimaryType = OnmsPrimaryType; -/* tslint:disable:object-literal-sort-keys */ -/** @hidden */ -exports.PrimaryTypes = Object.freeze({ - PRIMARY: new OnmsPrimaryType('P', 'PRIMARY'), - SECONDARY: new OnmsPrimaryType('S', 'SECONDARY'), - NOT_ELIGIBLE: new OnmsPrimaryType('N', 'NOT_ELIGIBLE') + return URI; }); +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module))) /***/ }), -/* 53 */ +/* 35 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11187,82 +11524,104 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" Object.defineProperty(exports, "__esModule", { value: true }); var OnmsEnum_1 = __webpack_require__(2); /** - * Represents an OpenNMS monitored service status type. - * @module OnmsServiceStatusType + * Represents a filter comparator. + * @module Comparator */ /** */ -var OnmsServiceStatusType = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsServiceStatusType, _OnmsEnum_1$OnmsEnum); +var Comparator = function (_OnmsEnum_1$OnmsEnum) { + _inherits(Comparator, _OnmsEnum_1$OnmsEnum); - function OnmsServiceStatusType() { - _classCallCheck(this, OnmsServiceStatusType); + function Comparator(id, label) { + _classCallCheck(this, Comparator); - return _possibleConstructorReturn(this, (OnmsServiceStatusType.__proto__ || Object.getPrototypeOf(OnmsServiceStatusType)).apply(this, arguments)); - } + /** aliases for the command-line */ + var _this = _possibleConstructorReturn(this, (Comparator.__proto__ || Object.getPrototypeOf(Comparator)).call(this, id, label)); - _createClass(OnmsServiceStatusType, [{ - key: "isManaged", + _this.aliases = []; - /** whether or not the service is managed */ - value: function isManaged() { - return this.id === 'A'; + for (var _len = arguments.length, aliases = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + aliases[_key - 2] = arguments[_key]; } - }], [{ - key: "forId", - /** given an ID, return the matching service status type object */ - value: function forId(id) { - return OnmsEnum_1.forId(exports.ServiceStatusTypes, id); - } - /** given a label, return the matching service status type object */ + _this.aliases = aliases; + return _this; + } + /** whether this comparator matches the given comparator string */ - }, { - key: "forLabel", - value: function forLabel(label) { - return OnmsEnum_1.forLabel(exports.ServiceStatusTypes, label); + + _createClass(Comparator, [{ + key: "matches", + value: function matches(comparator) { + return comparator.toLowerCase() === this.label.toLowerCase() || this.aliases.indexOf(comparator) >= 0; } }]); - return OnmsServiceStatusType; + return Comparator; }(OnmsEnum_1.OnmsEnum); -exports.OnmsServiceStatusType = OnmsServiceStatusType; +exports.Comparator = Comparator; /* tslint:disable:object-literal-sort-keys */ /** @hidden */ -exports.ServiceStatusTypes = Object.freeze({ - MANAGED: new OnmsServiceStatusType('A', 'MANAGED'), - UNMANAGED: new OnmsServiceStatusType('U', 'UNMANAGED'), - DELETED: new OnmsServiceStatusType('D', 'DELETED'), - FORCED_UNMANAGED: new OnmsServiceStatusType('F', 'FORCED_UNMANAGED'), - NOT_MONITORED: new OnmsServiceStatusType('N', 'NOT_MONITORED'), - RESCAN_TO_RESUME: new OnmsServiceStatusType('R', 'RESCAN_TO_RESUME'), - RESCAN_TO_SUSPEND: new OnmsServiceStatusType('S', 'RESCAN_TO_SUSPEND'), - REMOTELY_MONITORED: new OnmsServiceStatusType('X', 'REMOTELY_MONITORED') +exports.Comparators = Object.freeze({ + EQ: new Comparator(1, 'EQ', '=', '=='), + NE: new Comparator(2, 'NE', '!='), + ILIKE: new Comparator(3, 'ILIKE'), + LIKE: new Comparator(4, 'LIKE'), + GT: new Comparator(5, 'GT', '>'), + LT: new Comparator(6, 'LT', '<'), + GE: new Comparator(7, 'GE', '>='), + LE: new Comparator(8, 'LE', '<='), + NULL: new Comparator(9, 'NULL'), + NOTNULL: new Comparator(10, 'NOTNULL') }); /***/ }), -/* 54 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } Object.defineProperty(exports, "__esModule", { value: true }); /** - * Represents an OpenNMS SNMP interface. - * @module OnmsSnmpInterface + * Represents server authentication config. + * @module OnmsAuthConfig */ /** */ -var OnmsSnmpInterface = function OnmsSnmpInterface() { - _classCallCheck(this, OnmsSnmpInterface); -}; +var OnmsAuthConfig = function () { + /** + * Construct an auth configuration object. + * @constructor + */ + function OnmsAuthConfig(username, password) { + _classCallCheck(this, OnmsAuthConfig); -exports.OnmsSnmpInterface = OnmsSnmpInterface; + this.username = username; + this.password = password; + } + /** + * Create a new {@link OnmsAuthConfig} object from this existing one. + */ + + + _createClass(OnmsAuthConfig, [{ + key: "clone", + value: function clone() { + return new OnmsAuthConfig(this.username, this.password); + } + }]); + + return OnmsAuthConfig; +}(); + +exports.OnmsAuthConfig = OnmsAuthConfig; /***/ }), -/* 55 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11272,159 +11631,227 @@ var _createClass = function () { function defineProperties(target, props) { for 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; } - Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); +/** @hidden */ +// tslint:disable-next-line +var URI = __webpack_require__(34); +var OnmsAuthConfig_1 = __webpack_require__(36); +var ServerType_1 = __webpack_require__(13); +var UUID_1 = __webpack_require__(251); /** - * Represents an OpenNMS SNMP admin/oper status type. - * @module OnmsSnmpStatusType + * Represents a remote OpenNMS server. + * @module OnmsServer */ /** */ -var OnmsSnmpStatusType = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsSnmpStatusType, _OnmsEnum_1$OnmsEnum); - - function OnmsSnmpStatusType() { - _classCallCheck(this, OnmsSnmpStatusType); +var OnmsServer = function () { + /** + * Construct a new OnmsServer object representing a remote server. + * @constructor + */ + function OnmsServer(name, url, auth, password) { + _classCallCheck(this, OnmsServer); - return _possibleConstructorReturn(this, (OnmsSnmpStatusType.__proto__ || Object.getPrototypeOf(OnmsSnmpStatusType)).apply(this, arguments)); + this.id = UUID_1.UUID.generate(); + this.name = name; + this.url = url; + if (auth instanceof OnmsAuthConfig_1.OnmsAuthConfig) { + this.auth = auth; + } else { + this.auth = new OnmsAuthConfig_1.OnmsAuthConfig(auth, password); + } } + /** + * Given a relative URL fragment, construct a URL for that fragment on the server. + * @param forFragment - the URL fragment to append to the server URL + * @returns a complete URL + */ - _createClass(OnmsSnmpStatusType, null, [{ - key: "forId", - /** given an ID, return the matching snmp status type object */ - value: function forId(id) { - return OnmsEnum_1.forId(exports.SnmpStatusTypes, id); + _createClass(OnmsServer, [{ + key: "resolveURL", + value: function resolveURL(forFragment) { + if (!this.url) { + return undefined; + } + if (forFragment === undefined) { + return this.url; + } + if (forFragment.indexOf('/') === 0 || forFragment.indexOf('http') === 0) { + return forFragment; + } + return URI(this.url).segment(forFragment).toString(); } - /** given a label, return the matching snmp status type object */ + /** + * Create a new {@link OnmsServer} object from this existing one. + */ }, { - key: "forLabel", - value: function forLabel(label) { - return OnmsEnum_1.forLabel(exports.SnmpStatusTypes, label); + key: "clone", + value: function clone() { + var auth = this.auth ? this.auth.clone() : undefined; + var ret = new OnmsServer(this.name, this.url, auth); + ret.metadata = this.metadata ? this.metadata.clone() : undefined; + return ret; + } + /** + * Return the hostname portion of the URL associated with this server. + */ + + }, { + key: "toString", + + /** a pretty string representation of this server */ + value: function toString() { + if (this.metadata) { + return 'OpenNMS ' + (this.metadata.type === ServerType_1.ServerTypes.MERIDIAN ? 'Meridian' : 'Horizon') + ' ' + this.metadata.version.displayVersion + ' at ' + (this.host || this.url); + } else { + return 'OpenNMS at ' + (this.host || this.url); + } + } + }, { + key: "host", + get: function get() { + if (!this.url) { + return undefined; + } + return URI(this.url).hostname(); } }]); - return OnmsSnmpStatusType; -}(OnmsEnum_1.OnmsEnum); + return OnmsServer; +}(); -exports.OnmsSnmpStatusType = OnmsSnmpStatusType; -/* tslint:disable:object-literal-sort-keys */ -/** @hidden */ -exports.SnmpStatusTypes = Object.freeze({ - 1: new OnmsSnmpStatusType(1, 'UP'), - 2: new OnmsSnmpStatusType(2, 'DOWN'), - 3: new OnmsSnmpStatusType(3, 'TESTING') -}); +exports.OnmsServer = OnmsServer; /***/ }), -/* 56 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -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; } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -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; } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } Object.defineProperty(exports, "__esModule", { value: true }); -var OnmsEnum_1 = __webpack_require__(2); +var OnmsVersion_1 = __webpack_require__(21); +var ServerType_1 = __webpack_require__(13); /** - * Represents an OpenNMS trouble ticket state. - * @module OnmsTroubleTicketState + * A class that represents the capabilities an OpenNMS server has and other information about it. + * @module ServerMetadata */ /** */ -var OnmsTroubleTicketState = function (_OnmsEnum_1$OnmsEnum) { - _inherits(OnmsTroubleTicketState, _OnmsEnum_1$OnmsEnum); - - function OnmsTroubleTicketState() { - _classCallCheck(this, OnmsTroubleTicketState); +var ServerMetadata = function () { + /** + * Construct a ServerMetadata object. + * @constructor + * @param version the version of the server + * @param type the type of server (Horizon, Meridian) + */ + function ServerMetadata(version, type) { + _classCallCheck(this, ServerMetadata); - return _possibleConstructorReturn(this, (OnmsTroubleTicketState.__proto__ || Object.getPrototypeOf(OnmsTroubleTicketState)).apply(this, arguments)); + if (version instanceof OnmsVersion_1.OnmsVersion) { + this.version = version || new OnmsVersion_1.OnmsVersion('0.0.0'); + } else { + this.version = new OnmsVersion_1.OnmsVersion(version || '0.0.0'); + } + this.type = type || ServerType_1.ServerTypes.HORIZON; } - - return OnmsTroubleTicketState; -}(OnmsEnum_1.OnmsEnum); - -exports.OnmsTroubleTicketState = OnmsTroubleTicketState; -/* tslint:disable:object-literal-sort-keys */ -/** @hidden */ -exports.TroubleTicketStates = Object.freeze({ - OPEN: new OnmsTroubleTicketState(0, 'OPEN'), - CREATE_PENDING: new OnmsTroubleTicketState(1, 'CREATE_PENDING'), - CREATE_FAILED: new OnmsTroubleTicketState(2, 'CREATE_FAILED'), - UPDATE_PENDING: new OnmsTroubleTicketState(3, 'UPDATE_PENDING'), - UPDATE_FAILED: new OnmsTroubleTicketState(4, 'UPDATE_FAILED'), - CLOSED: new OnmsTroubleTicketState(5, 'CLOSED'), - CLOSE_PENDING: new OnmsTroubleTicketState(6, 'CLOSE_PENDING'), - CLOSE_FAILED: new OnmsTroubleTicketState(7, 'CLOSE_FAILED'), - RESOLVED: new OnmsTroubleTicketState(8, 'RESOLVED'), - RESOLVE_PENDING: new OnmsTroubleTicketState(9, 'RESOLVE_PENDING'), - RESOLVE_FAILED: new OnmsTroubleTicketState(10, 'RESOLVE_FAILED'), - CANCELLED: new OnmsTroubleTicketState(11, 'CANCELLED'), - CANCEL_PENDING: new OnmsTroubleTicketState(12, 'CANCEL_PENDING'), - CANCEL_FAILED: new OnmsTroubleTicketState(13, 'CANCEL_FAILED') -}); - -/***/ }), -/* 57 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; + /** can you ack alarms through ReST */ -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + _createClass(ServerMetadata, [{ + key: "ackAlarms", + value: function ackAlarms() { + return this.version.ge('14.0.0'); + } + /** does this server support graphs (ie, the measurements API) */ -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + }, { + key: "graphs", + value: function graphs() { + if (this.type && this.type === ServerType_1.ServerTypes.MERIDIAN) { + return this.version.ge('2016.1.0'); + } else { + return this.version.ge('16.0.0'); + } + } + /** does this server support outage summaries */ -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents a physical (MAC) address. - * @module PhysAddr - */ /** */ + }, { + key: "outageSummaries", + value: function outageSummaries() { + return this.version.ge('14.0.3'); + } + /** does this server support setting the location on a node */ -var PhysAddr = function () { - function PhysAddr(addr) { - _classCallCheck(this, PhysAddr); + }, { + key: "setNodeLocation", + value: function setNodeLocation() { + return this.version.ge('15.0.2'); + } + /** what version of the ReST API does this server support */ - this.addr = addr.toUpperCase().replace(/[^0-9A-F]/g, ''); - } - /** displayable string */ + }, { + key: "apiVersion", + value: function apiVersion() { + return 1; + } + /** a convenient data structure with all capabilities listed */ + }, { + key: "capabilities", + value: function capabilities() { + return { + ackAlarms: this.ackAlarms(), + apiVersion: this.apiVersion(), + graphs: this.graphs(), + outageSummaries: this.outageSummaries(), + setNodeLocation: this.setNodeLocation(), + type: this.type === ServerType_1.ServerTypes.MERIDIAN ? 'Meridian' : 'Horizon' + }; + } + /** a human-readable representation of this version */ - _createClass(PhysAddr, [{ + }, { key: "toString", value: function toString() { - var asArray = this.addr.split(''); - if (asArray.length === 12) { - return asArray[0] + asArray[1] + ':' + asArray[2] + asArray[3] + ':' + asArray[4] + asArray[5] + ':' + asArray[6] + asArray[7] + ':' + asArray[8] + asArray[9] + ':' + asArray[10] + asArray[11]; - } else { - return this.addr; - } + return 'ServerMetadata[version=' + this.version.toString() + ',apiVersion=' + this.apiVersion() + ',type=' + this.type.toString() + ',ackAlarms=' + this.ackAlarms() + ',graphs=' + this.graphs() + ',outageSummaries=' + this.outageSummaries() + ',setNodeLocation=' + this.setNodeLocation() + ']'; + } + /** + * Create a new {@link ServerMetadata} object from this existing one. + */ + + }, { + key: "clone", + value: function clone() { + return new ServerMetadata(this.version.clone(), this.type); } }]); - return PhysAddr; + return ServerMetadata; }(); -exports.PhysAddr = PhysAddr; +exports.ServerMetadata = ServerMetadata; /***/ }), -/* 58 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var _regenerator = __webpack_require__(9); + +var _regenerator2 = _interopRequireDefault(_regenerator); + +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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; +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"); } } @@ -11432,7593 +11859,4981 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen 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 __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; Object.defineProperty(exports, "__esModule", { value: true }); -var axios_1 = __webpack_require__(203); -/** @hidden */ -// tslint:disable-next-line -var URI = __webpack_require__(195); -var AbstractHTTP_1 = __webpack_require__(32); +var AbstractDAO_1 = __webpack_require__(30); +var EventDAO_1 = __webpack_require__(22); var OnmsError_1 = __webpack_require__(6); -var OnmsResult_1 = __webpack_require__(9); +var OnmsAlarm_1 = __webpack_require__(42); +var OnmsAlarmType_1 = __webpack_require__(43); +var OnmsParm_1 = __webpack_require__(23); +var OnmsServiceType_1 = __webpack_require__(14); +var OnmsSeverity_1 = __webpack_require__(24); +var OnmsTroubleTicketState_1 = __webpack_require__(56); var Log_1 = __webpack_require__(4); var typescript_logging_1 = __webpack_require__(5); /** @hidden */ -var catAxios = new typescript_logging_1.Category('axios', Log_1.catRest); +var cat = new typescript_logging_1.Category('alarms', Log_1.catDao); /** - * Implementation of the OnmsHTTP interface using Axios: https://github.com/mzabriskie/axios - * @module AxiosHTTP - * @implements IOnmsHTTP + * Data access for {@link OnmsAlarm} objects + * @module AlarmDAO */ /** */ -var AxiosHTTP = function (_AbstractHTTP_1$Abstr) { - _inherits(AxiosHTTP, _AbstractHTTP_1$Abstr); +var AlarmDAO = function (_AbstractDAO_1$Abstra) { + _inherits(AlarmDAO, _AbstractDAO_1$Abstra); - function AxiosHTTP(server) { - var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000; + function AlarmDAO(impl) { + _classCallCheck(this, AlarmDAO); - _classCallCheck(this, AxiosHTTP); + var _this = _possibleConstructorReturn(this, (AlarmDAO.__proto__ || Object.getPrototypeOf(AlarmDAO)).call(this, impl)); - return _possibleConstructorReturn(this, (AxiosHTTP.__proto__ || Object.getPrototypeOf(AxiosHTTP)).call(this, server, timeout)); + _this.eventDao = new EventDAO_1.EventDAO(impl); + return _this; } - /** make an HTTP get call -- this should be overridden by the implementation */ - - - _createClass(AxiosHTTP, [{ - key: "get", - value: function get(url, options) { - var realUrl = this.server.resolveURL(url); - var opts = this.getConfig(options); - var urlObj = new URI(realUrl); - urlObj.search(options.parameters); - Log_1.log.debug('getting ' + urlObj.toString(), catAxios); - return this.getImpl(options).get(realUrl, opts).then(function (response) { - var type = void 0; - if (response.headers && response.headers['content-type']) { - type = response.headers['content-type']; - } - return OnmsResult_1.OnmsResult.ok(response.data, undefined, response.status, type); - }); - } - /** - * Clear the configured {@link AxiosInstance} so we create a new one when the server changes. - */ + /** + * create an alarm object from a JSON object + * @hidden + */ - }, { - key: "onSetServer", - value: function onSetServer() { - _get(AxiosHTTP.prototype.__proto__ || Object.getPrototypeOf(AxiosHTTP.prototype), "onSetServer", this).call(this); - this.axiosObj = undefined; - } - /** internal method to turn {@link OnmsHTTPOptions} into an {@link AxiosRequestConfig} object. */ - }, { - key: "getConfig", - value: function getConfig(options) { - var allOptions = this.getOptions(options); - var ret = {}; - if (allOptions.auth && allOptions.auth.username && allOptions.auth.password) { - ret.auth = { - password: allOptions.auth.password, - username: allOptions.auth.username - }; + _createClass(AlarmDAO, [{ + key: "fromData", + value: function fromData(data) { + var alarm = new OnmsAlarm_1.OnmsAlarm(); + alarm.id = this.toNumber(data.id); + alarm.count = data.count; + alarm.ackUser = data.ackUser; + alarm.uei = data.uei; + alarm.description = data.description; + alarm.firstEventTime = this.toDate(data.firstEventTime); + alarm.lastEvent = this.eventDao.fromData(data.lastEvent); + alarm.logMessage = data.logMessage; + alarm.reductionKey = data.reductionKey; + alarm.troubleTicket = data.troubleTicket; + alarm.nodeId = this.toNumber(data.nodeId); + alarm.nodeLabel = data.nodeLabel; + alarm.suppressedBy = data.suppressedBy; + if (data.ackTime) { + alarm.ackTime = this.toDate(data.ackTime); } - if (allOptions.timeout) { - ret.timeout = allOptions.timeout; + if (data.severity) { + alarm.severity = OnmsSeverity_1.Severities[data.severity]; } - if (allOptions.accept === 'application/json') { - ret.responseType = 'json'; - ret.transformResponse = this.transformJSON; - } else if (allOptions.accept === 'text/plain') { - ret.responseType = 'text'; - ret.headers = { - Accept: allOptions.accept - }; - } else if (allOptions.accept === 'application/xml') { - ret.responseType = 'text'; - ret.transformResponse = this.transformXML; - ret.headers = { - Accept: allOptions.accept - }; - } else { - throw new OnmsError_1.OnmsError('Unhandled response type: ' + allOptions.accept); + if (data.type) { + var type = this.toNumber(data.type); + alarm.type = OnmsAlarmType_1.AlarmTypes[type]; } - if (allOptions.parameters) { - ret.params = Object.assign({}, allOptions.parameters); + if (data.troubleTicketState) { + alarm.troubleTicketState = OnmsTroubleTicketState_1.TroubleTicketStates[data.troubleTicketState]; } - return ret; - } - /** internal method for getting/constructing an Axios object on-demand, based on the current server config */ - - }, { - key: "getImpl", - value: function getImpl(options) { - if (!this.axiosObj) { - if (!this.server) { - throw new OnmsError_1.OnmsError('You must set a server before attempting to make queries using Axios!'); - } - var allOptions = this.getOptions(options); - this.axiosObj = axios_1.default.create({ - auth: { - password: allOptions.auth.password, - username: allOptions.auth.username - }, - baseURL: this.server.url, - timeout: allOptions.timeout, - withCredentials: true - }); + if (data.serviceType) { + var st = data.serviceType; + alarm.service = OnmsServiceType_1.OnmsServiceType.for(st.id, st.name); } - return this.axiosObj; - } - }]); - - return AxiosHTTP; -}(AbstractHTTP_1.AbstractHTTP); + if (data.suppressedTime) { + alarm.suppressedTime = this.toDate(data.suppressedTime); + } + if (data.suppressedUntil) { + alarm.suppressedUntil = this.toDate(data.suppressedUntil); + } + if (data.parameters) { + var parms = data.parameters; + if (parms.parameter) { + parms = parms.parameter; + } + if (!Array.isArray(parms)) { + parms = [parms]; + } + alarm.parameters = []; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; -exports.AxiosHTTP = AxiosHTTP; + try { + for (var _iterator = parms[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var parm = _step.value; -/***/ }), -/* 59 */ -/***/ (function(module, exports, __webpack_require__) { + parm = new OnmsParm_1.OnmsParm(parm.name, parm.type, parm.value); + alarm.parameters.push(parm); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + return alarm; + } + /** get an alarm, given the alarm's ID */ -"use strict"; + }, { + key: "get", + value: function get(id) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { + var _this2 = this; + var opts; + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + opts = this.getOptions(); + return _context.abrupt("return", this.http.get('rest/alarms/' + id, opts).then(function (result) { + return _this2.fromData(result.data); + })); -var utils = __webpack_require__(3); -var settle = __webpack_require__(210); -var buildURL = __webpack_require__(213); -var parseHeaders = __webpack_require__(219); -var isURLSameOrigin = __webpack_require__(217); -var createError = __webpack_require__(62); -var btoa = typeof window !== 'undefined' && window.btoa && window.btoa.bind(window) || __webpack_require__(212); + case 2: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + } + /** get an alarm, given a filter */ -module.exports = function xhrAdapter(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; + }, { + key: "find", + value: function find(filter) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { + var _this3 = this; - if (utils.isFormData(requestData)) { - delete requestHeaders['Content-Type']; // Let the browser set it - } + var opts; + return _regenerator2.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + opts = this.getOptions(filter); + return _context2.abrupt("return", this.http.get('rest/alarms', opts).then(function (result) { + var data = result.data; + if (_this3.getCount(data) > 0 && data.alarm) { + data = data.alarm; + } else { + data = []; + } + if (!Array.isArray(data)) { + throw new OnmsError_1.OnmsError('Expected an array of alarms but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); + } + return data.map(function (alarmData) { + return _this3.fromData(alarmData); + }); + })); - var request = new XMLHttpRequest(); - var loadEvent = 'onreadystatechange'; - var xDomain = false; + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + } + }]); - // For IE 8/9 CORS support - // Only supports POST and GET calls and doesn't returns the response headers. - // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest. - if (process.env.NODE_ENV !== 'test' && typeof window !== 'undefined' && window.XDomainRequest && !('withCredentials' in request) && !isURLSameOrigin(config.url)) { - request = new window.XDomainRequest(); - loadEvent = 'onload'; - xDomain = true; - request.onprogress = function handleProgress() {}; - request.ontimeout = function handleTimeout() {}; - } + return AlarmDAO; +}(AbstractDAO_1.AbstractDAO); - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password || ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); - } +exports.AlarmDAO = AlarmDAO; - request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); +/***/ }), +/* 40 */ +/***/ (function(module, exports, __webpack_require__) { - // Set the request timeout in MS - request.timeout = config.timeout; +"use strict"; - // Listen for ready state - request[loadEvent] = function handleLoad() { - if (!request || request.readyState !== 4 && !xDomain) { - return; - } - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } +var _regenerator = __webpack_require__(9); - // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; - var response = { - data: responseData, - // IE sends 1223 instead of 204 (https://github.com/mzabriskie/axios/issues/201) - status: request.status === 1223 ? 204 : request.status, - statusText: request.status === 1223 ? 'No Content' : request.statusText, - headers: responseHeaders, - config: config, - request: request - }; +var _regenerator2 = _interopRequireDefault(_regenerator); - settle(resolve, reject, response); +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; }; - // Clean up request - request = null; - }; +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(createError('Network Error', config, null, request)); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - // Clean up request - request = null; - }; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // Handle timeout - request.ontimeout = function handleTimeout() { - reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); +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; } - // Clean up request - request = null; - }; +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; } - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { - var cookies = __webpack_require__(215); +var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var AbstractDAO_1 = __webpack_require__(30); +var OnmsError_1 = __webpack_require__(6); +var Util_1 = __webpack_require__(31); +var OnmsCategory_1 = __webpack_require__(44); +var OnmsCollectType_1 = __webpack_require__(45); +var OnmsIpInterface_1 = __webpack_require__(47); +var OnmsManagedType_1 = __webpack_require__(48); +var OnmsMonitoredService_1 = __webpack_require__(49); +var OnmsNode_1 = __webpack_require__(50); +var OnmsNodeLabelSource_1 = __webpack_require__(51); +var OnmsNodeType_1 = __webpack_require__(252); +var OnmsPrimaryType_1 = __webpack_require__(52); +var OnmsServiceType_1 = __webpack_require__(14); +var OnmsServiceStatusType_1 = __webpack_require__(53); +var OnmsSnmpInterface_1 = __webpack_require__(54); +var OnmsSnmpStatusType_1 = __webpack_require__(55); +var PhysAddr_1 = __webpack_require__(57); +var Log_1 = __webpack_require__(4); +var typescript_logging_1 = __webpack_require__(5); +/** @hidden */ +var cat = new typescript_logging_1.Category('nodes', Log_1.catDao); +/** + * Data access for {@link OnmsNode} objects + * @module NodeDAO + */ /** */ - // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined; +var NodeDAO = function (_AbstractDAO_1$Abstra) { + _inherits(NodeDAO, _AbstractDAO_1$Abstra); - if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; - } - } + function NodeDAO(impl) { + _classCallCheck(this, NodeDAO); - // Add headers to the request - if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } - }); + return _possibleConstructorReturn(this, (NodeDAO.__proto__ || Object.getPrototypeOf(NodeDAO)).call(this, impl)); } + /** + * create a node object from a JSON object + * @hidden + */ - // Add withCredentials to request if needed - if (config.withCredentials) { - request.withCredentials = true; - } - // Add responseType to request if needed - if (config.responseType) { - try { - request.responseType = config.responseType; - } catch (e) { - // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. - // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. - if (config.responseType !== 'json') { - throw e; + _createClass(NodeDAO, [{ + key: "fromData", + value: function fromData(data) { + var node = new OnmsNode_1.OnmsNode(); + node.id = this.toNumber(data.id); + node.label = data.label; + node.location = data.location; + node.foreignSource = data.foreignSource || undefined; + node.foreignId = data.foreignId || undefined; + node.sysContact = data.sysContact; + node.sysDescription = data.sysDescription; + node.sysLocation = data.sysLocation; + node.sysName = data.sysName; + node.sysObjectId = data.sysObjectId; + if (data.labelSource) { + node.labelSource = OnmsNodeLabelSource_1.OnmsNodeLabelSource.forId(data.labelSource); + } + if (data.createTime) { + node.createTime = this.toDate(data.createTime); + } + if (data.lastCapsdPoll) { + node.lastCapsdPoll = this.toDate(data.lastCapsdPoll); + } + if (data.type) { + node.type = OnmsNodeType_1.OnmsNodeType.forId(data.type); + } + node.categories = data.categories.map(function (c) { + return OnmsCategory_1.OnmsCategory.for(c.id, c.name); + }); + for (var key in data.assetRecord) { + if (data.assetRecord.hasOwnProperty(key) && data.assetRecord[key] !== null && data.assetRecord[key] !== undefined) { + node.assets[key] = data.assetRecord[key]; + } + } + return node; } - } - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); - } + /** + * create an IP interface object from a JSON object + * @hidden + */ - // Not all browsers support upload events - if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); - } + }, { + key: "fromIpInterfaceData", + value: function fromIpInterfaceData(data) { + var iface = new OnmsIpInterface_1.OnmsIpInterface(); + iface.id = this.toNumber(data.id); + iface.hostname = data.hostName || data.hostname; + iface.ipAddress = Util_1.Util.toIPAddress(data.ipAddress); + iface.isManaged = OnmsManagedType_1.OnmsManagedType.forId(data.isManaged); + iface.lastCapsdPoll = this.toDate(data.lastCapsdPoll); + iface.snmpPrimary = OnmsPrimaryType_1.OnmsPrimaryType.forId(data.snmpPrimary); + if (data.snmpInterface && data.snmpInterface.id) { + iface.snmpInterfaceId = this.toNumber(data.snmpInterface.id); + } + return iface; + } + /** + * create an SNMP interface object from a JSON object + * @hidden + */ - if (config.cancelToken) { - // Handle cancellation - config.cancelToken.promise.then(function onCanceled(cancel) { - if (!request) { - return; + }, { + key: "fromSnmpData", + value: function fromSnmpData(data) { + var iface = new OnmsSnmpInterface_1.OnmsSnmpInterface(); + iface.id = this.toNumber(data.id); + iface.ifIndex = this.toNumber(data.ifIndex); + iface.ifDescr = data.ifDescr; + iface.ifType = this.toNumber(data.ifType); + iface.ifName = data.ifName; + iface.ifSpeed = this.toNumber(data.ifSpeed); + iface.ifAdminStatus = OnmsSnmpStatusType_1.OnmsSnmpStatusType.forId(this.toNumber(data.ifAdminStatus)); + iface.ifOperStatus = OnmsSnmpStatusType_1.OnmsSnmpStatusType.forId(this.toNumber(data.ifOperStatus)); + iface.ifAlias = data.ifAlias; + iface.lastCapsdPoll = this.toDate(data.lastCapsdPoll); + iface.collect = OnmsCollectType_1.OnmsCollectType.forId(data.collectFlag); + iface.poll = data.poll; + iface.lastSnmpPoll = this.toDate(data.lastSnmpPoll); + if (data.physAddr) { + iface.physAddr = new PhysAddr_1.PhysAddr(data.physAddr); + } + return iface; } + /** + * create a monitored service object from a JSON object + * @hidden + */ - request.abort(); - reject(cancel); - // Clean up request - request = null; - }); - } + }, { + key: "fromServiceData", + value: function fromServiceData(data) { + var service = new OnmsMonitoredService_1.OnmsMonitoredService(); + service.id = this.toNumber(data.id); + service.lastFail = this.toDate(data.lastFail); + service.lastGood = this.toDate(data.lastGood); + if (data.serviceType) { + service.type = OnmsServiceType_1.OnmsServiceType.for(data.serviceType.id, data.serviceType.name); + } + if (data.status) { + service.status = OnmsServiceStatusType_1.OnmsServiceStatusType.forId(data.status); + } + return service; + } + /** + * get an node, given the node's ID + * + * @param id the node's ID + * @param recurse optionally fetch all sub-model objects (ipInterface, etc.) + */ - if (requestData === undefined) { - requestData = null; - } + }, { + key: "get", + value: function get(id) { + var recurse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - // Send the request - request.send(requestData); - }); -}; + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { + var _this2 = this; -/***/ }), -/* 60 */ -/***/ (function(module, exports, __webpack_require__) { + var opts; + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + opts = this.getOptions(); + return _context.abrupt("return", this.http.get('rest/nodes/' + id, opts).then(function (result) { + var node = _this2.fromData(result.data); + if (recurse) { + return _this2.fetch(node); + } else { + return node; + } + })); -"use strict"; + case 2: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + } + /** search for nodes, given a filter */ + }, { + key: "find", + value: function find(filter) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { + var _this3 = this; -/** - * A `Cancel` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ + var opts; + return _regenerator2.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + opts = this.getOptions(filter); + return _context2.abrupt("return", this.http.get('rest/nodes', opts).then(function (result) { + var data = result.data; + if (_this3.getCount(data) > 0 && data.node) { + data = data.node; + } else { + data = []; + } + if (!Array.isArray(data)) { + throw new OnmsError_1.OnmsError('Expected an array of nodes but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); + } + return data.map(function (nodeData) { + return _this3.fromData(nodeData); + }); + })); -function Cancel(message) { - this.message = message; -} + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + } + /** given a node, fetch all the sub-model objects for that node (ipInterfaces, snmpInterfaces, etc.) */ -Cancel.prototype.toString = function toString() { - return 'Cancel' + (this.message ? ': ' + this.message : ''); -}; + }, { + key: "fetch", + value: function fetch(node) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee3() { + var _this4 = this; -Cancel.prototype.__CANCEL__ = true; + return _regenerator2.default.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", this.snmpInterfaces(node).then(function (si) { + node.snmpInterfaces = si; + si.forEach(function (iface) { + iface.node = node; + }); + return _this4.ipInterfaces(node).then(function (ifaces) { + node.ipInterfaces = ifaces; + ifaces.forEach(function (iface) { + iface.node = node; + }); + return Promise.all(ifaces.map(function (iface) { + return _this4.services(node, iface).then(function (services) { + iface.services = services; + services.forEach(function (service) { + service.node = node; + service.ipInterface = iface; + }); + }); + })).then(function () { + return node; + }); + }); + })); -module.exports = Cancel; + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + } + /** given a node, get the IP interfaces for that node */ -/***/ }), -/* 61 */ -/***/ (function(module, exports, __webpack_require__) { + }, { + key: "ipInterfaces", + value: function ipInterfaces(node, filter) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee4() { + var _this5 = this; -"use strict"; + var opts; + return _regenerator2.default.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + opts = this.getOptions(filter); + if (node instanceof OnmsNode_1.OnmsNode) { + node = node.id; + } + return _context4.abrupt("return", this.http.get('rest/nodes/' + node + '/ipinterfaces', opts).then(function (result) { + var data = result.data; + if (_this5.getCount(data) > 0 && data.ipInterface) { + data = data.ipInterface; + } else { + data = []; + } + if (!Array.isArray(data)) { + throw new OnmsError_1.OnmsError('Expected an array of IP interfaces but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); + } + return data.map(function (ifaceData) { + return _this5.fromIpInterfaceData(ifaceData); + }); + })); -module.exports = function isCancel(value) { - return !!(value && value.__CANCEL__); -}; + case 3: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + } + /** given a node, get the SNMP interfaces for that node */ -/***/ }), -/* 62 */ -/***/ (function(module, exports, __webpack_require__) { + }, { + key: "snmpInterfaces", + value: function snmpInterfaces(node, filter) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee5() { + var _this6 = this; -"use strict"; + var opts; + return _regenerator2.default.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + opts = this.getOptions(filter); + if (node instanceof OnmsNode_1.OnmsNode) { + node = node.id; + } + return _context5.abrupt("return", this.http.get('rest/nodes/' + node + '/snmpinterfaces', opts).then(function (result) { + var data = result.data; + if (_this6.getCount(data) > 0 && data.snmpInterface) { + data = data.snmpInterface; + } else { + data = []; + } + if (!Array.isArray(data)) { + throw new OnmsError_1.OnmsError('Expected an array of SNMP interfaces but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); + } + return data.map(function (ifaceData) { + return _this6.fromSnmpData(ifaceData); + }); + })); -var enhanceError = __webpack_require__(209); + case 3: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + } + /** given a node, get the IP interfaces for that node */ -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The created error. - */ -module.exports = function createError(message, config, code, request, response) { - var error = new Error(message); - return enhanceError(error, config, code, request, response); -}; + }, { + key: "services", + value: function services(node, ipInterface, filter) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee6() { + var _this7 = this; -/***/ }), -/* 63 */ -/***/ (function(module, exports, __webpack_require__) { + var opts; + return _regenerator2.default.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + opts = this.getOptions(filter); -"use strict"; + if (node instanceof OnmsNode_1.OnmsNode) { + node = node.id; + } + if (ipInterface instanceof OnmsIpInterface_1.OnmsIpInterface && ipInterface.ipAddress) { + ipInterface = ipInterface.ipAddress.address; + } + return _context6.abrupt("return", this.http.get('rest/nodes/' + node + '/ipinterfaces/' + ipInterface + '/services', opts).then(function (result) { + var data = result.data; + if (_this7.getCount(data) > 0 && data.service) { + data = data.service; + } else { + data = []; + } + if (!Array.isArray(data)) { + throw new OnmsError_1.OnmsError('Expected an array of services but got "' + (typeof data === "undefined" ? "undefined" : _typeof(data)) + '" instead.'); + } + return data.map(function (ifaceData) { + return _this7.fromServiceData(ifaceData); + }); + })); + case 4: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + } + }]); -module.exports = function bind(fn, thisArg) { - return function wrap() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - return fn.apply(thisArg, args); - }; -}; + return NodeDAO; +}(AbstractDAO_1.AbstractDAO); + +exports.NodeDAO = NodeDAO; /***/ }), -/* 64 */ +/* 41 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -// A wrapper function that returns false if the address is not valid; used to -// avoid boilerplate checks for `if (!this.valid) { return false; }` +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -var falseIfInvalid = exports.falseIfInvalid = function (fn) { - return function () { - if (!this.valid) { - return false; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - return fn.apply(this, arguments); - }; +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); +var Comparator_1 = __webpack_require__(35); +var OnmsError_1 = __webpack_require__(6); +/** @hidden */ +var nonExclusiveComparators = [Comparator_1.Comparators.NULL, Comparator_1.Comparators.NOTNULL]; +/** @hidden */ +var isExclusive = function isExclusive(comparator) { + return nonExclusiveComparators.indexOf(comparator) < 0; }; +/** + * OpenNMS V1 ReST filter processor + * @module V1FilterProcessor + */ /** */ -exports.isInSubnet = falseIfInvalid(function (address) { - if (this.subnetMask < address.subnetMask) { - return false; - } +var V1FilterProcessor = function () { + function V1FilterProcessor() { + _classCallCheck(this, V1FilterProcessor); + } - if (this.mask(address.subnetMask) === address.mask()) { - return true; - } + _createClass(V1FilterProcessor, [{ + key: "getParameters", - return false; -}); + /** given a filter, return a hash of URL parameters */ + value: function getParameters(filter) { + var ret = {}; + if (filter.limit !== undefined) { + ret.limit = '' + filter.limit; + } + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; -exports.isCorrect = function (defaultBits) { - return falseIfInvalid(function () { - if (this.addressMinusSuffix !== this.correctForm()) { - return false; - } + try { + for (var _iterator = filter.restrictions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var restriction = _step.value; - if (this.subnetMask === defaultBits && !this.parsedSubnet) { - return true; - } + switch (restriction.comparator) { + case Comparator_1.Comparators.NULL: + { + ret[restriction.attribute] = 'null'; + break; + } + case Comparator_1.Comparators.NOTNULL: + { + ret[restriction.attribute] = 'notnull'; + break; + } + default: + { + var comp = restriction.comparator.label.toLowerCase(); + if (ret.comparator && ret.comparator !== comp) { + throw new OnmsError_1.OnmsError('V1 only supports one restriction comparator type!'); + } + ret.comparator = comp; + var value = '' + restriction.value; + if (restriction.value instanceof OnmsEnum_1.OnmsEnum) { + value = restriction.value.label; + } + ret[restriction.attribute] = value; + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } - return this.parsedSubnet === String(this.subnetMask); - }); -}; + return ret; + } + }]); + + return V1FilterProcessor; +}(); + +exports.V1FilterProcessor = V1FilterProcessor; /***/ }), -/* 65 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var BigInteger = __webpack_require__(67).BigInteger; -var common = __webpack_require__(64); -var padStart = __webpack_require__(68); -var repeat = __webpack_require__(69); -var sprintf = __webpack_require__(11).sprintf; -var deprecate = __webpack_require__(197); +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -var constants = __webpack_require__(26); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +Object.defineProperty(exports, "__esModule", { value: true }); /** - * Represents an IPv4 address - * @class Address4 - * @param {string} address - An IPv4 address string - */ -function Address4(address) { - this.valid = false; - this.address = address; - this.groups = constants.GROUPS; - - this.v4 = true; - - this.subnet = '/32'; - this.subnetMask = 32; - - var subnet = constants.RE_SUBNET_STRING.exec(address); + * Represents an OpenNMS alarm. + * @module OnmsAlarm + */ /** */ - if (subnet) { - this.parsedSubnet = subnet[0].replace('/', ''); - this.subnetMask = parseInt(this.parsedSubnet, 10); - this.subnet = '/' + this.subnetMask; +var OnmsAlarm = function () { + function OnmsAlarm() { + _classCallCheck(this, OnmsAlarm); + } - if (this.subnetMask < 0 || this.subnetMask > constants.BITS) { - this.valid = false; - this.error = 'Invalid subnet mask.'; + _createClass(OnmsAlarm, [{ + key: "lastEventTime", - return; - } + /** the most recent time the event has triggered this alarm */ + get: function get() { + if (this.lastEvent && this.lastEvent.time) { + return this.lastEvent.time; + } + return undefined; + } + }]); - address = address.replace(constants.RE_SUBNET_STRING, ''); - } + return OnmsAlarm; +}(); - this.addressMinusSuffix = address; +exports.OnmsAlarm = OnmsAlarm; - this.parsedAddress = this.parse(address); -} +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { -/* - * Parses a v4 address - */ -Address4.prototype.parse = function (address) { - var groups = address.split('.'); +"use strict"; - if (address.match(constants.RE_ADDRESS)) { - this.valid = true; - } else { - this.error = 'Invalid IPv4 address.'; - } - return groups; -}; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -/** - * Return true if the address is valid - * @memberof Address4 - * @instance - * @returns {Boolean} - */ -Address4.prototype.isValid = function () { - return this.valid; -}; +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; } -/** - * Returns the correct form of an address - * @memberof Address4 - * @instance - * @returns {String} - */ -Address4.prototype.correctForm = function () { - return this.parsedAddress.map(function (part) { - return parseInt(part, 10); - }).join('.'); -}; +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; } +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); /** - * Returns true if the address is correct, false otherwise - * @memberof Address4 - * @instance - * @returns {Boolean} - */ -Address4.prototype.isCorrect = common.isCorrect(constants.BITS); + * Represents an OpenNMS alarm type. + * @module OnmsAlarmType + */ /** */ -/** - * Converts a hex string to an IPv4 address object - * @memberof Address4 - * @static - * @param {string} hex - a hex string to convert - * @returns {Address4} - */ -Address4.fromHex = function (hex) { - var padded = padStart(hex.replace(/:/g, ''), 8, '0'); - var groups = []; - var i; +var OnmsAlarmType = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsAlarmType, _OnmsEnum_1$OnmsEnum); - for (i = 0; i < 8; i += 2) { - var h = padded.slice(i, i + 2); + function OnmsAlarmType() { + _classCallCheck(this, OnmsAlarmType); - groups.push(parseInt(h, 16)); + return _possibleConstructorReturn(this, (OnmsAlarmType.__proto__ || Object.getPrototypeOf(OnmsAlarmType)).apply(this, arguments)); } - return new Address4(groups.join('.')); -}; - -/** - * Converts an integer into a IPv4 address object - * @memberof Address4 - * @static - * @param {integer} integer - a number to convert - * @returns {Address4} - */ -Address4.fromInteger = function (integer) { - return Address4.fromHex(integer.toString(16)); -}; - -/** - * Converts an IPv4 address object to a hex string - * @memberof Address4 - * @instance - * @returns {String} - */ -Address4.prototype.toHex = function () { - return this.parsedAddress.map(function (part) { - return sprintf('%02x', parseInt(part, 10)); - }).join(':'); -}; + return OnmsAlarmType; +}(OnmsEnum_1.OnmsEnum); -/** - * Converts an IPv4 address object to an array of bytes - * @memberof Address4 - * @instance - * @returns {Array} - */ -Address4.prototype.toArray = function () { - return this.parsedAddress.map(function (part) { - return parseInt(part, 10); - }); -}; +exports.OnmsAlarmType = OnmsAlarmType; +/** @hidden */ +exports.AlarmTypes = Object.freeze({ + 1: new OnmsAlarmType(1, 'possible resolution'), + 2: new OnmsAlarmType(2, 'resolution event'), + 3: new OnmsAlarmType(3, 'no possible resolution') +}); -/** - * Converts an IPv4 address object to an IPv6 address group - * @memberof Address4 - * @instance - * @returns {String} - */ -Address4.prototype.toGroup6 = function () { - var output = []; - var i; +/***/ }), +/* 44 */ +/***/ (function(module, exports, __webpack_require__) { - for (i = 0; i < constants.GROUPS; i += 2) { - var hex = sprintf('%02x%02x', parseInt(this.parsedAddress[i], 10), parseInt(this.parsedAddress[i + 1], 10)); +"use strict"; - output.push(sprintf('%x', parseInt(hex, 16))); - } - return output.join(':'); -}; +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -Address4.prototype.toV6Group = deprecate(Address4.prototype.toGroup6, 'deprecated: `toV6Group` has been renamed to `toGroup6`'); - -/** - * Returns the address as a BigInteger - * @memberof Address4 - * @instance - * @returns {BigInteger} - */ -Address4.prototype.bigInteger = function () { - if (!this.valid) { - return null; - } - - return new BigInteger(this.parsedAddress.map(function (n) { - return sprintf('%02x', parseInt(n, 10)); - }).join(''), 16); -}; - -/** - * The first address in the range given by this address' subnet. - * Often referred to as the Network Address. - * @memberof Address4 - * @instance - * @returns {Address4} - */ -Address4.prototype.startAddress = function () { - var startAddress = new BigInteger(this.mask() + repeat(0, constants.BITS - this.subnetMask), 2); - - return Address4.fromBigInteger(startAddress); -}; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +Object.defineProperty(exports, "__esModule", { value: true }); +var Log_1 = __webpack_require__(4); +var typescript_logging_1 = __webpack_require__(5); +/** @hidden */ +var cat = new typescript_logging_1.Category('category', Log_1.catModel); +/** @hidden */ +exports.Categories = {}; /** - * The last address in the range given by this address' subnet - * Often referred to as the Broadcast - * @memberof Address4 - * @instance - * @returns {Address4} - */ -Address4.prototype.endAddress = function () { - var endAddress = new BigInteger(this.mask() + repeat(1, constants.BITS - this.subnetMask), 2); - - return Address4.fromBigInteger(endAddress); -}; + * Represents an OpenNMS category. + * @module OnmsCategory + */ /** */ -/** - * Converts a BigInteger to a v4 address object - * @memberof Address4 - * @static - * @param {BigInteger} bigInteger - a BigInteger to convert - * @returns {Address4} - */ -Address4.fromBigInteger = function (bigInteger) { - return Address4.fromInteger(parseInt(bigInteger.toString(), 10)); -}; +var OnmsCategory = function () { + _createClass(OnmsCategory, null, [{ + key: "for", -/** - * Returns the first n bits of the address, defaulting to the - * subnet mask - * @memberof Address4 - * @instance - * @returns {String} - */ -Address4.prototype.mask = function (optionalMask) { - if (optionalMask === undefined) { - optionalMask = this.subnetMask; - } + /** get a singleton category object for the given category */ + value: function _for(id, name) { + if (exports.Categories[id]) { + if (exports.Categories[id].name === name) { + return exports.Categories[id]; + } else { + Log_1.log.warn('Category ID ' + id + ' is already cached, but names do not match!' + ' (' + exports.Categories[id].name + ' != ' + name + ')', cat); + } + } + exports.Categories[id] = new OnmsCategory(id, name); + return exports.Categories[id]; + } + /** given an ID and name, construct a service type */ - return this.getBitsBase2(0, optionalMask); -}; + }]); -/** - * Returns the bits in the given range as a base-2 string - * @memberof Address4 - * @instance - * @returns {string} - */ -Address4.prototype.getBitsBase2 = function (start, end) { - return this.binaryZeroPad().slice(start, end); -}; + function OnmsCategory(id, name) { + _classCallCheck(this, OnmsCategory); -/** - * Returns true if the given address is in the subnet of the current address - * @memberof Address4 - * @instance - * @returns {boolean} - */ -Address4.prototype.isInSubnet = common.isInSubnet; + this.id = id; + this.name = name; + } -/** - * Returns a zero-padded base-2 string representation of the address - * @memberof Address4 - * @instance - * @returns {string} - */ -Address4.prototype.binaryZeroPad = function () { - return padStart(this.bigInteger().toString(2), constants.BITS, '0'); -}; + return OnmsCategory; +}(); -module.exports = Address4; +exports.OnmsCategory = OnmsCategory; /***/ }), -/* 66 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var sprintf = __webpack_require__(11).sprintf; +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -/** - * @returns {String} the string with all zeroes contained in a - */ -var spanAllZeroes = exports.spanAllZeroes = function (s) { - return s.replace(/(0+)/g, '$1'); -}; +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; } +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); /** - * @returns {String} the string with each character contained in a - */ -exports.spanAll = function (s, optionalOffset) { - if (optionalOffset === undefined) { - optionalOffset = 0; - } + * Represents an OpenNMS SNMP interface "should collect" type. + * @module OnmsCollectType + */ /** */ - var letters = s.split(''); +var OnmsCollectType = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsCollectType, _OnmsEnum_1$OnmsEnum); - return letters.map(function (n, i) { - return sprintf('%s', n, i + optionalOffset, spanAllZeroes(n)); // XXX Use #base-2 .value-0 instead? - }).join(''); -}; + function OnmsCollectType() { + _classCallCheck(this, OnmsCollectType); -function spanLeadingZeroesSimple(group) { - return group.replace(/^(0+)/, '$1'); -} + return _possibleConstructorReturn(this, (OnmsCollectType.__proto__ || Object.getPrototypeOf(OnmsCollectType)).apply(this, arguments)); + } -/** - * @returns {String} the string with leading zeroes contained in a - */ -exports.spanLeadingZeroes = function (address) { - var groups = address.split(':'); + _createClass(OnmsCollectType, [{ + key: "isCollectionEnabled", - return groups.map(function (g) { - return spanLeadingZeroesSimple(g); - }).join(':'); -}; + /** whether or not collection is enabled on the SNMP interface */ + value: function isCollectionEnabled() { + return this.id === 'C' || this.id === 'UC'; + } + }], [{ + key: "forId", -/** - * Groups an address - * @returns {String} a grouped address - */ -exports.simpleGroup = function (addressString, offset) { - var groups = addressString.split(':'); + /** given an ID, return the matching collect type object */ + value: function forId(id) { + return OnmsEnum_1.forId(exports.CollectTypes, id); + } + /** given a label, return the matching collect type object */ - if (!offset) { - offset = 0; - } + }, { + key: "forLabel", + value: function forLabel(label) { + return OnmsEnum_1.forLabel(exports.CollectTypes, label); + } + }]); - return groups.map(function (g, i) { - if (/group-v4/.test(g)) { - return g; - } + return OnmsCollectType; +}(OnmsEnum_1.OnmsEnum); - return sprintf('%s', i + offset, spanLeadingZeroesSimple(g)); - }).join(':'); -}; +exports.OnmsCollectType = OnmsCollectType; +/* tslint:disable:object-literal-sort-keys */ +/** @hidden */ +exports.CollectTypes = Object.freeze({ + COLLECT: new OnmsCollectType('C', 'COLLECT'), + FORCE_COLLECT: new OnmsCollectType('UC', 'FORCE_COLLECT'), + DO_NOT_COLLECT: new OnmsCollectType('N', 'DO_NOT_COLLECT'), + FORCE_DO_NOT_COLLECT: new OnmsCollectType('UN', 'FORCE_DO_NOT_COLLECT') +}); /***/ }), -/* 67 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -(function () { +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // Copyright (c) 2005 Tom Wu - // All Rights Reserved. - // See "LICENSE" for details. +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // Basic JavaScript BN library - subset useful for RSA encryption. +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Represents an OpenNMS event. + * @module OnmsEvent + */ /** */ - // Bits per digit - var dbits; +var OnmsEvent = function () { + function OnmsEvent() { + _classCallCheck(this, OnmsEvent); + } - // JavaScript engine analysis - var canary = 0xdeadbeefcafe; - var j_lm = (canary & 0xffffff) == 0xefcafe; + _createClass(OnmsEvent, [{ + key: "serviceName", - // (public) Constructor - function BigInteger(a, b, c) { - if (a != null) if ("number" == typeof a) this.fromNumber(a, b, c);else if (b == null && "string" != typeof a) this.fromString(a, 256);else this.fromString(a, b); - } + /** the service name associated with the event */ + get: function get() { + if (this.service && this.service.name) { + return this.service.name; + } + return undefined; + } + }]); - // return new, unset BigInteger - function nbi() { - return new BigInteger(null); - } + return OnmsEvent; +}(); - // am: Compute w_j += (x*this_i), propagate carries, - // c is initial carry, returns final carry. - // c < 3*dvalue, x < 2*dvalue, this_i < dvalue - // We need to select the fastest one that works in this environment. +exports.OnmsEvent = OnmsEvent; - // am1: use a single mult and divide to get the high bits, - // max digit bits should be 26 because - // max internal value = 2*dvalue^2-2*dvalue (< 2^53) - function am1(i, x, w, j, c, n) { - while (--n >= 0) { - var v = x * this[i++] + w[j] + c; - c = Math.floor(v / 0x4000000); - w[j++] = v & 0x3ffffff; - } - return c; - } - // am2 avoids a big mult-and-extract completely. - // Max digit bits should be <= 30 because we do bitwise ops - // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) - function am2(i, x, w, j, c, n) { - var xl = x & 0x7fff, - xh = x >> 15; - while (--n >= 0) { - var l = this[i] & 0x7fff; - var h = this[i++] >> 15; - var m = xh * l + h * xl; - l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff); - c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30); - w[j++] = l & 0x3fffffff; - } - return c; - } - // Alternately, set max digit bits to 28 since some - // browsers slow down when dealing with 32-bit numbers. - function am3(i, x, w, j, c, n) { - var xl = x & 0x3fff, - xh = x >> 14; - while (--n >= 0) { - var l = this[i] & 0x3fff; - var h = this[i++] >> 14; - var m = xh * l + h * xl; - l = xl * l + ((m & 0x3fff) << 14) + w[j] + c; - c = (l >> 28) + (m >> 14) + xh * h; - w[j++] = l & 0xfffffff; - } - return c; - } - var inBrowser = typeof navigator !== "undefined"; - if (inBrowser && j_lm && navigator.appName == "Microsoft Internet Explorer") { - BigInteger.prototype.am = am2; - dbits = 30; - } else if (inBrowser && j_lm && navigator.appName != "Netscape") { - BigInteger.prototype.am = am1; - dbits = 26; - } else { - // Mozilla/Netscape seems to prefer am3 - BigInteger.prototype.am = am3; - dbits = 28; - } +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { - BigInteger.prototype.DB = dbits; - BigInteger.prototype.DM = (1 << dbits) - 1; - BigInteger.prototype.DV = 1 << dbits; +"use strict"; - var BI_FP = 52; - BigInteger.prototype.FV = Math.pow(2, BI_FP); - BigInteger.prototype.F1 = BI_FP - dbits; - BigInteger.prototype.F2 = 2 * dbits - BI_FP; - // Digit conversions - var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"; - var BI_RC = new Array(); - var rr, vv; - rr = "0".charCodeAt(0); - for (vv = 0; vv <= 9; ++vv) { - BI_RC[rr++] = vv; - }rr = "a".charCodeAt(0); - for (vv = 10; vv < 36; ++vv) { - BI_RC[rr++] = vv; - }rr = "A".charCodeAt(0); - for (vv = 10; vv < 36; ++vv) { - BI_RC[rr++] = vv; - }function int2char(n) { - return BI_RM.charAt(n); - } - function intAt(s, i) { - var c = BI_RC[s.charCodeAt(i)]; - return c == null ? -1 : c; - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // (protected) copy this to r - function bnpCopyTo(r) { - for (var i = this.t - 1; i >= 0; --i) { - r[i] = this[i]; - }r.t = this.t; - r.s = this.s; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // (protected) set from integer value x, -DV <= x < DV - function bnpFromInt(x) { - this.t = 1; - this.s = x < 0 ? -1 : 0; - if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0; - } +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Represents an OpenNMS IP interface. + * @module OnmsIpInterface + */ /** */ - // return bigint initialized to value - function nbv(i) { - var r = nbi();r.fromInt(i);return r; - } +var OnmsIpInterface = function () { + function OnmsIpInterface() { + _classCallCheck(this, OnmsIpInterface); - // (protected) set from string and radix - function bnpFromString(s, b) { - var k; - if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 256) k = 8; // byte array - else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else { - this.fromRadix(s, b);return; - } - this.t = 0; - this.s = 0; - var i = s.length, - mi = false, - sh = 0; - while (--i >= 0) { - var x = k == 8 ? s[i] & 0xff : intAt(s, i); - if (x < 0) { - if (s.charAt(i) == "-") mi = true; - continue; - } - mi = false; - if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) { - this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh; - this[this.t++] = x >> this.DB - sh; - } else this[this.t - 1] |= x << sh; - sh += k; - if (sh >= this.DB) sh -= this.DB; - } - if (k == 8 && (s[0] & 0x80) != 0) { - this.s = -1; - if (sh > 0) this[this.t - 1] |= (1 << this.DB - sh) - 1 << sh; + /** the services on this interface */ + this.services = []; } - this.clamp(); - if (mi) BigInteger.ZERO.subTo(this, this); - } - // (protected) clamp off excess high words - function bnpClamp() { - var c = this.s & this.DM; - while (this.t > 0 && this[this.t - 1] == c) { - --this.t; - } - } + _createClass(OnmsIpInterface, [{ + key: "snmpInterface", + get: function get() { + if (this.node) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; - // (public) return string representation in given radix - function bnToString(b) { - if (this.s < 0) return "-" + this.negate().toString(b); - var k; - if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else return this.toRadix(b); - var km = (1 << k) - 1, - d, - m = false, - r = "", - i = this.t; - var p = this.DB - i * this.DB % k; - if (i-- > 0) { - if (p < this.DB && (d = this[i] >> p) > 0) { - m = true;r = int2char(d); - } - while (i >= 0) { - if (p < k) { - d = (this[i] & (1 << p) - 1) << k - p; - d |= this[--i] >> (p += this.DB - k); - } else { - d = this[i] >> (p -= k) & km; - if (p <= 0) { - p += this.DB;--i; - } + try { + for (var _iterator = this.node.snmpInterfaces[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var iface = _step.value; + + if (iface.id === this.snmpInterfaceId) { + return iface; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + return undefined; } - if (d > 0) m = true; - if (m) r += int2char(d); - } - } - return m ? r : "0"; - } + }]); - // (public) -this - function bnNegate() { - var r = nbi();BigInteger.ZERO.subTo(this, r);return r; - } + return OnmsIpInterface; +}(); - // (public) |this| - function bnAbs() { - return this.s < 0 ? this.negate() : this; - } +exports.OnmsIpInterface = OnmsIpInterface; - // (public) return + if this > a, - if this < a, 0 if equal - function bnCompareTo(a) { - var r = this.s - a.s; - if (r != 0) return r; - var i = this.t; - r = i - a.t; - if (r != 0) return this.s < 0 ? -r : r; - while (--i >= 0) { - if ((r = this[i] - a[i]) != 0) return r; - }return 0; - } +/***/ }), +/* 48 */ +/***/ (function(module, exports, __webpack_require__) { - // returns bit length of the integer x - function nbits(x) { - var r = 1, - t; - if ((t = x >>> 16) != 0) { - x = t;r += 16; - } - if ((t = x >> 8) != 0) { - x = t;r += 8; - } - if ((t = x >> 4) != 0) { - x = t;r += 4; - } - if ((t = x >> 2) != 0) { - x = t;r += 2; - } - if ((t = x >> 1) != 0) { - x = t;r += 1; - } - return r; - } +"use strict"; - // (public) return the number of bits in "this" - function bnBitLength() { - if (this.t <= 0) return 0; - return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM); - } - // (protected) r = this << n*DB - function bnpDLShiftTo(n, r) { - var i; - for (i = this.t - 1; i >= 0; --i) { - r[i + n] = this[i]; - }for (i = n - 1; i >= 0; --i) { - r[i] = 0; - }r.t = this.t + n; - r.s = this.s; - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // (protected) r = this >> n*DB - function bnpDRShiftTo(n, r) { - for (var i = n; i < this.t; ++i) { - r[i - n] = this[i]; - }r.t = Math.max(this.t - n, 0); - r.s = this.s; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // (protected) r = this << n - function bnpLShiftTo(n, r) { - var bs = n % this.DB; - var cbs = this.DB - bs; - var bm = (1 << cbs) - 1; - var ds = Math.floor(n / this.DB), - c = this.s << bs & this.DM, - i; - for (i = this.t - 1; i >= 0; --i) { - r[i + ds + 1] = this[i] >> cbs | c; - c = (this[i] & bm) << bs; - } - for (i = ds - 1; i >= 0; --i) { - r[i] = 0; - }r[ds] = c; - r.t = this.t + ds + 1; - r.s = this.s; - r.clamp(); - } +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; } - // (protected) r = this >> n - function bnpRShiftTo(n, r) { - r.s = this.s; - var ds = Math.floor(n / this.DB); - if (ds >= this.t) { - r.t = 0;return; - } - var bs = n % this.DB; - var cbs = this.DB - bs; - var bm = (1 << bs) - 1; - r[0] = this[ds] >> bs; - for (var i = ds + 1; i < this.t; ++i) { - r[i - ds - 1] |= (this[i] & bm) << cbs; - r[i - ds] = this[i] >> bs; - } - if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs; - r.t = this.t - ds; - r.clamp(); - } +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; } - // (protected) r = this - a - function bnpSubTo(a, r) { - var i = 0, - c = 0, - m = Math.min(a.t, this.t); - while (i < m) { - c += this[i] - a[i]; - r[i++] = c & this.DM; - c >>= this.DB; - } - if (a.t < this.t) { - c -= a.s; - while (i < this.t) { - c += this[i]; - r[i++] = c & this.DM; - c >>= this.DB; - } - c += this.s; - } else { - c += this.s; - while (i < a.t) { - c -= a[i]; - r[i++] = c & this.DM; - c >>= this.DB; - } - c -= a.s; - } - r.s = c < 0 ? -1 : 0; - if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c; - r.t = i; - r.clamp(); - } +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); +/** + * Represents an OpenNMS node "is managed" type. + * @module OnmsManagedType + */ /** */ - // (protected) r = this * a, r != this,a (HAC 14.12) - // "this" should be the larger one if appropriate. - function bnpMultiplyTo(a, r) { - var x = this.abs(), - y = a.abs(); - var i = x.t; - r.t = i + y.t; - while (--i >= 0) { - r[i] = 0; - }for (i = 0; i < y.t; ++i) { - r[i + x.t] = x.am(0, y[i], r, i, 0, x.t); - }r.s = 0; - r.clamp(); - if (this.s != a.s) BigInteger.ZERO.subTo(r, r); - } +var OnmsManagedType = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsManagedType, _OnmsEnum_1$OnmsEnum); - // (protected) r = this^2, r != this (HAC 14.16) - function bnpSquareTo(r) { - var x = this.abs(); - var i = r.t = 2 * x.t; - while (--i >= 0) { - r[i] = 0; - }for (i = 0; i < x.t - 1; ++i) { - var c = x.am(i, x[i], r, 2 * i, 0, 1); - if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) { - r[i + x.t] -= x.DV; - r[i + x.t + 1] = 1; - } - } - if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1); - r.s = 0; - r.clamp(); - } + function OnmsManagedType() { + _classCallCheck(this, OnmsManagedType); - // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) - // r != q, this != m. q or r may be null. - function bnpDivRemTo(m, q, r) { - var pm = m.abs(); - if (pm.t <= 0) return; - var pt = this.abs(); - if (pt.t < pm.t) { - if (q != null) q.fromInt(0); - if (r != null) this.copyTo(r); - return; - } - if (r == null) r = nbi(); - var y = nbi(), - ts = this.s, - ms = m.s; - var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus - if (nsh > 0) { - pm.lShiftTo(nsh, y);pt.lShiftTo(nsh, r); - } else { - pm.copyTo(y);pt.copyTo(r); - } - var ys = y.t; - var y0 = y[ys - 1]; - if (y0 == 0) return; - var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0); - var d1 = this.FV / yt, - d2 = (1 << this.F1) / yt, - e = 1 << this.F2; - var i = r.t, - j = i - ys, - t = q == null ? nbi() : q; - y.dlShiftTo(j, t); - if (r.compareTo(t) >= 0) { - r[r.t++] = 1; - r.subTo(t, r); + return _possibleConstructorReturn(this, (OnmsManagedType.__proto__ || Object.getPrototypeOf(OnmsManagedType)).apply(this, arguments)); } - BigInteger.ONE.dlShiftTo(ys, t); - t.subTo(y, y); // "negative" y so we can replace sub with am later - while (y.t < ys) { - y[y.t++] = 0; - }while (--j >= 0) { - // Estimate quotient digit - var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2); - if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { - // Try it out - y.dlShiftTo(j, t); - r.subTo(t, r); - while (r[i] < --qd) { - r.subTo(t, r); + + _createClass(OnmsManagedType, [{ + key: "isManaged", + + /** whether or not the node is managed */ + value: function isManaged() { + return this.id === 'M'; } - } - } - if (q != null) { - r.drShiftTo(ys, q); - if (ts != ms) BigInteger.ZERO.subTo(q, q); - } - r.t = ys; - r.clamp(); - if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder - if (ts < 0) BigInteger.ZERO.subTo(r, r); - } + }], [{ + key: "forId", - // (public) this mod a - function bnMod(a) { - var r = nbi(); - this.abs().divRemTo(a, null, r); - if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r); - return r; - } + /** given an ID, return the matching managed type object */ + value: function forId(id) { + return OnmsEnum_1.forId(exports.ManagedTypes, id); + } + /** given a label, return the matching managed type object */ - // Modular reduction using "classic" algorithm - function Classic(m) { - this.m = m; - } - function cConvert(x) { - if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);else return x; - } - function cRevert(x) { - return x; - } - function cReduce(x) { - x.divRemTo(this.m, null, x); - } - function cMulTo(x, y, r) { - x.multiplyTo(y, r);this.reduce(r); - } - function cSqrTo(x, r) { - x.squareTo(r);this.reduce(r); - } + }, { + key: "forLabel", + value: function forLabel(label) { + return OnmsEnum_1.forLabel(exports.ManagedTypes, label); + } + }]); - Classic.prototype.convert = cConvert; - Classic.prototype.revert = cRevert; - Classic.prototype.reduce = cReduce; - Classic.prototype.mulTo = cMulTo; - Classic.prototype.sqrTo = cSqrTo; + return OnmsManagedType; +}(OnmsEnum_1.OnmsEnum); - // (protected) return "-1/this % 2^DB"; useful for Mont. reduction - // justification: - // xy == 1 (mod m) - // xy = 1+km - // xy(2-xy) = (1+km)(1-km) - // x[y(2-xy)] = 1-k^2m^2 - // x[y(2-xy)] == 1 (mod m^2) - // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 - // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. - // JS multiply "overflows" differently from C/C++, so care is needed here. - function bnpInvDigit() { - if (this.t < 1) return 0; - var x = this[0]; - if ((x & 1) == 0) return 0; - var y = x & 3; // y == 1/x mod 2^2 - y = y * (2 - (x & 0xf) * y) & 0xf; // y == 1/x mod 2^4 - y = y * (2 - (x & 0xff) * y) & 0xff; // y == 1/x mod 2^8 - y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff; // y == 1/x mod 2^16 - // last step - calculate inverse mod DV directly; - // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints - y = y * (2 - x * y % this.DV) % this.DV; // y == 1/x mod 2^dbits - // we really want the negative inverse, and -DV < y < DV - return y > 0 ? this.DV - y : -y; - } +exports.OnmsManagedType = OnmsManagedType; +/* tslint:disable:object-literal-sort-keys */ +/** @hidden */ +exports.ManagedTypes = Object.freeze({ + MANAGED: new OnmsManagedType('M', 'MANAGED'), + ALIAS: new OnmsManagedType('A', 'ALIAS'), + DELETED: new OnmsManagedType('D', 'DELETED'), + UNMANAGED: new OnmsManagedType('U', 'UNMANAGED'), + FORCE_UNMANAGED: new OnmsManagedType('F', 'FORCE_UNMANAGED'), + NOT_POLLED: new OnmsManagedType('N', 'NOT_POLLED'), + REMOTE_ONLY: new OnmsManagedType('X', 'REMOTE_ONLY') +}); - // Montgomery reduction - function Montgomery(m) { - this.m = m; - this.mp = m.invDigit(); - this.mpl = this.mp & 0x7fff; - this.mph = this.mp >> 15; - this.um = (1 << m.DB - 15) - 1; - this.mt2 = 2 * m.t; - } +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { - // xR mod m - function montConvert(x) { - var r = nbi(); - x.abs().dlShiftTo(this.m.t, r); - r.divRemTo(this.m, null, r); - if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r); - return r; - } +"use strict"; - // x/R mod m - function montRevert(x) { - var r = nbi(); - x.copyTo(r); - this.reduce(r); - return r; - } - // x = x/R mod m (HAC 14.32) - function montReduce(x) { - while (x.t <= this.mt2) { - // pad x so am has enough room later - x[x.t++] = 0; - }for (var i = 0; i < this.m.t; ++i) { - // faster way of calculating u0 = x[i]*mp mod DV - var j = x[i] & 0x7fff; - var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM; - // use am to combine the multiply-shift-add into one call - j = i + this.m.t; - x[j] += this.m.am(0, u0, x, i, 0, this.m.t); - // propagate carry - while (x[j] >= x.DV) { - x[j] -= x.DV;x[++j]++; - } - } - x.clamp(); - x.drShiftTo(this.m.t, x); - if (x.compareTo(this.m) >= 0) x.subTo(this.m, x); - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // r = "x^2/R mod m"; x != r - function montSqrTo(x, r) { - x.squareTo(r);this.reduce(r); - } +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Represents an OpenNMS monitored service. + * @module OnmsMonitoredService + */ /** */ - // r = "xy/R mod m"; x,y != r - function montMulTo(x, y, r) { - x.multiplyTo(y, r);this.reduce(r); - } +var OnmsMonitoredService = function OnmsMonitoredService() { + _classCallCheck(this, OnmsMonitoredService); +}; - Montgomery.prototype.convert = montConvert; - Montgomery.prototype.revert = montRevert; - Montgomery.prototype.reduce = montReduce; - Montgomery.prototype.mulTo = montMulTo; - Montgomery.prototype.sqrTo = montSqrTo; +exports.OnmsMonitoredService = OnmsMonitoredService; - // (protected) true iff this is even - function bnpIsEven() { - return (this.t > 0 ? this[0] & 1 : this.s) == 0; - } +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { - // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) - function bnpExp(e, z) { - if (e > 0xffffffff || e < 1) return BigInteger.ONE; - var r = nbi(), - r2 = nbi(), - g = z.convert(this), - i = nbits(e) - 1; - g.copyTo(r); - while (--i >= 0) { - z.sqrTo(r, r2); - if ((e & 1 << i) > 0) z.mulTo(r2, g, r);else { - var t = r;r = r2;r2 = t; - } - } - return z.revert(r); - } +"use strict"; - // (public) this^e % m, 0 <= e < 2^32 - function bnModPowInt(e, m) { - var z; - if (e < 256 || m.isEven()) z = new Classic(m);else z = new Montgomery(m); - return this.exp(e, z); - } - // protected - BigInteger.prototype.copyTo = bnpCopyTo; - BigInteger.prototype.fromInt = bnpFromInt; - BigInteger.prototype.fromString = bnpFromString; - BigInteger.prototype.clamp = bnpClamp; - BigInteger.prototype.dlShiftTo = bnpDLShiftTo; - BigInteger.prototype.drShiftTo = bnpDRShiftTo; - BigInteger.prototype.lShiftTo = bnpLShiftTo; - BigInteger.prototype.rShiftTo = bnpRShiftTo; - BigInteger.prototype.subTo = bnpSubTo; - BigInteger.prototype.multiplyTo = bnpMultiplyTo; - BigInteger.prototype.squareTo = bnpSquareTo; - BigInteger.prototype.divRemTo = bnpDivRemTo; - BigInteger.prototype.invDigit = bnpInvDigit; - BigInteger.prototype.isEven = bnpIsEven; - BigInteger.prototype.exp = bnpExp; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // public - BigInteger.prototype.toString = bnToString; - BigInteger.prototype.negate = bnNegate; - BigInteger.prototype.abs = bnAbs; - BigInteger.prototype.compareTo = bnCompareTo; - BigInteger.prototype.bitLength = bnBitLength; - BigInteger.prototype.mod = bnMod; - BigInteger.prototype.modPowInt = bnModPowInt; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Represents an OpenNMS node. + * @module OnmsNode + */ /** */ - // "constants" - BigInteger.ZERO = nbv(0); - BigInteger.ONE = nbv(1); +var OnmsNode = function OnmsNode() { + _classCallCheck(this, OnmsNode); - // Copyright (c) 2005-2009 Tom Wu - // All Rights Reserved. - // See "LICENSE" for details. + /** the LLDP element associated with this node */ + // public lldpElement: LldpElement; + /** the OSPF element associated with this node */ + // public ospfElement: OspfElement; + /** the IsIs element associated with this node */ + // public isisElement: IsIsElement; + /** the CDP element associated with this node */ + // public cdpElement: CdpElement; + /** the path element associated with this node */ + // public pathElement: PathElement; + /** the SNMP interfaces on this node */ + this.snmpInterfaces = []; + /** the IP interfaces on this node */ + this.ipInterfaces = []; + /** the categories the node is in */ + this.categories = []; + /** the assets of the node */ + this.assets = {}; +}; - // Extended JavaScript BN functions, required for RSA private ops. +exports.OnmsNode = OnmsNode; - // Version 1.1: new BigInteger("0", 10) returns "proper" zero - // Version 1.2: square() API, isProbablePrime fix +/***/ }), +/* 51 */ +/***/ (function(module, exports, __webpack_require__) { - // (public) - function bnClone() { - var r = nbi();this.copyTo(r);return r; - } +"use strict"; - // (public) return value as integer - function bnIntValue() { - if (this.s < 0) { - if (this.t == 1) return this[0] - this.DV;else if (this.t == 0) return -1; - } else if (this.t == 1) return this[0];else if (this.t == 0) return 0; - // assumes 16 < DB < 32 - return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]; - } - // (public) return value as byte - function bnByteValue() { - return this.t == 0 ? this.s : this[0] << 24 >> 24; - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // (public) return value as short (assumes DB>=16) - function bnShortValue() { - return this.t == 0 ? this.s : this[0] << 16 >> 16; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // (protected) return x s.t. r^x < DV - function bnpChunkSize(r) { - return Math.floor(Math.LN2 * this.DB / Math.log(r)); - } +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; } - // (public) 0 if this == 0, 1 if this > 0 - function bnSigNum() { - if (this.s < 0) return -1;else if (this.t <= 0 || this.t == 1 && this[0] <= 0) return 0;else return 1; - } +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; } - // (protected) convert to radix string - function bnpToRadix(b) { - if (b == null) b = 10; - if (this.signum() == 0 || b < 2 || b > 36) return "0"; - var cs = this.chunkSize(b); - var a = Math.pow(b, cs); - var d = nbv(a), - y = nbi(), - z = nbi(), - r = ""; - this.divRemTo(d, y, z); - while (y.signum() > 0) { - r = (a + z.intValue()).toString(b).substr(1) + r; - y.divRemTo(d, y, z); - } - return z.intValue().toString(b) + r; - } +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); +/** + * Represents an OpenNMS node label source. + * @module OnmsNodeLabelSource + */ /** */ - // (protected) convert from radix string - function bnpFromRadix(s, b) { - this.fromInt(0); - if (b == null) b = 10; - var cs = this.chunkSize(b); - var d = Math.pow(b, cs), - mi = false, - j = 0, - w = 0; - for (var i = 0; i < s.length; ++i) { - var x = intAt(s, i); - if (x < 0) { - if (s.charAt(i) == "-" && this.signum() == 0) mi = true; - continue; - } - w = b * w + x; - if (++j >= cs) { - this.dMultiply(d); - this.dAddOffset(w, 0); - j = 0; - w = 0; - } - } - if (j > 0) { - this.dMultiply(Math.pow(b, j)); - this.dAddOffset(w, 0); +var OnmsNodeLabelSource = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsNodeLabelSource, _OnmsEnum_1$OnmsEnum); + + function OnmsNodeLabelSource() { + _classCallCheck(this, OnmsNodeLabelSource); + + return _possibleConstructorReturn(this, (OnmsNodeLabelSource.__proto__ || Object.getPrototypeOf(OnmsNodeLabelSource)).apply(this, arguments)); } - if (mi) BigInteger.ZERO.subTo(this, this); - } - // (protected) alternate constructor - function bnpFromNumber(a, b, c) { - if ("number" == typeof b) { - // new BigInteger(int,int,RNG) - if (a < 2) this.fromInt(1);else { - this.fromNumber(a, c); - if (!this.testBit(a - 1)) // force MSB set - this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this); - if (this.isEven()) this.dAddOffset(1, 0); // force odd - while (!this.isProbablePrime(b)) { - this.dAddOffset(2, 0); - if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this); + _createClass(OnmsNodeLabelSource, null, [{ + key: "forId", + + /** given an ID, return the matching node label source object */ + value: function forId(id) { + return OnmsEnum_1.forId(exports.NodeLabelSources, id); } - } - } else { - // new BigInteger(int,RNG) - var x = new Array(), - t = a & 7; - x.length = (a >> 3) + 1; - b.nextBytes(x); - if (t > 0) x[0] &= (1 << t) - 1;else x[0] = 0; - this.fromString(x, 256); - } - } + /** given a label, return the matching node label source object */ - // (public) convert to bigendian byte array - function bnToByteArray() { - var i = this.t, - r = new Array(); - r[0] = this.s; - var p = this.DB - i * this.DB % 8, - d, - k = 0; - if (i-- > 0) { - if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) r[k++] = d | this.s << this.DB - p; - while (i >= 0) { - if (p < 8) { - d = (this[i] & (1 << p) - 1) << 8 - p; - d |= this[--i] >> (p += this.DB - 8); - } else { - d = this[i] >> (p -= 8) & 0xff; - if (p <= 0) { - p += this.DB;--i; - } + }, { + key: "forLabel", + value: function forLabel(label) { + return OnmsEnum_1.forLabel(exports.NodeLabelSources, label); } - if ((d & 0x80) != 0) d |= -256; - if (k == 0 && (this.s & 0x80) != (d & 0x80)) ++k; - if (k > 0 || d != this.s) r[k++] = d; - } - } - return r; - } + }]); - function bnEquals(a) { - return this.compareTo(a) == 0; - } - function bnMin(a) { - return this.compareTo(a) < 0 ? this : a; - } - function bnMax(a) { - return this.compareTo(a) > 0 ? this : a; - } + return OnmsNodeLabelSource; +}(OnmsEnum_1.OnmsEnum); - // (protected) r = this op a (bitwise) - function bnpBitwiseTo(a, op, r) { - var i, - f, - m = Math.min(a.t, this.t); - for (i = 0; i < m; ++i) { - r[i] = op(this[i], a[i]); - }if (a.t < this.t) { - f = a.s & this.DM; - for (i = m; i < this.t; ++i) { - r[i] = op(this[i], f); - }r.t = this.t; - } else { - f = this.s & this.DM; - for (i = m; i < a.t; ++i) { - r[i] = op(f, a[i]); - }r.t = a.t; - } - r.s = op(this.s, a.s); - r.clamp(); - } +exports.OnmsNodeLabelSource = OnmsNodeLabelSource; +/* tslint:disable:object-literal-sort-keys */ +/** @hidden */ +exports.NodeLabelSources = Object.freeze({ + USER: new OnmsNodeLabelSource('U', 'USER'), + NETBIOS: new OnmsNodeLabelSource('N', 'NETBIOS'), + HOSTNAME: new OnmsNodeLabelSource('H', 'HOSTNAME'), + SYSNAME: new OnmsNodeLabelSource('S', 'SYSNAME'), + ADDRESS: new OnmsNodeLabelSource('A', 'ADDRESS'), + UNKNOWN: new OnmsNodeLabelSource(' ', 'UNKNOWN') +}); - // (public) this & a - function op_and(x, y) { - return x & y; - } - function bnAnd(a) { - var r = nbi();this.bitwiseTo(a, op_and, r);return r; - } +/***/ }), +/* 52 */ +/***/ (function(module, exports, __webpack_require__) { - // (public) this | a - function op_or(x, y) { - return x | y; - } - function bnOr(a) { - var r = nbi();this.bitwiseTo(a, op_or, r);return r; - } +"use strict"; - // (public) this ^ a - function op_xor(x, y) { - return x ^ y; - } - function bnXor(a) { - var r = nbi();this.bitwiseTo(a, op_xor, r);return r; - } - // (public) this & ~a - function op_andnot(x, y) { - return x & ~y; - } - function bnAndNot(a) { - var r = nbi();this.bitwiseTo(a, op_andnot, r);return r; - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // (public) ~this - function bnNot() { - var r = nbi(); - for (var i = 0; i < this.t; ++i) { - r[i] = this.DM & ~this[i]; - }r.t = this.t; - r.s = ~this.s; - return r; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // (public) this << n - function bnShiftLeft(n) { - var r = nbi(); - if (n < 0) this.rShiftTo(-n, r);else this.lShiftTo(n, r); - return r; - } +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; } - // (public) this >> n - function bnShiftRight(n) { - var r = nbi(); - if (n < 0) this.lShiftTo(-n, r);else this.rShiftTo(n, r); - return r; - } +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; } - // return index of lowest 1-bit in x, x < 2^31 - function lbit(x) { - if (x == 0) return -1; - var r = 0; - if ((x & 0xffff) == 0) { - x >>= 16;r += 16; - } - if ((x & 0xff) == 0) { - x >>= 8;r += 8; - } - if ((x & 0xf) == 0) { - x >>= 4;r += 4; - } - if ((x & 3) == 0) { - x >>= 2;r += 2; - } - if ((x & 1) == 0) ++r; - return r; - } +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); +/** + * Represents an OpenNMS "SNMP primary" type. + * @module OnmsPrimaryType + */ /** */ - // (public) returns index of lowest 1-bit (or -1 if none) - function bnGetLowestSetBit() { - for (var i = 0; i < this.t; ++i) { - if (this[i] != 0) return i * this.DB + lbit(this[i]); - }if (this.s < 0) return this.t * this.DB; - return -1; - } +var OnmsPrimaryType = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsPrimaryType, _OnmsEnum_1$OnmsEnum); - // return number of 1 bits in x - function cbit(x) { - var r = 0; - while (x != 0) { - x &= x - 1;++r; + function OnmsPrimaryType() { + _classCallCheck(this, OnmsPrimaryType); + + return _possibleConstructorReturn(this, (OnmsPrimaryType.__proto__ || Object.getPrototypeOf(OnmsPrimaryType)).apply(this, arguments)); } - return r; - } - // (public) return number of set bits - function bnBitCount() { - var r = 0, - x = this.s & this.DM; - for (var i = 0; i < this.t; ++i) { - r += cbit(this[i] ^ x); - }return r; - } + _createClass(OnmsPrimaryType, [{ + key: "isPrimary", - // (public) true iff nth bit is set - function bnTestBit(n) { - var j = Math.floor(n / this.DB); - if (j >= this.t) return this.s != 0; - return (this[j] & 1 << n % this.DB) != 0; - } + /** whether or not the interface is a primary SNMP interface */ + value: function isPrimary() { + return this.id === 'P'; + } + }], [{ + key: "forId", - // (protected) this op (1<>= this.DB; - } - if (a.t < this.t) { - c += a.s; - while (i < this.t) { - c += this[i]; - r[i++] = c & this.DM; - c >>= this.DB; - } - c += this.s; - } else { - c += this.s; - while (i < a.t) { - c += a[i]; - r[i++] = c & this.DM; - c >>= this.DB; - } - c += a.s; - } - r.s = c < 0 ? -1 : 0; - if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c; - r.t = i; - r.clamp(); - } +/***/ }), +/* 53 */ +/***/ (function(module, exports, __webpack_require__) { - // (public) this + a - function bnAdd(a) { - var r = nbi();this.addTo(a, r);return r; - } +"use strict"; - // (public) this - a - function bnSubtract(a) { - var r = nbi();this.subTo(a, r);return r; - } - // (public) this * a - function bnMultiply(a) { - var r = nbi();this.multiplyTo(a, r);return r; - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // (public) this^2 - function bnSquare() { - var r = nbi();this.squareTo(r);return r; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // (public) this / a - function bnDivide(a) { - var r = nbi();this.divRemTo(a, r, null);return r; - } +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; } - // (public) this % a - function bnRemainder(a) { - var r = nbi();this.divRemTo(a, null, r);return r; - } +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; } - // (public) [this/a,this%a] - function bnDivideAndRemainder(a) { - var q = nbi(), - r = nbi(); - this.divRemTo(a, q, r); - return new Array(q, r); - } +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); +/** + * Represents an OpenNMS monitored service status type. + * @module OnmsServiceStatusType + */ /** */ - // (protected) this *= n, this >= 0, 1 < n < DV - function bnpDMultiply(n) { - this[this.t] = this.am(0, n - 1, this, 0, 0, this.t); - ++this.t; - this.clamp(); - } +var OnmsServiceStatusType = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsServiceStatusType, _OnmsEnum_1$OnmsEnum); - // (protected) this += n << w words, this >= 0 - function bnpDAddOffset(n, w) { - if (n == 0) return; - while (this.t <= w) { - this[this.t++] = 0; - }this[w] += n; - while (this[w] >= this.DV) { - this[w] -= this.DV; - if (++w >= this.t) this[this.t++] = 0; - ++this[w]; + function OnmsServiceStatusType() { + _classCallCheck(this, OnmsServiceStatusType); + + return _possibleConstructorReturn(this, (OnmsServiceStatusType.__proto__ || Object.getPrototypeOf(OnmsServiceStatusType)).apply(this, arguments)); } - } - // A "null" reducer - function NullExp() {} - function nNop(x) { - return x; - } - function nMulTo(x, y, r) { - x.multiplyTo(y, r); - } - function nSqrTo(x, r) { - x.squareTo(r); - } + _createClass(OnmsServiceStatusType, [{ + key: "isManaged", - NullExp.prototype.convert = nNop; - NullExp.prototype.revert = nNop; - NullExp.prototype.mulTo = nMulTo; - NullExp.prototype.sqrTo = nSqrTo; + /** whether or not the service is managed */ + value: function isManaged() { + return this.id === 'A'; + } + }], [{ + key: "forId", - // (public) this^e - function bnPow(e) { - return this.exp(e, new NullExp()); - } + /** given an ID, return the matching service status type object */ + value: function forId(id) { + return OnmsEnum_1.forId(exports.ServiceStatusTypes, id); + } + /** given a label, return the matching service status type object */ - // (protected) r = lower n words of "this * a", a.t <= n - // "this" should be the larger one if appropriate. - function bnpMultiplyLowerTo(a, n, r) { - var i = Math.min(this.t + a.t, n); - r.s = 0; // assumes a,this >= 0 - r.t = i; - while (i > 0) { - r[--i] = 0; - }var j; - for (j = r.t - this.t; i < j; ++i) { - r[i + this.t] = this.am(0, a[i], r, i, 0, this.t); - }for (j = Math.min(a.t, n); i < j; ++i) { - this.am(0, a[i], r, i, 0, n - i); - }r.clamp(); - } + }, { + key: "forLabel", + value: function forLabel(label) { + return OnmsEnum_1.forLabel(exports.ServiceStatusTypes, label); + } + }]); - // (protected) r = "this * a" without lower n words, n > 0 - // "this" should be the larger one if appropriate. - function bnpMultiplyUpperTo(a, n, r) { - --n; - var i = r.t = this.t + a.t - n; - r.s = 0; // assumes a,this >= 0 - while (--i >= 0) { - r[i] = 0; - }for (i = Math.max(n - this.t, 0); i < a.t; ++i) { - r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n); - }r.clamp(); - r.drShiftTo(1, r); - } + return OnmsServiceStatusType; +}(OnmsEnum_1.OnmsEnum); - // Barrett modular reduction - function Barrett(m) { - // setup Barrett - this.r2 = nbi(); - this.q3 = nbi(); - BigInteger.ONE.dlShiftTo(2 * m.t, this.r2); - this.mu = this.r2.divide(m); - this.m = m; - } +exports.OnmsServiceStatusType = OnmsServiceStatusType; +/* tslint:disable:object-literal-sort-keys */ +/** @hidden */ +exports.ServiceStatusTypes = Object.freeze({ + MANAGED: new OnmsServiceStatusType('A', 'MANAGED'), + UNMANAGED: new OnmsServiceStatusType('U', 'UNMANAGED'), + DELETED: new OnmsServiceStatusType('D', 'DELETED'), + FORCED_UNMANAGED: new OnmsServiceStatusType('F', 'FORCED_UNMANAGED'), + NOT_MONITORED: new OnmsServiceStatusType('N', 'NOT_MONITORED'), + RESCAN_TO_RESUME: new OnmsServiceStatusType('R', 'RESCAN_TO_RESUME'), + RESCAN_TO_SUSPEND: new OnmsServiceStatusType('S', 'RESCAN_TO_SUSPEND'), + REMOTELY_MONITORED: new OnmsServiceStatusType('X', 'REMOTELY_MONITORED') +}); - function barrettConvert(x) { - if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);else if (x.compareTo(this.m) < 0) return x;else { - var r = nbi();x.copyTo(r);this.reduce(r);return r; - } - } +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { - function barrettRevert(x) { - return x; - } - - // x = x mod m (HAC 14.42) - function barrettReduce(x) { - x.drShiftTo(this.m.t - 1, this.r2); - if (x.t > this.m.t + 1) { - x.t = this.m.t + 1;x.clamp(); - } - this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3); - this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); - while (x.compareTo(this.r2) < 0) { - x.dAddOffset(1, this.m.t + 1); - }x.subTo(this.r2, x); - while (x.compareTo(this.m) >= 0) { - x.subTo(this.m, x); - } - } - - // r = x^2 mod m; x != r - function barrettSqrTo(x, r) { - x.squareTo(r);this.reduce(r); - } - - // r = x*y mod m; x,y != r - function barrettMulTo(x, y, r) { - x.multiplyTo(y, r);this.reduce(r); - } +"use strict"; - Barrett.prototype.convert = barrettConvert; - Barrett.prototype.revert = barrettRevert; - Barrett.prototype.reduce = barrettReduce; - Barrett.prototype.mulTo = barrettMulTo; - Barrett.prototype.sqrTo = barrettSqrTo; - // (public) this^e % m (HAC 14.85) - function bnModPow(e, m) { - var i = e.bitLength(), - k, - r = nbv(1), - z; - if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6; - if (i < 8) z = new Classic(m);else if (m.isEven()) z = new Barrett(m);else z = new Montgomery(m); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // precomputation - var g = new Array(), - n = 3, - k1 = k - 1, - km = (1 << k) - 1; - g[1] = z.convert(this); - if (k > 1) { - var g2 = nbi(); - z.sqrTo(g[1], g2); - while (n <= km) { - g[n] = nbi(); - z.mulTo(g2, g[n - 2], g[n]); - n += 2; - } - } +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Represents an OpenNMS SNMP interface. + * @module OnmsSnmpInterface + */ /** */ - var j = e.t - 1, - w, - is1 = true, - r2 = nbi(), - t; - i = nbits(e[j]) - 1; - while (j >= 0) { - if (i >= k1) w = e[j] >> i - k1 & km;else { - w = (e[j] & (1 << i + 1) - 1) << k1 - i; - if (j > 0) w |= e[j - 1] >> this.DB + i - k1; - } +var OnmsSnmpInterface = function OnmsSnmpInterface() { + _classCallCheck(this, OnmsSnmpInterface); +}; - n = k; - while ((w & 1) == 0) { - w >>= 1;--n; - } - if ((i -= n) < 0) { - i += this.DB;--j; - } - if (is1) { - // ret == 1, don't bother squaring or multiplying it - g[w].copyTo(r); - is1 = false; - } else { - while (n > 1) { - z.sqrTo(r, r2);z.sqrTo(r2, r);n -= 2; - } - if (n > 0) z.sqrTo(r, r2);else { - t = r;r = r2;r2 = t; - } - z.mulTo(r2, g[w], r); - } +exports.OnmsSnmpInterface = OnmsSnmpInterface; - while (j >= 0 && (e[j] & 1 << i) == 0) { - z.sqrTo(r, r2);t = r;r = r2;r2 = t; - if (--i < 0) { - i = this.DB - 1;--j; - } - } - } - return z.revert(r); - } +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { - // (public) gcd(this,a) (HAC 14.54) - function bnGCD(a) { - var x = this.s < 0 ? this.negate() : this.clone(); - var y = a.s < 0 ? a.negate() : a.clone(); - if (x.compareTo(y) < 0) { - var t = x;x = y;y = t; - } - var i = x.getLowestSetBit(), - g = y.getLowestSetBit(); - if (g < 0) return x; - if (i < g) g = i; - if (g > 0) { - x.rShiftTo(g, x); - y.rShiftTo(g, y); - } - while (x.signum() > 0) { - if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x); - if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y); - if (x.compareTo(y) >= 0) { - x.subTo(y, x); - x.rShiftTo(1, x); - } else { - y.subTo(x, y); - y.rShiftTo(1, y); - } - } - if (g > 0) y.lShiftTo(g, y); - return y; - } +"use strict"; - // (protected) this % n, n < 2^26 - function bnpModInt(n) { - if (n <= 0) return 0; - var d = this.DV % n, - r = this.s < 0 ? n - 1 : 0; - if (this.t > 0) if (d == 0) r = this[0] % n;else for (var i = this.t - 1; i >= 0; --i) { - r = (d * r + this[i]) % n; - }return r; - } - // (public) 1/this % m (HAC 14.61) - function bnModInverse(m) { - var ac = m.isEven(); - if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO; - var u = m.clone(), - v = this.clone(); - var a = nbv(1), - b = nbv(0), - c = nbv(0), - d = nbv(1); - while (u.signum() != 0) { - while (u.isEven()) { - u.rShiftTo(1, u); - if (ac) { - if (!a.isEven() || !b.isEven()) { - a.addTo(this, a);b.subTo(m, b); - } - a.rShiftTo(1, a); - } else if (!b.isEven()) b.subTo(m, b); - b.rShiftTo(1, b); - } - while (v.isEven()) { - v.rShiftTo(1, v); - if (ac) { - if (!c.isEven() || !d.isEven()) { - c.addTo(this, c);d.subTo(m, d); - } - c.rShiftTo(1, c); - } else if (!d.isEven()) d.subTo(m, d); - d.rShiftTo(1, d); - } - if (u.compareTo(v) >= 0) { - u.subTo(v, u); - if (ac) a.subTo(c, a); - b.subTo(d, b); - } else { - v.subTo(u, v); - if (ac) c.subTo(a, c); - d.subTo(b, d); - } - } - if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; - if (d.compareTo(m) >= 0) return d.subtract(m); - if (d.signum() < 0) d.addTo(m, d);else return d; - if (d.signum() < 0) return d.add(m);else return d; - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]; - var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // (public) test primality with certainty >= 1-.5^t - function bnIsProbablePrime(t) { - var i, - x = this.abs(); - if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) { - for (i = 0; i < lowprimes.length; ++i) { - if (x[0] == lowprimes[i]) return true; - }return false; - } - if (x.isEven()) return false; - i = 1; - while (i < lowprimes.length) { - var m = lowprimes[i], - j = i + 1; - while (j < lowprimes.length && m < lplim) { - m *= lowprimes[j++]; - }m = x.modInt(m); - while (i < j) { - if (m % lowprimes[i++] == 0) return false; - } - } - return x.millerRabin(t); - } +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; } - // (protected) true if probably prime (HAC 4.24, Miller-Rabin) - function bnpMillerRabin(t) { - var n1 = this.subtract(BigInteger.ONE); - var k = n1.getLowestSetBit(); - if (k <= 0) return false; - var r = n1.shiftRight(k); - t = t + 1 >> 1; - if (t > lowprimes.length) t = lowprimes.length; - var a = nbi(); - for (var i = 0; i < t; ++i) { - //Pick bases at random, instead of starting at 2 - a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]); - var y = a.modPow(r, this); - if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { - var j = 1; - while (j++ < k && y.compareTo(n1) != 0) { - y = y.modPowInt(2, this); - if (y.compareTo(BigInteger.ONE) == 0) return false; - } - if (y.compareTo(n1) != 0) return false; - } - } - return true; - } +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; } - // protected - BigInteger.prototype.chunkSize = bnpChunkSize; - BigInteger.prototype.toRadix = bnpToRadix; - BigInteger.prototype.fromRadix = bnpFromRadix; - BigInteger.prototype.fromNumber = bnpFromNumber; - BigInteger.prototype.bitwiseTo = bnpBitwiseTo; - BigInteger.prototype.changeBit = bnpChangeBit; - BigInteger.prototype.addTo = bnpAddTo; - BigInteger.prototype.dMultiply = bnpDMultiply; - BigInteger.prototype.dAddOffset = bnpDAddOffset; - BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; - BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; - BigInteger.prototype.modInt = bnpModInt; - BigInteger.prototype.millerRabin = bnpMillerRabin; +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); +/** + * Represents an OpenNMS SNMP admin/oper status type. + * @module OnmsSnmpStatusType + */ /** */ - // public - BigInteger.prototype.clone = bnClone; - BigInteger.prototype.intValue = bnIntValue; - BigInteger.prototype.byteValue = bnByteValue; - BigInteger.prototype.shortValue = bnShortValue; - BigInteger.prototype.signum = bnSigNum; - BigInteger.prototype.toByteArray = bnToByteArray; - BigInteger.prototype.equals = bnEquals; - BigInteger.prototype.min = bnMin; - BigInteger.prototype.max = bnMax; - BigInteger.prototype.and = bnAnd; - BigInteger.prototype.or = bnOr; - BigInteger.prototype.xor = bnXor; - BigInteger.prototype.andNot = bnAndNot; - BigInteger.prototype.not = bnNot; - BigInteger.prototype.shiftLeft = bnShiftLeft; - BigInteger.prototype.shiftRight = bnShiftRight; - BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; - BigInteger.prototype.bitCount = bnBitCount; - BigInteger.prototype.testBit = bnTestBit; - BigInteger.prototype.setBit = bnSetBit; - BigInteger.prototype.clearBit = bnClearBit; - BigInteger.prototype.flipBit = bnFlipBit; - BigInteger.prototype.add = bnAdd; - BigInteger.prototype.subtract = bnSubtract; - BigInteger.prototype.multiply = bnMultiply; - BigInteger.prototype.divide = bnDivide; - BigInteger.prototype.remainder = bnRemainder; - BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; - BigInteger.prototype.modPow = bnModPow; - BigInteger.prototype.modInverse = bnModInverse; - BigInteger.prototype.pow = bnPow; - BigInteger.prototype.gcd = bnGCD; - BigInteger.prototype.isProbablePrime = bnIsProbablePrime; +var OnmsSnmpStatusType = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsSnmpStatusType, _OnmsEnum_1$OnmsEnum); - // JSBN-specific extension - BigInteger.prototype.square = bnSquare; + function OnmsSnmpStatusType() { + _classCallCheck(this, OnmsSnmpStatusType); - // Expose the Barrett function - BigInteger.prototype.Barrett = Barrett; + return _possibleConstructorReturn(this, (OnmsSnmpStatusType.__proto__ || Object.getPrototypeOf(OnmsSnmpStatusType)).apply(this, arguments)); + } - // BigInteger interfaces not implemented in jsbn: + _createClass(OnmsSnmpStatusType, null, [{ + key: "forId", - // BigInteger(int signum, byte[] magnitude) - // double doubleValue() - // float floatValue() - // int hashCode() - // long longValue() - // static BigInteger valueOf(long val) + /** given an ID, return the matching snmp status type object */ + value: function forId(id) { + return OnmsEnum_1.forId(exports.SnmpStatusTypes, id); + } + /** given a label, return the matching snmp status type object */ - // Random number generator - requires a PRNG backend, e.g. prng4.js + }, { + key: "forLabel", + value: function forLabel(label) { + return OnmsEnum_1.forLabel(exports.SnmpStatusTypes, label); + } + }]); - // For best results, put code like - // - // in your main HTML document. + return OnmsSnmpStatusType; +}(OnmsEnum_1.OnmsEnum); - var rng_state; - var rng_pool; - var rng_pptr; +exports.OnmsSnmpStatusType = OnmsSnmpStatusType; +/* tslint:disable:object-literal-sort-keys */ +/** @hidden */ +exports.SnmpStatusTypes = Object.freeze({ + 1: new OnmsSnmpStatusType(1, 'UP'), + 2: new OnmsSnmpStatusType(2, 'DOWN'), + 3: new OnmsSnmpStatusType(3, 'TESTING') +}); - // Mix in a 32-bit integer into the pool - function rng_seed_int(x) { - rng_pool[rng_pptr++] ^= x & 255; - rng_pool[rng_pptr++] ^= x >> 8 & 255; - rng_pool[rng_pptr++] ^= x >> 16 & 255; - rng_pool[rng_pptr++] ^= x >> 24 & 255; - if (rng_pptr >= rng_psize) rng_pptr -= rng_psize; - } +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { - // Mix in the current time (w/milliseconds) into the pool - function rng_seed_time() { - rng_seed_int(new Date().getTime()); - } +"use strict"; - // Initialize the pool with junk if needed. - if (rng_pool == null) { - rng_pool = new Array(); - rng_pptr = 0; - var t; - if (typeof window !== "undefined" && window.crypto) { - if (window.crypto.getRandomValues) { - // Use webcrypto if available - var ua = new Uint8Array(32); - window.crypto.getRandomValues(ua); - for (t = 0; t < 32; ++t) { - rng_pool[rng_pptr++] = ua[t]; - } - } else if (navigator.appName == "Netscape" && navigator.appVersion < "5") { - // Extract entropy (256 bits) from NS4 RNG if available - var z = window.crypto.random(32); - for (t = 0; t < z.length; ++t) { - rng_pool[rng_pptr++] = z.charCodeAt(t) & 255; - } - } - } - while (rng_pptr < rng_psize) { - // extract some randomness from Math.random() - t = Math.floor(65536 * Math.random()); - rng_pool[rng_pptr++] = t >>> 8; - rng_pool[rng_pptr++] = t & 255; - } - rng_pptr = 0; - rng_seed_time(); - //rng_seed_int(window.screenX); - //rng_seed_int(window.screenY); - } - function rng_get_byte() { - if (rng_state == null) { - rng_seed_time(); - rng_state = prng_newstate(); - rng_state.init(rng_pool); - for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) { - rng_pool[rng_pptr] = 0; - }rng_pptr = 0; - //rng_pool = null; - } - // TODO: allow reseeding after first request - return rng_state.next(); - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function rng_get_bytes(ba) { - var i; - for (i = 0; i < ba.length; ++i) { - ba[i] = rng_get_byte(); - } - } +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 SecureRandom() {} +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; } - SecureRandom.prototype.nextBytes = rng_get_bytes; +Object.defineProperty(exports, "__esModule", { value: true }); +var OnmsEnum_1 = __webpack_require__(2); +/** + * Represents an OpenNMS trouble ticket state. + * @module OnmsTroubleTicketState + */ /** */ - // prng4.js - uses Arcfour as a PRNG +var OnmsTroubleTicketState = function (_OnmsEnum_1$OnmsEnum) { + _inherits(OnmsTroubleTicketState, _OnmsEnum_1$OnmsEnum); - function Arcfour() { - this.i = 0; - this.j = 0; - this.S = new Array(); - } + function OnmsTroubleTicketState() { + _classCallCheck(this, OnmsTroubleTicketState); - // Initialize arcfour context from key, an array of ints, each from [0..255] - function ARC4init(key) { - var i, j, t; - for (i = 0; i < 256; ++i) { - this.S[i] = i; - }j = 0; - for (i = 0; i < 256; ++i) { - j = j + this.S[i] + key[i % key.length] & 255; - t = this.S[i]; - this.S[i] = this.S[j]; - this.S[j] = t; + return _possibleConstructorReturn(this, (OnmsTroubleTicketState.__proto__ || Object.getPrototypeOf(OnmsTroubleTicketState)).apply(this, arguments)); } - this.i = 0; - this.j = 0; - } - - function ARC4next() { - var t; - this.i = this.i + 1 & 255; - this.j = this.j + this.S[this.i] & 255; - t = this.S[this.i]; - this.S[this.i] = this.S[this.j]; - this.S[this.j] = t; - return this.S[t + this.S[this.i] & 255]; - } - - Arcfour.prototype.init = ARC4init; - Arcfour.prototype.next = ARC4next; - // Plug in your RNG constructor here - function prng_newstate() { - return new Arcfour(); - } - - // Pool size must be a multiple of 4 and greater than 32. - // An array of bytes the size of the pool will be passed to init() - var rng_psize = 256; + return OnmsTroubleTicketState; +}(OnmsEnum_1.OnmsEnum); - if (true) { - exports = module.exports = { - BigInteger: BigInteger, - SecureRandom: SecureRandom - }; - } else { - this.BigInteger = BigInteger; - this.SecureRandom = SecureRandom; - } -}).call(undefined); +exports.OnmsTroubleTicketState = OnmsTroubleTicketState; +/* tslint:disable:object-literal-sort-keys */ +/** @hidden */ +exports.TroubleTicketStates = Object.freeze({ + OPEN: new OnmsTroubleTicketState(0, 'OPEN'), + CREATE_PENDING: new OnmsTroubleTicketState(1, 'CREATE_PENDING'), + CREATE_FAILED: new OnmsTroubleTicketState(2, 'CREATE_FAILED'), + UPDATE_PENDING: new OnmsTroubleTicketState(3, 'UPDATE_PENDING'), + UPDATE_FAILED: new OnmsTroubleTicketState(4, 'UPDATE_FAILED'), + CLOSED: new OnmsTroubleTicketState(5, 'CLOSED'), + CLOSE_PENDING: new OnmsTroubleTicketState(6, 'CLOSE_PENDING'), + CLOSE_FAILED: new OnmsTroubleTicketState(7, 'CLOSE_FAILED'), + RESOLVED: new OnmsTroubleTicketState(8, 'RESOLVED'), + RESOLVE_PENDING: new OnmsTroubleTicketState(9, 'RESOLVE_PENDING'), + RESOLVE_FAILED: new OnmsTroubleTicketState(10, 'RESOLVE_FAILED'), + CANCELLED: new OnmsTroubleTicketState(11, 'CANCELLED'), + CANCEL_PENDING: new OnmsTroubleTicketState(12, 'CANCEL_PENDING'), + CANCEL_FAILED: new OnmsTroubleTicketState(13, 'CANCEL_FAILED') +}); /***/ }), -/* 68 */ +/* 57 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -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 _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +Object.defineProperty(exports, "__esModule", { value: true }); /** - * lodash (Custom Build) - * Build: `lodash modularize exports="npm" -o ./` - * Copyright jQuery Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991, - MAX_INTEGER = 1.7976931348623157e+308, - NAN = 0 / 0; + * Represents a physical (MAC) address. + * @module PhysAddr + */ /** */ -/** `Object#toString` result references. */ -var symbolTag = '[object Symbol]'; +var PhysAddr = function () { + function PhysAddr(addr) { + _classCallCheck(this, PhysAddr); -/** Used to match leading and trailing whitespace. */ -var reTrim = /^\s+|\s+$/g; + this.addr = addr.toUpperCase().replace(/[^0-9A-F]/g, ''); + } + /** displayable string */ -/** Used to detect bad signed hexadecimal string values. */ -var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; -/** Used to detect binary string values. */ -var reIsBinary = /^0b[01]+$/i; + _createClass(PhysAddr, [{ + key: "toString", + value: function toString() { + var asArray = this.addr.split(''); + if (asArray.length === 12) { + return asArray[0] + asArray[1] + ':' + asArray[2] + asArray[3] + ':' + asArray[4] + asArray[5] + ':' + asArray[6] + asArray[7] + ':' + asArray[8] + asArray[9] + ':' + asArray[10] + asArray[11]; + } else { + return this.addr; + } + } + }]); -/** Used to detect octal string values. */ -var reIsOctal = /^0o[0-7]+$/i; + return PhysAddr; +}(); -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23', - rsComboSymbolsRange = '\\u20d0-\\u20f0', - rsVarRange = '\\ufe0e\\ufe0f'; +exports.PhysAddr = PhysAddr; -/** Used to compose unicode capture groups. */ -var rsAstral = '[' + rsAstralRange + ']', - rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsZWJ = '\\u200d'; +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { -/** Used to compose unicode regexes. */ -var reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; +"use strict"; -/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ -var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); -/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ -var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -/** Built-in method references without a dependency on `root`. */ -var freeParseInt = parseInt; +var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; -/** Detect free variable `global` from Node.js. */ -var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -/** Detect free variable `self`. */ -var freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self; +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; } -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); +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; } +Object.defineProperty(exports, "__esModule", { value: true }); +var axios_1 = __webpack_require__(203); +/** @hidden */ +// tslint:disable-next-line +var URI = __webpack_require__(34); +var AbstractHTTP_1 = __webpack_require__(32); +var OnmsError_1 = __webpack_require__(6); +var OnmsResult_1 = __webpack_require__(12); +var Log_1 = __webpack_require__(4); +var typescript_logging_1 = __webpack_require__(5); +/** @hidden */ +var catAxios = new typescript_logging_1.Category('axios', Log_1.catRest); /** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ -var asciiSize = baseProperty('length'); + * Implementation of the OnmsHTTP interface using Axios: https://github.com/mzabriskie/axios + * @module AxiosHTTP + * @implements IOnmsHTTP + */ /** */ -/** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function asciiToArray(string) { - return string.split(''); -} +var AxiosHTTP = function (_AbstractHTTP_1$Abstr) { + _inherits(AxiosHTTP, _AbstractHTTP_1$Abstr); -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function baseProperty(key) { - return function (object) { - return object == null ? undefined : object[key]; - }; -} + function AxiosHTTP(server, axiosImpl) { + var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10000; -/** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ -function hasUnicode(string) { - return reHasUnicode.test(string); -} + _classCallCheck(this, AxiosHTTP); -/** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */ -function stringSize(string) { - return hasUnicode(string) ? unicodeSize(string) : asciiSize(string); -} + var _this = _possibleConstructorReturn(this, (AxiosHTTP.__proto__ || Object.getPrototypeOf(AxiosHTTP)).call(this, server, timeout)); -/** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function stringToArray(string) { - return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); -} + _this.axiosImpl = axiosImpl || axios_1.default; + return _this; + } + /** make an HTTP get call -- this should be overridden by the implementation */ -/** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ -function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - result++; - } - return result; -} -/** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function unicodeToArray(string) { - return string.match(reUnicode) || []; -} + _createClass(AxiosHTTP, [{ + key: "get", + value: function get(url, options) { + var realUrl = this.getServer(options).resolveURL(url); + var opts = this.getConfig(options); + var urlObj = new URI(realUrl); + urlObj.search(options.parameters); + Log_1.log.debug('getting ' + urlObj.toString(), catAxios); + return this.getImpl(options).get(realUrl, opts).then(function (response) { + var type = void 0; + if (response.headers && response.headers['content-type']) { + type = response.headers['content-type']; + } + return OnmsResult_1.OnmsResult.ok(response.data, undefined, response.status, type); + }); + } + /** + * Clear the configured {@link AxiosInstance} so we create a new one when the server changes. + */ -/** Used for built-in method references. */ -var objectProto = Object.prototype; + }, { + key: "onSetServer", + value: function onSetServer() { + _get(AxiosHTTP.prototype.__proto__ || Object.getPrototypeOf(AxiosHTTP.prototype), "onSetServer", this).call(this); + this.axiosObj = undefined; + } + /** internal method to turn {@link OnmsHTTPOptions} into an {@link AxiosRequestConfig} object. */ -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var objectToString = objectProto.toString; + }, { + key: "getConfig", + value: function getConfig(options) { + var allOptions = this.getOptions(options); + var ret = {}; + if (allOptions.auth && allOptions.auth.username && allOptions.auth.password) { + ret.auth = { + password: allOptions.auth.password, + username: allOptions.auth.username + }; + } + if (allOptions.timeout) { + ret.timeout = allOptions.timeout; + } + if (allOptions.accept === 'application/json') { + ret.responseType = 'json'; + ret.transformResponse = this.transformJSON; + } else if (allOptions.accept === 'text/plain') { + ret.responseType = 'text'; + ret.headers = { + Accept: allOptions.accept + }; + } else if (allOptions.accept === 'application/xml') { + ret.responseType = 'text'; + ret.transformResponse = this.transformXML; + ret.headers = { + Accept: allOptions.accept + }; + } else { + throw new OnmsError_1.OnmsError('Unhandled response type: ' + allOptions.accept); + } + if (allOptions.parameters) { + ret.params = Object.assign({}, allOptions.parameters); + } + return ret; + } + /** internal method for getting/constructing an Axios object on-demand, based on the current server config */ -/** Built-in value references. */ -var _Symbol = root.Symbol; + }, { + key: "getImpl", + value: function getImpl(options) { + if (!this.axiosObj) { + var server = this.getServer(options); + if (!server) { + throw new OnmsError_1.OnmsError('You must set a server before attempting to make queries using Axios!'); + } + var allOptions = this.getOptions(options); + this.axiosObj = this.axiosImpl.create({ + auth: { + password: allOptions.auth.password, + username: allOptions.auth.username + }, + baseURL: server.url, + timeout: allOptions.timeout, + withCredentials: true + }); + } + return this.axiosObj; + } + }]); -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil, - nativeFloor = Math.floor; + return AxiosHTTP; +}(AbstractHTTP_1.AbstractHTTP); -/** Used to convert symbols to primitives and strings. */ -var symbolProto = _Symbol ? _Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; +exports.AxiosHTTP = AxiosHTTP; -/** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ -function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { - return result; -} +"use strict"; -/** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ -function baseSlice(array, start, end) { - var index = -1, - length = array.length; - if (start < 0) { - start = -start > length ? 0 : length + start; - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : end - start >>> 0; - start >>>= 0; +var utils = __webpack_require__(3); +var settle = __webpack_require__(210); +var buildURL = __webpack_require__(213); +var parseHeaders = __webpack_require__(219); +var isURLSameOrigin = __webpack_require__(217); +var createError = __webpack_require__(62); +var btoa = typeof window !== 'undefined' && window.btoa && window.btoa.bind(window) || __webpack_require__(212); - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; -} +module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = value + ''; - return result == '0' && 1 / value == -INFINITY ? '-0' : result; -} + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } -/** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ -function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return !start && end >= length ? array : baseSlice(array, start, end); -} + var request = new XMLHttpRequest(); + var loadEvent = 'onreadystatechange'; + var xDomain = false; -/** - * Creates the padding for `string` based on `length`. The `chars` string - * is truncated if the number of characters exceeds `length`. - * - * @private - * @param {number} length The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padding for `string`. - */ -function createPadding(length, chars) { - chars = chars === undefined ? ' ' : baseToString(chars); + // For IE 8/9 CORS support + // Only supports POST and GET calls and doesn't returns the response headers. + // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest. + if (process.env.NODE_ENV !== 'test' && typeof window !== 'undefined' && window.XDomainRequest && !('withCredentials' in request) && !isURLSameOrigin(config.url)) { + request = new window.XDomainRequest(); + loadEvent = 'onload'; + xDomain = true; + request.onprogress = function handleProgress() {}; + request.ontimeout = function handleTimeout() {}; + } - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) ? castSlice(stringToArray(result), 0, length).join('') : result.slice(0, length); -} + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value === 'undefined' ? 'undefined' : _typeof(value); - return !!value && (type == 'object' || type == 'function'); -} + request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object'; -} + // Set the request timeout in MS + request.timeout = config.timeout; -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ -function isSymbol(value) { - return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag; -} + // Listen for ready state + request[loadEvent] = function handleLoad() { + if (!request || request.readyState !== 4 && !xDomain) { + return; + } -/** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */ -function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = value < 0 ? -1 : 1; - return sign * MAX_INTEGER; - } - return value === value ? value : 0; -} + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } -/** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */ -function toInteger(value) { - var result = toFinite(value), - remainder = result % 1; + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var response = { + data: responseData, + // IE sends 1223 instead of 204 (https://github.com/mzabriskie/axios/issues/201) + status: request.status === 1223 ? 204 : request.status, + statusText: request.status === 1223 ? 'No Content' : request.statusText, + headers: responseHeaders, + config: config, + request: request + }; - return result === result ? remainder ? result - remainder : result : 0; -} + settle(resolve, reject, response); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + var cookies = __webpack_require__(215); + + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (config.withCredentials) { + request.withCredentials = true; + } + + // Add responseType to request if needed + if (config.responseType) { + try { + request.responseType = config.responseType; + } catch (e) { + // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. + // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. + if (config.responseType !== 'json') { + throw e; + } + } + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (requestData === undefined) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); +}; + +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; -/** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ -function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? other + '' : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ''); - var isBinary = reIsBinary.test(value); - return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; -} /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {string} Returns the string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' + * A `Cancel` is an object that is thrown when an operation is canceled. * - * _.toString([1, 2, 3]); - * // => '1,2,3' + * @class + * @param {string=} message The message. */ -function toString(value) { - return value == null ? '' : baseToString(value); + +function Cancel(message) { + this.message = message; } +Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); +}; + +Cancel.prototype.__CANCEL__ = true; + +module.exports = Cancel; + +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; + +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var enhanceError = __webpack_require__(209); + /** - * Pads `string` on the left side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padStart('abc', 6); - * // => ' abc' - * - * _.padStart('abc', 6, '_-'); - * // => '_-_abc' + * Create an Error with the specified message, config, error code, request and response. * - * _.padStart('abc', 3); - * // => 'abc' + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. */ -function padStart(string, length, chars) { - string = toString(string); - length = toInteger(length); +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; - var strLength = length ? stringSize(string) : 0; - return length && strLength < length ? createPadding(length - strLength, chars) + string : string; -} +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { -module.exports = padStart; +"use strict"; + + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; /***/ }), -/* 69 */ +/* 64 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -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; }; +// A wrapper function that returns false if the address is not valid; used to +// avoid boilerplate checks for `if (!this.valid) { return false; }` -/** - * lodash (Custom Build) - * Build: `lodash modularize exports="npm" -o ./` - * Copyright jQuery Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ +var falseIfInvalid = exports.falseIfInvalid = function (fn) { + return function () { + if (!this.valid) { + return false; + } -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991, - MAX_INTEGER = 1.7976931348623157e+308, - NAN = 0 / 0; + return fn.apply(this, arguments); + }; +}; -/** `Object#toString` result references. */ -var funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - symbolTag = '[object Symbol]'; +exports.isInSubnet = falseIfInvalid(function (address) { + if (this.subnetMask < address.subnetMask) { + return false; + } -/** Used to match leading and trailing whitespace. */ -var reTrim = /^\s+|\s+$/g; + if (this.mask(address.subnetMask) === address.mask()) { + return true; + } -/** Used to detect bad signed hexadecimal string values. */ -var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + return false; +}); -/** Used to detect binary string values. */ -var reIsBinary = /^0b[01]+$/i; +exports.isCorrect = function (defaultBits) { + return falseIfInvalid(function () { + if (this.addressMinusSuffix !== this.correctForm()) { + return false; + } -/** Used to detect octal string values. */ -var reIsOctal = /^0o[0-7]+$/i; + if (this.subnetMask === defaultBits && !this.parsedSubnet) { + return true; + } -/** Used to detect unsigned integer values. */ -var reIsUint = /^(?:0|[1-9]\d*)$/; + return this.parsedSubnet === String(this.subnetMask); + }); +}; -/** Built-in method references without a dependency on `root`. */ -var freeParseInt = parseInt; +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { -/** Detect free variable `global` from Node.js. */ -var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global; +"use strict"; -/** Detect free variable `self`. */ -var freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self; -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); +var BigInteger = __webpack_require__(67).BigInteger; +var common = __webpack_require__(64); +var padStart = __webpack_require__(68); +var repeat = __webpack_require__(69); +var sprintf = __webpack_require__(11).sprintf; +var deprecate = __webpack_require__(196); -/** Used for built-in method references. */ -var objectProto = Object.prototype; +var constants = __webpack_require__(26); /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. + * Represents an IPv4 address + * @class Address4 + * @param {string} address - An IPv4 address string */ -var objectToString = objectProto.toString; +function Address4(address) { + this.valid = false; + this.address = address; + this.groups = constants.GROUPS; -/** Built-in value references. */ -var _Symbol = root.Symbol; + this.v4 = true; -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeFloor = Math.floor; + this.subnet = '/32'; + this.subnetMask = 32; -/** Used to convert symbols to primitives and strings. */ -var symbolProto = _Symbol ? _Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; + var subnet = constants.RE_SUBNET_STRING.exec(address); -/** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ -function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; + if (subnet) { + this.parsedSubnet = subnet[0].replace('/', ''); + this.subnetMask = parseInt(this.parsedSubnet, 10); + this.subnet = '/' + this.subnetMask; + + if (this.subnetMask < 0 || this.subnetMask > constants.BITS) { + this.valid = false; + this.error = 'Invalid subnet mask.'; + + return; } - } while (n); - return result; + address = address.replace(constants.RE_SUBNET_STRING, ''); + } + + this.addressMinusSuffix = address; + + this.parsedAddress = this.parse(address); } -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. +/* + * Parses a v4 address */ -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; +Address4.prototype.parse = function (address) { + var groups = address.split('.'); + + if (address.match(constants.RE_ADDRESS)) { + this.valid = true; + } else { + this.error = 'Invalid IPv4 address.'; } - var result = value + ''; - return result == '0' && 1 / value == -INFINITY ? '-0' : result; -} + + return groups; +}; /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + * Return true if the address is valid + * @memberof Address4 + * @instance + * @returns {Boolean} */ -function isIndex(value, length) { - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; -} +Address4.prototype.isValid = function () { + return this.valid; +}; /** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. + * Returns the correct form of an address + * @memberof Address4 + * @instance + * @returns {String} */ -function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index === 'undefined' ? 'undefined' : _typeof(index); - if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) { - return eq(object[index], value); - } - return false; -} +Address4.prototype.correctForm = function () { + return this.parsedAddress.map(function (part) { + return parseInt(part, 10); + }).join('.'); +}; /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true + * Returns true if the address is correct, false otherwise + * @memberof Address4 + * @instance + * @returns {Boolean} */ -function eq(value, other) { - return value === other || value !== value && other !== other; -} +Address4.prototype.isCorrect = common.isCorrect(constants.BITS); /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * + * Converts a hex string to an IPv4 address object + * @memberof Address4 * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false + * @param {string} hex - a hex string to convert + * @returns {Address4} */ -function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); -} +Address4.fromHex = function (hex) { + var padded = padStart(hex.replace(/:/g, ''), 8, '0'); + var groups = []; + var i; + + for (i = 0; i < 8; i += 2) { + var h = padded.slice(i, i + 2); + + groups.push(parseInt(h, 16)); + } + + return new Address4(groups.join('.')); +}; /** - * Checks if `value` is classified as a `Function` object. - * + * Converts an integer into a IPv4 address object + * @memberof Address4 * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false + * @param {integer} integer - a number to convert + * @returns {Address4} */ -function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8-9 which returns 'object' for typed array and other constructors. - var tag = isObject(value) ? objectToString.call(value) : ''; - return tag == funcTag || tag == genTag; -} +Address4.fromInteger = function (integer) { + return Address4.fromHex(integer.toString(16)); +}; /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false + * Converts an IPv4 address object to a hex string + * @memberof Address4 + * @instance + * @returns {String} */ -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} +Address4.prototype.toHex = function () { + return this.parsedAddress.map(function (part) { + return sprintf('%02x', parseInt(part, 10)); + }).join(':'); +}; /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false + * Converts an IPv4 address object to an array of bytes + * @memberof Address4 + * @instance + * @returns {Array} */ -function isObject(value) { - var type = typeof value === 'undefined' ? 'undefined' : _typeof(value); - return !!value && (type == 'object' || type == 'function'); -} +Address4.prototype.toArray = function () { + return this.parsedAddress.map(function (part) { + return parseInt(part, 10); + }); +}; /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false + * Converts an IPv4 address object to an IPv6 address group + * @memberof Address4 + * @instance + * @returns {String} */ -function isObjectLike(value) { - return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object'; -} +Address4.prototype.toGroup6 = function () { + var output = []; + var i; + + for (i = 0; i < constants.GROUPS; i += 2) { + var hex = sprintf('%02x%02x', parseInt(this.parsedAddress[i], 10), parseInt(this.parsedAddress[i + 1], 10)); + + output.push(sprintf('%x', parseInt(hex, 16))); + } + + return output.join(':'); +}; + +Address4.prototype.toV6Group = deprecate(Address4.prototype.toGroup6, 'deprecated: `toV6Group` has been renamed to `toGroup6`'); /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false + * Returns the address as a BigInteger + * @memberof Address4 + * @instance + * @returns {BigInteger} */ -function isSymbol(value) { - return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag; -} +Address4.prototype.bigInteger = function () { + if (!this.valid) { + return null; + } + + return new BigInteger(this.parsedAddress.map(function (n) { + return sprintf('%02x', parseInt(n, 10)); + }).join(''), 16); +}; /** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 + * The first address in the range given by this address' subnet. + * Often referred to as the Network Address. + * @memberof Address4 + * @instance + * @returns {Address4} */ -function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = value < 0 ? -1 : 1; - return sign * MAX_INTEGER; - } - return value === value ? value : 0; -} +Address4.prototype.startAddress = function () { + var startAddress = new BigInteger(this.mask() + repeat(0, constants.BITS - this.subnetMask), 2); + + return Address4.fromBigInteger(startAddress); +}; /** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 + * The last address in the range given by this address' subnet + * Often referred to as the Broadcast + * @memberof Address4 + * @instance + * @returns {Address4} */ -function toInteger(value) { - var result = toFinite(value), - remainder = result % 1; +Address4.prototype.endAddress = function () { + var endAddress = new BigInteger(this.mask() + repeat(1, constants.BITS - this.subnetMask), 2); - return result === result ? remainder ? result - remainder : result : 0; -} + return Address4.fromBigInteger(endAddress); +}; /** - * Converts `value` to a number. - * + * Converts a BigInteger to a v4 address object + * @memberof Address4 * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 + * @param {BigInteger} bigInteger - a BigInteger to convert + * @returns {Address4} */ -function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? other + '' : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; +Address4.fromBigInteger = function (bigInteger) { + return Address4.fromInteger(parseInt(bigInteger.toString(), 10)); +}; + +/** + * Returns the first n bits of the address, defaulting to the + * subnet mask + * @memberof Address4 + * @instance + * @returns {String} + */ +Address4.prototype.mask = function (optionalMask) { + if (optionalMask === undefined) { + optionalMask = this.subnetMask; } - value = value.replace(reTrim, ''); - var isBinary = reIsBinary.test(value); - return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; -} + + return this.getBitsBase2(0, optionalMask); +}; /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {string} Returns the string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' + * Returns the bits in the given range as a base-2 string + * @memberof Address4 + * @instance + * @returns {string} */ -function toString(value) { - return value == null ? '' : baseToString(value); -} +Address4.prototype.getBitsBase2 = function (start, end) { + return this.binaryZeroPad().slice(start, end); +}; /** - * Repeats the given string `n` times. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to repeat. - * @param {number} [n=1] The number of times to repeat the string. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {string} Returns the repeated string. - * @example - * - * _.repeat('*', 3); - * // => '***' - * - * _.repeat('abc', 2); - * // => 'abcabc' - * - * _.repeat('abc', 0); - * // => '' + * Returns true if the given address is in the subnet of the current address + * @memberof Address4 + * @instance + * @returns {boolean} */ -function repeat(string, n, guard) { - if (guard ? isIterateeCall(string, n, guard) : n === undefined) { - n = 1; - } else { - n = toInteger(n); - } - return baseRepeat(toString(string), n); -} +Address4.prototype.isInSubnet = common.isInSubnet; -module.exports = repeat; +/** + * Returns a zero-padded base-2 string representation of the address + * @memberof Address4 + * @instance + * @returns {string} + */ +Address4.prototype.binaryZeroPad = function () { + return padStart(this.bigInteger().toString(2), constants.BITS, '0'); +}; + +module.exports = Address4; /***/ }), -/* 70 */ +/* 66 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; -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; }; -//! moment.js locale configuration -//! locale : Afrikaans [af] -//! author : Werner Mollentze : https://github.com/wernerm +var sprintf = __webpack_require__(11).sprintf; -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * @returns {String} the string with all zeroes contained in a + */ +var spanAllZeroes = exports.spanAllZeroes = function (s) { + return s.replace(/(0+)/g, '$1'); +}; - var af = moment.defineLocale('af', { - months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), - monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), - weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), - weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), - meridiemParse: /vm|nm/i, - isPM: function isPM(input) { - return (/^nm$/i.test(input) - ); - }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'vm' : 'VM'; - } else { - return isLower ? 'nm' : 'NM'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Vandag om] LT', - nextDay: '[Môre om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[Gister om] LT', - lastWeek: '[Laas] dddd [om] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'oor %s', - past: '%s gelede', - s: '\'n paar sekondes', - m: '\'n minuut', - mm: '%d minute', - h: '\'n uur', - hh: '%d ure', - d: '\'n dag', - dd: '%d dae', - M: '\'n maand', - MM: '%d maande', - y: '\'n jaar', - yy: '%d jaar' - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function ordinal(number) { - return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter - }, - week: { - dow: 1, // Maandag is die eerste dag van die week. - doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. - } - }); +/** + * @returns {String} the string with each character contained in a + */ +exports.spanAll = function (s, optionalOffset) { + if (optionalOffset === undefined) { + optionalOffset = 0; + } - return af; -}); + var letters = s.split(''); -/***/ }), -/* 71 */ -/***/ (function(module, exports, __webpack_require__) { + return letters.map(function (n, i) { + return sprintf('%s', n, i + optionalOffset, spanAllZeroes(n)); // XXX Use #base-2 .value-0 instead? + }).join(''); +}; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +function spanLeadingZeroesSimple(group) { + return group.replace(/^(0+)/, '$1'); +} -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; }; +/** + * @returns {String} the string with leading zeroes contained in a + */ +exports.spanLeadingZeroes = function (address) { + var groups = address.split(':'); -//! moment.js locale configuration -//! locale : Arabic (Algeria) [ar-dz] -//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme + return groups.map(function (g) { + return spanLeadingZeroesSimple(g); + }).join(':'); +}; -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * Groups an address + * @returns {String} a grouped address + */ +exports.simpleGroup = function (addressString, offset) { + var groups = addressString.split(':'); - var arDz = moment.defineLocale('ar-dz', { - months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات' - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4 // The week that contains Jan 1st is the first week of the year. - } - }); + if (!offset) { + offset = 0; + } - return arDz; -}); + return groups.map(function (g, i) { + if (/group-v4/.test(g)) { + return g; + } + + return sprintf('%s', i + offset, spanLeadingZeroesSimple(g)); + }).join(':'); +}; /***/ }), -/* 72 */ +/* 67 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Arabic (Kuwait) [ar-kw] -//! author : Nusret Parlak: https://github.com/nusretparlak -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - var arKw = moment.defineLocale('ar-kw', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), - weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات' - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. - } - }); +(function () { - return arKw; -}); + // Copyright (c) 2005 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. -/***/ }), -/* 73 */ -/***/ (function(module, exports, __webpack_require__) { + // Basic JavaScript BN library - subset useful for RSA encryption. -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // Bits per digit + var dbits; -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; }; + // JavaScript engine analysis + var canary = 0xdeadbeefcafe; + var j_lm = (canary & 0xffffff) == 0xefcafe; -//! moment.js locale configuration -//! locale : Arabic (Lybia) [ar-ly] -//! author : Ali Hmer: https://github.com/kikoanis + // (public) Constructor + function BigInteger(a, b, c) { + if (a != null) if ("number" == typeof a) this.fromNumber(a, b, c);else if (b == null && "string" != typeof a) this.fromString(a, 256);else this.fromString(a, b); + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // return new, unset BigInteger + function nbi() { + return new BigInteger(null); + } - var symbolMap = { - '1': '1', - '2': '2', - '3': '3', - '4': '4', - '5': '5', - '6': '6', - '7': '7', - '8': '8', - '9': '9', - '0': '0' - }; - var pluralForm = function pluralForm(n) { - return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; - }; - var plurals = { - s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], - m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], - h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], - d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], - M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], - y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] - }; - var pluralize = function pluralize(u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }; - var months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']; + // am: Compute w_j += (x*this_i), propagate carries, + // c is initial carry, returns final carry. + // c < 3*dvalue, x < 2*dvalue, this_i < dvalue + // We need to select the fastest one that works in this environment. - var arLy = moment.defineLocale('ar-ly', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - meridiemParse: /ص|م/, - isPM: function isPM(input) { - return 'م' === input; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y') - }, - preparse: function preparse(string) { - return string.replace(/\u200f/g, '').replace(/،/g, ','); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }).replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. - } - }); + // am1: use a single mult and divide to get the high bits, + // max digit bits should be 26 because + // max internal value = 2*dvalue^2-2*dvalue (< 2^53) + function am1(i, x, w, j, c, n) { + while (--n >= 0) { + var v = x * this[i++] + w[j] + c; + c = Math.floor(v / 0x4000000); + w[j++] = v & 0x3ffffff; + } + return c; + } + // am2 avoids a big mult-and-extract completely. + // Max digit bits should be <= 30 because we do bitwise ops + // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) + function am2(i, x, w, j, c, n) { + var xl = x & 0x7fff, + xh = x >> 15; + while (--n >= 0) { + var l = this[i] & 0x7fff; + var h = this[i++] >> 15; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff); + c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30); + w[j++] = l & 0x3fffffff; + } + return c; + } + // Alternately, set max digit bits to 28 since some + // browsers slow down when dealing with 32-bit numbers. + function am3(i, x, w, j, c, n) { + var xl = x & 0x3fff, + xh = x >> 14; + while (--n >= 0) { + var l = this[i] & 0x3fff; + var h = this[i++] >> 14; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x3fff) << 14) + w[j] + c; + c = (l >> 28) + (m >> 14) + xh * h; + w[j++] = l & 0xfffffff; + } + return c; + } + var inBrowser = typeof navigator !== "undefined"; + if (inBrowser && j_lm && navigator.appName == "Microsoft Internet Explorer") { + BigInteger.prototype.am = am2; + dbits = 30; + } else if (inBrowser && j_lm && navigator.appName != "Netscape") { + BigInteger.prototype.am = am1; + dbits = 26; + } else { + // Mozilla/Netscape seems to prefer am3 + BigInteger.prototype.am = am3; + dbits = 28; + } - return arLy; -}); + BigInteger.prototype.DB = dbits; + BigInteger.prototype.DM = (1 << dbits) - 1; + BigInteger.prototype.DV = 1 << dbits; -/***/ }), -/* 74 */ -/***/ (function(module, exports, __webpack_require__) { + var BI_FP = 52; + BigInteger.prototype.FV = Math.pow(2, BI_FP); + BigInteger.prototype.F1 = BI_FP - dbits; + BigInteger.prototype.F2 = 2 * dbits - BI_FP; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // Digit conversions + var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"; + var BI_RC = new Array(); + var rr, vv; + rr = "0".charCodeAt(0); + for (vv = 0; vv <= 9; ++vv) { + BI_RC[rr++] = vv; + }rr = "a".charCodeAt(0); + for (vv = 10; vv < 36; ++vv) { + BI_RC[rr++] = vv; + }rr = "A".charCodeAt(0); + for (vv = 10; vv < 36; ++vv) { + BI_RC[rr++] = vv; + }function int2char(n) { + return BI_RM.charAt(n); + } + function intAt(s, i) { + var c = BI_RC[s.charCodeAt(i)]; + return c == null ? -1 : c; + } -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; }; + // (protected) copy this to r + function bnpCopyTo(r) { + for (var i = this.t - 1; i >= 0; --i) { + r[i] = this[i]; + }r.t = this.t; + r.s = this.s; + } -//! moment.js locale configuration -//! locale : Arabic (Morocco) [ar-ma] -//! author : ElFadili Yassine : https://github.com/ElFadiliY -//! author : Abdel Said : https://github.com/abdelsaid + // (protected) set from integer value x, -DV <= x < DV + function bnpFromInt(x) { + this.t = 1; + this.s = x < 0 ? -1 : 0; + if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0; + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // return bigint initialized to value + function nbv(i) { + var r = nbi();r.fromInt(i);return r; + } - var arMa = moment.defineLocale('ar-ma', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), - weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات' - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. - } - }); + // (protected) set from string and radix + function bnpFromString(s, b) { + var k; + if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 256) k = 8; // byte array + else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else { + this.fromRadix(s, b);return; + } + this.t = 0; + this.s = 0; + var i = s.length, + mi = false, + sh = 0; + while (--i >= 0) { + var x = k == 8 ? s[i] & 0xff : intAt(s, i); + if (x < 0) { + if (s.charAt(i) == "-") mi = true; + continue; + } + mi = false; + if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) { + this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh; + this[this.t++] = x >> this.DB - sh; + } else this[this.t - 1] |= x << sh; + sh += k; + if (sh >= this.DB) sh -= this.DB; + } + if (k == 8 && (s[0] & 0x80) != 0) { + this.s = -1; + if (sh > 0) this[this.t - 1] |= (1 << this.DB - sh) - 1 << sh; + } + this.clamp(); + if (mi) BigInteger.ZERO.subTo(this, this); + } - return arMa; -}); + // (protected) clamp off excess high words + function bnpClamp() { + var c = this.s & this.DM; + while (this.t > 0 && this[this.t - 1] == c) { + --this.t; + } + } -/***/ }), -/* 75 */ -/***/ (function(module, exports, __webpack_require__) { + // (public) return string representation in given radix + function bnToString(b) { + if (this.s < 0) return "-" + this.negate().toString(b); + var k; + if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else return this.toRadix(b); + var km = (1 << k) - 1, + d, + m = false, + r = "", + i = this.t; + var p = this.DB - i * this.DB % k; + if (i-- > 0) { + if (p < this.DB && (d = this[i] >> p) > 0) { + m = true;r = int2char(d); + } + while (i >= 0) { + if (p < k) { + d = (this[i] & (1 << p) - 1) << k - p; + d |= this[--i] >> (p += this.DB - k); + } else { + d = this[i] >> (p -= k) & km; + if (p <= 0) { + p += this.DB;--i; + } + } + if (d > 0) m = true; + if (m) r += int2char(d); + } + } + return m ? r : "0"; + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // (public) -this + function bnNegate() { + var r = nbi();BigInteger.ZERO.subTo(this, r);return r; + } -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; }; + // (public) |this| + function bnAbs() { + return this.s < 0 ? this.negate() : this; + } -//! moment.js locale configuration -//! locale : Arabic (Saudi Arabia) [ar-sa] -//! author : Suhail Alkowaileet : https://github.com/xsoh + // (public) return + if this > a, - if this < a, 0 if equal + function bnCompareTo(a) { + var r = this.s - a.s; + if (r != 0) return r; + var i = this.t; + r = i - a.t; + if (r != 0) return this.s < 0 ? -r : r; + while (--i >= 0) { + if ((r = this[i] - a[i]) != 0) return r; + }return 0; + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // returns bit length of the integer x + function nbits(x) { + var r = 1, + t; + if ((t = x >>> 16) != 0) { + x = t;r += 16; + } + if ((t = x >> 8) != 0) { + x = t;r += 8; + } + if ((t = x >> 4) != 0) { + x = t;r += 4; + } + if ((t = x >> 2) != 0) { + x = t;r += 2; + } + if ((t = x >> 1) != 0) { + x = t;r += 1; + } + return r; + } - var symbolMap = { - '1': '١', - '2': '٢', - '3': '٣', - '4': '٤', - '5': '٥', - '6': '٦', - '7': '٧', - '8': '٨', - '9': '٩', - '0': '٠' - }; - var numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0' - }; + // (public) return the number of bits in "this" + function bnBitLength() { + if (this.t <= 0) return 0; + return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM); + } - var arSa = moment.defineLocale('ar-sa', { - months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - meridiemParse: /ص|م/, - isPM: function isPM(input) { - return 'م' === input; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات' - }, - preparse: function preparse(string) { - return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }).replace(/،/g, ','); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }).replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. - } - }); + // (protected) r = this << n*DB + function bnpDLShiftTo(n, r) { + var i; + for (i = this.t - 1; i >= 0; --i) { + r[i + n] = this[i]; + }for (i = n - 1; i >= 0; --i) { + r[i] = 0; + }r.t = this.t + n; + r.s = this.s; + } - return arSa; -}); + // (protected) r = this >> n*DB + function bnpDRShiftTo(n, r) { + for (var i = n; i < this.t; ++i) { + r[i - n] = this[i]; + }r.t = Math.max(this.t - n, 0); + r.s = this.s; + } -/***/ }), -/* 76 */ -/***/ (function(module, exports, __webpack_require__) { + // (protected) r = this << n + function bnpLShiftTo(n, r) { + var bs = n % this.DB; + var cbs = this.DB - bs; + var bm = (1 << cbs) - 1; + var ds = Math.floor(n / this.DB), + c = this.s << bs & this.DM, + i; + for (i = this.t - 1; i >= 0; --i) { + r[i + ds + 1] = this[i] >> cbs | c; + c = (this[i] & bm) << bs; + } + for (i = ds - 1; i >= 0; --i) { + r[i] = 0; + }r[ds] = c; + r.t = this.t + ds + 1; + r.s = this.s; + r.clamp(); + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // (protected) r = this >> n + function bnpRShiftTo(n, r) { + r.s = this.s; + var ds = Math.floor(n / this.DB); + if (ds >= this.t) { + r.t = 0;return; + } + var bs = n % this.DB; + var cbs = this.DB - bs; + var bm = (1 << bs) - 1; + r[0] = this[ds] >> bs; + for (var i = ds + 1; i < this.t; ++i) { + r[i - ds - 1] |= (this[i] & bm) << cbs; + r[i - ds] = this[i] >> bs; + } + if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs; + r.t = this.t - ds; + r.clamp(); + } -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; }; + // (protected) r = this - a + function bnpSubTo(a, r) { + var i = 0, + c = 0, + m = Math.min(a.t, this.t); + while (i < m) { + c += this[i] - a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + if (a.t < this.t) { + c -= a.s; + while (i < this.t) { + c += this[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += this.s; + } else { + c += this.s; + while (i < a.t) { + c -= a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c -= a.s; + } + r.s = c < 0 ? -1 : 0; + if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c; + r.t = i; + r.clamp(); + } -//! moment.js locale configuration -//! locale : Arabic (Tunisia) [ar-tn] -//! author : Nader Toukabri : https://github.com/naderio + // (protected) r = this * a, r != this,a (HAC 14.12) + // "this" should be the larger one if appropriate. + function bnpMultiplyTo(a, r) { + var x = this.abs(), + y = a.abs(); + var i = x.t; + r.t = i + y.t; + while (--i >= 0) { + r[i] = 0; + }for (i = 0; i < y.t; ++i) { + r[i + x.t] = x.am(0, y[i], r, i, 0, x.t); + }r.s = 0; + r.clamp(); + if (this.s != a.s) BigInteger.ZERO.subTo(r, r); + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // (protected) r = this^2, r != this (HAC 14.16) + function bnpSquareTo(r) { + var x = this.abs(); + var i = r.t = 2 * x.t; + while (--i >= 0) { + r[i] = 0; + }for (i = 0; i < x.t - 1; ++i) { + var c = x.am(i, x[i], r, 2 * i, 0, 1); + if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) { + r[i + x.t] -= x.DV; + r[i + x.t + 1] = 1; + } + } + if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1); + r.s = 0; + r.clamp(); + } - var arTn = moment.defineLocale('ar-tn', { - months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات' - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) + // r != q, this != m. q or r may be null. + function bnpDivRemTo(m, q, r) { + var pm = m.abs(); + if (pm.t <= 0) return; + var pt = this.abs(); + if (pt.t < pm.t) { + if (q != null) q.fromInt(0); + if (r != null) this.copyTo(r); + return; + } + if (r == null) r = nbi(); + var y = nbi(), + ts = this.s, + ms = m.s; + var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus + if (nsh > 0) { + pm.lShiftTo(nsh, y);pt.lShiftTo(nsh, r); + } else { + pm.copyTo(y);pt.copyTo(r); + } + var ys = y.t; + var y0 = y[ys - 1]; + if (y0 == 0) return; + var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0); + var d1 = this.FV / yt, + d2 = (1 << this.F1) / yt, + e = 1 << this.F2; + var i = r.t, + j = i - ys, + t = q == null ? nbi() : q; + y.dlShiftTo(j, t); + if (r.compareTo(t) >= 0) { + r[r.t++] = 1; + r.subTo(t, r); + } + BigInteger.ONE.dlShiftTo(ys, t); + t.subTo(y, y); // "negative" y so we can replace sub with am later + while (y.t < ys) { + y[y.t++] = 0; + }while (--j >= 0) { + // Estimate quotient digit + var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2); + if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { + // Try it out + y.dlShiftTo(j, t); + r.subTo(t, r); + while (r[i] < --qd) { + r.subTo(t, r); } - }); - - return arTn; -}); - -/***/ }), -/* 77 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; + } + } + if (q != null) { + r.drShiftTo(ys, q); + if (ts != ms) BigInteger.ZERO.subTo(q, q); + } + r.t = ys; + r.clamp(); + if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder + if (ts < 0) BigInteger.ZERO.subTo(r, r); + } -//! moment.js locale configuration -//! locale : Arabic [ar] -//! author : Abdel Said: https://github.com/abdelsaid -//! author : Ahmed Elkhatib -//! author : forabi https://github.com/forabi + // (public) this mod a + function bnMod(a) { + var r = nbi(); + this.abs().divRemTo(a, null, r); + if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r); + return r; + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // Modular reduction using "classic" algorithm + function Classic(m) { + this.m = m; + } + function cConvert(x) { + if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);else return x; + } + function cRevert(x) { + return x; + } + function cReduce(x) { + x.divRemTo(this.m, null, x); + } + function cMulTo(x, y, r) { + x.multiplyTo(y, r);this.reduce(r); + } + function cSqrTo(x, r) { + x.squareTo(r);this.reduce(r); + } - var symbolMap = { - '1': '١', - '2': '٢', - '3': '٣', - '4': '٤', - '5': '٥', - '6': '٦', - '7': '٧', - '8': '٨', - '9': '٩', - '0': '٠' - }; - var numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0' - }; - var pluralForm = function pluralForm(n) { - return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; - }; - var plurals = { - s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], - m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], - h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], - d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], - M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], - y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] - }; - var pluralize = function pluralize(u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }; - var months = ['كانون الثاني يناير', 'شباط فبراير', 'آذار مارس', 'نيسان أبريل', 'أيار مايو', 'حزيران يونيو', 'تموز يوليو', 'آب أغسطس', 'أيلول سبتمبر', 'تشرين الأول أكتوبر', 'تشرين الثاني نوفمبر', 'كانون الأول ديسمبر']; + Classic.prototype.convert = cConvert; + Classic.prototype.revert = cRevert; + Classic.prototype.reduce = cReduce; + Classic.prototype.mulTo = cMulTo; + Classic.prototype.sqrTo = cSqrTo; - var ar = moment.defineLocale('ar', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - meridiemParse: /ص|م/, - isPM: function isPM(input) { - return 'م' === input; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y') - }, - preparse: function preparse(string) { - return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }).replace(/،/g, ','); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }).replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. - } - }); + // (protected) return "-1/this % 2^DB"; useful for Mont. reduction + // justification: + // xy == 1 (mod m) + // xy = 1+km + // xy(2-xy) = (1+km)(1-km) + // x[y(2-xy)] = 1-k^2m^2 + // x[y(2-xy)] == 1 (mod m^2) + // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 + // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. + // JS multiply "overflows" differently from C/C++, so care is needed here. + function bnpInvDigit() { + if (this.t < 1) return 0; + var x = this[0]; + if ((x & 1) == 0) return 0; + var y = x & 3; // y == 1/x mod 2^2 + y = y * (2 - (x & 0xf) * y) & 0xf; // y == 1/x mod 2^4 + y = y * (2 - (x & 0xff) * y) & 0xff; // y == 1/x mod 2^8 + y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = y * (2 - x * y % this.DV) % this.DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return y > 0 ? this.DV - y : -y; + } - return ar; -}); + // Montgomery reduction + function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp & 0x7fff; + this.mph = this.mp >> 15; + this.um = (1 << m.DB - 15) - 1; + this.mt2 = 2 * m.t; + } -/***/ }), -/* 78 */ -/***/ (function(module, exports, __webpack_require__) { + // xR mod m + function montConvert(x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t, r); + r.divRemTo(this.m, null, r); + if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r); + return r; + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // x/R mod m + function montRevert(x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + } -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; }; + // x = x/R mod m (HAC 14.32) + function montReduce(x) { + while (x.t <= this.mt2) { + // pad x so am has enough room later + x[x.t++] = 0; + }for (var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x[i] & 0x7fff; + var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM; + // use am to combine the multiply-shift-add into one call + j = i + this.m.t; + x[j] += this.m.am(0, u0, x, i, 0, this.m.t); + // propagate carry + while (x[j] >= x.DV) { + x[j] -= x.DV;x[++j]++; + } + } + x.clamp(); + x.drShiftTo(this.m.t, x); + if (x.compareTo(this.m) >= 0) x.subTo(this.m, x); + } -//! moment.js locale configuration -//! locale : Azerbaijani [az] -//! author : topchiyev : https://github.com/topchiyev + // r = "x^2/R mod m"; x != r + function montSqrTo(x, r) { + x.squareTo(r);this.reduce(r); + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // r = "xy/R mod m"; x,y != r + function montMulTo(x, y, r) { + x.multiplyTo(y, r);this.reduce(r); + } - var suffixes = { - 1: '-inci', - 5: '-inci', - 8: '-inci', - 70: '-inci', - 80: '-inci', - 2: '-nci', - 7: '-nci', - 20: '-nci', - 50: '-nci', - 3: '-üncü', - 4: '-üncü', - 100: '-üncü', - 6: '-ncı', - 9: '-uncu', - 10: '-uncu', - 30: '-uncu', - 60: '-ıncı', - 90: '-ıncı' - }; + Montgomery.prototype.convert = montConvert; + Montgomery.prototype.revert = montRevert; + Montgomery.prototype.reduce = montReduce; + Montgomery.prototype.mulTo = montMulTo; + Montgomery.prototype.sqrTo = montSqrTo; - var az = moment.defineLocale('az', { - months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), - monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), - weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'), - weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), - weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[sabah saat] LT', - nextWeek: '[gələn həftə] dddd [saat] LT', - lastDay: '[dünən] LT', - lastWeek: '[keçən həftə] dddd [saat] LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s sonra', - past: '%s əvvəl', - s: 'birneçə saniyyə', - m: 'bir dəqiqə', - mm: '%d dəqiqə', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - M: 'bir ay', - MM: '%d ay', - y: 'bir il', - yy: '%d il' - }, - meridiemParse: /gecə|səhər|gündüz|axşam/, - isPM: function isPM(input) { - return (/^(gündüz|axşam)$/.test(input) - ); - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'gecə'; - } else if (hour < 12) { - return 'səhər'; - } else if (hour < 17) { - return 'gündüz'; - } else { - return 'axşam'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, - ordinal: function ordinal(number) { - if (number === 0) { - // special case for zero - return number + '-ıncı'; - } - var a = number % 10, - b = number % 100 - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. - } - }); + // (protected) true iff this is even + function bnpIsEven() { + return (this.t > 0 ? this[0] & 1 : this.s) == 0; + } - return az; -}); + // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) + function bnpExp(e, z) { + if (e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(), + r2 = nbi(), + g = z.convert(this), + i = nbits(e) - 1; + g.copyTo(r); + while (--i >= 0) { + z.sqrTo(r, r2); + if ((e & 1 << i) > 0) z.mulTo(r2, g, r);else { + var t = r;r = r2;r2 = t; + } + } + return z.revert(r); + } -/***/ }), -/* 79 */ -/***/ (function(module, exports, __webpack_require__) { + // (public) this^e % m, 0 <= e < 2^32 + function bnModPowInt(e, m) { + var z; + if (e < 256 || m.isEven()) z = new Classic(m);else z = new Montgomery(m); + return this.exp(e, z); + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // protected + BigInteger.prototype.copyTo = bnpCopyTo; + BigInteger.prototype.fromInt = bnpFromInt; + BigInteger.prototype.fromString = bnpFromString; + BigInteger.prototype.clamp = bnpClamp; + BigInteger.prototype.dlShiftTo = bnpDLShiftTo; + BigInteger.prototype.drShiftTo = bnpDRShiftTo; + BigInteger.prototype.lShiftTo = bnpLShiftTo; + BigInteger.prototype.rShiftTo = bnpRShiftTo; + BigInteger.prototype.subTo = bnpSubTo; + BigInteger.prototype.multiplyTo = bnpMultiplyTo; + BigInteger.prototype.squareTo = bnpSquareTo; + BigInteger.prototype.divRemTo = bnpDivRemTo; + BigInteger.prototype.invDigit = bnpInvDigit; + BigInteger.prototype.isEven = bnpIsEven; + BigInteger.prototype.exp = bnpExp; -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; }; + // public + BigInteger.prototype.toString = bnToString; + BigInteger.prototype.negate = bnNegate; + BigInteger.prototype.abs = bnAbs; + BigInteger.prototype.compareTo = bnCompareTo; + BigInteger.prototype.bitLength = bnBitLength; + BigInteger.prototype.mod = bnMod; + BigInteger.prototype.modPowInt = bnModPowInt; -//! moment.js locale configuration -//! locale : Belarusian [be] -//! author : Dmitry Demidov : https://github.com/demidov91 -//! author: Praleska: http://praleska.pro/ -//! Author : Menelion Elensúle : https://github.com/Oire + // "constants" + BigInteger.ZERO = nbv(0); + BigInteger.ONE = nbv(1); -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // Copyright (c) 2005-2009 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; + // Extended JavaScript BN functions, required for RSA private ops. + + // Version 1.1: new BigInteger("0", 10) returns "proper" zero + // Version 1.2: square() API, isProbablePrime fix + + // (public) + function bnClone() { + var r = nbi();this.copyTo(r);return r; + } + + // (public) return value as integer + function bnIntValue() { + if (this.s < 0) { + if (this.t == 1) return this[0] - this.DV;else if (this.t == 0) return -1; + } else if (this.t == 1) return this[0];else if (this.t == 0) return 0; + // assumes 16 < DB < 32 + return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]; + } + + // (public) return value as byte + function bnByteValue() { + return this.t == 0 ? this.s : this[0] << 24 >> 24; + } + + // (public) return value as short (assumes DB>=16) + function bnShortValue() { + return this.t == 0 ? this.s : this[0] << 16 >> 16; + } + + // (protected) return x s.t. r^x < DV + function bnpChunkSize(r) { + return Math.floor(Math.LN2 * this.DB / Math.log(r)); + } + + // (public) 0 if this == 0, 1 if this > 0 + function bnSigNum() { + if (this.s < 0) return -1;else if (this.t <= 0 || this.t == 1 && this[0] <= 0) return 0;else return 1; + } + + // (protected) convert to radix string + function bnpToRadix(b) { + if (b == null) b = 10; + if (this.signum() == 0 || b < 2 || b > 36) return "0"; + var cs = this.chunkSize(b); + var a = Math.pow(b, cs); + var d = nbv(a), + y = nbi(), + z = nbi(), + r = ""; + this.divRemTo(d, y, z); + while (y.signum() > 0) { + r = (a + z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d, y, z); } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', - 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', - 'dd': 'дзень_дні_дзён', - 'MM': 'месяц_месяцы_месяцаў', - 'yy': 'год_гады_гадоў' - }; - if (key === 'm') { - return withoutSuffix ? 'хвіліна' : 'хвіліну'; - } else if (key === 'h') { - return withoutSuffix ? 'гадзіна' : 'гадзіну'; - } else { - return number + ' ' + plural(format[key], +number); - } + return z.intValue().toString(b) + r; + } + + // (protected) convert from radix string + function bnpFromRadix(s, b) { + this.fromInt(0); + if (b == null) b = 10; + var cs = this.chunkSize(b); + var d = Math.pow(b, cs), + mi = false, + j = 0, + w = 0; + for (var i = 0; i < s.length; ++i) { + var x = intAt(s, i); + if (x < 0) { + if (s.charAt(i) == "-" && this.signum() == 0) mi = true; + continue; + } + w = b * w + x; + if (++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w, 0); + j = 0; + w = 0; + } + } + if (j > 0) { + this.dMultiply(Math.pow(b, j)); + this.dAddOffset(w, 0); } + if (mi) BigInteger.ZERO.subTo(this, this); + } - var be = moment.defineLocale('be', { - months: { - format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'), - standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_') - }, - monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'), - weekdays: { - format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'), - standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'), - isFormat: /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/ - }, - weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., HH:mm', - LLLL: 'dddd, D MMMM YYYY г., HH:mm' - }, - calendar: { - sameDay: '[Сёння ў] LT', - nextDay: '[Заўтра ў] LT', - lastDay: '[Учора ў] LT', - nextWeek: function nextWeek() { - return '[У] dddd [ў] LT'; - }, - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return '[У мінулую] dddd [ў] LT'; - case 1: - case 2: - case 4: - return '[У мінулы] dddd [ў] LT'; - } - }, - sameElse: 'L' - }, - relativeTime: { - future: 'праз %s', - past: '%s таму', - s: 'некалькі секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: relativeTimeWithPlural, - hh: relativeTimeWithPlural, - d: 'дзень', - dd: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural - }, - meridiemParse: /ночы|раніцы|дня|вечара/, - isPM: function isPM(input) { - return (/^(дня|вечара)$/.test(input) - ); - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'ночы'; - } else if (hour < 12) { - return 'раніцы'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечара'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, - ordinal: function ordinal(number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? number + '-і' : number + '-ы'; - case 'D': - return number + '-га'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + // (protected) alternate constructor + function bnpFromNumber(a, b, c) { + if ("number" == typeof b) { + // new BigInteger(int,int,RNG) + if (a < 2) this.fromInt(1);else { + this.fromNumber(a, c); + if (!this.testBit(a - 1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this); + if (this.isEven()) this.dAddOffset(1, 0); // force odd + while (!this.isProbablePrime(b)) { + this.dAddOffset(2, 0); + if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this); } - }); - - return be; -}); - -/***/ }), -/* 80 */ -/***/ (function(module, exports, __webpack_require__) { + } + } else { + // new BigInteger(int,RNG) + var x = new Array(), + t = a & 7; + x.length = (a >> 3) + 1; + b.nextBytes(x); + if (t > 0) x[0] &= (1 << t) - 1;else x[0] = 0; + this.fromString(x, 256); + } + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // (public) convert to bigendian byte array + function bnToByteArray() { + var i = this.t, + r = new Array(); + r[0] = this.s; + var p = this.DB - i * this.DB % 8, + d, + k = 0; + if (i-- > 0) { + if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) r[k++] = d | this.s << this.DB - p; + while (i >= 0) { + if (p < 8) { + d = (this[i] & (1 << p) - 1) << 8 - p; + d |= this[--i] >> (p += this.DB - 8); + } else { + d = this[i] >> (p -= 8) & 0xff; + if (p <= 0) { + p += this.DB;--i; + } + } + if ((d & 0x80) != 0) d |= -256; + if (k == 0 && (this.s & 0x80) != (d & 0x80)) ++k; + if (k > 0 || d != this.s) r[k++] = d; + } + } + return r; + } -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; }; + function bnEquals(a) { + return this.compareTo(a) == 0; + } + function bnMin(a) { + return this.compareTo(a) < 0 ? this : a; + } + function bnMax(a) { + return this.compareTo(a) > 0 ? this : a; + } -//! moment.js locale configuration -//! locale : Bulgarian [bg] -//! author : Krasen Borisov : https://github.com/kraz + // (protected) r = this op a (bitwise) + function bnpBitwiseTo(a, op, r) { + var i, + f, + m = Math.min(a.t, this.t); + for (i = 0; i < m; ++i) { + r[i] = op(this[i], a[i]); + }if (a.t < this.t) { + f = a.s & this.DM; + for (i = m; i < this.t; ++i) { + r[i] = op(this[i], f); + }r.t = this.t; + } else { + f = this.s & this.DM; + for (i = m; i < a.t; ++i) { + r[i] = op(f, a[i]); + }r.t = a.t; + } + r.s = op(this.s, a.s); + r.clamp(); + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // (public) this & a + function op_and(x, y) { + return x & y; + } + function bnAnd(a) { + var r = nbi();this.bitwiseTo(a, op_and, r);return r; + } - var bg = moment.defineLocale('bg', { - months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'), - monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'), - weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm' - }, - calendar: { - sameDay: '[Днес в] LT', - nextDay: '[Утре в] LT', - nextWeek: 'dddd [в] LT', - lastDay: '[Вчера в] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[В изминалата] dddd [в] LT'; - case 1: - case 2: - case 4: - case 5: - return '[В изминалия] dddd [в] LT'; - } - }, - sameElse: 'L' - }, - relativeTime: { - future: 'след %s', - past: 'преди %s', - s: 'няколко секунди', - m: 'минута', - mm: '%d минути', - h: 'час', - hh: '%d часа', - d: 'ден', - dd: '%d дни', - M: 'месец', - MM: '%d месеца', - y: 'година', - yy: '%d години' - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function ordinal(number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. - } - }); + // (public) this | a + function op_or(x, y) { + return x | y; + } + function bnOr(a) { + var r = nbi();this.bitwiseTo(a, op_or, r);return r; + } - return bg; -}); + // (public) this ^ a + function op_xor(x, y) { + return x ^ y; + } + function bnXor(a) { + var r = nbi();this.bitwiseTo(a, op_xor, r);return r; + } -/***/ }), -/* 81 */ -/***/ (function(module, exports, __webpack_require__) { + // (public) this & ~a + function op_andnot(x, y) { + return x & ~y; + } + function bnAndNot(a) { + var r = nbi();this.bitwiseTo(a, op_andnot, r);return r; + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // (public) ~this + function bnNot() { + var r = nbi(); + for (var i = 0; i < this.t; ++i) { + r[i] = this.DM & ~this[i]; + }r.t = this.t; + r.s = ~this.s; + return r; + } -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; }; + // (public) this << n + function bnShiftLeft(n) { + var r = nbi(); + if (n < 0) this.rShiftTo(-n, r);else this.lShiftTo(n, r); + return r; + } -//! moment.js locale configuration -//! locale : Bengali [bn] -//! author : Kaushik Gandhi : https://github.com/kaushikgandhi + // (public) this >> n + function bnShiftRight(n) { + var r = nbi(); + if (n < 0) this.lShiftTo(-n, r);else this.rShiftTo(n, r); + return r; + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // return index of lowest 1-bit in x, x < 2^31 + function lbit(x) { + if (x == 0) return -1; + var r = 0; + if ((x & 0xffff) == 0) { + x >>= 16;r += 16; + } + if ((x & 0xff) == 0) { + x >>= 8;r += 8; + } + if ((x & 0xf) == 0) { + x >>= 4;r += 4; + } + if ((x & 3) == 0) { + x >>= 2;r += 2; + } + if ((x & 1) == 0) ++r; + return r; + } - var symbolMap = { - '1': '১', - '2': '২', - '3': '৩', - '4': '৪', - '5': '৫', - '6': '৬', - '7': '৭', - '8': '৮', - '9': '৯', - '0': '০' - }; - var numberMap = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0' - }; + // (public) returns index of lowest 1-bit (or -1 if none) + function bnGetLowestSetBit() { + for (var i = 0; i < this.t; ++i) { + if (this[i] != 0) return i * this.DB + lbit(this[i]); + }if (this.s < 0) return this.t * this.DB; + return -1; + } - var bn = moment.defineLocale('bn', { - months: 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'), - monthsShort: 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর' - }, - preparse: function preparse(string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 10) { - return 'সকাল'; - } else if (hour < 17) { - return 'দুপুর'; - } else if (hour < 20) { - return 'বিকাল'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. - } - }); + // return number of 1 bits in x + function cbit(x) { + var r = 0; + while (x != 0) { + x &= x - 1;++r; + } + return r; + } - return bn; -}); + // (public) return number of set bits + function bnBitCount() { + var r = 0, + x = this.s & this.DM; + for (var i = 0; i < this.t; ++i) { + r += cbit(this[i] ^ x); + }return r; + } -/***/ }), -/* 82 */ -/***/ (function(module, exports, __webpack_require__) { + // (public) true iff nth bit is set + function bnTestBit(n) { + var j = Math.floor(n / this.DB); + if (j >= this.t) return this.s != 0; + return (this[j] & 1 << n % this.DB) != 0; + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // (protected) this op (1<>= this.DB; + } + if (a.t < this.t) { + c += a.s; + while (i < this.t) { + c += this[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += this.s; + } else { + c += this.s; + while (i < a.t) { + c += a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += a.s; + } + r.s = c < 0 ? -1 : 0; + if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c; + r.t = i; + r.clamp(); + } - var bo = moment.defineLocale('bo', { - months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), - monthsShort: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), - weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'), - weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), - weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm' - }, - calendar: { - sameDay: '[དི་རིང] LT', - nextDay: '[སང་ཉིན] LT', - nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', - lastDay: '[ཁ་སང] LT', - lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s ལ་', - past: '%s སྔན་ལ', - s: 'ལམ་སང', - m: 'སྐར་མ་གཅིག', - mm: '%d སྐར་མ', - h: 'ཆུ་ཚོད་གཅིག', - hh: '%d ཆུ་ཚོད', - d: 'ཉིན་གཅིག', - dd: '%d ཉིན་', - M: 'ཟླ་བ་གཅིག', - MM: '%d ཟླ་བ', - y: 'ལོ་གཅིག', - yy: '%d ལོ' - }, - preparse: function preparse(string) { - return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'མཚན་མོ'; - } else if (hour < 10) { - return 'ཞོགས་ཀས'; - } else if (hour < 17) { - return 'ཉིན་གུང'; - } else if (hour < 20) { - return 'དགོང་དག'; - } else { - return 'མཚན་མོ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. - } - }); + // (public) this + a + function bnAdd(a) { + var r = nbi();this.addTo(a, r);return r; + } - return bo; -}); + // (public) this - a + function bnSubtract(a) { + var r = nbi();this.subTo(a, r);return r; + } -/***/ }), -/* 83 */ -/***/ (function(module, exports, __webpack_require__) { + // (public) this * a + function bnMultiply(a) { + var r = nbi();this.multiplyTo(a, r);return r; + } -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // (public) this^2 + function bnSquare() { + var r = nbi();this.squareTo(r);return r; + } -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; }; + // (public) this / a + function bnDivide(a) { + var r = nbi();this.divRemTo(a, r, null);return r; + } -//! moment.js locale configuration -//! locale : Breton [br] -//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou + // (public) this % a + function bnRemainder(a) { + var r = nbi();this.divRemTo(a, null, r);return r; + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // (public) [this/a,this%a] + function bnDivideAndRemainder(a) { + var q = nbi(), + r = nbi(); + this.divRemTo(a, q, r); + return new Array(q, r); + } - function relativeTimeWithMutation(number, withoutSuffix, key) { - var format = { - 'mm': 'munutenn', - 'MM': 'miz', - 'dd': 'devezh' - }; - return number + ' ' + mutation(format[key], number); - } - function specialMutationForYears(number) { - switch (lastNumber(number)) { - case 1: - case 3: - case 4: - case 5: - case 9: - return number + ' bloaz'; - default: - return number + ' vloaz'; - } + // (protected) this *= n, this >= 0, 1 < n < DV + function bnpDMultiply(n) { + this[this.t] = this.am(0, n - 1, this, 0, 0, this.t); + ++this.t; + this.clamp(); + } + + // (protected) this += n << w words, this >= 0 + function bnpDAddOffset(n, w) { + if (n == 0) return; + while (this.t <= w) { + this[this.t++] = 0; + }this[w] += n; + while (this[w] >= this.DV) { + this[w] -= this.DV; + if (++w >= this.t) this[this.t++] = 0; + ++this[w]; } - function lastNumber(number) { - if (number > 9) { - return lastNumber(number % 10); - } - return number; + } + + // A "null" reducer + function NullExp() {} + function nNop(x) { + return x; + } + function nMulTo(x, y, r) { + x.multiplyTo(y, r); + } + function nSqrTo(x, r) { + x.squareTo(r); + } + + NullExp.prototype.convert = nNop; + NullExp.prototype.revert = nNop; + NullExp.prototype.mulTo = nMulTo; + NullExp.prototype.sqrTo = nSqrTo; + + // (public) this^e + function bnPow(e) { + return this.exp(e, new NullExp()); + } + + // (protected) r = lower n words of "this * a", a.t <= n + // "this" should be the larger one if appropriate. + function bnpMultiplyLowerTo(a, n, r) { + var i = Math.min(this.t + a.t, n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while (i > 0) { + r[--i] = 0; + }var j; + for (j = r.t - this.t; i < j; ++i) { + r[i + this.t] = this.am(0, a[i], r, i, 0, this.t); + }for (j = Math.min(a.t, n); i < j; ++i) { + this.am(0, a[i], r, i, 0, n - i); + }r.clamp(); + } + + // (protected) r = "this * a" without lower n words, n > 0 + // "this" should be the larger one if appropriate. + function bnpMultiplyUpperTo(a, n, r) { + --n; + var i = r.t = this.t + a.t - n; + r.s = 0; // assumes a,this >= 0 + while (--i >= 0) { + r[i] = 0; + }for (i = Math.max(n - this.t, 0); i < a.t; ++i) { + r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n); + }r.clamp(); + r.drShiftTo(1, r); + } + + // Barrett modular reduction + function Barrett(m) { + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2 * m.t, this.r2); + this.mu = this.r2.divide(m); + this.m = m; + } + + function barrettConvert(x) { + if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);else if (x.compareTo(this.m) < 0) return x;else { + var r = nbi();x.copyTo(r);this.reduce(r);return r; } - function mutation(text, number) { - if (number === 2) { - return softMutation(text); - } - return text; + } + + function barrettRevert(x) { + return x; + } + + // x = x mod m (HAC 14.42) + function barrettReduce(x) { + x.drShiftTo(this.m.t - 1, this.r2); + if (x.t > this.m.t + 1) { + x.t = this.m.t + 1;x.clamp(); } - function softMutation(text) { - var mutationTable = { - 'm': 'v', - 'b': 'v', - 'd': 'z' - }; - if (mutationTable[text.charAt(0)] === undefined) { - return text; - } - return mutationTable[text.charAt(0)] + text.substring(1); + this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3); + this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); + while (x.compareTo(this.r2) < 0) { + x.dAddOffset(1, this.m.t + 1); + }x.subTo(this.r2, x); + while (x.compareTo(this.m) >= 0) { + x.subTo(this.m, x); } + } - var br = moment.defineLocale('br', { - months: 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), - monthsShort: 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), - weekdays: 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), - weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h[e]mm A', - LTS: 'h[e]mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D [a viz] MMMM YYYY', - LLL: 'D [a viz] MMMM YYYY h[e]mm A', - LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A' - }, - calendar: { - sameDay: '[Hiziv da] LT', - nextDay: '[Warc\'hoazh da] LT', - nextWeek: 'dddd [da] LT', - lastDay: '[Dec\'h da] LT', - lastWeek: 'dddd [paset da] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'a-benn %s', - past: '%s \'zo', - s: 'un nebeud segondennoù', - m: 'ur vunutenn', - mm: relativeTimeWithMutation, - h: 'un eur', - hh: '%d eur', - d: 'un devezh', - dd: relativeTimeWithMutation, - M: 'ur miz', - MM: relativeTimeWithMutation, - y: 'ur bloaz', - yy: specialMutationForYears - }, - dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, - ordinal: function ordinal(number) { - var output = number === 1 ? 'añ' : 'vet'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); + // r = x^2 mod m; x != r + function barrettSqrTo(x, r) { + x.squareTo(r);this.reduce(r); + } - return br; -}); + // r = x*y mod m; x,y != r + function barrettMulTo(x, y, r) { + x.multiplyTo(y, r);this.reduce(r); + } -/***/ }), -/* 84 */ -/***/ (function(module, exports, __webpack_require__) { + Barrett.prototype.convert = barrettConvert; + Barrett.prototype.revert = barrettRevert; + Barrett.prototype.reduce = barrettReduce; + Barrett.prototype.mulTo = barrettMulTo; + Barrett.prototype.sqrTo = barrettSqrTo; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // (public) this^e % m (HAC 14.85) + function bnModPow(e, m) { + var i = e.bitLength(), + k, + r = nbv(1), + z; + if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6; + if (i < 8) z = new Classic(m);else if (m.isEven()) z = new Barrett(m);else z = new Montgomery(m); -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; }; + // precomputation + var g = new Array(), + n = 3, + k1 = k - 1, + km = (1 << k) - 1; + g[1] = z.convert(this); + if (k > 1) { + var g2 = nbi(); + z.sqrTo(g[1], g2); + while (n <= km) { + g[n] = nbi(); + z.mulTo(g2, g[n - 2], g[n]); + n += 2; + } + } -//! moment.js locale configuration -//! locale : Bosnian [bs] -//! author : Nedim Cholich : https://github.com/frontyard -//! based on (hr) translation by Bojan Marković + var j = e.t - 1, + w, + is1 = true, + r2 = nbi(), + t; + i = nbits(e[j]) - 1; + while (j >= 0) { + if (i >= k1) w = e[j] >> i - k1 & km;else { + w = (e[j] & (1 << i + 1) - 1) << k1 - i; + if (j > 0) w |= e[j - 1] >> this.DB + i - k1; + } -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + n = k; + while ((w & 1) == 0) { + w >>= 1;--n; + } + if ((i -= n) < 0) { + i += this.DB;--j; + } + if (is1) { + // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } else { + while (n > 1) { + z.sqrTo(r, r2);z.sqrTo(r2, r);n -= 2; + } + if (n > 0) z.sqrTo(r, r2);else { + t = r;r = r2;r2 = t; + } + z.mulTo(r2, g[w], r); + } - function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; + while (j >= 0 && (e[j] & 1 << i) == 0) { + z.sqrTo(r, r2);t = r;r = r2;r2 = t; + if (--i < 0) { + i = this.DB - 1;--j; } + } } + return z.revert(r); + } - var bs = moment.defineLocale('bs', { - months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm' - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function nextWeek() { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - case 3: - return '[prošlu] dddd [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L' - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + // (public) gcd(this,a) (HAC 14.54) + function bnGCD(a) { + var x = this.s < 0 ? this.negate() : this.clone(); + var y = a.s < 0 ? a.negate() : a.clone(); + if (x.compareTo(y) < 0) { + var t = x;x = y;y = t; + } + var i = x.getLowestSetBit(), + g = y.getLowestSetBit(); + if (g < 0) return x; + if (i < g) g = i; + if (g > 0) { + x.rShiftTo(g, x); + y.rShiftTo(g, y); + } + while (x.signum() > 0) { + if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x); + if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y); + if (x.compareTo(y) >= 0) { + x.subTo(y, x); + x.rShiftTo(1, x); + } else { + y.subTo(x, y); + y.rShiftTo(1, y); + } + } + if (g > 0) y.lShiftTo(g, y); + return y; + } + + // (protected) this % n, n < 2^26 + function bnpModInt(n) { + if (n <= 0) return 0; + var d = this.DV % n, + r = this.s < 0 ? n - 1 : 0; + if (this.t > 0) if (d == 0) r = this[0] % n;else for (var i = this.t - 1; i >= 0; --i) { + r = (d * r + this[i]) % n; + }return r; + } + + // (public) 1/this % m (HAC 14.61) + function bnModInverse(m) { + var ac = m.isEven(); + if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO; + var u = m.clone(), + v = this.clone(); + var a = nbv(1), + b = nbv(0), + c = nbv(0), + d = nbv(1); + while (u.signum() != 0) { + while (u.isEven()) { + u.rShiftTo(1, u); + if (ac) { + if (!a.isEven() || !b.isEven()) { + a.addTo(this, a);b.subTo(m, b); + } + a.rShiftTo(1, a); + } else if (!b.isEven()) b.subTo(m, b); + b.rShiftTo(1, b); + } + while (v.isEven()) { + v.rShiftTo(1, v); + if (ac) { + if (!c.isEven() || !d.isEven()) { + c.addTo(this, c);d.subTo(m, d); + } + c.rShiftTo(1, c); + } else if (!d.isEven()) d.subTo(m, d); + d.rShiftTo(1, d); + } + if (u.compareTo(v) >= 0) { + u.subTo(v, u); + if (ac) a.subTo(c, a); + b.subTo(d, b); + } else { + v.subTo(u, v); + if (ac) c.subTo(a, c); + d.subTo(b, d); + } + } + if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; + if (d.compareTo(m) >= 0) return d.subtract(m); + if (d.signum() < 0) d.addTo(m, d);else return d; + if (d.signum() < 0) return d.add(m);else return d; + } + + var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]; + var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]; + + // (public) test primality with certainty >= 1-.5^t + function bnIsProbablePrime(t) { + var i, + x = this.abs(); + if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) { + for (i = 0; i < lowprimes.length; ++i) { + if (x[0] == lowprimes[i]) return true; + }return false; + } + if (x.isEven()) return false; + i = 1; + while (i < lowprimes.length) { + var m = lowprimes[i], + j = i + 1; + while (j < lowprimes.length && m < lplim) { + m *= lowprimes[j++]; + }m = x.modInt(m); + while (i < j) { + if (m % lowprimes[i++] == 0) return false; + } + } + return x.millerRabin(t); + } + + // (protected) true if probably prime (HAC 4.24, Miller-Rabin) + function bnpMillerRabin(t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if (k <= 0) return false; + var r = n1.shiftRight(k); + t = t + 1 >> 1; + if (t > lowprimes.length) t = lowprimes.length; + var a = nbi(); + for (var i = 0; i < t; ++i) { + //Pick bases at random, instead of starting at 2 + a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]); + var y = a.modPow(r, this); + if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while (j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2, this); + if (y.compareTo(BigInteger.ONE) == 0) return false; } - }); + if (y.compareTo(n1) != 0) return false; + } + } + return true; + } - return bs; -}); + // protected + BigInteger.prototype.chunkSize = bnpChunkSize; + BigInteger.prototype.toRadix = bnpToRadix; + BigInteger.prototype.fromRadix = bnpFromRadix; + BigInteger.prototype.fromNumber = bnpFromNumber; + BigInteger.prototype.bitwiseTo = bnpBitwiseTo; + BigInteger.prototype.changeBit = bnpChangeBit; + BigInteger.prototype.addTo = bnpAddTo; + BigInteger.prototype.dMultiply = bnpDMultiply; + BigInteger.prototype.dAddOffset = bnpDAddOffset; + BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; + BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; + BigInteger.prototype.modInt = bnpModInt; + BigInteger.prototype.millerRabin = bnpMillerRabin; -/***/ }), -/* 85 */ -/***/ (function(module, exports, __webpack_require__) { + // public + BigInteger.prototype.clone = bnClone; + BigInteger.prototype.intValue = bnIntValue; + BigInteger.prototype.byteValue = bnByteValue; + BigInteger.prototype.shortValue = bnShortValue; + BigInteger.prototype.signum = bnSigNum; + BigInteger.prototype.toByteArray = bnToByteArray; + BigInteger.prototype.equals = bnEquals; + BigInteger.prototype.min = bnMin; + BigInteger.prototype.max = bnMax; + BigInteger.prototype.and = bnAnd; + BigInteger.prototype.or = bnOr; + BigInteger.prototype.xor = bnXor; + BigInteger.prototype.andNot = bnAndNot; + BigInteger.prototype.not = bnNot; + BigInteger.prototype.shiftLeft = bnShiftLeft; + BigInteger.prototype.shiftRight = bnShiftRight; + BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; + BigInteger.prototype.bitCount = bnBitCount; + BigInteger.prototype.testBit = bnTestBit; + BigInteger.prototype.setBit = bnSetBit; + BigInteger.prototype.clearBit = bnClearBit; + BigInteger.prototype.flipBit = bnFlipBit; + BigInteger.prototype.add = bnAdd; + BigInteger.prototype.subtract = bnSubtract; + BigInteger.prototype.multiply = bnMultiply; + BigInteger.prototype.divide = bnDivide; + BigInteger.prototype.remainder = bnRemainder; + BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; + BigInteger.prototype.modPow = bnModPow; + BigInteger.prototype.modInverse = bnModInverse; + BigInteger.prototype.pow = bnPow; + BigInteger.prototype.gcd = bnGCD; + BigInteger.prototype.isProbablePrime = bnIsProbablePrime; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + // JSBN-specific extension + BigInteger.prototype.square = bnSquare; -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; }; + // Expose the Barrett function + BigInteger.prototype.Barrett = Barrett; -//! moment.js locale configuration -//! locale : Catalan [ca] -//! author : Juan G. Hurtado : https://github.com/juanghurtado + // BigInteger interfaces not implemented in jsbn: -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + // BigInteger(int signum, byte[] magnitude) + // double doubleValue() + // float floatValue() + // int hashCode() + // long longValue() + // static BigInteger valueOf(long val) - var ca = moment.defineLocale('ca', { - months: { - standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), - format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'), - isFormat: /D[oD]?(\s)+MMMM/ - }, - monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), - monthsParseExact: true, - weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), - weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: '[el] D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: '[el] D MMMM [de] YYYY [a les] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: '[el] dddd D MMMM [de] YYYY [a les] H:mm', - llll: 'ddd D MMM YYYY, H:mm' - }, - calendar: { - sameDay: function sameDay() { - return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextDay: function nextDay() { - return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextWeek: function nextWeek() { - return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastDay: function lastDay() { - return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastWeek: function lastWeek() { - return '[el] dddd [passat a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - sameElse: 'L' - }, - relativeTime: { - future: 'd\'aquí %s', - past: 'fa %s', - s: 'uns segons', - m: 'un minut', - mm: '%d minuts', - h: 'una hora', - hh: '%d hores', - d: 'un dia', - dd: '%d dies', - M: 'un mes', - MM: '%d mesos', - y: 'un any', - yy: '%d anys' - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function ordinal(number, period) { - var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + // Random number generator - requires a PRNG backend, e.g. prng4.js + + // For best results, put code like + // + // in your main HTML document. + + var rng_state; + var rng_pool; + var rng_pptr; + + // Mix in a 32-bit integer into the pool + function rng_seed_int(x) { + rng_pool[rng_pptr++] ^= x & 255; + rng_pool[rng_pptr++] ^= x >> 8 & 255; + rng_pool[rng_pptr++] ^= x >> 16 & 255; + rng_pool[rng_pptr++] ^= x >> 24 & 255; + if (rng_pptr >= rng_psize) rng_pptr -= rng_psize; + } + + // Mix in the current time (w/milliseconds) into the pool + function rng_seed_time() { + rng_seed_int(new Date().getTime()); + } + + // Initialize the pool with junk if needed. + if (rng_pool == null) { + rng_pool = new Array(); + rng_pptr = 0; + var t; + if (typeof window !== "undefined" && window.crypto) { + if (window.crypto.getRandomValues) { + // Use webcrypto if available + var ua = new Uint8Array(32); + window.crypto.getRandomValues(ua); + for (t = 0; t < 32; ++t) { + rng_pool[rng_pptr++] = ua[t]; } - }); + } else if (navigator.appName == "Netscape" && navigator.appVersion < "5") { + // Extract entropy (256 bits) from NS4 RNG if available + var z = window.crypto.random(32); + for (t = 0; t < z.length; ++t) { + rng_pool[rng_pptr++] = z.charCodeAt(t) & 255; + } + } + } + while (rng_pptr < rng_psize) { + // extract some randomness from Math.random() + t = Math.floor(65536 * Math.random()); + rng_pool[rng_pptr++] = t >>> 8; + rng_pool[rng_pptr++] = t & 255; + } + rng_pptr = 0; + rng_seed_time(); + //rng_seed_int(window.screenX); + //rng_seed_int(window.screenY); + } - return ca; -}); + function rng_get_byte() { + if (rng_state == null) { + rng_seed_time(); + rng_state = prng_newstate(); + rng_state.init(rng_pool); + for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) { + rng_pool[rng_pptr] = 0; + }rng_pptr = 0; + //rng_pool = null; + } + // TODO: allow reseeding after first request + return rng_state.next(); + } + + function rng_get_bytes(ba) { + var i; + for (i = 0; i < ba.length; ++i) { + ba[i] = rng_get_byte(); + } + } + + function SecureRandom() {} + + SecureRandom.prototype.nextBytes = rng_get_bytes; + + // prng4.js - uses Arcfour as a PRNG + + function Arcfour() { + this.i = 0; + this.j = 0; + this.S = new Array(); + } + + // Initialize arcfour context from key, an array of ints, each from [0..255] + function ARC4init(key) { + var i, j, t; + for (i = 0; i < 256; ++i) { + this.S[i] = i; + }j = 0; + for (i = 0; i < 256; ++i) { + j = j + this.S[i] + key[i % key.length] & 255; + t = this.S[i]; + this.S[i] = this.S[j]; + this.S[j] = t; + } + this.i = 0; + this.j = 0; + } + + function ARC4next() { + var t; + this.i = this.i + 1 & 255; + this.j = this.j + this.S[this.i] & 255; + t = this.S[this.i]; + this.S[this.i] = this.S[this.j]; + this.S[this.j] = t; + return this.S[t + this.S[this.i] & 255]; + } + + Arcfour.prototype.init = ARC4init; + Arcfour.prototype.next = ARC4next; + + // Plug in your RNG constructor here + function prng_newstate() { + return new Arcfour(); + } + + // Pool size must be a multiple of 4 and greater than 32. + // An array of bytes the size of the pool will be passed to init() + var rng_psize = 256; + + if (true) { + exports = module.exports = { + BigInteger: BigInteger, + SecureRandom: SecureRandom + }; + } else { + this.BigInteger = BigInteger; + this.SecureRandom = SecureRandom; + } +}).call(undefined); /***/ }), -/* 86 */ +/* 68 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + 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; }; -//! moment.js locale configuration -//! locale : Czech [cs] -//! author : petrbela : https://github.com/petrbela +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; - var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'); - var monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'); - function plural(n) { - return n > 1 && n < 5 && ~~(n / 10) !== 1; - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; - case 'm': - // a minute / in a minute / a minute ago - return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; - case 'mm': - // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minuty' : 'minut'); - } else { - return result + 'minutami'; - } - break; - case 'h': - // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': - // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodin'); - } else { - return result + 'hodinami'; - } - break; - case 'd': - // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'den' : 'dnem'; - case 'dd': - // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dny' : 'dní'); - } else { - return result + 'dny'; - } - break; - case 'M': - // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; - case 'MM': - // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'měsíce' : 'měsíců'); - } else { - return result + 'měsíci'; - } - break; - case 'y': - // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokem'; - case 'yy': - // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'let'); - } else { - return result + 'lety'; - } - break; - } - } +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; - var cs = moment.defineLocale('cs', { - months: months, - monthsShort: monthsShort, - monthsParse: function (months, monthsShort) { - var i, - _monthsParse = []; - for (i = 0; i < 12; i++) { - // use custom parser to solve problem with July (červenec) - _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i'); - } - return _monthsParse; - }(months, monthsShort), - shortMonthsParse: function (monthsShort) { - var i, - _shortMonthsParse = []; - for (i = 0; i < 12; i++) { - _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i'); - } - return _shortMonthsParse; - }(monthsShort), - longMonthsParse: function (months) { - var i, - _longMonthsParse = []; - for (i = 0; i < 12; i++) { - _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i'); - } - return _longMonthsParse; - }(months), - weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), - weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), - weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - l: 'D. M. YYYY' - }, - calendar: { - sameDay: '[dnes v] LT', - nextDay: '[zítra v] LT', - nextWeek: function nextWeek() { - switch (this.day()) { - case 0: - return '[v neděli v] LT'; - case 1: - case 2: - return '[v] dddd [v] LT'; - case 3: - return '[ve středu v] LT'; - case 4: - return '[ve čtvrtek v] LT'; - case 5: - return '[v pátek v] LT'; - case 6: - return '[v sobotu v] LT'; - } - }, - lastDay: '[včera v] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - return '[minulou neděli v] LT'; - case 1: - case 2: - return '[minulé] dddd [v] LT'; - case 3: - return '[minulou středu v] LT'; - case 4: - case 5: - return '[minulý] dddd [v] LT'; - case 6: - return '[minulou sobotu v] LT'; - } - }, - sameElse: 'L' - }, - relativeTime: { - future: 'za %s', - past: 'před %s', - s: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; - return cs; -}); +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; -/***/ }), -/* 87 */ -/***/ (function(module, exports, __webpack_require__) { +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; -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; }; +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23', + rsComboSymbolsRange = '\\u20d0-\\u20f0', + rsVarRange = '\\ufe0e\\ufe0f'; -//! moment.js locale configuration -//! locale : Chuvash [cv] -//! author : Anatoly Mironov : https://github.com/mirontoli +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - var cv = moment.defineLocale('cv', { - months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), - monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), - weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'), - weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), - weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', - LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' - }, - calendar: { - sameDay: '[Паян] LT [сехетре]', - nextDay: '[Ыран] LT [сехетре]', - lastDay: '[Ӗнер] LT [сехетре]', - nextWeek: '[Ҫитес] dddd LT [сехетре]', - lastWeek: '[Иртнӗ] dddd LT [сехетре]', - sameElse: 'L' - }, - relativeTime: { - future: function future(output) { - var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; - return output + affix; - }, - past: '%s каялла', - s: 'пӗр-ик ҫеккунт', - m: 'пӗр минут', - mm: '%d минут', - h: 'пӗр сехет', - hh: '%d сехет', - d: 'пӗр кун', - dd: '%d кун', - M: 'пӗр уйӑх', - MM: '%d уйӑх', - y: 'пӗр ҫул', - yy: '%d ҫул' - }, - dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, - ordinal: '%d-мӗш', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. - } - }); +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - return cv; -}); +/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ +var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']'); -/***/ }), -/* 88 */ -/***/ (function(module, exports, __webpack_require__) { +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** Detect free variable `global` from Node.js. */ +var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global; -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; }; +/** Detect free variable `self`. */ +var freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self; -//! moment.js locale configuration -//! locale : Welsh [cy] -//! author : Robert Allen : https://github.com/robgallen -//! author : https://github.com/ryangreaves +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +var asciiSize = baseProperty('length'); - var cy = moment.defineLocale('cy', { - months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), - monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), - weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), - weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), - weekdaysParseExact: true, - // time formats are the same as en-gb - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Heddiw am] LT', - nextDay: '[Yfory am] LT', - nextWeek: 'dddd [am] LT', - lastDay: '[Ddoe am] LT', - lastWeek: 'dddd [diwethaf am] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'mewn %s', - past: '%s yn ôl', - s: 'ychydig eiliadau', - m: 'munud', - mm: '%d munud', - h: 'awr', - hh: '%d awr', - d: 'diwrnod', - dd: '%d diwrnod', - M: 'mis', - MM: '%d mis', - y: 'blwyddyn', - yy: '%d flynedd' - }, - dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, - // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh - ordinal: function ordinal(number) { - var b = number, - output = '', - lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed - 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed - ]; - if (b > 20) { - if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { - output = 'fed'; // not 30ain, 70ain or 90ain - } else { - output = 'ain'; - } - } else if (b > 0) { - output = lookup[b]; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); +/** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function asciiToArray(string) { + return string.split(''); +} - return cy; -}); +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function (object) { + return object == null ? undefined : object[key]; + }; +} -/***/ }), -/* 89 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ +function hasUnicode(string) { + return reHasUnicode.test(string); +} -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ +function stringSize(string) { + return hasUnicode(string) ? unicodeSize(string) : asciiSize(string); +} -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; }; +/** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function stringToArray(string) { + return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); +} -//! moment.js locale configuration -//! locale : Danish [da] -//! author : Ulrik Nielsen : https://github.com/mrbase +/** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + result++; + } + return result; +} -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function unicodeToArray(string) { + return string.match(reUnicode) || []; +} - var da = moment.defineLocale('da', { - months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'på dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[i] dddd[s kl.] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'få sekunder', - m: 'et minut', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dage', - M: 'en måned', - MM: '%d måneder', - y: 'et år', - yy: '%d år' - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); +/** Used for built-in method references. */ +var objectProto = Object.prototype; - return da; -}); - -/***/ }), -/* 90 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; -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; }; +/** Built-in value references. */ +var _Symbol = root.Symbol; -//! moment.js locale configuration -//! locale : German (Austria) [de-at] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Martin Groller : https://github.com/MadMG -//! author : Mikolaj Dadela : https://github.com/mik01aj +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeFloor = Math.floor; -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol ? _Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - 'm': ['eine Minute', 'einer Minute'], - 'h': ['eine Stunde', 'einer Stunde'], - 'd': ['ein Tag', 'einem Tag'], - 'dd': [number + ' Tage', number + ' Tagen'], - 'M': ['ein Monat', 'einem Monat'], - 'MM': [number + ' Monate', number + ' Monaten'], - 'y': ['ein Jahr', 'einem Jahr'], - 'yy': [number + ' Jahre', number + ' Jahren'] - }; - return withoutSuffix ? format[key][0] : format[key][1]; +/** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ +function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; } + } while (n); - var deAt = moment.defineLocale('de-at', { - months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), - monthsShort: 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]' - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); + return result; +} - return deAt; -}); +/** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function baseSlice(array, start, end) { + var index = -1, + length = array.length; -/***/ }), -/* 91 */ -/***/ (function(module, exports, __webpack_require__) { + if (start < 0) { + start = -start > length ? 0 : length + start; + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : end - start >>> 0; + start >>>= 0; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} -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; }; +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = value + ''; + return result == '0' && 1 / value == -INFINITY ? '-0' : result; +} -//! moment.js locale configuration -//! locale : German (Switzerland) [de-ch] -//! author : sschueller : https://github.com/sschueller +/** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ +function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return !start && end >= length ? array : baseSlice(array, start, end); +} -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ +function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); - // based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de# + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) ? castSlice(stringToArray(result), 0, length).join('') : result.slice(0, length); +} - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - 'm': ['eine Minute', 'einer Minute'], - 'h': ['eine Stunde', 'einer Stunde'], - 'd': ['ein Tag', 'einem Tag'], - 'dd': [number + ' Tage', number + ' Tagen'], - 'M': ['ein Monat', 'einem Monat'], - 'MM': [number + ' Monate', number + ' Monaten'], - 'y': ['ein Jahr', 'einem Jahr'], - 'yy': [number + ' Jahre', number + ' Jahren'] - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value === 'undefined' ? 'undefined' : _typeof(value); + return !!value && (type == 'object' || type == 'function'); +} - var deCh = moment.defineLocale('de-ch', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), - monthsShort: 'Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.'.split('_'), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), - weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH.mm', - LLLL: 'dddd, D. MMMM YYYY HH.mm' - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]' - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object'; +} - return deCh; -}); +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag; +} -/***/ }), -/* 92 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = value < 0 ? -1 : 1; + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; -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; }; + return result === result ? remainder ? result - remainder : result : 0; +} -//! moment.js locale configuration -//! locale : German [de] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Mikolaj Dadela : https://github.com/mik01aj +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? other + '' : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; +} -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - 'm': ['eine Minute', 'einer Minute'], - 'h': ['eine Stunde', 'einer Stunde'], - 'd': ['ein Tag', 'einem Tag'], - 'dd': [number + ' Tage', number + ' Tagen'], - 'M': ['ein Monat', 'einem Monat'], - 'MM': [number + ' Monate', number + ' Monaten'], - 'y': ['ein Jahr', 'einem Jahr'], - 'yy': [number + ' Jahre', number + ' Jahren'] - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } +/** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ +function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); - var de = moment.defineLocale('de', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), - monthsShort: 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]' - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); + var strLength = length ? stringSize(string) : 0; + return length && strLength < length ? createPadding(length - strLength, chars) + string : string; +} - return de; -}); +module.exports = padStart; /***/ }), -/* 93 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Maldivian [dv] -//! author : Jawish Hameed : https://github.com/jawish -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - var months = ['ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު']; - var weekdays = ['އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު']; +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 dv = moment.defineLocale('dv', { - months: months, - monthsShort: months, - weekdays: weekdays, - weekdaysShort: weekdays, - weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), - longDateFormat: { +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/M/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - meridiemParse: /މކ|މފ/, - isPM: function isPM(input) { - return 'މފ' === input; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'މކ'; - } else { - return 'މފ'; - } - }, - calendar: { - sameDay: '[މިއަދު] LT', - nextDay: '[މާދަމާ] LT', - nextWeek: 'dddd LT', - lastDay: '[އިއްޔެ] LT', - lastWeek: '[ފާއިތުވި] dddd LT', - sameElse: 'L' - }, - relativeTime: { - future: 'ތެރޭގައި %s', - past: 'ކުރިން %s', - s: 'ސިކުންތުކޮޅެއް', - m: 'މިނިޓެއް', - mm: 'މިނިޓު %d', - h: 'ގަޑިއިރެއް', - hh: 'ގަޑިއިރު %d', - d: 'ދުވަހެއް', - dd: 'ދުވަސް %d', - M: 'މަހެއް', - MM: 'މަސް %d', - y: 'އަހަރެއް', - yy: 'އަހަރު %d' - }, - preparse: function preparse(string) { - return string.replace(/،/g, ','); - }, - postformat: function postformat(string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 7, // Sunday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. - } - }); +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; - return dv; -}); +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + symbolTag = '[object Symbol]'; -/***/ }), -/* 94 */ -/***/ (function(module, exports, __webpack_require__) { +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; -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; }; +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; -//! moment.js locale configuration -//! locale : Greek [el] -//! author : Aggelos Karalias : https://github.com/mehiel +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; - function isFunction(input) { - return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; - } +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; - var el = moment.defineLocale('el', { - monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'), - monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'), - months: function months(momentToFormat, format) { - if (!momentToFormat) { - return this._monthsNominativeEl; - } else if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { - // if there is a day number before 'MMMM' - return this._monthsGenitiveEl[momentToFormat.month()]; - } else { - return this._monthsNominativeEl[momentToFormat.month()]; - } - }, - monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), - weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'), - weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), - weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), - meridiem: function meridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'μμ' : 'ΜΜ'; - } else { - return isLower ? 'πμ' : 'ΠΜ'; - } - }, - isPM: function isPM(input) { - return (input + '').toLowerCase()[0] === 'μ'; - }, - meridiemParse: /[ΠΜ]\.?Μ?\.?/i, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A' - }, - calendarEl: { - sameDay: '[Σήμερα {}] LT', - nextDay: '[Αύριο {}] LT', - nextWeek: 'dddd [{}] LT', - lastDay: '[Χθες {}] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 6: - return '[το προηγούμενο] dddd [{}] LT'; - default: - return '[την προηγούμενη] dddd [{}] LT'; - } - }, - sameElse: 'L' - }, - calendar: function calendar(key, mom) { - var output = this._calendarEl[key], - hours = mom && mom.hours(); - if (isFunction(output)) { - output = output.apply(mom); - } - return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); - }, - relativeTime: { - future: 'σε %s', - past: '%s πριν', - s: 'λίγα δευτερόλεπτα', - m: 'ένα λεπτό', - mm: '%d λεπτά', - h: 'μία ώρα', - hh: '%d ώρες', - d: 'μία μέρα', - dd: '%d μέρες', - M: 'ένας μήνας', - MM: '%d μήνες', - y: 'ένας χρόνος', - yy: '%d χρόνια' - }, - dayOfMonthOrdinalParse: /\d{1,2}η/, - ordinal: '%dη', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4st is the first week of the year. - } - }); +/** Detect free variable `global` from Node.js. */ +var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global; - return el; -}); +/** Detect free variable `self`. */ +var freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self; -/***/ }), -/* 95 */ -/***/ (function(module, exports, __webpack_require__) { +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** Used for built-in method references. */ +var objectProto = Object.prototype; -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; }; +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; -//! moment.js locale configuration -//! locale : English (Australia) [en-au] -//! author : Jared Morse : https://github.com/jarcoal +/** Built-in value references. */ +var _Symbol = root.Symbol; -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor; - var enAu = moment.defineLocale('en-au', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A' - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years' - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol ? _Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; - return enAu; -}); +/** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ +function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); -/***/ }), -/* 96 */ -/***/ (function(module, exports, __webpack_require__) { + return result; +} -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = value + ''; + return result == '0' && 1 / value == -INFINITY ? '-0' : result; +} -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; }; +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; +} -//! moment.js locale configuration -//! locale : English (Canada) [en-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index === 'undefined' ? 'undefined' : _typeof(index); + if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) { + return eq(object[index], value); + } + return false; +} -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || value !== value && other !== other; +} - var enCa = moment.defineLocale('en-ca', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'YYYY-MM-DD', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A' - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years' - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; - return number + output; - } - }); - - return enCa; -}); - -/***/ }), -/* 97 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : English (United Kingdom) [en-gb] -//! author : Chris Gedrim : https://github.com/chrisgedrim - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var enGb = moment.defineLocale('en-gb', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years' - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return enGb; -}); - -/***/ }), -/* 98 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : English (Ireland) [en-ie] -//! author : Chris Cartlidge : https://github.com/chriscartlidge - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var enIe = moment.defineLocale('en-ie', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years' - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return enIe; -}); - -/***/ }), -/* 99 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : English (New Zealand) [en-nz] -//! author : Luke McGregor : https://github.com/lukemcgregor - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var enNz = moment.defineLocale('en-nz', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A' - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years' - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return enNz; -}); - -/***/ }), -/* 100 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Esperanto [eo] -//! author : Colin Dean : https://github.com/colindean -//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia -//! comment : miestasmia corrected the translation by colindean - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var eo = moment.defineLocale('eo', { - months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'), - weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), - weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), - weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D[-a de] MMMM, YYYY', - LLL: 'D[-a de] MMMM, YYYY HH:mm', - LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' - }, - meridiemParse: /[ap]\.t\.m/i, - isPM: function isPM(input) { - return input.charAt(0).toLowerCase() === 'p'; - }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'p.t.m.' : 'P.T.M.'; - } else { - return isLower ? 'a.t.m.' : 'A.T.M.'; - } - }, - calendar: { - sameDay: '[Hodiaŭ je] LT', - nextDay: '[Morgaŭ je] LT', - nextWeek: 'dddd [je] LT', - lastDay: '[Hieraŭ je] LT', - lastWeek: '[pasinta] dddd [je] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'post %s', - past: 'antaŭ %s', - s: 'sekundoj', - m: 'minuto', - mm: '%d minutoj', - h: 'horo', - hh: '%d horoj', - d: 'tago', //ne 'diurno', ĉar estas uzita por proksimumo - dd: '%d tagoj', - M: 'monato', - MM: '%d monatoj', - y: 'jaro', - yy: '%d jaroj' - }, - dayOfMonthOrdinalParse: /\d{1,2}a/, - ordinal: '%da', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. - } - }); - - return eo; -}); - -/***/ }), -/* 101 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Spanish (Dominican Republic) [es-do] - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'); - var _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); - - var esDo = moment.defineLocale('es-do', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), - monthsShort: function monthsShort(m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return _monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' - }, - calendar: { - sameDay: function sameDay() { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function nextDay() { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function nextWeek() { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function lastDay() { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function lastWeek() { - return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - sameElse: 'L' - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años' - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return esDo; -}); - -/***/ }), -/* 102 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Spanish [es] -//! author : Julio Napurí : https://github.com/julionc - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'); - var _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); - - var es = moment.defineLocale('es', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), - monthsShort: function monthsShort(m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return _monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' - }, - calendar: { - sameDay: function sameDay() { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function nextDay() { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function nextWeek() { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function lastDay() { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function lastWeek() { - return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - sameElse: 'L' - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años' - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return es; -}); - -/***/ }), -/* 103 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Estonian [et] -//! author : Henry Kehlmann : https://github.com/madhenry -//! improvements : Illimar Tambek : https://github.com/ragulka - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - 's': ['mõne sekundi', 'mõni sekund', 'paar sekundit'], - 'm': ['ühe minuti', 'üks minut'], - 'mm': [number + ' minuti', number + ' minutit'], - 'h': ['ühe tunni', 'tund aega', 'üks tund'], - 'hh': [number + ' tunni', number + ' tundi'], - 'd': ['ühe päeva', 'üks päev'], - 'M': ['kuu aja', 'kuu aega', 'üks kuu'], - 'MM': [number + ' kuu', number + ' kuud'], - 'y': ['ühe aasta', 'aasta', 'üks aasta'], - 'yy': [number + ' aasta', number + ' aastat'] - }; - if (withoutSuffix) { - return format[key][2] ? format[key][2] : format[key][1]; - } - return isFuture ? format[key][0] : format[key][1]; - } - - var et = moment.defineLocale('et', { - months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), - monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), - weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), - weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), - weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm' - }, - calendar: { - sameDay: '[Täna,] LT', - nextDay: '[Homme,] LT', - nextWeek: '[Järgmine] dddd LT', - lastDay: '[Eile,] LT', - lastWeek: '[Eelmine] dddd LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s pärast', - past: '%s tagasi', - s: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: '%d päeva', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return et; -}); - -/***/ }), -/* 104 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Basque [eu] -//! author : Eneko Illarramendi : https://github.com/eillarra - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var eu = moment.defineLocale('eu', { - months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), - monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), - monthsParseExact: true, - weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), - weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), - weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY[ko] MMMM[ren] D[a]', - LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', - LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', - l: 'YYYY-M-D', - ll: 'YYYY[ko] MMM D[a]', - lll: 'YYYY[ko] MMM D[a] HH:mm', - llll: 'ddd, YYYY[ko] MMM D[a] HH:mm' - }, - calendar: { - sameDay: '[gaur] LT[etan]', - nextDay: '[bihar] LT[etan]', - nextWeek: 'dddd LT[etan]', - lastDay: '[atzo] LT[etan]', - lastWeek: '[aurreko] dddd LT[etan]', - sameElse: 'L' - }, - relativeTime: { - future: '%s barru', - past: 'duela %s', - s: 'segundo batzuk', - m: 'minutu bat', - mm: '%d minutu', - h: 'ordu bat', - hh: '%d ordu', - d: 'egun bat', - dd: '%d egun', - M: 'hilabete bat', - MM: '%d hilabete', - y: 'urte bat', - yy: '%d urte' - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. - } - }); - - return eu; -}); - -/***/ }), -/* 105 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Persian [fa] -//! author : Ebrahim Byagowi : https://github.com/ebraminio - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var symbolMap = { - '1': '۱', - '2': '۲', - '3': '۳', - '4': '۴', - '5': '۵', - '6': '۶', - '7': '۷', - '8': '۸', - '9': '۹', - '0': '۰' - }; - var numberMap = { - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - '۰': '0' - }; - - var fa = moment.defineLocale('fa', { - months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), - monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), - weekdays: '\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'), - weekdaysShort: '\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'), - weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, - meridiemParse: /قبل از ظهر|بعد از ظهر/, - isPM: function isPM(input) { - return (/بعد از ظهر/.test(input) - ); - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'قبل از ظهر'; - } else { - return 'بعد از ظهر'; - } - }, - calendar: { - sameDay: '[امروز ساعت] LT', - nextDay: '[فردا ساعت] LT', - nextWeek: 'dddd [ساعت] LT', - lastDay: '[دیروز ساعت] LT', - lastWeek: 'dddd [پیش] [ساعت] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'در %s', - past: '%s پیش', - s: 'چند ثانیه', - m: 'یک دقیقه', - mm: '%d دقیقه', - h: 'یک ساعت', - hh: '%d ساعت', - d: 'یک روز', - dd: '%d روز', - M: 'یک ماه', - MM: '%d ماه', - y: 'یک سال', - yy: '%d سال' - }, - preparse: function preparse(string) { - return string.replace(/[۰-۹]/g, function (match) { - return numberMap[match]; - }).replace(/،/g, ','); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }).replace(/,/g, '،'); - }, - dayOfMonthOrdinalParse: /\d{1,2}م/, - ordinal: '%dم', - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. - } - }); - - return fa; -}); - -/***/ }), -/* 106 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Finnish [fi] -//! author : Tarmo Aidantausta : https://github.com/bleadof - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '); - var numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', numbersPast[7], numbersPast[8], numbersPast[9]]; - function translate(number, withoutSuffix, key, isFuture) { - var result = ''; - switch (key) { - case 's': - return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; - case 'm': - return isFuture ? 'minuutin' : 'minuutti'; - case 'mm': - result = isFuture ? 'minuutin' : 'minuuttia'; - break; - case 'h': - return isFuture ? 'tunnin' : 'tunti'; - case 'hh': - result = isFuture ? 'tunnin' : 'tuntia'; - break; - case 'd': - return isFuture ? 'päivän' : 'päivä'; - case 'dd': - result = isFuture ? 'päivän' : 'päivää'; - break; - case 'M': - return isFuture ? 'kuukauden' : 'kuukausi'; - case 'MM': - result = isFuture ? 'kuukauden' : 'kuukautta'; - break; - case 'y': - return isFuture ? 'vuoden' : 'vuosi'; - case 'yy': - result = isFuture ? 'vuoden' : 'vuotta'; - break; - } - result = verbalNumber(number, isFuture) + ' ' + result; - return result; - } - function verbalNumber(number, isFuture) { - return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number; - } - - var fi = moment.defineLocale('fi', { - months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), - monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), - weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), - weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), - weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM[ta] YYYY', - LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', - LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', - l: 'D.M.YYYY', - ll: 'Do MMM YYYY', - lll: 'Do MMM YYYY, [klo] HH.mm', - llll: 'ddd, Do MMM YYYY, [klo] HH.mm' - }, - calendar: { - sameDay: '[tänään] [klo] LT', - nextDay: '[huomenna] [klo] LT', - nextWeek: 'dddd [klo] LT', - lastDay: '[eilen] [klo] LT', - lastWeek: '[viime] dddd[na] [klo] LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s päästä', - past: '%s sitten', - s: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return fi; -}); - -/***/ }), -/* 107 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Faroese [fo] -//! author : Ragnar Johannesen : https://github.com/ragnar123 - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var fo = moment.defineLocale('fo', { - months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), - monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), - weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'), - weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), - weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D. MMMM, YYYY HH:mm' - }, - calendar: { - sameDay: '[Í dag kl.] LT', - nextDay: '[Í morgin kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[Í gjár kl.] LT', - lastWeek: '[síðstu] dddd [kl] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'um %s', - past: '%s síðani', - s: 'fá sekund', - m: 'ein minutt', - mm: '%d minuttir', - h: 'ein tími', - hh: '%d tímar', - d: 'ein dagur', - dd: '%d dagar', - M: 'ein mánaði', - MM: '%d mánaðir', - y: 'eitt ár', - yy: '%d ár' - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return fo; -}); - -/***/ }), -/* 108 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : French (Canada) [fr-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var frCa = moment.defineLocale('fr-ca', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans' - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function ordinal(number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - } - }); - - return frCa; -}); - -/***/ }), -/* 109 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : French (Switzerland) [fr-ch] -//! author : Gaspard Bucher : https://github.com/gaspard - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var frCh = moment.defineLocale('fr-ch', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans' - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function ordinal(number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return frCh; -}); - -/***/ }), -/* 110 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : French [fr] -//! author : John Fischer : https://github.com/jfroffice - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var fr = moment.defineLocale('fr', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans' - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|)/, - ordinal: function ordinal(number, period) { - switch (period) { - // TODO: Return 'e' when day of month > 1. Move this case inside - // block for masculine words below. - // See https://github.com/moment/moment/issues/3375 - case 'D': - return number + (number === 1 ? 'er' : ''); - - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return fr; -}); - -/***/ }), -/* 111 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Frisian [fy] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'); - var monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); - - var fy = moment.defineLocale('fy', { - months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), - monthsShort: function monthsShort(m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), - weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), - weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[hjoed om] LT', - nextDay: '[moarn om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[juster om] LT', - lastWeek: '[ôfrûne] dddd [om] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'oer %s', - past: '%s lyn', - s: 'in pear sekonden', - m: 'ien minút', - mm: '%d minuten', - h: 'ien oere', - hh: '%d oeren', - d: 'ien dei', - dd: '%d dagen', - M: 'ien moanne', - MM: '%d moannen', - y: 'ien jier', - yy: '%d jierren' - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function ordinal(number) { - return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); - - return fy; -}); - -/***/ }), -/* 112 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Scottish Gaelic [gd] -//! author : Jon Ashdown : https://github.com/jonashdown - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var months = ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd']; - - var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh']; - - var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} - var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} - var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} - var gd = moment.defineLocale('gd', { - months: months, - monthsShort: monthsShort, - monthsParseExact: true, - weekdays: weekdays, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[An-diugh aig] LT', - nextDay: '[A-màireach aig] LT', - nextWeek: 'dddd [aig] LT', - lastDay: '[An-dè aig] LT', - lastWeek: 'dddd [seo chaidh] [aig] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'ann an %s', - past: 'bho chionn %s', - s: 'beagan diogan', - m: 'mionaid', - mm: '%d mionaidean', - h: 'uair', - hh: '%d uairean', - d: 'latha', - dd: '%d latha', - M: 'mìos', - MM: '%d mìosan', - y: 'bliadhna', - yy: '%d bliadhna' - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function ordinal(number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value === 'undefined' ? 'undefined' : _typeof(value); + return !!value && (type == 'object' || type == 'function'); +} - return gd; -}); +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object'; +} -/***/ }), -/* 113 */ -/***/ (function(module, exports, __webpack_require__) { +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag; +} -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = value < 0 ? -1 : 1; + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} -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; }; +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; -//! moment.js locale configuration -//! locale : Galician [gl] -//! author : Juan G. Hurtado : https://github.com/juanghurtado + return result === result ? remainder ? result - remainder : result : 0; +} -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? other + '' : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; +} - var gl = moment.defineLocale('gl', { - months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), - monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), - monthsParseExact: true, - weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' - }, - calendar: { - sameDay: function sameDay() { - return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextDay: function nextDay() { - return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextWeek: function nextWeek() { - return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; - }, - lastDay: function lastDay() { - return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; - }, - lastWeek: function lastWeek() { - return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; - }, - sameElse: 'L' - }, - relativeTime: { - future: function future(str) { - if (str.indexOf('un') === 0) { - return 'n' + str; - } - return 'en ' + str; - }, - past: 'hai %s', - s: 'uns segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'unha hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un ano', - yy: '%d anos' - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - } - }); +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} - return gl; -}); +/** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ +function repeat(string, n, guard) { + if (guard ? isIterateeCall(string, n, guard) : n === undefined) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); +} + +module.exports = repeat; /***/ }), -/* 114 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19027,8 +16842,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Konkani Latin script [gom-latn] -//! author : The Discoverer : https://github.com/WikiDiscoverer +//! locale : Afrikaans [af] +//! author : Werner Mollentze : https://github.com/wernerm ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -19038,227 +16853,70 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - 's': ['thodde secondanim', 'thodde second'], - 'm': ['eka mintan', 'ek minute'], - 'mm': [number + ' mintanim', number + ' mintam'], - 'h': ['eka horan', 'ek hor'], - 'hh': [number + ' horanim', number + ' hor'], - 'd': ['eka disan', 'ek dis'], - 'dd': [number + ' disanim', number + ' dis'], - 'M': ['eka mhoinean', 'ek mhoino'], - 'MM': [number + ' mhoineanim', number + ' mhoine'], - 'y': ['eka vorsan', 'ek voros'], - 'yy': [number + ' vorsanim', number + ' vorsam'] - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - var gomLatn = moment.defineLocale('gom-latn', { - months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'), - monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), - monthsParseExact: true, - weekdays: 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'), - weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), - weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [vazta]', - LTS: 'A h:mm:ss [vazta]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [vazta]', - LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]', - llll: 'ddd, D MMM YYYY, A h:mm [vazta]' - }, - calendar: { - sameDay: '[Aiz] LT', - nextDay: '[Faleam] LT', - nextWeek: '[Ieta to] dddd[,] LT', - lastDay: '[Kal] LT', - lastWeek: '[Fatlo] dddd[,] LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s', - past: '%s adim', - s: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime - }, - dayOfMonthOrdinalParse: /\d{1,2}(er)/, - ordinal: function ordinal(number, period) { - switch (period) { - // the ordinal 'er' only applies to day of the month - case 'D': - return number + 'er'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. - }, - meridiemParse: /rati|sokalli|donparam|sanje/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'rati') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'sokalli') { - return hour; - } else if (meridiem === 'donparam') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'sanje') { - return hour + 12; - } + var af = moment.defineLocale('af', { + months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), + monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), + weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), + weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), + weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), + meridiemParse: /vm|nm/i, + isPM: function isPM(input) { + return (/^nm$/i.test(input) + ); }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'rati'; - } else if (hour < 12) { - return 'sokalli'; - } else if (hour < 16) { - return 'donparam'; - } else if (hour < 20) { - return 'sanje'; + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'vm' : 'VM'; } else { - return 'rati'; + return isLower ? 'nm' : 'NM'; } - } - }); - - return gomLatn; -}); - -/***/ }), -/* 115 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Hebrew [he] -//! author : Tomer Cohen : https://github.com/tomer -//! author : Moshe Simantov : https://github.com/DevelopmentIL -//! author : Tal Ater : https://github.com/TalAter - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var he = moment.defineLocale('he', { - months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'), - monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'), - weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), - weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), - weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), + }, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', - LL: 'D [ב]MMMM YYYY', - LLL: 'D [ב]MMMM YYYY HH:mm', - LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', - l: 'D/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm' + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[היום ב־]LT', - nextDay: '[מחר ב־]LT', - nextWeek: 'dddd [בשעה] LT', - lastDay: '[אתמול ב־]LT', - lastWeek: '[ביום] dddd [האחרון בשעה] LT', + sameDay: '[Vandag om] LT', + nextDay: '[Môre om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[Gister om] LT', + lastWeek: '[Laas] dddd [om] LT', sameElse: 'L' }, relativeTime: { - future: 'בעוד %s', - past: 'לפני %s', - s: 'מספר שניות', - m: 'דקה', - mm: '%d דקות', - h: 'שעה', - hh: function hh(number) { - if (number === 2) { - return 'שעתיים'; - } - return number + ' שעות'; - }, - d: 'יום', - dd: function dd(number) { - if (number === 2) { - return 'יומיים'; - } - return number + ' ימים'; - }, - M: 'חודש', - MM: function MM(number) { - if (number === 2) { - return 'חודשיים'; - } - return number + ' חודשים'; - }, - y: 'שנה', - yy: function yy(number) { - if (number === 2) { - return 'שנתיים'; - } else if (number % 10 === 0 && number !== 10) { - return number + ' שנה'; - } - return number + ' שנים'; - } + future: 'oor %s', + past: '%s gelede', + s: '\'n paar sekondes', + m: '\'n minuut', + mm: '%d minute', + h: '\'n uur', + hh: '%d ure', + d: '\'n dag', + dd: '%d dae', + M: '\'n maand', + MM: '%d maande', + y: '\'n jaar', + yy: '%d jaar' }, - meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, - isPM: function isPM(input) { - return (/^(אחה"צ|אחרי הצהריים|בערב)$/.test(input) - ); + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function ordinal(number) { + return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 5) { - return 'לפנות בוקר'; - } else if (hour < 10) { - return 'בבוקר'; - } else if (hour < 12) { - return isLower ? 'לפנה"צ' : 'לפני הצהריים'; - } else if (hour < 18) { - return isLower ? 'אחה"צ' : 'אחרי הצהריים'; - } else { - return 'בערב'; - } + week: { + dow: 1, // Maandag is die eerste dag van die week. + doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. } }); - return he; + return af; }); /***/ }), -/* 116 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19267,8 +16925,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Hindi [hi] -//! author : Mayank Singhal : https://github.com/mayanksinghal +//! locale : Arabic (Algeria) [ar-dz] +//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -19278,120 +16936,55 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var symbolMap = { - '1': '१', - '2': '२', - '3': '३', - '4': '४', - '5': '५', - '6': '६', - '7': '७', - '8': '८', - '9': '९', - '0': '०' - }; - var numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0' - }; - - var hi = moment.defineLocale('hi', { - months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'), - monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'), - monthsParseExact: true, - weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), + var arDz = moment.defineLocale('ar-dz', { + months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'A h:mm बजे', - LTS: 'A h:mm:ss बजे', + LT: 'HH:mm', + LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, A h:mm बजे' + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[आज] LT', - nextDay: '[कल] LT', - nextWeek: 'dddd, LT', - lastDay: '[कल] LT', - lastWeek: '[पिछले] dddd, LT', + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', sameElse: 'L' }, relativeTime: { - future: '%s में', - past: '%s पहले', - s: 'कुछ ही क्षण', - m: 'एक मिनट', - mm: '%d मिनट', - h: 'एक घंटा', - hh: '%d घंटे', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महीने', - MM: '%d महीने', - y: 'एक वर्ष', - yy: '%d वर्ष' - }, - preparse: function preparse(string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Hindi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. - meridiemParse: /रात|सुबह|दोपहर|शाम/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'रात') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सुबह') { - return hour; - } else if (meridiem === 'दोपहर') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'शाम') { - return hour + 12; - } - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'रात'; - } else if (hour < 10) { - return 'सुबह'; - } else if (hour < 17) { - return 'दोपहर'; - } else if (hour < 20) { - return 'शाम'; - } else { - return 'रात'; - } + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات' }, week: { dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 1st is the first week of the year. } }); - return hi; + return arDz; }); /***/ }), -/* 117 */ +/* 72 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19400,8 +16993,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Croatian [hr] -//! author : Bojan Marković : https://github.com/bmarkovic +//! locale : Arabic (Kuwait) [ar-kw] +//! author : Nusret Parlak: https://github.com/nusretparlak ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -19411,141 +17004,55 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } - } - - var hr = moment.defineLocale('hr', { - months: { - format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), - standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') - }, - monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + var arKw = moment.defineLocale('ar-kw', { + months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: true, longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm' + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function nextWeek() { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - case 3: - return '[prošlu] dddd [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', sameElse: 'L' }, relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات' }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + dow: 0, // Sunday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } }); - return hr; + return arKw; }); /***/ }), -/* 118 */ +/* 73 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19554,8 +17061,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Hungarian [hu] -//! author : Adam Brunner : https://github.com/adambrunner +//! locale : Arabic (Lybia) [ar-ly] +//! author : Ali Hmer: https://github.com/kikoanis ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -19565,105 +17072,109 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' '); - function translate(number, withoutSuffix, key, isFuture) { - var num = number, - suffix; - switch (key) { - case 's': - return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce'; - case 'm': - return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'mm': - return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'h': - return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'hh': - return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'd': - return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'dd': - return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'M': - return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'MM': - return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'y': - return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); - case 'yy': - return num + (isFuture || withoutSuffix ? ' év' : ' éve'); - } - return ''; - } - function week(isFuture) { - return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; - } + var symbolMap = { + '1': '1', + '2': '2', + '3': '3', + '4': '4', + '5': '5', + '6': '6', + '7': '7', + '8': '8', + '9': '9', + '0': '0' + }; + var pluralForm = function pluralForm(n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }; + var plurals = { + s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }; + var pluralize = function pluralize(u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }; + var months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']; - var hu = moment.defineLocale('hu', { - months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), - monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), - weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), - weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), - weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), + var arLy = moment.defineLocale('ar-ly', { + months: months, + monthsShort: months, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY. MMMM D.', - LLL: 'YYYY. MMMM D. H:mm', - LLLL: 'YYYY. MMMM D., dddd H:mm' + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/\u200FM/\u200FYYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, - meridiemParse: /de|du/i, + meridiemParse: /ص|م/, isPM: function isPM(input) { - return input.charAt(1).toLowerCase() === 'u'; + return 'م' === input; }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 12) { - return isLower === true ? 'de' : 'DE'; + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'ص'; } else { - return isLower === true ? 'du' : 'DU'; + return 'م'; } }, calendar: { - sameDay: '[ma] LT[-kor]', - nextDay: '[holnap] LT[-kor]', - nextWeek: function nextWeek() { - return week.call(this, true); - }, - lastDay: '[tegnap] LT[-kor]', - lastWeek: function lastWeek() { - return week.call(this, false); - }, + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L' }, relativeTime: { - future: '%s múlva', - past: '%s', - s: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate + future: 'بعد %s', + past: 'منذ %s', + s: pluralize('s'), + m: pluralize('m'), + mm: pluralize('m'), + h: pluralize('h'), + hh: pluralize('h'), + d: pluralize('d'), + dd: pluralize('d'), + M: pluralize('M'), + MM: pluralize('M'), + y: pluralize('y'), + yy: pluralize('y') + }, + preparse: function preparse(string) { + return string.replace(/\u200f/g, '').replace(/،/g, ','); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, '،'); }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + dow: 6, // Saturday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } }); - return hu; + return arLy; }); /***/ }), -/* 119 */ +/* 74 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19672,8 +17183,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Armenian [hy-am] -//! author : Armendarabyan : https://github.com/armendarabyan +//! locale : Arabic (Morocco) [ar-ma] +//! author : ElFadili Yassine : https://github.com/ElFadiliY +//! author : Abdel Said : https://github.com/abdelsaid ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -19683,92 +17195,55 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var hyAm = moment.defineLocale('hy-am', { - months: { - format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'), - standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_') - }, - monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), - weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'), - weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), + var arMa = moment.defineLocale('ar-ma', { + months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY թ.', - LLL: 'D MMMM YYYY թ., HH:mm', - LLLL: 'dddd, D MMMM YYYY թ., HH:mm' + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[այսօր] LT', - nextDay: '[վաղը] LT', - lastDay: '[երեկ] LT', - nextWeek: function nextWeek() { - return 'dddd [օրը ժամը] LT'; - }, - lastWeek: function lastWeek() { - return '[անցած] dddd [օրը ժամը] LT'; - }, + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', sameElse: 'L' }, relativeTime: { - future: '%s հետո', - past: '%s առաջ', - s: 'մի քանի վայրկյան', - m: 'րոպե', - mm: '%d րոպե', - h: 'ժամ', - hh: '%d ժամ', - d: 'օր', - dd: '%d օր', - M: 'ամիս', - MM: '%d ամիս', - y: 'տարի', - yy: '%d տարի' - }, - meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, - isPM: function isPM(input) { - return (/^(ցերեկվա|երեկոյան)$/.test(input) - ); - }, - meridiem: function meridiem(hour) { - if (hour < 4) { - return 'գիշերվա'; - } else if (hour < 12) { - return 'առավոտվա'; - } else if (hour < 17) { - return 'ցերեկվա'; - } else { - return 'երեկոյան'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, - ordinal: function ordinal(number, period) { - switch (period) { - case 'DDD': - case 'w': - case 'W': - case 'DDDo': - if (number === 1) { - return number + '-ին'; - } - return number + '-րդ'; - default: - return number; - } + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات' }, week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + dow: 6, // Saturday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } }); - return hyAm; + return arMa; }); /***/ }), -/* 120 */ +/* 75 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19777,9 +17252,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Indonesian [id] -//! author : Mohammad Satrio Utomo : https://github.com/tyok -//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan +//! locale : Arabic (Saudi Arabia) [ar-sa] +//! author : Suhail Alkowaileet : https://github.com/xsoh ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -19789,78 +17263,169 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var id = moment.defineLocale('id', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), + var symbolMap = { + '1': '١', + '2': '٢', + '3': '٣', + '4': '٤', + '5': '٥', + '6': '٦', + '7': '٧', + '8': '٨', + '9': '٩', + '0': '٠' + }; + var numberMap = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0' + }; + + var arSa = moment.defineLocale('ar-sa', { + months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', + LT: 'HH:mm', + LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, - meridiemParse: /pagi|siang|sore|malam/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'siang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sore' || meridiem === 'malam') { - return hour + 12; - } + meridiemParse: /ص|م/, + isPM: function isPM(input) { + return 'م' === input; }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'siang'; - } else if (hours < 19) { - return 'sore'; + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'ص'; } else { - return 'malam'; + return 'م'; } }, calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Besok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kemarin pukul] LT', - lastWeek: 'dddd [lalu pukul] LT', + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات' + }, + preparse: function preparse(string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/،/g, ','); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, '،'); + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. + } + }); + + return arSa; +}); + +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + +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; }; + +//! moment.js locale configuration +//! locale : Arabic (Tunisia) [ar-tn] +//! author : Nader Toukabri : https://github.com/naderio + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var arTn = moment.defineLocale('ar-tn', { + months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', sameElse: 'L' }, relativeTime: { - future: 'dalam %s', - past: '%s yang lalu', - s: 'beberapa detik', - m: 'semenit', - mm: '%d menit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun' + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات' }, week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return id; + return arTn; }); /***/ }), -/* 121 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19869,8 +17434,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Icelandic [is] -//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik +//! locale : Arabic [ar] +//! author : Abdel Said: https://github.com/abdelsaid +//! author : Ahmed Elkhatib +//! author : forabi https://github.com/forabi ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -19880,123 +17447,123 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function plural(n) { - if (n % 100 === 11) { - return true; - } else if (n % 10 === 1) { - return false; - } - return true; - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; - case 'm': - return withoutSuffix ? 'mínúta' : 'mínútu'; - case 'mm': - if (plural(number)) { - return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum'); - } else if (withoutSuffix) { - return result + 'mínúta'; - } - return result + 'mínútu'; - case 'hh': - if (plural(number)) { - return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); - } - return result + 'klukkustund'; - case 'd': - if (withoutSuffix) { - return 'dagur'; - } - return isFuture ? 'dag' : 'degi'; - case 'dd': - if (plural(number)) { - if (withoutSuffix) { - return result + 'dagar'; - } - return result + (isFuture ? 'daga' : 'dögum'); - } else if (withoutSuffix) { - return result + 'dagur'; - } - return result + (isFuture ? 'dag' : 'degi'); - case 'M': - if (withoutSuffix) { - return 'mánuður'; - } - return isFuture ? 'mánuð' : 'mánuði'; - case 'MM': - if (plural(number)) { - if (withoutSuffix) { - return result + 'mánuðir'; - } - return result + (isFuture ? 'mánuði' : 'mánuðum'); - } else if (withoutSuffix) { - return result + 'mánuður'; - } - return result + (isFuture ? 'mánuð' : 'mánuði'); - case 'y': - return withoutSuffix || isFuture ? 'ár' : 'ári'; - case 'yy': - if (plural(number)) { - return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); - } - return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); - } - } + var symbolMap = { + '1': '١', + '2': '٢', + '3': '٣', + '4': '٤', + '5': '٥', + '6': '٦', + '7': '٧', + '8': '٨', + '9': '٩', + '0': '٠' + }; + var numberMap = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0' + }; + var pluralForm = function pluralForm(n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }; + var plurals = { + s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }; + var pluralize = function pluralize(u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }; + var months = ['كانون الثاني يناير', 'شباط فبراير', 'آذار مارس', 'نيسان أبريل', 'أيار مايو', 'حزيران يونيو', 'تموز يوليو', 'آب أغسطس', 'أيلول سبتمبر', 'تشرين الأول أكتوبر', 'تشرين الثاني نوفمبر', 'كانون الأول ديسمبر']; - var is = moment.defineLocale('is', { - months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'), - monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), - weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), - weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), - weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), + var ar = moment.defineLocale('ar', { + months: months, + monthsShort: months, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm' + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/\u200FM/\u200FYYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /ص|م/, + isPM: function isPM(input) { + return 'م' === input; + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'م'; + } }, calendar: { - sameDay: '[í dag kl.] LT', - nextDay: '[á morgun kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[í gær kl.] LT', - lastWeek: '[síðasta] dddd [kl.] LT', + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L' }, relativeTime: { - future: 'eftir %s', - past: 'fyrir %s síðan', - s: translate, - m: translate, - mm: translate, - h: 'klukkustund', - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate + future: 'بعد %s', + past: 'منذ %s', + s: pluralize('s'), + m: pluralize('m'), + mm: pluralize('m'), + h: pluralize('h'), + hh: pluralize('h'), + d: pluralize('d'), + dd: pluralize('d'), + M: pluralize('M'), + MM: pluralize('M'), + y: pluralize('y'), + yy: pluralize('y') + }, + preparse: function preparse(string) { + return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/،/g, ','); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, '،'); }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + dow: 6, // Saturday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } }); - return is; + return ar; }); /***/ }), -/* 122 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20005,9 +17572,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Italian [it] -//! author : Lorenzo : https://github.com/aliem -//! author: Mattia Larentis: https://github.com/nostalgiaz +//! locale : Azerbaijani [az] +//! author : topchiyev : https://github.com/topchiyev ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20017,65 +17583,103 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var it = moment.defineLocale('it', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), + var suffixes = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + 6: '-ncı', + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + 60: '-ıncı', + 90: '-ıncı' + }; + + var az = moment.defineLocale('az', { + months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), + monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), + weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'), + weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', + L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[Oggi alle] LT', - nextDay: '[Domani alle] LT', - nextWeek: 'dddd [alle] LT', - lastDay: '[Ieri alle] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - return '[la scorsa] dddd [alle] LT'; - default: - return '[lo scorso] dddd [alle] LT'; - } - }, + sameDay: '[bugün saat] LT', + nextDay: '[sabah saat] LT', + nextWeek: '[gələn həftə] dddd [saat] LT', + lastDay: '[dünən] LT', + lastWeek: '[keçən həftə] dddd [saat] LT', sameElse: 'L' }, relativeTime: { - future: function future(s) { - return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; - }, - past: '%s fa', - s: 'alcuni secondi', - m: 'un minuto', - mm: '%d minuti', - h: 'un\'ora', - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni' + future: '%s sonra', + past: '%s əvvəl', + s: 'birneçə saniyyə', + m: 'bir dəqiqə', + mm: '%d dəqiqə', + h: 'bir saat', + hh: '%d saat', + d: 'bir gün', + dd: '%d gün', + M: 'bir ay', + MM: '%d ay', + y: 'bir il', + yy: '%d il' + }, + meridiemParse: /gecə|səhər|gündüz|axşam/, + isPM: function isPM(input) { + return (/^(gündüz|axşam)$/.test(input) + ); + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'gecə'; + } else if (hour < 12) { + return 'səhər'; + } else if (hour < 17) { + return 'gündüz'; + } else { + return 'axşam'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal: function ordinal(number) { + if (number === 0) { + // special case for zero + return number + '-ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return it; + return az; }); /***/ }), -/* 123 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20084,8 +17688,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Japanese [ja] -//! author : LI Long : https://github.com/baryon +//! locale : Belarusian [be] +//! author : Dmitry Demidov : https://github.com/demidov91 +//! author: Praleska: http://praleska.pro/ +//! Author : Menelion Elensúle : https://github.com/Oire ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20095,76 +17701,127 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var ja = moment.defineLocale('ja', { - months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), - weekdaysShort: '日_月_火_水_木_金_土'.split('_'), - weekdaysMin: '日_月_火_水_木_金_土'.split('_'), + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + 'dd': 'дзень_дні_дзён', + 'MM': 'месяц_месяцы_месяцаў', + 'yy': 'год_гады_гадоў' + }; + if (key === 'm') { + return withoutSuffix ? 'хвіліна' : 'хвіліну'; + } else if (key === 'h') { + return withoutSuffix ? 'гадзіна' : 'гадзіну'; + } else { + return number + ' ' + plural(format[key], +number); + } + } + + var be = moment.defineLocale('be', { + months: { + format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'), + standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_') + }, + monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'), + weekdays: { + format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'), + standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'), + isFormat: /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/ + }, + weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), + weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日 HH:mm dddd', - l: 'YYYY/MM/DD', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日 HH:mm dddd' + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY г.', + LLL: 'D MMMM YYYY г., HH:mm', + LLLL: 'dddd, D MMMM YYYY г., HH:mm' }, - meridiemParse: /午前|午後/i, + calendar: { + sameDay: '[Сёння ў] LT', + nextDay: '[Заўтра ў] LT', + lastDay: '[Учора ў] LT', + nextWeek: function nextWeek() { + return '[У] dddd [ў] LT'; + }, + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return '[У мінулую] dddd [ў] LT'; + case 1: + case 2: + case 4: + return '[У мінулы] dddd [ў] LT'; + } + }, + sameElse: 'L' + }, + relativeTime: { + future: 'праз %s', + past: '%s таму', + s: 'некалькі секунд', + m: relativeTimeWithPlural, + mm: relativeTimeWithPlural, + h: relativeTimeWithPlural, + hh: relativeTimeWithPlural, + d: 'дзень', + dd: relativeTimeWithPlural, + M: 'месяц', + MM: relativeTimeWithPlural, + y: 'год', + yy: relativeTimeWithPlural + }, + meridiemParse: /ночы|раніцы|дня|вечара/, isPM: function isPM(input) { - return input === '午後'; + return (/^(дня|вечара)$/.test(input) + ); }, meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return '午前'; + if (hour < 4) { + return 'ночы'; + } else if (hour < 12) { + return 'раніцы'; + } else if (hour < 17) { + return 'дня'; } else { - return '午後'; + return 'вечара'; } }, - calendar: { - sameDay: '[今日] LT', - nextDay: '[明日] LT', - nextWeek: '[来週]dddd LT', - lastDay: '[昨日] LT', - lastWeek: '[前週]dddd LT', - sameElse: 'L' - }, - dayOfMonthOrdinalParse: /\d{1,2}日/, + dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, ordinal: function ordinal(number, period) { switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '数秒', - m: '1分', - mm: '%d分', - h: '1時間', - hh: '%d時間', - d: '1日', - dd: '%d日', - M: '1ヶ月', - MM: '%dヶ月', - y: '1年', - yy: '%d年' + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? number + '-і' : number + '-ы'; + case 'D': + return number + '-га'; + default: + return number; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return ja; + return be; }); /***/ }), -/* 124 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20173,9 +17830,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Javanese [jv] -//! author : Rony Lantip : https://github.com/lantip -//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa +//! locale : Bulgarian [bg] +//! author : Krasen Borisov : https://github.com/kraz ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20185,66 +17841,74 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var jv = moment.defineLocale('jv', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), - weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), + var bg = moment.defineLocale('bg', { + months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'), + monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), + weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'), + weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), + weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D.MM.YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' - }, - meridiemParse: /enjing|siyang|sonten|ndalu/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'enjing') { - return hour; - } else if (meridiem === 'siyang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sonten' || meridiem === 'ndalu') { - return hour + 12; - } - }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 11) { - return 'enjing'; - } else if (hours < 15) { - return 'siyang'; - } else if (hours < 19) { - return 'sonten'; - } else { - return 'ndalu'; - } + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm' }, calendar: { - sameDay: '[Dinten puniko pukul] LT', - nextDay: '[Mbenjang pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kala wingi pukul] LT', - lastWeek: 'dddd [kepengker pukul] LT', + sameDay: '[Днес в] LT', + nextDay: '[Утре в] LT', + nextWeek: 'dddd [в] LT', + lastDay: '[Вчера в] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[В изминалата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[В изминалия] dddd [в] LT'; + } + }, sameElse: 'L' }, relativeTime: { - future: 'wonten ing %s', - past: '%s ingkang kepengker', - s: 'sawetawis detik', - m: 'setunggal menit', - mm: '%d menit', - h: 'setunggal jam', - hh: '%d jam', - d: 'sedinten', - dd: '%d dinten', - M: 'sewulan', - MM: '%d wulan', - y: 'setaun', - yy: '%d taun' + future: 'след %s', + past: 'преди %s', + s: 'няколко секунди', + m: 'минута', + mm: '%d минути', + h: 'час', + hh: '%d часа', + d: 'ден', + dd: '%d дни', + M: 'месец', + MM: '%d месеца', + y: 'година', + yy: '%d години' + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, + ordinal: function ordinal(number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } }, week: { dow: 1, // Monday is the first day of the week. @@ -20252,11 +17916,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }); - return jv; + return bg; }); /***/ }), -/* 125 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20265,8 +17929,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Georgian [ka] -//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili +//! locale : Bengali [bn] +//! author : Kaushik Gandhi : https://github.com/kaushikgandhi ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20276,84 +17940,113 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var ka = moment.defineLocale('ka', { - months: { - standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'), - format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_') - }, - monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), - weekdays: { - standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'), - format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'), - isFormat: /(წინა|შემდეგ)/ - }, - weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), - weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), + var symbolMap = { + '1': '১', + '2': '২', + '3': '৩', + '4': '৪', + '5': '৫', + '6': '৬', + '7': '৭', + '8': '৮', + '9': '৯', + '0': '০' + }; + var numberMap = { + '১': '1', + '২': '2', + '৩': '3', + '৪': '4', + '৫': '5', + '৬': '6', + '৭': '7', + '৮': '8', + '৯': '9', + '০': '0' + }; + + var bn = moment.defineLocale('bn', { + months: 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'), + monthsShort: 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'), + weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'), + weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), + weekdaysMin: 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'), longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', + LT: 'A h:mm সময়', + LTS: 'A h:mm:ss সময়', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A' + LLL: 'D MMMM YYYY, A h:mm সময়', + LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' }, calendar: { - sameDay: '[დღეს] LT[-ზე]', - nextDay: '[ხვალ] LT[-ზე]', - lastDay: '[გუშინ] LT[-ზე]', - nextWeek: '[შემდეგ] dddd LT[-ზე]', - lastWeek: '[წინა] dddd LT-ზე', + sameDay: '[আজ] LT', + nextDay: '[আগামীকাল] LT', + nextWeek: 'dddd, LT', + lastDay: '[গতকাল] LT', + lastWeek: '[গত] dddd, LT', sameElse: 'L' }, relativeTime: { - future: function future(s) { - return (/(წამი|წუთი|საათი|წელი)/.test(s) ? s.replace(/ი$/, 'ში') : s + 'ში' - ); - }, - past: function past(s) { - if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { - return s.replace(/(ი|ე)$/, 'ის უკან'); - } - if (/წელი/.test(s)) { - return s.replace(/წელი$/, 'წლის უკან'); - } - }, - s: 'რამდენიმე წამი', - m: 'წუთი', - mm: '%d წუთი', - h: 'საათი', - hh: '%d საათი', - d: 'დღე', - dd: '%d დღე', - M: 'თვე', - MM: '%d თვე', - y: 'წელი', - yy: '%d წელი' + future: '%s পরে', + past: '%s আগে', + s: 'কয়েক সেকেন্ড', + m: 'এক মিনিট', + mm: '%d মিনিট', + h: 'এক ঘন্টা', + hh: '%d ঘন্টা', + d: 'এক দিন', + dd: '%d দিন', + M: 'এক মাস', + MM: '%d মাস', + y: 'এক বছর', + yy: '%d বছর' }, - dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, - ordinal: function ordinal(number) { - if (number === 0) { - return number; + preparse: function preparse(string) { + return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; } - if (number === 1) { - return number + '-ლი'; + if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') { + return hour + 12; + } else { + return hour; } - if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) { - return 'მე-' + number; + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'রাত'; + } else if (hour < 10) { + return 'সকাল'; + } else if (hour < 17) { + return 'দুপুর'; + } else if (hour < 20) { + return 'বিকাল'; + } else { + return 'রাত'; } - return number + '-ე'; }, week: { - dow: 1, - doy: 7 + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. } }); - return ka; + return bn; }); /***/ }), -/* 126 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20362,8 +18055,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Kazakh [kk] -//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan +//! locale : Tibetan [bo] +//! author : Thupten N. Chakrishar : https://github.com/vajradog ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20373,83 +18066,113 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var suffixes = { - 0: '-ші', - 1: '-ші', - 2: '-ші', - 3: '-ші', - 4: '-ші', - 5: '-ші', - 6: '-шы', - 7: '-ші', - 8: '-ші', - 9: '-шы', - 10: '-шы', - 20: '-шы', - 30: '-шы', - 40: '-шы', - 50: '-ші', - 60: '-шы', - 70: '-ші', - 80: '-ші', - 90: '-шы', - 100: '-ші' + var symbolMap = { + '1': '༡', + '2': '༢', + '3': '༣', + '4': '༤', + '5': '༥', + '6': '༦', + '7': '༧', + '8': '༨', + '9': '༩', + '0': '༠' + }; + var numberMap = { + '༡': '1', + '༢': '2', + '༣': '3', + '༤': '4', + '༥': '5', + '༦': '6', + '༧': '7', + '༨': '8', + '༩': '9', + '༠': '0' }; - var kk = moment.defineLocale('kk', { - months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'), - monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), - weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'), - weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), - weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), + var bo = moment.defineLocale('bo', { + months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + monthsShort: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), + weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'), + weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), + weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm' }, calendar: { - sameDay: '[Бүгін сағат] LT', - nextDay: '[Ертең сағат] LT', - nextWeek: 'dddd [сағат] LT', - lastDay: '[Кеше сағат] LT', - lastWeek: '[Өткен аптаның] dddd [сағат] LT', + sameDay: '[དི་རིང] LT', + nextDay: '[སང་ཉིན] LT', + nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', + lastDay: '[ཁ་སང] LT', + lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', sameElse: 'L' }, relativeTime: { - future: '%s ішінде', - past: '%s бұрын', - s: 'бірнеше секунд', - m: 'бір минут', - mm: '%d минут', - h: 'бір сағат', - hh: '%d сағат', - d: 'бір күн', - dd: '%d күн', - M: 'бір ай', - MM: '%d ай', - y: 'бір жыл', - yy: '%d жыл' + future: '%s ལ་', + past: '%s སྔན་ལ', + s: 'ལམ་སང', + m: 'སྐར་མ་གཅིག', + mm: '%d སྐར་མ', + h: 'ཆུ་ཚོད་གཅིག', + hh: '%d ཆུ་ཚོད', + d: 'ཉིན་གཅིག', + dd: '%d ཉིན་', + M: 'ཟླ་བ་གཅིག', + MM: '%d ཟླ་བ', + y: 'ལོ་གཅིག', + yy: '%d ལོ' }, - dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, - ordinal: function ordinal(number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); + preparse: function preparse(string) { + return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') { + return hour + 12; + } else { + return hour; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'མཚན་མོ'; + } else if (hour < 10) { + return 'ཞོགས་ཀས'; + } else if (hour < 17) { + return 'ཉིན་གུང'; + } else if (hour < 20) { + return 'དགོང་དག'; + } else { + return 'མཚན་མོ'; + } }, week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. } }); - return kk; + return bo; }); /***/ }), -/* 127 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20458,8 +18181,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Cambodian [km] -//! author : Kruy Vanna : https://github.com/kruyvanna +//! locale : Breton [br] +//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20469,42 +18192,92 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var km = moment.defineLocale('km', { - months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'), - monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'), - weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), - weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), - weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), + function relativeTimeWithMutation(number, withoutSuffix, key) { + var format = { + 'mm': 'munutenn', + 'MM': 'miz', + 'dd': 'devezh' + }; + return number + ' ' + mutation(format[key], number); + } + function specialMutationForYears(number) { + switch (lastNumber(number)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return number + ' bloaz'; + default: + return number + ' vloaz'; + } + } + function lastNumber(number) { + if (number > 9) { + return lastNumber(number % 10); + } + return number; + } + function mutation(text, number) { + if (number === 2) { + return softMutation(text); + } + return text; + } + function softMutation(text) { + var mutationTable = { + 'm': 'v', + 'b': 'v', + 'd': 'z' + }; + if (mutationTable[text.charAt(0)] === undefined) { + return text; + } + return mutationTable[text.charAt(0)] + text.substring(1); + } + + var br = moment.defineLocale('br', { + months: 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), + monthsShort: 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), + weekdays: 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), + weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', + LT: 'h[e]mm A', + LTS: 'h[e]mm:ss A', L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' + LL: 'D [a viz] MMMM YYYY', + LLL: 'D [a viz] MMMM YYYY h[e]mm A', + LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A' }, calendar: { - sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', - nextDay: '[ស្អែក ម៉ោង] LT', - nextWeek: 'dddd [ម៉ោង] LT', - lastDay: '[ម្សិលមិញ ម៉ោង] LT', - lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', + sameDay: '[Hiziv da] LT', + nextDay: '[Warc\'hoazh da] LT', + nextWeek: 'dddd [da] LT', + lastDay: '[Dec\'h da] LT', + lastWeek: 'dddd [paset da] LT', sameElse: 'L' }, relativeTime: { - future: '%sទៀត', - past: '%sមុន', - s: 'ប៉ុន្មានវិនាទី', - m: 'មួយនាទី', - mm: '%d នាទី', - h: 'មួយម៉ោង', - hh: '%d ម៉ោង', - d: 'មួយថ្ងៃ', - dd: '%d ថ្ងៃ', - M: 'មួយខែ', - MM: '%d ខែ', - y: 'មួយឆ្នាំ', - yy: '%d ឆ្នាំ' + future: 'a-benn %s', + past: '%s \'zo', + s: 'un nebeud segondennoù', + m: 'ur vunutenn', + mm: relativeTimeWithMutation, + h: 'un eur', + hh: '%d eur', + d: 'un devezh', + dd: relativeTimeWithMutation, + M: 'ur miz', + MM: relativeTimeWithMutation, + y: 'ur bloaz', + yy: specialMutationForYears + }, + dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, + ordinal: function ordinal(number) { + var output = number === 1 ? 'añ' : 'vet'; + return number + output; }, week: { dow: 1, // Monday is the first day of the week. @@ -20512,11 +18285,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }); - return km; + return br; }); /***/ }), -/* 128 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20525,8 +18298,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Kannada [kn] -//! author : Rajeev Naik : https://github.com/rajeevnaikte +//! locale : Bosnian [bs] +//! author : Nedim Cholich : https://github.com/frontyard +//! based on (hr) translation by Bojan Marković ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20536,122 +18310,138 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var symbolMap = { - '1': '೧', - '2': '೨', - '3': '೩', - '4': '೪', - '5': '೫', - '6': '೬', - '7': '೭', - '8': '೮', - '9': '೯', - '0': '೦' - }; - var numberMap = { - '೧': '1', - '೨': '2', - '೩': '3', - '೪': '4', - '೫': '5', - '೬': '6', - '೭': '7', - '೮': '8', - '೯': '9', - '೦': '0' - }; + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } - var kn = moment.defineLocale('kn', { - months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'), - monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ'.split('_'), + var bs = moment.defineLocale('bs', { + months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), monthsParseExact: true, - weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'), - weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), - weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm' + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm' }, calendar: { - sameDay: '[ಇಂದು] LT', - nextDay: '[ನಾಳೆ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ನಿನ್ನೆ] LT', - lastWeek: '[ಕೊನೆಯ] dddd, LT', + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function nextWeek() { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[jučer u] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + case 3: + return '[prošlu] dddd [u] LT'; + case 6: + return '[prošle] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prošli] dddd [u] LT'; + } + }, sameElse: 'L' }, relativeTime: { - future: '%s ನಂತರ', - past: '%s ಹಿಂದೆ', - s: 'ಕೆಲವು ಕ್ಷಣಗಳು', - m: 'ಒಂದು ನಿಮಿಷ', - mm: '%d ನಿಮಿಷ', - h: 'ಒಂದು ಗಂಟೆ', - hh: '%d ಗಂಟೆ', - d: 'ಒಂದು ದಿನ', - dd: '%d ದಿನ', - M: 'ಒಂದು ತಿಂಗಳು', - MM: '%d ತಿಂಗಳು', - y: 'ಒಂದು ವರ್ಷ', - yy: '%d ವರ್ಷ' - }, - preparse: function preparse(string) { - return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ರಾತ್ರಿ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { - return hour; - } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ಸಂಜೆ') { - return hour + 12; - } - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'ರಾತ್ರಿ'; - } else if (hour < 10) { - return 'ಬೆಳಿಗ್ಗೆ'; - } else if (hour < 17) { - return 'ಮಧ್ಯಾಹ್ನ'; - } else if (hour < 20) { - return 'ಸಂಜೆ'; - } else { - return 'ರಾತ್ರಿ'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, - ordinal: function ordinal(number) { - return number + 'ನೇ'; + future: 'za %s', + past: 'prije %s', + s: 'par sekundi', + m: translate, + mm: translate, + h: translate, + hh: translate, + d: 'dan', + dd: translate, + M: 'mjesec', + MM: translate, + y: 'godinu', + yy: translate }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return kn; + return bs; }); /***/ }), -/* 129 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20660,9 +18450,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Korean [ko] -//! author : Kyungwook, Park : https://github.com/kyungw00k -//! author : Jeeeyul Lee +//! locale : Catalan [ca] +//! author : Juan G. Hurtado : https://github.com/juanghurtado ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20672,64 +18461,81 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var ko = moment.defineLocale('ko', { - months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), - monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), - weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), - weekdaysShort: '일_월_화_수_목_금_토'.split('_'), - weekdaysMin: '일_월_화_수_목_금_토'.split('_'), + var ca = moment.defineLocale('ca', { + months: { + standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), + format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'), + isFormat: /D[oD]?(\s)+MMMM/ + }, + monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), + monthsParseExact: true, + weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), + weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), + weekdaysMin: 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'YYYY.MM.DD', - LL: 'YYYY년 MMMM D일', - LLL: 'YYYY년 MMMM D일 A h:mm', - LLLL: 'YYYY년 MMMM D일 dddd A h:mm', - l: 'YYYY.MM.DD', - ll: 'YYYY년 MMMM D일', - lll: 'YYYY년 MMMM D일 A h:mm', - llll: 'YYYY년 MMMM D일 dddd A h:mm' + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: '[el] D MMMM [de] YYYY', + ll: 'D MMM YYYY', + LLL: '[el] D MMMM [de] YYYY [a les] H:mm', + lll: 'D MMM YYYY, H:mm', + LLLL: '[el] dddd D MMMM [de] YYYY [a les] H:mm', + llll: 'ddd D MMM YYYY, H:mm' }, calendar: { - sameDay: '오늘 LT', - nextDay: '내일 LT', - nextWeek: 'dddd LT', - lastDay: '어제 LT', - lastWeek: '지난주 dddd LT', + sameDay: function sameDay() { + return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + nextDay: function nextDay() { + return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + nextWeek: function nextWeek() { + return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + lastDay: function lastDay() { + return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + lastWeek: function lastWeek() { + return '[el] dddd [passat a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, sameElse: 'L' }, relativeTime: { - future: '%s 후', - past: '%s 전', - s: '몇 초', - ss: '%d초', - m: '1분', - mm: '%d분', - h: '한 시간', - hh: '%d시간', - d: '하루', - dd: '%d일', - M: '한 달', - MM: '%d달', - y: '일 년', - yy: '%d년' + future: 'd\'aquí %s', + past: 'fa %s', + s: 'uns segons', + m: 'un minut', + mm: '%d minuts', + h: 'una hora', + hh: '%d hores', + d: 'un dia', + dd: '%d dies', + M: 'un mes', + MM: '%d mesos', + y: 'un any', + yy: '%d anys' }, - dayOfMonthOrdinalParse: /\d{1,2}일/, - ordinal: '%d일', - meridiemParse: /오전|오후/, - isPM: function isPM(token) { - return token === '오후'; + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal: function ordinal(number, period) { + var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è'; + if (period === 'w' || period === 'W') { + output = 'a'; + } + return number + output; }, - meridiem: function meridiem(hour, minute, isUpper) { - return hour < 12 ? '오전' : '오후'; + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return ko; + return ca; }); /***/ }), -/* 130 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20738,8 +18544,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Kyrgyz [ky] -//! author : Chyngyz Arystan uulu : https://github.com/chyngyz +//! locale : Czech [cs] +//! author : petrbela : https://github.com/petrbela ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20749,83 +18555,182 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var suffixes = { - 0: '-чү', - 1: '-чи', - 2: '-чи', - 3: '-чү', - 4: '-чү', - 5: '-чи', - 6: '-чы', - 7: '-чи', - 8: '-чи', - 9: '-чу', - 10: '-чу', - 20: '-чы', - 30: '-чу', - 40: '-чы', - 50: '-чү', - 60: '-чы', - 70: '-чи', - 80: '-чи', - 90: '-чу', - 100: '-чү' - }; + var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'); + var monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'); + function plural(n) { + return n > 1 && n < 5 && ~~(n / 10) !== 1; + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + // a few seconds / in a few seconds / a few seconds ago + return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; + case 'm': + // a minute / in a minute / a minute ago + return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; + case 'mm': + // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minuty' : 'minut'); + } else { + return result + 'minutami'; + } + break; + case 'h': + // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; + case 'hh': + // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodin'); + } else { + return result + 'hodinami'; + } + break; + case 'd': + // a day / in a day / a day ago + return withoutSuffix || isFuture ? 'den' : 'dnem'; + case 'dd': + // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dny' : 'dní'); + } else { + return result + 'dny'; + } + break; + case 'M': + // a month / in a month / a month ago + return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; + case 'MM': + // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'měsíce' : 'měsíců'); + } else { + return result + 'měsíci'; + } + break; + case 'y': + // a year / in a year / a year ago + return withoutSuffix || isFuture ? 'rok' : 'rokem'; + case 'yy': + // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'let'); + } else { + return result + 'lety'; + } + break; + } + } - var ky = moment.defineLocale('ky', { - months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'), - monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'), - weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), - weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), + var cs = moment.defineLocale('cs', { + months: months, + monthsShort: monthsShort, + monthsParse: function (months, monthsShort) { + var i, + _monthsParse = []; + for (i = 0; i < 12; i++) { + // use custom parser to solve problem with July (červenec) + _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i'); + } + return _monthsParse; + }(months, monthsShort), + shortMonthsParse: function (monthsShort) { + var i, + _shortMonthsParse = []; + for (i = 0; i < 12; i++) { + _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i'); + } + return _shortMonthsParse; + }(monthsShort), + longMonthsParse: function (months) { + var i, + _longMonthsParse = []; + for (i = 0; i < 12; i++) { + _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i'); + } + return _longMonthsParse; + }(months), + weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), + weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), + weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', + LT: 'H:mm', + LTS: 'H:mm:ss', L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd D. MMMM YYYY H:mm', + l: 'D. M. YYYY' }, calendar: { - sameDay: '[Бүгүн саат] LT', - nextDay: '[Эртең саат] LT', - nextWeek: 'dddd [саат] LT', - lastDay: '[Кече саат] LT', - lastWeek: '[Өткен аптанын] dddd [күнү] [саат] LT', + sameDay: '[dnes v] LT', + nextDay: '[zítra v] LT', + nextWeek: function nextWeek() { + switch (this.day()) { + case 0: + return '[v neděli v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve středu v] LT'; + case 4: + return '[ve čtvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[včera v] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + return '[minulou neděli v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou středu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, sameElse: 'L' }, relativeTime: { - future: '%s ичинде', - past: '%s мурун', - s: 'бирнече секунд', - m: 'бир мүнөт', - mm: '%d мүнөт', - h: 'бир саат', - hh: '%d саат', - d: 'бир күн', - dd: '%d күн', - M: 'бир ай', - MM: '%d ай', - y: 'бир жыл', - yy: '%d жыл' - }, - dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, - ordinal: function ordinal(number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); + future: 'za %s', + past: 'před %s', + s: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return ky; + return cs; }); /***/ }), -/* 131 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20834,9 +18739,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Luxembourgish [lb] -//! author : mweimerskirch : https://github.com/mweimerskirch -//! author : David Raison : https://github.com/kwisatz +//! locale : Chuvash [cv] +//! author : Anatoly Mironov : https://github.com/mirontoli ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20846,133 +18750,59 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - 'm': ['eng Minutt', 'enger Minutt'], - 'h': ['eng Stonn', 'enger Stonn'], - 'd': ['een Dag', 'engem Dag'], - 'M': ['ee Mount', 'engem Mount'], - 'y': ['ee Joer', 'engem Joer'] - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - function processFutureTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'a ' + string; - } - return 'an ' + string; - } - function processPastTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'viru ' + string; - } - return 'virun ' + string; - } - /** - * Returns true if the word before the given number loses the '-n' ending. - * e.g. 'an 10 Deeg' but 'a 5 Deeg' - * - * @param number {integer} - * @returns {boolean} - */ - function eifelerRegelAppliesToNumber(number) { - number = parseInt(number, 10); - if (isNaN(number)) { - return false; - } - if (number < 0) { - // Negative Number --> always true - return true; - } else if (number < 10) { - // Only 1 digit - if (4 <= number && number <= 7) { - return true; - } - return false; - } else if (number < 100) { - // 2 digits - var lastDigit = number % 10, - firstDigit = number / 10; - if (lastDigit === 0) { - return eifelerRegelAppliesToNumber(firstDigit); - } - return eifelerRegelAppliesToNumber(lastDigit); - } else if (number < 10000) { - // 3 or 4 digits --> recursively check first digit - while (number >= 10) { - number = number / 10; - } - return eifelerRegelAppliesToNumber(number); - } else { - // Anything larger than 4 digits: recursively check first n-3 digits - number = number / 1000; - return eifelerRegelAppliesToNumber(number); - } - } - - var lb = moment.defineLocale('lb', { - months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), - monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), - monthsParseExact: true, - weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), - weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, + var cv = moment.defineLocale('cv', { + months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), + monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), + weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'), + weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), + weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), longDateFormat: { - LT: 'H:mm [Auer]', - LTS: 'H:mm:ss [Auer]', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm [Auer]', - LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', + LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' }, calendar: { - sameDay: '[Haut um] LT', - sameElse: 'L', - nextDay: '[Muer um] LT', - nextWeek: 'dddd [um] LT', - lastDay: '[Gëschter um] LT', - lastWeek: function lastWeek() { - // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule - switch (this.day()) { - case 2: - case 4: - return '[Leschten] dddd [um] LT'; - default: - return '[Leschte] dddd [um] LT'; - } - } + sameDay: '[Паян] LT [сехетре]', + nextDay: '[Ыран] LT [сехетре]', + lastDay: '[Ӗнер] LT [сехетре]', + nextWeek: '[Ҫитес] dddd LT [сехетре]', + lastWeek: '[Иртнӗ] dddd LT [сехетре]', + sameElse: 'L' }, relativeTime: { - future: processFutureTime, - past: processPastTime, - s: 'e puer Sekonnen', - m: processRelativeTime, - mm: '%d Minutten', - h: processRelativeTime, - hh: '%d Stonnen', - d: processRelativeTime, - dd: '%d Deeg', - M: processRelativeTime, - MM: '%d Méint', - y: processRelativeTime, - yy: '%d Joer' + future: function future(output) { + var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; + return output + affix; + }, + past: '%s каялла', + s: 'пӗр-ик ҫеккунт', + m: 'пӗр минут', + mm: '%d минут', + h: 'пӗр сехет', + hh: '%d сехет', + d: 'пӗр кун', + dd: '%d кун', + M: 'пӗр уйӑх', + MM: '%d уйӑх', + y: 'пӗр ҫул', + yy: '%d ҫул' }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', + dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, + ordinal: '%d-мӗш', week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return lb; + return cv; }); /***/ }), -/* 132 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20981,8 +18811,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Lao [lo] -//! author : Ryan Hart : https://github.com/ryanhart2 +//! locale : Welsh [cy] +//! author : Robert Allen : https://github.com/robgallen +//! author : https://github.com/ryangreaves ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -20992,66 +18823,75 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var lo = moment.defineLocale('lo', { - months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'), - monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'), - weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), + var cy = moment.defineLocale('cy', { + months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), + monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), + weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), + weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), weekdaysParseExact: true, + // time formats are the same as en-gb longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', - LLLL: 'ວັນdddd D MMMM YYYY HH:mm' - }, - meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, - isPM: function isPM(input) { - return input === 'ຕອນແລງ'; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'ຕອນເຊົ້າ'; - } else { - return 'ຕອນແລງ'; - } + LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[ມື້ນີ້ເວລາ] LT', - nextDay: '[ມື້ອື່ນເວລາ] LT', - nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', - lastDay: '[ມື້ວານນີ້ເວລາ] LT', - lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', + sameDay: '[Heddiw am] LT', + nextDay: '[Yfory am] LT', + nextWeek: 'dddd [am] LT', + lastDay: '[Ddoe am] LT', + lastWeek: 'dddd [diwethaf am] LT', sameElse: 'L' }, relativeTime: { - future: 'ອີກ %s', - past: '%sຜ່ານມາ', - s: 'ບໍ່ເທົ່າໃດວິນາທີ', - m: '1 ນາທີ', - mm: '%d ນາທີ', - h: '1 ຊົ່ວໂມງ', - hh: '%d ຊົ່ວໂມງ', - d: '1 ມື້', - dd: '%d ມື້', - M: '1 ເດືອນ', - MM: '%d ເດືອນ', - y: '1 ປີ', - yy: '%d ປີ' + future: 'mewn %s', + past: '%s yn ôl', + s: 'ychydig eiliadau', + m: 'munud', + mm: '%d munud', + h: 'awr', + hh: '%d awr', + d: 'diwrnod', + dd: '%d diwrnod', + M: 'mis', + MM: '%d mis', + y: 'blwyddyn', + yy: '%d flynedd' }, - dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, + // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh ordinal: function ordinal(number) { - return 'ທີ່' + number; + var b = number, + output = '', + lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed + 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed + ]; + if (b > 20) { + if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { + output = 'fed'; // not 30ain, 70ain or 90ain + } else { + output = 'ain'; + } + } else if (b > 0) { + output = lookup[b]; + } + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return lo; + return cy; }); /***/ }), -/* 133 */ +/* 89 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21060,8 +18900,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Lithuanian [lt] -//! author : Mindaugas Mozūras : https://github.com/mmozuras +//! locale : Danish [da] +//! author : Ulrik Nielsen : https://github.com/mrbase ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21071,113 +18911,56 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var units = { - 'm': 'minutė_minutės_minutę', - 'mm': 'minutės_minučių_minutes', - 'h': 'valanda_valandos_valandą', - 'hh': 'valandos_valandų_valandas', - 'd': 'diena_dienos_dieną', - 'dd': 'dienos_dienų_dienas', - 'M': 'mėnuo_mėnesio_mėnesį', - 'MM': 'mėnesiai_mėnesių_mėnesius', - 'y': 'metai_metų_metus', - 'yy': 'metai_metų_metus' - }; - function translateSeconds(number, withoutSuffix, key, isFuture) { - if (withoutSuffix) { - return 'kelios sekundės'; - } else { - return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; - } - } - function translateSingular(number, withoutSuffix, key, isFuture) { - return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2]; - } - function special(number) { - return number % 10 === 0 || number > 10 && number < 20; - } - function forms(key) { - return units[key].split('_'); - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - if (number === 1) { - return result + translateSingular(number, withoutSuffix, key[0], isFuture); - } else if (withoutSuffix) { - return result + (special(number) ? forms(key)[1] : forms(key)[0]); - } else { - if (isFuture) { - return result + forms(key)[1]; - } else { - return result + (special(number) ? forms(key)[1] : forms(key)[2]); - } - } - } - var lt = moment.defineLocale('lt', { - months: { - format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'), - standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'), - isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ - }, - monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), - weekdays: { - format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'), - standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'), - isFormat: /dddd HH:mm/ - }, - weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), - weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), - weekdaysParseExact: true, + var da = moment.defineLocale('da', { + months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), + monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), + weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY [m.] MMMM D [d.]', - LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', - l: 'YYYY-MM-DD', - ll: 'YYYY [m.] MMMM D [d.]', - lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' + L: 'DD/MM/YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' }, calendar: { - sameDay: '[Šiandien] LT', - nextDay: '[Rytoj] LT', - nextWeek: 'dddd LT', - lastDay: '[Vakar] LT', - lastWeek: '[Praėjusį] dddd LT', + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'på dddd [kl.] LT', + lastDay: '[i går kl.] LT', + lastWeek: '[i] dddd[s kl.] LT', sameElse: 'L' }, relativeTime: { - future: 'po %s', - past: 'prieš %s', - s: translateSeconds, - m: translateSingular, - mm: translate, - h: translateSingular, - hh: translate, - d: translateSingular, - dd: translate, - M: translateSingular, - MM: translate, - y: translateSingular, - yy: translate - }, - dayOfMonthOrdinalParse: /\d{1,2}-oji/, - ordinal: function ordinal(number) { - return number + '-oji'; + future: 'om %s', + past: '%s siden', + s: 'få sekunder', + m: 'et minut', + mm: '%d minutter', + h: 'en time', + hh: '%d timer', + d: 'en dag', + dd: '%d dage', + M: 'en måned', + MM: '%d måneder', + y: 'et år', + yy: '%d år' }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return lt; + return da; }); /***/ }), -/* 134 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21186,90 +18969,72 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Latvian [lv] -//! author : Kristaps Karlsons : https://github.com/skakri -//! author : Jānis Elmeris : https://github.com/JanisE +//! locale : German (Austria) [de-at] +//! author : lluchs : https://github.com/lluchs +//! author: Menelion Elensúle: https://github.com/Oire +//! author : Martin Groller : https://github.com/MadMG +//! author : Mikolaj Dadela : https://github.com/mik01aj ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var units = { - 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'), - 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'), - 'h': 'stundas_stundām_stunda_stundas'.split('_'), - 'hh': 'stundas_stundām_stunda_stundas'.split('_'), - 'd': 'dienas_dienām_diena_dienas'.split('_'), - 'dd': 'dienas_dienām_diena_dienas'.split('_'), - 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - 'y': 'gada_gadiem_gads_gadi'.split('_'), - 'yy': 'gada_gadiem_gads_gadi'.split('_') - }; - /** - * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. - */ - function format(forms, number, withoutSuffix) { - if (withoutSuffix) { - // E.g. "21 minūte", "3 minūtes". - return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; - } else { - // E.g. "21 minūtes" as in "pēc 21 minūtes". - // E.g. "3 minūtēm" as in "pēc 3 minūtēm". - return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; - } - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - return number + ' ' + format(units[key], number, withoutSuffix); - } - function relativeTimeWithSingular(number, withoutSuffix, key) { - return format(units[key], number, withoutSuffix); - } - function relativeSeconds(number, withoutSuffix) { - return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; } - var lv = moment.defineLocale('lv', { - months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), - monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'), - weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), + var deAt = moment.defineLocale('de-at', { + months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY.', - LL: 'YYYY. [gada] D. MMMM', - LLL: 'YYYY. [gada] D. MMMM, HH:mm', - LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm' + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm' }, calendar: { - sameDay: '[Šodien pulksten] LT', - nextDay: '[Rīt pulksten] LT', - nextWeek: 'dddd [pulksten] LT', - lastDay: '[Vakar pulksten] LT', - lastWeek: '[Pagājušā] dddd [pulksten] LT', - sameElse: 'L' + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' }, relativeTime: { - future: 'pēc %s', - past: 'pirms %s', - s: relativeSeconds, - m: relativeTimeWithSingular, - mm: relativeTimeWithPlural, - h: relativeTimeWithSingular, - hh: relativeTimeWithPlural, - d: relativeTimeWithSingular, - dd: relativeTimeWithPlural, - M: relativeTimeWithSingular, - MM: relativeTimeWithPlural, - y: relativeTimeWithSingular, - yy: relativeTimeWithPlural + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + m: processRelativeTime, + mm: '%d Minuten', + h: processRelativeTime, + hh: '%d Stunden', + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', @@ -21279,11 +19044,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }); - return lv; + return deAt; }); /***/ }), -/* 135 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21292,8 +19057,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Montenegrin [me] -//! author : Miodrag Nikač : https://github.com/miodragnikac +//! locale : German (Switzerland) [de-ch] +//! author : sschueller : https://github.com/sschueller ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21303,99 +19068,74 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var translator = { - words: { //Different grammatical cases - m: ['jedan minut', 'jednog minuta'], - mm: ['minut', 'minuta', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mjesec', 'mjeseca', 'mjeseci'], - yy: ['godina', 'godine', 'godina'] - }, - correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) { - return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]; - }, - translate: function translate(number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return number + ' ' + translator.correctGrammaticalCase(number, wordKey); - } - } - }; + // based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de# - var me = moment.defineLocale('me', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var deCh = moment.defineLocale('de-ch', { + months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.'.split('_'), monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), weekdaysParseExact: true, longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', + LT: 'HH.mm', + LTS: 'HH.mm.ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm' + LLL: 'D. MMMM YYYY HH.mm', + LLLL: 'dddd, D. MMMM YYYY HH.mm' }, calendar: { - sameDay: '[danas u] LT', - nextDay: '[sjutra u] LT', - - nextWeek: function nextWeek() { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function lastWeek() { - var lastWeekDays = ['[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT']; - return lastWeekDays[this.day()]; - }, - sameElse: 'L' + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' }, relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'nekoliko sekundi', - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mjesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + m: processRelativeTime, + mm: '%d Minuten', + h: processRelativeTime, + hh: '%d Stunden', + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return me; + return deCh; }); /***/ }), -/* 136 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21404,8 +19144,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Maori [mi] -//! author : John Corrigan : https://github.com/johnideal +//! locale : German [de] +//! author : lluchs : https://github.com/lluchs +//! author: Menelion Elensúle: https://github.com/Oire +//! author : Mikolaj Dadela : https://github.com/mik01aj ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21415,60 +19157,72 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var mi = moment.defineLocale('mi', { - months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'), - monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), - monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, - weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), - weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eine Minute', 'einer Minute'], + 'h': ['eine Stunde', 'einer Stunde'], + 'd': ['ein Tag', 'einem Tag'], + 'dd': [number + ' Tage', number + ' Tagen'], + 'M': ['ein Monat', 'einem Monat'], + 'MM': [number + ' Monate', number + ' Monaten'], + 'y': ['ein Jahr', 'einem Jahr'], + 'yy': [number + ' Jahre', number + ' Jahren'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var de = moment.defineLocale('de', { + months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), + weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [i] HH:mm', - LLLL: 'dddd, D MMMM YYYY [i] HH:mm' + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm' }, calendar: { - sameDay: '[i teie mahana, i] LT', - nextDay: '[apopo i] LT', - nextWeek: 'dddd [i] LT', - lastDay: '[inanahi i] LT', - lastWeek: 'dddd [whakamutunga i] LT', - sameElse: 'L' + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]' }, relativeTime: { - future: 'i roto i %s', - past: '%s i mua', - s: 'te hēkona ruarua', - m: 'he meneti', - mm: '%d meneti', - h: 'te haora', - hh: '%d haora', - d: 'he ra', - dd: '%d ra', - M: 'he marama', - MM: '%d marama', - y: 'he tau', - yy: '%d tau' + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + m: processRelativeTime, + mm: '%d Minuten', + h: processRelativeTime, + hh: '%d Stunden', + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return mi; + return de; }); /***/ }), -/* 137 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21477,8 +19231,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Macedonian [mk] -//! author : Borislav Mickov : https://github.com/B0k0 +//! locale : Maldivian [dv] +//! author : Jawish Hameed : https://github.com/jawish ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21488,86 +19242,75 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var mk = moment.defineLocale('mk', { - months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'), - monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'), - weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), - weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), + var months = ['ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު']; + var weekdays = ['އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު']; + + var dv = moment.defineLocale('dv', { + months: months, + monthsShort: months, + weekdays: weekdays, + weekdaysShort: weekdays, + weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', + + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/M/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm' + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + meridiemParse: /މކ|މފ/, + isPM: function isPM(input) { + return 'މފ' === input; + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'މކ'; + } else { + return 'މފ'; + } }, calendar: { - sameDay: '[Денес во] LT', - nextDay: '[Утре во] LT', - nextWeek: '[Во] dddd [во] LT', - lastDay: '[Вчера во] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Изминатата] dddd [во] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Изминатиот] dddd [во] LT'; - } - }, + sameDay: '[މިއަދު] LT', + nextDay: '[މާދަމާ] LT', + nextWeek: 'dddd LT', + lastDay: '[އިއްޔެ] LT', + lastWeek: '[ފާއިތުވި] dddd LT', sameElse: 'L' }, relativeTime: { - future: 'после %s', - past: 'пред %s', - s: 'неколку секунди', - m: 'минута', - mm: '%d минути', - h: 'час', - hh: '%d часа', - d: 'ден', - dd: '%d дена', - M: 'месец', - MM: '%d месеци', - y: 'година', - yy: '%d години' + future: 'ތެރޭގައި %s', + past: 'ކުރިން %s', + s: 'ސިކުންތުކޮޅެއް', + m: 'މިނިޓެއް', + mm: 'މިނިޓު %d', + h: 'ގަޑިއިރެއް', + hh: 'ގަޑިއިރު %d', + d: 'ދުވަހެއް', + dd: 'ދުވަސް %d', + M: 'މަހެއް', + MM: 'މަސް %d', + y: 'އަހަރެއް', + yy: 'އަހަރު %d' }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function ordinal(number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } + preparse: function preparse(string) { + return string.replace(/،/g, ','); + }, + postformat: function postformat(string) { + return string.replace(/,/g, '،'); }, week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + dow: 7, // Sunday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } }); - return mk; + return dv; }); /***/ }), -/* 138 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21576,8 +19319,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Malayalam [ml] -//! author : Floyd Pink : https://github.com/floydpink +//! locale : Greek [el] +//! author : Aggelos Karalias : https://github.com/mehiel ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21587,75 +19330,97 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var ml = moment.defineLocale('ml', { - months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'), - monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'), - monthsParseExact: true, - weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'), - weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), - weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + + var el = moment.defineLocale('el', { + monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'), + monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'), + months: function months(momentToFormat, format) { + if (!momentToFormat) { + return this._monthsNominativeEl; + } else if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { + // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[momentToFormat.month()]; + } else { + return this._monthsNominativeEl[momentToFormat.month()]; + } + }, + monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), + weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'), + weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), + weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), + meridiem: function meridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'μμ' : 'ΜΜ'; + } else { + return isLower ? 'πμ' : 'ΠΜ'; + } + }, + isPM: function isPM(input) { + return (input + '').toLowerCase()[0] === 'μ'; + }, + meridiemParse: /[ΠΜ]\.?Μ?\.?/i, longDateFormat: { - LT: 'A h:mm -നു', - LTS: 'A h:mm:ss -നു', + LT: 'h:mm A', + LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm -നു', - LLLL: 'dddd, D MMMM YYYY, A h:mm -നു' - }, - calendar: { - sameDay: '[ഇന്ന്] LT', - nextDay: '[നാളെ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ഇന്നലെ] LT', - lastWeek: '[കഴിഞ്ഞ] dddd, LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s കഴിഞ്ഞ്', - past: '%s മുൻപ്', - s: 'അൽപ നിമിഷങ്ങൾ', - m: 'ഒരു മിനിറ്റ്', - mm: '%d മിനിറ്റ്', - h: 'ഒരു മണിക്കൂർ', - hh: '%d മണിക്കൂർ', - d: 'ഒരു ദിവസം', - dd: '%d ദിവസം', - M: 'ഒരു മാസം', - MM: '%d മാസം', - y: 'ഒരു വർഷം', - yy: '%d വർഷം' + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A' }, - meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') { - return hour + 12; - } else { - return hour; - } + calendarEl: { + sameDay: '[Σήμερα {}] LT', + nextDay: '[Αύριο {}] LT', + nextWeek: 'dddd [{}] LT', + lastDay: '[Χθες {}] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 6: + return '[το προηγούμενο] dddd [{}] LT'; + default: + return '[την προηγούμενη] dddd [{}] LT'; + } + }, + sameElse: 'L' }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'രാത്രി'; - } else if (hour < 12) { - return 'രാവിലെ'; - } else if (hour < 17) { - return 'ഉച്ച കഴിഞ്ഞ്'; - } else if (hour < 20) { - return 'വൈകുന്നേരം'; - } else { - return 'രാത്രി'; + calendar: function calendar(key, mom) { + var output = this._calendarEl[key], + hours = mom && mom.hours(); + if (isFunction(output)) { + output = output.apply(mom); } + return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); + }, + relativeTime: { + future: 'σε %s', + past: '%s πριν', + s: 'λίγα δευτερόλεπτα', + m: 'ένα λεπτό', + mm: '%d λεπτά', + h: 'μία ώρα', + hh: '%d ώρες', + d: 'μία μέρα', + dd: '%d μέρες', + M: 'ένας μήνας', + MM: '%d μήνες', + y: 'ένας χρόνος', + yy: '%d χρόνια' + }, + dayOfMonthOrdinalParse: /\d{1,2}η/, + ordinal: '%dη', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4st is the first week of the year. } }); - return ml; + return el; }); /***/ }), -/* 139 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21664,9 +19429,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Marathi [mr] -//! author : Harshad Kale : https://github.com/kalehv -//! author : Vivek Athalye : https://github.com/vnathalye +//! locale : English (Australia) [en-au] +//! author : Jared Morse : https://github.com/jarcoal ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21676,174 +19440,60 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var symbolMap = { - '1': '१', - '2': '२', - '3': '३', - '4': '४', - '5': '५', - '6': '६', - '7': '७', - '8': '८', - '9': '९', - '0': '०' - }; - var numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0' - }; - - function relativeTimeMr(number, withoutSuffix, string, isFuture) { - var output = ''; - if (withoutSuffix) { - switch (string) { - case 's': - output = 'काही सेकंद';break; - case 'm': - output = 'एक मिनिट';break; - case 'mm': - output = '%d मिनिटे';break; - case 'h': - output = 'एक तास';break; - case 'hh': - output = '%d तास';break; - case 'd': - output = 'एक दिवस';break; - case 'dd': - output = '%d दिवस';break; - case 'M': - output = 'एक महिना';break; - case 'MM': - output = '%d महिने';break; - case 'y': - output = 'एक वर्ष';break; - case 'yy': - output = '%d वर्षे';break; - } - } else { - switch (string) { - case 's': - output = 'काही सेकंदां';break; - case 'm': - output = 'एका मिनिटा';break; - case 'mm': - output = '%d मिनिटां';break; - case 'h': - output = 'एका तासा';break; - case 'hh': - output = '%d तासां';break; - case 'd': - output = 'एका दिवसा';break; - case 'dd': - output = '%d दिवसां';break; - case 'M': - output = 'एका महिन्या';break; - case 'MM': - output = '%d महिन्यां';break; - case 'y': - output = 'एका वर्षा';break; - case 'yy': - output = '%d वर्षां';break; - } - } - return output.replace(/%d/i, number); - } - - var mr = moment.defineLocale('mr', { - months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'), - monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'), - monthsParseExact: true, - weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), + var enAu = moment.defineLocale('en-au', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { - LT: 'A h:mm वाजता', - LTS: 'A h:mm:ss वाजता', + LT: 'h:mm A', + LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm वाजता', - LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता' + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A' }, calendar: { - sameDay: '[आज] LT', - nextDay: '[उद्या] LT', - nextWeek: 'dddd, LT', - lastDay: '[काल] LT', - lastWeek: '[मागील] dddd, LT', + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', sameElse: 'L' }, relativeTime: { - future: '%sमध्ये', - past: '%sपूर्वी', - s: relativeTimeMr, - m: relativeTimeMr, - mm: relativeTimeMr, - h: relativeTimeMr, - hh: relativeTimeMr, - d: relativeTimeMr, - dd: relativeTimeMr, - M: relativeTimeMr, - MM: relativeTimeMr, - y: relativeTimeMr, - yy: relativeTimeMr - }, - preparse: function preparse(string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'रात्री') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सकाळी') { - return hour; - } else if (meridiem === 'दुपारी') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'सायंकाळी') { - return hour + 12; - } + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years' }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'रात्री'; - } else if (hour < 10) { - return 'सकाळी'; - } else if (hour < 17) { - return 'दुपारी'; - } else if (hour < 20) { - return 'सायंकाळी'; - } else { - return 'रात्री'; - } + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; + return number + output; }, week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return mr; + return enAu; }); /***/ }), -/* 140 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21852,9 +19502,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Malay [ms-my] -//! note : DEPRECATED, the correct one is [ms] -//! author : Weldan Jamili : https://github.com/weldan +//! locale : English (Canada) [en-ca] +//! author : Jonathan Abourbih : https://github.com/jonbca ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21864,78 +19513,56 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var msMy = moment.defineLocale('ms-my', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + var enCa = moment.defineLocale('en-ca', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'YYYY-MM-DD', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A' }, calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', sameElse: 'L' }, relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun' + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years' }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; + return number + output; } }); - return msMy; + return enCa; }); /***/ }), -/* 141 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21944,8 +19571,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Malay [ms] -//! author : Weldan Jamili : https://github.com/weldan +//! locale : English (United Kingdom) [en-gb] +//! author : Chris Gedrim : https://github.com/chrisgedrim ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -21955,78 +19582,60 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var ms = moment.defineLocale('ms', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + var enGb = moment.defineLocale('en-gb', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', + LT: 'HH:mm', + LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', sameElse: 'L' }, relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun' + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; + return number + output; }, week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return ms; + return enGb; }); /***/ }), -/* 142 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22035,10 +19644,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Burmese [my] -//! author : Squar team, mysquar.com -//! author : David Rossellat : https://github.com/gholadr -//! author : Tin Aung Lin : https://github.com/thanyawzinmin +//! locale : English (Ireland) [en-ie] +//! author : Chris Cartlidge : https://github.com/chriscartlidge ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22048,90 +19655,133 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var symbolMap = { - '1': '၁', - '2': '၂', - '3': '၃', - '4': '၄', - '5': '၅', - '6': '၆', - '7': '၇', - '8': '၈', - '9': '၉', - '0': '၀' - }; - var numberMap = { - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - '၀': '0' - }; + var enIe = moment.defineLocale('en-ie', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - var my = moment.defineLocale('my', { - months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'), - monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), - weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'), - weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), + return enIe; +}); + +/***/ }), +/* 99 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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; }; + +//! moment.js locale configuration +//! locale : English (New Zealand) [en-nz] +//! author : Luke McGregor : https://github.com/lukemcgregor + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var enNz = moment.defineLocale('en-nz', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', + LT: 'h:mm A', + LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A' }, calendar: { - sameDay: '[ယနေ.] LT [မှာ]', - nextDay: '[မနက်ဖြန်] LT [မှာ]', - nextWeek: 'dddd LT [မှာ]', - lastDay: '[မနေ.က] LT [မှာ]', - lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', sameElse: 'L' }, relativeTime: { - future: 'လာမည့် %s မှာ', - past: 'လွန်ခဲ့သော %s က', - s: 'စက္ကန်.အနည်းငယ်', - m: 'တစ်မိနစ်', - mm: '%d မိနစ်', - h: 'တစ်နာရီ', - hh: '%d နာရီ', - d: 'တစ်ရက်', - dd: '%d ရက်', - M: 'တစ်လ', - MM: '%d လ', - y: 'တစ်နှစ်', - yy: '%d နှစ်' - }, - preparse: function preparse(string) { - return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { - return numberMap[match]; - }); + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years' }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; + return number + output; }, week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return my; + return enNz; }); /***/ }), -/* 143 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22140,9 +19790,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Norwegian Bokmål [nb] -//! authors : Espen Hovlandsdal : https://github.com/rexxars -//! Sigurd Gartmann : https://github.com/sigurdga +//! locale : Esperanto [eo] +//! author : Colin Dean : https://github.com/colindean +//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia +//! comment : miestasmia corrected the translation by colindean ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22152,58 +19803,67 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var nb = moment.defineLocale('nb', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), - monthsShort: 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), - monthsParseExact: true, - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - weekdaysParseExact: true, + var eo = moment.defineLocale('eo', { + months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'), + monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'), + weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), + weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), + weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' + L: 'YYYY-MM-DD', + LL: 'D[-a de] MMMM, YYYY', + LLL: 'D[-a de] MMMM, YYYY HH:mm', + LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function isPM(input) { + return input.charAt(0).toLowerCase() === 'p'; + }, + meridiem: function meridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } }, calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[forrige] dddd [kl.] LT', + sameDay: '[Hodiaŭ je] LT', + nextDay: '[Morgaŭ je] LT', + nextWeek: 'dddd [je] LT', + lastDay: '[Hieraŭ je] LT', + lastWeek: '[pasinta] dddd [je] LT', sameElse: 'L' }, relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'noen sekunder', - m: 'ett minutt', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dager', - M: 'en måned', - MM: '%d måneder', - y: 'ett år', - yy: '%d år' + future: 'post %s', + past: 'antaŭ %s', + s: 'sekundoj', + m: 'minuto', + mm: '%d minutoj', + h: 'horo', + hh: '%d horoj', + d: 'tago', //ne 'diurno', ĉar estas uzita por proksimumo + dd: '%d tagoj', + M: 'monato', + MM: '%d monatoj', + y: 'jaro', + yy: '%d jaroj' }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal: '%da', week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return nb; + return eo; }); /***/ }), -/* 144 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22212,8 +19872,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Nepalese [ne] -//! author : suvash : https://github.com/suvash +//! locale : Spanish (Dominican Republic) [es-do] ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22223,119 +19882,79 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var symbolMap = { - '1': '१', - '2': '२', - '3': '३', - '4': '४', - '5': '५', - '6': '६', - '7': '७', - '8': '८', - '9': '९', - '0': '०' - }; - var numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0' - }; + var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'); + var _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); - var ne = moment.defineLocale('ne', { - months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'), - monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'), + var esDo = moment.defineLocale('es-do', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), + monthsShort: function monthsShort(m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return _monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, monthsParseExact: true, - weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'), - weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), - weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), weekdaysParseExact: true, longDateFormat: { - LT: 'Aको h:mm बजे', - LTS: 'Aको h:mm:ss बजे', + LT: 'h:mm A', + LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, Aको h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे' - }, - preparse: function preparse(string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /राति|बिहान|दिउँसो|साँझ/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राति') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'बिहान') { - return hour; - } else if (meridiem === 'दिउँसो') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'साँझ') { - return hour + 12; - } - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 3) { - return 'राति'; - } else if (hour < 12) { - return 'बिहान'; - } else if (hour < 16) { - return 'दिउँसो'; - } else if (hour < 20) { - return 'साँझ'; - } else { - return 'राति'; - } + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY h:mm A', + LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' }, calendar: { - sameDay: '[आज] LT', - nextDay: '[भोलि] LT', - nextWeek: '[आउँदो] dddd[,] LT', - lastDay: '[हिजो] LT', - lastWeek: '[गएको] dddd[,] LT', + sameDay: function sameDay() { + return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextDay: function nextDay() { + return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextWeek: function nextWeek() { + return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastDay: function lastDay() { + return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastWeek: function lastWeek() { + return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, sameElse: 'L' }, relativeTime: { - future: '%sमा', - past: '%s अगाडि', - s: 'केही क्षण', - m: 'एक मिनेट', - mm: '%d मिनेट', - h: 'एक घण्टा', - hh: '%d घण्टा', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महिना', - MM: '%d महिना', - y: 'एक बर्ष', - yy: '%d बर्ष' + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años' }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return ne; + return esDo; }); /***/ }), -/* 145 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22344,9 +19963,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Dutch (Belgium) [nl-be] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj +//! locale : Spanish [es] +//! author : Julio Napurí : https://github.com/julionc ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22356,83 +19974,79 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'); - var monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); - - var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]; - var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'); + var _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); - var nlBe = moment.defineLocale('nl-be', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + var es = moment.defineLocale('es', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), monthsShort: function monthsShort(m, format) { if (!m) { - return monthsShortWithDots; + return monthsShortDot; } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; + return _monthsShort[m.month()]; } else { - return monthsShortWithDots[m.month()]; + return monthsShortDot[m.month()]; } }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'), + monthsParseExact: true, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), weekdaysParseExact: true, longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', + LT: 'H:mm', + LTS: 'H:mm:ss', L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' }, calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', + sameDay: function sameDay() { + return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextDay: function nextDay() { + return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextWeek: function nextWeek() { + return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastDay: function lastDay() { + return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastWeek: function lastWeek() { + return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, sameElse: 'L' }, relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar' - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function ordinal(number) { - return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años' }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return nlBe; + return es; }); /***/ }), -/* 146 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22441,9 +20055,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Dutch [nl] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj +//! locale : Estonian [et] +//! author : Henry Kehlmann : https://github.com/madhenry +//! improvements : Illimar Tambek : https://github.com/ragulka ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22453,83 +20067,75 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'); - var monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); - - var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]; - var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - - var nl = moment.defineLocale('nl', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), - monthsShort: function monthsShort(m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['mõne sekundi', 'mõni sekund', 'paar sekundit'], + 'm': ['ühe minuti', 'üks minut'], + 'mm': [number + ' minuti', number + ' minutit'], + 'h': ['ühe tunni', 'tund aega', 'üks tund'], + 'hh': [number + ' tunni', number + ' tundi'], + 'd': ['ühe päeva', 'üks päev'], + 'M': ['kuu aja', 'kuu aega', 'üks kuu'], + 'MM': [number + ' kuu', number + ' kuud'], + 'y': ['ühe aasta', 'aasta', 'üks aasta'], + 'yy': [number + ' aasta', number + ' aastat'] + }; + if (withoutSuffix) { + return format[key][2] ? format[key][2] : format[key][1]; + } + return isFuture ? format[key][0] : format[key][1]; + } - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'), - weekdaysParseExact: true, + var et = moment.defineLocale('et', { + months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), + monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), + weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), + weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), + weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm' }, calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', + sameDay: '[Täna,] LT', + nextDay: '[Homme,] LT', + nextWeek: '[Järgmine] dddd LT', + lastDay: '[Eile,] LT', + lastWeek: '[Eelmine] dddd LT', sameElse: 'L' }, relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar' - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function ordinal(number) { - return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); + future: '%s pärast', + past: '%s tagasi', + s: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: '%d päeva', + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return nl; + return et; }); /***/ }), -/* 147 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22538,8 +20144,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Nynorsk [nn] -//! author : https://github.com/mechuwind +//! locale : Basque [eu] +//! author : Eneko Illarramendi : https://github.com/eillarra ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22549,56 +20155,62 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var nn = moment.defineLocale('nn', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), - monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), - weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), - weekdaysShort: 'sun_mån_tys_ons_tor_fre_lau'.split('_'), - weekdaysMin: 'su_må_ty_on_to_fr_lø'.split('_'), + var eu = moment.defineLocale('eu', { + months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), + monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), + monthsParseExact: true, + weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), + weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), + weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' + L: 'YYYY-MM-DD', + LL: 'YYYY[ko] MMMM[ren] D[a]', + LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', + LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', + l: 'YYYY-M-D', + ll: 'YYYY[ko] MMM D[a]', + lll: 'YYYY[ko] MMM D[a] HH:mm', + llll: 'ddd, YYYY[ko] MMM D[a] HH:mm' }, calendar: { - sameDay: '[I dag klokka] LT', - nextDay: '[I morgon klokka] LT', - nextWeek: 'dddd [klokka] LT', - lastDay: '[I går klokka] LT', - lastWeek: '[Føregåande] dddd [klokka] LT', + sameDay: '[gaur] LT[etan]', + nextDay: '[bihar] LT[etan]', + nextWeek: 'dddd LT[etan]', + lastDay: '[atzo] LT[etan]', + lastWeek: '[aurreko] dddd LT[etan]', sameElse: 'L' }, relativeTime: { - future: 'om %s', - past: '%s sidan', - s: 'nokre sekund', - m: 'eit minutt', - mm: '%d minutt', - h: 'ein time', - hh: '%d timar', - d: 'ein dag', - dd: '%d dagar', - M: 'ein månad', - MM: '%d månader', - y: 'eit år', - yy: '%d år' + future: '%s barru', + past: 'duela %s', + s: 'segundo batzuk', + m: 'minutu bat', + mm: '%d minutu', + h: 'ordu bat', + hh: '%d ordu', + d: 'egun bat', + dd: '%d egun', + M: 'hilabete bat', + MM: '%d hilabete', + y: 'urte bat', + yy: '%d urte' }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return nn; + return eu; }); /***/ }), -/* 148 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22607,8 +20219,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Punjabi (India) [pa-in] -//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit +//! locale : Persian [fa] +//! author : Ebrahim Byagowi : https://github.com/ebraminio ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22619,119 +20231,103 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol 'use strict'; var symbolMap = { - '1': '੧', - '2': '੨', - '3': '੩', - '4': '੪', - '5': '੫', - '6': '੬', - '7': '੭', - '8': '੮', - '9': '੯', - '0': '੦' + '1': '۱', + '2': '۲', + '3': '۳', + '4': '۴', + '5': '۵', + '6': '۶', + '7': '۷', + '8': '۸', + '9': '۹', + '0': '۰' }; var numberMap = { - '੧': '1', - '੨': '2', - '੩': '3', - '੪': '4', - '੫': '5', - '੬': '6', - '੭': '7', - '੮': '8', - '੯': '9', - '੦': '0' + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + '۰': '0' }; - var paIn = moment.defineLocale('pa-in', { - // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi. - months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), - monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), - weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'), - weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), + var fa = moment.defineLocale('fa', { + months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), + weekdays: '\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'), + weekdaysShort: '\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'), + weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'A h:mm ਵਜੇ', - LTS: 'A h:mm:ss ਵਜੇ', + LT: 'HH:mm', + LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', - LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ' + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' + }, + meridiemParse: /قبل از ظهر|بعد از ظهر/, + isPM: function isPM(input) { + return (/بعد از ظهر/.test(input) + ); + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'قبل از ظهر'; + } else { + return 'بعد از ظهر'; + } }, calendar: { - sameDay: '[ਅਜ] LT', - nextDay: '[ਕਲ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ਕਲ] LT', - lastWeek: '[ਪਿਛਲੇ] dddd, LT', + sameDay: '[امروز ساعت] LT', + nextDay: '[فردا ساعت] LT', + nextWeek: 'dddd [ساعت] LT', + lastDay: '[دیروز ساعت] LT', + lastWeek: 'dddd [پیش] [ساعت] LT', sameElse: 'L' }, relativeTime: { - future: '%s ਵਿੱਚ', - past: '%s ਪਿਛਲੇ', - s: 'ਕੁਝ ਸਕਿੰਟ', - m: 'ਇਕ ਮਿੰਟ', - mm: '%d ਮਿੰਟ', - h: 'ਇੱਕ ਘੰਟਾ', - hh: '%d ਘੰਟੇ', - d: 'ਇੱਕ ਦਿਨ', - dd: '%d ਦਿਨ', - M: 'ਇੱਕ ਮਹੀਨਾ', - MM: '%d ਮਹੀਨੇ', - y: 'ਇੱਕ ਸਾਲ', - yy: '%d ਸਾਲ' + future: 'در %s', + past: '%s پیش', + s: 'چند ثانیه', + m: 'یک دقیقه', + mm: '%d دقیقه', + h: 'یک ساعت', + hh: '%d ساعت', + d: 'یک روز', + dd: '%d روز', + M: 'یک ماه', + MM: '%d ماه', + y: 'یک سال', + yy: '%d سال' }, preparse: function preparse(string) { - return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { + return string.replace(/[۰-۹]/g, function (match) { return numberMap[match]; - }); + }).replace(/،/g, ','); }, postformat: function postformat(string) { return string.replace(/\d/g, function (match) { return symbolMap[match]; - }); - }, - // Punjabi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. - meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ਰਾਤ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ਸਵੇਰ') { - return hour; - } else if (meridiem === 'ਦੁਪਹਿਰ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ਸ਼ਾਮ') { - return hour + 12; - } - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'ਰਾਤ'; - } else if (hour < 10) { - return 'ਸਵੇਰ'; - } else if (hour < 17) { - return 'ਦੁਪਹਿਰ'; - } else if (hour < 20) { - return 'ਸ਼ਾਮ'; - } else { - return 'ਰਾਤ'; - } + }).replace(/,/g, '،'); }, + dayOfMonthOrdinalParse: /\d{1,2}م/, + ordinal: '%dم', week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. + dow: 6, // Saturday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } }); - return paIn; + return fa; }); /***/ }), -/* 149 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22740,8 +20336,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Polish [pl] -//! author : Rafal Hirsz : https://github.com/evoL +//! locale : Finnish [fi] +//! author : Tarmo Aidantausta : https://github.com/bleadof ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22751,88 +20347,85 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'); - var monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_'); - function plural(n) { - return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; - } - function translate(number, withoutSuffix, key) { - var result = number + ' '; + var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '); + var numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', numbersPast[7], numbersPast[8], numbersPast[9]]; + function translate(number, withoutSuffix, key, isFuture) { + var result = ''; switch (key) { + case 's': + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; case 'm': - return withoutSuffix ? 'minuta' : 'minutę'; + return isFuture ? 'minuutin' : 'minuutti'; case 'mm': - return result + (plural(number) ? 'minuty' : 'minut'); + result = isFuture ? 'minuutin' : 'minuuttia'; + break; case 'h': - return withoutSuffix ? 'godzina' : 'godzinę'; + return isFuture ? 'tunnin' : 'tunti'; case 'hh': - return result + (plural(number) ? 'godziny' : 'godzin'); + result = isFuture ? 'tunnin' : 'tuntia'; + break; + case 'd': + return isFuture ? 'päivän' : 'päivä'; + case 'dd': + result = isFuture ? 'päivän' : 'päivää'; + break; + case 'M': + return isFuture ? 'kuukauden' : 'kuukausi'; case 'MM': - return result + (plural(number) ? 'miesiące' : 'miesięcy'); + result = isFuture ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return isFuture ? 'vuoden' : 'vuosi'; case 'yy': - return result + (plural(number) ? 'lata' : 'lat'); + result = isFuture ? 'vuoden' : 'vuotta'; + break; } + result = verbalNumber(number, isFuture) + ' ' + result; + return result; + } + function verbalNumber(number, isFuture) { + return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number; } - var pl = moment.defineLocale('pl', { - months: function months(momentToFormat, format) { - if (!momentToFormat) { - return monthsNominative; - } else if (format === '') { - // Hack: if format empty we know this is used to generate - // RegExp by moment. Give then back both valid forms of months - // in RegExp ready format. - return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; - } else if (/D MMMM/.test(format)) { - return monthsSubjective[momentToFormat.month()]; - } else { - return monthsNominative[momentToFormat.month()]; - } - }, - monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), - weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'), - weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), - weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), + var fi = moment.defineLocale('fi', { + months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), + monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), + weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), + weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), + weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', + LT: 'HH.mm', + LTS: 'HH.mm.ss', L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' + LL: 'Do MMMM[ta] YYYY', + LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', + LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', + l: 'D.M.YYYY', + ll: 'Do MMM YYYY', + lll: 'Do MMM YYYY, [klo] HH.mm', + llll: 'ddd, Do MMM YYYY, [klo] HH.mm' }, calendar: { - sameDay: '[Dziś o] LT', - nextDay: '[Jutro o] LT', - nextWeek: '[W] dddd [o] LT', - lastDay: '[Wczoraj o] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - return '[W zeszłą niedzielę o] LT'; - case 3: - return '[W zeszłą środę o] LT'; - case 6: - return '[W zeszłą sobotę o] LT'; - default: - return '[W zeszły] dddd [o] LT'; - } - }, + sameDay: '[tänään] [klo] LT', + nextDay: '[huomenna] [klo] LT', + nextWeek: 'dddd [klo] LT', + lastDay: '[eilen] [klo] LT', + lastWeek: '[viime] dddd[na] [klo] LT', sameElse: 'L' }, relativeTime: { - future: 'za %s', - past: '%s temu', - s: 'kilka sekund', + future: '%s päästä', + past: '%s sitten', + s: translate, m: translate, mm: translate, h: translate, hh: translate, - d: '1 dzień', - dd: '%d dni', - M: 'miesiąc', + d: translate, + dd: translate, + M: translate, MM: translate, - y: 'rok', + y: translate, yy: translate }, dayOfMonthOrdinalParse: /\d{1,2}\./, @@ -22843,11 +20436,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }); - return pl; + return fi; }); /***/ }), -/* 150 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22856,8 +20449,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Portuguese (Brazil) [pt-br] -//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira +//! locale : Faroese [fo] +//! author : Ragnar Johannesen : https://github.com/ragnar123 ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22867,56 +20460,139 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var ptBr = moment.defineLocale('pt-br', { - months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), - weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), - weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), - weekdaysParseExact: true, + var fo = moment.defineLocale('fo', { + months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'), + weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), + weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm' + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D. MMMM, YYYY HH:mm' }, calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function lastWeek() { - return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : // Saturday + Sunday - '[Última] dddd [às] LT'; // Monday - Friday - }, + sameDay: '[Í dag kl.] LT', + nextDay: '[Í morgin kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[Í gjár kl.] LT', + lastWeek: '[síðstu] dddd [kl] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'um %s', + past: '%s síðani', + s: 'fá sekund', + m: 'ein minutt', + mm: '%d minuttir', + h: 'ein tími', + hh: '%d tímar', + d: 'ein dagur', + dd: '%d dagar', + M: 'ein mánaði', + MM: '%d mánaðir', + y: 'eitt ár', + yy: '%d ár' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return fo; +}); + +/***/ }), +/* 108 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + +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; }; + +//! moment.js locale configuration +//! locale : French (Canada) [fr-ca] +//! author : Jonathan Abourbih : https://github.com/jonbca + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var frCa = moment.defineLocale('fr-ca', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact: true, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', sameElse: 'L' }, relativeTime: { - future: 'em %s', - past: '%s atrás', - s: 'poucos segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos' + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans' }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº' + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal: function ordinal(number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + } }); - return ptBr; + return frCa; }); /***/ }), -/* 151 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22925,8 +20601,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Portuguese [pt] -//! author : Jefferson : https://github.com/jalex79 +//! locale : French (Switzerland) [fr-ch] +//! author : Gaspard Bucher : https://github.com/gaspard ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -22936,60 +20612,74 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var pt = moment.defineLocale('pt', { - months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado'.split('_'), - weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), - weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + var frCh = moment.defineLocale('fr-ch', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact: true, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm' + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function lastWeek() { - return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : // Saturday + Sunday - '[Última] dddd [às] LT'; // Monday - Friday - }, + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', sameElse: 'L' }, relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos' + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal: function ordinal(number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return pt; + return frCh; }); /***/ }), -/* 152 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22998,9 +20688,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Romanian [ro] -//! author : Vlad Gurdiga : https://github.com/gurdiga -//! author : Valentin Agachi : https://github.com/avaly +//! locale : French [fr] +//! author : John Fischer : https://github.com/jfroffice ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23010,70 +20699,79 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - 'mm': 'minute', - 'hh': 'ore', - 'dd': 'zile', - 'MM': 'luni', - 'yy': 'ani' - }, - separator = ' '; - if (number % 100 >= 20 || number >= 100 && number % 100 === 0) { - separator = ' de '; - } - return number + separator + format[key]; - } - - var ro = moment.defineLocale('ro', { - months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), - monthsShort: 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), + var fr = moment.defineLocale('fr', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), monthsParseExact: true, - weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), - weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), - weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm' + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[azi la] LT', - nextDay: '[mâine la] LT', - nextWeek: 'dddd [la] LT', - lastDay: '[ieri la] LT', - lastWeek: '[fosta] dddd [la] LT', + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', sameElse: 'L' }, relativeTime: { - future: 'peste %s', - past: '%s în urmă', - s: 'câteva secunde', - m: 'un minut', - mm: relativeTimeWithPlural, - h: 'o oră', - hh: relativeTimeWithPlural, - d: 'o zi', - dd: relativeTimeWithPlural, - M: 'o lună', - MM: relativeTimeWithPlural, + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + M: 'un mois', + MM: '%d mois', y: 'un an', - yy: relativeTimeWithPlural + yy: '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal: function ordinal(number, period) { + switch (period) { + // TODO: Return 'e' when day of month > 1. Move this case inside + // block for masculine words below. + // See https://github.com/moment/moment/issues/3375 + case 'D': + return number + (number === 1 ? 'er' : ''); + + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } }, week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return ro; + return fr; }); /***/ }), -/* 153 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23082,10 +20780,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Russian [ru] -//! author : Viktorminator : https://github.com/Viktorminator -//! Author : Menelion Elensúle : https://github.com/Oire -//! author : Коренберг Марк : https://github.com/socketpair +//! locale : Frisian [fy] +//! author : Robin van der Vliet : https://github.com/robin0van0der0v ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23095,177 +20791,71 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', - 'hh': 'час_часа_часов', - 'dd': 'день_дня_дней', - 'MM': 'месяц_месяца_месяцев', - 'yy': 'год_года_лет' - }; - if (key === 'm') { - return withoutSuffix ? 'минута' : 'минуту'; - } else { - return number + ' ' + plural(format[key], +number); - } - } - var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i]; + var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'); + var monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); - // http://new.gramota.ru/spravka/rules/139-prop : § 103 - // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 - // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 - var ru = moment.defineLocale('ru', { - months: { - format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'), - standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_') - }, - monthsShort: { - // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ? - format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'), - standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_') - }, - weekdays: { - standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'), - format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'), - isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/ + var fy = moment.defineLocale('fy', { + months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), + monthsShort: function monthsShort(m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } }, - weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки - monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // копия предыдущего - monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // полные названия с падежами - monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, - - // Выражение, которое соотвествует только сокращённым формам - monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, + monthsParseExact: true, + weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), + weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), + weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., HH:mm', - LLLL: 'dddd, D MMMM YYYY г., HH:mm' + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[Сегодня в] LT', - nextDay: '[Завтра в] LT', - lastDay: '[Вчера в] LT', - nextWeek: function nextWeek(now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В следующее] dddd [в] LT'; - case 1: - case 2: - case 4: - return '[В следующий] dddd [в] LT'; - case 3: - case 5: - case 6: - return '[В следующую] dddd [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd [в] LT'; - } else { - return '[В] dddd [в] LT'; - } - } - }, - lastWeek: function lastWeek(now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В прошлое] dddd [в] LT'; - case 1: - case 2: - case 4: - return '[В прошлый] dddd [в] LT'; - case 3: - case 5: - case 6: - return '[В прошлую] dddd [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd [в] LT'; - } else { - return '[В] dddd [в] LT'; - } - } - }, + sameDay: '[hjoed om] LT', + nextDay: '[moarn om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[juster om] LT', + lastWeek: '[ôfrûne] dddd [om] LT', sameElse: 'L' }, relativeTime: { - future: 'через %s', - past: '%s назад', - s: 'несколько секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'час', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural - }, - meridiemParse: /ночи|утра|дня|вечера/i, - isPM: function isPM(input) { - return (/^(дня|вечера)$/.test(input) - ); - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'ночи'; - } else if (hour < 12) { - return 'утра'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечера'; - } + future: 'oer %s', + past: '%s lyn', + s: 'in pear sekonden', + m: 'ien minút', + mm: '%d minuten', + h: 'ien oere', + hh: '%d oeren', + d: 'ien dei', + dd: '%d dagen', + M: 'ien moanne', + MM: '%d moannen', + y: 'ien jier', + yy: '%d jierren' }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, - ordinal: function ordinal(number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - return number + '-й'; - case 'D': - return number + '-го'; - case 'w': - case 'W': - return number + '-я'; - default: - return number; - } + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function ordinal(number) { + return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); }, week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return ru; + return fy; }); /***/ }), -/* 154 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23274,8 +20864,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Sindhi [sd] -//! author : Narain Sagar : https://github.com/narainsagar +//! locale : Scottish Gaelic [gd] +//! author : Jon Ashdown : https://github.com/jonashdown ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23285,61 +20875,58 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var months = ['جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر']; - var days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; + var months = ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd']; - var sd = moment.defineLocale('sd', { + var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh']; + + var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; + + var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; + + var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; + + var gd = moment.defineLocale('gd', { months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, + monthsShort: monthsShort, + monthsParseExact: true, + weekdays: weekdays, + weekdaysShort: weekdaysShort, + weekdaysMin: weekdaysMin, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm' - }, - meridiemParse: /صبح|شام/, - isPM: function isPM(input) { - return 'شام' === input; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; + LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[اڄ] LT', - nextDay: '[سڀاڻي] LT', - nextWeek: 'dddd [اڳين هفتي تي] LT', - lastDay: '[ڪالهه] LT', - lastWeek: '[گزريل هفتي] dddd [تي] LT', + sameDay: '[An-diugh aig] LT', + nextDay: '[A-màireach aig] LT', + nextWeek: 'dddd [aig] LT', + lastDay: '[An-dè aig] LT', + lastWeek: 'dddd [seo chaidh] [aig] LT', sameElse: 'L' }, relativeTime: { - future: '%s پوء', - past: '%s اڳ', - s: 'چند سيڪنڊ', - m: 'هڪ منٽ', - mm: '%d منٽ', - h: 'هڪ ڪلاڪ', - hh: '%d ڪلاڪ', - d: 'هڪ ڏينهن', - dd: '%d ڏينهن', - M: 'هڪ مهينو', - MM: '%d مهينا', - y: 'هڪ سال', - yy: '%d سال' - }, - preparse: function preparse(string) { - return string.replace(/،/g, ','); + future: 'ann an %s', + past: 'bho chionn %s', + s: 'beagan diogan', + m: 'mionaid', + mm: '%d mionaidean', + h: 'uair', + hh: '%d uairean', + d: 'latha', + dd: '%d latha', + M: 'mìos', + MM: '%d mìosan', + y: 'bliadhna', + yy: '%d bliadhna' }, - postformat: function postformat(string) { - return string.replace(/,/g, '،'); + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function ordinal(number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; }, week: { dow: 1, // Monday is the first day of the week. @@ -23347,11 +20934,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }); - return sd; + return gd; }); /***/ }), -/* 155 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23360,8 +20947,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Northern Sami [se] -//! authors : Bård Rolstad Henriksen : https://github.com/karamell +//! locale : Galician [gl] +//! author : Juan G. Hurtado : https://github.com/juanghurtado ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23371,56 +20958,73 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var se = moment.defineLocale('se', { - months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'), - monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'), - weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'), - weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), - weekdaysMin: 's_v_m_g_d_b_L'.split('_'), + var gl = moment.defineLocale('gl', { + months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), + monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'MMMM D. [b.] YYYY', - LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', - LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' }, calendar: { - sameDay: '[otne ti] LT', - nextDay: '[ihttin ti] LT', - nextWeek: 'dddd [ti] LT', - lastDay: '[ikte ti] LT', - lastWeek: '[ovddit] dddd [ti] LT', + sameDay: function sameDay() { + return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; + }, + nextDay: function nextDay() { + return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; + }, + nextWeek: function nextWeek() { + return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; + }, + lastDay: function lastDay() { + return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; + }, + lastWeek: function lastWeek() { + return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; + }, sameElse: 'L' }, relativeTime: { - future: '%s geažes', - past: 'maŋit %s', - s: 'moadde sekunddat', - m: 'okta minuhta', - mm: '%d minuhtat', - h: 'okta diimmu', - hh: '%d diimmut', - d: 'okta beaivi', - dd: '%d beaivvit', - M: 'okta mánnu', - MM: '%d mánut', - y: 'okta jahki', - yy: '%d jagit' + future: function future(str) { + if (str.indexOf('un') === 0) { + return 'n' + str; + } + return 'en ' + str; + }, + past: 'hai %s', + s: 'uns segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'unha hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + M: 'un mes', + MM: '%d meses', + y: 'un ano', + yy: '%d anos' }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return se; + return gl; }); /***/ }), -/* 156 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23429,8 +21033,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Sinhalese [si] -//! author : Sampath Sitinamaluwa : https://github.com/sampathsris +//! locale : Konkani Latin script [gom-latn] +//! author : The Discoverer : https://github.com/WikiDiscoverer ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23440,68 +21044,118 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - /*jshint -W100*/ + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['thodde secondanim', 'thodde second'], + 'm': ['eka mintan', 'ek minute'], + 'mm': [number + ' mintanim', number + ' mintam'], + 'h': ['eka horan', 'ek hor'], + 'hh': [number + ' horanim', number + ' hor'], + 'd': ['eka disan', 'ek dis'], + 'dd': [number + ' disanim', number + ' dis'], + 'M': ['eka mhoinean', 'ek mhoino'], + 'MM': [number + ' mhoineanim', number + ' mhoine'], + 'y': ['eka vorsan', 'ek voros'], + 'yy': [number + ' vorsanim', number + ' vorsam'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } - var si = moment.defineLocale('si', { - months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'), - monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'), - weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'), - weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), - weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), + var gomLatn = moment.defineLocale('gom-latn', { + months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'), + monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'), + weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), + weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), weekdaysParseExact: true, longDateFormat: { - LT: 'a h:mm', - LTS: 'a h:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY MMMM D', - LLL: 'YYYY MMMM D, a h:mm', - LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss' + LT: 'A h:mm [vazta]', + LTS: 'A h:mm:ss [vazta]', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY A h:mm [vazta]', + LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]', + llll: 'ddd, D MMM YYYY, A h:mm [vazta]' }, calendar: { - sameDay: '[අද] LT[ට]', - nextDay: '[හෙට] LT[ට]', - nextWeek: 'dddd LT[ට]', - lastDay: '[ඊයේ] LT[ට]', - lastWeek: '[පසුගිය] dddd LT[ට]', + sameDay: '[Aiz] LT', + nextDay: '[Faleam] LT', + nextWeek: '[Ieta to] dddd[,] LT', + lastDay: '[Kal] LT', + lastWeek: '[Fatlo] dddd[,] LT', sameElse: 'L' }, relativeTime: { - future: '%sකින්', - past: '%sකට පෙර', - s: 'තත්පර කිහිපය', - m: 'මිනිත්තුව', - mm: 'මිනිත්තු %d', - h: 'පැය', - hh: 'පැය %d', - d: 'දිනය', - dd: 'දින %d', - M: 'මාසය', - MM: 'මාස %d', - y: 'වසර', - yy: 'වසර %d' + future: '%s', + past: '%s adim', + s: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime }, - dayOfMonthOrdinalParse: /\d{1,2} වැනි/, - ordinal: function ordinal(number) { - return number + ' වැනි'; + dayOfMonthOrdinalParse: /\d{1,2}(er)/, + ordinal: function ordinal(number, period) { + switch (period) { + // the ordinal 'er' only applies to day of the month + case 'D': + return number + 'er'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return number; + } }, - meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, - isPM: function isPM(input) { - return input === 'ප.ව.' || input === 'පස් වරු'; + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'ප.ව.' : 'පස් වරු'; + meridiemParse: /rati|sokalli|donparam|sanje/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'rati') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'sokalli') { + return hour; + } else if (meridiem === 'donparam') { + return hour > 12 ? hour : hour + 12; + } else if (meridiem === 'sanje') { + return hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'rati'; + } else if (hour < 12) { + return 'sokalli'; + } else if (hour < 16) { + return 'donparam'; + } else if (hour < 20) { + return 'sanje'; } else { - return isLower ? 'පෙ.ව.' : 'පෙර වරු'; + return 'rati'; } } }); - return si; + return gomLatn; }); /***/ }), -/* 157 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23510,9 +21164,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Slovak [sk] -//! author : Martin Minka : https://github.com/k2s -//! based on work of petrbela : https://github.com/petrbela +//! locale : Hebrew [he] +//! author : Tomer Cohen : https://github.com/tomer +//! author : Moshe Simantov : https://github.com/DevelopmentIL +//! author : Tal Ater : https://github.com/TalAter ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23522,156 +21177,227 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'); - var monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); - function plural(n) { - return n > 1 && n < 5; - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; - case 'm': - // a minute / in a minute / a minute ago - return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; - case 'mm': - // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minúty' : 'minút'); - } else { - return result + 'minútami'; - } - break; - case 'h': - // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': - // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodín'); - } else { - return result + 'hodinami'; + var he = moment.defineLocale('he', { + months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'), + monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'), + weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), + weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), + weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [ב]MMMM YYYY', + LLL: 'D [ב]MMMM YYYY HH:mm', + LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', + l: 'D/M/YYYY', + ll: 'D MMM YYYY', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd, D MMM YYYY HH:mm' + }, + calendar: { + sameDay: '[היום ב־]LT', + nextDay: '[מחר ב־]LT', + nextWeek: 'dddd [בשעה] LT', + lastDay: '[אתמול ב־]LT', + lastWeek: '[ביום] dddd [האחרון בשעה] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'בעוד %s', + past: 'לפני %s', + s: 'מספר שניות', + m: 'דקה', + mm: '%d דקות', + h: 'שעה', + hh: function hh(number) { + if (number === 2) { + return 'שעתיים'; } - break; - case 'd': - // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'deň' : 'dňom'; - case 'dd': - // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dni' : 'dní'); - } else { - return result + 'dňami'; + return number + ' שעות'; + }, + d: 'יום', + dd: function dd(number) { + if (number === 2) { + return 'יומיים'; } - break; - case 'M': - // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; - case 'MM': - // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'mesiace' : 'mesiacov'); - } else { - return result + 'mesiacmi'; + return number + ' ימים'; + }, + M: 'חודש', + MM: function MM(number) { + if (number === 2) { + return 'חודשיים'; } - break; - case 'y': - // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokom'; - case 'yy': - // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'rokov'); - } else { - return result + 'rokmi'; + return number + ' חודשים'; + }, + y: 'שנה', + yy: function yy(number) { + if (number === 2) { + return 'שנתיים'; + } else if (number % 10 === 0 && number !== 10) { + return number + ' שנה'; } - break; + return number + ' שנים'; + } + }, + meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, + isPM: function isPM(input) { + return (/^(אחה"צ|אחרי הצהריים|בערב)$/.test(input) + ); + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 5) { + return 'לפנות בוקר'; + } else if (hour < 10) { + return 'בבוקר'; + } else if (hour < 12) { + return isLower ? 'לפנה"צ' : 'לפני הצהריים'; + } else if (hour < 18) { + return isLower ? 'אחה"צ' : 'אחרי הצהריים'; + } else { + return 'בערב'; + } } - } + }); - var sk = moment.defineLocale('sk', { - months: months, - monthsShort: monthsShort, - weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), - weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), - weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), + return he; +}); + +/***/ }), +/* 116 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + +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; }; + +//! moment.js locale configuration +//! locale : Hindi [hi] +//! author : Mayank Singhal : https://github.com/mayanksinghal + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': '७', + '8': '८', + '9': '९', + '0': '०' + }; + var numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + var hi = moment.defineLocale('hi', { + months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'), + monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'), + monthsParseExact: true, + weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), + weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), + weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm' + LT: 'A h:mm बजे', + LTS: 'A h:mm:ss बजे', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm बजे', + LLLL: 'dddd, D MMMM YYYY, A h:mm बजे' }, calendar: { - sameDay: '[dnes o] LT', - nextDay: '[zajtra o] LT', - nextWeek: function nextWeek() { - switch (this.day()) { - case 0: - return '[v nedeľu o] LT'; - case 1: - case 2: - return '[v] dddd [o] LT'; - case 3: - return '[v stredu o] LT'; - case 4: - return '[vo štvrtok o] LT'; - case 5: - return '[v piatok o] LT'; - case 6: - return '[v sobotu o] LT'; - } - }, - lastDay: '[včera o] LT', - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - return '[minulú nedeľu o] LT'; - case 1: - case 2: - return '[minulý] dddd [o] LT'; - case 3: - return '[minulú stredu o] LT'; - case 4: - case 5: - return '[minulý] dddd [o] LT'; - case 6: - return '[minulú sobotu o] LT'; - } - }, + sameDay: '[आज] LT', + nextDay: '[कल] LT', + nextWeek: 'dddd, LT', + lastDay: '[कल] LT', + lastWeek: '[पिछले] dddd, LT', sameElse: 'L' }, relativeTime: { - future: 'za %s', - past: 'pred %s', - s: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate + future: '%s में', + past: '%s पहले', + s: 'कुछ ही क्षण', + m: 'एक मिनट', + mm: '%d मिनट', + h: 'एक घंटा', + hh: '%d घंटे', + d: 'एक दिन', + dd: '%d दिन', + M: 'एक महीने', + MM: '%d महीने', + y: 'एक वर्ष', + yy: '%d वर्ष' + }, + preparse: function preparse(string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Hindi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. + meridiemParse: /रात|सुबह|दोपहर|शाम/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रात') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सुबह') { + return hour; + } else if (meridiem === 'दोपहर') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'शाम') { + return hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'रात'; + } else if (hour < 10) { + return 'सुबह'; + } else if (hour < 17) { + return 'दोपहर'; + } else if (hour < 20) { + return 'शाम'; + } else { + return 'रात'; + } }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. } }); - return sk; + return hi; }); /***/ }), -/* 158 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23680,8 +21406,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Slovenian [sl] -//! author : Robert Sedovšek : https://github.com/sedovsek +//! locale : Croatian [hr] +//! author : Bojan Marković : https://github.com/bmarkovic ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23691,84 +21417,69 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function processRelativeTime(number, withoutSuffix, key, isFuture) { + function translate(number, withoutSuffix, key) { var result = number + ' '; switch (key) { - case 's': - return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; case 'm': - return withoutSuffix ? 'ena minuta' : 'eno minuto'; + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; case 'mm': if (number === 1) { - result += withoutSuffix ? 'minuta' : 'minuto'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'minute' : 'minutami'; + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; } else { - result += withoutSuffix || isFuture ? 'minut' : 'minutami'; + result += 'minuta'; } return result; case 'h': - return withoutSuffix ? 'ena ura' : 'eno uro'; + return withoutSuffix ? 'jedan sat' : 'jednog sata'; case 'hh': if (number === 1) { - result += withoutSuffix ? 'ura' : 'uro'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'uri' : 'urama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'ure' : 'urami'; + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; } else { - result += withoutSuffix || isFuture ? 'ur' : 'urami'; + result += 'sati'; } return result; - case 'd': - return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; case 'dd': if (number === 1) { - result += withoutSuffix || isFuture ? 'dan' : 'dnem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; + result += 'dan'; } else { - result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; + result += 'dana'; } return result; - case 'M': - return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; case 'MM': if (number === 1) { - result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; } else { - result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; + result += 'mjeseci'; } return result; - case 'y': - return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; case 'yy': if (number === 1) { - result += withoutSuffix || isFuture ? 'leto' : 'letom'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'leti' : 'letoma'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'leta' : 'leti'; + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; } else { - result += withoutSuffix || isFuture ? 'let' : 'leti'; + result += 'godina'; } return result; } } - var sl = moment.defineLocale('sl', { - months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'), + var hr = moment.defineLocale('hr', { + months: { + format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), + standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') + }, + monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), monthsParseExact: true, - weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), - weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), - weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), weekdaysParseExact: true, longDateFormat: { LT: 'H:mm', @@ -23779,56 +21490,54 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol LLLL: 'dddd, D. MMMM YYYY H:mm' }, calendar: { - sameDay: '[danes ob] LT', - nextDay: '[jutri ob] LT', - + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', nextWeek: function nextWeek() { switch (this.day()) { case 0: - return '[v] [nedeljo] [ob] LT'; + return '[u] [nedjelju] [u] LT'; case 3: - return '[v] [sredo] [ob] LT'; + return '[u] [srijedu] [u] LT'; case 6: - return '[v] [soboto] [ob] LT'; + return '[u] [subotu] [u] LT'; case 1: case 2: case 4: case 5: - return '[v] dddd [ob] LT'; + return '[u] dddd [u] LT'; } }, - lastDay: '[včeraj ob] LT', + lastDay: '[jučer u] LT', lastWeek: function lastWeek() { switch (this.day()) { case 0: - return '[prejšnjo] [nedeljo] [ob] LT'; case 3: - return '[prejšnjo] [sredo] [ob] LT'; + return '[prošlu] dddd [u] LT'; case 6: - return '[prejšnjo] [soboto] [ob] LT'; + return '[prošle] [subote] [u] LT'; case 1: case 2: case 4: case 5: - return '[prejšnji] dddd [ob] LT'; + return '[prošli] dddd [u] LT'; } }, sameElse: 'L' }, relativeTime: { - future: 'čez %s', - past: 'pred %s', - s: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime + future: 'za %s', + past: 'prije %s', + s: 'par sekundi', + m: translate, + mm: translate, + h: translate, + hh: translate, + d: 'dan', + dd: translate, + M: 'mjesec', + MM: translate, + y: 'godinu', + yy: translate }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', @@ -23838,11 +21547,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }); - return sl; + return hr; }); /***/ }), -/* 159 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23851,10 +21560,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Albanian [sq] -//! author : Flakërim Ismani : https://github.com/flakerimi -//! author : Menelion Elensúle : https://github.com/Oire -//! author : Oerd Cukalla : https://github.com/oerd +//! locale : Hungarian [hu] +//! author : Adam Brunner : https://github.com/adambrunner ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -23864,175 +21571,105 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var sq = moment.defineLocale('sq', { - months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), - monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), - weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), - weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), - weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), - weekdaysParseExact: true, - meridiemParse: /PD|MD/, - isPM: function isPM(input) { - return input.charAt(0) === 'M'; - }, - meridiem: function meridiem(hours, minutes, isLower) { - return hours < 12 ? 'PD' : 'MD'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, - calendar: { - sameDay: '[Sot në] LT', - nextDay: '[Nesër në] LT', - nextWeek: 'dddd [në] LT', - lastDay: '[Dje në] LT', - lastWeek: 'dddd [e kaluar në] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'në %s', - past: '%s më parë', - s: 'disa sekonda', - m: 'një minutë', - mm: '%d minuta', - h: 'një orë', - hh: '%d orë', - d: 'një ditë', - dd: '%d ditë', - M: 'një muaj', - MM: '%d muaj', - y: 'një vit', - yy: '%d vite' - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' '); + function translate(number, withoutSuffix, key, isFuture) { + var num = number, + suffix; + switch (key) { + case 's': + return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce'; + case 'm': + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'mm': + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'h': + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'hh': + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'd': + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'dd': + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'M': + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'MM': + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); + case 'yy': + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); } - }); - - return sq; -}); - -/***/ }), -/* 160 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Serbian Cyrillic [sr-cyrl] -//! author : Milan Janačković : https://github.com/milan-j - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; + return ''; + } + function week(isFuture) { + return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; + } - var translator = { - words: { //Different grammatical cases - m: ['један минут', 'једне минуте'], - mm: ['минут', 'минуте', 'минута'], - h: ['један сат', 'једног сата'], - hh: ['сат', 'сата', 'сати'], - dd: ['дан', 'дана', 'дана'], - MM: ['месец', 'месеца', 'месеци'], - yy: ['година', 'године', 'година'] + var hu = moment.defineLocale('hu', { + months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), + monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), + weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), + weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), + weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'YYYY.MM.DD.', + LL: 'YYYY. MMMM D.', + LLL: 'YYYY. MMMM D. H:mm', + LLLL: 'YYYY. MMMM D., dddd H:mm' }, - correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) { - return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]; + meridiemParse: /de|du/i, + isPM: function isPM(input) { + return input.charAt(1).toLowerCase() === 'u'; }, - translate: function translate(number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 12) { + return isLower === true ? 'de' : 'DE'; } else { - return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + return isLower === true ? 'du' : 'DU'; } - } - }; - - var srCyrl = moment.defineLocale('sr-cyrl', { - months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'), - monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'), - monthsParseExact: true, - weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), - weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), - weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm' }, calendar: { - sameDay: '[данас у] LT', - nextDay: '[сутра у] LT', + sameDay: '[ma] LT[-kor]', + nextDay: '[holnap] LT[-kor]', nextWeek: function nextWeek() { - switch (this.day()) { - case 0: - return '[у] [недељу] [у] LT'; - case 3: - return '[у] [среду] [у] LT'; - case 6: - return '[у] [суботу] [у] LT'; - case 1: - case 2: - case 4: - case 5: - return '[у] dddd [у] LT'; - } + return week.call(this, true); }, - lastDay: '[јуче у] LT', + lastDay: '[tegnap] LT[-kor]', lastWeek: function lastWeek() { - var lastWeekDays = ['[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT']; - return lastWeekDays[this.day()]; + return week.call(this, false); }, sameElse: 'L' }, relativeTime: { - future: 'за %s', - past: 'пре %s', - s: 'неколико секунди', - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'дан', - dd: translator.translate, - M: 'месец', - MM: translator.translate, - y: 'годину', - yy: translator.translate + future: '%s múlva', + past: '%s', + s: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return srCyrl; + return hu; }); /***/ }), -/* 161 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24041,8 +21678,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Serbian [sr] -//! author : Milan Janačković : https://github.com/milan-j +//! locale : Armenian [hy-am] +//! author : Armendarabyan : https://github.com/armendarabyan ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24052,98 +21689,92 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var translator = { - words: { //Different grammatical cases - m: ['jedan minut', 'jedne minute'], - mm: ['minut', 'minute', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mesec', 'meseca', 'meseci'], - yy: ['godina', 'godine', 'godina'] - }, - correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) { - return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]; + var hyAm = moment.defineLocale('hy-am', { + months: { + format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'), + standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_') }, - translate: function translate(number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return number + ' ' + translator.correctGrammaticalCase(number, wordKey); - } - } - }; - - var sr = moment.defineLocale('sr', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'), - weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, + monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), + weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'), + weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), + weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', + LT: 'HH:mm', + LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm' + LL: 'D MMMM YYYY թ.', + LLL: 'D MMMM YYYY թ., HH:mm', + LLLL: 'dddd, D MMMM YYYY թ., HH:mm' }, calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', + sameDay: '[այսօր] LT', + nextDay: '[վաղը] LT', + lastDay: '[երեկ] LT', nextWeek: function nextWeek() { - switch (this.day()) { - case 0: - return '[u] [nedelju] [u] LT'; - case 3: - return '[u] [sredu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } + return 'dddd [օրը ժամը] LT'; }, - lastDay: '[juče u] LT', lastWeek: function lastWeek() { - var lastWeekDays = ['[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT']; - return lastWeekDays[this.day()]; + return '[անցած] dddd [օրը ժամը] LT'; }, sameElse: 'L' }, - relativeTime: { - future: 'za %s', - past: 'pre %s', - s: 'nekoliko sekundi', - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate + relativeTime: { + future: '%s հետո', + past: '%s առաջ', + s: 'մի քանի վայրկյան', + m: 'րոպե', + mm: '%d րոպե', + h: 'ժամ', + hh: '%d ժամ', + d: 'օր', + dd: '%d օր', + M: 'ամիս', + MM: '%d ամիս', + y: 'տարի', + yy: '%d տարի' + }, + meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, + isPM: function isPM(input) { + return (/^(ցերեկվա|երեկոյան)$/.test(input) + ); + }, + meridiem: function meridiem(hour) { + if (hour < 4) { + return 'գիշերվա'; + } else if (hour < 12) { + return 'առավոտվա'; + } else if (hour < 17) { + return 'ցերեկվա'; + } else { + return 'երեկոյան'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, + ordinal: function ordinal(number, period) { + switch (period) { + case 'DDD': + case 'w': + case 'W': + case 'DDDo': + if (number === 1) { + return number + '-ին'; + } + return number + '-րդ'; + default: + return number; + } }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return sr; + return hyAm; }); /***/ }), -/* 162 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24152,8 +21783,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : siSwati [ss] -//! author : Nicolai Davies : https://github.com/nicolaidavies +//! locale : Indonesian [id] +//! author : Mohammad Satrio Utomo : https://github.com/tyok +//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24163,84 +21795,78 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var ss = moment.defineLocale('ss', { - months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'), - monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), - weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'), - weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), - weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), - weekdaysParseExact: true, + var id = moment.defineLocale('id', { + months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), + monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'), + weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), + weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), + weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', + LT: 'HH.mm', + LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A' - }, - calendar: { - sameDay: '[Namuhla nga] LT', - nextDay: '[Kusasa nga] LT', - nextWeek: 'dddd [nga] LT', - lastDay: '[Itolo nga] LT', - lastWeek: 'dddd [leliphelile] [nga] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'nga %s', - past: 'wenteka nga %s', - s: 'emizuzwana lomcane', - m: 'umzuzu', - mm: '%d emizuzu', - h: 'lihora', - hh: '%d emahora', - d: 'lilanga', - dd: '%d emalanga', - M: 'inyanga', - MM: '%d tinyanga', - y: 'umnyaka', - yy: '%d iminyaka' - }, - meridiemParse: /ekuseni|emini|entsambama|ebusuku/, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 11) { - return 'ekuseni'; - } else if (hours < 15) { - return 'emini'; - } else if (hours < 19) { - return 'entsambama'; - } else { - return 'ebusuku'; - } + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' }, + meridiemParse: /pagi|siang|sore|malam/, meridiemHour: function meridiemHour(hour, meridiem) { if (hour === 12) { hour = 0; } - if (meridiem === 'ekuseni') { + if (meridiem === 'pagi') { return hour; - } else if (meridiem === 'emini') { + } else if (meridiem === 'siang') { return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { - if (hour === 0) { - return 0; - } + } else if (meridiem === 'sore' || meridiem === 'malam') { return hour + 12; } }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: '%d', + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'siang'; + } else if (hours < 19) { + return 'sore'; + } else { + return 'malam'; + } + }, + calendar: { + sameDay: '[Hari ini pukul] LT', + nextDay: '[Besok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kemarin pukul] LT', + lastWeek: 'dddd [lalu pukul] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'dalam %s', + past: '%s yang lalu', + s: 'beberapa detik', + m: 'semenit', + mm: '%d menit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun' + }, week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return ss; + return id; }); /***/ }), -/* 163 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24249,8 +21875,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Swedish [sv] -//! author : Jens Alm : https://github.com/ulmus +//! locale : Icelandic [is] +//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24260,62 +21886,123 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var sv = moment.defineLocale('sv', { - months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), - weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), - weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), + function plural(n) { + if (n % 100 === 11) { + return true; + } else if (n % 10 === 1) { + return false; + } + return true; + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; + case 'm': + return withoutSuffix ? 'mínúta' : 'mínútu'; + case 'mm': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum'); + } else if (withoutSuffix) { + return result + 'mínúta'; + } + return result + 'mínútu'; + case 'hh': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); + } + return result + 'klukkustund'; + case 'd': + if (withoutSuffix) { + return 'dagur'; + } + return isFuture ? 'dag' : 'degi'; + case 'dd': + if (plural(number)) { + if (withoutSuffix) { + return result + 'dagar'; + } + return result + (isFuture ? 'daga' : 'dögum'); + } else if (withoutSuffix) { + return result + 'dagur'; + } + return result + (isFuture ? 'dag' : 'degi'); + case 'M': + if (withoutSuffix) { + return 'mánuður'; + } + return isFuture ? 'mánuð' : 'mánuði'; + case 'MM': + if (plural(number)) { + if (withoutSuffix) { + return result + 'mánuðir'; + } + return result + (isFuture ? 'mánuði' : 'mánuðum'); + } else if (withoutSuffix) { + return result + 'mánuður'; + } + return result + (isFuture ? 'mánuð' : 'mánuði'); + case 'y': + return withoutSuffix || isFuture ? 'ár' : 'ári'; + case 'yy': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); + } + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); + } + } + + var is = moment.defineLocale('is', { + months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'), + monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), + weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), + weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), + weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd D MMM YYYY HH:mm' + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] H:mm', + LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm' }, calendar: { - sameDay: '[Idag] LT', - nextDay: '[Imorgon] LT', - lastDay: '[Igår] LT', - nextWeek: '[På] dddd LT', - lastWeek: '[I] dddd[s] LT', + sameDay: '[í dag kl.] LT', + nextDay: '[á morgun kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[í gær kl.] LT', + lastWeek: '[síðasta] dddd [kl.] LT', sameElse: 'L' }, relativeTime: { - future: 'om %s', - past: 'för %s sedan', - s: 'några sekunder', - m: 'en minut', - mm: '%d minuter', - h: 'en timme', - hh: '%d timmar', - d: 'en dag', - dd: '%d dagar', - M: 'en månad', - MM: '%d månader', - y: 'ett år', - yy: '%d år' - }, - dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, - ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'e' : b === 1 ? 'a' : b === 2 ? 'a' : b === 3 ? 'e' : 'e'; - return number + output; + future: 'eftir %s', + past: 'fyrir %s síðan', + s: translate, + m: translate, + mm: translate, + h: 'klukkustund', + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return sv; + return is; }); /***/ }), -/* 164 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24324,8 +22011,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Swahili [sw] -//! author : Fahad Kassim : https://github.com/fadsel +//! locale : Italian [it] +//! author : Lorenzo : https://github.com/aliem +//! author: Mattia Larentis: https://github.com/nostalgiaz ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24335,55 +22023,65 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var sw = moment.defineLocale('sw', { - months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), - weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), - weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), - weekdaysParseExact: true, + var it = moment.defineLocale('it', { + months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), + monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), + weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', + L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[leo saa] LT', - nextDay: '[kesho saa] LT', - nextWeek: '[wiki ijayo] dddd [saat] LT', - lastDay: '[jana] LT', - lastWeek: '[wiki iliyopita] dddd [saat] LT', + sameDay: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, sameElse: 'L' }, relativeTime: { - future: '%s baadaye', - past: 'tokea %s', - s: 'hivi punde', - m: 'dakika moja', - mm: 'dakika %d', - h: 'saa limoja', - hh: 'masaa %d', - d: 'siku moja', - dd: 'masiku %d', - M: 'mwezi mmoja', - MM: 'miezi %d', - y: 'mwaka mmoja', - yy: 'miaka %d' + future: function future(s) { + return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; + }, + past: '%s fa', + s: 'alcuni secondi', + m: 'un minuto', + mm: '%d minuti', + h: 'un\'ora', + hh: '%d ore', + d: 'un giorno', + dd: '%d giorni', + M: 'un mese', + MM: '%d mesi', + y: 'un anno', + yy: '%d anni' }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return sw; + return it; }); /***/ }), -/* 165 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24392,8 +22090,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Tamil [ta] -//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 +//! locale : Japanese [ja] +//! author : LI Long : https://github.com/baryon ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24403,126 +22101,76 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var symbolMap = { - '1': '௧', - '2': '௨', - '3': '௩', - '4': '௪', - '5': '௫', - '6': '௬', - '7': '௭', - '8': '௮', - '9': '௯', - '0': '௦' - }; - var numberMap = { - '௧': '1', - '௨': '2', - '௩': '3', - '௪': '4', - '௫': '5', - '௬': '6', - '௭': '7', - '௮': '8', - '௯': '9', - '௦': '0' - }; - - var ta = moment.defineLocale('ta', { - months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'), - monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'), - weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'), - weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'), - weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), + var ja = moment.defineLocale('ja', { + months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), + weekdaysShort: '日_月_火_水_木_金_土'.split('_'), + weekdaysMin: '日_月_火_水_木_金_土'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, HH:mm', - LLLL: 'dddd, D MMMM YYYY, HH:mm' - }, - calendar: { - sameDay: '[இன்று] LT', - nextDay: '[நாளை] LT', - nextWeek: 'dddd, LT', - lastDay: '[நேற்று] LT', - lastWeek: '[கடந்த வாரம்] dddd, LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s இல்', - past: '%s முன்', - s: 'ஒரு சில விநாடிகள்', - m: 'ஒரு நிமிடம்', - mm: '%d நிமிடங்கள்', - h: 'ஒரு மணி நேரம்', - hh: '%d மணி நேரம்', - d: 'ஒரு நாள்', - dd: '%d நாட்கள்', - M: 'ஒரு மாதம்', - MM: '%d மாதங்கள்', - y: 'ஒரு வருடம்', - yy: '%d ஆண்டுகள்' - }, - dayOfMonthOrdinalParse: /\d{1,2}வது/, - ordinal: function ordinal(number) { - return number + 'வது'; - }, - preparse: function preparse(string) { - return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { - return numberMap[match]; - }); + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日 HH:mm dddd', + l: 'YYYY/MM/DD', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日 HH:mm dddd' }, - postformat: function postformat(string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); + meridiemParse: /午前|午後/i, + isPM: function isPM(input) { + return input === '午後'; }, - // refer http://ta.wikipedia.org/s/1er1 - meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, meridiem: function meridiem(hour, minute, isLower) { - if (hour < 2) { - return ' யாமம்'; - } else if (hour < 6) { - return ' வைகறை'; // வைகறை - } else if (hour < 10) { - return ' காலை'; // காலை - } else if (hour < 14) { - return ' நண்பகல்'; // நண்பகல் - } else if (hour < 18) { - return ' எற்பாடு'; // எற்பாடு - } else if (hour < 22) { - return ' மாலை'; // மாலை + if (hour < 12) { + return '午前'; } else { - return ' யாமம்'; + return '午後'; } }, - meridiemHour: function meridiemHour(hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'யாமம்') { - return hour < 2 ? hour : hour + 12; - } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { - return hour; - } else if (meridiem === 'நண்பகல்') { - return hour >= 10 ? hour : hour + 12; - } else { - return hour + 12; + calendar: { + sameDay: '[今日] LT', + nextDay: '[明日] LT', + nextWeek: '[来週]dddd LT', + lastDay: '[昨日] LT', + lastWeek: '[前週]dddd LT', + sameElse: 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}日/, + ordinal: function ordinal(number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + default: + return number; } }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. + relativeTime: { + future: '%s後', + past: '%s前', + s: '数秒', + m: '1分', + mm: '%d分', + h: '1時間', + hh: '%d時間', + d: '1日', + dd: '%d日', + M: '1ヶ月', + MM: '%dヶ月', + y: '1年', + yy: '%d年' } }); - return ta; + return ja; }); /***/ }), -/* 166 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24531,8 +22179,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Telugu [te] -//! author : Krishna Chaitanya Thota : https://github.com/kcthota +//! locale : Javanese [jv] +//! author : Rony Lantip : https://github.com/lantip +//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24542,159 +22191,78 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var te = moment.defineLocale('te', { - months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'), - monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'), - monthsParseExact: true, - weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'), - weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), - weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), + var jv = moment.defineLocale('jv', { + months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), + monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), + weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), + weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), + weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', + LT: 'HH.mm', + LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm' - }, - calendar: { - sameDay: '[నేడు] LT', - nextDay: '[రేపు] LT', - nextWeek: 'dddd, LT', - lastDay: '[నిన్న] LT', - lastWeek: '[గత] dddd, LT', - sameElse: 'L' - }, - relativeTime: { - future: '%s లో', - past: '%s క్రితం', - s: 'కొన్ని క్షణాలు', - m: 'ఒక నిమిషం', - mm: '%d నిమిషాలు', - h: 'ఒక గంట', - hh: '%d గంటలు', - d: 'ఒక రోజు', - dd: '%d రోజులు', - M: 'ఒక నెల', - MM: '%d నెలలు', - y: 'ఒక సంవత్సరం', - yy: '%d సంవత్సరాలు' + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' }, - dayOfMonthOrdinalParse: /\d{1,2}వ/, - ordinal: '%dవ', - meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, + meridiemParse: /enjing|siyang|sonten|ndalu/, meridiemHour: function meridiemHour(hour, meridiem) { if (hour === 12) { hour = 0; } - if (meridiem === 'రాత్రి') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ఉదయం') { + if (meridiem === 'enjing') { return hour; - } else if (meridiem === 'మధ్యాహ్నం') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'సాయంత్రం') { + } else if (meridiem === 'siyang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sonten' || meridiem === 'ndalu') { return hour + 12; } }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'రాత్రి'; - } else if (hour < 10) { - return 'ఉదయం'; - } else if (hour < 17) { - return 'మధ్యాహ్నం'; - } else if (hour < 20) { - return 'సాయంత్రం'; + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 11) { + return 'enjing'; + } else if (hours < 15) { + return 'siyang'; + } else if (hours < 19) { + return 'sonten'; } else { - return 'రాత్రి'; + return 'ndalu'; } }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6 // The week that contains Jan 1st is the first week of the year. - } - }); - - return te; -}); - -/***/ }), -/* 167 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -//! moment.js locale configuration -//! locale : Tetun Dili (East Timor) [tet] -//! author : Joshua Brooks : https://github.com/joshbrooks -//! author : Onorio De J. Afonso : https://github.com/marobo - -;(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); -})(undefined, function (moment) { - 'use strict'; - - var tet = moment.defineLocale('tet', { - months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu'.split('_'), - weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sext_Sab'.split('_'), - weekdaysMin: 'Do_Seg_Te_Ku_Ki_Sex_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' - }, calendar: { - sameDay: '[Ohin iha] LT', - nextDay: '[Aban iha] LT', - nextWeek: 'dddd [iha] LT', - lastDay: '[Horiseik iha] LT', - lastWeek: 'dddd [semana kotuk] [iha] LT', + sameDay: '[Dinten puniko pukul] LT', + nextDay: '[Mbenjang pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kala wingi pukul] LT', + lastWeek: 'dddd [kepengker pukul] LT', sameElse: 'L' }, relativeTime: { - future: 'iha %s', - past: '%s liuba', - s: 'minutu balun', - m: 'minutu ida', - mm: 'minutus %d', - h: 'horas ida', - hh: 'horas %d', - d: 'loron ida', - dd: 'loron %d', - M: 'fulan ida', - MM: 'fulan %d', - y: 'tinan ida', - yy: 'tinan %d' - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; - return number + output; + future: 'wonten ing %s', + past: '%s ingkang kepengker', + s: 'sawetawis detik', + m: 'setunggal menit', + mm: '%d menit', + h: 'setunggal jam', + hh: '%d jam', + d: 'sedinten', + dd: '%d dinten', + M: 'sewulan', + MM: '%d wulan', + y: 'setaun', + yy: '%d taun' }, week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return tet; + return jv; }); /***/ }), -/* 168 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24703,8 +22271,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Thai [th] -//! author : Kridsada Thanabulpong : https://github.com/sirn +//! locale : Georgian [ka] +//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24714,63 +22282,84 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var th = moment.defineLocale('th', { - months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'), - monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), - monthsParseExact: true, - weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), - weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference - weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), - weekdaysParseExact: true, + var ka = moment.defineLocale('ka', { + months: { + standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'), + format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_') + }, + monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), + weekdays: { + standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'), + format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'), + isFormat: /(წინა|შემდეგ)/ + }, + weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), + weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', + LT: 'h:mm A', + LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY เวลา H:mm', - LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm' - }, - meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, - isPM: function isPM(input) { - return input === 'หลังเที่ยง'; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'ก่อนเที่ยง'; - } else { - return 'หลังเที่ยง'; - } + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A' }, calendar: { - sameDay: '[วันนี้ เวลา] LT', - nextDay: '[พรุ่งนี้ เวลา] LT', - nextWeek: 'dddd[หน้า เวลา] LT', - lastDay: '[เมื่อวานนี้ เวลา] LT', - lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', + sameDay: '[დღეს] LT[-ზე]', + nextDay: '[ხვალ] LT[-ზე]', + lastDay: '[გუშინ] LT[-ზე]', + nextWeek: '[შემდეგ] dddd LT[-ზე]', + lastWeek: '[წინა] dddd LT-ზე', sameElse: 'L' }, relativeTime: { - future: 'อีก %s', - past: '%sที่แล้ว', - s: 'ไม่กี่วินาที', - m: '1 นาที', - mm: '%d นาที', - h: '1 ชั่วโมง', - hh: '%d ชั่วโมง', - d: '1 วัน', - dd: '%d วัน', - M: '1 เดือน', - MM: '%d เดือน', - y: '1 ปี', - yy: '%d ปี' + future: function future(s) { + return (/(წამი|წუთი|საათი|წელი)/.test(s) ? s.replace(/ი$/, 'ში') : s + 'ში' + ); + }, + past: function past(s) { + if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { + return s.replace(/(ი|ე)$/, 'ის უკან'); + } + if (/წელი/.test(s)) { + return s.replace(/წელი$/, 'წლის უკან'); + } + }, + s: 'რამდენიმე წამი', + m: 'წუთი', + mm: '%d წუთი', + h: 'საათი', + hh: '%d საათი', + d: 'დღე', + dd: '%d დღე', + M: 'თვე', + MM: '%d თვე', + y: 'წელი', + yy: '%d წელი' + }, + dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, + ordinal: function ordinal(number) { + if (number === 0) { + return number; + } + if (number === 1) { + return number + '-ლი'; + } + if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) { + return 'მე-' + number; + } + return number + '-ე'; + }, + week: { + dow: 1, + doy: 7 } }); - return th; + return ka; }); /***/ }), -/* 169 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24779,8 +22368,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Tagalog (Philippines) [tl-ph] -//! author : Dan Hagman : https://github.com/hagmandan +//! locale : Kazakh [kk] +//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24790,58 +22379,83 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var tlPh = moment.defineLocale('tl-ph', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), + var suffixes = { + 0: '-ші', + 1: '-ші', + 2: '-ші', + 3: '-ші', + 4: '-ші', + 5: '-ші', + 6: '-шы', + 7: '-ші', + 8: '-ші', + 9: '-шы', + 10: '-шы', + 20: '-шы', + 30: '-шы', + 40: '-шы', + 50: '-ші', + 60: '-шы', + 70: '-ші', + 80: '-ші', + 90: '-шы', + 100: '-ші' + }; + + var kk = moment.defineLocale('kk', { + months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'), + monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), + weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'), + weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), + weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm' + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', + sameDay: '[Бүгін сағат] LT', + nextDay: '[Ертең сағат] LT', + nextWeek: 'dddd [сағат] LT', + lastDay: '[Кеше сағат] LT', + lastWeek: '[Өткен аптаның] dddd [сағат] LT', sameElse: 'L' }, relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon' + future: '%s ішінде', + past: '%s бұрын', + s: 'бірнеше секунд', + m: 'бір минут', + mm: '%d минут', + h: 'бір сағат', + hh: '%d сағат', + d: 'бір күн', + dd: '%d күн', + M: 'бір ай', + MM: '%d ай', + y: 'бір жыл', + yy: '%d жыл' }, - dayOfMonthOrdinalParse: /\d{1,2}/, + dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, ordinal: function ordinal(number) { - return number; + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); }, week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return tlPh; + return kk; }); /***/ }), -/* 170 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24850,8 +22464,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Klingon [tlh] -//! author : Dominika Kruk : https://github.com/amaranthrose +//! locale : Cambodian [km] +//! author : Kruy Vanna : https://github.com/kruyvanna ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24861,104 +22475,54 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); - - function translateFuture(output) { - var time = output; - time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'leS' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'waQ' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'nem' : time + ' pIq'; - return time; - } - - function translatePast(output) { - var time = output; - time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'Hu’' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'wen' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'ben' : time + ' ret'; - return time; - } - - function translate(number, withoutSuffix, string, isFuture) { - var numberNoun = numberAsNoun(number); - switch (string) { - case 'mm': - return numberNoun + ' tup'; - case 'hh': - return numberNoun + ' rep'; - case 'dd': - return numberNoun + ' jaj'; - case 'MM': - return numberNoun + ' jar'; - case 'yy': - return numberNoun + ' DIS'; - } - } - - function numberAsNoun(number) { - var hundred = Math.floor(number % 1000 / 100), - ten = Math.floor(number % 100 / 10), - one = number % 10, - word = ''; - if (hundred > 0) { - word += numbersNouns[hundred] + 'vatlh'; - } - if (ten > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; - } - if (one > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[one]; - } - return word === '' ? 'pagh' : word; - } - - var tlh = moment.defineLocale('tlh', { - months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'), - monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'), - monthsParseExact: true, - weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), - weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), - weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + var km = moment.defineLocale('km', { + months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'), + monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'), + weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), + weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), + weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', + L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[DaHjaj] LT', - nextDay: '[wa’leS] LT', - nextWeek: 'LLL', - lastDay: '[wa’Hu’] LT', - lastWeek: 'LLL', + sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', + nextDay: '[ស្អែក ម៉ោង] LT', + nextWeek: 'dddd [ម៉ោង] LT', + lastDay: '[ម្សិលមិញ ម៉ោង] LT', + lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', sameElse: 'L' }, relativeTime: { - future: translateFuture, - past: translatePast, - s: 'puS lup', - m: 'wa’ tup', - mm: translate, - h: 'wa’ rep', - hh: translate, - d: 'wa’ jaj', - dd: translate, - M: 'wa’ jar', - MM: translate, - y: 'wa’ DIS', - yy: translate + future: '%sទៀត', + past: '%sមុន', + s: 'ប៉ុន្មានវិនាទី', + m: 'មួយនាទី', + mm: '%d នាទី', + h: 'មួយម៉ោង', + hh: '%d ម៉ោង', + d: 'មួយថ្ងៃ', + dd: '%d ថ្ងៃ', + M: 'មួយខែ', + MM: '%d ខែ', + y: 'មួយឆ្នាំ', + yy: '%d ឆ្នាំ' }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return tlh; + return km; }); /***/ }), -/* 171 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24967,9 +22531,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Turkish [tr] -//! authors : Erhan Gundogan : https://github.com/erhangundogan, -//! Burak Yiğit Kaya: https://github.com/BYK +//! locale : Kannada [kn] +//! author : Rajeev Naik : https://github.com/rajeevnaikte ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -24979,86 +22542,122 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var suffixes = { - 1: '\'inci', - 5: '\'inci', - 8: '\'inci', - 70: '\'inci', - 80: '\'inci', - 2: '\'nci', - 7: '\'nci', - 20: '\'nci', - 50: '\'nci', - 3: '\'üncü', - 4: '\'üncü', - 100: '\'üncü', - 6: '\'ncı', - 9: '\'uncu', - 10: '\'uncu', - 30: '\'uncu', - 60: '\'ıncı', - 90: '\'ıncı' + var symbolMap = { + '1': '೧', + '2': '೨', + '3': '೩', + '4': '೪', + '5': '೫', + '6': '೬', + '7': '೭', + '8': '೮', + '9': '೯', + '0': '೦' + }; + var numberMap = { + '೧': '1', + '೨': '2', + '೩': '3', + '೪': '4', + '೫': '5', + '೬': '6', + '೭': '7', + '೮': '8', + '೯': '9', + '೦': '0' }; - var tr = moment.defineLocale('tr', { - months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'), - monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), - weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'), - weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), - weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), + var kn = moment.defineLocale('kn', { + months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'), + monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ'.split('_'), + monthsParseExact: true, + weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'), + weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), + weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm' }, calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[yarın saat] LT', - nextWeek: '[haftaya] dddd [saat] LT', - lastDay: '[dün] LT', - lastWeek: '[geçen hafta] dddd [saat] LT', + sameDay: '[ಇಂದು] LT', + nextDay: '[ನಾಳೆ] LT', + nextWeek: 'dddd, LT', + lastDay: '[ನಿನ್ನೆ] LT', + lastWeek: '[ಕೊನೆಯ] dddd, LT', sameElse: 'L' }, relativeTime: { - future: '%s sonra', - past: '%s önce', - s: 'birkaç saniye', - m: 'bir dakika', - mm: '%d dakika', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - M: 'bir ay', - MM: '%d ay', - y: 'bir yıl', - yy: '%d yıl' + future: '%s ನಂತರ', + past: '%s ಹಿಂದೆ', + s: 'ಕೆಲವು ಕ್ಷಣಗಳು', + m: 'ಒಂದು ನಿಮಿಷ', + mm: '%d ನಿಮಿಷ', + h: 'ಒಂದು ಗಂಟೆ', + hh: '%d ಗಂಟೆ', + d: 'ಒಂದು ದಿನ', + dd: '%d ದಿನ', + M: 'ಒಂದು ತಿಂಗಳು', + MM: '%d ತಿಂಗಳು', + y: 'ಒಂದು ವರ್ಷ', + yy: '%d ವರ್ಷ' }, - dayOfMonthOrdinalParse: /\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/, - ordinal: function ordinal(number) { - if (number === 0) { - // special case for zero - return number + '\'ıncı'; + preparse: function preparse(string) { + return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; } - var a = number % 10, - b = number % 100 - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); + if (meridiem === 'ರಾತ್ರಿ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { + return hour; + } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ಸಂಜೆ') { + return hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'ರಾತ್ರಿ'; + } else if (hour < 10) { + return 'ಬೆಳಿಗ್ಗೆ'; + } else if (hour < 17) { + return 'ಮಧ್ಯಾಹ್ನ'; + } else if (hour < 20) { + return 'ಸಂಜೆ'; + } else { + return 'ರಾತ್ರಿ'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, + ordinal: function ordinal(number) { + return number + 'ನೇ'; }, week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. } }); - return tr; + return kn; }); /***/ }), -/* 172 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25067,9 +22666,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Talossan [tzl] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v -//! author : Iustì Canun +//! locale : Korean [ko] +//! author : Kyungwook, Park : https://github.com/kyungw00k +//! author : Jeeeyul Lee ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25079,87 +22678,64 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. - // This is currently too difficult (maybe even impossible) to add. - - var tzl = moment.defineLocale('tzl', { - months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), - monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), - weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), - weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), - weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + var ko = moment.defineLocale('ko', { + months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), + monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), + weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), + weekdaysShort: '일_월_화_수_목_금_토'.split('_'), + weekdaysMin: '일_월_화_수_목_금_토'.split('_'), longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM [dallas] YYYY', - LLL: 'D. MMMM [dallas] YYYY HH.mm', - LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' - }, - meridiemParse: /d\'o|d\'a/i, - isPM: function isPM(input) { - return 'd\'o' === input.toLowerCase(); - }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'd\'o' : 'D\'O'; - } else { - return isLower ? 'd\'a' : 'D\'A'; - } + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'YYYY.MM.DD', + LL: 'YYYY년 MMMM D일', + LLL: 'YYYY년 MMMM D일 A h:mm', + LLLL: 'YYYY년 MMMM D일 dddd A h:mm', + l: 'YYYY.MM.DD', + ll: 'YYYY년 MMMM D일', + lll: 'YYYY년 MMMM D일 A h:mm', + llll: 'YYYY년 MMMM D일 dddd A h:mm' }, calendar: { - sameDay: '[oxhi à] LT', - nextDay: '[demà à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[ieiri à] LT', - lastWeek: '[sür el] dddd [lasteu à] LT', + sameDay: '오늘 LT', + nextDay: '내일 LT', + nextWeek: 'dddd LT', + lastDay: '어제 LT', + lastWeek: '지난주 dddd LT', sameElse: 'L' }, relativeTime: { - future: 'osprei %s', - past: 'ja%s', - s: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime + future: '%s 후', + past: '%s 전', + s: '몇 초', + ss: '%d초', + m: '1분', + mm: '%d분', + h: '한 시간', + hh: '%d시간', + d: '하루', + dd: '%d일', + M: '한 달', + MM: '%d달', + y: '일 년', + yy: '%d년' }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + dayOfMonthOrdinalParse: /\d{1,2}일/, + ordinal: '%d일', + meridiemParse: /오전|오후/, + isPM: function isPM(token) { + return token === '오후'; + }, + meridiem: function meridiem(hour, minute, isUpper) { + return hour < 12 ? '오전' : '오후'; } }); - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - 's': ['viensas secunds', '\'iensas secunds'], - 'm': ['\'n míut', '\'iens míut'], - 'mm': [number + ' míuts', '' + number + ' míuts'], - 'h': ['\'n þora', '\'iensa þora'], - 'hh': [number + ' þoras', '' + number + ' þoras'], - 'd': ['\'n ziua', '\'iensa ziua'], - 'dd': [number + ' ziuas', '' + number + ' ziuas'], - 'M': ['\'n mes', '\'iens mes'], - 'MM': [number + ' mesen', '' + number + ' mesen'], - 'y': ['\'n ar', '\'iens ar'], - 'yy': [number + ' ars', '' + number + ' ars'] - }; - return isFuture ? format[key][0] : withoutSuffix ? format[key][0] : format[key][1]; - } - - return tzl; + return ko; }); /***/ }), -/* 173 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25168,8 +22744,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Central Atlas Tamazight Latin [tzm-latn] -//! author : Abdel Said : https://github.com/abdelsaid +//! locale : Kyrgyz [ky] +//! author : Chyngyz Arystan uulu : https://github.com/chyngyz ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25179,54 +22755,83 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var tzmLatn = moment.defineLocale('tzm-latn', { - months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), - monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), - weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), + var suffixes = { + 0: '-чү', + 1: '-чи', + 2: '-чи', + 3: '-чү', + 4: '-чү', + 5: '-чи', + 6: '-чы', + 7: '-чи', + 8: '-чи', + 9: '-чу', + 10: '-чу', + 20: '-чы', + 30: '-чу', + 40: '-чы', + 50: '-чү', + 60: '-чы', + 70: '-чи', + 80: '-чи', + 90: '-чу', + 100: '-чү' + }; + + var ky = moment.defineLocale('ky', { + months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'), + monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'), + weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'), + weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), + weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', + L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' + LLLL: 'dddd, D MMMM YYYY HH:mm' }, calendar: { - sameDay: '[asdkh g] LT', - nextDay: '[aska g] LT', - nextWeek: 'dddd [g] LT', - lastDay: '[assant g] LT', - lastWeek: 'dddd [g] LT', + sameDay: '[Бүгүн саат] LT', + nextDay: '[Эртең саат] LT', + nextWeek: 'dddd [саат] LT', + lastDay: '[Кече саат] LT', + lastWeek: '[Өткен аптанын] dddd [күнү] [саат] LT', sameElse: 'L' }, relativeTime: { - future: 'dadkh s yan %s', - past: 'yan %s', - s: 'imik', - m: 'minuḍ', - mm: '%d minuḍ', - h: 'saɛa', - hh: '%d tassaɛin', - d: 'ass', - dd: '%d ossan', - M: 'ayowr', - MM: '%d iyyirn', - y: 'asgas', - yy: '%d isgasn' + future: '%s ичинде', + past: '%s мурун', + s: 'бирнече секунд', + m: 'бир мүнөт', + mm: '%d мүнөт', + h: 'бир саат', + hh: '%d саат', + d: 'бир күн', + dd: '%d күн', + M: 'бир ай', + MM: '%d ай', + y: 'бир жыл', + yy: '%d жыл' + }, + dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, + ordinal: function ordinal(number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); }, week: { - dow: 6, // Saturday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return tzmLatn; + return ky; }); /***/ }), -/* 174 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25235,8 +22840,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Central Atlas Tamazight [tzm] -//! author : Abdel Said : https://github.com/abdelsaid +//! locale : Luxembourgish [lb] +//! author : mweimerskirch : https://github.com/mweimerskirch +//! author : David Raison : https://github.com/kwisatz ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25246,54 +22852,133 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var tzm = moment.defineLocale('tzm', { - months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), - monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), - weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 'm': ['eng Minutt', 'enger Minutt'], + 'h': ['eng Stonn', 'enger Stonn'], + 'd': ['een Dag', 'engem Dag'], + 'M': ['ee Mount', 'engem Mount'], + 'y': ['ee Joer', 'engem Joer'] + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + function processFutureTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'a ' + string; + } + return 'an ' + string; + } + function processPastTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'viru ' + string; + } + return 'virun ' + string; + } + /** + * Returns true if the word before the given number loses the '-n' ending. + * e.g. 'an 10 Deeg' but 'a 5 Deeg' + * + * @param number {integer} + * @returns {boolean} + */ + function eifelerRegelAppliesToNumber(number) { + number = parseInt(number, 10); + if (isNaN(number)) { + return false; + } + if (number < 0) { + // Negative Number --> always true + return true; + } else if (number < 10) { + // Only 1 digit + if (4 <= number && number <= 7) { + return true; + } + return false; + } else if (number < 100) { + // 2 digits + var lastDigit = number % 10, + firstDigit = number / 10; + if (lastDigit === 0) { + return eifelerRegelAppliesToNumber(firstDigit); + } + return eifelerRegelAppliesToNumber(lastDigit); + } else if (number < 10000) { + // 3 or 4 digits --> recursively check first digit + while (number >= 10) { + number = number / 10; + } + return eifelerRegelAppliesToNumber(number); + } else { + // Anything larger than 4 digits: recursively check first n-3 digits + number = number / 1000; + return eifelerRegelAppliesToNumber(number); + } + } + + var lb = moment.defineLocale('lb', { + months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), + monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), + weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm' + LT: 'H:mm [Auer]', + LTS: 'H:mm:ss [Auer]', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm [Auer]', + LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' }, calendar: { - sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', - nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', - nextWeek: 'dddd [ⴴ] LT', - lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', - lastWeek: 'dddd [ⴴ] LT', - sameElse: 'L' - }, - relativeTime: { - future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', - past: 'ⵢⴰⵏ %s', - s: 'ⵉⵎⵉⴽ', - m: 'ⵎⵉⵏⵓⴺ', - mm: '%d ⵎⵉⵏⵓⴺ', - h: 'ⵙⴰⵄⴰ', - hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', - d: 'ⴰⵙⵙ', - dd: '%d oⵙⵙⴰⵏ', - M: 'ⴰⵢoⵓⵔ', - MM: '%d ⵉⵢⵢⵉⵔⵏ', - y: 'ⴰⵙⴳⴰⵙ', - yy: '%d ⵉⵙⴳⴰⵙⵏ' + sameDay: '[Haut um] LT', + sameElse: 'L', + nextDay: '[Muer um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gëschter um] LT', + lastWeek: function lastWeek() { + // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule + switch (this.day()) { + case 2: + case 4: + return '[Leschten] dddd [um] LT'; + default: + return '[Leschte] dddd [um] LT'; + } + } + }, + relativeTime: { + future: processFutureTime, + past: processPastTime, + s: 'e puer Sekonnen', + m: processRelativeTime, + mm: '%d Minutten', + h: processRelativeTime, + hh: '%d Stonnen', + d: processRelativeTime, + dd: '%d Deeg', + M: processRelativeTime, + MM: '%d Méint', + y: processRelativeTime, + yy: '%d Joer' }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { - dow: 6, // Saturday is the first day of the week. - doy: 12 // The week that contains Jan 1st is the first week of the year. + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return tzm; + return lb; }); /***/ }), -/* 175 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25302,9 +22987,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Ukrainian [uk] -//! author : zemlanin : https://github.com/zemlanin -//! Author : Menelion Elensúle : https://github.com/Oire +//! locale : Lao [lo] +//! author : Ryan Hart : https://github.com/ryanhart2 ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25314,141 +22998,66 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', - 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин', - 'dd': 'день_дні_днів', - 'MM': 'місяць_місяці_місяців', - 'yy': 'рік_роки_років' - }; - if (key === 'm') { - return withoutSuffix ? 'хвилина' : 'хвилину'; - } else if (key === 'h') { - return withoutSuffix ? 'година' : 'годину'; - } else { - return number + ' ' + plural(format[key], +number); - } - } - function weekdaysCaseReplace(m, format) { - var weekdays = { - 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'), - 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'), - 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_') - }; - - if (!m) { - return weekdays['nominative']; - } - - var nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) ? 'accusative' : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) ? 'genitive' : 'nominative'; - return weekdays[nounCase][m.day()]; - } - function processHoursFunction(str) { - return function () { - return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; - }; - } - - var uk = moment.defineLocale('uk', { - months: { - 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'), - 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_') - }, - monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'), - weekdays: weekdaysCaseReplace, - weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + var lo = moment.defineLocale('lo', { + months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'), + monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'), + weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), + weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), + weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY р.', - LLL: 'D MMMM YYYY р., HH:mm', - LLLL: 'dddd, D MMMM YYYY р., HH:mm' - }, - calendar: { - sameDay: processHoursFunction('[Сьогодні '), - nextDay: processHoursFunction('[Завтра '), - lastDay: processHoursFunction('[Вчора '), - nextWeek: processHoursFunction('[У] dddd ['), - lastWeek: function lastWeek() { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return processHoursFunction('[Минулої] dddd [').call(this); - case 1: - case 2: - case 4: - return processHoursFunction('[Минулого] dddd [').call(this); - } - }, - sameElse: 'L' - }, - relativeTime: { - future: 'за %s', - past: '%s тому', - s: 'декілька секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'годину', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - M: 'місяць', - MM: relativeTimeWithPlural, - y: 'рік', - yy: relativeTimeWithPlural + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'ວັນdddd D MMMM YYYY HH:mm' }, - // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason - meridiemParse: /ночі|ранку|дня|вечора/, + meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, isPM: function isPM(input) { - return (/^(дня|вечора)$/.test(input) - ); + return input === 'ຕອນແລງ'; }, meridiem: function meridiem(hour, minute, isLower) { - if (hour < 4) { - return 'ночі'; - } else if (hour < 12) { - return 'ранку'; - } else if (hour < 17) { - return 'дня'; + if (hour < 12) { + return 'ຕອນເຊົ້າ'; } else { - return 'вечора'; + return 'ຕອນແລງ'; } }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, - ordinal: function ordinal(number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return number + '-й'; - case 'D': - return number + '-го'; - default: - return number; - } + calendar: { + sameDay: '[ມື້ນີ້ເວລາ] LT', + nextDay: '[ມື້ອື່ນເວລາ] LT', + nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', + lastDay: '[ມື້ວານນີ້ເວລາ] LT', + lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', + sameElse: 'L' }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + relativeTime: { + future: 'ອີກ %s', + past: '%sຜ່ານມາ', + s: 'ບໍ່ເທົ່າໃດວິນາທີ', + m: '1 ນາທີ', + mm: '%d ນາທີ', + h: '1 ຊົ່ວໂມງ', + hh: '%d ຊົ່ວໂມງ', + d: '1 ມື້', + dd: '%d ມື້', + M: '1 ເດືອນ', + MM: '%d ເດືອນ', + y: '1 ປີ', + yy: '%d ປີ' + }, + dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + ordinal: function ordinal(number) { + return 'ທີ່' + number; } }); - return uk; + return lo; }); /***/ }), -/* 176 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25457,9 +23066,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Urdu [ur] -//! author : Sawood Alam : https://github.com/ibnesayeed -//! author : Zack : https://github.com/ZackVision +//! locale : Lithuanian [lt] +//! author : Mindaugas Mozūras : https://github.com/mmozuras ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25469,61 +23077,101 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var months = ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر']; - var days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; - - var ur = moment.defineLocale('ur', { - months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, + var units = { + 'm': 'minutė_minutės_minutę', + 'mm': 'minutės_minučių_minutes', + 'h': 'valanda_valandos_valandą', + 'hh': 'valandos_valandų_valandas', + 'd': 'diena_dienos_dieną', + 'dd': 'dienos_dienų_dienas', + 'M': 'mėnuo_mėnesio_mėnesį', + 'MM': 'mėnesiai_mėnesių_mėnesius', + 'y': 'metai_metų_metus', + 'yy': 'metai_metų_metus' + }; + function translateSeconds(number, withoutSuffix, key, isFuture) { + if (withoutSuffix) { + return 'kelios sekundės'; + } else { + return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; + } + } + function translateSingular(number, withoutSuffix, key, isFuture) { + return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2]; + } + function special(number) { + return number % 10 === 0 || number > 10 && number < 20; + } + function forms(key) { + return units[key].split('_'); + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + if (number === 1) { + return result + translateSingular(number, withoutSuffix, key[0], isFuture); + } else if (withoutSuffix) { + return result + (special(number) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(number) ? forms(key)[1] : forms(key)[2]); + } + } + } + var lt = moment.defineLocale('lt', { + months: { + format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'), + standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'), + isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ + }, + monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), + weekdays: { + format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'), + standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'), + isFormat: /dddd HH:mm/ + }, + weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), + weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm' - }, - meridiemParse: /صبح|شام/, - isPM: function isPM(input) { - return 'شام' === input; - }, - meridiem: function meridiem(hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; + L: 'YYYY-MM-DD', + LL: 'YYYY [m.] MMMM D [d.]', + LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', + l: 'YYYY-MM-DD', + ll: 'YYYY [m.] MMMM D [d.]', + lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' }, calendar: { - sameDay: '[آج بوقت] LT', - nextDay: '[کل بوقت] LT', - nextWeek: 'dddd [بوقت] LT', - lastDay: '[گذشتہ روز بوقت] LT', - lastWeek: '[گذشتہ] dddd [بوقت] LT', + sameDay: '[Šiandien] LT', + nextDay: '[Rytoj] LT', + nextWeek: 'dddd LT', + lastDay: '[Vakar] LT', + lastWeek: '[Praėjusį] dddd LT', sameElse: 'L' }, relativeTime: { - future: '%s بعد', - past: '%s قبل', - s: 'چند سیکنڈ', - m: 'ایک منٹ', - mm: '%d منٹ', - h: 'ایک گھنٹہ', - hh: '%d گھنٹے', - d: 'ایک دن', - dd: '%d دن', - M: 'ایک ماہ', - MM: '%d ماہ', - y: 'ایک سال', - yy: '%d سال' - }, - preparse: function preparse(string) { - return string.replace(/،/g, ','); + future: 'po %s', + past: 'prieš %s', + s: translateSeconds, + m: translateSingular, + mm: translate, + h: translateSingular, + hh: translate, + d: translateSingular, + dd: translate, + M: translateSingular, + MM: translate, + y: translateSingular, + yy: translate }, - postformat: function postformat(string) { - return string.replace(/,/g, '،'); + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal: function ordinal(number) { + return number + '-oji'; }, week: { dow: 1, // Monday is the first day of the week. @@ -25531,11 +23179,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }); - return ur; + return lt; }); /***/ }), -/* 177 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25544,8 +23192,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Uzbek Latin [uz-latn] -//! author : Rasulbek Mirzayev : github.com/Rasulbeeek +//! locale : Latvian [lv] +//! author : Kristaps Karlsons : https://github.com/skakri +//! author : Jānis Elmeris : https://github.com/JanisE ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25555,54 +23204,92 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var uzLatn = moment.defineLocale('uz-latn', { - months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'), - monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), - weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'), - weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), - weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), + var units = { + 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'), + 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'), + 'h': 'stundas_stundām_stunda_stundas'.split('_'), + 'hh': 'stundas_stundām_stunda_stundas'.split('_'), + 'd': 'dienas_dienām_diena_dienas'.split('_'), + 'dd': 'dienas_dienām_diena_dienas'.split('_'), + 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), + 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), + 'y': 'gada_gadiem_gads_gadi'.split('_'), + 'yy': 'gada_gadiem_gads_gadi'.split('_') + }; + /** + * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. + */ + function format(forms, number, withoutSuffix) { + if (withoutSuffix) { + // E.g. "21 minūte", "3 minūtes". + return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; + } else { + // E.g. "21 minūtes" as in "pēc 21 minūtes". + // E.g. "3 minūtēm" as in "pēc 3 minūtēm". + return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; + } + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + return number + ' ' + format(units[key], number, withoutSuffix); + } + function relativeTimeWithSingular(number, withoutSuffix, key) { + return format(units[key], number, withoutSuffix); + } + function relativeSeconds(number, withoutSuffix) { + return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; + } + + var lv = moment.defineLocale('lv', { + months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), + monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), + weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'), + weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysParseExact: true, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm' + L: 'DD.MM.YYYY.', + LL: 'YYYY. [gada] D. MMMM', + LLL: 'YYYY. [gada] D. MMMM, HH:mm', + LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm' }, calendar: { - sameDay: '[Bugun soat] LT [da]', - nextDay: '[Ertaga] LT [da]', - nextWeek: 'dddd [kuni soat] LT [da]', - lastDay: '[Kecha soat] LT [da]', - lastWeek: '[O\'tgan] dddd [kuni soat] LT [da]', + sameDay: '[Šodien pulksten] LT', + nextDay: '[Rīt pulksten] LT', + nextWeek: 'dddd [pulksten] LT', + lastDay: '[Vakar pulksten] LT', + lastWeek: '[Pagājušā] dddd [pulksten] LT', sameElse: 'L' }, relativeTime: { - future: 'Yaqin %s ichida', - past: 'Bir necha %s oldin', - s: 'soniya', - m: 'bir daqiqa', - mm: '%d daqiqa', - h: 'bir soat', - hh: '%d soat', - d: 'bir kun', - dd: '%d kun', - M: 'bir oy', - MM: '%d oy', - y: 'bir yil', - yy: '%d yil' + future: 'pēc %s', + past: 'pirms %s', + s: relativeSeconds, + m: relativeTimeWithSingular, + mm: relativeTimeWithPlural, + h: relativeTimeWithSingular, + hh: relativeTimeWithPlural, + d: relativeTimeWithSingular, + dd: relativeTimeWithPlural, + M: relativeTimeWithSingular, + MM: relativeTimeWithPlural, + y: relativeTimeWithSingular, + yy: relativeTimeWithPlural }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 1st is the first week of the year. + doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return uzLatn; + return lv; }); /***/ }), -/* 178 */ +/* 135 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25611,8 +23298,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Uzbek [uz] -//! author : Sardor Muminov : https://github.com/muminoff +//! locale : Montenegrin [me] +//! author : Miodrag Nikač : https://github.com/miodragnikac ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25622,54 +23309,99 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var uz = moment.defineLocale('uz', { - months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'), - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), - weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), - weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), + var translator = { + words: { //Different grammatical cases + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mjesec', 'mjeseca', 'mjeseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) { + return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]; + }, + translate: function translate(number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; + + var me = moment.defineLocale('me', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: true, longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm' + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm' }, calendar: { - sameDay: '[Бугун соат] LT [да]', - nextDay: '[Эртага] LT [да]', - nextWeek: 'dddd [куни соат] LT [да]', - lastDay: '[Кеча соат] LT [да]', - lastWeek: '[Утган] dddd [куни соат] LT [да]', + sameDay: '[danas u] LT', + nextDay: '[sjutra u] LT', + + nextWeek: function nextWeek() { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[juče u] LT', + lastWeek: function lastWeek() { + var lastWeekDays = ['[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT']; + return lastWeekDays[this.day()]; + }, sameElse: 'L' }, relativeTime: { - future: 'Якин %s ичида', - past: 'Бир неча %s олдин', - s: 'фурсат', - m: 'бир дакика', - mm: '%d дакика', - h: 'бир соат', - hh: '%d соат', - d: 'бир кун', - dd: '%d кун', - M: 'бир ой', - MM: '%d ой', - y: 'бир йил', - yy: '%d йил' + future: 'za %s', + past: 'prije %s', + s: 'nekoliko sekundi', + m: translator.translate, + mm: translator.translate, + h: translator.translate, + hh: translator.translate, + d: 'dan', + dd: translator.translate, + M: 'mjesec', + MM: translator.translate, + y: 'godinu', + yy: translator.translate }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', week: { dow: 1, // Monday is the first day of the week. - doy: 7 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return uz; + return me; }); /***/ }), -/* 179 */ +/* 136 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25678,8 +23410,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Vietnamese [vi] -//! author : Bang Nguyen : https://github.com/bangnk +//! locale : Maori [mi] +//! author : John Corrigan : https://github.com/johnideal ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25689,76 +23421,60 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var vi = moment.defineLocale('vi', { - months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'), - monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'), - monthsParseExact: true, - weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'), - weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysParseExact: true, - meridiemParse: /sa|ch/i, - isPM: function isPM(input) { - return (/^ch$/i.test(input) - ); - }, - meridiem: function meridiem(hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'sa' : 'SA'; - } else { - return isLower ? 'ch' : 'CH'; - } - }, + var mi = moment.defineLocale('mi', { + months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'), + monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), + monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, + weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), + weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), + weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', - LL: 'D MMMM [năm] YYYY', - LLL: 'D MMMM [năm] YYYY HH:mm', - LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', - l: 'DD/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm' + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [i] HH:mm', + LLLL: 'dddd, D MMMM YYYY [i] HH:mm' }, calendar: { - sameDay: '[Hôm nay lúc] LT', - nextDay: '[Ngày mai lúc] LT', - nextWeek: 'dddd [tuần tới lúc] LT', - lastDay: '[Hôm qua lúc] LT', - lastWeek: 'dddd [tuần rồi lúc] LT', + sameDay: '[i teie mahana, i] LT', + nextDay: '[apopo i] LT', + nextWeek: 'dddd [i] LT', + lastDay: '[inanahi i] LT', + lastWeek: 'dddd [whakamutunga i] LT', sameElse: 'L' }, relativeTime: { - future: '%s tới', - past: '%s trước', - s: 'vài giây', - m: 'một phút', - mm: '%d phút', - h: 'một giờ', - hh: '%d giờ', - d: 'một ngày', - dd: '%d ngày', - M: 'một tháng', - MM: '%d tháng', - y: 'một năm', - yy: '%d năm' - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function ordinal(number) { - return number; + future: 'i roto i %s', + past: '%s i mua', + s: 'te hēkona ruarua', + m: 'he meneti', + mm: '%d meneti', + h: 'te haora', + hh: '%d haora', + d: 'he ra', + dd: '%d ra', + M: 'he marama', + MM: '%d marama', + y: 'he tau', + yy: '%d tau' }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', week: { dow: 1, // Monday is the first day of the week. doy: 4 // The week that contains Jan 4th is the first week of the year. } }); - return vi; + return mi; }); /***/ }), -/* 180 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25767,8 +23483,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Pseudo [x-pseudo] -//! author : Andrew Hood : https://github.com/andrewhood125 +//! locale : Macedonian [mk] +//! author : Borislav Mickov : https://github.com/B0k0 ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25778,61 +23494,86 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var xPseudo = moment.defineLocale('x-pseudo', { - months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'), - monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'), - monthsParseExact: true, - weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'), - weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), - weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), - weekdaysParseExact: true, + var mk = moment.defineLocale('mk', { + months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'), + monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), + weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'), + weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), + weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), longDateFormat: { - LT: 'HH:mm', - L: 'DD/MM/YYYY', + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D.MM.YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm' }, calendar: { - sameDay: '[T~ódá~ý át] LT', - nextDay: '[T~ómó~rró~w át] LT', - nextWeek: 'dddd [át] LT', - lastDay: '[Ý~ést~érdá~ý át] LT', - lastWeek: '[L~ást] dddd [át] LT', + sameDay: '[Денес во] LT', + nextDay: '[Утре во] LT', + nextWeek: '[Во] dddd [во] LT', + lastDay: '[Вчера во] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Изминатата] dddd [во] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Изминатиот] dddd [во] LT'; + } + }, sameElse: 'L' }, relativeTime: { - future: 'í~ñ %s', - past: '%s á~gó', - s: 'á ~féw ~sécó~ñds', - m: 'á ~míñ~úté', - mm: '%d m~íñú~tés', - h: 'á~ñ hó~úr', - hh: '%d h~óúrs', - d: 'á ~dáý', - dd: '%d d~áýs', - M: 'á ~móñ~th', - MM: '%d m~óñt~hs', - y: 'á ~ýéár', - yy: '%d ý~éárs' + future: 'после %s', + past: 'пред %s', + s: 'неколку секунди', + m: 'минута', + mm: '%d минути', + h: 'час', + hh: '%d часа', + d: 'ден', + dd: '%d дена', + M: 'месец', + MM: '%d месеци', + y: 'година', + yy: '%d години' }, - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, ordinal: function ordinal(number) { - var b = number % 10, - output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; - return number + output; + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } }, week: { dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return xPseudo; + return mk; }); /***/ }), -/* 181 */ +/* 138 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25841,8 +23582,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Yoruba Nigeria [yo] -//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe +//! locale : Malayalam [ml] +//! author : Floyd Pink : https://github.com/floydpink ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25852,56 +23593,75 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var yo = moment.defineLocale('yo', { - months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'), - monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), - weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), - weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), - weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), + var ml = moment.defineLocale('ml', { + months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'), + monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'), + monthsParseExact: true, + weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'), + weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), + weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', + LT: 'A h:mm -നു', + LTS: 'A h:mm:ss -നു', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A' + LLL: 'D MMMM YYYY, A h:mm -നു', + LLLL: 'dddd, D MMMM YYYY, A h:mm -നു' }, calendar: { - sameDay: '[Ònì ni] LT', - nextDay: '[Ọ̀la ni] LT', - nextWeek: 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT', - lastDay: '[Àna ni] LT', - lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', + sameDay: '[ഇന്ന്] LT', + nextDay: '[നാളെ] LT', + nextWeek: 'dddd, LT', + lastDay: '[ഇന്നലെ] LT', + lastWeek: '[കഴിഞ്ഞ] dddd, LT', sameElse: 'L' }, relativeTime: { - future: 'ní %s', - past: '%s kọjá', - s: 'ìsẹjú aayá die', - m: 'ìsẹjú kan', - mm: 'ìsẹjú %d', - h: 'wákati kan', - hh: 'wákati %d', - d: 'ọjọ́ kan', - dd: 'ọjọ́ %d', - M: 'osù kan', - MM: 'osù %d', - y: 'ọdún kan', - yy: 'ọdún %d' + future: '%s കഴിഞ്ഞ്', + past: '%s മുൻപ്', + s: 'അൽപ നിമിഷങ്ങൾ', + m: 'ഒരു മിനിറ്റ്', + mm: '%d മിനിറ്റ്', + h: 'ഒരു മണിക്കൂർ', + hh: '%d മണിക്കൂർ', + d: 'ഒരു ദിവസം', + dd: '%d ദിവസം', + M: 'ഒരു മാസം', + MM: '%d മാസം', + y: 'ഒരു വർഷം', + yy: '%d വർഷം' }, - dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, - ordinal: 'ọjọ́ %d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') { + return hour + 12; + } else { + return hour; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'രാത്രി'; + } else if (hour < 12) { + return 'രാവിലെ'; + } else if (hour < 17) { + return 'ഉച്ച കഴിഞ്ഞ്'; + } else if (hour < 20) { + return 'വൈകുന്നേരം'; + } else { + return 'രാത്രി'; + } } }); - return yo; + return ml; }); /***/ }), -/* 182 */ +/* 139 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25910,9 +23670,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Chinese (China) [zh-cn] -//! author : suupic : https://github.com/suupic -//! author : Zeno Zeng : https://github.com/zenozeng +//! locale : Marathi [mr] +//! author : Harshad Kale : https://github.com/kalehv +//! author : Vivek Athalye : https://github.com/vnathalye ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -25922,105 +23682,174 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var zhCn = moment.defineLocale('zh-cn', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': '७', + '8': '८', + '9': '९', + '0': '०' + }; + var numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0' + }; + + function relativeTimeMr(number, withoutSuffix, string, isFuture) { + var output = ''; + if (withoutSuffix) { + switch (string) { + case 's': + output = 'काही सेकंद';break; + case 'm': + output = 'एक मिनिट';break; + case 'mm': + output = '%d मिनिटे';break; + case 'h': + output = 'एक तास';break; + case 'hh': + output = '%d तास';break; + case 'd': + output = 'एक दिवस';break; + case 'dd': + output = '%d दिवस';break; + case 'M': + output = 'एक महिना';break; + case 'MM': + output = '%d महिने';break; + case 'y': + output = 'एक वर्ष';break; + case 'yy': + output = '%d वर्षे';break; + } + } else { + switch (string) { + case 's': + output = 'काही सेकंदां';break; + case 'm': + output = 'एका मिनिटा';break; + case 'mm': + output = '%d मिनिटां';break; + case 'h': + output = 'एका तासा';break; + case 'hh': + output = '%d तासां';break; + case 'd': + output = 'एका दिवसा';break; + case 'dd': + output = '%d दिवसां';break; + case 'M': + output = 'एका महिन्या';break; + case 'MM': + output = '%d महिन्यां';break; + case 'y': + output = 'एका वर्षा';break; + case 'yy': + output = '%d वर्षां';break; + } + } + return output.replace(/%d/i, number); + } + + var mr = moment.defineLocale('mr', { + months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'), + monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'), + monthsParseExact: true, + weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), + weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), + weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY年MMMD日', - LL: 'YYYY年MMMD日', - LLL: 'YYYY年MMMD日Ah点mm分', - LLLL: 'YYYY年MMMD日ddddAh点mm分', - l: 'YYYY年MMMD日', - ll: 'YYYY年MMMD日', - lll: 'YYYY年MMMD日 HH:mm', - llll: 'YYYY年MMMD日dddd HH:mm' + LT: 'A h:mm वाजता', + LTS: 'A h:mm:ss वाजता', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm वाजता', + LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता' }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + calendar: { + sameDay: '[आज] LT', + nextDay: '[उद्या] LT', + nextWeek: 'dddd, LT', + lastDay: '[काल] LT', + lastWeek: '[मागील] dddd, LT', + sameElse: 'L' + }, + relativeTime: { + future: '%sमध्ये', + past: '%sपूर्वी', + s: relativeTimeMr, + m: relativeTimeMr, + mm: relativeTimeMr, + h: relativeTimeMr, + hh: relativeTimeMr, + d: relativeTimeMr, + dd: relativeTimeMr, + M: relativeTimeMr, + MM: relativeTimeMr, + y: relativeTimeMr, + yy: relativeTimeMr + }, + preparse: function preparse(string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/, meridiemHour: function meridiemHour(hour, meridiem) { if (hour === 12) { hour = 0; } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + if (meridiem === 'रात्री') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सकाळी') { return hour; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } else { - // '中午' - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function meridiem(hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; + } else if (meridiem === 'दुपारी') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'सायंकाळी') { + return hour + 12; } }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', - sameElse: 'L' - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, - ordinal: function ordinal(number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '周'; - default: - return number; + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'रात्री'; + } else if (hour < 10) { + return 'सकाळी'; + } else if (hour < 17) { + return 'दुपारी'; + } else if (hour < 20) { + return 'सायंकाळी'; + } else { + return 'रात्री'; } }, - relativeTime: { - future: '%s内', - past: '%s前', - s: '几秒', - m: '1 分钟', - mm: '%d 分钟', - h: '1 小时', - hh: '%d 小时', - d: '1 天', - dd: '%d 天', - M: '1 个月', - MM: '%d 个月', - y: '1 年', - yy: '%d 年' - }, week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 4 // The week that contains Jan 4th is the first week of the year. + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. } }); - return zhCn; + return mr; }); /***/ }), -/* 183 */ +/* 140 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26029,10 +23858,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Chinese (Hong Kong) [zh-hk] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris -//! author : Konstantin : https://github.com/skfd +//! locale : Malay [ms-my] +//! note : DEPRECATED, the correct one is [ms] +//! author : Weldan Jamili : https://github.com/weldan ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -26042,99 +23870,78 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var zhHk = moment.defineLocale('zh-hk', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + var msMy = moment.defineLocale('ms-my', { + months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY年MMMD日', - LL: 'YYYY年MMMD日', - LLL: 'YYYY年MMMD日 HH:mm', - LLLL: 'YYYY年MMMD日dddd HH:mm', - l: 'YYYY年MMMD日', - ll: 'YYYY年MMMD日', - lll: 'YYYY年MMMD日 HH:mm', - llll: 'YYYY年MMMD日dddd HH:mm' + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemParse: /pagi|tengahari|petang|malam/, meridiemHour: function meridiemHour(hour, meridiem) { if (hour === 12) { hour = 0; } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + if (meridiem === 'pagi') { return hour; - } else if (meridiem === '中午') { + } else if (meridiem === 'tengahari') { return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { + } else if (meridiem === 'petang' || meridiem === 'malam') { return hour + 12; } }, - meridiem: function meridiem(hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; } else { - return '晚上'; + return 'malam'; } }, calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', + sameDay: '[Hari ini pukul] LT', + nextDay: '[Esok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kelmarin pukul] LT', + lastWeek: 'dddd [lepas pukul] LT', sameElse: 'L' }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function ordinal(number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, relativeTime: { - future: '%s內', - past: '%s前', - s: '幾秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年' + future: 'dalam %s', + past: '%s yang lepas', + s: 'beberapa saat', + m: 'seminit', + mm: '%d minit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return zhHk; + return msMy; }); /***/ }), -/* 184 */ +/* 141 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26143,9 +23950,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 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; }; //! moment.js locale configuration -//! locale : Chinese (Taiwan) [zh-tw] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris +//! locale : Malay [ms] +//! author : Weldan Jamili : https://github.com/weldan ;(function (global, factory) { ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), @@ -26155,3841 +23961,5801 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol })(undefined, function (moment) { 'use strict'; - var zhTw = moment.defineLocale('zh-tw', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + var ms = moment.defineLocale('ms', { + months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY年MMMD日', - LL: 'YYYY年MMMD日', - LLL: 'YYYY年MMMD日 HH:mm', - LLLL: 'YYYY年MMMD日dddd HH:mm', - l: 'YYYY年MMMD日', - ll: 'YYYY年MMMD日', - lll: 'YYYY年MMMD日 HH:mm', - llll: 'YYYY年MMMD日dddd HH:mm' + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemParse: /pagi|tengahari|petang|malam/, meridiemHour: function meridiemHour(hour, meridiem) { if (hour === 12) { hour = 0; } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + if (meridiem === 'pagi') { return hour; - } else if (meridiem === '中午') { + } else if (meridiem === 'tengahari') { return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { + } else if (meridiem === 'petang' || meridiem === 'malam') { return hour + 12; } }, - meridiem: function meridiem(hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; } else { - return '晚上'; + return 'malam'; } }, calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', + sameDay: '[Hari ini pukul] LT', + nextDay: '[Esok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kelmarin pukul] LT', + lastWeek: 'dddd [lepas pukul] LT', sameElse: 'L' }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function ordinal(number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, relativeTime: { - future: '%s內', - past: '%s前', - s: '幾秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年' + future: 'dalam %s', + past: '%s yang lepas', + s: 'beberapa saat', + m: 'seminit', + mm: '%d minit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. } }); - return zhTw; + return ms; }); /***/ }), -/* 185 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var util = __webpack_require__(10); -var has = Object.prototype.hasOwnProperty; - -/** - * A data structure which is a combination of an array and a set. Adding a new - * member is O(1), testing for membership is O(1), and finding the index of an - * element is O(1). Removing elements from the set is not supported. Only - * strings are supported for membership. - */ -function ArraySet() { - this._array = []; - this._set = Object.create(null); -} - -/** - * Static method for creating ArraySet instances from an existing array. - */ -ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { - var set = new ArraySet(); - for (var i = 0, len = aArray.length; i < len; i++) { - set.add(aArray[i], aAllowDuplicates); - } - return set; -}; - -/** - * Return how many unique items are in this ArraySet. If duplicates have been - * added, than those do not count towards the size. - * - * @returns Number - */ -ArraySet.prototype.size = function ArraySet_size() { - return Object.getOwnPropertyNames(this._set).length; -}; - -/** - * Add the given string to this set. - * - * @param String aStr - */ -ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { - var sStr = util.toSetString(aStr); - var isDuplicate = has.call(this._set, sStr); - var idx = this._array.length; - if (!isDuplicate || aAllowDuplicates) { - this._array.push(aStr); - } - if (!isDuplicate) { - this._set[sStr] = idx; - } -}; - -/** - * Is the given string a member of this set? - * - * @param String aStr - */ -ArraySet.prototype.has = function ArraySet_has(aStr) { - var sStr = util.toSetString(aStr); - return has.call(this._set, sStr); -}; - -/** - * What is the index of the given string in the array? - * - * @param String aStr - */ -ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { - var sStr = util.toSetString(aStr); - if (has.call(this._set, sStr)) { - return this._set[sStr]; - } - throw new Error('"' + aStr + '" is not in the set.'); -}; - -/** - * What is the element at the given index? - * - * @param Number aIdx - */ -ArraySet.prototype.at = function ArraySet_at(aIdx) { - if (aIdx >= 0 && aIdx < this._array.length) { - return this._array[aIdx]; - } - throw new Error('No element indexed by ' + aIdx); -}; - -/** - * Returns the array representation of this set (which has the proper indices - * indicated by indexOf). Note that this is a copy of the internal array used - * for storing the members so that no one can mess with internal state. - */ -ArraySet.prototype.toArray = function ArraySet_toArray() { - return this._array.slice(); -}; - -exports.ArraySet = ArraySet; - -/***/ }), -/* 186 */ +/* 142 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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; }; -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - * - * Based on the Base 64 VLQ implementation in Closure Compiler: - * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java - * - * Copyright 2011 The Closure Compiler Authors. All rights reserved. - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -var base64 = __webpack_require__(234); - -// A single base 64 digit can contain 6 bits of data. For the base 64 variable -// length quantities we use in the source map spec, the first bit is the sign, -// the next four bits are the actual value, and the 6th bit is the -// continuation bit. The continuation bit tells us whether there are more -// digits in this value following this digit. -// -// Continuation -// | Sign -// | | -// V V -// 101011 - -var VLQ_BASE_SHIFT = 5; - -// binary: 100000 -var VLQ_BASE = 1 << VLQ_BASE_SHIFT; - -// binary: 011111 -var VLQ_BASE_MASK = VLQ_BASE - 1; +//! moment.js locale configuration +//! locale : Burmese [my] +//! author : Squar team, mysquar.com +//! author : David Rossellat : https://github.com/gholadr +//! author : Tin Aung Lin : https://github.com/thanyawzinmin -// binary: 100000 -var VLQ_CONTINUATION_BIT = VLQ_BASE; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; -/** - * Converts from a two-complement value to a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) - * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) - */ -function toVLQSigned(aValue) { - return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; -} + var symbolMap = { + '1': '၁', + '2': '၂', + '3': '၃', + '4': '၄', + '5': '၅', + '6': '၆', + '7': '၇', + '8': '၈', + '9': '၉', + '0': '၀' + }; + var numberMap = { + '၁': '1', + '၂': '2', + '၃': '3', + '၄': '4', + '၅': '5', + '၆': '6', + '၇': '7', + '၈': '8', + '၉': '9', + '၀': '0' + }; -/** - * Converts to a two-complement value from a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 - * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 - */ -function fromVLQSigned(aValue) { - var isNegative = (aValue & 1) === 1; - var shifted = aValue >> 1; - return isNegative ? -shifted : shifted; -} + var my = moment.defineLocale('my', { + months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'), + monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), + weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'), + weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), + weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), -/** - * Returns the base 64 VLQ encoded value. - */ -exports.encode = function base64VLQ_encode(aValue) { - var encoded = ""; - var digit; + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[ယနေ.] LT [မှာ]', + nextDay: '[မနက်ဖြန်] LT [မှာ]', + nextWeek: 'dddd LT [မှာ]', + lastDay: '[မနေ.က] LT [မှာ]', + lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', + sameElse: 'L' + }, + relativeTime: { + future: 'လာမည့် %s မှာ', + past: 'လွန်ခဲ့သော %s က', + s: 'စက္ကန်.အနည်းငယ်', + m: 'တစ်မိနစ်', + mm: '%d မိနစ်', + h: 'တစ်နာရီ', + hh: '%d နာရီ', + d: 'တစ်ရက်', + dd: '%d ရက်', + M: 'တစ်လ', + MM: '%d လ', + y: 'တစ်နှစ်', + yy: '%d နှစ်' + }, + preparse: function preparse(string) { + return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 1st is the first week of the year. + } + }); - var vlq = toVLQSigned(aValue); + return my; +}); - do { - digit = vlq & VLQ_BASE_MASK; - vlq >>>= VLQ_BASE_SHIFT; - if (vlq > 0) { - // There are still more digits in this value, so we must make sure the - // continuation bit is marked. - digit |= VLQ_CONTINUATION_BIT; - } - encoded += base64.encode(digit); - } while (vlq > 0); +/***/ }), +/* 143 */ +/***/ (function(module, exports, __webpack_require__) { - return encoded; -}; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; -/** - * Decodes the next base 64 VLQ value from the given string and returns the - * value and the rest of the string via the out parameter. - */ -exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { - var strLen = aStr.length; - var result = 0; - var shift = 0; - var continuation, digit; +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; }; - do { - if (aIndex >= strLen) { - throw new Error("Expected more digits in base 64 VLQ value."); - } +//! moment.js locale configuration +//! locale : Norwegian Bokmål [nb] +//! authors : Espen Hovlandsdal : https://github.com/rexxars +//! Sigurd Gartmann : https://github.com/sigurdga - digit = base64.decode(aStr.charCodeAt(aIndex++)); - if (digit === -1) { - throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - continuation = !!(digit & VLQ_CONTINUATION_BIT); - digit &= VLQ_BASE_MASK; - result = result + (digit << shift); - shift += VLQ_BASE_SHIFT; - } while (continuation); + var nb = moment.defineLocale('nb', { + months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort: 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), + monthsParseExact: true, + weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), + weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] HH:mm', + LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar: { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[i går kl.] LT', + lastWeek: '[forrige] dddd [kl.] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'om %s', + past: '%s siden', + s: 'noen sekunder', + m: 'ett minutt', + mm: '%d minutter', + h: 'en time', + hh: '%d timer', + d: 'en dag', + dd: '%d dager', + M: 'en måned', + MM: '%d måneder', + y: 'ett år', + yy: '%d år' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - aOutParam.value = fromVLQSigned(result); - aOutParam.rest = aIndex; -}; + return nb; +}); /***/ }), -/* 187 */ +/* 144 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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; }; -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -var base64VLQ = __webpack_require__(186); -var util = __webpack_require__(10); -var ArraySet = __webpack_require__(185).ArraySet; -var MappingList = __webpack_require__(236).MappingList; - -/** - * An instance of the SourceMapGenerator represents a source map which is - * being built incrementally. You may pass an object with the following - * properties: - * - * - file: The filename of the generated source. - * - sourceRoot: A root for all relative URLs in this source map. - */ -function SourceMapGenerator(aArgs) { - if (!aArgs) { - aArgs = {}; - } - this._file = util.getArg(aArgs, 'file', null); - this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); - this._skipValidation = util.getArg(aArgs, 'skipValidation', false); - this._sources = new ArraySet(); - this._names = new ArraySet(); - this._mappings = new MappingList(); - this._sourcesContents = null; -} +//! moment.js locale configuration +//! locale : Nepalese [ne] +//! author : suvash : https://github.com/suvash -SourceMapGenerator.prototype._version = 3; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; -/** - * Creates a new SourceMapGenerator based on a SourceMapConsumer - * - * @param aSourceMapConsumer The SourceMap. - */ -SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { - var sourceRoot = aSourceMapConsumer.sourceRoot; - var generator = new SourceMapGenerator({ - file: aSourceMapConsumer.file, - sourceRoot: sourceRoot - }); - aSourceMapConsumer.eachMapping(function (mapping) { - var newMapping = { - generated: { - line: mapping.generatedLine, - column: mapping.generatedColumn - } + var symbolMap = { + '1': '१', + '2': '२', + '3': '३', + '4': '४', + '5': '५', + '6': '६', + '7': '७', + '8': '८', + '9': '९', + '0': '०' + }; + var numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0' }; - if (mapping.source != null) { - newMapping.source = mapping.source; - if (sourceRoot != null) { - newMapping.source = util.relative(sourceRoot, newMapping.source); - } - - newMapping.original = { - line: mapping.originalLine, - column: mapping.originalColumn - }; - - if (mapping.name != null) { - newMapping.name = mapping.name; - } - } + var ne = moment.defineLocale('ne', { + months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'), + monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'), + monthsParseExact: true, + weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'), + weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), + weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'Aको h:mm बजे', + LTS: 'Aको h:mm:ss बजे', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, Aको h:mm बजे', + LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे' + }, + preparse: function preparse(string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /राति|बिहान|दिउँसो|साँझ/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'राति') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'बिहान') { + return hour; + } else if (meridiem === 'दिउँसो') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'साँझ') { + return hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 3) { + return 'राति'; + } else if (hour < 12) { + return 'बिहान'; + } else if (hour < 16) { + return 'दिउँसो'; + } else if (hour < 20) { + return 'साँझ'; + } else { + return 'राति'; + } + }, + calendar: { + sameDay: '[आज] LT', + nextDay: '[भोलि] LT', + nextWeek: '[आउँदो] dddd[,] LT', + lastDay: '[हिजो] LT', + lastWeek: '[गएको] dddd[,] LT', + sameElse: 'L' + }, + relativeTime: { + future: '%sमा', + past: '%s अगाडि', + s: 'केही क्षण', + m: 'एक मिनेट', + mm: '%d मिनेट', + h: 'एक घण्टा', + hh: '%d घण्टा', + d: 'एक दिन', + dd: '%d दिन', + M: 'एक महिना', + MM: '%d महिना', + y: 'एक बर्ष', + yy: '%d बर्ष' + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. + } + }); - generator.addMapping(newMapping); - }); - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - generator.setSourceContent(sourceFile, content); - } - }); - return generator; -}; + return ne; +}); -/** - * Add a single mapping from original source line and column to the generated - * source's line and column for this source map being created. The mapping - * object should have the following properties: - * - * - generated: An object with the generated line and column positions. - * - original: An object with the original line and column positions. - * - source: The original source file (relative to the sourceRoot). - * - name: An optional original token name for this mapping. - */ -SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { - var generated = util.getArg(aArgs, 'generated'); - var original = util.getArg(aArgs, 'original', null); - var source = util.getArg(aArgs, 'source', null); - var name = util.getArg(aArgs, 'name', null); +/***/ }), +/* 145 */ +/***/ (function(module, exports, __webpack_require__) { - if (!this._skipValidation) { - this._validateMapping(generated, original, source, name); - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (source != null) { - source = String(source); - if (!this._sources.has(source)) { - this._sources.add(source); - } - } +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; }; - if (name != null) { - name = String(name); - if (!this._names.has(name)) { - this._names.add(name); - } - } +//! moment.js locale configuration +//! locale : Dutch (Belgium) [nl-be] +//! author : Joris Röling : https://github.com/jorisroling +//! author : Jacob Middag : https://github.com/middagj - this._mappings.add({ - generatedLine: generated.line, - generatedColumn: generated.column, - originalLine: original != null && original.line, - originalColumn: original != null && original.column, - source: source, - name: name - }); -}; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; -/** - * Set the source content for a source file. - */ -SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { - var source = aSourceFile; - if (this._sourceRoot != null) { - source = util.relative(this._sourceRoot, source); - } + var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'); + var monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); - if (aSourceContent != null) { - // Add the source content to the _sourcesContents map. - // Create a new _sourcesContents map if the property is null. - if (!this._sourcesContents) { - this._sourcesContents = Object.create(null); - } - this._sourcesContents[util.toSetString(source)] = aSourceContent; - } else if (this._sourcesContents) { - // Remove the source file from the _sourcesContents map. - // If the _sourcesContents map is empty, set the property to null. - delete this._sourcesContents[util.toSetString(source)]; - if (Object.keys(this._sourcesContents).length === 0) { - this._sourcesContents = null; - } - } -}; + var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]; + var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; -/** - * Applies the mappings of a sub-source-map for a specific source file to the - * source map being generated. Each mapping to the supplied source file is - * rewritten using the supplied source map. Note: The resolution for the - * resulting mappings is the minimium of this map and the supplied map. - * - * @param aSourceMapConsumer The source map to be applied. - * @param aSourceFile Optional. The filename of the source file. - * If omitted, SourceMapConsumer's file property will be used. - * @param aSourceMapPath Optional. The dirname of the path to the source map - * to be applied. If relative, it is relative to the SourceMapConsumer. - * This parameter is needed when the two source maps aren't in the same - * directory, and the source map to be applied contains relative source - * paths. If so, those relative source paths need to be rewritten - * relative to the SourceMapGenerator. - */ -SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { - var sourceFile = aSourceFile; - // If aSourceFile is omitted, we will use the file property of the SourceMap - if (aSourceFile == null) { - if (aSourceMapConsumer.file == null) { - throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.'); - } - sourceFile = aSourceMapConsumer.file; - } - var sourceRoot = this._sourceRoot; - // Make "sourceFile" relative if an absolute Url is passed. - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - // Applying the SourceMap can add and remove items from the sources and - // the names array. - var newSources = new ArraySet(); - var newNames = new ArraySet(); + var nlBe = moment.defineLocale('nl-be', { + months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort: function monthsShort(m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, - // Find mappings for the "sourceFile" - this._mappings.unsortedForEach(function (mapping) { - if (mapping.source === sourceFile && mapping.originalLine != null) { - // Check if it can be mapped by the source map, then update the mapping. - var original = aSourceMapConsumer.originalPositionFor({ - line: mapping.originalLine, - column: mapping.originalColumn - }); - if (original.source != null) { - // Copy mapping - mapping.source = original.source; - if (aSourceMapPath != null) { - mapping.source = util.join(aSourceMapPath, mapping.source); - } - if (sourceRoot != null) { - mapping.source = util.relative(sourceRoot, mapping.source); - } - mapping.originalLine = original.line; - mapping.originalColumn = original.column; - if (original.name != null) { - mapping.name = original.name; + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + + weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), + weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), + weekdaysMin: 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[vandaag om] LT', + nextDay: '[morgen om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[gisteren om] LT', + lastWeek: '[afgelopen] dddd [om] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'over %s', + past: '%s geleden', + s: 'een paar seconden', + m: 'één minuut', + mm: '%d minuten', + h: 'één uur', + hh: '%d uur', + d: 'één dag', + dd: '%d dagen', + M: 'één maand', + MM: '%d maanden', + y: 'één jaar', + yy: '%d jaar' + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function ordinal(number) { + return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } - } - } + }); - var source = mapping.source; - if (source != null && !newSources.has(source)) { - newSources.add(source); - } + return nlBe; +}); - var name = mapping.name; - if (name != null && !newNames.has(name)) { - newNames.add(name); - } - }, this); - this._sources = newSources; - this._names = newNames; +/***/ }), +/* 146 */ +/***/ (function(module, exports, __webpack_require__) { - // Copy sourcesContents of applied map. - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aSourceMapPath != null) { - sourceFile = util.join(aSourceMapPath, sourceFile); - } - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - this.setSourceContent(sourceFile, content); - } - }, this); -}; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; -/** - * A mapping can have one of the three levels of data: - * - * 1. Just the generated position. - * 2. The Generated position, original position, and original source. - * 3. Generated and original position, original source, as well as a name - * token. - * - * To maintain consistency, we validate that any new mapping being added falls - * in to one of these categories. - */ -SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { - if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { - // Case 1. - return; - } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { - // Cases 2 and 3. - return; - } else { - throw new Error('Invalid mapping: ' + JSON.stringify({ - generated: aGenerated, - source: aSource, - original: aOriginal, - name: aName - })); - } -}; +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; }; -/** - * Serialize the accumulated mappings in to the stream of base 64 VLQs - * specified by the source map format. - */ -SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { - var previousGeneratedColumn = 0; - var previousGeneratedLine = 1; - var previousOriginalColumn = 0; - var previousOriginalLine = 0; - var previousName = 0; - var previousSource = 0; - var result = ''; - var next; - var mapping; - var nameIdx; - var sourceIdx; +//! moment.js locale configuration +//! locale : Dutch [nl] +//! author : Joris Röling : https://github.com/jorisroling +//! author : Jacob Middag : https://github.com/middagj - var mappings = this._mappings.toArray(); - for (var i = 0, len = mappings.length; i < len; i++) { - mapping = mappings[i]; - next = ''; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (mapping.generatedLine !== previousGeneratedLine) { - previousGeneratedColumn = 0; - while (mapping.generatedLine !== previousGeneratedLine) { - next += ';'; - previousGeneratedLine++; - } - } else { - if (i > 0) { - if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { - continue; - } - next += ','; - } - } + var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'); + var monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); - next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); - previousGeneratedColumn = mapping.generatedColumn; + var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]; + var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - if (mapping.source != null) { - sourceIdx = this._sources.indexOf(mapping.source); - next += base64VLQ.encode(sourceIdx - previousSource); - previousSource = sourceIdx; + var nl = moment.defineLocale('nl', { + months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), + monthsShort: function monthsShort(m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, - // lines are stored 0-based in SourceMap spec version 3 - next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); - previousOriginalLine = mapping.originalLine - 1; + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); - previousOriginalColumn = mapping.originalColumn; + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, - if (mapping.name != null) { - nameIdx = this._names.indexOf(mapping.name); - next += base64VLQ.encode(nameIdx - previousName); - previousName = nameIdx; - } - } + weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), + weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), + weekdaysMin: 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[vandaag om] LT', + nextDay: '[morgen om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[gisteren om] LT', + lastWeek: '[afgelopen] dddd [om] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'over %s', + past: '%s geleden', + s: 'een paar seconden', + m: 'één minuut', + mm: '%d minuten', + h: 'één uur', + hh: '%d uur', + d: 'één dag', + dd: '%d dagen', + M: 'één maand', + MM: '%d maanden', + y: 'één jaar', + yy: '%d jaar' + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function ordinal(number) { + return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - result += next; - } + return nl; +}); - return result; -}; +/***/ }), +/* 147 */ +/***/ (function(module, exports, __webpack_require__) { -SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { - return aSources.map(function (source) { - if (!this._sourcesContents) { - return null; - } - if (aSourceRoot != null) { - source = util.relative(aSourceRoot, source); - } - var key = util.toSetString(source); - return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; - }, this); -}; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; -/** - * Externalize the source map. - */ -SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { - var map = { - version: this._version, - sources: this._sources.toArray(), - names: this._names.toArray(), - mappings: this._serializeMappings() - }; - if (this._file != null) { - map.file = this._file; - } - if (this._sourceRoot != null) { - map.sourceRoot = this._sourceRoot; - } - if (this._sourcesContents) { - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); - } +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; }; - return map; -}; +//! moment.js locale configuration +//! locale : Nynorsk [nn] +//! author : https://github.com/mechuwind -/** - * Render the source map being generated to a string. - */ -SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { - return JSON.stringify(this.toJSON()); -}; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; -exports.SourceMapGenerator = SourceMapGenerator; + var nn = moment.defineLocale('nn', { + months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), + monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), + weekdaysShort: 'sun_mån_tys_ons_tor_fre_lau'.split('_'), + weekdaysMin: 'su_må_ty_on_to_fr_lø'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] H:mm', + LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' + }, + calendar: { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I går klokka] LT', + lastWeek: '[Føregåande] dddd [klokka] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'om %s', + past: '%s sidan', + s: 'nokre sekund', + m: 'eit minutt', + mm: '%d minutt', + h: 'ein time', + hh: '%d timar', + d: 'ein dag', + dd: '%d dagar', + M: 'ein månad', + MM: '%d månader', + y: 'eit år', + yy: '%d år' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return nn; +}); /***/ }), -/* 188 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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 = undefined && undefined.__extends || function (d, b) { - for (var p in b) { - if (b.hasOwnProperty(p)) d[p] = b[p]; - }function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var LoggerOptions_1 = __webpack_require__(1); -var AbstractCategoryLogger_1 = __webpack_require__(16); -/** - * Simple logger, that logs to the console. If the console is unavailable will throw an exception. - */ -var CategoryConsoleLoggerImpl = function (_super) { - __extends(CategoryConsoleLoggerImpl, _super); - function CategoryConsoleLoggerImpl(rootCategory, runtimeSettings) { - return _super.call(this, rootCategory, runtimeSettings) || this; - } - CategoryConsoleLoggerImpl.prototype.doLog = function (msg) { - var fullMsg = this.createDefaultLogMessage(msg); - if (console !== undefined) { - var logged = false; - /* tslint:disable:no-console */ - switch (msg.getLevel()) { - case LoggerOptions_1.LogLevel.Trace: - // Don't try trace we don't want stacks - break; - case LoggerOptions_1.LogLevel.Debug: - if (console.debug) { - console.debug(fullMsg); - logged = true; - } - break; - case LoggerOptions_1.LogLevel.Info: - if (console.info) { - console.info(fullMsg); - logged = true; - } - break; - case LoggerOptions_1.LogLevel.Warn: - if (console.warn) { - console.warn(fullMsg); - logged = true; - } - break; - case LoggerOptions_1.LogLevel.Error: - case LoggerOptions_1.LogLevel.Fatal: - if (console.error) { - console.error(fullMsg); - logged = true; - } - break; - default: - throw new Error("Unsupported level: " + msg.getLevel()); +//! moment.js locale configuration +//! locale : Punjabi (India) [pa-in] +//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var symbolMap = { + '1': '੧', + '2': '੨', + '3': '੩', + '4': '੪', + '5': '੫', + '6': '੬', + '7': '੭', + '8': '੮', + '9': '੯', + '0': '੦' + }; + var numberMap = { + '੧': '1', + '੨': '2', + '੩': '3', + '੪': '4', + '੫': '5', + '੬': '6', + '੭': '7', + '੮': '8', + '੯': '9', + '੦': '0' + }; + + var paIn = moment.defineLocale('pa-in', { + // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi. + months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), + weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'), + weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), + weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), + longDateFormat: { + LT: 'A h:mm ਵਜੇ', + LTS: 'A h:mm:ss ਵਜੇ', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', + LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ' + }, + calendar: { + sameDay: '[ਅਜ] LT', + nextDay: '[ਕਲ] LT', + nextWeek: 'dddd, LT', + lastDay: '[ਕਲ] LT', + lastWeek: '[ਪਿਛਲੇ] dddd, LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s ਵਿੱਚ', + past: '%s ਪਿਛਲੇ', + s: 'ਕੁਝ ਸਕਿੰਟ', + m: 'ਇਕ ਮਿੰਟ', + mm: '%d ਮਿੰਟ', + h: 'ਇੱਕ ਘੰਟਾ', + hh: '%d ਘੰਟੇ', + d: 'ਇੱਕ ਦਿਨ', + dd: '%d ਦਿਨ', + M: 'ਇੱਕ ਮਹੀਨਾ', + MM: '%d ਮਹੀਨੇ', + y: 'ਇੱਕ ਸਾਲ', + yy: '%d ਸਾਲ' + }, + preparse: function preparse(string) { + return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Punjabi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. + meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; } - if (!logged) { - console.log(fullMsg); + if (meridiem === 'ਰਾਤ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ਸਵੇਰ') { + return hour; + } else if (meridiem === 'ਦੁਪਹਿਰ') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ਸ਼ਾਮ') { + return hour + 12; } - } else { - throw new Error("Console is not defined, cannot log msg: " + fullMsg); + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'ਰਾਤ'; + } else if (hour < 10) { + return 'ਸਵੇਰ'; + } else if (hour < 17) { + return 'ਦੁਪਹਿਰ'; + } else if (hour < 20) { + return 'ਸ਼ਾਮ'; + } else { + return 'ਰਾਤ'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. } - }; - return CategoryConsoleLoggerImpl; -}(AbstractCategoryLogger_1.AbstractCategoryLogger); -exports.CategoryConsoleLoggerImpl = CategoryConsoleLoggerImpl; -//# sourceMappingURL=CategoryConsoleLoggerImpl.js.map + }); + + return paIn; +}); /***/ }), -/* 189 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; -/** - * Delegate logger, delegates logging to given logger (constructor). - */ +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 CategoryDelegateLoggerImpl = function () { - function CategoryDelegateLoggerImpl(delegate) { - this._delegate = delegate; +//! moment.js locale configuration +//! locale : Polish [pl] +//! author : Rafal Hirsz : https://github.com/evoL + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'); + var monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_'); + function plural(n) { + return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; } - Object.defineProperty(CategoryDelegateLoggerImpl.prototype, "delegate", { - get: function get() { - return this._delegate; + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'm': + return withoutSuffix ? 'minuta' : 'minutę'; + case 'mm': + return result + (plural(number) ? 'minuty' : 'minut'); + case 'h': + return withoutSuffix ? 'godzina' : 'godzinę'; + case 'hh': + return result + (plural(number) ? 'godziny' : 'godzin'); + case 'MM': + return result + (plural(number) ? 'miesiące' : 'miesięcy'); + case 'yy': + return result + (plural(number) ? 'lata' : 'lat'); + } + } + + var pl = moment.defineLocale('pl', { + months: function months(momentToFormat, format) { + if (!momentToFormat) { + return monthsNominative; + } else if (format === '') { + // Hack: if format empty we know this is used to generate + // RegExp by moment. Give then back both valid forms of months + // in RegExp ready format. + return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; + } else if (/D MMMM/.test(format)) { + return monthsSubjective[momentToFormat.month()]; + } else { + return monthsNominative[momentToFormat.month()]; + } }, - set: function set(value) { - this._delegate = value; + monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), + weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'), + weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), + weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' }, - enumerable: true, - configurable: true - }); - CategoryDelegateLoggerImpl.prototype.trace = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).trace.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.debug = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).debug.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.info = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).info.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.warn = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).warn.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.error = function (msg, error) { - var categories = []; - for (var _i = 2; _i < arguments.length; _i++) { - categories[_i - 2] = arguments[_i]; - } - (_a = this._delegate).error.apply(_a, [msg, error].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.fatal = function (msg, error) { - var categories = []; - for (var _i = 2; _i < arguments.length; _i++) { - categories[_i - 2] = arguments[_i]; - } - (_a = this._delegate).fatal.apply(_a, [msg, error].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.resolved = function (msg, error) { - var categories = []; - for (var _i = 2; _i < arguments.length; _i++) { - categories[_i - 2] = arguments[_i]; - } - (_a = this._delegate).resolved.apply(_a, [msg, error].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.log = function (level, msg, error) { - var categories = []; - for (var _i = 3; _i < arguments.length; _i++) { - categories[_i - 3] = arguments[_i]; - } - (_a = this._delegate).log.apply(_a, [level, msg, error].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.tracec = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).tracec.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.debugc = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).debugc.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.infoc = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).infoc.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.warnc = function (msg) { - var categories = []; - for (var _i = 1; _i < arguments.length; _i++) { - categories[_i - 1] = arguments[_i]; - } - (_a = this._delegate).warnc.apply(_a, [msg].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.errorc = function (msg, error) { - var categories = []; - for (var _i = 2; _i < arguments.length; _i++) { - categories[_i - 2] = arguments[_i]; - } - (_a = this._delegate).errorc.apply(_a, [msg, error].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.fatalc = function (msg, error) { - var categories = []; - for (var _i = 2; _i < arguments.length; _i++) { - categories[_i - 2] = arguments[_i]; - } - (_a = this._delegate).fatalc.apply(_a, [msg, error].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.resolvedc = function (msg, error) { - var categories = []; - for (var _i = 2; _i < arguments.length; _i++) { - categories[_i - 2] = arguments[_i]; - } - (_a = this._delegate).resolvedc.apply(_a, [msg, error].concat(categories)); - var _a; - }; - CategoryDelegateLoggerImpl.prototype.logc = function (level, msg, error) { - var categories = []; - for (var _i = 3; _i < arguments.length; _i++) { - categories[_i - 3] = arguments[_i]; + calendar: { + sameDay: '[Dziś o] LT', + nextDay: '[Jutro o] LT', + nextWeek: '[W] dddd [o] LT', + lastDay: '[Wczoraj o] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + return '[W zeszłą niedzielę o] LT'; + case 3: + return '[W zeszłą środę o] LT'; + case 6: + return '[W zeszłą sobotę o] LT'; + default: + return '[W zeszły] dddd [o] LT'; + } + }, + sameElse: 'L' + }, + relativeTime: { + future: 'za %s', + past: '%s temu', + s: 'kilka sekund', + m: translate, + mm: translate, + h: translate, + hh: translate, + d: '1 dzień', + dd: '%d dni', + M: 'miesiąc', + MM: translate, + y: 'rok', + yy: translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } - (_a = this._delegate).logc.apply(_a, [level, msg, error].concat(categories)); - var _a; - }; - return CategoryDelegateLoggerImpl; -}(); -exports.CategoryDelegateLoggerImpl = CategoryDelegateLoggerImpl; -//# sourceMappingURL=CategoryDelegateLoggerImpl.js.map + }); + + return pl; +}); /***/ }), -/* 190 */ +/* 150 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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 = undefined && undefined.__extends || function (d, b) { - for (var p in b) { - if (b.hasOwnProperty(p)) d[p] = b[p]; - }function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var AbstractCategoryLogger_1 = __webpack_require__(16); -/** - * Logger which buffers all messages, use with care due to possible high memory footprint. - * Can be convenient in some cases. Call toString() for full output, or cast to this class - * and call getMessages() to do something with it yourself. - */ -var CategoryMessageBufferLoggerImpl = function (_super) { - __extends(CategoryMessageBufferLoggerImpl, _super); - function CategoryMessageBufferLoggerImpl() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.messages = []; - return _this; - } - CategoryMessageBufferLoggerImpl.prototype.getMessages = function () { - return this.messages; - }; - CategoryMessageBufferLoggerImpl.prototype.toString = function () { - return this.messages.map(function (msg) { - return msg; - }).join("\n"); - }; - CategoryMessageBufferLoggerImpl.prototype.doLog = function (msg) { - var fullMsg = this.createDefaultLogMessage(msg); - this.messages.push(fullMsg); - }; - return CategoryMessageBufferLoggerImpl; -}(AbstractCategoryLogger_1.AbstractCategoryLogger); -exports.CategoryMessageBufferLoggerImpl = CategoryMessageBufferLoggerImpl; -//# sourceMappingURL=CategoryMessageBufferImpl.js.map +//! moment.js locale configuration +//! locale : Portuguese (Brazil) [pt-br] +//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var ptBr = moment.defineLocale('pt-br', { + months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), + weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm' + }, + calendar: { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function lastWeek() { + return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : // Saturday + Sunday + '[Última] dddd [às] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime: { + future: 'em %s', + past: '%s atrás', + s: 'poucos segundos', + m: 'um minuto', + mm: '%d minutos', + h: 'uma hora', + hh: '%d horas', + d: 'um dia', + dd: '%d dias', + M: 'um mês', + MM: '%d meses', + y: 'um ano', + yy: '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº' + }); + + return ptBr; +}); /***/ }), -/* 191 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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 = undefined && undefined.__extends || function (d, b) { - for (var p in b) { - if (b.hasOwnProperty(p)) d[p] = b[p]; - }function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var AbstractLogger_1 = __webpack_require__(18); -var LoggerOptions_1 = __webpack_require__(1); -/** - * Simple logger, that logs to the console. If the console is unavailable will throw exception. - */ -var ConsoleLoggerImpl = function (_super) { - __extends(ConsoleLoggerImpl, _super); - function ConsoleLoggerImpl(name, logGroupRuntimeSettings) { - return _super.call(this, name, logGroupRuntimeSettings) || this; - } - ConsoleLoggerImpl.prototype.doLog = function (message) { - if (console !== undefined) { - var logged = false; - var logLevel = message.level; - var msg = this.createDefaultLogMessage(message); - /* tslint:disable:no-console */ - switch (logLevel) { - case LoggerOptions_1.LogLevel.Trace: - // Do not try trace we don't want a stack - break; - case LoggerOptions_1.LogLevel.Debug: - if (console.debug) { - console.debug(msg); - logged = true; - } - break; - case LoggerOptions_1.LogLevel.Info: - if (console.info) { - console.info(msg); - logged = true; - } - break; - case LoggerOptions_1.LogLevel.Warn: - if (console.warn) { - console.warn(msg); - logged = true; - } - break; - case LoggerOptions_1.LogLevel.Error: - case LoggerOptions_1.LogLevel.Fatal: - if (console.error) { - console.error(msg); - logged = true; - } - break; - default: - throw new Error("Log level not supported: " + logLevel); - } - if (!logged) { - console.log(msg); - } - } else { - throw new Error("Console is not defined, cannot log msg: " + message.message); +//! moment.js locale configuration +//! locale : Portuguese [pt] +//! author : Jefferson : https://github.com/jalex79 + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var pt = moment.defineLocale('pt', { + months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), + monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays: 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado'.split('_'), + weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY HH:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm' + }, + calendar: { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function lastWeek() { + return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : // Saturday + Sunday + '[Última] dddd [às] LT'; // Monday - Friday + }, + sameElse: 'L' + }, + relativeTime: { + future: 'em %s', + past: 'há %s', + s: 'segundos', + m: 'um minuto', + mm: '%d minutos', + h: 'uma hora', + hh: '%d horas', + d: 'um dia', + dd: '%d dias', + M: 'um mês', + MM: '%d meses', + y: 'um ano', + yy: '%d anos' + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } - }; - return ConsoleLoggerImpl; -}(AbstractLogger_1.AbstractLogger); -exports.ConsoleLoggerImpl = ConsoleLoggerImpl; -//# sourceMappingURL=ConsoleLoggerImpl.js.map + }); + + return pt; +}); /***/ }), -/* 192 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +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 = undefined && undefined.__extends || function (d, b) { - for (var p in b) { - if (b.hasOwnProperty(p)) d[p] = b[p]; - }function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var AbstractLogger_1 = __webpack_require__(18); -/** - * Logger which buffers all messages, use with care due to possible high memory footprint. - * Can be convenient in some cases. Call toString() for full output, or cast to this class - * and call getMessages() to do something with it yourself. - */ -var MessageBufferLoggerImpl = function (_super) { - __extends(MessageBufferLoggerImpl, _super); - function MessageBufferLoggerImpl(name, logGroupRuntimeSettings) { - var _this = _super.call(this, name, logGroupRuntimeSettings) || this; - _this.messages = []; - return _this; +//! moment.js locale configuration +//! locale : Romanian [ro] +//! author : Vlad Gurdiga : https://github.com/gurdiga +//! author : Valentin Agachi : https://github.com/avaly + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'mm': 'minute', + 'hh': 'ore', + 'dd': 'zile', + 'MM': 'luni', + 'yy': 'ani' + }, + separator = ' '; + if (number % 100 >= 20 || number >= 100 && number % 100 === 0) { + separator = ' de '; + } + return number + separator + format[key]; } - MessageBufferLoggerImpl.prototype.close = function () { - this.messages = []; - _super.prototype.close.call(this); - }; - MessageBufferLoggerImpl.prototype.getMessages = function () { - return this.messages; - }; - MessageBufferLoggerImpl.prototype.toString = function () { - return this.messages.map(function (msg) { - return msg; - }).join("\n"); - }; - MessageBufferLoggerImpl.prototype.doLog = function (message) { - this.messages.push(this.createDefaultLogMessage(message)); - }; - return MessageBufferLoggerImpl; -}(AbstractLogger_1.AbstractLogger); -exports.MessageBufferLoggerImpl = MessageBufferLoggerImpl; -//# sourceMappingURL=MessageBufferLoggerImpl.js.map + + var ro = moment.defineLocale('ro', { + months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), + monthsShort: 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), + weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), + weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm' + }, + calendar: { + sameDay: '[azi la] LT', + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'peste %s', + past: '%s în urmă', + s: 'câteva secunde', + m: 'un minut', + mm: relativeTimeWithPlural, + h: 'o oră', + hh: relativeTimeWithPlural, + d: 'o zi', + dd: relativeTimeWithPlural, + M: 'o lună', + MM: relativeTimeWithPlural, + y: 'un an', + yy: relativeTimeWithPlural + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); + + return ro; +}); /***/ }), -/* 193 */ +/* 153 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; 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; }; -/*! - * URI.js - Mutating URLs - * IPv6 Support - * - * Version: 1.18.10 - * - * Author: Rodney Rehm - * Web: http://medialize.github.io/URI.js/ - * - * Licensed under - * MIT License http://www.opensource.org/licenses/mit-license - * - */ - -(function (root, factory) { - 'use strict'; - // https://github.com/umdjs/umd/blob/master/returnExports.js +//! moment.js locale configuration +//! locale : Russian [ru] +//! author : Viktorminator : https://github.com/Viktorminator +//! Author : Menelion Elensúle : https://github.com/Oire +//! author : Коренберг Марк : https://github.com/socketpair - if (( false ? 'undefined' : _typeof(module)) === 'object' && module.exports) { - // Node - module.exports = factory(); - } else if (true) { - // AMD. Register as an anonymous module. - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __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 { - // Browser globals (root is window) - root.IPv6 = factory(root); - } -})(undefined, function (root) { - 'use strict'; + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - /* - var _in = "fe80:0000:0000:0000:0204:61ff:fe9d:f156"; - var _out = IPv6.best(_in); - var _expected = "fe80::204:61ff:fe9d:f156"; - console.log(_in, _out, _expected, _out === _expected); - */ + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', + 'hh': 'час_часа_часов', + 'dd': 'день_дня_дней', + 'MM': 'месяц_месяца_месяцев', + 'yy': 'год_года_лет' + }; + if (key === 'm') { + return withoutSuffix ? 'минута' : 'минуту'; + } else { + return number + ' ' + plural(format[key], +number); + } + } + var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i]; - // save current IPv6 variable, if any + // http://new.gramota.ru/spravka/rules/139-prop : § 103 + // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 + // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 + var ru = moment.defineLocale('ru', { + months: { + format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'), + standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_') + }, + monthsShort: { + // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ? + format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'), + standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_') + }, + weekdays: { + standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'), + format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'), + isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/ + }, + weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), + weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, - var _IPv6 = root && root.IPv6; + // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки + monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - function bestPresentation(address) { - // based on: - // Javascript to test an IPv6 address for proper format, and to - // present the "best text representation" according to IETF Draft RFC at - // http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04 - // 8 Feb 2010 Rich Brown, Dartware, LLC - // Please feel free to use this code as long as you provide a link to - // http://www.intermapper.com - // http://intermapper.com/support/tools/IPV6-Validator.aspx - // http://download.dartware.com/thirdparty/ipv6validator.js + // копия предыдущего + monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - var _address = address.toLowerCase(); - var segments = _address.split(':'); - var length = segments.length; - var total = 8; + // полные названия с падежами + monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, - // trim colons (:: or ::a:b:c… or …a:b:c::) - if (segments[0] === '' && segments[1] === '' && segments[2] === '') { - // must have been :: - // remove first two items - segments.shift(); - segments.shift(); - } else if (segments[0] === '' && segments[1] === '') { - // must have been ::xxxx - // remove the first item - segments.shift(); - } else if (segments[length - 1] === '' && segments[length - 2] === '') { - // must have been xxxx:: - segments.pop(); - } + // Выражение, которое соотвествует только сокращённым формам + monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY г.', + LLL: 'D MMMM YYYY г., HH:mm', + LLLL: 'dddd, D MMMM YYYY г., HH:mm' + }, + calendar: { + sameDay: '[Сегодня в] LT', + nextDay: '[Завтра в] LT', + lastDay: '[Вчера в] LT', + nextWeek: function nextWeek(now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[В следующее] dddd [в] LT'; + case 1: + case 2: + case 4: + return '[В следующий] dddd [в] LT'; + case 3: + case 5: + case 6: + return '[В следующую] dddd [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd [в] LT'; + } else { + return '[В] dddd [в] LT'; + } + } + }, + lastWeek: function lastWeek(now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[В прошлое] dddd [в] LT'; + case 1: + case 2: + case 4: + return '[В прошлый] dddd [в] LT'; + case 3: + case 5: + case 6: + return '[В прошлую] dddd [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd [в] LT'; + } else { + return '[В] dddd [в] LT'; + } + } + }, + sameElse: 'L' + }, + relativeTime: { + future: 'через %s', + past: '%s назад', + s: 'несколько секунд', + m: relativeTimeWithPlural, + mm: relativeTimeWithPlural, + h: 'час', + hh: relativeTimeWithPlural, + d: 'день', + dd: relativeTimeWithPlural, + M: 'месяц', + MM: relativeTimeWithPlural, + y: 'год', + yy: relativeTimeWithPlural + }, + meridiemParse: /ночи|утра|дня|вечера/i, + isPM: function isPM(input) { + return (/^(дня|вечера)$/.test(input) + ); + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'ночи'; + } else if (hour < 12) { + return 'утра'; + } else if (hour < 17) { + return 'дня'; + } else { + return 'вечера'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, + ordinal: function ordinal(number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + return number + '-й'; + case 'D': + return number + '-го'; + case 'w': + case 'W': + return number + '-я'; + default: + return number; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); - length = segments.length; + return ru; +}); - // adjust total segments for IPv4 trailer - if (segments[length - 1].indexOf('.') !== -1) { - // found a "." which means IPv4 - total = 7; - } +/***/ }), +/* 154 */ +/***/ (function(module, exports, __webpack_require__) { - // fill empty segments them with "0000" - var pos; - for (pos = 0; pos < length; pos++) { - if (segments[pos] === '') { - break; - } - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (pos < total) { - segments.splice(pos, 1, '0000'); - while (segments.length < total) { - segments.splice(pos, 0, '0000'); - } - } +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; }; - // strip leading zeros - var _segments; - for (var i = 0; i < total; i++) { - _segments = segments[i].split(''); - for (var j = 0; j < 3; j++) { - if (_segments[0] === '0' && _segments.length > 1) { - _segments.splice(0, 1); - } else { - break; - } - } +//! moment.js locale configuration +//! locale : Sindhi [sd] +//! author : Narain Sagar : https://github.com/narainsagar - segments[i] = _segments.join(''); - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - // find longest sequence of zeroes and coalesce them into one segment - var best = -1; - var _best = 0; - var _current = 0; - var current = -1; - var inzeroes = false; - // i; already declared + var months = ['جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر']; + var days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; - for (i = 0; i < total; i++) { - if (inzeroes) { - if (segments[i] === '0') { - _current += 1; - } else { - inzeroes = false; - if (_current > _best) { - best = current; - _best = _current; - } - } - } else { - if (segments[i] === '0') { - inzeroes = true; - current = i; - _current = 1; - } - } - } + var sd = moment.defineLocale('sd', { + months: months, + monthsShort: months, + weekdays: days, + weekdaysShort: days, + weekdaysMin: days, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd، D MMMM YYYY HH:mm' + }, + meridiemParse: /صبح|شام/, + isPM: function isPM(input) { + return 'شام' === input; + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'صبح'; + } + return 'شام'; + }, + calendar: { + sameDay: '[اڄ] LT', + nextDay: '[سڀاڻي] LT', + nextWeek: 'dddd [اڳين هفتي تي] LT', + lastDay: '[ڪالهه] LT', + lastWeek: '[گزريل هفتي] dddd [تي] LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s پوء', + past: '%s اڳ', + s: 'چند سيڪنڊ', + m: 'هڪ منٽ', + mm: '%d منٽ', + h: 'هڪ ڪلاڪ', + hh: '%d ڪلاڪ', + d: 'هڪ ڏينهن', + dd: '%d ڏينهن', + M: 'هڪ مهينو', + MM: '%d مهينا', + y: 'هڪ سال', + yy: '%d سال' + }, + preparse: function preparse(string) { + return string.replace(/،/g, ','); + }, + postformat: function postformat(string) { + return string.replace(/,/g, '،'); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - if (_current > _best) { - best = current; - _best = _current; - } + return sd; +}); - if (_best > 1) { - segments.splice(best, _best, ''); - } +/***/ }), +/* 155 */ +/***/ (function(module, exports, __webpack_require__) { - length = segments.length; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - // assemble remaining segments - var result = ''; - if (segments[0] === '') { - result = ':'; - } +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; }; - for (i = 0; i < length; i++) { - result += segments[i]; - if (i === length - 1) { - break; - } +//! moment.js locale configuration +//! locale : Northern Sami [se] +//! authors : Bård Rolstad Henriksen : https://github.com/karamell - result += ':'; - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (segments[length - 1] === '') { - result += ':'; - } + var se = moment.defineLocale('se', { + months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'), + monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'), + weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'), + weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), + weekdaysMin: 's_v_m_g_d_b_L'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'MMMM D. [b.] YYYY', + LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', + LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' + }, + calendar: { + sameDay: '[otne ti] LT', + nextDay: '[ihttin ti] LT', + nextWeek: 'dddd [ti] LT', + lastDay: '[ikte ti] LT', + lastWeek: '[ovddit] dddd [ti] LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s geažes', + past: 'maŋit %s', + s: 'moadde sekunddat', + m: 'okta minuhta', + mm: '%d minuhtat', + h: 'okta diimmu', + hh: '%d diimmut', + d: 'okta beaivi', + dd: '%d beaivvit', + M: 'okta mánnu', + MM: '%d mánut', + y: 'okta jahki', + yy: '%d jagit' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - return result; - } + return se; +}); - function noConflict() { - /*jshint validthis: true */ - if (root.IPv6 === this) { - root.IPv6 = _IPv6; - } +/***/ }), +/* 156 */ +/***/ (function(module, exports, __webpack_require__) { - return this; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - return { - best: bestPresentation, - noConflict: noConflict - }; +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; }; + +//! moment.js locale configuration +//! locale : Sinhalese [si] +//! author : Sampath Sitinamaluwa : https://github.com/sampathsris + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + /*jshint -W100*/ + + var si = moment.defineLocale('si', { + months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'), + monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'), + weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'), + weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), + weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'a h:mm', + LTS: 'a h:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY MMMM D', + LLL: 'YYYY MMMM D, a h:mm', + LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss' + }, + calendar: { + sameDay: '[අද] LT[ට]', + nextDay: '[හෙට] LT[ට]', + nextWeek: 'dddd LT[ට]', + lastDay: '[ඊයේ] LT[ට]', + lastWeek: '[පසුගිය] dddd LT[ට]', + sameElse: 'L' + }, + relativeTime: { + future: '%sකින්', + past: '%sකට පෙර', + s: 'තත්පර කිහිපය', + m: 'මිනිත්තුව', + mm: 'මිනිත්තු %d', + h: 'පැය', + hh: 'පැය %d', + d: 'දිනය', + dd: 'දින %d', + M: 'මාසය', + MM: 'මාස %d', + y: 'වසර', + yy: 'වසර %d' + }, + dayOfMonthOrdinalParse: /\d{1,2} වැනි/, + ordinal: function ordinal(number) { + return number + ' වැනි'; + }, + meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, + isPM: function isPM(input) { + return input === 'ප.ව.' || input === 'පස් වරු'; + }, + meridiem: function meridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'ප.ව.' : 'පස් වරු'; + } else { + return isLower ? 'පෙ.ව.' : 'පෙර වරු'; + } + } + }); + + return si; }); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module))) /***/ }), -/* 194 */ +/* 157 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; 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; }; -/*! - * URI.js - Mutating URLs - * Second Level Domain (SLD) Support - * - * Version: 1.18.10 - * - * Author: Rodney Rehm - * Web: http://medialize.github.io/URI.js/ - * - * Licensed under - * MIT License http://www.opensource.org/licenses/mit-license - * - */ - -(function (root, factory) { - 'use strict'; - // https://github.com/umdjs/umd/blob/master/returnExports.js +//! moment.js locale configuration +//! locale : Slovak [sk] +//! author : Martin Minka : https://github.com/k2s +//! based on work of petrbela : https://github.com/petrbela - if (( false ? 'undefined' : _typeof(module)) === 'object' && module.exports) { - // Node - module.exports = factory(); - } else if (true) { - // AMD. Register as an anonymous module. - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __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 { - // Browser globals (root is window) - root.SecondLevelDomains = factory(root); - } -})(undefined, function (root) { - 'use strict'; - - // save current SecondLevelDomains variable, if any - - var _SecondLevelDomains = root && root.SecondLevelDomains; + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - var SLD = { - // list of known Second Level Domains - // converted list of SLDs from https://github.com/gavingmiller/second-level-domains - // ---- - // publicsuffix.org is more current and actually used by a couple of browsers internally. - // downside is it also contains domains like "dyndns.org" - which is fine for the security - // issues browser have to deal with (SOP for cookies, etc) - but is way overboard for URI.js - // ---- - list: { - 'ac': ' com gov mil net org ', - 'ae': ' ac co gov mil name net org pro sch ', - 'af': ' com edu gov net org ', - 'al': ' com edu gov mil net org ', - 'ao': ' co ed gv it og pb ', - 'ar': ' com edu gob gov int mil net org tur ', - 'at': ' ac co gv or ', - 'au': ' asn com csiro edu gov id net org ', - 'ba': ' co com edu gov mil net org rs unbi unmo unsa untz unze ', - 'bb': ' biz co com edu gov info net org store tv ', - 'bh': ' biz cc com edu gov info net org ', - 'bn': ' com edu gov net org ', - 'bo': ' com edu gob gov int mil net org tv ', - 'br': ' adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ', - 'bs': ' com edu gov net org ', - 'bz': ' du et om ov rg ', - 'ca': ' ab bc mb nb nf nl ns nt nu on pe qc sk yk ', - 'ck': ' biz co edu gen gov info net org ', - 'cn': ' ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ', - 'co': ' com edu gov mil net nom org ', - 'cr': ' ac c co ed fi go or sa ', - 'cy': ' ac biz com ekloges gov ltd name net org parliament press pro tm ', - 'do': ' art com edu gob gov mil net org sld web ', - 'dz': ' art asso com edu gov net org pol ', - 'ec': ' com edu fin gov info med mil net org pro ', - 'eg': ' com edu eun gov mil name net org sci ', - 'er': ' com edu gov ind mil net org rochest w ', - 'es': ' com edu gob nom org ', - 'et': ' biz com edu gov info name net org ', - 'fj': ' ac biz com info mil name net org pro ', - 'fk': ' ac co gov net nom org ', - 'fr': ' asso com f gouv nom prd presse tm ', - 'gg': ' co net org ', - 'gh': ' com edu gov mil org ', - 'gn': ' ac com gov net org ', - 'gr': ' com edu gov mil net org ', - 'gt': ' com edu gob ind mil net org ', - 'gu': ' com edu gov net org ', - 'hk': ' com edu gov idv net org ', - 'hu': ' 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ', - 'id': ' ac co go mil net or sch web ', - 'il': ' ac co gov idf k12 muni net org ', - 'in': ' ac co edu ernet firm gen gov i ind mil net nic org res ', - 'iq': ' com edu gov i mil net org ', - 'ir': ' ac co dnssec gov i id net org sch ', - 'it': ' edu gov ', - 'je': ' co net org ', - 'jo': ' com edu gov mil name net org sch ', - 'jp': ' ac ad co ed go gr lg ne or ', - 'ke': ' ac co go info me mobi ne or sc ', - 'kh': ' com edu gov mil net org per ', - 'ki': ' biz com de edu gov info mob net org tel ', - 'km': ' asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ', - 'kn': ' edu gov net org ', - 'kr': ' ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ', - 'kw': ' com edu gov net org ', - 'ky': ' com edu gov net org ', - 'kz': ' com edu gov mil net org ', - 'lb': ' com edu gov net org ', - 'lk': ' assn com edu gov grp hotel int ltd net ngo org sch soc web ', - 'lr': ' com edu gov net org ', - 'lv': ' asn com conf edu gov id mil net org ', - 'ly': ' com edu gov id med net org plc sch ', - 'ma': ' ac co gov m net org press ', - 'mc': ' asso tm ', - 'me': ' ac co edu gov its net org priv ', - 'mg': ' com edu gov mil nom org prd tm ', - 'mk': ' com edu gov inf name net org pro ', - 'ml': ' com edu gov net org presse ', - 'mn': ' edu gov org ', - 'mo': ' com edu gov net org ', - 'mt': ' com edu gov net org ', - 'mv': ' aero biz com coop edu gov info int mil museum name net org pro ', - 'mw': ' ac co com coop edu gov int museum net org ', - 'mx': ' com edu gob net org ', - 'my': ' com edu gov mil name net org sch ', - 'nf': ' arts com firm info net other per rec store web ', - 'ng': ' biz com edu gov mil mobi name net org sch ', - 'ni': ' ac co com edu gob mil net nom org ', - 'np': ' com edu gov mil net org ', - 'nr': ' biz com edu gov info net org ', - 'om': ' ac biz co com edu gov med mil museum net org pro sch ', - 'pe': ' com edu gob mil net nom org sld ', - 'ph': ' com edu gov i mil net ngo org ', - 'pk': ' biz com edu fam gob gok gon gop gos gov net org web ', - 'pl': ' art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ', - 'pr': ' ac biz com edu est gov info isla name net org pro prof ', - 'ps': ' com edu gov net org plo sec ', - 'pw': ' belau co ed go ne or ', - 'ro': ' arts com firm info nom nt org rec store tm www ', - 'rs': ' ac co edu gov in org ', - 'sb': ' com edu gov net org ', - 'sc': ' com edu gov net org ', - 'sh': ' co com edu gov net nom org ', - 'sl': ' com edu gov net org ', - 'st': ' co com consulado edu embaixada gov mil net org principe saotome store ', - 'sv': ' com edu gob org red ', - 'sz': ' ac co org ', - 'tr': ' av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ', - 'tt': ' aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ', - 'tw': ' club com ebiz edu game gov idv mil net org ', - 'mu': ' ac co com gov net or org ', - 'mz': ' ac co edu gov org ', - 'na': ' co com ', - 'nz': ' ac co cri geek gen govt health iwi maori mil net org parliament school ', - 'pa': ' abo ac com edu gob ing med net nom org sld ', - 'pt': ' com edu gov int net nome org publ ', - 'py': ' com edu gov mil net org ', - 'qa': ' com edu gov mil net org ', - 're': ' asso com nom ', - 'ru': ' ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ', - 'rw': ' ac co com edu gouv gov int mil net ', - 'sa': ' com edu gov med net org pub sch ', - 'sd': ' com edu gov info med net org tv ', - 'se': ' a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ', - 'sg': ' com edu gov idn net org per ', - 'sn': ' art com edu gouv org perso univ ', - 'sy': ' com edu gov mil net news org ', - 'th': ' ac co go in mi net or ', - 'tj': ' ac biz co com edu go gov info int mil name net nic org test web ', - 'tn': ' agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ', - 'tz': ' ac co go ne or ', - 'ua': ' biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ', - 'ug': ' ac co go ne or org sc ', - 'uk': ' ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ', - 'us': ' dni fed isa kids nsn ', - 'uy': ' com edu gub mil net org ', - 've': ' co com edu gob info mil net org web ', - 'vi': ' co com k12 net org ', - 'vn': ' ac biz com edu gov health info int name net org pro ', - 'ye': ' co com gov ltd me net org plc ', - 'yu': ' ac co edu gov org ', - 'za': ' ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ', - 'zm': ' ac co com edu gov net org sch ', - // https://en.wikipedia.org/wiki/CentralNic#Second-level_domains - 'com': 'ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ', - 'net': 'gb jp se uk ', - 'org': 'ae', - 'de': 'com ' - }, - // gorhill 2013-10-25: Using indexOf() instead Regexp(). Significant boost - // in both performance and memory footprint. No initialization required. - // http://jsperf.com/uri-js-sld-regex-vs-binary-search/4 - // Following methods use lastIndexOf() rather than array.split() in order - // to avoid any memory allocations. - has: function has(domain) { - var tldOffset = domain.lastIndexOf('.'); - if (tldOffset <= 0 || tldOffset >= domain.length - 1) { - return false; - } - var sldOffset = domain.lastIndexOf('.', tldOffset - 1); - if (sldOffset <= 0 || sldOffset >= tldOffset - 1) { - return false; - } - var sldList = SLD.list[domain.slice(tldOffset + 1)]; - if (!sldList) { - return false; - } - return sldList.indexOf(' ' + domain.slice(sldOffset + 1, tldOffset) + ' ') >= 0; - }, - is: function is(domain) { - var tldOffset = domain.lastIndexOf('.'); - if (tldOffset <= 0 || tldOffset >= domain.length - 1) { - return false; - } - var sldOffset = domain.lastIndexOf('.', tldOffset - 1); - if (sldOffset >= 0) { - return false; - } - var sldList = SLD.list[domain.slice(tldOffset + 1)]; - if (!sldList) { - return false; - } - return sldList.indexOf(' ' + domain.slice(0, tldOffset) + ' ') >= 0; - }, - get: function get(domain) { - var tldOffset = domain.lastIndexOf('.'); - if (tldOffset <= 0 || tldOffset >= domain.length - 1) { - return null; - } - var sldOffset = domain.lastIndexOf('.', tldOffset - 1); - if (sldOffset <= 0 || sldOffset >= tldOffset - 1) { - return null; - } - var sldList = SLD.list[domain.slice(tldOffset + 1)]; - if (!sldList) { - return null; - } - if (sldList.indexOf(' ' + domain.slice(sldOffset + 1, tldOffset) + ' ') < 0) { - return null; - } - return domain.slice(sldOffset + 1); - }, - noConflict: function noConflict() { - if (root.SecondLevelDomains === this) { - root.SecondLevelDomains = _SecondLevelDomains; - } - return this; + var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'); + var monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); + function plural(n) { + return n > 1 && n < 5; } - }; + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + // a few seconds / in a few seconds / a few seconds ago + return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; + case 'm': + // a minute / in a minute / a minute ago + return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; + case 'mm': + // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minúty' : 'minút'); + } else { + return result + 'minútami'; + } + break; + case 'h': + // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; + case 'hh': + // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodín'); + } else { + return result + 'hodinami'; + } + break; + case 'd': + // a day / in a day / a day ago + return withoutSuffix || isFuture ? 'deň' : 'dňom'; + case 'dd': + // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dni' : 'dní'); + } else { + return result + 'dňami'; + } + break; + case 'M': + // a month / in a month / a month ago + return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; + case 'MM': + // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'mesiace' : 'mesiacov'); + } else { + return result + 'mesiacmi'; + } + break; + case 'y': + // a year / in a year / a year ago + return withoutSuffix || isFuture ? 'rok' : 'rokom'; + case 'yy': + // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'rokov'); + } else { + return result + 'rokmi'; + } + break; + } + } + + var sk = moment.defineLocale('sk', { + months: months, + monthsShort: monthsShort, + weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), + weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), + weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd D. MMMM YYYY H:mm' + }, + calendar: { + sameDay: '[dnes o] LT', + nextDay: '[zajtra o] LT', + nextWeek: function nextWeek() { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo štvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[včera o] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: 'L' + }, + relativeTime: { + future: 'za %s', + past: 'pred %s', + s: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - return SLD; + return sk; }); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module))) /***/ }), -/* 195 */ +/* 158 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; 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; }; -/*! - * URI.js - Mutating URLs - * - * Version: 1.18.10 - * - * Author: Rodney Rehm - * Web: http://medialize.github.io/URI.js/ - * - * Licensed under - * MIT License http://www.opensource.org/licenses/mit-license - * - */ -(function (root, factory) { - 'use strict'; - // https://github.com/umdjs/umd/blob/master/returnExports.js +//! moment.js locale configuration +//! locale : Slovenian [sl] +//! author : Robert Sedovšek : https://github.com/sedovsek - if (( false ? 'undefined' : _typeof(module)) === 'object' && module.exports) { - // Node - module.exports = factory(__webpack_require__(196), __webpack_require__(193), __webpack_require__(194)); - } else if (true) { - // AMD. Register as an anonymous module. - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(196), __webpack_require__(193), __webpack_require__(194)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else { - // Browser globals (root is window) - root.URI = factory(root.punycode, root.IPv6, root.SecondLevelDomains, root); - } -})(undefined, function (punycode, IPv6, SLD, root) { - 'use strict'; - /*global location, escape, unescape */ - // FIXME: v2.0.0 renamce non-camelCase properties to uppercase - /*jshint camelcase: false */ + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - // save current URI variable, if any + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; + case 'm': + return withoutSuffix ? 'ena minuta' : 'eno minuto'; + case 'mm': + if (number === 1) { + result += withoutSuffix ? 'minuta' : 'minuto'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'minute' : 'minutami'; + } else { + result += withoutSuffix || isFuture ? 'minut' : 'minutami'; + } + return result; + case 'h': + return withoutSuffix ? 'ena ura' : 'eno uro'; + case 'hh': + if (number === 1) { + result += withoutSuffix ? 'ura' : 'uro'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'uri' : 'urama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'ure' : 'urami'; + } else { + result += withoutSuffix || isFuture ? 'ur' : 'urami'; + } + return result; + case 'd': + return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; + case 'dd': + if (number === 1) { + result += withoutSuffix || isFuture ? 'dan' : 'dnem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; + } else { + result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; + } + return result; + case 'M': + return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; + case 'MM': + if (number === 1) { + result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; + } else { + result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; + } + return result; + case 'y': + return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; + case 'yy': + if (number === 1) { + result += withoutSuffix || isFuture ? 'leto' : 'letom'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'leti' : 'letoma'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'leta' : 'leti'; + } else { + result += withoutSuffix || isFuture ? 'let' : 'leti'; + } + return result; + } + } - var _URI = root && root.URI; + var sl = moment.defineLocale('sl', { + months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), + weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), + weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm' + }, + calendar: { + sameDay: '[danes ob] LT', + nextDay: '[jutri ob] LT', - function URI(url, base) { - var _urlSupplied = arguments.length >= 1; - var _baseSupplied = arguments.length >= 2; + nextWeek: function nextWeek() { + switch (this.day()) { + case 0: + return '[v] [nedeljo] [ob] LT'; + case 3: + return '[v] [sredo] [ob] LT'; + case 6: + return '[v] [soboto] [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[v] dddd [ob] LT'; + } + }, + lastDay: '[včeraj ob] LT', + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + return '[prejšnjo] [nedeljo] [ob] LT'; + case 3: + return '[prejšnjo] [sredo] [ob] LT'; + case 6: + return '[prejšnjo] [soboto] [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prejšnji] dddd [ob] LT'; + } + }, + sameElse: 'L' + }, + relativeTime: { + future: 'čez %s', + past: 'pred %s', + s: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); - // Allow instantiation without the 'new' keyword - if (!(this instanceof URI)) { - if (_urlSupplied) { - if (_baseSupplied) { - return new URI(url, base); + return sl; +}); + +/***/ }), +/* 159 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + +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; }; + +//! moment.js locale configuration +//! locale : Albanian [sq] +//! author : Flakërim Ismani : https://github.com/flakerimi +//! author : Menelion Elensúle : https://github.com/Oire +//! author : Oerd Cukalla : https://github.com/oerd + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var sq = moment.defineLocale('sq', { + months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), + monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), + weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), + weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), + weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), + weekdaysParseExact: true, + meridiemParse: /PD|MD/, + isPM: function isPM(input) { + return input.charAt(0) === 'M'; + }, + meridiem: function meridiem(hours, minutes, isLower) { + return hours < 12 ? 'PD' : 'MD'; + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[Sot në] LT', + nextDay: '[Nesër në] LT', + nextWeek: 'dddd [në] LT', + lastDay: '[Dje në] LT', + lastWeek: 'dddd [e kaluar në] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'në %s', + past: '%s më parë', + s: 'disa sekonda', + m: 'një minutë', + mm: '%d minuta', + h: 'një orë', + hh: '%d orë', + d: 'një ditë', + dd: '%d ditë', + M: 'një muaj', + MM: '%d muaj', + y: 'një vit', + yy: '%d vite' + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } + }); - return new URI(url); - } + return sq; +}); - return new URI(); - } +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { - if (url === undefined) { - if (_urlSupplied) { - throw new TypeError('undefined is not a valid argument for URI'); - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (typeof location !== 'undefined') { - url = location.href + ''; - } else { - url = ''; - } - } +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; }; - if (url === null) { - if (_urlSupplied) { - throw new TypeError('null is not a valid argument for URI'); - } - } +//! moment.js locale configuration +//! locale : Serbian Cyrillic [sr-cyrl] +//! author : Milan Janačković : https://github.com/milan-j - this.href(url); +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - // resolve to base according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#constructor - if (base !== undefined) { - return this.absoluteTo(base); - } + var translator = { + words: { //Different grammatical cases + m: ['један минут', 'једне минуте'], + mm: ['минут', 'минуте', 'минута'], + h: ['један сат', 'једног сата'], + hh: ['сат', 'сата', 'сати'], + dd: ['дан', 'дана', 'дана'], + MM: ['месец', 'месеца', 'месеци'], + yy: ['година', 'године', 'година'] + }, + correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) { + return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]; + }, + translate: function translate(number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; - return this; - } + var srCyrl = moment.defineLocale('sr-cyrl', { + months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'), + monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'), + monthsParseExact: true, + weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), + weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), + weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm' + }, + calendar: { + sameDay: '[данас у] LT', + nextDay: '[сутра у] LT', + nextWeek: function nextWeek() { + switch (this.day()) { + case 0: + return '[у] [недељу] [у] LT'; + case 3: + return '[у] [среду] [у] LT'; + case 6: + return '[у] [суботу] [у] LT'; + case 1: + case 2: + case 4: + case 5: + return '[у] dddd [у] LT'; + } + }, + lastDay: '[јуче у] LT', + lastWeek: function lastWeek() { + var lastWeekDays = ['[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT']; + return lastWeekDays[this.day()]; + }, + sameElse: 'L' + }, + relativeTime: { + future: 'за %s', + past: 'пре %s', + s: 'неколико секунди', + m: translator.translate, + mm: translator.translate, + h: translator.translate, + hh: translator.translate, + d: 'дан', + dd: translator.translate, + M: 'месец', + MM: translator.translate, + y: 'годину', + yy: translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); - URI.version = '1.18.10'; + return srCyrl; +}); - var p = URI.prototype; - var hasOwn = Object.prototype.hasOwnProperty; +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { - function escapeRegEx(string) { - // https://github.com/medialize/URI.js/commit/85ac21783c11f8ccab06106dba9735a31a86924d#commitcomment-821963 - return string.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - function getType(value) { - // IE8 doesn't return [Object Undefined] but [Object Object] for undefined value - if (value === undefined) { - return '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; }; - return String(Object.prototype.toString.call(value)).slice(8, -1); - } +//! moment.js locale configuration +//! locale : Serbian [sr] +//! author : Milan Janačković : https://github.com/milan-j - function isArray(obj) { - return getType(obj) === 'Array'; - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var translator = { + words: { //Different grammatical cases + m: ['jedan minut', 'jedne minute'], + mm: ['minut', 'minute', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mesec', 'meseca', 'meseci'], + yy: ['godina', 'godine', 'godina'] + }, + correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) { + return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]; + }, + translate: function translate(number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return number + ' ' + translator.correctGrammaticalCase(number, wordKey); + } + } + }; - function filterArrayValues(data, value) { - var lookup = {}; - var i, length; + var sr = moment.defineLocale('sr', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'), + weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm' + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function nextWeek() { + switch (this.day()) { + case 0: + return '[u] [nedelju] [u] LT'; + case 3: + return '[u] [sredu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[juče u] LT', + lastWeek: function lastWeek() { + var lastWeekDays = ['[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT']; + return lastWeekDays[this.day()]; + }, + sameElse: 'L' + }, + relativeTime: { + future: 'za %s', + past: 'pre %s', + s: 'nekoliko sekundi', + m: translator.translate, + mm: translator.translate, + h: translator.translate, + hh: translator.translate, + d: 'dan', + dd: translator.translate, + M: 'mesec', + MM: translator.translate, + y: 'godinu', + yy: translator.translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); - if (getType(value) === 'RegExp') { - lookup = null; - } else if (isArray(value)) { - for (i = 0, length = value.length; i < length; i++) { - lookup[value[i]] = true; - } - } else { - lookup[value] = true; - } + return sr; +}); - for (i = 0, length = data.length; i < length; i++) { - /*jshint laxbreak: true */ - var _match = lookup && lookup[data[i]] !== undefined || !lookup && value.test(data[i]); - /*jshint laxbreak: false */ - if (_match) { - data.splice(i, 1); - length--; - i--; - } - } +/***/ }), +/* 162 */ +/***/ (function(module, exports, __webpack_require__) { - return data; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - function arrayContains(list, value) { - var i, length; +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; }; - // value may be string, number, array, regexp - if (isArray(value)) { - // Note: this can be optimized to O(n) (instead of current O(m * n)) - for (i = 0, length = value.length; i < length; i++) { - if (!arrayContains(list, value[i])) { - return false; - } - } +//! moment.js locale configuration +//! locale : siSwati [ss] +//! author : Nicolai Davies : https://github.com/nicolaidavies - return true; - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - var _type = getType(value); - for (i = 0, length = list.length; i < length; i++) { - if (_type === 'RegExp') { - if (typeof list[i] === 'string' && list[i].match(value)) { - return true; + var ss = moment.defineLocale('ss', { + months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'), + monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), + weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'), + weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), + weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A' + }, + calendar: { + sameDay: '[Namuhla nga] LT', + nextDay: '[Kusasa nga] LT', + nextWeek: 'dddd [nga] LT', + lastDay: '[Itolo nga] LT', + lastWeek: 'dddd [leliphelile] [nga] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'nga %s', + past: 'wenteka nga %s', + s: 'emizuzwana lomcane', + m: 'umzuzu', + mm: '%d emizuzu', + h: 'lihora', + hh: '%d emahora', + d: 'lilanga', + dd: '%d emalanga', + M: 'inyanga', + MM: '%d tinyanga', + y: 'umnyaka', + yy: '%d iminyaka' + }, + meridiemParse: /ekuseni|emini|entsambama|ebusuku/, + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 11) { + return 'ekuseni'; + } else if (hours < 15) { + return 'emini'; + } else if (hours < 19) { + return 'entsambama'; + } else { + return 'ebusuku'; + } + }, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ekuseni') { + return hour; + } else if (meridiem === 'emini') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { + if (hour === 0) { + return 0; + } + return hour + 12; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: '%d', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } - } else if (list[i] === value) { - return true; - } - } - - return false; - } + }); - function arraysEqual(one, two) { - if (!isArray(one) || !isArray(two)) { - return false; - } + return ss; +}); - // arrays can't be equal if they have different amount of content - if (one.length !== two.length) { - return false; - } +/***/ }), +/* 163 */ +/***/ (function(module, exports, __webpack_require__) { - one.sort(); - two.sort(); +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - for (var i = 0, l = one.length; i < l; i++) { - if (one[i] !== two[i]) { - return false; - } - } +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; }; - return true; - } +//! moment.js locale configuration +//! locale : Swedish [sv] +//! author : Jens Alm : https://github.com/ulmus - function trimSlashes(text) { - var trim_expression = /^\/+|\/+$/g; - return text.replace(trim_expression, ''); - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - URI._parts = function () { - return { - protocol: null, - username: null, - password: null, - hostname: null, - urn: null, - port: null, - path: null, - query: null, - fragment: null, - // state - duplicateQueryParameters: URI.duplicateQueryParameters, - escapeQuerySpace: URI.escapeQuerySpace - }; - }; - // state: allow duplicate query parameters (a=1&a=1) - URI.duplicateQueryParameters = false; - // state: replaces + with %20 (space in query strings) - URI.escapeQuerySpace = true; - // static properties - URI.protocol_expression = /^[a-z][a-z0-9.+-]*$/i; - URI.idn_expression = /[^a-z0-9\.-]/i; - URI.punycode_expression = /(xn--)/i; - // well, 333.444.555.666 matches, but it sure ain't no IPv4 - do we care? - URI.ip4_expression = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; - // credits to Rich Brown - // source: http://forums.intermapper.com/viewtopic.php?p=1096#1096 - // specification: http://www.ietf.org/rfc/rfc4291.txt - URI.ip6_expression = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/; - // expression used is "gruber revised" (@gruber v2) determined to be the - // best solution in a regex-golf we did a couple of ages ago at - // * http://mathiasbynens.be/demo/url-regex - // * http://rodneyrehm.de/t/url-regex.html - URI.find_uri_expression = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig; - URI.findUri = { - // valid "scheme://" or "www." - start: /\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi, - // everything up to the next whitespace - end: /[\s\r\n]|$/, - // trim trailing punctuation captured by end RegExp - trim: /[`!()\[\]{};:'".,<>?«»“”„‘’]+$/, - // balanced parens inclusion (), [], {}, <> - parens: /(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g - }; - // http://www.iana.org/assignments/uri-schemes.html - // http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports - URI.defaultPorts = { - http: '80', - https: '443', - ftp: '21', - gopher: '70', - ws: '80', - wss: '443' - }; - // allowed hostname characters according to RFC 3986 - // ALPHA DIGIT "-" "." "_" "~" "!" "$" "&" "'" "(" ")" "*" "+" "," ";" "=" %encoded - // I've never seen a (non-IDN) hostname other than: ALPHA DIGIT . - - URI.invalid_hostname_characters = /[^a-zA-Z0-9\.-]/; - // map DOM Elements to their URI attribute - URI.domAttributes = { - 'a': 'href', - 'blockquote': 'cite', - 'link': 'href', - 'base': 'href', - 'script': 'src', - 'form': 'action', - 'img': 'src', - 'area': 'href', - 'iframe': 'src', - 'embed': 'src', - 'source': 'src', - 'track': 'src', - 'input': 'src', // but only if type="image" - 'audio': 'src', - 'video': 'src' - }; - URI.getDomAttribute = function (node) { - if (!node || !node.nodeName) { - return undefined; - } + var sv = moment.defineLocale('sv', { + months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), + monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), + weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), + weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [kl.] HH:mm', + LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd D MMM YYYY HH:mm' + }, + calendar: { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[Igår] LT', + nextWeek: '[På] dddd LT', + lastWeek: '[I] dddd[s] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'om %s', + past: 'för %s sedan', + s: 'några sekunder', + m: 'en minut', + mm: '%d minuter', + h: 'en timme', + hh: '%d timmar', + d: 'en dag', + dd: '%d dagar', + M: 'en månad', + MM: '%d månader', + y: 'ett år', + yy: '%d år' + }, + dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'e' : b === 1 ? 'a' : b === 2 ? 'a' : b === 3 ? 'e' : 'e'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - var nodeName = node.nodeName.toLowerCase(); - // should only expose src for type="image" - if (nodeName === 'input' && node.type !== 'image') { - return undefined; - } + return sv; +}); - return URI.domAttributes[nodeName]; - }; +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { - function escapeForDumbFirefox36(value) { - // https://github.com/medialize/URI.js/issues/91 - return escape(value); - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - // encoding / decoding according to RFC3986 - function strictEncodeURIComponent(string) { - // see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent - return encodeURIComponent(string).replace(/[!'()*]/g, escapeForDumbFirefox36).replace(/\*/g, '%2A'); - } - URI.encode = strictEncodeURIComponent; - URI.decode = decodeURIComponent; - URI.iso8859 = function () { - URI.encode = escape; - URI.decode = unescape; - }; - URI.unicode = function () { - URI.encode = strictEncodeURIComponent; - URI.decode = decodeURIComponent; - }; - URI.characters = { - pathname: { - encode: { - // RFC3986 2.1: For consistency, URI producers and normalizers should - // use uppercase hexadecimal digits for all percent-encodings. - expression: /%(24|26|2B|2C|3B|3D|3A|40)/ig, - map: { - // -._~!'()* - '%24': '$', - '%26': '&', - '%2B': '+', - '%2C': ',', - '%3B': ';', - '%3D': '=', - '%3A': ':', - '%40': '@' - } - }, - decode: { - expression: /[\/\?#]/g, - map: { - '/': '%2F', - '?': '%3F', - '#': '%23' - } - } - }, - reserved: { - encode: { - // RFC3986 2.1: For consistency, URI producers and normalizers should - // use uppercase hexadecimal digits for all percent-encodings. - expression: /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig, - map: { - // gen-delims - '%3A': ':', - '%2F': '/', - '%3F': '?', - '%23': '#', - '%5B': '[', - '%5D': ']', - '%40': '@', - // sub-delims - '%21': '!', - '%24': '$', - '%26': '&', - '%27': '\'', - '%28': '(', - '%29': ')', - '%2A': '*', - '%2B': '+', - '%2C': ',', - '%3B': ';', - '%3D': '=' - } - } - }, - urnpath: { - // The characters under `encode` are the characters called out by RFC 2141 as being acceptable - // for usage in a URN. RFC2141 also calls out "-", ".", and "_" as acceptable characters, but - // these aren't encoded by encodeURIComponent, so we don't have to call them out here. Also - // note that the colon character is not featured in the encoding map; this is because URI.js - // gives the colons in URNs semantic meaning as the delimiters of path segements, and so it - // should not appear unencoded in a segment itself. - // See also the note above about RFC3986 and capitalalized hex digits. - encode: { - expression: /%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig, - map: { - '%21': '!', - '%24': '$', - '%27': '\'', - '%28': '(', - '%29': ')', - '%2A': '*', - '%2B': '+', - '%2C': ',', - '%3B': ';', - '%3D': '=', - '%40': '@' - } - }, - // These characters are the characters called out by RFC2141 as "reserved" characters that - // should never appear in a URN, plus the colon character (see note above). - decode: { - expression: /[\/\?#:]/g, - map: { - '/': '%2F', - '?': '%3F', - '#': '%23', - ':': '%3A' +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; }; + +//! moment.js locale configuration +//! locale : Swahili [sw] +//! author : Fahad Kassim : https://github.com/fadsel + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var sw = moment.defineLocale('sw', { + months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), + weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), + weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), + weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[leo saa] LT', + nextDay: '[kesho saa] LT', + nextWeek: '[wiki ijayo] dddd [saat] LT', + lastDay: '[jana] LT', + lastWeek: '[wiki iliyopita] dddd [saat] LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s baadaye', + past: 'tokea %s', + s: 'hivi punde', + m: 'dakika moja', + mm: 'dakika %d', + h: 'saa limoja', + hh: 'masaa %d', + d: 'siku moja', + dd: 'masiku %d', + M: 'mwezi mmoja', + MM: 'miezi %d', + y: 'mwaka mmoja', + yy: 'miaka %d' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. } - } - } - }; - URI.encodeQuery = function (string, escapeQuerySpace) { - var escaped = URI.encode(string + ''); - if (escapeQuerySpace === undefined) { - escapeQuerySpace = URI.escapeQuerySpace; - } + }); - return escapeQuerySpace ? escaped.replace(/%20/g, '+') : escaped; - }; - URI.decodeQuery = function (string, escapeQuerySpace) { - string += ''; - if (escapeQuerySpace === undefined) { - escapeQuerySpace = URI.escapeQuerySpace; - } + return sw; +}); - try { - return URI.decode(escapeQuerySpace ? string.replace(/\+/g, '%20') : string); - } catch (e) { - // we're not going to mess with weird encodings, - // give up and return the undecoded original string - // see https://github.com/medialize/URI.js/issues/87 - // see https://github.com/medialize/URI.js/issues/92 - return string; - } - }; - // generate encode/decode path functions - var _parts = { 'encode': 'encode', 'decode': 'decode' }; - var _part; - var generateAccessor = function generateAccessor(_group, _part) { - return function (string) { - try { - return URI[_part](string + '').replace(URI.characters[_group][_part].expression, function (c) { - return URI.characters[_group][_part].map[c]; - }); - } catch (e) { - // we're not going to mess with weird encodings, - // give up and return the undecoded original string - // see https://github.com/medialize/URI.js/issues/87 - // see https://github.com/medialize/URI.js/issues/92 - return string; - } - }; - }; +/***/ }), +/* 165 */ +/***/ (function(module, exports, __webpack_require__) { - for (_part in _parts) { - URI[_part + 'PathSegment'] = generateAccessor('pathname', _parts[_part]); - URI[_part + 'UrnPathSegment'] = generateAccessor('urnpath', _parts[_part]); - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - var generateSegmentedPathFunction = function generateSegmentedPathFunction(_sep, _codingFuncName, _innerCodingFuncName) { - return function (string) { - // Why pass in names of functions, rather than the function objects themselves? The - // definitions of some functions (but in particular, URI.decode) will occasionally change due - // to URI.js having ISO8859 and Unicode modes. Passing in the name and getting it will ensure - // that the functions we use here are "fresh". - var actualCodingFunc; - if (!_innerCodingFuncName) { - actualCodingFunc = URI[_codingFuncName]; - } else { - actualCodingFunc = function actualCodingFunc(string) { - return URI[_codingFuncName](URI[_innerCodingFuncName](string)); - }; - } +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 segments = (string + '').split(_sep); +//! moment.js locale configuration +//! locale : Tamil [ta] +//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 - for (var i = 0, length = segments.length; i < length; i++) { - segments[i] = actualCodingFunc(segments[i]); - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - return segments.join(_sep); + var symbolMap = { + '1': '௧', + '2': '௨', + '3': '௩', + '4': '௪', + '5': '௫', + '6': '௬', + '7': '௭', + '8': '௮', + '9': '௯', + '0': '௦' + }; + var numberMap = { + '௧': '1', + '௨': '2', + '௩': '3', + '௪': '4', + '௫': '5', + '௬': '6', + '௭': '7', + '௮': '8', + '௯': '9', + '௦': '0' }; - }; - // This takes place outside the above loop because we don't want, e.g., encodeUrnPath functions. - URI.decodePath = generateSegmentedPathFunction('/', 'decodePathSegment'); - URI.decodeUrnPath = generateSegmentedPathFunction(':', 'decodeUrnPathSegment'); - URI.recodePath = generateSegmentedPathFunction('/', 'encodePathSegment', 'decode'); - URI.recodeUrnPath = generateSegmentedPathFunction(':', 'encodeUrnPathSegment', 'decode'); + var ta = moment.defineLocale('ta', { + months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'), + monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'), + weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'), + weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'), + weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, HH:mm', + LLLL: 'dddd, D MMMM YYYY, HH:mm' + }, + calendar: { + sameDay: '[இன்று] LT', + nextDay: '[நாளை] LT', + nextWeek: 'dddd, LT', + lastDay: '[நேற்று] LT', + lastWeek: '[கடந்த வாரம்] dddd, LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s இல்', + past: '%s முன்', + s: 'ஒரு சில விநாடிகள்', + m: 'ஒரு நிமிடம்', + mm: '%d நிமிடங்கள்', + h: 'ஒரு மணி நேரம்', + hh: '%d மணி நேரம்', + d: 'ஒரு நாள்', + dd: '%d நாட்கள்', + M: 'ஒரு மாதம்', + MM: '%d மாதங்கள்', + y: 'ஒரு வருடம்', + yy: '%d ஆண்டுகள்' + }, + dayOfMonthOrdinalParse: /\d{1,2}வது/, + ordinal: function ordinal(number) { + return number + 'வது'; + }, + preparse: function preparse(string) { + return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function postformat(string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // refer http://ta.wikipedia.org/s/1er1 + meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 2) { + return ' யாமம்'; + } else if (hour < 6) { + return ' வைகறை'; // வைகறை + } else if (hour < 10) { + return ' காலை'; // காலை + } else if (hour < 14) { + return ' நண்பகல்'; // நண்பகல் + } else if (hour < 18) { + return ' எற்பாடு'; // எற்பாடு + } else if (hour < 22) { + return ' மாலை'; // மாலை + } else { + return ' யாமம்'; + } + }, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'யாமம்') { + return hour < 2 ? hour : hour + 12; + } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { + return hour; + } else if (meridiem === 'நண்பகல்') { + return hour >= 10 ? hour : hour + 12; + } else { + return hour + 12; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. + } + }); - URI.encodeReserved = generateAccessor('reserved', 'encode'); + return ta; +}); - URI.parse = function (string, parts) { - var pos; - if (!parts) { - parts = {}; - } - // [protocol"://"[username[":"password]"@"]hostname[":"port]"/"?][path]["?"querystring]["#"fragment] +/***/ }), +/* 166 */ +/***/ (function(module, exports, __webpack_require__) { - // extract fragment - pos = string.indexOf('#'); - if (pos > -1) { - // escaping? - parts.fragment = string.substring(pos + 1) || null; - string = string.substring(0, pos); - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - // extract query - pos = string.indexOf('?'); - if (pos > -1) { - // escaping? - parts.query = string.substring(pos + 1) || null; - string = string.substring(0, pos); - } +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; }; - // extract protocol - if (string.substring(0, 2) === '//') { - // relative-scheme - parts.protocol = null; - string = string.substring(2); - // extract "user:pass@host:port" - string = URI.parseAuthority(string, parts); - } else { - pos = string.indexOf(':'); - if (pos > -1) { - parts.protocol = string.substring(0, pos) || null; - if (parts.protocol && !parts.protocol.match(URI.protocol_expression)) { - // : may be within the path - parts.protocol = undefined; - } else if (string.substring(pos + 1, pos + 3) === '//') { - string = string.substring(pos + 3); +//! moment.js locale configuration +//! locale : Telugu [te] +//! author : Krishna Chaitanya Thota : https://github.com/kcthota - // extract "user:pass@host:port" - string = URI.parseAuthority(string, parts); - } else { - string = string.substring(pos + 1); - parts.urn = true; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var te = moment.defineLocale('te', { + months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'), + monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'), + monthsParseExact: true, + weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'), + weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), + weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm' + }, + calendar: { + sameDay: '[నేడు] LT', + nextDay: '[రేపు] LT', + nextWeek: 'dddd, LT', + lastDay: '[నిన్న] LT', + lastWeek: '[గత] dddd, LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s లో', + past: '%s క్రితం', + s: 'కొన్ని క్షణాలు', + m: 'ఒక నిమిషం', + mm: '%d నిమిషాలు', + h: 'ఒక గంట', + hh: '%d గంటలు', + d: 'ఒక రోజు', + dd: '%d రోజులు', + M: 'ఒక నెల', + MM: '%d నెలలు', + y: 'ఒక సంవత్సరం', + yy: '%d సంవత్సరాలు' + }, + dayOfMonthOrdinalParse: /\d{1,2}వ/, + ordinal: '%dవ', + meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'రాత్రి') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ఉదయం') { + return hour; + } else if (meridiem === 'మధ్యాహ్నం') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'సాయంత్రం') { + return hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'రాత్రి'; + } else if (hour < 10) { + return 'ఉదయం'; + } else if (hour < 17) { + return 'మధ్యాహ్నం'; + } else if (hour < 20) { + return 'సాయంత్రం'; + } else { + return 'రాత్రి'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6 // The week that contains Jan 1st is the first week of the year. } - } - } + }); - // what's left must be the path - parts.path = string; + return te; +}); - // and we're done - return parts; - }; - URI.parseHost = function (string, parts) { - // Copy chrome, IE, opera backslash-handling behavior. - // Back slashes before the query string get converted to forward slashes - // See: https://github.com/joyent/node/blob/386fd24f49b0e9d1a8a076592a404168faeecc34/lib/url.js#L115-L124 - // See: https://code.google.com/p/chromium/issues/detail?id=25916 - // https://github.com/medialize/URI.js/pull/233 - string = string.replace(/\\/g, '/'); +/***/ }), +/* 167 */ +/***/ (function(module, exports, __webpack_require__) { - // extract host:port - var pos = string.indexOf('/'); - var bracketPos; - var t; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (pos === -1) { - pos = string.length; - } +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; }; - if (string.charAt(0) === '[') { - // IPv6 host - http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04#section-6 - // I claim most client software breaks on IPv6 anyways. To simplify things, URI only accepts - // IPv6+port in the format [2001:db8::1]:80 (for the time being) - bracketPos = string.indexOf(']'); - parts.hostname = string.substring(1, bracketPos) || null; - parts.port = string.substring(bracketPos + 2, pos) || null; - if (parts.port === '/') { - parts.port = null; - } - } else { - var firstColon = string.indexOf(':'); - var firstSlash = string.indexOf('/'); - var nextColon = string.indexOf(':', firstColon + 1); - if (nextColon !== -1 && (firstSlash === -1 || nextColon < firstSlash)) { - // IPv6 host contains multiple colons - but no port - // this notation is actually not allowed by RFC 3986, but we're a liberal parser - parts.hostname = string.substring(0, pos) || null; - parts.port = null; - } else { - t = string.substring(0, pos).split(':'); - parts.hostname = t[0] || null; - parts.port = t[1] || null; - } - } +//! moment.js locale configuration +//! locale : Tetun Dili (East Timor) [tet] +//! author : Joshua Brooks : https://github.com/joshbrooks +//! author : Onorio De J. Afonso : https://github.com/marobo - if (parts.hostname && string.substring(pos).charAt(0) !== '/') { - pos++; - string = '/' + string; - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - return string.substring(pos) || '/'; - }; - URI.parseAuthority = function (string, parts) { - string = URI.parseUserinfo(string, parts); - return URI.parseHost(string, parts); - }; - URI.parseUserinfo = function (string, parts) { - // extract username:password - var firstSlash = string.indexOf('/'); - var pos = string.lastIndexOf('@', firstSlash > -1 ? firstSlash : string.length - 1); - var t; + var tet = moment.defineLocale('tet', { + months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), + monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez'.split('_'), + weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu'.split('_'), + weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sext_Sab'.split('_'), + weekdaysMin: 'Do_Seg_Te_Ku_Ki_Sex_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[Ohin iha] LT', + nextDay: '[Aban iha] LT', + nextWeek: 'dddd [iha] LT', + lastDay: '[Horiseik iha] LT', + lastWeek: 'dddd [semana kotuk] [iha] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'iha %s', + past: '%s liuba', + s: 'minutu balun', + m: 'minutu ida', + mm: 'minutus %d', + h: 'horas ida', + hh: 'horas %d', + d: 'loron ida', + dd: 'loron %d', + M: 'fulan ida', + MM: 'fulan %d', + y: 'tinan ida', + yy: 'tinan %d' + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - // authority@ must come before /path - if (pos > -1 && (firstSlash === -1 || pos < firstSlash)) { - t = string.substring(0, pos).split(':'); - parts.username = t[0] ? URI.decode(t[0]) : null; - t.shift(); - parts.password = t[0] ? URI.decode(t.join(':')) : null; - string = string.substring(pos + 1); - } else { - parts.username = null; - parts.password = null; - } + return tet; +}); - return string; - }; - URI.parseQuery = function (string, escapeQuerySpace) { - if (!string) { - return {}; - } +/***/ }), +/* 168 */ +/***/ (function(module, exports, __webpack_require__) { - // throw out the funky business - "?"[name"="value"&"]+ - string = string.replace(/&+/g, '&').replace(/^\?*&*|&+$/g, ''); +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (!string) { - return {}; - } +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 items = {}; - var splits = string.split('&'); - var length = splits.length; - var v, name, value; +//! moment.js locale configuration +//! locale : Thai [th] +//! author : Kridsada Thanabulpong : https://github.com/sirn - for (var i = 0; i < length; i++) { - v = splits[i].split('='); - name = URI.decodeQuery(v.shift(), escapeQuerySpace); - // no "=" is null according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#collect-url-parameters - value = v.length ? URI.decodeQuery(v.join('='), escapeQuerySpace) : null; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (hasOwn.call(items, name)) { - if (typeof items[name] === 'string' || items[name] === null) { - items[name] = [items[name]]; + var th = moment.defineLocale('th', { + months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'), + monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), + monthsParseExact: true, + weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), + weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference + weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY เวลา H:mm', + LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm' + }, + meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, + isPM: function isPM(input) { + return input === 'หลังเที่ยง'; + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'ก่อนเที่ยง'; + } else { + return 'หลังเที่ยง'; + } + }, + calendar: { + sameDay: '[วันนี้ เวลา] LT', + nextDay: '[พรุ่งนี้ เวลา] LT', + nextWeek: 'dddd[หน้า เวลา] LT', + lastDay: '[เมื่อวานนี้ เวลา] LT', + lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'อีก %s', + past: '%sที่แล้ว', + s: 'ไม่กี่วินาที', + m: '1 นาที', + mm: '%d นาที', + h: '1 ชั่วโมง', + hh: '%d ชั่วโมง', + d: '1 วัน', + dd: '%d วัน', + M: '1 เดือน', + MM: '%d เดือน', + y: '1 ปี', + yy: '%d ปี' } + }); - items[name].push(value); - } else { - items[name] = value; - } - } + return th; +}); - return items; - }; +/***/ }), +/* 169 */ +/***/ (function(module, exports, __webpack_require__) { - URI.build = function (parts) { - var t = ''; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (parts.protocol) { - t += parts.protocol + ':'; - } +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; }; - if (!parts.urn && (t || parts.hostname)) { - t += '//'; - } +//! moment.js locale configuration +//! locale : Tagalog (Philippines) [tl-ph] +//! author : Dan Hagman : https://github.com/hagmandan - t += URI.buildAuthority(parts) || ''; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (typeof parts.path === 'string') { - if (parts.path.charAt(0) !== '/' && typeof parts.hostname === 'string') { - t += '/'; - } + var tlPh = moment.defineLocale('tl-ph', { + months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'), + monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), + weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'), + weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), + weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'MM/D/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY HH:mm', + LLLL: 'dddd, MMMM DD, YYYY HH:mm' + }, + calendar: { + sameDay: 'LT [ngayong araw]', + nextDay: '[Bukas ng] LT', + nextWeek: 'LT [sa susunod na] dddd', + lastDay: 'LT [kahapon]', + lastWeek: 'LT [noong nakaraang] dddd', + sameElse: 'L' + }, + relativeTime: { + future: 'sa loob ng %s', + past: '%s ang nakalipas', + s: 'ilang segundo', + m: 'isang minuto', + mm: '%d minuto', + h: 'isang oras', + hh: '%d oras', + d: 'isang araw', + dd: '%d araw', + M: 'isang buwan', + MM: '%d buwan', + y: 'isang taon', + yy: '%d taon' + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function ordinal(number) { + return number; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - t += parts.path; - } + return tlPh; +}); - if (typeof parts.query === 'string' && parts.query) { - t += '?' + parts.query; - } +/***/ }), +/* 170 */ +/***/ (function(module, exports, __webpack_require__) { - if (typeof parts.fragment === 'string' && parts.fragment) { - t += '#' + parts.fragment; - } - return t; - }; - URI.buildHost = function (parts) { - var t = ''; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (!parts.hostname) { - return ''; - } else if (URI.ip6_expression.test(parts.hostname)) { - t += '[' + parts.hostname + ']'; - } else { - t += parts.hostname; - } +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; }; - if (parts.port) { - t += ':' + parts.port; - } +//! moment.js locale configuration +//! locale : Klingon [tlh] +//! author : Dominika Kruk : https://github.com/amaranthrose - return t; - }; - URI.buildAuthority = function (parts) { - return URI.buildUserinfo(parts) + URI.buildHost(parts); - }; - URI.buildUserinfo = function (parts) { - var t = ''; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (parts.username) { - t += URI.encode(parts.username); - } + var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); - if (parts.password) { - t += ':' + URI.encode(parts.password); + function translateFuture(output) { + var time = output; + time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'leS' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'waQ' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'nem' : time + ' pIq'; + return time; } - if (t) { - t += '@'; + function translatePast(output) { + var time = output; + time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'Hu’' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'wen' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'ben' : time + ' ret'; + return time; } - return t; - }; - URI.buildQuery = function (data, duplicateQueryParameters, escapeQuerySpace) { - // according to http://tools.ietf.org/html/rfc3986 or http://labs.apache.org/webarch/uri/rfc/rfc3986.html - // being »-._~!$&'()*+,;=:@/?« %HEX and alnum are allowed - // the RFC explicitly states ?/foo being a valid use case, no mention of parameter syntax! - // URI.js treats the query string as being application/x-www-form-urlencoded - // see http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type - - var t = ''; - var unique, key, i, length; - for (key in data) { - if (hasOwn.call(data, key) && key) { - if (isArray(data[key])) { - unique = {}; - for (i = 0, length = data[key].length; i < length; i++) { - if (data[key][i] !== undefined && unique[data[key][i] + ''] === undefined) { - t += '&' + URI.buildQueryParameter(key, data[key][i], escapeQuerySpace); - if (duplicateQueryParameters !== true) { - unique[data[key][i] + ''] = true; - } - } - } - } else if (data[key] !== undefined) { - t += '&' + URI.buildQueryParameter(key, data[key], escapeQuerySpace); + function translate(number, withoutSuffix, string, isFuture) { + var numberNoun = numberAsNoun(number); + switch (string) { + case 'mm': + return numberNoun + ' tup'; + case 'hh': + return numberNoun + ' rep'; + case 'dd': + return numberNoun + ' jaj'; + case 'MM': + return numberNoun + ' jar'; + case 'yy': + return numberNoun + ' DIS'; } - } } - return t.substring(1); - }; - URI.buildQueryParameter = function (name, value, escapeQuerySpace) { - // http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type -- application/x-www-form-urlencoded - // don't append "=" for null values, according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#url-parameter-serialization - return URI.encodeQuery(name, escapeQuerySpace) + (value !== null ? '=' + URI.encodeQuery(value, escapeQuerySpace) : ''); - }; + function numberAsNoun(number) { + var hundred = Math.floor(number % 1000 / 100), + ten = Math.floor(number % 100 / 10), + one = number % 10, + word = ''; + if (hundred > 0) { + word += numbersNouns[hundred] + 'vatlh'; + } + if (ten > 0) { + word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; + } + if (one > 0) { + word += (word !== '' ? ' ' : '') + numbersNouns[one]; + } + return word === '' ? 'pagh' : word; + } - URI.addQuery = function (data, name, value) { - if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { - for (var key in name) { - if (hasOwn.call(name, key)) { - URI.addQuery(data, key, name[key]); + var tlh = moment.defineLocale('tlh', { + months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'), + monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'), + monthsParseExact: true, + weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[DaHjaj] LT', + nextDay: '[wa’leS] LT', + nextWeek: 'LLL', + lastDay: '[wa’Hu’] LT', + lastWeek: 'LLL', + sameElse: 'L' + }, + relativeTime: { + future: translateFuture, + past: translatePast, + s: 'puS lup', + m: 'wa’ tup', + mm: translate, + h: 'wa’ rep', + hh: translate, + d: 'wa’ jaj', + dd: translate, + M: 'wa’ jar', + MM: translate, + y: 'wa’ DIS', + yy: translate + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } - } - } else if (typeof name === 'string') { - if (data[name] === undefined) { - data[name] = value; - return; - } else if (typeof data[name] === 'string') { - data[name] = [data[name]]; - } + }); - if (!isArray(value)) { - value = [value]; - } + return tlh; +}); - data[name] = (data[name] || []).concat(value); - } else { - throw new TypeError('URI.addQuery() accepts an object, string as the name parameter'); - } - }; - URI.removeQuery = function (data, name, value) { - var i, length, key; +/***/ }), +/* 171 */ +/***/ (function(module, exports, __webpack_require__) { - if (isArray(name)) { - for (i = 0, length = name.length; i < length; i++) { - data[name[i]] = undefined; - } - } else if (getType(name) === 'RegExp') { - for (key in data) { - if (name.test(key)) { - data[key] = undefined; - } - } - } else if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { - for (key in name) { - if (hasOwn.call(name, key)) { - URI.removeQuery(data, key, name[key]); - } - } - } else if (typeof name === 'string') { - if (value !== undefined) { - if (getType(value) === 'RegExp') { - if (!isArray(data[name]) && value.test(data[name])) { - data[name] = undefined; - } else { - data[name] = filterArrayValues(data[name], value); - } - } else if (data[name] === String(value) && (!isArray(value) || value.length === 1)) { - data[name] = undefined; - } else if (isArray(data[name])) { - data[name] = filterArrayValues(data[name], value); - } - } else { - data[name] = undefined; - } - } else { - throw new TypeError('URI.removeQuery() accepts an object, string, RegExp as the first parameter'); - } - }; - URI.hasQuery = function (data, name, value, withinArray) { - switch (getType(name)) { - case 'String': - // Nothing to do here - break; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - case 'RegExp': - for (var key in data) { - if (hasOwn.call(data, key)) { - if (name.test(key) && (value === undefined || URI.hasQuery(data, key, value))) { - return true; +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; }; + +//! moment.js locale configuration +//! locale : Turkish [tr] +//! authors : Erhan Gundogan : https://github.com/erhangundogan, +//! Burak Yiğit Kaya: https://github.com/BYK + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var suffixes = { + 1: '\'inci', + 5: '\'inci', + 8: '\'inci', + 70: '\'inci', + 80: '\'inci', + 2: '\'nci', + 7: '\'nci', + 20: '\'nci', + 50: '\'nci', + 3: '\'üncü', + 4: '\'üncü', + 100: '\'üncü', + 6: '\'ncı', + 9: '\'uncu', + 10: '\'uncu', + 30: '\'uncu', + 60: '\'ıncı', + 90: '\'ıncı' + }; + + var tr = moment.defineLocale('tr', { + months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'), + monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), + weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'), + weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), + weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[bugün saat] LT', + nextDay: '[yarın saat] LT', + nextWeek: '[haftaya] dddd [saat] LT', + lastDay: '[dün] LT', + lastWeek: '[geçen hafta] dddd [saat] LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s sonra', + past: '%s önce', + s: 'birkaç saniye', + m: 'bir dakika', + mm: '%d dakika', + h: 'bir saat', + hh: '%d saat', + d: 'bir gün', + dd: '%d gün', + M: 'bir ay', + MM: '%d ay', + y: 'bir yıl', + yy: '%d yıl' + }, + dayOfMonthOrdinalParse: /\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/, + ordinal: function ordinal(number) { + if (number === 0) { + // special case for zero + return number + '\'ıncı'; } - } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. } + }); - return false; + return tr; +}); - case 'Object': - for (var _key in name) { - if (hasOwn.call(name, _key)) { - if (!URI.hasQuery(data, _key, name[_key])) { - return false; +/***/ }), +/* 172 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + +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; }; + +//! moment.js locale configuration +//! locale : Talossan [tzl] +//! author : Robin van der Vliet : https://github.com/robin0van0der0v +//! author : Iustì Canun + +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. + // This is currently too difficult (maybe even impossible) to add. + + var tzl = moment.defineLocale('tzl', { + months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), + monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), + weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), + weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), + weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM [dallas] YYYY', + LLL: 'D. MMMM [dallas] YYYY HH.mm', + LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' + }, + meridiemParse: /d\'o|d\'a/i, + isPM: function isPM(input) { + return 'd\'o' === input.toLowerCase(); + }, + meridiem: function meridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'd\'o' : 'D\'O'; + } else { + return isLower ? 'd\'a' : 'D\'A'; } - } + }, + calendar: { + sameDay: '[oxhi à] LT', + nextDay: '[demà à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[ieiri à] LT', + lastWeek: '[sür el] dddd [lasteu à] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'osprei %s', + past: 'ja%s', + s: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. } + }); - return true; - - default: - throw new TypeError('URI.hasQuery() accepts a string, regular expression or object as the name parameter'); + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + 's': ['viensas secunds', '\'iensas secunds'], + 'm': ['\'n míut', '\'iens míut'], + 'mm': [number + ' míuts', '' + number + ' míuts'], + 'h': ['\'n þora', '\'iensa þora'], + 'hh': [number + ' þoras', '' + number + ' þoras'], + 'd': ['\'n ziua', '\'iensa ziua'], + 'dd': [number + ' ziuas', '' + number + ' ziuas'], + 'M': ['\'n mes', '\'iens mes'], + 'MM': [number + ' mesen', '' + number + ' mesen'], + 'y': ['\'n ar', '\'iens ar'], + 'yy': [number + ' ars', '' + number + ' ars'] + }; + return isFuture ? format[key][0] : withoutSuffix ? format[key][0] : format[key][1]; } - switch (getType(value)) { - case 'Undefined': - // true if exists (but may be empty) - return name in data; // data[name] !== undefined; + return tzl; +}); - case 'Boolean': - // true if exists and non-empty - var _booly = Boolean(isArray(data[name]) ? data[name].length : data[name]); - return value === _booly; +/***/ }), +/* 173 */ +/***/ (function(module, exports, __webpack_require__) { - case 'Function': - // allow complex comparison - return !!value(data[name], name, data); +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - case 'Array': - if (!isArray(data[name])) { - return false; - } +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 op = withinArray ? arrayContains : arraysEqual; - return op(data[name], value); +//! moment.js locale configuration +//! locale : Central Atlas Tamazight Latin [tzm-latn] +//! author : Abdel Said : https://github.com/abdelsaid - case 'RegExp': - if (!isArray(data[name])) { - return Boolean(data[name] && data[name].match(value)); - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (!withinArray) { - return false; + var tzmLatn = moment.defineLocale('tzm-latn', { + months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), + weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), + weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), + weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[asdkh g] LT', + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'dadkh s yan %s', + past: 'yan %s', + s: 'imik', + m: 'minuḍ', + mm: '%d minuḍ', + h: 'saɛa', + hh: '%d tassaɛin', + d: 'ass', + dd: '%d ossan', + M: 'ayowr', + MM: '%d iyyirn', + y: 'asgas', + yy: '%d isgasn' + }, + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } + }); - return arrayContains(data[name], value); + return tzmLatn; +}); - case 'Number': - value = String(value); - /* falls through */ - case 'String': - if (!isArray(data[name])) { - return data[name] === value; - } +/***/ }), +/* 174 */ +/***/ (function(module, exports, __webpack_require__) { - if (!withinArray) { - return false; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - return arrayContains(data[name], value); +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; }; - default: - throw new TypeError('URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter'); - } - }; +//! moment.js locale configuration +//! locale : Central Atlas Tamazight [tzm] +//! author : Abdel Said : https://github.com/abdelsaid - URI.joinPaths = function () { - var input = []; - var segments = []; - var nonEmptySegments = 0; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - for (var i = 0; i < arguments.length; i++) { - var url = new URI(arguments[i]); - input.push(url); - var _segments = url.segment(); - for (var s = 0; s < _segments.length; s++) { - if (typeof _segments[s] === 'string') { - segments.push(_segments[s]); + var tzm = moment.defineLocale('tzm', { + months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), + monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), + weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), + weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), + weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', + nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', + nextWeek: 'dddd [ⴴ] LT', + lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', + lastWeek: 'dddd [ⴴ] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', + past: 'ⵢⴰⵏ %s', + s: 'ⵉⵎⵉⴽ', + m: 'ⵎⵉⵏⵓⴺ', + mm: '%d ⵎⵉⵏⵓⴺ', + h: 'ⵙⴰⵄⴰ', + hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', + d: 'ⴰⵙⵙ', + dd: '%d oⵙⵙⴰⵏ', + M: 'ⴰⵢoⵓⵔ', + MM: '%d ⵉⵢⵢⵉⵔⵏ', + y: 'ⴰⵙⴳⴰⵙ', + yy: '%d ⵉⵙⴳⴰⵙⵏ' + }, + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. } + }); - if (_segments[s]) { - nonEmptySegments++; - } - } - } + return tzm; +}); - if (!segments.length || !nonEmptySegments) { - return new URI(''); - } +/***/ }), +/* 175 */ +/***/ (function(module, exports, __webpack_require__) { - var uri = new URI('').segment(segments); +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (input[0].path() === '' || input[0].path().slice(0, 1) === '/') { - uri.path('/' + uri.path()); - } +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; }; - return uri.normalize(); - }; +//! moment.js locale configuration +//! locale : Ukrainian [uk] +//! author : zemlanin : https://github.com/zemlanin +//! Author : Menelion Elensúle : https://github.com/Oire - URI.commonPath = function (one, two) { - var length = Math.min(one.length, two.length); - var pos; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - // find first non-matching character - for (pos = 0; pos < length; pos++) { - if (one.charAt(pos) !== two.charAt(pos)) { - pos--; - break; - } + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; } - - if (pos < 1) { - return one.charAt(0) === two.charAt(0) && one.charAt(0) === '/' ? '/' : ''; + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', + 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин', + 'dd': 'день_дні_днів', + 'MM': 'місяць_місяці_місяців', + 'yy': 'рік_роки_років' + }; + if (key === 'm') { + return withoutSuffix ? 'хвилина' : 'хвилину'; + } else if (key === 'h') { + return withoutSuffix ? 'година' : 'годину'; + } else { + return number + ' ' + plural(format[key], +number); + } } + function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'), + 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'), + 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_') + }; - // revert to last / - if (one.charAt(pos) !== '/' || two.charAt(pos) !== '/') { - pos = one.substring(0, pos).lastIndexOf('/'); - } + if (!m) { + return weekdays['nominative']; + } - return one.substring(0, pos + 1); - }; + var nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) ? 'accusative' : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) ? 'genitive' : 'nominative'; + return weekdays[nounCase][m.day()]; + } + function processHoursFunction(str) { + return function () { + return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; + }; + } - URI.withinString = function (string, callback, options) { - options || (options = {}); - var _start = options.start || URI.findUri.start; - var _end = options.end || URI.findUri.end; - var _trim = options.trim || URI.findUri.trim; - var _parens = options.parens || URI.findUri.parens; - var _attributeOpen = /[a-z0-9-]=["']?$/i; + var uk = moment.defineLocale('uk', { + months: { + 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'), + 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_') + }, + monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'), + weekdays: weekdaysCaseReplace, + weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY р.', + LLL: 'D MMMM YYYY р., HH:mm', + LLLL: 'dddd, D MMMM YYYY р., HH:mm' + }, + calendar: { + sameDay: processHoursFunction('[Сьогодні '), + nextDay: processHoursFunction('[Завтра '), + lastDay: processHoursFunction('[Вчора '), + nextWeek: processHoursFunction('[У] dddd ['), + lastWeek: function lastWeek() { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return processHoursFunction('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return processHoursFunction('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L' + }, + relativeTime: { + future: 'за %s', + past: '%s тому', + s: 'декілька секунд', + m: relativeTimeWithPlural, + mm: relativeTimeWithPlural, + h: 'годину', + hh: relativeTimeWithPlural, + d: 'день', + dd: relativeTimeWithPlural, + M: 'місяць', + MM: relativeTimeWithPlural, + y: 'рік', + yy: relativeTimeWithPlural + }, + // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason + meridiemParse: /ночі|ранку|дня|вечора/, + isPM: function isPM(input) { + return (/^(дня|вечора)$/.test(input) + ); + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 4) { + return 'ночі'; + } else if (hour < 12) { + return 'ранку'; + } else if (hour < 17) { + return 'дня'; + } else { + return 'вечора'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, + ordinal: function ordinal(number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return number + '-й'; + case 'D': + return number + '-го'; + default: + return number; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); - _start.lastIndex = 0; - while (true) { - var match = _start.exec(string); - if (!match) { - break; - } + return uk; +}); - var start = match.index; - if (options.ignoreHtml) { - // attribut(e=["']?$) - var attributeOpen = string.slice(Math.max(start - 3, 0), start); - if (attributeOpen && _attributeOpen.test(attributeOpen)) { - continue; - } - } +/***/ }), +/* 176 */ +/***/ (function(module, exports, __webpack_require__) { - var end = start + string.slice(start).search(_end); - var slice = string.slice(start, end); - // make sure we include well balanced parens - var parensEnd = -1; - while (true) { - var parensMatch = _parens.exec(slice); - if (!parensMatch) { - break; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - var parensMatchEnd = parensMatch.index + parensMatch[0].length; - parensEnd = Math.max(parensEnd, parensMatchEnd); - } +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; }; - if (parensEnd > -1) { - slice = slice.slice(0, parensEnd) + slice.slice(parensEnd).replace(_trim, ''); - } else { - slice = slice.replace(_trim, ''); - } +//! moment.js locale configuration +//! locale : Urdu [ur] +//! author : Sawood Alam : https://github.com/ibnesayeed +//! author : Zack : https://github.com/ZackVision - if (slice.length <= match[0].length) { - // the extract only contains the starting marker of a URI, - // e.g. "www" or "http://" - continue; - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (options.ignore && options.ignore.test(slice)) { - continue; - } + var months = ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر']; + var days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; - end = start + slice.length; - var result = callback(slice, start, end, string); - if (result === undefined) { - _start.lastIndex = end; - continue; - } + var ur = moment.defineLocale('ur', { + months: months, + monthsShort: months, + weekdays: days, + weekdaysShort: days, + weekdaysMin: days, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd، D MMMM YYYY HH:mm' + }, + meridiemParse: /صبح|شام/, + isPM: function isPM(input) { + return 'شام' === input; + }, + meridiem: function meridiem(hour, minute, isLower) { + if (hour < 12) { + return 'صبح'; + } + return 'شام'; + }, + calendar: { + sameDay: '[آج بوقت] LT', + nextDay: '[کل بوقت] LT', + nextWeek: 'dddd [بوقت] LT', + lastDay: '[گذشتہ روز بوقت] LT', + lastWeek: '[گذشتہ] dddd [بوقت] LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s بعد', + past: '%s قبل', + s: 'چند سیکنڈ', + m: 'ایک منٹ', + mm: '%d منٹ', + h: 'ایک گھنٹہ', + hh: '%d گھنٹے', + d: 'ایک دن', + dd: '%d دن', + M: 'ایک ماہ', + MM: '%d ماہ', + y: 'ایک سال', + yy: '%d سال' + }, + preparse: function preparse(string) { + return string.replace(/،/g, ','); + }, + postformat: function postformat(string) { + return string.replace(/,/g, '،'); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - result = String(result); - string = string.slice(0, start) + result + string.slice(end); - _start.lastIndex = start + result.length; - } + return ur; +}); - _start.lastIndex = 0; - return string; - }; +/***/ }), +/* 177 */ +/***/ (function(module, exports, __webpack_require__) { - URI.ensureValidHostname = function (v) { - // Theoretically URIs allow percent-encoding in Hostnames (according to RFC 3986) - // they are not part of DNS and therefore ignored by URI.js +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (v.match(URI.invalid_hostname_characters)) { - // test punycode - if (!punycode) { - throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-] and Punycode.js is not available'); - } +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; }; - if (punycode.toASCII(v).match(URI.invalid_hostname_characters)) { - throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); - } - } - }; +//! moment.js locale configuration +//! locale : Uzbek Latin [uz-latn] +//! author : Rasulbek Mirzayev : github.com/Rasulbeeek - // noConflict - URI.noConflict = function (removeAll) { - if (removeAll) { - var unconflicted = { - URI: this.noConflict() - }; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - if (root.URITemplate && typeof root.URITemplate.noConflict === 'function') { - unconflicted.URITemplate = root.URITemplate.noConflict(); - } + var uzLatn = moment.defineLocale('uz-latn', { + months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'), + monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), + weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'), + weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), + weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'D MMMM YYYY, dddd HH:mm' + }, + calendar: { + sameDay: '[Bugun soat] LT [da]', + nextDay: '[Ertaga] LT [da]', + nextWeek: 'dddd [kuni soat] LT [da]', + lastDay: '[Kecha soat] LT [da]', + lastWeek: '[O\'tgan] dddd [kuni soat] LT [da]', + sameElse: 'L' + }, + relativeTime: { + future: 'Yaqin %s ichida', + past: 'Bir necha %s oldin', + s: 'soniya', + m: 'bir daqiqa', + mm: '%d daqiqa', + h: 'bir soat', + hh: '%d soat', + d: 'bir kun', + dd: '%d kun', + M: 'bir oy', + MM: '%d oy', + y: 'bir yil', + yy: '%d yil' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 1st is the first week of the year. + } + }); - if (root.IPv6 && typeof root.IPv6.noConflict === 'function') { - unconflicted.IPv6 = root.IPv6.noConflict(); - } + return uzLatn; +}); - if (root.SecondLevelDomains && typeof root.SecondLevelDomains.noConflict === 'function') { - unconflicted.SecondLevelDomains = root.SecondLevelDomains.noConflict(); - } +/***/ }), +/* 178 */ +/***/ (function(module, exports, __webpack_require__) { - return unconflicted; - } else if (root.URI === this) { - root.URI = _URI; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - return this; - }; +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; }; - p.build = function (deferBuild) { - if (deferBuild === true) { - this._deferred_build = true; - } else if (deferBuild === undefined || this._deferred_build) { - this._string = URI.build(this._parts); - this._deferred_build = false; - } +//! moment.js locale configuration +//! locale : Uzbek [uz] +//! author : Sardor Muminov : https://github.com/muminoff - return this; - }; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - p.clone = function () { - return new URI(this); - }; + var uz = moment.defineLocale('uz', { + months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'), + monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), + weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), + weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), + weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'D MMMM YYYY, dddd HH:mm' + }, + calendar: { + sameDay: '[Бугун соат] LT [да]', + nextDay: '[Эртага] LT [да]', + nextWeek: 'dddd [куни соат] LT [да]', + lastDay: '[Кеча соат] LT [да]', + lastWeek: '[Утган] dddd [куни соат] LT [да]', + sameElse: 'L' + }, + relativeTime: { + future: 'Якин %s ичида', + past: 'Бир неча %s олдин', + s: 'фурсат', + m: 'бир дакика', + mm: '%d дакика', + h: 'бир соат', + hh: '%d соат', + d: 'бир кун', + dd: '%d кун', + M: 'бир ой', + MM: '%d ой', + y: 'бир йил', + yy: '%d йил' + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7 // The week that contains Jan 4th is the first week of the year. + } + }); - p.valueOf = p.toString = function () { - return this.build(false)._string; - }; + return uz; +}); - function generateSimpleAccessor(_part) { - return function (v, build) { - if (v === undefined) { - return this._parts[_part] || ''; - } else { - this._parts[_part] = v || null; - this.build(!build); - return this; - } - }; - } +/***/ }), +/* 179 */ +/***/ (function(module, exports, __webpack_require__) { - function generatePrefixAccessor(_part, _key) { - return function (v, build) { - if (v === undefined) { - return this._parts[_part] || ''; - } else { - if (v !== null) { - v = v + ''; - if (v.charAt(0) === _key) { - v = v.substring(1); - } - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - this._parts[_part] = v; - this.build(!build); - return this; - } - }; - } +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; }; - p.protocol = generateSimpleAccessor('protocol'); - p.username = generateSimpleAccessor('username'); - p.password = generateSimpleAccessor('password'); - p.hostname = generateSimpleAccessor('hostname'); - p.port = generateSimpleAccessor('port'); - p.query = generatePrefixAccessor('query', '?'); - p.fragment = generatePrefixAccessor('fragment', '#'); +//! moment.js locale configuration +//! locale : Vietnamese [vi] +//! author : Bang Nguyen : https://github.com/bangnk - p.search = function (v, build) { - var t = this.query(v, build); - return typeof t === 'string' && t.length ? '?' + t : t; - }; - p.hash = function (v, build) { - var t = this.fragment(v, build); - return typeof t === 'string' && t.length ? '#' + t : t; - }; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - p.pathname = function (v, build) { - if (v === undefined || v === true) { - var res = this._parts.path || (this._parts.hostname ? '/' : ''); - return v ? (this._parts.urn ? URI.decodeUrnPath : URI.decodePath)(res) : res; - } else { - if (this._parts.urn) { - this._parts.path = v ? URI.recodeUrnPath(v) : ''; - } else { - this._parts.path = v ? URI.recodePath(v) : '/'; - } - this.build(!build); - return this; - } - }; - p.path = p.pathname; - p.href = function (href, build) { - var key; + var vi = moment.defineLocale('vi', { + months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'), + monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'), + monthsParseExact: true, + weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'), + weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), + weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), + weekdaysParseExact: true, + meridiemParse: /sa|ch/i, + isPM: function isPM(input) { + return (/^ch$/i.test(input) + ); + }, + meridiem: function meridiem(hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'sa' : 'SA'; + } else { + return isLower ? 'ch' : 'CH'; + } + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM [năm] YYYY', + LLL: 'D MMMM [năm] YYYY HH:mm', + LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', + l: 'DD/M/YYYY', + ll: 'D MMM YYYY', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd, D MMM YYYY HH:mm' + }, + calendar: { + sameDay: '[Hôm nay lúc] LT', + nextDay: '[Ngày mai lúc] LT', + nextWeek: 'dddd [tuần tới lúc] LT', + lastDay: '[Hôm qua lúc] LT', + lastWeek: 'dddd [tuần rồi lúc] LT', + sameElse: 'L' + }, + relativeTime: { + future: '%s tới', + past: '%s trước', + s: 'vài giây', + m: 'một phút', + mm: '%d phút', + h: 'một giờ', + hh: '%d giờ', + d: 'một ngày', + dd: '%d ngày', + M: 'một tháng', + MM: '%d tháng', + y: 'một năm', + yy: '%d năm' + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function ordinal(number) { + return number; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - if (href === undefined) { - return this.toString(); - } + return vi; +}); - this._string = ''; - this._parts = URI._parts(); +/***/ }), +/* 180 */ +/***/ (function(module, exports, __webpack_require__) { - var _URI = href instanceof URI; - var _object = (typeof href === 'undefined' ? 'undefined' : _typeof(href)) === 'object' && (href.hostname || href.path || href.pathname); - if (href.nodeName) { - var attribute = URI.getDomAttribute(href); - href = href[attribute] || ''; - _object = false; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - // window.location is reported to be an object, but it's not the sort - // of object we're looking for: - // * location.protocol ends with a colon - // * location.query != object.search - // * location.hash != object.fragment - // simply serializing the unknown object should do the trick - // (for location, not for everything...) - if (!_URI && _object && href.pathname !== undefined) { - href = href.toString(); - } +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; }; - if (typeof href === 'string' || href instanceof String) { - this._parts = URI.parse(String(href), this._parts); - } else if (_URI || _object) { - var src = _URI ? href._parts : href; - for (key in src) { - if (hasOwn.call(this._parts, key)) { - this._parts[key] = src[key]; - } - } - } else { - throw new TypeError('invalid input'); - } +//! moment.js locale configuration +//! locale : Pseudo [x-pseudo] +//! author : Andrew Hood : https://github.com/andrewhood125 - this.build(!build); - return this; - }; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - // identification accessors - p.is = function (what) { - var ip = false; - var ip4 = false; - var ip6 = false; - var name = false; - var sld = false; - var idn = false; - var punycode = false; - var relative = !this._parts.urn; + var xPseudo = moment.defineLocale('x-pseudo', { + months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'), + monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'), + monthsParseExact: true, + weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'), + weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), + weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm' + }, + calendar: { + sameDay: '[T~ódá~ý át] LT', + nextDay: '[T~ómó~rró~w át] LT', + nextWeek: 'dddd [át] LT', + lastDay: '[Ý~ést~érdá~ý át] LT', + lastWeek: '[L~ást] dddd [át] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'í~ñ %s', + past: '%s á~gó', + s: 'á ~féw ~sécó~ñds', + m: 'á ~míñ~úté', + mm: '%d m~íñú~tés', + h: 'á~ñ hó~úr', + hh: '%d h~óúrs', + d: 'á ~dáý', + dd: '%d d~áýs', + M: 'á ~móñ~th', + MM: '%d m~óñt~hs', + y: 'á ~ýéár', + yy: '%d ý~éárs' + }, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function ordinal(number) { + var b = number % 10, + output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - if (this._parts.hostname) { - relative = false; - ip4 = URI.ip4_expression.test(this._parts.hostname); - ip6 = URI.ip6_expression.test(this._parts.hostname); - ip = ip4 || ip6; - name = !ip; - sld = name && SLD && SLD.has(this._parts.hostname); - idn = name && URI.idn_expression.test(this._parts.hostname); - punycode = name && URI.punycode_expression.test(this._parts.hostname); - } + return xPseudo; +}); - switch (what.toLowerCase()) { - case 'relative': - return relative; +/***/ }), +/* 181 */ +/***/ (function(module, exports, __webpack_require__) { - case 'absolute': - return !relative; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - // hostname identification - case 'domain': - case 'name': - return name; +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; }; - case 'sld': - return sld; +//! moment.js locale configuration +//! locale : Yoruba Nigeria [yo] +//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe - case 'ip': - return ip; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - case 'ip4': - case 'ipv4': - case 'inet4': - return ip4; + var yo = moment.defineLocale('yo', { + months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'), + monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), + weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), + weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), + weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A' + }, + calendar: { + sameDay: '[Ònì ni] LT', + nextDay: '[Ọ̀la ni] LT', + nextWeek: 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT', + lastDay: '[Àna ni] LT', + lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', + sameElse: 'L' + }, + relativeTime: { + future: 'ní %s', + past: '%s kọjá', + s: 'ìsẹjú aayá die', + m: 'ìsẹjú kan', + mm: 'ìsẹjú %d', + h: 'wákati kan', + hh: 'wákati %d', + d: 'ọjọ́ kan', + dd: 'ọjọ́ %d', + M: 'osù kan', + MM: 'osù %d', + y: 'ọdún kan', + yy: 'ọdún %d' + }, + dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, + ordinal: 'ọjọ́ %d', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - case 'ip6': - case 'ipv6': - case 'inet6': - return ip6; + return yo; +}); - case 'idn': - return idn; +/***/ }), +/* 182 */ +/***/ (function(module, exports, __webpack_require__) { - case 'url': - return !this._parts.urn; +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - case 'urn': - return !!this._parts.urn; +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; }; - case 'punycode': - return punycode; - } +//! moment.js locale configuration +//! locale : Chinese (China) [zh-cn] +//! author : suupic : https://github.com/suupic +//! author : Zeno Zeng : https://github.com/zenozeng - return null; - }; +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - // component specific input validation - var _protocol = p.protocol; - var _port = p.port; - var _hostname = p.hostname; + var zhCn = moment.defineLocale('zh-cn', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY年MMMD日', + LL: 'YYYY年MMMD日', + LLL: 'YYYY年MMMD日Ah点mm分', + LLLL: 'YYYY年MMMD日ddddAh点mm分', + l: 'YYYY年MMMD日', + ll: 'YYYY年MMMD日', + lll: 'YYYY年MMMD日 HH:mm', + llll: 'YYYY年MMMD日dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + return hour; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } else { + // '中午' + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上午'; + } else if (hm < 1230) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar: { + sameDay: '[今天]LT', + nextDay: '[明天]LT', + nextWeek: '[下]ddddLT', + lastDay: '[昨天]LT', + lastWeek: '[上]ddddLT', + sameElse: 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, + ordinal: function ordinal(number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '周'; + default: + return number; + } + }, + relativeTime: { + future: '%s内', + past: '%s前', + s: '几秒', + m: '1 分钟', + mm: '%d 分钟', + h: '1 小时', + hh: '%d 小时', + d: '1 天', + dd: '%d 天', + M: '1 个月', + MM: '%d 个月', + y: '1 年', + yy: '%d 年' + }, + week: { + // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 + dow: 1, // Monday is the first day of the week. + doy: 4 // The week that contains Jan 4th is the first week of the year. + } + }); - p.protocol = function (v, build) { - if (v !== undefined) { - if (v) { - // accept trailing :// - v = v.replace(/:(\/\/)?$/, ''); + return zhCn; +}); - if (!v.match(URI.protocol_expression)) { - throw new TypeError('Protocol "' + v + '" contains characters other than [A-Z0-9.+-] or doesn\'t start with [A-Z]'); - } - } - } - return _protocol.call(this, v, build); - }; - p.scheme = p.protocol; - p.port = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +/***/ }), +/* 183 */ +/***/ (function(module, exports, __webpack_require__) { - if (v !== undefined) { - if (v === 0) { - v = null; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (v) { - v += ''; - if (v.charAt(0) === ':') { - v = v.substring(1); - } +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; }; - if (v.match(/[^0-9]/)) { - throw new TypeError('Port "' + v + '" contains characters other than [0-9]'); - } - } - } - return _port.call(this, v, build); - }; - p.hostname = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +//! moment.js locale configuration +//! locale : Chinese (Hong Kong) [zh-hk] +//! author : Ben : https://github.com/ben-lin +//! author : Chris Lam : https://github.com/hehachris +//! author : Konstantin : https://github.com/skfd - if (v !== undefined) { - var x = {}; - var res = URI.parseHost(v, x); - if (res !== '/') { - throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; - v = x.hostname; - } - return _hostname.call(this, v, build); - }; + var zhHk = moment.defineLocale('zh-hk', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY年MMMD日', + LL: 'YYYY年MMMD日', + LLL: 'YYYY年MMMD日 HH:mm', + LLLL: 'YYYY年MMMD日dddd HH:mm', + l: 'YYYY年MMMD日', + ll: 'YYYY年MMMD日', + lll: 'YYYY年MMMD日 HH:mm', + llll: 'YYYY年MMMD日dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + return hour; + } else if (meridiem === '中午') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上午'; + } else if (hm < 1230) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar: { + sameDay: '[今天]LT', + nextDay: '[明天]LT', + nextWeek: '[下]ddddLT', + lastDay: '[昨天]LT', + lastWeek: '[上]ddddLT', + sameElse: 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function ordinal(number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '週'; + default: + return number; + } + }, + relativeTime: { + future: '%s內', + past: '%s前', + s: '幾秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年' + } + }); - // compound accessors - p.origin = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } + return zhHk; +}); - if (v === undefined) { - var protocol = this.protocol(); - var authority = this.authority(); - if (!authority) { - return ''; - } +/***/ }), +/* 184 */ +/***/ (function(module, exports, __webpack_require__) { - return (protocol ? protocol + '://' : '') + this.authority(); - } else { - var origin = URI(v); - this.protocol(origin.protocol()).authority(origin.authority()).build(!build); - return this; - } - }; - p.host = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (v === undefined) { - return this._parts.hostname ? URI.buildHost(this._parts) : ''; - } else { - var res = URI.parseHost(v, this._parts); - if (res !== '/') { - throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); - } +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; }; - this.build(!build); - return this; - } - }; - p.authority = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +//! moment.js locale configuration +//! locale : Chinese (Taiwan) [zh-tw] +//! author : Ben : https://github.com/ben-lin +//! author : Chris Lam : https://github.com/hehachris - if (v === undefined) { - return this._parts.hostname ? URI.buildAuthority(this._parts) : ''; - } else { - var res = URI.parseAuthority(v, this._parts); - if (res !== '/') { - throw new TypeError('Hostname "' + v + '" contains characters other than [A-Z0-9.-]'); - } +;(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment); +})(undefined, function (moment) { + 'use strict'; + + var zhTw = moment.defineLocale('zh-tw', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY年MMMD日', + LL: 'YYYY年MMMD日', + LLL: 'YYYY年MMMD日 HH:mm', + LLLL: 'YYYY年MMMD日dddd HH:mm', + l: 'YYYY年MMMD日', + ll: 'YYYY年MMMD日', + lll: 'YYYY年MMMD日 HH:mm', + llll: 'YYYY年MMMD日dddd HH:mm' + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function meridiemHour(hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + return hour; + } else if (meridiem === '中午') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem: function meridiem(hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上午'; + } else if (hm < 1230) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar: { + sameDay: '[今天]LT', + nextDay: '[明天]LT', + nextWeek: '[下]ddddLT', + lastDay: '[昨天]LT', + lastWeek: '[上]ddddLT', + sameElse: 'L' + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function ordinal(number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '週'; + default: + return number; + } + }, + relativeTime: { + future: '%s內', + past: '%s前', + s: '幾秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年' + } + }); - this.build(!build); - return this; - } - }; - p.userinfo = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } + return zhTw; +}); - if (v === undefined) { - var t = URI.buildUserinfo(this._parts); - return t ? t.substring(0, t.length - 1) : t; - } else { - if (v[v.length - 1] !== '@') { - v += '@'; - } +/***/ }), +/* 185 */ +/***/ (function(module, exports, __webpack_require__) { - URI.parseUserinfo(v, this._parts); - this.build(!build); - return this; - } - }; - p.resource = function (v, build) { - var parts; +"use strict"; - if (v === undefined) { - return this.path() + this.search() + this.hash(); - } - parts = URI.parse(v); - this._parts.path = parts.path; - this._parts.query = parts.query; - this._parts.fragment = parts.fragment; - this.build(!build); - return this; - }; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ - // fraction accessors - p.subdomain = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +var util = __webpack_require__(10); +var has = Object.prototype.hasOwnProperty; - // convenience, return "www" from "www.example.org" - if (v === undefined) { - if (!this._parts.hostname || this.is('IP')) { - return ''; - } +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = Object.create(null); +} - // grab domain and add another segment - var end = this._parts.hostname.length - this.domain().length - 1; - return this._parts.hostname.substring(0, end) || ''; - } else { - var e = this._parts.hostname.length - this.domain().length; - var sub = this._parts.hostname.substring(0, e); - var replace = new RegExp('^' + escapeRegEx(sub)); +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; - if (v && v.charAt(v.length - 1) !== '.') { - v += '.'; - } +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return Object.getOwnPropertyNames(this._set).length; +}; - if (v) { - URI.ensureValidHostname(v); - } +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = util.toSetString(aStr); + var isDuplicate = has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + this._set[sStr] = idx; + } +}; - this._parts.hostname = this._parts.hostname.replace(replace, v); - this.build(!build); - return this; - } - }; - p.domain = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); +}; - if (typeof v === 'boolean') { - build = v; - v = undefined; - } +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + throw new Error('"' + aStr + '" is not in the set.'); +}; - // convenience, return "example.org" from "www.example.org" - if (v === undefined) { - if (!this._parts.hostname || this.is('IP')) { - return ''; - } +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; - // if hostname consists of 1 or 2 segments, it must be the domain - var t = this._parts.hostname.match(/\./g); - if (t && t.length < 2) { - return this._parts.hostname; - } +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; - // grab tld and add another segment - var end = this._parts.hostname.length - this.tld(build).length - 1; - end = this._parts.hostname.lastIndexOf('.', end - 1) + 1; - return this._parts.hostname.substring(end) || ''; - } else { - if (!v) { - throw new TypeError('cannot set domain empty'); - } +exports.ArraySet = ArraySet; - URI.ensureValidHostname(v); +/***/ }), +/* 186 */ +/***/ (function(module, exports, __webpack_require__) { - if (!this._parts.hostname || this.is('IP')) { - this._parts.hostname = v; - } else { - var replace = new RegExp(escapeRegEx(this.domain()) + '$'); - this._parts.hostname = this._parts.hostname.replace(replace, v); - } +"use strict"; - this.build(!build); - return this; - } - }; - p.tld = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } - if (typeof v === 'boolean') { - build = v; - v = undefined; - } +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ - // return "org" from "www.example.org" - if (v === undefined) { - if (!this._parts.hostname || this.is('IP')) { - return ''; - } +var base64 = __webpack_require__(234); - var pos = this._parts.hostname.lastIndexOf('.'); - var tld = this._parts.hostname.substring(pos + 1); +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 - if (build !== true && SLD && SLD.list[tld.toLowerCase()]) { - return SLD.get(this._parts.hostname) || tld; - } +var VLQ_BASE_SHIFT = 5; - return tld; - } else { - var replace; +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; - if (!v) { - throw new TypeError('cannot set TLD empty'); - } else if (v.match(/[^a-zA-Z0-9-]/)) { - if (SLD && SLD.is(v)) { - replace = new RegExp(escapeRegEx(this.tld()) + '$'); - this._parts.hostname = this._parts.hostname.replace(replace, v); - } else { - throw new TypeError('TLD "' + v + '" contains characters other than [A-Z0-9]'); - } - } else if (!this._parts.hostname || this.is('IP')) { - throw new ReferenceError('cannot set TLD on non-domain host'); - } else { - replace = new RegExp(escapeRegEx(this.tld()) + '$'); - this._parts.hostname = this._parts.hostname.replace(replace, v); - } +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; - this.build(!build); - return this; - } - }; - p.directory = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; - if (v === undefined || v === true) { - if (!this._parts.path && !this._parts.hostname) { - return ''; - } +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; +} - if (this._parts.path === '/') { - return '/'; - } +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative ? -shifted : shifted; +} - var end = this._parts.path.length - this.filename().length - 1; - var res = this._parts.path.substring(0, end) || (this._parts.hostname ? '/' : ''); +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; - return v ? URI.decodePath(res) : res; - } else { - var e = this._parts.path.length - this.filename().length; - var directory = this._parts.path.substring(0, e); - var replace = new RegExp('^' + escapeRegEx(directory)); + var vlq = toVLQSigned(aValue); - // fully qualifier directories begin with a slash - if (!this.is('relative')) { - if (!v) { - v = '/'; - } + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); - if (v.charAt(0) !== '/') { - v = '/' + v; - } - } + return encoded; +}; - // directories always end with a slash - if (v && v.charAt(v.length - 1) !== '/') { - v += '/'; - } +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; - v = URI.recodePath(v); - this._parts.path = this._parts.path.replace(replace, v); - this.build(!build); - return this; - } - }; - p.filename = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); } - if (typeof v !== 'string') { - if (!this._parts.path || this._parts.path === '/') { - return ''; - } - - var pos = this._parts.path.lastIndexOf('/'); - var res = this._parts.path.substring(pos + 1); + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } - return v ? URI.decodePathSegment(res) : res; - } else { - var mutatedDirectory = false; + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); - if (v.charAt(0) === '/') { - v = v.substring(1); - } + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; - if (v.match(/\.?\//)) { - mutatedDirectory = true; - } +/***/ }), +/* 187 */ +/***/ (function(module, exports, __webpack_require__) { - var replace = new RegExp(escapeRegEx(this.filename()) + '$'); - v = URI.recodePath(v); - this._parts.path = this._parts.path.replace(replace, v); +"use strict"; - if (mutatedDirectory) { - this.normalizePath(build); - } else { - this.build(!build); - } - return this; - } - }; - p.suffix = function (v, build) { - if (this._parts.urn) { - return v === undefined ? '' : this; - } +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ - if (v === undefined || v === true) { - if (!this._parts.path || this._parts.path === '/') { - return ''; - } +var base64VLQ = __webpack_require__(186); +var util = __webpack_require__(10); +var ArraySet = __webpack_require__(185).ArraySet; +var MappingList = __webpack_require__(236).MappingList; - var filename = this.filename(); - var pos = filename.lastIndexOf('.'); - var s, res; +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} - if (pos === -1) { - return ''; - } +SourceMapGenerator.prototype._version = 3; - // suffix may only contain alnum characters (yup, I made this up.) - s = filename.substring(pos + 1); - res = /^[a-z0-9%]+$/i.test(s) ? s : ''; - return v ? URI.decodePathSegment(res) : res; - } else { - if (v.charAt(0) === '.') { - v = v.substring(1); +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn } + }; - var suffix = this.suffix(); - var replace; - - if (!suffix) { - if (!v) { - return this; - } - - this._parts.path += '.' + URI.recodePath(v); - } else if (!v) { - replace = new RegExp(escapeRegEx('.' + suffix) + '$'); - } else { - replace = new RegExp(escapeRegEx(suffix) + '$'); + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); } - if (replace) { - v = URI.recodePath(v); - this._parts.path = this._parts.path.replace(replace, v); - } + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; - this.build(!build); - return this; + if (mapping.name != null) { + newMapping.name = mapping.name; + } } - }; - p.segment = function (segment, v, build) { - var separator = this._parts.urn ? ':' : '/'; - var path = this.path(); - var absolute = path.substring(0, 1) === '/'; - var segments = path.split(separator); - if (segment !== undefined && typeof segment !== 'number') { - build = v; - v = segment; - segment = undefined; + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); } + }); + return generator; +}; - if (segment !== undefined && typeof segment !== 'number') { - throw new Error('Bad segment "' + segment + '", must be 0-based integer'); - } +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); - if (absolute) { - segments.shift(); + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); } + } - if (segment < 0) { - // allow negative indexes to address from the end - segment = Math.max(segments.length + segment, 0); + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); } + } - if (v === undefined) { - /*jshint laxbreak: true */ - return segment === undefined ? segments : segments[segment]; - /*jshint laxbreak: false */ - } else if (segment === null || segments[segment] === undefined) { - if (isArray(v)) { - segments = []; - // collapse empty elements within array - for (var i = 0, l = v.length; i < l; i++) { - if (!v[i].length && (!segments.length || !segments[segments.length - 1].length)) { - continue; - } + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); +}; - if (segments.length && !segments[segments.length - 1].length) { - segments.pop(); - } +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } - segments.push(trimSlashes(v[i])); + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } +}; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.'); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source); } - } else if (v || typeof v === 'string') { - v = trimSlashes(v); - if (segments[segments.length - 1] === '') { - // empty trailing elements have to be overwritten - // to prevent results such as /foo//bar - segments[segments.length - 1] = v; - } else { - segments.push(v); + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; } - } - } else { - if (v) { - segments[segment] = trimSlashes(v); - } else { - segments.splice(segment, 1); } } - if (absolute) { - segments.unshift(''); + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); } - return this.path(segments.join(separator), build); - }; - p.segmentCoded = function (segment, v, build) { - var segments, i, l; - - if (typeof segment !== 'number') { - build = v; - v = segment; - segment = undefined; + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); } + }, this); + this._sources = newSources; + this._names = newNames; - if (v === undefined) { - segments = this.segment(segment, v, build); - if (!isArray(segments)) { - segments = segments !== undefined ? URI.decode(segments) : undefined; - } else { - for (i = 0, l = segments.length; i < l; i++) { - segments[i] = URI.decode(segments[i]); - } + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); } - - return segments; + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); } + }, this); +}; - if (!isArray(v)) { - v = typeof v === 'string' || v instanceof String ? URI.encode(v) : v; +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { + // Cases 2 and 3. + return; + } else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } +}; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = ''; + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } } else { - for (i = 0, l = v.length; i < l; i++) { - v[i] = URI.encode(v[i]); + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; } } - return this.segment(segment, v, build); - }; + next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; - // mutating query string - var q = p.query; - p.query = function (v, build) { - if (v === true) { - return URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); - } else if (typeof v === 'function') { - var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); - var result = v.call(this, data); - this._parts.query = URI.buildQuery(result || data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); - this.build(!build); - return this; - } else if (v !== undefined && typeof v !== 'string') { - this._parts.query = URI.buildQuery(v, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); - this.build(!build); - return this; - } else { - return q.call(this, v, build); - } - }; - p.setQuery = function (name, value, build) { - var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; - if (typeof name === 'string' || name instanceof String) { - data[name] = value !== undefined ? value : null; - } else if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { - for (var key in name) { - if (hasOwn.call(name, key)) { - data[key] = name[key]; - } + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; } - } else { - throw new TypeError('URI.addQuery() accepts an object, string as the name parameter'); } - this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); - if (typeof name !== 'string') { - build = value; - } + result += next; + } - this.build(!build); - return this; - }; - p.addQuery = function (name, value, build) { - var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); - URI.addQuery(data, name, value === undefined ? null : value); - this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); - if (typeof name !== 'string') { - build = value; - } + return result; +}; - this.build(!build); - return this; - }; - p.removeQuery = function (name, value, build) { - var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); - URI.removeQuery(data, name, value); - this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace); - if (typeof name !== 'string') { - build = value; +SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; + }, this); +}; - this.build(!build); - return this; - }; - p.hasQuery = function (name, value, withinArray) { - var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace); - return URI.hasQuery(data, name, value, withinArray); +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() }; - p.setSearch = p.setQuery; - p.addSearch = p.addQuery; - p.removeSearch = p.removeQuery; - p.hasSearch = p.hasQuery; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } - // sanitizing URLs - p.normalize = function () { - if (this._parts.urn) { - return this.normalizeProtocol(false).normalizePath(false).normalizeQuery(false).normalizeFragment(false).build(); - } + return map; +}; - return this.normalizeProtocol(false).normalizeHostname(false).normalizePort(false).normalizePath(false).normalizeQuery(false).normalizeFragment(false).build(); - }; - p.normalizeProtocol = function (build) { - if (typeof this._parts.protocol === 'string') { - this._parts.protocol = this._parts.protocol.toLowerCase(); - this.build(!build); - } +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); +}; - return this; - }; - p.normalizeHostname = function (build) { - if (this._parts.hostname) { - if (this.is('IDN') && punycode) { - this._parts.hostname = punycode.toASCII(this._parts.hostname); - } else if (this.is('IPv6') && IPv6) { - this._parts.hostname = IPv6.best(this._parts.hostname); - } +exports.SourceMapGenerator = SourceMapGenerator; + +/***/ }), +/* 188 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var __extends = undefined && undefined.__extends || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + }function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var LoggerOptions_1 = __webpack_require__(1); +var AbstractCategoryLogger_1 = __webpack_require__(16); +/** + * Simple logger, that logs to the console. If the console is unavailable will throw an exception. + */ +var CategoryConsoleLoggerImpl = function (_super) { + __extends(CategoryConsoleLoggerImpl, _super); + function CategoryConsoleLoggerImpl(rootCategory, runtimeSettings) { + return _super.call(this, rootCategory, runtimeSettings) || this; + } + CategoryConsoleLoggerImpl.prototype.doLog = function (msg) { + var fullMsg = this.createDefaultLogMessage(msg); + if (console !== undefined) { + var logged = false; + /* tslint:disable:no-console */ + switch (msg.getLevel()) { + case LoggerOptions_1.LogLevel.Trace: + // Don't try trace we don't want stacks + break; + case LoggerOptions_1.LogLevel.Debug: + if (console.debug) { + console.debug(fullMsg); + logged = true; + } + break; + case LoggerOptions_1.LogLevel.Info: + if (console.info) { + console.info(fullMsg); + logged = true; + } + break; + case LoggerOptions_1.LogLevel.Warn: + if (console.warn) { + console.warn(fullMsg); + logged = true; + } + break; + case LoggerOptions_1.LogLevel.Error: + case LoggerOptions_1.LogLevel.Fatal: + if (console.error) { + console.error(fullMsg); + logged = true; + } + break; + default: + throw new Error("Unsupported level: " + msg.getLevel()); + } + if (!logged) { + console.log(fullMsg); + } + } else { + throw new Error("Console is not defined, cannot log msg: " + fullMsg); + } + }; + return CategoryConsoleLoggerImpl; +}(AbstractCategoryLogger_1.AbstractCategoryLogger); +exports.CategoryConsoleLoggerImpl = CategoryConsoleLoggerImpl; +//# sourceMappingURL=CategoryConsoleLoggerImpl.js.map - this._parts.hostname = this._parts.hostname.toLowerCase(); - this.build(!build); - } +/***/ }), +/* 189 */ +/***/ (function(module, exports, __webpack_require__) { - return this; - }; - p.normalizePort = function (build) { - // remove port of it's the protocol's default - if (typeof this._parts.protocol === 'string' && this._parts.port === URI.defaultPorts[this._parts.protocol]) { - this._parts.port = null; - this.build(!build); - } +"use strict"; - return this; - }; - p.normalizePath = function (build) { - var _path = this._parts.path; - if (!_path) { - return this; - } +/** + * Delegate logger, delegates logging to given logger (constructor). + */ - if (this._parts.urn) { - this._parts.path = URI.recodeUrnPath(this._parts.path); - this.build(!build); - return this; +var CategoryDelegateLoggerImpl = function () { + function CategoryDelegateLoggerImpl(delegate) { + this._delegate = delegate; } + Object.defineProperty(CategoryDelegateLoggerImpl.prototype, "delegate", { + get: function get() { + return this._delegate; + }, + set: function set(value) { + this._delegate = value; + }, + enumerable: true, + configurable: true + }); + CategoryDelegateLoggerImpl.prototype.trace = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).trace.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.debug = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).debug.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.info = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).info.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.warn = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).warn.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.error = function (msg, error) { + var categories = []; + for (var _i = 2; _i < arguments.length; _i++) { + categories[_i - 2] = arguments[_i]; + } + (_a = this._delegate).error.apply(_a, [msg, error].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.fatal = function (msg, error) { + var categories = []; + for (var _i = 2; _i < arguments.length; _i++) { + categories[_i - 2] = arguments[_i]; + } + (_a = this._delegate).fatal.apply(_a, [msg, error].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.resolved = function (msg, error) { + var categories = []; + for (var _i = 2; _i < arguments.length; _i++) { + categories[_i - 2] = arguments[_i]; + } + (_a = this._delegate).resolved.apply(_a, [msg, error].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.log = function (level, msg, error) { + var categories = []; + for (var _i = 3; _i < arguments.length; _i++) { + categories[_i - 3] = arguments[_i]; + } + (_a = this._delegate).log.apply(_a, [level, msg, error].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.tracec = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).tracec.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.debugc = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).debugc.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.infoc = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).infoc.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.warnc = function (msg) { + var categories = []; + for (var _i = 1; _i < arguments.length; _i++) { + categories[_i - 1] = arguments[_i]; + } + (_a = this._delegate).warnc.apply(_a, [msg].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.errorc = function (msg, error) { + var categories = []; + for (var _i = 2; _i < arguments.length; _i++) { + categories[_i - 2] = arguments[_i]; + } + (_a = this._delegate).errorc.apply(_a, [msg, error].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.fatalc = function (msg, error) { + var categories = []; + for (var _i = 2; _i < arguments.length; _i++) { + categories[_i - 2] = arguments[_i]; + } + (_a = this._delegate).fatalc.apply(_a, [msg, error].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.resolvedc = function (msg, error) { + var categories = []; + for (var _i = 2; _i < arguments.length; _i++) { + categories[_i - 2] = arguments[_i]; + } + (_a = this._delegate).resolvedc.apply(_a, [msg, error].concat(categories)); + var _a; + }; + CategoryDelegateLoggerImpl.prototype.logc = function (level, msg, error) { + var categories = []; + for (var _i = 3; _i < arguments.length; _i++) { + categories[_i - 3] = arguments[_i]; + } + (_a = this._delegate).logc.apply(_a, [level, msg, error].concat(categories)); + var _a; + }; + return CategoryDelegateLoggerImpl; +}(); +exports.CategoryDelegateLoggerImpl = CategoryDelegateLoggerImpl; +//# sourceMappingURL=CategoryDelegateLoggerImpl.js.map - if (this._parts.path === '/') { - return this; - } +/***/ }), +/* 190 */ +/***/ (function(module, exports, __webpack_require__) { - _path = URI.recodePath(_path); +"use strict"; - var _was_relative; - var _leadingParents = ''; - var _parent, _pos; - // handle relative paths - if (_path.charAt(0) !== '/') { - _was_relative = true; - _path = '/' + _path; +var __extends = undefined && undefined.__extends || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + }function __() { + this.constructor = d; } - - // handle relative files (as opposed to directories) - if (_path.slice(-3) === '/..' || _path.slice(-2) === '/.') { - _path += '/'; + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var AbstractCategoryLogger_1 = __webpack_require__(16); +/** + * Logger which buffers all messages, use with care due to possible high memory footprint. + * Can be convenient in some cases. Call toString() for full output, or cast to this class + * and call getMessages() to do something with it yourself. + */ +var CategoryMessageBufferLoggerImpl = function (_super) { + __extends(CategoryMessageBufferLoggerImpl, _super); + function CategoryMessageBufferLoggerImpl() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.messages = []; + return _this; } + CategoryMessageBufferLoggerImpl.prototype.getMessages = function () { + return this.messages; + }; + CategoryMessageBufferLoggerImpl.prototype.toString = function () { + return this.messages.map(function (msg) { + return msg; + }).join("\n"); + }; + CategoryMessageBufferLoggerImpl.prototype.doLog = function (msg) { + var fullMsg = this.createDefaultLogMessage(msg); + this.messages.push(fullMsg); + }; + return CategoryMessageBufferLoggerImpl; +}(AbstractCategoryLogger_1.AbstractCategoryLogger); +exports.CategoryMessageBufferLoggerImpl = CategoryMessageBufferLoggerImpl; +//# sourceMappingURL=CategoryMessageBufferImpl.js.map - // resolve simples - _path = _path.replace(/(\/(\.\/)+)|(\/\.$)/g, '/').replace(/\/{2,}/g, '/'); - - // remember leading parents - if (_was_relative) { - _leadingParents = _path.substring(1).match(/^(\.\.\/)+/) || ''; - if (_leadingParents) { - _leadingParents = _leadingParents[0]; - } - } +/***/ }), +/* 191 */ +/***/ (function(module, exports, __webpack_require__) { - // resolve parents - while (true) { - _parent = _path.search(/\/\.\.(\/|$)/); - if (_parent === -1) { - // no more ../ to resolve - break; - } else if (_parent === 0) { - // top level cannot be relative, skip it - _path = _path.substring(3); - continue; - } +"use strict"; - _pos = _path.substring(0, _parent).lastIndexOf('/'); - if (_pos === -1) { - _pos = _parent; - } - _path = _path.substring(0, _pos) + _path.substring(_parent + 3); - } - // revert to relative - if (_was_relative && this.is('relative')) { - _path = _leadingParents + _path.substring(1); +var __extends = undefined && undefined.__extends || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + }function __() { + this.constructor = d; } - - this._parts.path = _path; - this.build(!build); - return this; - }; - p.normalizePathname = p.normalizePath; - p.normalizeQuery = function (build) { - if (typeof this._parts.query === 'string') { - if (!this._parts.query.length) { - this._parts.query = null; - } else { - this.query(URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace)); - } - - this.build(!build); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var AbstractLogger_1 = __webpack_require__(18); +var LoggerOptions_1 = __webpack_require__(1); +/** + * Simple logger, that logs to the console. If the console is unavailable will throw exception. + */ +var ConsoleLoggerImpl = function (_super) { + __extends(ConsoleLoggerImpl, _super); + function ConsoleLoggerImpl(name, logGroupRuntimeSettings) { + return _super.call(this, name, logGroupRuntimeSettings) || this; } + ConsoleLoggerImpl.prototype.doLog = function (message) { + if (console !== undefined) { + var logged = false; + var logLevel = message.level; + var msg = this.createDefaultLogMessage(message); + /* tslint:disable:no-console */ + switch (logLevel) { + case LoggerOptions_1.LogLevel.Trace: + // Do not try trace we don't want a stack + break; + case LoggerOptions_1.LogLevel.Debug: + if (console.debug) { + console.debug(msg); + logged = true; + } + break; + case LoggerOptions_1.LogLevel.Info: + if (console.info) { + console.info(msg); + logged = true; + } + break; + case LoggerOptions_1.LogLevel.Warn: + if (console.warn) { + console.warn(msg); + logged = true; + } + break; + case LoggerOptions_1.LogLevel.Error: + case LoggerOptions_1.LogLevel.Fatal: + if (console.error) { + console.error(msg); + logged = true; + } + break; + default: + throw new Error("Log level not supported: " + logLevel); + } + if (!logged) { + console.log(msg); + } + } else { + throw new Error("Console is not defined, cannot log msg: " + message.message); + } + }; + return ConsoleLoggerImpl; +}(AbstractLogger_1.AbstractLogger); +exports.ConsoleLoggerImpl = ConsoleLoggerImpl; +//# sourceMappingURL=ConsoleLoggerImpl.js.map - return this; - }; - p.normalizeFragment = function (build) { - if (!this._parts.fragment) { - this._parts.fragment = null; - this.build(!build); - } +/***/ }), +/* 192 */ +/***/ (function(module, exports, __webpack_require__) { - return this; - }; - p.normalizeSearch = p.normalizeQuery; - p.normalizeHash = p.normalizeFragment; +"use strict"; - p.iso8859 = function () { - // expect unicode input, iso8859 output - var e = URI.encode; - var d = URI.decode; - URI.encode = escape; - URI.decode = decodeURIComponent; - try { - this.normalize(); - } finally { - URI.encode = e; - URI.decode = d; +var __extends = undefined && undefined.__extends || function (d, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) d[p] = b[p]; + }function __() { + this.constructor = d; } - return this; - }; - - p.unicode = function () { - // expect iso8859 input, unicode output - var e = URI.encode; - var d = URI.decode; - - URI.encode = strictEncodeURIComponent; - URI.decode = unescape; - try { - this.normalize(); - } finally { - URI.encode = e; - URI.decode = d; + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var AbstractLogger_1 = __webpack_require__(18); +/** + * Logger which buffers all messages, use with care due to possible high memory footprint. + * Can be convenient in some cases. Call toString() for full output, or cast to this class + * and call getMessages() to do something with it yourself. + */ +var MessageBufferLoggerImpl = function (_super) { + __extends(MessageBufferLoggerImpl, _super); + function MessageBufferLoggerImpl(name, logGroupRuntimeSettings) { + var _this = _super.call(this, name, logGroupRuntimeSettings) || this; + _this.messages = []; + return _this; } - return this; - }; + MessageBufferLoggerImpl.prototype.close = function () { + this.messages = []; + _super.prototype.close.call(this); + }; + MessageBufferLoggerImpl.prototype.getMessages = function () { + return this.messages; + }; + MessageBufferLoggerImpl.prototype.toString = function () { + return this.messages.map(function (msg) { + return msg; + }).join("\n"); + }; + MessageBufferLoggerImpl.prototype.doLog = function (message) { + this.messages.push(this.createDefaultLogMessage(message)); + }; + return MessageBufferLoggerImpl; +}(AbstractLogger_1.AbstractLogger); +exports.MessageBufferLoggerImpl = MessageBufferLoggerImpl; +//# sourceMappingURL=MessageBufferLoggerImpl.js.map - p.readable = function () { - var uri = this.clone(); - // removing username, password, because they shouldn't be displayed according to RFC 3986 - uri.username('').password('').normalize(); - var t = ''; - if (uri._parts.protocol) { - t += uri._parts.protocol + '://'; - } +/***/ }), +/* 193 */ +/***/ (function(module, exports, __webpack_require__) { - if (uri._parts.hostname) { - if (uri.is('punycode') && punycode) { - t += punycode.toUnicode(uri._parts.hostname); - if (uri._parts.port) { - t += ':' + uri._parts.port; - } - } else { - t += uri.host(); - } - } +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; - if (uri._parts.hostname && uri._parts.path && uri._parts.path.charAt(0) !== '/') { - t += '/'; - } +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; }; - t += uri.path(true); - if (uri._parts.query) { - var q = ''; - for (var i = 0, qp = uri._parts.query.split('&'), l = qp.length; i < l; i++) { - var kv = (qp[i] || '').split('='); - q += '&' + URI.decodeQuery(kv[0], this._parts.escapeQuerySpace).replace(/&/g, '%26'); +/*! + * URI.js - Mutating URLs + * IPv6 Support + * + * Version: 1.18.10 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */ - if (kv[1] !== undefined) { - q += '=' + URI.decodeQuery(kv[1], this._parts.escapeQuerySpace).replace(/&/g, '%26'); - } - } - t += '?' + q.substring(1); - } +(function (root, factory) { + 'use strict'; + // https://github.com/umdjs/umd/blob/master/returnExports.js + + if (( false ? 'undefined' : _typeof(module)) === 'object' && module.exports) { + // Node + module.exports = factory(); + } else 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 { + // Browser globals (root is window) + root.IPv6 = factory(root); + } +})(undefined, function (root) { + 'use strict'; - t += URI.decodeQuery(uri.hash(), true); - return t; - }; + /* + var _in = "fe80:0000:0000:0000:0204:61ff:fe9d:f156"; + var _out = IPv6.best(_in); + var _expected = "fe80::204:61ff:fe9d:f156"; + console.log(_in, _out, _expected, _out === _expected); + */ - // resolving relative and absolute URLs - p.absoluteTo = function (base) { - var resolved = this.clone(); - var properties = ['protocol', 'username', 'password', 'hostname', 'port']; - var basedir, i, p; + // save current IPv6 variable, if any - if (this._parts.urn) { - throw new Error('URNs do not have any generally defined hierarchical components'); - } + var _IPv6 = root && root.IPv6; - if (!(base instanceof URI)) { - base = new URI(base); - } + function bestPresentation(address) { + // based on: + // Javascript to test an IPv6 address for proper format, and to + // present the "best text representation" according to IETF Draft RFC at + // http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04 + // 8 Feb 2010 Rich Brown, Dartware, LLC + // Please feel free to use this code as long as you provide a link to + // http://www.intermapper.com + // http://intermapper.com/support/tools/IPV6-Validator.aspx + // http://download.dartware.com/thirdparty/ipv6validator.js - if (resolved._parts.protocol) { - // Directly returns even if this._parts.hostname is empty. - return resolved; - } else { - resolved._parts.protocol = base._parts.protocol; - } + var _address = address.toLowerCase(); + var segments = _address.split(':'); + var length = segments.length; + var total = 8; - if (this._parts.hostname) { - return resolved; + // trim colons (:: or ::a:b:c… or …a:b:c::) + if (segments[0] === '' && segments[1] === '' && segments[2] === '') { + // must have been :: + // remove first two items + segments.shift(); + segments.shift(); + } else if (segments[0] === '' && segments[1] === '') { + // must have been ::xxxx + // remove the first item + segments.shift(); + } else if (segments[length - 1] === '' && segments[length - 2] === '') { + // must have been xxxx:: + segments.pop(); } - for (i = 0; p = properties[i]; i++) { - resolved._parts[p] = base._parts[p]; + length = segments.length; + + // adjust total segments for IPv4 trailer + if (segments[length - 1].indexOf('.') !== -1) { + // found a "." which means IPv4 + total = 7; } - if (!resolved._parts.path) { - resolved._parts.path = base._parts.path; - if (!resolved._parts.query) { - resolved._parts.query = base._parts.query; - } - } else { - if (resolved._parts.path.substring(-2) === '..') { - resolved._parts.path += '/'; + // fill empty segments them with "0000" + var pos; + for (pos = 0; pos < length; pos++) { + if (segments[pos] === '') { + break; } + } - if (resolved.path().charAt(0) !== '/') { - basedir = base.directory(); - basedir = basedir ? basedir : base.path().indexOf('/') === 0 ? '/' : ''; - resolved._parts.path = (basedir ? basedir + '/' : '') + resolved._parts.path; - resolved.normalizePath(); + if (pos < total) { + segments.splice(pos, 1, '0000'); + while (segments.length < total) { + segments.splice(pos, 0, '0000'); } } - resolved.build(); - return resolved; - }; - p.relativeTo = function (base) { - var relative = this.clone().normalize(); - var relativeParts, baseParts, common, relativePath, basePath; + // strip leading zeros + var _segments; + for (var i = 0; i < total; i++) { + _segments = segments[i].split(''); + for (var j = 0; j < 3; j++) { + if (_segments[0] === '0' && _segments.length > 1) { + _segments.splice(0, 1); + } else { + break; + } + } - if (relative._parts.urn) { - throw new Error('URNs do not have any generally defined hierarchical components'); + segments[i] = _segments.join(''); } - base = new URI(base).normalize(); - relativeParts = relative._parts; - baseParts = base._parts; - relativePath = relative.path(); - basePath = base.path(); + // find longest sequence of zeroes and coalesce them into one segment + var best = -1; + var _best = 0; + var _current = 0; + var current = -1; + var inzeroes = false; + // i; already declared - if (relativePath.charAt(0) !== '/') { - throw new Error('URI is already relative'); + for (i = 0; i < total; i++) { + if (inzeroes) { + if (segments[i] === '0') { + _current += 1; + } else { + inzeroes = false; + if (_current > _best) { + best = current; + _best = _current; + } + } + } else { + if (segments[i] === '0') { + inzeroes = true; + current = i; + _current = 1; + } + } } - if (basePath.charAt(0) !== '/') { - throw new Error('Cannot calculate a URI relative to another relative URI'); + if (_current > _best) { + best = current; + _best = _current; } - if (relativeParts.protocol === baseParts.protocol) { - relativeParts.protocol = null; + if (_best > 1) { + segments.splice(best, _best, ''); } - if (relativeParts.username !== baseParts.username || relativeParts.password !== baseParts.password) { - return relative.build(); - } + length = segments.length; - if (relativeParts.protocol !== null || relativeParts.username !== null || relativeParts.password !== null) { - return relative.build(); + // assemble remaining segments + var result = ''; + if (segments[0] === '') { + result = ':'; } - if (relativeParts.hostname === baseParts.hostname && relativeParts.port === baseParts.port) { - relativeParts.hostname = null; - relativeParts.port = null; - } else { - return relative.build(); + for (i = 0; i < length; i++) { + result += segments[i]; + if (i === length - 1) { + break; + } + + result += ':'; } - if (relativePath === basePath) { - relativeParts.path = ''; - return relative.build(); + if (segments[length - 1] === '') { + result += ':'; } - // determine common sub path - common = URI.commonPath(relativePath, basePath); + return result; + } - // If the paths have nothing in common, return a relative URL with the absolute path. - if (!common) { - return relative.build(); + function noConflict() { + /*jshint validthis: true */ + if (root.IPv6 === this) { + root.IPv6 = _IPv6; } - var parents = baseParts.path.substring(common.length).replace(/[^\/]*$/, '').replace(/.*?\//g, '../'); - - relativeParts.path = parents + relativeParts.path.substring(common.length) || './'; + return this; + } - return relative.build(); + return { + best: bestPresentation, + noConflict: noConflict }; +}); +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module))) - // comparing URIs - p.equals = function (uri) { - var one = this.clone(); - var two = new URI(uri); - var one_map = {}; - var two_map = {}; - var checked = {}; - var one_query, two_query, key; +/***/ }), +/* 194 */ +/***/ (function(module, exports, __webpack_require__) { - one.normalize(); - two.normalize(); +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; - // exact match - if (one.toString() === two.toString()) { - return true; - } +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; }; - // extract query string - one_query = one.query(); - two_query = two.query(); - one.query(''); - two.query(''); +/*! + * URI.js - Mutating URLs + * Second Level Domain (SLD) Support + * + * Version: 1.18.10 + * + * Author: Rodney Rehm + * Web: http://medialize.github.io/URI.js/ + * + * Licensed under + * MIT License http://www.opensource.org/licenses/mit-license + * + */ - // definitely not equal if not even non-query parts match - if (one.toString() !== two.toString()) { - return false; - } +(function (root, factory) { + 'use strict'; + // https://github.com/umdjs/umd/blob/master/returnExports.js - // query parameters have the same length, even if they're permuted - if (one_query.length !== two_query.length) { - return false; - } + if (( false ? 'undefined' : _typeof(module)) === 'object' && module.exports) { + // Node + module.exports = factory(); + } else 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 { + // Browser globals (root is window) + root.SecondLevelDomains = factory(root); + } +})(undefined, function (root) { + 'use strict'; - one_map = URI.parseQuery(one_query, this._parts.escapeQuerySpace); - two_map = URI.parseQuery(two_query, this._parts.escapeQuerySpace); + // save current SecondLevelDomains variable, if any - for (key in one_map) { - if (hasOwn.call(one_map, key)) { - if (!isArray(one_map[key])) { - if (one_map[key] !== two_map[key]) { - return false; - } - } else if (!arraysEqual(one_map[key], two_map[key])) { - return false; - } + var _SecondLevelDomains = root && root.SecondLevelDomains; - checked[key] = true; + var SLD = { + // list of known Second Level Domains + // converted list of SLDs from https://github.com/gavingmiller/second-level-domains + // ---- + // publicsuffix.org is more current and actually used by a couple of browsers internally. + // downside is it also contains domains like "dyndns.org" - which is fine for the security + // issues browser have to deal with (SOP for cookies, etc) - but is way overboard for URI.js + // ---- + list: { + 'ac': ' com gov mil net org ', + 'ae': ' ac co gov mil name net org pro sch ', + 'af': ' com edu gov net org ', + 'al': ' com edu gov mil net org ', + 'ao': ' co ed gv it og pb ', + 'ar': ' com edu gob gov int mil net org tur ', + 'at': ' ac co gv or ', + 'au': ' asn com csiro edu gov id net org ', + 'ba': ' co com edu gov mil net org rs unbi unmo unsa untz unze ', + 'bb': ' biz co com edu gov info net org store tv ', + 'bh': ' biz cc com edu gov info net org ', + 'bn': ' com edu gov net org ', + 'bo': ' com edu gob gov int mil net org tv ', + 'br': ' adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ', + 'bs': ' com edu gov net org ', + 'bz': ' du et om ov rg ', + 'ca': ' ab bc mb nb nf nl ns nt nu on pe qc sk yk ', + 'ck': ' biz co edu gen gov info net org ', + 'cn': ' ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ', + 'co': ' com edu gov mil net nom org ', + 'cr': ' ac c co ed fi go or sa ', + 'cy': ' ac biz com ekloges gov ltd name net org parliament press pro tm ', + 'do': ' art com edu gob gov mil net org sld web ', + 'dz': ' art asso com edu gov net org pol ', + 'ec': ' com edu fin gov info med mil net org pro ', + 'eg': ' com edu eun gov mil name net org sci ', + 'er': ' com edu gov ind mil net org rochest w ', + 'es': ' com edu gob nom org ', + 'et': ' biz com edu gov info name net org ', + 'fj': ' ac biz com info mil name net org pro ', + 'fk': ' ac co gov net nom org ', + 'fr': ' asso com f gouv nom prd presse tm ', + 'gg': ' co net org ', + 'gh': ' com edu gov mil org ', + 'gn': ' ac com gov net org ', + 'gr': ' com edu gov mil net org ', + 'gt': ' com edu gob ind mil net org ', + 'gu': ' com edu gov net org ', + 'hk': ' com edu gov idv net org ', + 'hu': ' 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ', + 'id': ' ac co go mil net or sch web ', + 'il': ' ac co gov idf k12 muni net org ', + 'in': ' ac co edu ernet firm gen gov i ind mil net nic org res ', + 'iq': ' com edu gov i mil net org ', + 'ir': ' ac co dnssec gov i id net org sch ', + 'it': ' edu gov ', + 'je': ' co net org ', + 'jo': ' com edu gov mil name net org sch ', + 'jp': ' ac ad co ed go gr lg ne or ', + 'ke': ' ac co go info me mobi ne or sc ', + 'kh': ' com edu gov mil net org per ', + 'ki': ' biz com de edu gov info mob net org tel ', + 'km': ' asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ', + 'kn': ' edu gov net org ', + 'kr': ' ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ', + 'kw': ' com edu gov net org ', + 'ky': ' com edu gov net org ', + 'kz': ' com edu gov mil net org ', + 'lb': ' com edu gov net org ', + 'lk': ' assn com edu gov grp hotel int ltd net ngo org sch soc web ', + 'lr': ' com edu gov net org ', + 'lv': ' asn com conf edu gov id mil net org ', + 'ly': ' com edu gov id med net org plc sch ', + 'ma': ' ac co gov m net org press ', + 'mc': ' asso tm ', + 'me': ' ac co edu gov its net org priv ', + 'mg': ' com edu gov mil nom org prd tm ', + 'mk': ' com edu gov inf name net org pro ', + 'ml': ' com edu gov net org presse ', + 'mn': ' edu gov org ', + 'mo': ' com edu gov net org ', + 'mt': ' com edu gov net org ', + 'mv': ' aero biz com coop edu gov info int mil museum name net org pro ', + 'mw': ' ac co com coop edu gov int museum net org ', + 'mx': ' com edu gob net org ', + 'my': ' com edu gov mil name net org sch ', + 'nf': ' arts com firm info net other per rec store web ', + 'ng': ' biz com edu gov mil mobi name net org sch ', + 'ni': ' ac co com edu gob mil net nom org ', + 'np': ' com edu gov mil net org ', + 'nr': ' biz com edu gov info net org ', + 'om': ' ac biz co com edu gov med mil museum net org pro sch ', + 'pe': ' com edu gob mil net nom org sld ', + 'ph': ' com edu gov i mil net ngo org ', + 'pk': ' biz com edu fam gob gok gon gop gos gov net org web ', + 'pl': ' art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ', + 'pr': ' ac biz com edu est gov info isla name net org pro prof ', + 'ps': ' com edu gov net org plo sec ', + 'pw': ' belau co ed go ne or ', + 'ro': ' arts com firm info nom nt org rec store tm www ', + 'rs': ' ac co edu gov in org ', + 'sb': ' com edu gov net org ', + 'sc': ' com edu gov net org ', + 'sh': ' co com edu gov net nom org ', + 'sl': ' com edu gov net org ', + 'st': ' co com consulado edu embaixada gov mil net org principe saotome store ', + 'sv': ' com edu gob org red ', + 'sz': ' ac co org ', + 'tr': ' av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ', + 'tt': ' aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ', + 'tw': ' club com ebiz edu game gov idv mil net org ', + 'mu': ' ac co com gov net or org ', + 'mz': ' ac co edu gov org ', + 'na': ' co com ', + 'nz': ' ac co cri geek gen govt health iwi maori mil net org parliament school ', + 'pa': ' abo ac com edu gob ing med net nom org sld ', + 'pt': ' com edu gov int net nome org publ ', + 'py': ' com edu gov mil net org ', + 'qa': ' com edu gov mil net org ', + 're': ' asso com nom ', + 'ru': ' ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ', + 'rw': ' ac co com edu gouv gov int mil net ', + 'sa': ' com edu gov med net org pub sch ', + 'sd': ' com edu gov info med net org tv ', + 'se': ' a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ', + 'sg': ' com edu gov idn net org per ', + 'sn': ' art com edu gouv org perso univ ', + 'sy': ' com edu gov mil net news org ', + 'th': ' ac co go in mi net or ', + 'tj': ' ac biz co com edu go gov info int mil name net nic org test web ', + 'tn': ' agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ', + 'tz': ' ac co go ne or ', + 'ua': ' biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ', + 'ug': ' ac co go ne or org sc ', + 'uk': ' ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ', + 'us': ' dni fed isa kids nsn ', + 'uy': ' com edu gub mil net org ', + 've': ' co com edu gob info mil net org web ', + 'vi': ' co com k12 net org ', + 'vn': ' ac biz com edu gov health info int name net org pro ', + 'ye': ' co com gov ltd me net org plc ', + 'yu': ' ac co edu gov org ', + 'za': ' ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ', + 'zm': ' ac co com edu gov net org sch ', + // https://en.wikipedia.org/wiki/CentralNic#Second-level_domains + 'com': 'ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ', + 'net': 'gb jp se uk ', + 'org': 'ae', + 'de': 'com ' + }, + // gorhill 2013-10-25: Using indexOf() instead Regexp(). Significant boost + // in both performance and memory footprint. No initialization required. + // http://jsperf.com/uri-js-sld-regex-vs-binary-search/4 + // Following methods use lastIndexOf() rather than array.split() in order + // to avoid any memory allocations. + has: function has(domain) { + var tldOffset = domain.lastIndexOf('.'); + if (tldOffset <= 0 || tldOffset >= domain.length - 1) { + return false; } - } - - for (key in two_map) { - if (hasOwn.call(two_map, key)) { - if (!checked[key]) { - // two contains a parameter not present in one - return false; - } + var sldOffset = domain.lastIndexOf('.', tldOffset - 1); + if (sldOffset <= 0 || sldOffset >= tldOffset - 1) { + return false; + } + var sldList = SLD.list[domain.slice(tldOffset + 1)]; + if (!sldList) { + return false; + } + return sldList.indexOf(' ' + domain.slice(sldOffset + 1, tldOffset) + ' ') >= 0; + }, + is: function is(domain) { + var tldOffset = domain.lastIndexOf('.'); + if (tldOffset <= 0 || tldOffset >= domain.length - 1) { + return false; + } + var sldOffset = domain.lastIndexOf('.', tldOffset - 1); + if (sldOffset >= 0) { + return false; + } + var sldList = SLD.list[domain.slice(tldOffset + 1)]; + if (!sldList) { + return false; + } + return sldList.indexOf(' ' + domain.slice(0, tldOffset) + ' ') >= 0; + }, + get: function get(domain) { + var tldOffset = domain.lastIndexOf('.'); + if (tldOffset <= 0 || tldOffset >= domain.length - 1) { + return null; + } + var sldOffset = domain.lastIndexOf('.', tldOffset - 1); + if (sldOffset <= 0 || sldOffset >= tldOffset - 1) { + return null; + } + var sldList = SLD.list[domain.slice(tldOffset + 1)]; + if (!sldList) { + return null; + } + if (sldList.indexOf(' ' + domain.slice(sldOffset + 1, tldOffset) + ' ') < 0) { + return null; + } + return domain.slice(sldOffset + 1); + }, + noConflict: function noConflict() { + if (root.SecondLevelDomains === this) { + root.SecondLevelDomains = _SecondLevelDomains; } + return this; } - - return true; - }; - - // state - p.duplicateQueryParameters = function (v) { - this._parts.duplicateQueryParameters = !!v; - return this; - }; - - p.escapeQuerySpace = function (v) { - this._parts.escapeQuerySpace = !!v; - return this; }; - return URI; + return SLD; }); /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module))) /***/ }), -/* 196 */ +/* 195 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -30503,7 +30269,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol /** Expose `punycode` */ // Some AMD build optimizers, like r.js, check for specific condition patterns // like the following: - if ("function" == 'function' && _typeof(__webpack_require__(198)) == 'object' && __webpack_require__(198)) { + if ("function" == 'function' && _typeof(__webpack_require__(197)) == 'object' && __webpack_require__(197)) { !(__WEBPACK_AMD_DEFINE_RESULT__ = function () { return punycode; }.call(exports, __webpack_require__, exports, module), @@ -30526,7 +30292,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module))) /***/ }), -/* 197 */ +/* 196 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -30600,7 +30366,7 @@ function config(name) { } /***/ }), -/* 198 */ +/* 197 */ /***/ (function(module, exports) { /* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */ @@ -30608,6 +30374,278 @@ module.exports = __webpack_amd_options__; /* WEBPACK VAR INJECTION */}.call(exports, {})) +/***/ }), +/* 198 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _regenerator = __webpack_require__(9); + +var _regenerator2 = _interopRequireDefault(_regenerator); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +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 __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var Log_1 = __webpack_require__(4); +var typescript_logging_1 = __webpack_require__(5); +var OnmsHTTPOptions_1 = __webpack_require__(20); +var OnmsError_1 = __webpack_require__(6); +var OnmsVersion_1 = __webpack_require__(21); +var ServerType_1 = __webpack_require__(13); +var OnmsServer_1 = __webpack_require__(37); +var ServerMetadata_1 = __webpack_require__(38); +var AlarmDAO_1 = __webpack_require__(39); +var EventDAO_1 = __webpack_require__(22); +var NodeDAO_1 = __webpack_require__(40); +var AxiosHTTP_1 = __webpack_require__(58); +/** @hidden */ +var catClient = new typescript_logging_1.Category('client', Log_1.catRoot); +/** + * The OpenNMS client. This is the primary interface to OpenNMS servers. + * @module Client + */ /** */ + +var Client = function () { + _createClass(Client, null, [{ + key: "checkServer", + + /** + * Given an OnmsServer object, check that it can be connected to. + * + * @param server - the server to check + * @param httpImpl - the {@link IOnmsHTTP} implementation to use + * @param timeout - how long to wait before giving up when making ReST calls + */ + value: function checkServer(server, httpImpl, timeout) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { + var opts, infoUrl; + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + opts = new OnmsHTTPOptions_1.OnmsHTTPOptions(timeout, server.auth, server); + + if (httpImpl) { + _context.next = 5; + break; + } + + if (Client.defaultHttp) { + _context.next = 4; + break; + } + + throw new OnmsError_1.OnmsError('No HTTP implementation is configured!'); + + case 4: + httpImpl = Client.defaultHttp; + + case 5: + opts.accept = 'text/plain'; + infoUrl = server.resolveURL('rest/alarms/count'); + + Log_1.log.debug('checkServer: checking URL: ' + infoUrl, catClient); + _context.next = 10; + return httpImpl.get(infoUrl, opts); + + case 10: + return _context.abrupt("return", true); + + case 11: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + } + /** + * Given an OnmsServer object, query what capabilities it has, and return the capabilities + * associated with that server. + * + * @param server - the server to check + * @param httpImpl - the {@link IOnmsHTTP} implementation to use + * @param timeout - how long to wait before giving up when making ReST calls + */ + + }, { + key: "getMetadata", + value: function getMetadata(server, httpImpl, timeout) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { + var opts, infoUrl, response, version, metadata; + return _regenerator2.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + opts = new OnmsHTTPOptions_1.OnmsHTTPOptions(timeout, server.auth, server); + + opts.accept = 'application/json'; + + if (httpImpl) { + _context2.next = 6; + break; + } + + if (Client.defaultHttp) { + _context2.next = 5; + break; + } + + throw new OnmsError_1.OnmsError('No default HTTP implementation is configured!'); + + case 5: + httpImpl = Client.defaultHttp; + + case 6: + infoUrl = server.resolveURL('rest/info'); + + Log_1.log.debug('getMetadata: checking URL: ' + infoUrl, catClient); + _context2.next = 10; + return httpImpl.get(infoUrl, opts); + + case 10: + response = _context2.sent; + version = new OnmsVersion_1.OnmsVersion(response.data.version, response.data.displayVersion); + metadata = new ServerMetadata_1.ServerMetadata(version); + + if (response.data.packageName) { + if (response.data.packageName.toLowerCase() === 'meridian') { + metadata.type = ServerType_1.ServerTypes.MERIDIAN; + } + } + return _context2.abrupt("return", metadata); + + case 15: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + } + /** + * Construct a new OpenNMS client. + * @constructor + * @param httpImpl - The OnmsHTTP implementation to use. Normally + * this will automatically choose the best implementation + * based on the environment. + */ + + }]); + + function Client(httpImpl) { + _classCallCheck(this, Client); + + if (httpImpl) { + Client.defaultHttp = httpImpl; + } else { + Client.defaultHttp = new AxiosHTTP_1.AxiosHTTP(); + } + this.http = Client.defaultHttp; + } + /** + * Connect to an OpenNMS server, check what capabilities it has, and return an {@link OnmsServer} + * for that connection. + */ + + + _createClass(Client, [{ + key: "connect", + value: function connect(name, url, username, password, timeout) { + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee3() { + var self, server, metadata; + return _regenerator2.default.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + self = this; + server = new OnmsServer_1.OnmsServer(name, url, username, password); + _context3.next = 4; + return Client.checkServer(server, undefined, timeout); + + case 4: + _context3.next = 6; + return Client.getMetadata(server, undefined, timeout); + + case 6: + metadata = _context3.sent; + + if (!self.http) { + self.http = Client.defaultHttp; + } + if (!self.http.server) { + self.http.server = server; + } + self.server = server; + server.metadata = metadata; + return _context3.abrupt("return", self); + + case 12: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + } + /** Get an alarm DAO for querying alarms. */ + + }, { + key: "alarms", + value: function alarms() { + return new AlarmDAO_1.AlarmDAO(this); + } + /** Get an event DAO for querying events. */ + + }, { + key: "events", + value: function events() { + return new EventDAO_1.EventDAO(this); + } + /** Get a node DAO for querying nodes. */ + + }, { + key: "nodes", + value: function nodes() { + return new NodeDAO_1.NodeDAO(this); + } + }]); + + return Client; +}(); + +exports.Client = Client; + /***/ }), /* 199 */ /***/ (function(module, exports, __webpack_require__) { @@ -30700,7 +30738,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" Object.defineProperty(exports, "__esModule", { value: true }); var AbstractHTTP_1 = __webpack_require__(32); var OnmsError_1 = __webpack_require__(6); -var OnmsResult_1 = __webpack_require__(9); +var OnmsResult_1 = __webpack_require__(12); var Log_1 = __webpack_require__(4); var typescript_logging_1 = __webpack_require__(5); /** @hidden */ @@ -30735,7 +30773,7 @@ var GrafanaHTTP = function (_AbstractHTTP_1$Abstr) { _createClass(GrafanaHTTP, [{ key: "get", value: function get(url, options) { - var realUrl = this.server.resolveURL(url); + var realUrl = this.getServer(options).resolveURL(url); Log_1.log.debug('getting ' + realUrl); var query = this.getConfig(options); query.method = 'GET'; @@ -30792,23 +30830,56 @@ exports.GrafanaHTTP = GrafanaHTTP; "use strict"; +var _regenerator = __webpack_require__(9); + +var _regenerator2 = _interopRequireDefault(_regenerator); + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +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 __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; Object.defineProperty(exports, "__esModule", { value: true }); var request = __webpack_require__(244); var AbstractHTTP_1 = __webpack_require__(32); var OnmsError_1 = __webpack_require__(6); -var OnmsResult_1 = __webpack_require__(9); +var OnmsResult_1 = __webpack_require__(12); var Log_1 = __webpack_require__(4); var typescript_logging_1 = __webpack_require__(5); /** @hidden */ var catAgent = new typescript_logging_1.Category('super-agent', Log_1.catRest); +/** @hidden */ +// tslint:disable-next-line +var URI = __webpack_require__(34); /** * Implementation of the OnmsHTTP interface using SuperAgent: https://github.com/visionmedia/superagent * @module SuperAgentHTTP @@ -30818,12 +30889,15 @@ var catAgent = new typescript_logging_1.Category('super-agent', Log_1.catRest); var SuperAgentHTTP = function (_AbstractHTTP_1$Abstr) { _inherits(SuperAgentHTTP, _AbstractHTTP_1$Abstr); - function SuperAgentHTTP(server) { - var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000; + function SuperAgentHTTP(server, saImpl) { + var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10000; _classCallCheck(this, SuperAgentHTTP); - return _possibleConstructorReturn(this, (SuperAgentHTTP.__proto__ || Object.getPrototypeOf(SuperAgentHTTP)).call(this, server, timeout)); + var _this = _possibleConstructorReturn(this, (SuperAgentHTTP.__proto__ || Object.getPrototypeOf(SuperAgentHTTP)).call(this, server, timeout)); + + _this.saImpl = saImpl; + return _this; } /** make an HTTP get call -- this should be overridden by the implementation */ @@ -30831,30 +30905,51 @@ var SuperAgentHTTP = function (_AbstractHTTP_1$Abstr) { _createClass(SuperAgentHTTP, [{ key: "get", value: function get(url, options) { - return this.getImpl('get', url, options).then(function (response) { - if (response.body) { - return OnmsResult_1.OnmsResult.ok(response.body, undefined, response.status, response.type); - } - Log_1.log.errorc(function () { - return 'got non-parsed result: ' + JSON.stringify(response); - }, undefined, catAgent); - throw new Error('Unknown response type: ' + response.type + ' (status: ' + response.status + ')'); - }); + return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", this.getImpl('get', url, options).then(function (response) { + if (response.body) { + return OnmsResult_1.OnmsResult.ok(response.body, undefined, response.status, response.type); + } + Log_1.log.errorc(function () { + return 'got non-parsed result: ' + JSON.stringify(response); + }, undefined, catAgent); + throw new Error('Unknown response type: ' + response.type + ' (status: ' + response.status + ')'); + })); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); } /** internal method for getting/constructing a superAgent object on-demand, based on the current server config */ }, { key: "getImpl", value: function getImpl(method, url, options) { - if (!this.server) { + var server = this.getServer(options); + if (!server) { throw new OnmsError_1.OnmsError('You must set a server before attempting to make queries using SuperAgent!'); } - var realUrl = this.server.resolveURL(url); + var realUrl = server.resolveURL(url); var allOptions = this.getOptions(options); var urlObj = new URI(realUrl); urlObj.search(options.parameters); Log_1.log.debug('getting ' + urlObj.toString(), catAgent); - return request[method](realUrl).withCredentials().timeout(allOptions.timeout).set('Accept', allOptions.accept).auth(allOptions.auth.username, allOptions.auth.password).query(allOptions.parameters); + var r = this.saImpl ? this.saImpl : request; + var impl = r[method](realUrl).withCredentials().timeout(allOptions.timeout).set('Accept', allOptions.accept).auth(allOptions.auth.username, allOptions.auth.password).buffer(true); + if (allOptions.accept === 'application/xml') { + impl = impl.parse(this.transformXML); + } else if (allOptions.accept === 'application/json') { + impl = impl.parse(this.transformJSON); + } + return impl.query(allOptions.parameters); } }]); @@ -32062,7 +32157,7 @@ var merge = __webpack_require__(231); var padStart = __webpack_require__(68); var repeat = __webpack_require__(69); var sprintf = __webpack_require__(11).sprintf; -var deprecate = __webpack_require__(197); +var deprecate = __webpack_require__(196); var constants4 = __webpack_require__(26); var constants6 = __webpack_require__(27); @@ -43077,12 +43172,12 @@ var Filter_1 = __webpack_require__(199); var OnmsAuthConfig_1 = __webpack_require__(36); var OnmsError_1 = __webpack_require__(6); var OnmsHTTPOptions_1 = __webpack_require__(20); -var OnmsResult_1 = __webpack_require__(9); +var OnmsResult_1 = __webpack_require__(12); var OnmsServer_1 = __webpack_require__(37); var OnmsVersion_1 = __webpack_require__(21); var Restriction_1 = __webpack_require__(200); var ServerMetadata_1 = __webpack_require__(38); -var ServerType_1 = __webpack_require__(12); +var ServerType_1 = __webpack_require__(13); var AlarmDAO_1 = __webpack_require__(39); var EventDAO_1 = __webpack_require__(22); var NodeDAO_1 = __webpack_require__(40); @@ -43100,7 +43195,7 @@ var OnmsNodeLabelSource_1 = __webpack_require__(51); var OnmsParm_1 = __webpack_require__(23); var OnmsPrimaryType_1 = __webpack_require__(52); var OnmsServiceStatusType_1 = __webpack_require__(53); -var OnmsServiceType_1 = __webpack_require__(13); +var OnmsServiceType_1 = __webpack_require__(14); var OnmsSeverity_1 = __webpack_require__(24); var OnmsSnmpInterface_1 = __webpack_require__(54); var OnmsSnmpStatusType_1 = __webpack_require__(55); @@ -43109,8 +43204,10 @@ var PhysAddr_1 = __webpack_require__(57); var AxiosHTTP_1 = __webpack_require__(58); var GrafanaHTTP_1 = __webpack_require__(201); var SuperAgentHTTP_1 = __webpack_require__(202); -var Client_1 = __webpack_require__(34); +var Client_1 = __webpack_require__(198); exports.Client = Client_1.Client; +var typescript_logging_1 = __webpack_require__(5); +var Log_1 = __webpack_require__(4); /* tslint:disable:object-literal-sort-keys */ /** @hidden */ var API = Object.freeze({ @@ -43126,7 +43223,9 @@ var API = Object.freeze({ Restriction: Restriction_1.Restriction, ServerMetadata: ServerMetadata_1.ServerMetadata, ServerType: ServerType_1.ServerType, - ServerTypes: ServerType_1.ServerTypes + ServerTypes: ServerType_1.ServerTypes, + LogLevel: typescript_logging_1.LogLevel, + setLogLevel: Log_1.setLogLevel }); exports.API = API; /** @hidden */ diff --git a/dist/opennms.js.map b/dist/opennms.js.map index b56e0f47a..7ebd9832b 100644 --- a/dist/opennms.js.map +++ b/dist/opennms.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap be327000c51da51e4f49","webpack:///./~/moment/moment.js","webpack:///./~/typescript-logging/dist/commonjs/log/LoggerOptions.js","webpack:///./src/internal/OnmsEnum.ts","webpack:///./~/axios/lib/utils.js","webpack:///./src/api/Log.ts","webpack:///./~/typescript-logging/dist/commonjs/typescript-logging.js","webpack:///./src/api/OnmsError.ts","webpack:///./~/typescript-logging/dist/commonjs/utils/DataStructures.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/api/OnmsResult.ts","webpack:///./~/source-map/lib/util.js","webpack:///./~/sprintf-js/src/sprintf.js","webpack:///./src/api/ServerType.ts","webpack:///./src/model/OnmsServiceType.ts","webpack:///./~/babel-runtime/regenerator/index.js","webpack:///./~/typescript-logging/dist/commonjs/extension/ExtensionHelper.js","webpack:///./~/typescript-logging/dist/commonjs/log/category/AbstractCategoryLogger.js","webpack:///./~/typescript-logging/dist/commonjs/log/category/CategoryService.js","webpack:///./~/typescript-logging/dist/commonjs/log/standard/AbstractLogger.js","webpack:///./~/typescript-logging/dist/commonjs/utils/MessageUtils.js","webpack:///./src/api/OnmsHTTPOptions.ts","webpack:///./src/api/OnmsVersion.ts","webpack:///./src/dao/EventDAO.ts","webpack:///./src/model/OnmsParm.ts","webpack:///./src/model/OnmsSeverity.ts","webpack:///./~/axios/lib/defaults.js","webpack:///./~/ip-address/lib/v4/constants.js","webpack:///./~/ip-address/lib/v6/constants.js","webpack:///./~/stackframe/stackframe.js","webpack:///./~/superagent/lib/is-object.js","webpack:///./src/dao/AbstractDAO.ts","webpack:///./src/internal/Util.ts","webpack:///./src/rest/AbstractHTTP.ts","webpack:///./~/typescript-logging/dist/commonjs/log/standard/LoggerFactoryService.js","webpack:///./src/Client.ts","webpack:///./src/api/Comparator.ts","webpack:///./src/api/OnmsAuthConfig.ts","webpack:///./src/api/OnmsServer.ts","webpack:///./src/api/ServerMetadata.ts","webpack:///./src/dao/AlarmDAO.ts","webpack:///./src/dao/NodeDAO.ts","webpack:///./src/dao/V1FilterProcessor.ts","webpack:///./src/model/OnmsAlarm.ts","webpack:///./src/model/OnmsAlarmType.ts","webpack:///./src/model/OnmsCategory.ts","webpack:///./src/model/OnmsCollectType.ts","webpack:///./src/model/OnmsEvent.ts","webpack:///./src/model/OnmsIpInterface.ts","webpack:///./src/model/OnmsManagedType.ts","webpack:///./src/model/OnmsMonitoredService.ts","webpack:///./src/model/OnmsNode.ts","webpack:///./src/model/OnmsNodeLabelSource.ts","webpack:///./src/model/OnmsPrimaryType.ts","webpack:///./src/model/OnmsServiceStatusType.ts","webpack:///./src/model/OnmsSnmpInterface.ts","webpack:///./src/model/OnmsSnmpStatusType.ts","webpack:///./src/model/OnmsTroubleTicketState.ts","webpack:///./src/model/PhysAddr.ts","webpack:///./src/rest/AxiosHTTP.ts","webpack:///./~/axios/lib/adapters/xhr.js","webpack:///./~/axios/lib/cancel/Cancel.js","webpack:///./~/axios/lib/cancel/isCancel.js","webpack:///./~/axios/lib/core/createError.js","webpack:///./~/axios/lib/helpers/bind.js","webpack:///./~/ip-address/lib/common.js","webpack:///./~/ip-address/lib/ipv4.js","webpack:///./~/ip-address/lib/v6/helpers.js","webpack:///./~/jsbn/index.js","webpack:///./~/lodash.padstart/index.js","webpack:///./~/lodash.repeat/index.js","webpack:///./~/moment/locale/af.js","webpack:///./~/moment/locale/ar-dz.js","webpack:///./~/moment/locale/ar-kw.js","webpack:///./~/moment/locale/ar-ly.js","webpack:///./~/moment/locale/ar-ma.js","webpack:///./~/moment/locale/ar-sa.js","webpack:///./~/moment/locale/ar-tn.js","webpack:///./~/moment/locale/ar.js","webpack:///./~/moment/locale/az.js","webpack:///./~/moment/locale/be.js","webpack:///./~/moment/locale/bg.js","webpack:///./~/moment/locale/bn.js","webpack:///./~/moment/locale/bo.js","webpack:///./~/moment/locale/br.js","webpack:///./~/moment/locale/bs.js","webpack:///./~/moment/locale/ca.js","webpack:///./~/moment/locale/cs.js","webpack:///./~/moment/locale/cv.js","webpack:///./~/moment/locale/cy.js","webpack:///./~/moment/locale/da.js","webpack:///./~/moment/locale/de-at.js","webpack:///./~/moment/locale/de-ch.js","webpack:///./~/moment/locale/de.js","webpack:///./~/moment/locale/dv.js","webpack:///./~/moment/locale/el.js","webpack:///./~/moment/locale/en-au.js","webpack:///./~/moment/locale/en-ca.js","webpack:///./~/moment/locale/en-gb.js","webpack:///./~/moment/locale/en-ie.js","webpack:///./~/moment/locale/en-nz.js","webpack:///./~/moment/locale/eo.js","webpack:///./~/moment/locale/es-do.js","webpack:///./~/moment/locale/es.js","webpack:///./~/moment/locale/et.js","webpack:///./~/moment/locale/eu.js","webpack:///./~/moment/locale/fa.js","webpack:///./~/moment/locale/fi.js","webpack:///./~/moment/locale/fo.js","webpack:///./~/moment/locale/fr-ca.js","webpack:///./~/moment/locale/fr-ch.js","webpack:///./~/moment/locale/fr.js","webpack:///./~/moment/locale/fy.js","webpack:///./~/moment/locale/gd.js","webpack:///./~/moment/locale/gl.js","webpack:///./~/moment/locale/gom-latn.js","webpack:///./~/moment/locale/he.js","webpack:///./~/moment/locale/hi.js","webpack:///./~/moment/locale/hr.js","webpack:///./~/moment/locale/hu.js","webpack:///./~/moment/locale/hy-am.js","webpack:///./~/moment/locale/id.js","webpack:///./~/moment/locale/is.js","webpack:///./~/moment/locale/it.js","webpack:///./~/moment/locale/ja.js","webpack:///./~/moment/locale/jv.js","webpack:///./~/moment/locale/ka.js","webpack:///./~/moment/locale/kk.js","webpack:///./~/moment/locale/km.js","webpack:///./~/moment/locale/kn.js","webpack:///./~/moment/locale/ko.js","webpack:///./~/moment/locale/ky.js","webpack:///./~/moment/locale/lb.js","webpack:///./~/moment/locale/lo.js","webpack:///./~/moment/locale/lt.js","webpack:///./~/moment/locale/lv.js","webpack:///./~/moment/locale/me.js","webpack:///./~/moment/locale/mi.js","webpack:///./~/moment/locale/mk.js","webpack:///./~/moment/locale/ml.js","webpack:///./~/moment/locale/mr.js","webpack:///./~/moment/locale/ms-my.js","webpack:///./~/moment/locale/ms.js","webpack:///./~/moment/locale/my.js","webpack:///./~/moment/locale/nb.js","webpack:///./~/moment/locale/ne.js","webpack:///./~/moment/locale/nl-be.js","webpack:///./~/moment/locale/nl.js","webpack:///./~/moment/locale/nn.js","webpack:///./~/moment/locale/pa-in.js","webpack:///./~/moment/locale/pl.js","webpack:///./~/moment/locale/pt-br.js","webpack:///./~/moment/locale/pt.js","webpack:///./~/moment/locale/ro.js","webpack:///./~/moment/locale/ru.js","webpack:///./~/moment/locale/sd.js","webpack:///./~/moment/locale/se.js","webpack:///./~/moment/locale/si.js","webpack:///./~/moment/locale/sk.js","webpack:///./~/moment/locale/sl.js","webpack:///./~/moment/locale/sq.js","webpack:///./~/moment/locale/sr-cyrl.js","webpack:///./~/moment/locale/sr.js","webpack:///./~/moment/locale/ss.js","webpack:///./~/moment/locale/sv.js","webpack:///./~/moment/locale/sw.js","webpack:///./~/moment/locale/ta.js","webpack:///./~/moment/locale/te.js","webpack:///./~/moment/locale/tet.js","webpack:///./~/moment/locale/th.js","webpack:///./~/moment/locale/tl-ph.js","webpack:///./~/moment/locale/tlh.js","webpack:///./~/moment/locale/tr.js","webpack:///./~/moment/locale/tzl.js","webpack:///./~/moment/locale/tzm-latn.js","webpack:///./~/moment/locale/tzm.js","webpack:///./~/moment/locale/uk.js","webpack:///./~/moment/locale/ur.js","webpack:///./~/moment/locale/uz-latn.js","webpack:///./~/moment/locale/uz.js","webpack:///./~/moment/locale/vi.js","webpack:///./~/moment/locale/x-pseudo.js","webpack:///./~/moment/locale/yo.js","webpack:///./~/moment/locale/zh-cn.js","webpack:///./~/moment/locale/zh-hk.js","webpack:///./~/moment/locale/zh-tw.js","webpack:///./~/source-map/lib/array-set.js","webpack:///./~/source-map/lib/base64-vlq.js","webpack:///./~/source-map/lib/source-map-generator.js","webpack:///./~/typescript-logging/dist/commonjs/log/category/CategoryConsoleLoggerImpl.js","webpack:///./~/typescript-logging/dist/commonjs/log/category/CategoryDelegateLoggerImpl.js","webpack:///./~/typescript-logging/dist/commonjs/log/category/CategoryMessageBufferImpl.js","webpack:///./~/typescript-logging/dist/commonjs/log/standard/ConsoleLoggerImpl.js","webpack:///./~/typescript-logging/dist/commonjs/log/standard/MessageBufferLoggerImpl.js","webpack:///./~/urijs/src/IPv6.js","webpack:///./~/urijs/src/SecondLevelDomains.js","webpack:///./~/urijs/src/URI.js","webpack:///./~/urijs/src/punycode.js","webpack:///./~/util-deprecate/browser.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./src/api/Filter.ts","webpack:///./src/api/Restriction.ts","webpack:///./src/rest/GrafanaHTTP.ts","webpack:///./src/rest/SuperAgentHTTP.ts","webpack:///./~/axios/index.js","webpack:///./~/axios/lib/axios.js","webpack:///./~/axios/lib/cancel/CancelToken.js","webpack:///./~/axios/lib/core/Axios.js","webpack:///./~/axios/lib/core/InterceptorManager.js","webpack:///./~/axios/lib/core/dispatchRequest.js","webpack:///./~/axios/lib/core/enhanceError.js","webpack:///./~/axios/lib/core/settle.js","webpack:///./~/axios/lib/core/transformData.js","webpack:///./~/axios/lib/helpers/btoa.js","webpack:///./~/axios/lib/helpers/buildURL.js","webpack:///./~/axios/lib/helpers/combineURLs.js","webpack:///./~/axios/lib/helpers/cookies.js","webpack:///./~/axios/lib/helpers/isAbsoluteURL.js","webpack:///./~/axios/lib/helpers/isURLSameOrigin.js","webpack:///./~/axios/lib/helpers/normalizeHeaderName.js","webpack:///./~/axios/lib/helpers/parseHeaders.js","webpack:///./~/axios/lib/helpers/spread.js","webpack:///./~/component-emitter/index.js","webpack:///./~/error-stack-parser/error-stack-parser.js","webpack:///./~/ip-address/ip-address.js","webpack:///./~/ip-address/lib/ipv6.js","webpack:///./~/ip-address/lib/v6/attributes.js","webpack:///./~/ip-address/lib/v6/html.js","webpack:///./~/ip-address/lib/v6/regular-expressions.js","webpack:///./~/is-buffer/index.js","webpack:///./~/lodash.find/index.js","webpack:///./~/lodash.max/index.js","webpack:///./~/lodash.merge/index.js","webpack:///./~/regenerator-runtime/runtime-module.js","webpack:///./~/regenerator-runtime/runtime.js","webpack:///./~/source-map/lib/base64.js","webpack:///./~/source-map/lib/binary-search.js","webpack:///./~/source-map/lib/mapping-list.js","webpack:///./~/source-map/lib/quick-sort.js","webpack:///./~/source-map/lib/source-map-consumer.js","webpack:///./~/source-map/lib/source-node.js","webpack:///./~/source-map/source-map.js","webpack:///./~/stack-generator/stack-generator.js","webpack:///./~/stacktrace-gps/stacktrace-gps.js","webpack:///./~/stacktrace-js/stacktrace.js","webpack:///./~/superagent/lib/client.js","webpack:///./~/superagent/lib/is-function.js","webpack:///./~/superagent/lib/request-base.js","webpack:///./~/superagent/lib/response-base.js","webpack:///./~/superagent/lib/should-retry.js","webpack:///./~/superagent/lib/utils.js","webpack:///./src/API.ts","webpack:///./src/internal/UUID.ts","webpack:///./src/model/OnmsNodeType.ts","webpack:///./~/typescript-logging/dist/commonjs/control/CategoryServiceControl.js","webpack:///./~/typescript-logging/dist/commonjs/control/LogGroupControl.js","webpack:///./~/typescript-logging/dist/commonjs/log/category/CategoryExtensionLoggerImpl.js","webpack:///./~/typescript-logging/dist/commonjs/log/category/CategoryLogger.js","webpack:///./~/typescript-logging/dist/commonjs/log/standard/LoggerFactoryImpl.js","webpack:///./~/typescript-logging/dist/commonjs/utils/JSONHelper.js","webpack:///./~/version_compare/version_compare.js","webpack:///./~/x2js/x2js.js","webpack:///./~/moment/locale ^\\.\\/.*$"],"names":["global","factory","exports","module","moment","hookCallback","hooks","apply","arguments","setHookCallback","callback","isArray","input","Array","Object","prototype","toString","call","isObject","isObjectEmpty","obj","k","isUndefined","isNumber","isDate","Date","map","arr","fn","res","i","length","push","hasOwnProp","a","b","hasOwnProperty","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","m","_pf","some","fun","t","len","some$1","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","bigHour","undefined","isFrozen","createInvalid","NaN","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","args","arg","key","slice","join","Error","stack","deprecations","deprecateSimple","name","isFunction","Function","set","_config","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","source","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","keys","keys$1","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","now","output","_calendar","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","longDateFormat","_longDateFormat","formatUpper","toUpperCase","replace","defaultInvalidDate","invalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","ordinal","_ordinal","defaultRelativeTime","future","past","s","ss","mm","h","hh","d","dd","M","MM","y","yy","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedInput","normalizedProp","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","get","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","func","localeData","removeFormattingTokens","match","makeFormatFunction","array","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","indexOf","o","indexOf$1","daysInMonth","year","month","UTC","getUTCDate","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","localeMonths","_months","isFormat","defaultLocaleMonthsShort","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","date","getSetMonth","getDaysInMonth","defaultMonthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","parseTwoDigitYear","parseInt","daysInYear","isLeapYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","localWeekday","weekOffset","dayOfYear","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","parseWeekday","parseIsoWeekday","defaultLocaleWeekdays","localeWeekdays","_weekdays","day","defaultLocaleWeekdaysShort","localeWeekdaysShort","_weekdaysShort","defaultLocaleWeekdaysMin","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","defaultWeekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minPieces","minp","shortp","longp","hFormat","hours","kFormat","minutes","seconds","lowercase","matchMeridiem","_meridiemParse","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","localeIsPM","charAt","defaultLocaleMeridiemParse","localeMeridiem","isLower","getSetHour","baseConfig","dayOfMonthOrdinalParse","meridiemParse","locales","localeFamilies","globalLocale","normalizeLocale","chooseLocale","names","j","next","loadLocale","oldLocale","_abbr","require","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","parentLocale","forEach","x","updateLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","l","exec","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","basicRfcRegex","configFromRFC2822","dayFormat","timezones","military","timezone","timezoneIndex","momentDate","momentDay","splice","configFromString","createFromInputFallback","_useUTC","defaults","c","currentDateArray","nowValue","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","curWeek","gg","ISO_8601","RFC_2822","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","chunkOffset","matcher","matches","chunk","parts","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","invalid","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","delta","monthDiff","wholeMonthDiff","anchor","anchor2","adjust","defaultFormat","defaultFormatUtc","toISOString","toDate","inspect","zone","prefix","datetime","suffix","inputString","postformat","humanize","fromNow","toNow","newLocaleData","lang","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","isoWeekYear","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","parseMs","getSetMillisecond","getZoneAbbr","getZoneName","proto","isoWeeks","isoWeeksInYear","parseZone","isDST","zoneAbbr","zoneName","dates","isDSTShifted","createUnix","createInZone","preParsePostFormat","proto$1","firstDayOfYear","firstDayOfWeek","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","abs$1","toISOString$1","Y","D","total","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","LogLevel","fromString","Trace","Debug","Info","Warn","Fatal","LoggerType","DateFormatEnum","Default","YearMonthDayTime","YearDayMonthWithFullTime","YearDayMonthTime","DateFormat","formatEnum","dateSeparator","_formatEnum","_dateSeparator","defineProperty","enumerable","configurable","copy","LogFormat","showTimeStamp","showLoggerName","_showTimeStamp","_showLoggerName","_dateFormat","CategoryLogFormat","showCategoryName","_showCategoryName","bind","isBuffer","isArrayBuffer","isFormData","FormData","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","isStandardBrowserEnv","navigator","product","window","document","merge","assignValue","thisArg","__export","p","LogGroupControl_1","CategoryServiceControl_1","ExtensionHelper_1","ExtensionHelper","AbstractCategoryLogger_1","AbstractCategoryLogger","CategoryConsoleLoggerImpl_1","CategoryConsoleLoggerImpl","CategoryDelegateLoggerImpl_1","CategoryDelegateLoggerImpl","CategoryLogger_1","Category","CategoryMessageBufferImpl_1","CategoryMessageBufferLoggerImpl","CategoryService_1","CategoryDefaultConfiguration","CategoryRuntimeSettings","CategoryServiceFactory","LoggerFactoryService_1","LoggerFactoryOptions","LFService","LogGroupRule","AbstractLogger_1","AbstractLogger","ConsoleLoggerImpl_1","ConsoleLoggerImpl","MessageBufferLoggerImpl_1","MessageBufferLoggerImpl","LoggerOptions_1","DataStructures_1","SimpleMap","LinkedList","MessageUtils_1","MessageFormatUtils","help","log","getLogControl","LoggerControlImpl","getCategoryControl","CategoryServiceControlImpl","LinkedNode","_previous","_next","_value","head","size","addHead","createHeadIfNeeded","nextNode","newHeadNode","previous","addTail","oldTailNode","getTailNode","newTailNode","clear","getHead","removeHead","oldHead","getTail","node","removeTail","previousNode","getSize","filter","f","recurse","put","exists","remove","isEmpty","cbFunction","TuplePair","_x","_y","StringBuilder","append","line","appendLine","webpackPolyfill","paths","children","getArg","aArgs","aName","aDefaultValue","urlRegexp","dataUrlRegexp","urlParse","aUrl","scheme","auth","host","port","path","urlGenerate","aParsedUrl","url","normalize","aPath","isAbsolute","part","up","aRoot","aPathUrl","aRootUrl","joined","relative","level","lastIndexOf","supportsNullProto","create","identity","toSetString","aStr","isProtoString","fromSetString","charCodeAt","compareByOriginalPositions","mappingA","mappingB","onlyCompareOriginal","cmp","originalLine","originalColumn","generatedColumn","generatedLine","compareByGeneratedPositionsDeflated","onlyCompareGenerated","strcmp","aStr1","aStr2","compareByGeneratedPositionsInflated","re","not_string","not_bool","not_type","not_primitive","numeric_arg","json","not_json","text","modulo","placeholder","key_access","index_access","sprintf","sprintf_format","sprintf_parse","vsprintf","fmt","argv","concat","parse_tree","cursor","tree_length","pad","pad_character","pad_length","is_positive","TypeError","String","fromCharCode","JSON","stringify","toExponential","toFixed","Number","toPrecision","substring","repeat","sprintf_cache","_fmt","arg_names","field_list","replacement_field","field_match","SyntaxError","define","register","registered","listener","evt","processMessageFromExtension","removeEventListener","addEventListener","type","enableExtensionIntegration","valueRequest","catsApplied","applyLogLevel","categoryId","logLevel","recursive","sendCategoriesRuntimeUpdateMessage","sendCategoryLogMessage","categoryIds","getCategories","cat","id","content","categories","errorAsStack","getErrorAsStack","formattedMessage","renderDefaultMessage","getLevel","message","getMessage","resolvedErrorMessage","isResolvedErrorMessage","sendMessage","service","CategoryServiceImpl","getInstance","catLevels","catSettings","getCategorySettings","sendRootCategoriesToExtension","getRootCategories","getCategoryAsJSON","childCategories","child","parentId","parent","cats","category","getCategoryById","_applyLogLevelRecursive","categorySettings","getAllCategories","addCats","allCats","catChild","postMessage","instance","CategoryLogMessageImpl","error","logFormat","ready","_resolvedErrorMessage","_errorAsStack","_message","_error","_categories","_date","_level","_logFormat","_ready","setErrorAsStack","getError","getLogFormat","isReady","setReady","rootCategory","runtimeSettings","allMessages","trace","_log","debug","info","fatal","resolved","tracec","_logc","debugc","infoc","warnc","errorc","fatalc","resolvedc","logc","getRootCategory","createDefaultLogMessage","_logInternal","_this","logCategories","_loop_1","settings","this_1","getCategoryPath","actualError","logMessage","processMessages","logMessage_1","renderError","then","state_1","msgs","doLog","CategoryExtensionLoggerImpl_1","loggerType","callBackLogger","Console","_category","_logLevel","_loggerType","_callBackLogger","Custom","_defaultConfig","_rootCategories","_categoryRuntimeSettings","_categoryOriginalRuntimeSettings","_rootLoggers","_INSTANCE","getLogger","root","rootCategoryExists","pair","logger","createRootLogger","setDefaultConfiguration","getOriginalCategorySettings","reset","newRuntimeSettings_1","newOriginalRuntimeSettings_1","setting","defSettings","defSettingsOriginal","settingsOriginal","delegate","setConfigurationCategory","applyChildren","resetRootLogger","tupleLogger","registerCategory","initializeRuntimeSettingsForCategory","delegateLogger","CategoryExtensionLoggerImpl","MessageBuffer","getRuntimeSettings","LogMessageInternalImpl","loggerName","logGroupRule","_loggerName","_logGroupRule","logGroupRuntimeSettings","_allMessages","_open","_name","_logGroupRuntimeSettings","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","getLogLevel","isOpen","close","renderDefaultLog4jMessage","createMessage","message_1","ST","renderDate","lpad","chars","padWith","howMany","fullYear","getHours","getMinutes","getSeconds","millis","getMilliseconds","ds","addStack","idx","Promise","resolve","fromError","offline","frames","stackStr","frame","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","getDefaultAdapter","adapter","XMLHttpRequest","process","transformRequest","transformResponse","parse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","forEachMethodNoData","method","forEachMethodWithData","BITS","GROUPS","RE_ADDRESS","RE_SUBNET_STRING","SCOPES","TYPES","RE_BAD_CHARACTERS","RE_BAD_ADDRESS","RE_ZONE_STRING","RE_URL","RE_URL_WITH_PORT","StackFrame","_isNumber","n","functionName","fileName","lineNumber","columnNumber","setFunctionName","setArgs","setFileName","setLineNumber","setColumnNumber","setSource","getFunctionName","v","getArgs","getFileName","getLineNumber","getColumnNumber","getSource","LoggerFactoryImpl_1","regExp","_regExp","_logGroupRules","_enabled","addLogGroupRule","rule","setEnabled","enabled","LogGroupRuntimeSettings","LFServiceImpl","_nameCounter","_mapFactories","createLoggerFactory","options","createNamedLoggerFactory","LoggerFactoryImpl","createDefaultOptions","closeLoggers","getRuntimeSettingsForLoggerFactories","getLogGroupSettings","nameLoggerFactory","idLogGroupRule","getLogGroupRuntimeSettingsByIndex","getLoggerFactoryRuntimeSettingsByName","INSTANCE_SERVICE","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","xhrAdapter","dispatchXhrRequest","reject","requestData","requestHeaders","request","loadEvent","xDomain","env","NODE_ENV","XDomainRequest","onprogress","handleProgress","ontimeout","handleTimeout","username","password","Authorization","open","params","paramsSerializer","handleLoad","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","response","statusText","onerror","handleError","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","onCanceled","cancel","abort","send","Cancel","__CANCEL__","isCancel","enhanceError","code","wrap","falseIfInvalid","valid","isInSubnet","address","subnetMask","mask","isCorrect","defaultBits","addressMinusSuffix","correctForm","parsedSubnet","BigInteger","padStart","constants","Address4","groups","v4","subnet","parsedAddress","fromHex","hex","fromInteger","integer","toHex","toGroup6","toV6Group","bigInteger","startAddress","fromBigInteger","endAddress","optionalMask","getBitsBase2","start","end","binaryZeroPad","spanAllZeroes","spanAll","optionalOffset","letters","spanLeadingZeroesSimple","group","spanLeadingZeroes","g","simpleGroup","addressString","dbits","canary","j_lm","fromNumber","nbi","am1","am2","xl","xh","am3","inBrowser","appName","am","DB","DM","DV","BI_FP","FV","F1","F2","BI_RM","BI_RC","rr","vv","int2char","intAt","bnpCopyTo","r","bnpFromInt","nbv","fromInt","bnpFromString","fromRadix","mi","sh","clamp","ZERO","subTo","bnpClamp","bnToString","negate","toRadix","km","bnNegate","bnAbs","bnCompareTo","nbits","bnBitLength","bnpDLShiftTo","bnpDRShiftTo","bnpLShiftTo","bs","cbs","bm","bnpRShiftTo","bnpSubTo","bnpMultiplyTo","bnpSquareTo","bnpDivRemTo","q","pm","pt","copyTo","ts","nsh","lShiftTo","ys","y0","yt","d1","d2","dlShiftTo","compareTo","ONE","qd","drShiftTo","rShiftTo","bnMod","divRemTo","Classic","cConvert","mod","cRevert","cReduce","cMulTo","multiplyTo","reduce","cSqrTo","squareTo","convert","revert","mulTo","sqrTo","bnpInvDigit","Montgomery","mp","invDigit","mpl","mph","um","mt2","montConvert","montRevert","montReduce","u0","montSqrTo","montMulTo","bnpIsEven","bnpExp","z","r2","bnModPowInt","isEven","exp","bitLength","modPowInt","bnClone","bnIntValue","bnByteValue","bnShortValue","bnpChunkSize","LN2","bnSigNum","bnpToRadix","signum","cs","chunkSize","intValue","bnpFromRadix","dMultiply","dAddOffset","bnpFromNumber","testBit","bitwiseTo","shiftLeft","op_or","isProbablePrime","nextBytes","bnToByteArray","bnEquals","bnMin","bnMax","bnpBitwiseTo","op","op_and","bnAnd","bnOr","op_xor","bnXor","op_andnot","bnAndNot","bnNot","bnShiftLeft","bnShiftRight","lbit","bnGetLowestSetBit","cbit","bnBitCount","bnTestBit","bnpChangeBit","bnSetBit","changeBit","bnClearBit","bnFlipBit","bnpAddTo","bnAdd","addTo","bnSubtract","bnMultiply","bnSquare","bnDivide","bnRemainder","bnDivideAndRemainder","bnpDMultiply","bnpDAddOffset","NullExp","nNop","nMulTo","nSqrTo","bnPow","bnpMultiplyLowerTo","bnpMultiplyUpperTo","Barrett","q3","mu","divide","barrettConvert","barrettRevert","barrettReduce","multiplyUpperTo","multiplyLowerTo","barrettSqrTo","barrettMulTo","bnModPow","k1","g2","is1","bnGCD","getLowestSetBit","bnpModInt","bnModInverse","ac","lowprimes","lplim","bnIsProbablePrime","modInt","millerRabin","bnpMillerRabin","n1","shiftRight","random","modPow","byteValue","shortValue","toByteArray","equals","and","or","xor","andNot","not","bitCount","setBit","clearBit","flipBit","multiply","remainder","divideAndRemainder","modInverse","gcd","square","rng_state","rng_pool","rng_pptr","rng_seed_int","rng_psize","rng_seed_time","crypto","getRandomValues","ua","Uint8Array","appVersion","rng_get_byte","prng_newstate","init","rng_get_bytes","ba","SecureRandom","Arcfour","S","ARC4init","ARC4next","INFINITY","MAX_SAFE_INTEGER","MAX_INTEGER","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","rsAstralRange","rsComboMarksRange","rsComboSymbolsRange","rsVarRange","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsZWJ","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","reHasUnicode","freeParseInt","freeGlobal","freeSelf","self","asciiSize","baseProperty","asciiToArray","object","hasUnicode","stringSize","unicodeSize","stringToArray","unicodeToArray","objectProto","objectToString","Symbol","nativeCeil","nativeFloor","symbolProto","symbolToString","baseRepeat","baseSlice","baseToString","isSymbol","castSlice","createPadding","charsLength","isObjectLike","toFinite","toNumber","toInteger","isBinary","strLength","funcTag","genTag","reIsUint","isIndex","isIterateeCall","isArrayLike","eq","isLength","tag","guard","af","arDz","weekdaysParseExact","arKw","symbolMap","pluralForm","plurals","pluralize","arLy","arMa","numberMap","arSa","arTn","ar","suffixes","az","plural","word","num","forms","relativeTimeWithPlural","be","standalone","bg","lastDigit","last2Digits","bn","bo","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","br","translate","monthsParseExact","ca","ll","lll","llll","shortMonthsParse","longMonthsParse","cv","affix","cy","lookup","da","processRelativeTime","deAt","deCh","de","dv","el","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsNominativeEl","_monthsGenitiveEl","calendarEl","_calendarEl","enAu","enCa","enGb","enIe","enNz","eo","monthsShortDot","esDo","es","et","eu","fa","numbersPast","numbersFuture","verbalNumber","fi","fo","frCa","frCh","fr","monthsShortWithDots","monthsShortWithoutDots","fy","gd","gl","gomLatn","he","hi","hr","weekEndings","hu","hyAm","is","it","ja","jv","ka","kk","kn","ko","isUpper","ky","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","firstDigit","lb","lo","translateSeconds","translateSingular","special","lt","relativeTimeWithSingular","relativeSeconds","lv","translator","words","correctGrammaticalCase","wordKey","me","lastWeekDays","monthsStrictRegex","monthsShortStrictRegex","mk","ml","relativeTimeMr","mr","msMy","my","nb","ne","nlBe","nl","nn","paIn","monthsNominative","monthsSubjective","pl","ptBr","ro","ru","sd","se","si","sk","sl","sq","srCyrl","sr","sv","sw","ta","te","tet","th","tlPh","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","tlh","tr","tzl","tzmLatn","tzm","weekdaysCaseReplace","nounCase","processHoursFunction","uk","ur","uzLatn","uz","vi","xPseudo","yo","zhCn","hm","zhHk","zhTw","util","has","ArraySet","_array","_set","fromArray","ArraySet_fromArray","aArray","aAllowDuplicates","ArraySet_size","getOwnPropertyNames","ArraySet_add","sStr","isDuplicate","ArraySet_has","ArraySet_indexOf","at","ArraySet_at","aIdx","ArraySet_toArray","base64","VLQ_BASE_SHIFT","VLQ_BASE","VLQ_BASE_MASK","VLQ_CONTINUATION_BIT","toVLQSigned","aValue","fromVLQSigned","isNegative","shifted","encode","base64VLQ_encode","encoded","digit","vlq","decode","base64VLQ_decode","aIndex","aOutParam","strLen","continuation","rest","base64VLQ","MappingList","SourceMapGenerator","_file","_sourceRoot","_skipValidation","_sources","_names","_mappings","_sourcesContents","_version","fromSourceMap","SourceMapGenerator_fromSourceMap","aSourceMapConsumer","sourceRoot","generator","file","eachMapping","mapping","newMapping","generated","column","original","addMapping","sources","sourceFile","sourceContentFor","setSourceContent","SourceMapGenerator_addMapping","_validateMapping","SourceMapGenerator_setSourceContent","aSourceFile","aSourceContent","applySourceMap","SourceMapGenerator_applySourceMap","aSourceMapPath","newSources","newNames","unsortedForEach","originalPositionFor","SourceMapGenerator_validateMapping","aGenerated","aOriginal","aSource","_serializeMappings","SourceMapGenerator_serializeMappings","previousGeneratedColumn","previousGeneratedLine","previousOriginalColumn","previousOriginalLine","previousName","previousSource","nameIdx","sourceIdx","mappings","_generateSourcesContent","SourceMapGenerator_generateSourcesContent","aSources","aSourceRoot","SourceMapGenerator_toJSON","sourcesContent","SourceMapGenerator_toString","__extends","__","constructor","_super","fullMsg","logged","_delegate","messages","getMessages","IPv6","_IPv6","bestPresentation","_address","segments","pop","_segments","best","_best","_current","current","inzeroes","noConflict","SecondLevelDomains","_SecondLevelDomains","SLD","list","domain","tldOffset","sldOffset","sldList","URI","punycode","_URI","_urlSupplied","_baseSupplied","location","href","absoluteTo","hasOwn","escapeRegEx","getType","filterArrayValues","_match","arrayContains","_type","arraysEqual","two","trimSlashes","trim_expression","_parts","protocol","hostname","urn","query","fragment","duplicateQueryParameters","escapeQuerySpace","protocol_expression","idn_expression","punycode_expression","ip4_expression","ip6_expression","find_uri_expression","findUri","parens","defaultPorts","http","https","ftp","gopher","ws","wss","invalid_hostname_characters","domAttributes","getDomAttribute","nodeName","escapeForDumbFirefox36","escape","strictEncodeURIComponent","encodeURIComponent","decodeURIComponent","iso8859","unescape","unicode","characters","pathname","expression","reserved","urnpath","encodeQuery","escaped","decodeQuery","_part","generateAccessor","_group","generateSegmentedPathFunction","_sep","_codingFuncName","_innerCodingFuncName","actualCodingFunc","decodePath","decodeUrnPath","recodePath","recodeUrnPath","encodeReserved","parseAuthority","parseHost","bracketPos","firstColon","firstSlash","nextColon","parseUserinfo","parseQuery","items","splits","build","buildAuthority","buildHost","buildUserinfo","buildQuery","unique","buildQueryParameter","addQuery","removeQuery","hasQuery","withinArray","_key","_booly","Boolean","joinPaths","nonEmptySegments","segment","uri","commonPath","withinString","_start","_end","_trim","_parens","_attributeOpen","ignoreHtml","attributeOpen","search","parensEnd","parensMatch","parensMatchEnd","ignore","ensureValidHostname","toASCII","removeAll","unconflicted","URITemplate","deferBuild","_deferred_build","_string","generateSimpleAccessor","generatePrefixAccessor","hash","_object","attribute","src","what","ip","ip4","ip6","sld","idn","_protocol","_port","_hostname","origin","authority","userinfo","resource","subdomain","sub","tld","ReferenceError","directory","filename","decodePathSegment","mutatedDirectory","normalizePath","absolute","unshift","segmentCoded","setQuery","setSearch","addSearch","removeSearch","hasSearch","normalizeProtocol","normalizeQuery","normalizeFragment","normalizeHostname","normalizePort","_path","_was_relative","_leadingParents","_parent","_pos","normalizePathname","normalizeSearch","normalizeHash","readable","toUnicode","qp","kv","properties","basedir","relativeTo","relativeParts","baseParts","relativePath","basePath","parents","one_map","two_map","checked","one_query","two_query","freeExports","nodeType","freeModule","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","RangeError","mapDomain","labels","ucs2decode","counter","extra","ucs2encode","basicToDigit","codePoint","digitToBasic","flag","adapt","numPoints","inputLength","bias","basic","oldi","baseMinusT","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","warned","deprecated","localStorage","_","Axios","createInstance","defaultConfig","context","axios","instanceConfig","CancelToken","all","promises","spread","default","executor","resolvePromise","promiseExecutor","reason","throwIfRequested","InterceptorManager","dispatchRequest","isAbsoluteURL","combineURLs","interceptors","baseURL","chain","unshiftRequestInterceptors","interceptor","fulfilled","rejected","pushResponseInterceptors","handlers","use","eject","forEachHandler","transformData","throwIfCancellationRequested","cleanHeaderConfig","onAdapterResolution","onAdapterRejection","fns","transform","block","charCode","serializedParams","serialize","parseValue","relativeURL","standardBrowserEnv","write","expires","secure","cookie","toGMTString","nonStandardBrowserEnv","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","setAttribute","requestURL","parsed","normalizedName","processHeader","parser","Emitter","mixin","on","event","_callbacks","once","off","removeListener","removeAllListeners","callbacks","cb","emit","listeners","hasListeners","ErrorStackParser","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","_map","_filter","_indexOf","target","ErrorStackParser$$parse","stacktrace","parseOpera","parseV8OrIE","parseFFOrSafari","extractLocation","ErrorStackParser$$extractLocation","urlLike","ErrorStackParser$$parseV8OrIE","filtered","locationParts","ErrorStackParser$$parseFFOrSafari","ErrorStackParser$$parseOpera","parseOpera9","parseOpera10","parseOpera11","ErrorStackParser$$parseOpera9","lineRE","lines","ErrorStackParser$$parseOpera10","ErrorStackParser$$parseOpera11","functionCall","argsRaw","Address6","v6","helpers","find","constants4","constants6","addCommas","spanLeadingZeroes4","optionalGroups","fromURL","fromAddress4","address4","mask6","fromArpa","arpaFormAddress","semicolonAmount","reverse","insertIndex","compact","s1","s2","microsoftTranscription","possibleSubnets","optionalSubnetSize","availableBits","subnetBits","subnetPowers","getScope","scope","getBits","isType","getBitsBase16","getBitsPastSubnet","reverseForm","reversed","canonicalForm","omitSuffix","zeroCounter","zeroes","zeroLengths","correct","parse4in6","lastGroup","temp4","parseError","badCharacters","badAddress","halves","first","last","remaining","elidedGroups","elisionBegin","elisionEnd","paddedHex","octet","decimal","to4","binary","tov4","to4in6","address6","infix","v4inv6","inspectTeredo","udpPort","server4","client4","flagsBase2","coneNat","groupIndividual","universalLocal","nonce","microsoft","teredo","inspect6to4","gateway","six2four","to6to4","is4","addr6to4","get6to4","byteArray","unsignByte","toUnsignedByteArray","fromByteArray","bytes","fromUnsignedByteArray","BYTE_MAX","multiplier","isCanonical","isLinkLocal","isMulticast","isTeredo","is6to4","isLoopback","optionalPort","link","className","formFunction","classes","groupPossibilities","possibilities","padGroup","simpleRegularExpression","zeroIndexes","groupInteger","zeroIndex","elision","possibleElisions","moreLeft","moreRight","left","right","position","regularExpressionString","optionalSubString","regularExpression","optionalSubstring","isSlowBuffer","_isBuffer","readFloatLE","LARGE_ARRAY_SIZE","FUNC_ERROR_TEXT","HASH_UNDEFINED","UNORDERED_COMPARE_FLAG","PARTIAL_COMPARE_FLAG","argsTag","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reRegExpChar","reEscapeChar","reIsHostCtor","typedArrayTags","moduleExports","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","predicate","baseFindIndex","fromIndex","fromRight","baseTimes","iteratee","baseUnary","getValue","isHostObject","mapToArray","overArg","setToArray","arrayProto","funcProto","coreJsData","maskSrcKey","uid","IE_PROTO","funcToString","reIsNative","propertyIsEnumerable","nativeKeys","nativeMax","DataView","getNative","Map","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolValueOf","Hash","entries","entry","hashClear","__data__","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","cache","pairs","arrayLikeKeys","inherited","isArguments","skipIndexes","baseGet","isKey","castPath","toKey","baseGetTag","baseHasIn","baseIsEqual","customizer","bitmask","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMatch","matchData","noCustomizer","objValue","srcValue","baseIsNative","isMasked","pattern","baseIsTypedArray","baseIteratee","baseMatchesProperty","baseMatches","property","baseKeys","isPrototype","getMatchData","matchesStrictComparable","isStrictComparable","hasIn","basePropertyDeep","stringToPath","createFind","findIndexFunc","collection","iterable","isPartial","arrLength","othLength","stacked","seen","arrValue","othValue","compared","othIndex","byteLength","byteOffset","objProps","objLength","othProps","skipCtor","objCtor","othCtor","isKeyable","Ctor","ctorString","hasPath","hasFunc","memoize","quote","findIndex","resolver","memoized","Cache","isArrayLikeObject","defaultValue","baseExtremum","comparator","computed","baseGt","reFlags","cloneableTags","addMapEntry","addSetEntry","arrayEach","arrayPush","arrayReduce","accumulator","initAccum","objectCtorString","Buffer","getPrototype","getPrototypeOf","objectCreate","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","assignMergeValue","baseAssign","copyObject","baseClone","isDeep","isFull","isArr","initCloneArray","copyArray","isFunc","cloneBuffer","initCloneObject","copySymbols","initCloneByTag","props","getAllKeys","subValue","baseCreate","baseGetAllKeys","keysFunc","symbolsFunc","baseKeysIn","nativeKeysIn","isProto","baseMerge","srcIndex","baseMergeDeep","newValue","mergeFunc","isCommon","isPlainObject","toPlainObject","baseRest","otherArgs","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","cloneMap","cloneFunc","cloneRegExp","regexp","cloneSet","cloneSymbol","symbol","cloneTypedArray","typedArray","getSymbols","createAssigner","assigner","stubArray","stubFalse","keysIn","hadRuntime","regeneratorRuntime","oldRuntime","Op","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","runtime","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","makeInvokeMethod","tryCatch","err","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","displayName","defineIteratorMethods","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","invoke","record","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","done","state","doneResult","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","skipTempReset","prev","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","intToCharMap","bigA","bigZ","littleA","littleZ","zero","nine","plus","slash","littleOffset","numberOffset","GREATEST_LOWER_BOUND","LEAST_UPPER_BOUND","recursiveSearch","aLow","aHigh","aNeedle","aHaystack","aCompare","aBias","mid","generatedPositionAfter","lineA","lineB","columnA","columnB","_sorted","_last","MappingList_forEach","aCallback","aThisArg","MappingList_add","aMapping","MappingList_toArray","swap","ary","randomIntInRange","low","high","doQuickSort","pivotIndex","pivot","quickSort","binarySearch","SourceMapConsumer","aSourceMap","sourceMap","sections","IndexedSourceMapConsumer","BasicSourceMapConsumer","__generatedMappings","_parseMappings","__originalMappings","_charIsMappingSeparator","SourceMapConsumer_charIsMappingSeparator","SourceMapConsumer_parseMappings","GENERATED_ORDER","ORIGINAL_ORDER","SourceMapConsumer_eachMapping","aContext","aOrder","order","_generatedMappings","_originalMappings","allGeneratedPositionsFor","SourceMapConsumer_allGeneratedPositionsFor","needle","_findMapping","lastColumn","consumer","SourceMapConsumer_fromSourceMap","smc","generatedMappings","destGeneratedMappings","destOriginalMappings","srcMapping","destMapping","Mapping","cachedSegments","originalMappings","SourceMapConsumer_findMapping","aMappings","aLineName","aColumnName","aComparator","computeColumnSpans","SourceMapConsumer_computeColumnSpans","nextMapping","lastGeneratedColumn","Infinity","SourceMapConsumer_originalPositionFor","hasContentsOfAllSources","BasicSourceMapConsumer_hasContentsOfAllSources","sc","SourceMapConsumer_sourceContentFor","nullOnMissing","fileUriAbsPath","generatedPositionFor","SourceMapConsumer_generatedPositionFor","lastOffset","_sections","offsetLine","offsetColumn","generatedOffset","IndexedSourceMapConsumer_originalPositionFor","sectionIndex","section","IndexedSourceMapConsumer_hasContentsOfAllSources","every","IndexedSourceMapConsumer_sourceContentFor","IndexedSourceMapConsumer_generatedPositionFor","generatedPosition","IndexedSourceMapConsumer_parseMappings","sectionMappings","adjustedMapping","REGEX_NEWLINE","NEWLINE_CODE","isSourceNode","SourceNode","aLine","aColumn","aChunks","sourceContents","fromStringWithSourceMap","SourceNode_fromStringWithSourceMap","aGeneratedCode","aRelativePath","remainingLines","shiftNextLine","lineContents","newLine","lastGeneratedLine","lastMapping","addMappingWithCode","nextLine","SourceNode_add","aChunk","prepend","SourceNode_prepend","walk","SourceNode_walk","aFn","SourceNode_join","aSep","newChildren","replaceRight","SourceNode_replaceRight","aPattern","aReplacement","lastChild","SourceNode_setSourceContent","walkSourceContents","SourceNode_walkSourceContents","SourceNode_toString","toStringWithSourceMap","SourceNode_toStringWithSourceMap","sourceMappingActive","lastOriginalSource","lastOriginalLine","lastOriginalColumn","lastOriginalName","sourceContent","StackGenerator","backtrace","StackGenerator$$backtrace","opts","maxStackSize","curr","callee","$1","caller","StackTraceGPS","SourceMap","_xdr","req","onreadystatechange","_atob","b64str","atob","_parseJson","_findFunctionName","reFunctionDeclaration","reFunctionExpression","reFunctionEvaluation","maxLines","commentPos","_ensureSupportedEnvironment","_ensureStackFrameIsLegit","stackframe","_findSourceMappingURL","_extractLocationInfoFromSourceMap","rawSourceMap","sourceCache","mapConsumer","mappedSource","ajax","_get","isDataUrl","supportedEncodingRegexp","sourceMapStart","encodedSource","xhrPromise","pinpoint","StackTraceGPS$$pinpoint","getMappedLocation","mappedStackFrame","resolveMappedStackFrame","findFunctionName","StackTraceGPS$$findFunctionName","getSourceCallback","guessedFunctionName","StackTraceGPS$$getMappedLocation","sourceMappingURL","StackTrace","_options","_generateError","StackTrace$$GenerateError","_merge","_isShapedLikeParsableError","_filtered","stackframes","StackTrace$$get","generateArtificially","getSync","StackTrace$$getSync","StackTrace$$fromError","gps","sf","resolveOriginal","StackTrace$$generateArtificially","stackFrames","instrument","StackTrace$$instrument","errback","__stacktraceOriginalFn","instrumented","StackTrace$$instrumented","deinstrument","StackTrace$$deinstrument","report","StackTrace$$report","errorMsg","reportPayload","RequestBase","ResponseBase","shouldRetry","noop","Request","getXHR","ActiveXObject","pushEncodedKeyValuePair","subkey","serializeObject","parseString","types","html","xml","urlencoded","parseHeader","fields","isJSON","mime","Response","xhr","_setStatusProperties","header","getResponseHeader","_setHeaderProperties","_responseType","body","_parseBody","_parser","toError","_query","_header","rawResponse","statusCode","new_err","_isResponseOK","accept","user","pass","attach","_getFormData","_formData","_maxRetries","_retries","_retry","_callback","clearTimeout","retries","crossDomainError","crossDomain","agent","_appendQueryString","_sort","queryArr","_isHost","_endCalled","_setTimeouts","_responseTimeoutTimer","timedout","_aborted","percent","loaded","_withCredentials","contentType","_serializer","del","patch","post","_clearTimeout","_timer","_timeout","_responseTimeout","option","deadline","retry","count","_fullfilledPromise","innerResolve","innerReject","catch","ok","_okCallback","getHeader","unset","redirects","_maxRedirects","isObj","sortQuery","_timeoutError","errno","setTimeout","ct","links","parseLinks","statusType","redirect","clientError","serverError","accepted","noContent","badRequest","unauthorized","notAcceptable","forbidden","notFound","ERROR_CODES","rel","cleanHeader","shouldStripCookie","_help","example","_example","showSettings","_getCategoryService","_getCategories","_processCategory","change","showTimestamp","addResult","applyChanges","_applyToCategory","indent","idCategory","listFactories","rtSettingsFactories","_getRuntimeSettingsLoggerFactories","rtSettingsFactory","getName","idx_1","item","result_1","getLogGroupRuntimeSettings","groupSetting","idFactory","loggerFactoriesSettings","control","LoggerFactoryControlImpl","getLoggerFactoryControl","_getSettings","_settings","logGroupRuntimeSetting","_getLogGroupRunTimeSettingsFor","idGroup","settings_1","_checkIndex","_children","_id","nextId","currentId","_loggers","_logGroupRuntimeSettingsIndexed","_loggerToLogGroupSettings","configure","logGroupRules","named","loadLogger","isEnabled","getLogGroupRuntimeSettingsByLoggerName","nameLogger","JSONTypeImpl","JSONBooleanType","JSONNumberType","JSONStringType","JSONObjectType","JSONArrayType","JSONNullType","JSONTypeConverter","toJSONType","JSONObject","addBoolean","checkName","checkValue","addNumber","addString","addNull","addArray","addObject","pretty","comma","JSONArray","objects","JSONHelper","categoryToJSON","_categoryToJSON","compare","v1","v2","cropDash","lexicographical","zeroExtend","v1parts","v2parts","isValidPart","gt","gte","lte","endsWith","VersionCompare","DOMParser","X2JS","CustomDOMParser","VERSION","initConfigDefaults","arrayAccessForm","emptyNodeForm","attributeConverters","datetimeAccessFormPaths","arrayAccessFormPaths","enableToStringFunc","skipEmptyTextNodesForObj","stripWhitespaces","useDoubleQuotes","ignoreRoot","escapeMode","attributePrefix","selfClosingElements","keepCData","initRequiredPolyfills","MS_IN_S","getUTCHours","getUTCSeconds","getUTCMilliseconds","DOMNodeTypes","getDomNodeLocalName","domNode","localName","baseName","getDomNodeNamespacePrefix","escapeXmlChars","unescapeXmlChars","ensureProperArrayAccessForm","element","childName","elementPath","arrayPath","xmlDateTimeToDate","MINUTES_PER_HOUR","bits","secondBits","setHours","setMilliseconds","offsetMinutes","setMinutes","convertToDateIfRequired","fullPath","pathWithoutTextNode","candidatePath","deserializeRootElementChildren","rootElement","childNodes","ELEMENT_NODE","deserializeDomChildren","deserializeElementChildren","__cnt","nodeChildren","iChild","COMMENT_NODE","iAttribute","attributes","adjustedValue","iConverter","converter","namespacePrefix","__prefix","__text","__cdata","parentPath","DOCUMENT_NODE","TEXT_NODE","CDATA_SECTION_NODE","nodeValue","serializeStartTag","jsObject","elementName","attributeNames","selfClosing","resultStr","attributeName","attributeValue","serializeEndTag","isSpecialProperty","jsonObj","propertyName","getDataElementCount","getDataAttributeNames","serializeComplexTextNodeContents","textNode","serializeTextNodeContents","serializeArray","elementArray","serializeJavaScriptObject","childElementCount","serializeJavaScriptObjectChildren","elementCount","parseXml","parseFromString","parsererrorNS","isIEParser","namespaceURI","getElementsByTagNameNS","loadXML","asArray","toXmlDateTime","dt","asDateTime","xml2dom","dom2js","js2dom","js2xml","xml2js","getVersion"],"mappings":"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CA,GAHD;;AAKA;AACA,OAAKwS,MAAL,GAAc,SAASA,MAAT,CAAgBxS,GAAhB,EAAqB;AAClC,OAAImN,UAAUsE,SAASzR,GAAT,CAAd;AACA,OAAImN,WAAW,IAAf,EACC,OAAO,KAAKkF,MAAL,CAAYlF,OAAZ,CAAP,CADD,KAGC,OAAO,IAAP;AACD,GAND;;AAQA;AACA,OAAKoF,MAAL,GAAc,SAASA,MAAT,CAAgBpC,QAAhB,EAA0B;AACvC,UAAOoB,kCAAkCpB,QAAlC,CAAP;AACA,GAFD;;AAIA,OAAKsC,UAAL,GAAkB,SAASA,UAAT,GAAsB;AACvC,UAAO7G,OAAP;AACA,GAFD;AAGA,EAzqBE;AA0qBH,CA7rBD,E;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB","file":"opennms.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"opennms\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"opennms\"] = factory();\n\telse\n\t\troot[\"opennms\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 250);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap be327000c51da51e4f49","//! moment.js\n//! version : 2.18.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\nvar hookCallback;\n\nfunction hooks () {\n return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback (callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n}\n\nfunction isObjectEmpty(obj) {\n var k;\n for (k in obj) {\n // even if its not own property I'd still call it non-empty\n return false;\n }\n return true;\n}\n\nfunction isUndefined(input) {\n return input === void 0;\n}\n\nfunction isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n}\n\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n}\n\nfunction createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n}\n\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n some = Array.prototype.some;\n} else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n}\n\nvar some$1 = some;\n\nfunction isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some$1.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n}\n\nfunction createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n}\n\nvar updateInProgress = false;\n\n// Moment prototype object\nfunction Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n}\n\nfunction isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n}\n\nfunction absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n}\n\nfunction toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n}\n\n// compare two arrays, return the number of differences\nfunction compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n}\n\nfunction warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n}\n\nfunction deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n}\n\nvar deprecations = {};\n\nfunction deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n}\n\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\nfunction set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n}\n\nfunction mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n}\n\nfunction Locale(config) {\n if (config != null) {\n this.set(config);\n }\n}\n\nvar keys;\n\nif (Object.keys) {\n keys = Object.keys;\n} else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n}\n\nvar keys$1 = keys;\n\nvar defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n};\n\nfunction calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n}\n\nvar defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n};\n\nfunction longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n}\n\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate () {\n return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d';\nvar defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal (number) {\n return this._ordinal.replace('%d', number);\n}\n\nvar defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n};\n\nfunction relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n}\n\nfunction pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n}\n\nvar aliases = {};\n\nfunction addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nfunction normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n}\n\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n\nfunction getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n}\n\nfunction makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n}\n\nfunction get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n}\n\nfunction set$1 (mom, unit, value) {\n if (mom.isValid()) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n}\n\n// MOMENTS\n\nfunction stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n}\n\n\nfunction stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n}\n\nfunction zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n}\n\nvar formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\nvar formatFunctions = {};\n\nvar formatTokenFunctions = {};\n\n// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nfunction addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n}\n\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n\nfunction makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n}\n\n// format date using native date object\nfunction formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n}\n\nfunction expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n}\n\nvar match1 = /\\d/; // 0 - 9\nvar match2 = /\\d\\d/; // 00 - 99\nvar match3 = /\\d{3}/; // 000 - 999\nvar match4 = /\\d{4}/; // 0000 - 9999\nvar match6 = /[+-]?\\d{6}/; // -999999 - 999999\nvar match1to2 = /\\d\\d?/; // 0 - 99\nvar match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\nvar match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\nvar match1to3 = /\\d{1,3}/; // 0 - 999\nvar match1to4 = /\\d{1,4}/; // 0 - 9999\nvar match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\nvar matchUnsigned = /\\d+/; // 0 - inf\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n// any word (or two) characters or numbers including two/three word month in arabic.\n// includes scottish gaelic two word and hyphenated months\nvar matchWord = /[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;\n\n\nvar regexes = {};\n\nfunction addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n}\n\nfunction getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n}\n\nfunction regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n}\n\nfunction addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n}\n\nfunction addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n}\n\nvar YEAR = 0;\nvar MONTH = 1;\nvar DATE = 2;\nvar HOUR = 3;\nvar MINUTE = 4;\nvar SECOND = 5;\nvar MILLISECOND = 6;\nvar WEEK = 7;\nvar WEEKDAY = 8;\n\nvar indexOf;\n\nif (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n} else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n}\n\nvar indexOf$1 = indexOf;\n\nfunction daysInMonth(year, month) {\n return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();\n}\n\n// FORMATTING\n\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M', match1to2);\naddRegexToken('MM', match1to2, match2);\naddRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n});\n\n// LOCALES\n\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nfunction localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nfunction localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nfunction handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf$1.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf$1.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n}\n\nfunction getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n}\n\nfunction getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n}\n\nvar defaultMonthsShortRegex = matchWord;\nfunction monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n}\n\nvar defaultMonthsRegex = matchWord;\nfunction monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n}\n\nfunction computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n}\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY', 4], 0, 'year');\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y', matchSigned);\naddRegexToken('YY', match1to2, match2);\naddRegexToken('YYYY', match1to4, match4);\naddRegexToken('YYYYY', match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nfunction isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear () {\n return isLeapYear(this.year());\n}\n\nfunction createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n}\n\nfunction createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n}\n\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n}\n\nfunction weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n}\n\nfunction weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n\n// FORMATTING\n\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w', match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W', match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n});\n\n// HELPERS\n\n// LOCALES\n\nfunction localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek () {\n return this._week.dow;\n}\n\nfunction localeFirstDayOfYear () {\n return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d', match1to2);\naddRegexToken('e', match1to2);\naddRegexToken('E', match1to2);\naddRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n});\n\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n}\n\nfunction parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n}\n\n// LOCALES\n\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nfunction localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n}\n\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nfunction localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n}\n\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nfunction localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n}\n\nfunction handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf$1.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf$1.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n}\n\nfunction getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n}\n\nfunction getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n}\n\nvar defaultWeekdaysRegex = matchWord;\nfunction weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n}\n\nvar defaultWeekdaysShortRegex = matchWord;\nfunction weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n}\n\nvar defaultWeekdaysMinRegex = matchWord;\nfunction weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n}\n\n\nfunction computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n}\n\n// FORMATTING\n\nfunction hFormat() {\n return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\nfunction meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n}\n\naddRegexToken('a', matchMeridiem);\naddRegexToken('A', matchMeridiem);\naddRegexToken('H', match1to2);\naddRegexToken('h', match1to2);\naddRegexToken('k', match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n});\naddParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n});\n\n// LOCALES\n\nfunction localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n}\n\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nfunction localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n}\n\n\n// MOMENTS\n\n// Setting the hour should keep the time, because the user explicitly\n// specified which hour he wants. So trying to maintain the same hour (in\n// a new timezone) makes sense. Adding/subtracting hours does not follow\n// this rule.\nvar getSetHour = makeGetSet('Hours', true);\n\n// months\n// week\n// weekdays\n// meridiem\nvar baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n};\n\n// internal storage for locale config files\nvar locales = {};\nvar localeFamilies = {};\nvar globalLocale;\n\nfunction normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n}\n\n// pick the locale from the array\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return null;\n}\n\nfunction loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n require('./locale/' + name);\n // because defineLocale currently also sets the global locale, we\n // want to undo that for lazy loaded locales\n getSetGlobalLocale(oldLocale);\n } catch (e) { }\n }\n return locales[name];\n}\n\n// This function will load locale and then set the global locale. If\n// no arguments are passed in, it will simply return the current global\n// locale key.\nfunction getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n }\n\n return globalLocale._abbr;\n}\n\nfunction defineLocale (name, config) {\n if (config !== null) {\n var parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n}\n\nfunction updateLocale(name, config) {\n if (config != null) {\n var locale, parentConfig = baseConfig;\n // MERGE\n if (locales[name] != null) {\n parentConfig = locales[name]._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n}\n\n// returns locale data\nfunction getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n}\n\nfunction listLocales() {\n return keys$1(locales);\n}\n\nfunction checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n}\n\n// iso 8601 regex\n// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\nvar extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\nvar basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nvar isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n];\n\n// iso time formats and regexes\nvar isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n];\n\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n// date from iso format\nfunction configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n}\n\n// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\nvar basicRfcRegex = /^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d?\\d\\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(?:\\d\\d)?\\d\\d\\s)(\\d\\d:\\d\\d)(\\:\\d\\d)?(\\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\\d{4}))$/;\n\n// date and time from ref 2822 format\nfunction configFromRFC2822(config) {\n var string, match, dayFormat,\n dateFormat, timeFormat, tzFormat;\n var timezones = {\n ' GMT': ' +0000',\n ' EDT': ' -0400',\n ' EST': ' -0500',\n ' CDT': ' -0500',\n ' CST': ' -0600',\n ' MDT': ' -0600',\n ' MST': ' -0700',\n ' PDT': ' -0700',\n ' PST': ' -0800'\n };\n var military = 'YXWVUTSRQPONZABCDEFGHIKLM';\n var timezone, timezoneIndex;\n\n string = config._i\n .replace(/\\([^\\)]*\\)|[\\n\\t]/g, ' ') // Remove comments and folding whitespace\n .replace(/(\\s\\s+)/g, ' ') // Replace multiple-spaces with a single space\n .replace(/^\\s|\\s$/g, ''); // Remove leading and trailing spaces\n match = basicRfcRegex.exec(string);\n\n if (match) {\n dayFormat = match[1] ? 'ddd' + ((match[1].length === 5) ? ', ' : ' ') : '';\n dateFormat = 'D MMM ' + ((match[2].length > 10) ? 'YYYY ' : 'YY ');\n timeFormat = 'HH:mm' + (match[4] ? ':ss' : '');\n\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n if (match[1]) { // day of week given\n var momentDate = new Date(match[2]);\n var momentDay = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'][momentDate.getDay()];\n\n if (match[1].substr(0,3) !== momentDay) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return;\n }\n }\n\n switch (match[5].length) {\n case 2: // military\n if (timezoneIndex === 0) {\n timezone = ' +0000';\n } else {\n timezoneIndex = military.indexOf(match[5][1].toUpperCase()) - 12;\n timezone = ((timezoneIndex < 0) ? ' -' : ' +') +\n (('' + timezoneIndex).replace(/^-?/, '0')).match(/..$/)[0] + '00';\n }\n break;\n case 4: // Zone\n timezone = timezones[match[5]];\n break;\n default: // UT or +/-9999\n timezone = timezones[' GMT'];\n }\n match[5] = timezone;\n config._i = match.splice(1).join('');\n tzFormat = ' ZZ';\n config._f = dayFormat + dateFormat + timeFormat + tzFormat;\n configFromStringAndFormat(config);\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n}\n\n// date from iso format or fallback\nfunction configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n}\n\nhooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n);\n\n// Pick the first defined of two or three arguments.\nfunction defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n}\n\nfunction currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n}\n\n// convert an array to a date.\n// the array should mirror the parameters below\n// note: all values past the year are optional and will default to the lowest possible value.\n// [year, month, day , hour, minute, second, millisecond]\nfunction configFromArray (config) {\n var i, date, input = [], currentDate, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n}\n\nfunction dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n}\n\n// constant that refers to the ISO standard\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n}\n\n\nfunction meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n}\n\n// date from string and array of format strings\nfunction configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n}\n\nfunction configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n}\n\nfunction createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n}\n\nfunction prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n}\n\nfunction configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n}\n\nfunction createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n}\n\nfunction createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n);\n\nvar prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n);\n\n// Pick a moment m from moments so that m[fn](other) is true for all\n// other. This relies on the function fn to be transitive.\n//\n// moments should either be an array of moment objects or an array, whose\n// first element is an array of moment objects.\nfunction pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n}\n\n// TODO: Use [].sort instead?\nfunction min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n}\n\nfunction max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n}\n\nvar now = function () {\n return Date.now ? Date.now() : +(new Date());\n};\n\nvar ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\nfunction isDurationValid(m) {\n for (var key in m) {\n if (!(ordering.indexOf(key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n}\n\nfunction isValid$1() {\n return this._isValid;\n}\n\nfunction createInvalid$1() {\n return createDuration(NaN);\n}\n\nfunction Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n}\n\nfunction isDuration (obj) {\n return obj instanceof Duration;\n}\n\nfunction absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n}\n\n// FORMATTING\n\nfunction offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n}\n\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z', matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n});\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' > ['10', '00']\n// '-1530' > ['-15', '30']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nfunction cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n}\n\nfunction getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n}\n\n// HOOKS\n\n// This function will be called whenever a moment is mutated.\n// It is intended to keep the offset in sync with the timezone.\nhooks.updateOffset = function () {};\n\n// MOMENTS\n\n// keepLocalTime = true means only change the timezone, without\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n// +0200, so we adjust the time as needed, to be valid.\n//\n// Keeping the time actually adds/subtracts (one hour)\n// from the actual represented time. That is why we call updateOffset\n// a second time. In case it wants us to change the offset again\n// _changeInProgress == true case, then we have to adjust, because\n// there is no such time in the given timezone.\nfunction getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n}\n\nfunction getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n}\n\nfunction setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n}\n\nfunction setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n}\n\nfunction setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n}\n\nfunction hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n}\n\nfunction isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n}\n\nfunction isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n}\n\nfunction isLocal () {\n return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar aspNetRegex = /^(\\-)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n// and further modified to allow for strings containing both week and day\nvar isoRegex = /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;\n\nfunction createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n}\n\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n}\n\nfunction momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n}\n\n// TODO: remove 'name' arg after deprecation is removed\nfunction createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n}\n\nfunction addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n}\n\nvar add = createAdder(1, 'add');\nvar subtract = createAdder(-1, 'subtract');\n\nfunction getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n}\n\nfunction calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n}\n\nfunction clone () {\n return new Moment(this);\n}\n\nfunction isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n}\n\nfunction isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n}\n\nfunction isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n}\n\nfunction isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n}\n\nfunction isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n}\n\nfunction isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n}\n\nfunction diff (input, units, asFloat) {\n var that,\n zoneDelta,\n delta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n if (units === 'year' || units === 'month' || units === 'quarter') {\n output = monthDiff(this, that);\n if (units === 'quarter') {\n output = output / 3;\n } else if (units === 'year') {\n output = output / 12;\n }\n } else {\n delta = this - that;\n output = units === 'second' ? delta / 1e3 : // 1000\n units === 'minute' ? delta / 6e4 : // 1000 * 60\n units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60\n units === 'day' ? (delta - zoneDelta) / 864e5 : // 1000 * 60 * 60 * 24, negate dst\n units === 'week' ? (delta - zoneDelta) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst\n delta;\n }\n return asFloat ? output : absFloor(output);\n}\n\nfunction monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n}\n\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction toISOString() {\n if (!this.isValid()) {\n return null;\n }\n var m = this.clone().utc();\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n return this.toDate().toISOString();\n }\n return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n}\n\n/**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\nfunction inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n}\n\nfunction format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n}\n\nfunction from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n}\n\nfunction to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n}\n\n// If passed a locale key, it will set the locale for this\n// instance. Otherwise, it will return the locale configuration\n// variables for this instance.\nfunction locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n}\n\nvar lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n);\n\nfunction localeData () {\n return this._locale;\n}\n\nfunction startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n}\n\nfunction endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n}\n\nfunction valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n}\n\nfunction unix () {\n return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate () {\n return new Date(this.valueOf());\n}\n\nfunction toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n}\n\nfunction toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n}\n\nfunction toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2 () {\n return isValid(this);\n}\n\nfunction parsingFlags () {\n return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt () {\n return getParsingFlags(this).overflow;\n}\n\nfunction creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n}\n\n// FORMATTING\n\naddFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg', 'weekYear');\naddWeekYearFormatToken('ggggg', 'weekYear');\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n\n// PARSING\n\naddRegexToken('G', matchSigned);\naddRegexToken('g', matchSigned);\naddRegexToken('GG', match1to2, match2);\naddRegexToken('gg', match1to2, match2);\naddRegexToken('GGGG', match1to4, match4);\naddRegexToken('gggg', match1to4, match4);\naddRegexToken('GGGGG', match1to6, match6);\naddRegexToken('ggggg', match1to6, match6);\n\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n});\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n}\n\nfunction getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n}\n\nfunction getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n}\n\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n}\n\n// FORMATTING\n\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n}\n\n// FORMATTING\n\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIOROITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D', match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n});\n\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0], 10);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD', match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n}\n\n// FORMATTING\n\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m', match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s', match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n});\n\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S', match1to3, match1);\naddRegexToken('SS', match1to3, match2);\naddRegexToken('SSS', match1to3, match3);\n\nvar token;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n}\n// MOMENTS\n\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z', 0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add = add;\nproto.calendar = calendar$1;\nproto.clone = clone;\nproto.diff = diff;\nproto.endOf = endOf;\nproto.format = format;\nproto.from = from;\nproto.fromNow = fromNow;\nproto.to = to;\nproto.toNow = toNow;\nproto.get = stringGet;\nproto.invalidAt = invalidAt;\nproto.isAfter = isAfter;\nproto.isBefore = isBefore;\nproto.isBetween = isBetween;\nproto.isSame = isSame;\nproto.isSameOrAfter = isSameOrAfter;\nproto.isSameOrBefore = isSameOrBefore;\nproto.isValid = isValid$2;\nproto.lang = lang;\nproto.locale = locale;\nproto.localeData = localeData;\nproto.max = prototypeMax;\nproto.min = prototypeMin;\nproto.parsingFlags = parsingFlags;\nproto.set = stringSet;\nproto.startOf = startOf;\nproto.subtract = subtract;\nproto.toArray = toArray;\nproto.toObject = toObject;\nproto.toDate = toDate;\nproto.toISOString = toISOString;\nproto.inspect = inspect;\nproto.toJSON = toJSON;\nproto.toString = toString;\nproto.unix = unix;\nproto.valueOf = valueOf;\nproto.creationData = creationData;\n\n// Year\nproto.year = getSetYear;\nproto.isLeapYear = getIsLeapYear;\n\n// Week Year\nproto.weekYear = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\n\n// Quarter\nproto.quarter = proto.quarters = getSetQuarter;\n\n// Month\nproto.month = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\n\n// Week\nproto.week = proto.weeks = getSetWeek;\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\nproto.weeksInYear = getWeeksInYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\n\n// Day\nproto.date = getSetDayOfMonth;\nproto.day = proto.days = getSetDayOfWeek;\nproto.weekday = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear = getSetDayOfYear;\n\n// Hour\nproto.hour = proto.hours = getSetHour;\n\n// Minute\nproto.minute = proto.minutes = getSetMinute;\n\n// Second\nproto.second = proto.seconds = getSetSecond;\n\n// Millisecond\nproto.millisecond = proto.milliseconds = getSetMillisecond;\n\n// Offset\nproto.utcOffset = getSetOffset;\nproto.utc = setOffsetToUTC;\nproto.local = setOffsetToLocal;\nproto.parseZone = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST = isDaylightSavingTime;\nproto.isLocal = isLocal;\nproto.isUtcOffset = isUtcOffset;\nproto.isUtc = isUtc;\nproto.isUTC = isUtc;\n\n// Timezone\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\n\n// Deprecations\nproto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\nproto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\nproto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\nfunction createUnix (input) {\n return createLocal(input * 1000);\n}\n\nfunction createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat (string) {\n return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar = calendar;\nproto$1.longDateFormat = longDateFormat;\nproto$1.invalidDate = invalidDate;\nproto$1.ordinal = ordinal;\nproto$1.preparse = preParsePostFormat;\nproto$1.postformat = preParsePostFormat;\nproto$1.relativeTime = relativeTime;\nproto$1.pastFuture = pastFuture;\nproto$1.set = set;\n\n// Month\nproto$1.months = localeMonths;\nproto$1.monthsShort = localeMonthsShort;\nproto$1.monthsParse = localeMonthsParse;\nproto$1.monthsRegex = monthsRegex;\nproto$1.monthsShortRegex = monthsShortRegex;\n\n// Week\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n// Day of Week\nproto$1.weekdays = localeWeekdays;\nproto$1.weekdaysMin = localeWeekdaysMin;\nproto$1.weekdaysShort = localeWeekdaysShort;\nproto$1.weekdaysParse = localeWeekdaysParse;\n\nproto$1.weekdaysRegex = weekdaysRegex;\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n// Hours\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n}\n\nfunction listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n}\n\n// ()\n// (5)\n// (fmt, 5)\n// (fmt)\n// (true)\n// (true, 5)\n// (true, fmt, 5)\n// (true, fmt)\nfunction listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n}\n\nfunction listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n});\n\n// Side effect imports\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\nvar mathAbs = Math.abs;\n\nfunction abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n}\n\nfunction addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n}\n\n// supports only 2.0-style add(1, 's') or add(duration)\nfunction add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n}\n\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\nfunction subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n}\n\nfunction bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n}\n\nfunction daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n}\n\nfunction monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n}\n\nfunction as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n}\n\n// TODO: Use this.as('ms')?\nfunction valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n}\n\nfunction makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n}\n\nvar asMilliseconds = makeAs('ms');\nvar asSeconds = makeAs('s');\nvar asMinutes = makeAs('m');\nvar asHours = makeAs('h');\nvar asDays = makeAs('d');\nvar asWeeks = makeAs('w');\nvar asMonths = makeAs('M');\nvar asYears = makeAs('y');\n\nfunction get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n}\n\nvar milliseconds = makeGetter('milliseconds');\nvar seconds = makeGetter('seconds');\nvar minutes = makeGetter('minutes');\nvar hours = makeGetter('hours');\nvar days = makeGetter('days');\nvar months = makeGetter('months');\nvar years = makeGetter('years');\n\nfunction weeks () {\n return absFloor(this.days() / 7);\n}\n\nvar round = Math.round;\nvar thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n};\n\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n}\n\n// This function allows you to set the rounding function for relative time strings\nfunction getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nfunction getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n}\n\nfunction humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n}\n\nvar abs$1 = Math.abs;\n\nfunction toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds;\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n return (total < 0 ? '-' : '') +\n 'P' +\n (Y ? Y + 'Y' : '') +\n (M ? M + 'M' : '') +\n (D ? D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? h + 'H' : '') +\n (m ? m + 'M' : '') +\n (s ? s + 'S' : '');\n}\n\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid = isValid$1;\nproto$2.abs = abs;\nproto$2.add = add$1;\nproto$2.subtract = subtract$1;\nproto$2.as = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds = asSeconds;\nproto$2.asMinutes = asMinutes;\nproto$2.asHours = asHours;\nproto$2.asDays = asDays;\nproto$2.asWeeks = asWeeks;\nproto$2.asMonths = asMonths;\nproto$2.asYears = asYears;\nproto$2.valueOf = valueOf$1;\nproto$2._bubble = bubble;\nproto$2.get = get$2;\nproto$2.milliseconds = milliseconds;\nproto$2.seconds = seconds;\nproto$2.minutes = minutes;\nproto$2.hours = hours;\nproto$2.days = days;\nproto$2.weeks = weeks;\nproto$2.months = months;\nproto$2.years = years;\nproto$2.humanize = humanize;\nproto$2.toISOString = toISOString$1;\nproto$2.toString = toISOString$1;\nproto$2.toJSON = toISOString$1;\nproto$2.locale = locale;\nproto$2.localeData = localeData;\n\n// Deprecations\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\nproto$2.lang = lang;\n\n// Side effect imports\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n});\n\n// Side effect imports\n\n\nhooks.version = '2.18.1';\n\nsetHookCallback(createLocal);\n\nhooks.fn = proto;\nhooks.min = min;\nhooks.max = max;\nhooks.now = now;\nhooks.utc = createUTC;\nhooks.unix = createUnix;\nhooks.months = listMonths;\nhooks.isDate = isDate;\nhooks.locale = getSetGlobalLocale;\nhooks.invalid = createInvalid;\nhooks.duration = createDuration;\nhooks.isMoment = isMoment;\nhooks.weekdays = listWeekdays;\nhooks.parseZone = createInZone;\nhooks.localeData = getLocale;\nhooks.isDuration = isDuration;\nhooks.monthsShort = listMonthsShort;\nhooks.weekdaysMin = listWeekdaysMin;\nhooks.defineLocale = defineLocale;\nhooks.updateLocale = updateLocale;\nhooks.locales = listLocales;\nhooks.weekdaysShort = listWeekdaysShort;\nhooks.normalizeUnits = normalizeUnits;\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat = getCalendarFormat;\nhooks.prototype = proto;\n\nreturn hooks;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/moment.js","\"use strict\";\n/**\n * Log level for a logger.\n */\nvar LogLevel;\n(function (LogLevel) {\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\n LogLevel[LogLevel[\"Warn\"] = 3] = \"Warn\";\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\n LogLevel[LogLevel[\"Fatal\"] = 5] = \"Fatal\";\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\n/* tslint:disable:no-namespace */\n(function (LogLevel) {\n /**\n * Returns LogLevel based on string representation\n * @param val Value\n * @returns {LogLevel}, Error is thrown if invalid.\n */\n function fromString(val) {\n if (val == null) {\n throw new Error(\"Argument must be set\");\n }\n switch (val.toLowerCase()) {\n case \"trace\":\n return LogLevel.Trace;\n case \"debug\":\n return LogLevel.Debug;\n case \"info\":\n return LogLevel.Info;\n case \"warn\":\n return LogLevel.Warn;\n case \"error\":\n return LogLevel.Error;\n case \"fatal\":\n return LogLevel.Fatal;\n default:\n throw new Error(\"Unsupported value for conversion: \" + val);\n }\n }\n LogLevel.fromString = fromString;\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\n/* tslint:disable:enable-namespace */\n/**\n * Where to log to? Pick one of the constants. Custom requires a callback to be present, see LFService.createLoggerFactory(...)\n * where this comes into play.\n */\nvar LoggerType;\n(function (LoggerType) {\n LoggerType[LoggerType[\"Console\"] = 0] = \"Console\";\n LoggerType[LoggerType[\"MessageBuffer\"] = 1] = \"MessageBuffer\";\n LoggerType[LoggerType[\"Custom\"] = 2] = \"Custom\";\n})(LoggerType = exports.LoggerType || (exports.LoggerType = {}));\n/**\n * Defines several date enums used for formatting a date.\n */\nvar DateFormatEnum;\n(function (DateFormatEnum) {\n /**\n * Displays as: year-month-day hour:minute:second,millis -> 1999-02-12 23:59:59,123\n * Note the date separator can be set separately.\n */\n DateFormatEnum[DateFormatEnum[\"Default\"] = 0] = \"Default\";\n /**\n * Displays as: year-month-day hour:minute:second -> 1999-02-12 23:59:59\n * Note the date separator can be set separately.\n */\n DateFormatEnum[DateFormatEnum[\"YearMonthDayTime\"] = 1] = \"YearMonthDayTime\";\n /**\n * Displays as: year-day-month hour:minute:second,millis -> 1999-12-02 23:59:59,123\n * Note the date separator can be set separately.\n */\n DateFormatEnum[DateFormatEnum[\"YearDayMonthWithFullTime\"] = 2] = \"YearDayMonthWithFullTime\";\n /**\n * Displays as: year-day-month hour:minute:second -> 1999-12-02 23:59:59\n * Note the date separator can be set separately.\n */\n DateFormatEnum[DateFormatEnum[\"YearDayMonthTime\"] = 3] = \"YearDayMonthTime\";\n})(DateFormatEnum = exports.DateFormatEnum || (exports.DateFormatEnum = {}));\n/* tslint:disable:no-namespace */\n(function (DateFormatEnum) {\n /**\n * Returns LogLevel based on string representation\n * @param val Value\n * @returns {LogLevel}, Error is thrown if invalid.\n */\n function fromString(val) {\n if (val == null) {\n throw new Error(\"Argument must be set\");\n }\n switch (val.toLowerCase()) {\n case \"default\":\n return DateFormatEnum.Default;\n case \"yearmonthdayTime\":\n return DateFormatEnum.YearMonthDayTime;\n case \"yeardaymonthwithfulltime\":\n return DateFormatEnum.YearDayMonthWithFullTime;\n case \"yeardaymonthtime\":\n return DateFormatEnum.YearDayMonthTime;\n default:\n throw new Error(\"Unsupported value for conversion: \" + val);\n }\n }\n DateFormatEnum.fromString = fromString;\n})(DateFormatEnum = exports.DateFormatEnum || (exports.DateFormatEnum = {}));\n/* tslint:disable:enable-namespace */\n/**\n * DateFormat class, stores data on how to format a date.\n */\nvar DateFormat = (function () {\n /**\n * Constructor to define the dateformat used for logging, can be called empty as it uses defaults.\n * @param formatEnum DateFormatEnum, use one of the constants from the enum. Defaults to DateFormatEnum.Default\n * @param dateSeparator Separator used between dates, defaults to -\n */\n function DateFormat(formatEnum, dateSeparator) {\n if (formatEnum === void 0) { formatEnum = DateFormatEnum.Default; }\n if (dateSeparator === void 0) { dateSeparator = \"-\"; }\n this._formatEnum = formatEnum;\n this._dateSeparator = dateSeparator;\n }\n Object.defineProperty(DateFormat.prototype, \"formatEnum\", {\n get: function () {\n return this._formatEnum;\n },\n set: function (value) {\n this._formatEnum = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DateFormat.prototype, \"dateSeparator\", {\n get: function () {\n return this._dateSeparator;\n },\n set: function (value) {\n this._dateSeparator = value;\n },\n enumerable: true,\n configurable: true\n });\n DateFormat.prototype.copy = function () {\n return new DateFormat(this._formatEnum, this._dateSeparator);\n };\n return DateFormat;\n}());\nexports.DateFormat = DateFormat;\n/**\n * Information about the log format, what will a log line look like?\n */\nvar LogFormat = (function () {\n /**\n * Constructor to create a LogFormat. Can be created without parameters where it will use sane defaults.\n * @param dateFormat DateFormat (what needs the date look like in the log line)\n * @param showTimeStamp Show date timestamp at all?\n * @param showLoggerName Show the logger name?\n */\n function LogFormat(dateFormat, showTimeStamp, showLoggerName) {\n if (dateFormat === void 0) { dateFormat = new DateFormat(); }\n if (showTimeStamp === void 0) { showTimeStamp = true; }\n if (showLoggerName === void 0) { showLoggerName = true; }\n this._showTimeStamp = true;\n this._showLoggerName = true;\n this._dateFormat = dateFormat;\n this._showTimeStamp = showTimeStamp;\n this._showLoggerName = showLoggerName;\n }\n Object.defineProperty(LogFormat.prototype, \"dateFormat\", {\n get: function () {\n return this._dateFormat;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogFormat.prototype, \"showTimeStamp\", {\n get: function () {\n return this._showTimeStamp;\n },\n set: function (value) {\n this._showTimeStamp = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogFormat.prototype, \"showLoggerName\", {\n get: function () {\n return this._showLoggerName;\n },\n set: function (value) {\n this._showLoggerName = value;\n },\n enumerable: true,\n configurable: true\n });\n return LogFormat;\n}());\nexports.LogFormat = LogFormat;\n/**\n * Information about the log format, what will a log line look like?\n */\nvar CategoryLogFormat = (function () {\n /**\n * Create an instance defining the category log format used.\n * @param dateFormat Date format (uses default), for details see DateFormat class.\n * @param showTimeStamp True to show timestamp in the logging, defaults to true.\n * @param showCategoryName True to show category name in the logging, defaults to true.\n */\n function CategoryLogFormat(dateFormat, showTimeStamp, showCategoryName) {\n if (dateFormat === void 0) { dateFormat = new DateFormat(); }\n if (showTimeStamp === void 0) { showTimeStamp = true; }\n if (showCategoryName === void 0) { showCategoryName = true; }\n this._dateFormat = dateFormat;\n this._showTimeStamp = showTimeStamp;\n this._showCategoryName = showCategoryName;\n }\n Object.defineProperty(CategoryLogFormat.prototype, \"dateFormat\", {\n get: function () {\n return this._dateFormat;\n },\n set: function (value) {\n this._dateFormat = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryLogFormat.prototype, \"showTimeStamp\", {\n get: function () {\n return this._showTimeStamp;\n },\n set: function (value) {\n this._showTimeStamp = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryLogFormat.prototype, \"showCategoryName\", {\n get: function () {\n return this._showCategoryName;\n },\n set: function (value) {\n this._showCategoryName = value;\n },\n enumerable: true,\n configurable: true\n });\n CategoryLogFormat.prototype.copy = function () {\n return new CategoryLogFormat(this._dateFormat.copy(), this._showTimeStamp, this._showCategoryName);\n };\n return CategoryLogFormat;\n}());\nexports.CategoryLogFormat = CategoryLogFormat;\n//# sourceMappingURL=LoggerOptions.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/LoggerOptions.js","\n/**\n * Represents an enumerated type.\n * @module OnmsEnum\n */ /** */\nexport class OnmsEnum {\n /** the internal index/id */\n private i: T;\n\n /** the type/label */\n private l: string;\n\n /** get the index/id of this enum entry */\n get id() {\n return this.i;\n }\n\n /** an alias for {@link #id} */\n get index() {\n return this.i;\n }\n\n /** get the label of this enum entry */\n get label() {\n return this.l;\n }\n\n /** construct an enum object with an id and label */\n constructor(id: T, label: string) {\n this.i = id;\n this.l = label;\n }\n\n /** convert this enum to a string suitable for display */\n public toDisplayString() {\n return this.l.charAt(0).toUpperCase() + this.l.slice(1).toLowerCase();\n }\n\n /** convert this enum to a string */\n public toString() {\n return this.i;\n }\n\n /** convert to the JSON representation */\n public toJSON() {\n return {\n id: this.i,\n label: this.l,\n };\n }\n}\n\n/** convenience function for implementing id-based lookup in enums */\n/** @hidden */\nexport function forId(collection: any, id: any) {\n for (const type in collection) {\n if (collection.hasOwnProperty(type)) {\n const collectionId = collection[type].id;\n if (('' + collectionId) === ('' + id)) {\n return collection[type];\n }\n }\n }\n return undefined;\n}\n\n/** convenience function for implementing label-based lookup in enums */\n/** @hidden */\nexport function forLabel(collection: any, label: string) {\n for (const type in collection) {\n if (collection.hasOwnProperty(type)) {\n const collectionLabel = collection[type].label;\n if (collectionLabel && collectionLabel.toLowerCase() === label.toLowerCase()) {\n return collection[type];\n }\n }\n }\n return undefined;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/internal/OnmsEnum.ts","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object' && !isArray(obj)) {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/utils.js","import {\n Category,\n CategoryLogger,\n CategoryServiceFactory,\n CategoryDefaultConfiguration,\n LogLevel,\n} from 'typescript-logging';\n\n// Optionally change default settings, in this example set default logging to Info.\n// Without changing configuration, categories will log to Error.\nCategoryServiceFactory.setDefaultConfiguration(new CategoryDefaultConfiguration(LogLevel.Info));\n\n// Create categories, they will autoregister themselves.\n// This creates one root logger, with 1 child sub category.\n\n/** @hidden */\nexport const catRoot = new Category('opennms');\n\n/** @hidden */\nexport const catAPI = new Category('api', catRoot);\n\n/** @hidden */\nexport const catDao = new Category('dao', catRoot);\n\n/** @hidden */\nexport const catModel = new Category('model', catRoot);\n\n/** @hidden */\nexport const catRest = new Category('rest', catRoot);\n\n/** @hidden */\nexport const catUtil = new Category('util', catRoot);\n\n/**\n * Get a logger, this can be retrieved for root categories only (in the example above, the 'service' category).\n * @hidden\n */\nexport const log: CategoryLogger = CategoryServiceFactory.getLogger(catRoot);\n\n/** @hidden */\nexport const setLogLevel = (level: LogLevel, cat?: Category) => {\n if (cat === undefined) {\n cat = catRoot;\n }\n // console.log('setting category ' + cat.name + ' to ' + level.toString());\n CategoryServiceFactory.getRuntimeSettings().getCategorySettings(cat).logLevel = level;\n for (const subCat of cat.children) {\n setLogLevel(level, subCat);\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/Log.ts","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nvar LogGroupControl_1 = require(\"./control/LogGroupControl\");\nvar CategoryServiceControl_1 = require(\"./control/CategoryServiceControl\");\nvar ExtensionHelper_1 = require(\"./extension/ExtensionHelper\");\nexports.ExtensionHelper = ExtensionHelper_1.ExtensionHelper;\n// Category related\nvar AbstractCategoryLogger_1 = require(\"./log/category/AbstractCategoryLogger\");\nexports.AbstractCategoryLogger = AbstractCategoryLogger_1.AbstractCategoryLogger;\nvar CategoryConsoleLoggerImpl_1 = require(\"./log/category/CategoryConsoleLoggerImpl\");\nexports.CategoryConsoleLoggerImpl = CategoryConsoleLoggerImpl_1.CategoryConsoleLoggerImpl;\nvar CategoryDelegateLoggerImpl_1 = require(\"./log/category/CategoryDelegateLoggerImpl\");\nexports.CategoryDelegateLoggerImpl = CategoryDelegateLoggerImpl_1.CategoryDelegateLoggerImpl;\nvar CategoryLogger_1 = require(\"./log/category/CategoryLogger\");\nexports.Category = CategoryLogger_1.Category;\nvar CategoryMessageBufferImpl_1 = require(\"./log/category/CategoryMessageBufferImpl\");\nexports.CategoryMessageBufferLoggerImpl = CategoryMessageBufferImpl_1.CategoryMessageBufferLoggerImpl;\nvar CategoryService_1 = require(\"./log/category/CategoryService\");\nexports.CategoryDefaultConfiguration = CategoryService_1.CategoryDefaultConfiguration;\nexports.CategoryRuntimeSettings = CategoryService_1.CategoryRuntimeSettings;\nexports.CategoryServiceFactory = CategoryService_1.CategoryServiceFactory;\nvar LoggerFactoryService_1 = require(\"./log/standard/LoggerFactoryService\");\nexports.LoggerFactoryOptions = LoggerFactoryService_1.LoggerFactoryOptions;\nexports.LFService = LoggerFactoryService_1.LFService;\nexports.LogGroupRule = LoggerFactoryService_1.LogGroupRule;\nvar AbstractLogger_1 = require(\"./log/standard/AbstractLogger\");\nexports.AbstractLogger = AbstractLogger_1.AbstractLogger;\nvar ConsoleLoggerImpl_1 = require(\"./log/standard/ConsoleLoggerImpl\");\nexports.ConsoleLoggerImpl = ConsoleLoggerImpl_1.ConsoleLoggerImpl;\nvar MessageBufferLoggerImpl_1 = require(\"./log/standard/MessageBufferLoggerImpl\");\nexports.MessageBufferLoggerImpl = MessageBufferLoggerImpl_1.MessageBufferLoggerImpl;\nvar LoggerOptions_1 = require(\"./log/LoggerOptions\");\nexports.CategoryLogFormat = LoggerOptions_1.CategoryLogFormat;\nexports.DateFormat = LoggerOptions_1.DateFormat;\nexports.DateFormatEnum = LoggerOptions_1.DateFormatEnum;\nexports.LogFormat = LoggerOptions_1.LogFormat;\nexports.LoggerType = LoggerOptions_1.LoggerType;\nexports.LogLevel = LoggerOptions_1.LogLevel;\n// Utilities\nvar DataStructures_1 = require(\"./utils/DataStructures\");\nexports.SimpleMap = DataStructures_1.SimpleMap;\nexports.LinkedList = DataStructures_1.LinkedList;\n__export(require(\"./utils/JSONHelper\"));\nvar MessageUtils_1 = require(\"./utils/MessageUtils\");\nexports.MessageFormatUtils = MessageUtils_1.MessageFormatUtils;\n/*\n Functions to export on TSL libarary var.\n*/\n// Export help function\nfunction help() {\n /* tslint:disable:no-console */\n console.log(\"help()\\n ** Shows this help\\n \\n getLogControl(): LoggerControl\\n ** Returns LoggerControl Object, use to dynamically change loglevels for log4j logging.\\n ** Call .help() on LoggerControl object for available options.\\n \\n getCategoryControl(): CategoryServiceControl\\n ** Returns CategoryServiceControl Object, use to dynamically change loglevels for category logging.\\n ** Call .help() on CategoryServiceControl object for available options. \\n\");\n /* tslint:enable:no-console */\n}\nexports.help = help;\n// Export LogControl function (log4j)\nfunction getLogControl() {\n return new LogGroupControl_1.LoggerControlImpl();\n}\nexports.getLogControl = getLogControl;\n// Export CategoryControl function\nfunction getCategoryControl() {\n return new CategoryServiceControl_1.CategoryServiceControlImpl();\n}\nexports.getCategoryControl = getCategoryControl;\n//# sourceMappingURL=typescript-logging.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/typescript-logging.js","/**\n * Represents an OpenNMS.js error. This will eventually have custom stuff to do... stuff.\n * @module OnmsError\n */ /** */\nexport class OnmsError {\n /** the error code associated with this error */\n public code: number;\n\n /** the stack trace when this error is created */\n public stack;\n\n /** the JS Error class associated with this error */\n private error: Error;\n\n /**\n * Create a new error with the given message.\n * @constructor\n * @param message - the message\n */\n constructor(public message: string, code?: number) {\n this.error = new Error(message);\n this.code = code;\n this.stack = this.error.stack;\n }\n\n /**\n * Returns a string representation of this error.\n */\n public toString() {\n if (this.code) {\n return 'Error ' + this.code + ': ' + this.error.message;\n } else {\n return 'Error: ' + this.error.message;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/OnmsError.ts","\"use strict\";\nvar LinkedNode = (function () {\n function LinkedNode(value) {\n this._previous = null;\n this._next = null;\n this._value = value;\n }\n Object.defineProperty(LinkedNode.prototype, \"previous\", {\n get: function () {\n return this._previous;\n },\n set: function (value) {\n this._previous = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LinkedNode.prototype, \"next\", {\n get: function () {\n return this._next;\n },\n set: function (value) {\n this._next = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LinkedNode.prototype, \"value\", {\n get: function () {\n return this._value;\n },\n enumerable: true,\n configurable: true\n });\n return LinkedNode;\n}());\n/**\n * Double linkedlist implementation.\n */\nvar LinkedList = (function () {\n function LinkedList() {\n this.head = null;\n this.size = 0;\n }\n LinkedList.prototype.addHead = function (value) {\n if (!this.createHeadIfNeeded(value)) {\n if (this.head != null) {\n var nextNode = this.head.next;\n var newHeadNode = new LinkedNode(value);\n if (nextNode != null) {\n nextNode.previous = newHeadNode;\n newHeadNode.next = nextNode;\n }\n this.head = newHeadNode;\n }\n else {\n throw new Error(\"This should never happen, list implementation broken\");\n }\n }\n this.size++;\n };\n LinkedList.prototype.addTail = function (value) {\n if (!this.createHeadIfNeeded(value)) {\n var oldTailNode = this.getTailNode();\n if (oldTailNode != null) {\n var newTailNode = new LinkedNode(value);\n oldTailNode.next = newTailNode;\n newTailNode.previous = oldTailNode;\n }\n else {\n throw new Error(\"List implementation broken\");\n }\n }\n this.size++;\n };\n LinkedList.prototype.clear = function () {\n this.head = null;\n this.size = 0;\n };\n LinkedList.prototype.getHead = function () {\n if (this.head != null) {\n return this.head.value;\n }\n return null;\n };\n LinkedList.prototype.removeHead = function () {\n if (this.head != null) {\n var oldHead = this.head;\n var value = oldHead.value;\n this.head = oldHead.next;\n this.size--;\n return value;\n }\n return null;\n };\n LinkedList.prototype.getTail = function () {\n var node = this.getTailNode();\n if (node != null) {\n return node.value;\n }\n return null;\n };\n LinkedList.prototype.removeTail = function () {\n var node = this.getTailNode();\n if (node != null) {\n if (node === this.head) {\n this.head = null;\n }\n else {\n var previousNode = node.previous;\n if (previousNode != null) {\n previousNode.next = null;\n }\n else {\n throw new Error(\"List implementation is broken\");\n }\n }\n this.size--;\n return node.value;\n }\n return null;\n };\n LinkedList.prototype.getSize = function () {\n return this.size;\n };\n LinkedList.prototype.filter = function (f) {\n var recurse = function (fn, node, values) {\n if (fn(node.value)) {\n values.push(node.value);\n }\n var nextNode = node.next;\n if (nextNode != null) {\n recurse(fn, nextNode, values);\n }\n };\n var result = [];\n var node = this.head;\n if (node != null) {\n recurse(f, node, result);\n }\n return result;\n };\n LinkedList.prototype.createHeadIfNeeded = function (value) {\n if (this.head == null) {\n this.head = new LinkedNode(value);\n return true;\n }\n return false;\n };\n LinkedList.prototype.getTailNode = function () {\n if (this.head == null) {\n return null;\n }\n var node = this.head;\n while (node.next != null) {\n node = node.next;\n }\n return node;\n };\n return LinkedList;\n}());\nexports.LinkedList = LinkedList;\n/**\n * Map implementation keyed by string (always). Note that the get/remove return either value or null.\n * This map does not support undefined in any fasion (on purpose).\n */\nvar SimpleMap = (function () {\n function SimpleMap() {\n this.array = {};\n }\n SimpleMap.prototype.put = function (key, value) {\n if (value === undefined) {\n throw new Error(\"Undefined value is not allowed, null is.\");\n }\n this.array[key] = value;\n };\n SimpleMap.prototype.get = function (key) {\n var result = this.array[key];\n if (result !== undefined) {\n return result;\n }\n return null;\n };\n SimpleMap.prototype.exists = function (key) {\n var value = this.array[key];\n return value !== undefined;\n };\n SimpleMap.prototype.remove = function (key) {\n var value = this.array[key];\n if (value !== undefined) {\n delete this.array[key];\n }\n return value;\n };\n SimpleMap.prototype.keys = function () {\n var keys = [];\n for (var key in this.array) {\n // To prevent random stuff to appear\n if (this.array.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n SimpleMap.prototype.values = function () {\n var values = [];\n for (var key in this.array) {\n // To prevent random stuff to appear\n if (this.array.hasOwnProperty(key)) {\n values.push(this.get(key));\n }\n }\n return values;\n };\n SimpleMap.prototype.size = function () {\n return this.keys().length;\n };\n SimpleMap.prototype.isEmpty = function () {\n return this.size() === 0;\n };\n SimpleMap.prototype.clear = function () {\n this.array = {};\n };\n SimpleMap.prototype.forEach = function (cbFunction) {\n for (var key in this.array) {\n // To prevent random stuff to appear\n if (this.array.hasOwnProperty(key)) {\n var value = this.array[key];\n cbFunction(value, key, this);\n }\n }\n };\n return SimpleMap;\n}());\nexports.SimpleMap = SimpleMap;\n/**\n * Tuple to hold two values.\n */\nvar TuplePair = (function () {\n function TuplePair(x, y) {\n this._x = x;\n this._y = y;\n }\n Object.defineProperty(TuplePair.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (value) {\n this._x = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TuplePair.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (value) {\n this._y = value;\n },\n enumerable: true,\n configurable: true\n });\n return TuplePair;\n}());\nexports.TuplePair = TuplePair;\n/**\n * Utility class to build up a string.\n */\nvar StringBuilder = (function () {\n function StringBuilder() {\n this.data = [];\n }\n StringBuilder.prototype.append = function (line) {\n if (line === undefined || line == null) {\n throw new Error(\"String must be set, cannot append null or undefined\");\n }\n this.data.push(line);\n return this;\n };\n StringBuilder.prototype.appendLine = function (line) {\n this.data.push(line + \"\\n\");\n return this;\n };\n StringBuilder.prototype.isEmpty = function () {\n return this.data.length === 0;\n };\n StringBuilder.prototype.clear = function () {\n this.data = [];\n };\n StringBuilder.prototype.toString = function (separator) {\n if (separator === void 0) { separator = \"\"; }\n return this.data.join(separator);\n };\n return StringBuilder;\n}());\nexports.StringBuilder = StringBuilder;\n//# sourceMappingURL=DataStructures.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/utils/DataStructures.js","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/module.js","import {OnmsError} from './OnmsError';\n\n/**\n * An {@link OnmsHTTP} query result.\n * @module OnmsResult\n */ /** */\nexport class OnmsResult {\n /** create a new error result */\n public static error(message: string, code?: number) {\n return new OnmsResult(undefined, message, code);\n }\n\n /** create a new \"OK\" result */\n public static ok(response: any, message?: string, code?: number, type?: string) {\n return new OnmsResult(response, message || 'OK', code || 200, type);\n }\n\n /** the data, if any */\n public data: T;\n\n /** the request type, if any */\n public type: string;\n\n /** the status message associated with this result */\n public message: string;\n\n /** the response code associated with this result */\n public code: number;\n\n /**\n * construct a new result\n * @param message the status message\n * @param code the response code\n */\n constructor(data: T, message?: string, code?: number, type?: string) {\n this.data = data;\n this.message = message;\n this.code = code;\n this.type = type;\n }\n\n /** whether this response is a successful response */\n public isSuccess() {\n return this.code === 200 || this.code === 204;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/OnmsResult.ts","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/util.js","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[\\+\\-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, match, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (Array.isArray(parse_tree[i])) {\n match = parse_tree[i] // convenience purposes only\n if (match[2]) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < match[2].length; k++) {\n if (!arg.hasOwnProperty(match[2][k])) {\n throw new Error(sprintf('[sprintf] property \"%s\" does not exist', match[2][k]))\n }\n arg = arg[match[2][k]]\n }\n }\n else if (match[1]) { // positional argument (explicit)\n arg = argv[match[1]]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(match[8]) && re.not_primitive.test(match[8]) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(match[8]) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(match[8])) {\n is_positive = arg >= 0\n }\n\n switch (match[8]) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, match[6] ? parseInt(match[6]) : 0)\n break\n case 'e':\n arg = match[7] ? parseFloat(arg).toExponential(match[7]) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg)\n break\n case 'g':\n arg = match[7] ? String(Number(arg.toPrecision(match[7]))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (match[7] ? arg.substring(0, match[7]) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (match[7] ? arg.substring(0, match[7]) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (match[7] ? arg.substring(0, match[7]) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (match[7] ? arg.substring(0, match[7]) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(match[8])) {\n output += arg\n }\n else {\n if (re.number.test(match[8]) && (!is_positive || match[3])) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = match[4] ? match[4] === '0' ? '0' : match[4].charAt(1) : ' '\n pad_length = match[6] - (sign + arg).length\n pad = match[6] ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += match[5] ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n parse_tree.push(match)\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}()\n\n\n\n// WEBPACK FOOTER //\n// ./~/sprintf-js/src/sprintf.js","import {OnmsEnum} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS server type.\n * @module ServerType\n */ /** */\nexport class ServerType extends OnmsEnum {\n}\n\n/** @hidden */\nexport const ServerTypes = Object.freeze({\n HORIZON: new ServerType(1, 'HORIZON'),\n MERIDIAN: new ServerType(2, 'MERIDIAN'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/ServerType.ts","import {log, catModel} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst catServiceType = new Category('service-type', catModel);\n\n/** @hidden */\nexport const ServiceTypes = {\n};\n\n/**\n * Represents an OpenNMS service.\n * @module OnmsServiceType\n */ /** */\nexport class OnmsServiceType {\n /** get a singleton service type object for the given service */\n public static for(id: number, name: string) {\n if (ServiceTypes[id]) {\n if (ServiceTypes[id].name === name) {\n return ServiceTypes[id];\n } else {\n log.warn('Service type ID ' + id + ' is already cached, but names do not match!'\n + ' (' + ServiceTypes[id].name + ' != ' + name + ')', catServiceType);\n }\n }\n ServiceTypes[id] = new OnmsServiceType(id, name);\n return ServiceTypes[id];\n }\n\n /** the service ID */\n public id: number;\n\n /** the service name */\n public name: string;\n\n /** given an ID and name, construct a service type */\n constructor(id: number, name: string) {\n this.id = id;\n this.name = name;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsServiceType.ts","module.exports = require(\"regenerator-runtime\");\n\n\n\n// WEBPACK FOOTER //\n// ./~/babel-runtime/regenerator/index.js","\"use strict\";\nvar CategoryService_1 = require(\"../log/category/CategoryService\");\nvar LoggerOptions_1 = require(\"../log/LoggerOptions\");\nvar MessageUtils_1 = require(\"../utils/MessageUtils\");\nvar ExtensionHelper = (function () {\n function ExtensionHelper() {\n // Private constructor\n }\n /**\n * Enables the window event listener to listen to messages (from extensions).\n * Can be registered/enabled only once.\n */\n ExtensionHelper.register = function () {\n if (!ExtensionHelper.registered) {\n ExtensionHelper.registered = true;\n var listener = function (evt) {\n var msg = evt.data;\n if (msg !== null) {\n ExtensionHelper.processMessageFromExtension(msg);\n }\n };\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"message\", listener);\n window.addEventListener(\"message\", listener);\n }\n }\n };\n ExtensionHelper.processMessageFromExtension = function (msg) {\n if (!ExtensionHelper.registered) {\n return;\n }\n /* tslint:disable:no-console */\n if (msg.from === \"tsl-extension\") {\n var data = msg.data;\n switch (data.type) {\n case \"register\":\n ExtensionHelper.enableExtensionIntegration();\n break;\n case \"request-change-loglevel\":\n var valueRequest = data.value;\n var catsApplied = ExtensionHelper.applyLogLevel(valueRequest.categoryId, valueRequest.logLevel, valueRequest.recursive);\n if (catsApplied.length > 0) {\n // Send changes back\n ExtensionHelper.sendCategoriesRuntimeUpdateMessage(catsApplied);\n }\n break;\n default:\n console.log(\"Unknown command to process message from extension, command was: \" + data.type);\n break;\n }\n }\n /* tslint:enable:no-console */\n };\n ExtensionHelper.sendCategoryLogMessage = function (msg) {\n if (!ExtensionHelper.registered) {\n return;\n }\n var categoryIds = msg.getCategories().map(function (cat) {\n return cat.id;\n });\n var content = {\n type: \"log-message\",\n value: {\n categories: categoryIds,\n errorAsStack: msg.getErrorAsStack(),\n formattedMessage: MessageUtils_1.MessageFormatUtils.renderDefaultMessage(msg, false),\n logLevel: LoggerOptions_1.LogLevel[msg.getLevel()].toString(),\n message: msg.getMessage(),\n resolvedErrorMessage: msg.isResolvedErrorMessage()\n }\n };\n var message = {\n data: content,\n from: \"tsl-logging\",\n };\n ExtensionHelper.sendMessage(message);\n };\n ExtensionHelper.sendCategoriesRuntimeUpdateMessage = function (categories) {\n if (!ExtensionHelper.registered) {\n return;\n }\n var service = CategoryService_1.CategoryServiceImpl.getInstance();\n var catLevels = { categories: Array() };\n categories.forEach(function (cat) {\n var catSettings = service.getCategorySettings(cat);\n if (catSettings != null) {\n catLevels.categories.push({ id: cat.id, logLevel: LoggerOptions_1.LogLevel[catSettings.logLevel].toString() });\n }\n });\n var content = {\n type: \"categories-rt-update\",\n value: catLevels,\n };\n var message = {\n data: content,\n from: \"tsl-logging\"\n };\n ExtensionHelper.sendMessage(message);\n };\n ExtensionHelper.sendRootCategoriesToExtension = function () {\n if (!ExtensionHelper.registered) {\n return;\n }\n var categories = CategoryService_1.CategoryServiceImpl.getInstance().getRootCategories().map(function (cat) {\n return ExtensionHelper.getCategoryAsJSON(cat);\n });\n var content = {\n type: \"root-categories-tree\",\n value: categories\n };\n var message = {\n data: content,\n from: \"tsl-logging\"\n };\n ExtensionHelper.sendMessage(message);\n };\n /**\n * If extension integration is enabled, will send the root categories over to the extension.\n * Otherwise does nothing.\n */\n ExtensionHelper.getCategoryAsJSON = function (cat) {\n var childCategories = cat.children.map(function (child) {\n return ExtensionHelper.getCategoryAsJSON(child);\n });\n return {\n children: childCategories,\n id: cat.id,\n logLevel: LoggerOptions_1.LogLevel[cat.logLevel].toString(),\n name: cat.name,\n parentId: (cat.parent != null ? cat.parent.id : null),\n };\n };\n ExtensionHelper.applyLogLevel = function (categoryId, logLevel, recursive) {\n var cats = [];\n var category = CategoryService_1.CategoryServiceImpl.getInstance().getCategoryById(categoryId);\n if (category != null) {\n ExtensionHelper._applyLogLevelRecursive(category, LoggerOptions_1.LogLevel.fromString(logLevel), recursive, cats);\n }\n else {\n /* tslint:disable:no-console */\n console.log(\"Could not change log level, failed to find category with id: \" + categoryId);\n }\n return cats;\n };\n ExtensionHelper._applyLogLevelRecursive = function (category, logLevel, recursive, cats) {\n var categorySettings = CategoryService_1.CategoryServiceImpl.getInstance().getCategorySettings(category);\n if (categorySettings != null) {\n categorySettings.logLevel = logLevel;\n cats.push(category);\n if (recursive) {\n category.children.forEach(function (child) {\n ExtensionHelper._applyLogLevelRecursive(child, logLevel, recursive, cats);\n });\n }\n }\n };\n ExtensionHelper.getAllCategories = function () {\n var cats = [];\n var addCats = function (cat, allCats) {\n allCats.push(cat);\n cat.children.forEach(function (catChild) {\n addCats(catChild, allCats);\n });\n };\n CategoryService_1.CategoryServiceImpl.getInstance().getRootCategories().forEach(function (cat) {\n addCats(cat, cats);\n });\n return cats;\n };\n ExtensionHelper.sendMessage = function (msg) {\n if (!ExtensionHelper.registered) {\n return;\n }\n if (typeof window !== \"undefined\") {\n window.postMessage(msg, \"*\");\n }\n };\n /**\n * Extension framework will call this to enable the integration between two,\n * after this call the framework will respond with postMessage() messages.\n */\n ExtensionHelper.enableExtensionIntegration = function () {\n if (!ExtensionHelper.registered) {\n return;\n }\n var instance = CategoryService_1.CategoryServiceImpl.getInstance();\n instance.enableExtensionIntegration();\n // Send over all categories\n ExtensionHelper.sendRootCategoriesToExtension();\n // Send over the current runtime levels\n var cats = ExtensionHelper.getAllCategories();\n ExtensionHelper.sendCategoriesRuntimeUpdateMessage(cats);\n };\n return ExtensionHelper;\n}());\nExtensionHelper.registered = false;\nexports.ExtensionHelper = ExtensionHelper;\n//# sourceMappingURL=ExtensionHelper.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/extension/ExtensionHelper.js","\"use strict\";\nvar DataStructures_1 = require(\"../../utils/DataStructures\");\nvar MessageUtils_1 = require(\"../../utils/MessageUtils\");\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\nvar CategoryLogMessageImpl = (function () {\n function CategoryLogMessageImpl(message, error, categories, date, level, logFormat, ready) {\n this._resolvedErrorMessage = false;\n this._errorAsStack = null;\n this._message = message;\n this._error = error;\n this._categories = categories;\n this._date = date;\n this._level = level;\n this._logFormat = logFormat;\n this._ready = ready;\n }\n CategoryLogMessageImpl.prototype.getMessage = function () {\n return this._message;\n };\n CategoryLogMessageImpl.prototype.getErrorAsStack = function () {\n return this._errorAsStack;\n };\n CategoryLogMessageImpl.prototype.setErrorAsStack = function (stack) {\n this._errorAsStack = stack;\n };\n CategoryLogMessageImpl.prototype.getError = function () {\n return this._error;\n };\n CategoryLogMessageImpl.prototype.getCategories = function () {\n return this._categories;\n };\n CategoryLogMessageImpl.prototype.getDate = function () {\n return this._date;\n };\n CategoryLogMessageImpl.prototype.getLevel = function () {\n return this._level;\n };\n CategoryLogMessageImpl.prototype.getLogFormat = function () {\n return this._logFormat;\n };\n CategoryLogMessageImpl.prototype.isReady = function () {\n return this._ready;\n };\n CategoryLogMessageImpl.prototype.setReady = function (value) {\n this._ready = value;\n };\n Object.defineProperty(CategoryLogMessageImpl.prototype, \"resolvedErrorMessage\", {\n get: function () {\n return this._resolvedErrorMessage;\n },\n set: function (value) {\n this._resolvedErrorMessage = value;\n },\n enumerable: true,\n configurable: true\n });\n CategoryLogMessageImpl.prototype.isResolvedErrorMessage = function () {\n return this._resolvedErrorMessage;\n };\n return CategoryLogMessageImpl;\n}());\n/**\n * Abstract category logger, use as your base class for new type of loggers (it\n * saves you a lot of work) and override doLog(CategoryLogMessage). The message argument\n * provides full access to anything related to the logging event.\n * If you just want the standard line of logging, call: this.createDefaultLogMessage(msg) on\n * this class which will return you the formatted log message as string (e.g. the\n * default loggers all use this).\n */\nvar AbstractCategoryLogger = (function () {\n function AbstractCategoryLogger(rootCategory, runtimeSettings) {\n this.allMessages = new DataStructures_1.LinkedList();\n this.rootCategory = rootCategory;\n this.runtimeSettings = runtimeSettings;\n }\n AbstractCategoryLogger.prototype.trace = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._log.apply(this, [LoggerOptions_1.LogLevel.Trace, msg, null, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.debug = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._log.apply(this, [LoggerOptions_1.LogLevel.Debug, msg, null, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.info = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._log.apply(this, [LoggerOptions_1.LogLevel.Info, msg, null, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.warn = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._log.apply(this, [LoggerOptions_1.LogLevel.Warn, msg, null, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.error = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n this._log.apply(this, [LoggerOptions_1.LogLevel.Error, msg, error, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.fatal = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n this._log.apply(this, [LoggerOptions_1.LogLevel.Fatal, msg, error, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.resolved = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n this._log.apply(this, [LoggerOptions_1.LogLevel.Error, msg, error, true].concat(categories));\n };\n AbstractCategoryLogger.prototype.log = function (level, msg, error) {\n var categories = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n categories[_i - 3] = arguments[_i];\n }\n this._log.apply(this, [level, msg, error, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.tracec = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._logc.apply(this, [LoggerOptions_1.LogLevel.Trace, msg, function () { return null; }, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.debugc = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._logc.apply(this, [LoggerOptions_1.LogLevel.Debug, msg, function () { return null; }, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.infoc = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._logc.apply(this, [LoggerOptions_1.LogLevel.Info, msg, function () { return null; }, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.warnc = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n this._logc.apply(this, [LoggerOptions_1.LogLevel.Warn, msg, function () { return null; }, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.errorc = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n this._logc.apply(this, [LoggerOptions_1.LogLevel.Error, msg, error, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.fatalc = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n this._logc.apply(this, [LoggerOptions_1.LogLevel.Fatal, msg, error, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.resolvedc = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n this._logc.apply(this, [LoggerOptions_1.LogLevel.Error, msg, error, true].concat(categories));\n };\n AbstractCategoryLogger.prototype.logc = function (level, msg, error) {\n var categories = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n categories[_i - 3] = arguments[_i];\n }\n this._logc.apply(this, [level, msg, error, false].concat(categories));\n };\n AbstractCategoryLogger.prototype.getRootCategory = function () {\n return this.rootCategory;\n };\n AbstractCategoryLogger.prototype.createDefaultLogMessage = function (msg) {\n return MessageUtils_1.MessageFormatUtils.renderDefaultMessage(msg, true);\n };\n AbstractCategoryLogger.prototype._log = function (level, msg, error, resolved) {\n if (error === void 0) { error = null; }\n if (resolved === void 0) { resolved = false; }\n var categories = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n categories[_i - 4] = arguments[_i];\n }\n this._logInternal.apply(this, [level, function () { return msg; }, function () { return error; }, resolved].concat(categories));\n };\n AbstractCategoryLogger.prototype._logc = function (level, msg, error, resolved) {\n if (resolved === void 0) { resolved = false; }\n var categories = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n categories[_i - 4] = arguments[_i];\n }\n this._logInternal.apply(this, [level, msg, error, resolved].concat(categories));\n };\n AbstractCategoryLogger.prototype._logInternal = function (level, msg, error, resolved) {\n var _this = this;\n var categories = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n categories[_i - 4] = arguments[_i];\n }\n var logCategories;\n // Log root category by default if none present\n if (categories !== undefined && categories.length > 0) {\n logCategories = categories;\n }\n else {\n logCategories = [];\n logCategories.push(this.rootCategory);\n }\n var _loop_1 = function (i) {\n var category = logCategories[i];\n if (category == null) {\n throw new Error(\"Cannot have a null element within categories, at index=\" + i);\n }\n var settings = this_1.runtimeSettings.getCategorySettings(category);\n if (settings == null) {\n throw new Error(\"Category with path: \" + category.getCategoryPath() + \" is not registered with this logger, maybe \" +\n \"you registered it with a different root logger?\");\n }\n if (settings.logLevel <= level) {\n var actualError = error != null ? error() : null;\n if (actualError == null) {\n var logMessage = new CategoryLogMessageImpl(msg(), actualError, logCategories, new Date(), level, settings.logFormat, true);\n logMessage.resolvedErrorMessage = resolved;\n this_1.allMessages.addTail(logMessage);\n this_1.processMessages();\n }\n else {\n var logMessage_1 = new CategoryLogMessageImpl(msg(), actualError, logCategories, new Date(), level, settings.logFormat, false);\n logMessage_1.resolvedErrorMessage = resolved;\n this_1.allMessages.addTail(logMessage_1);\n MessageUtils_1.MessageFormatUtils.renderError(actualError).then(function (stack) {\n logMessage_1.setErrorAsStack(stack);\n logMessage_1.setReady(true);\n _this.processMessages();\n });\n }\n return \"break\";\n }\n };\n var this_1 = this;\n // Get the runtime levels for given categories. If their level is lower than given level, we log.\n // In addition we pass along which category/categories we log this statement for.\n for (var i = 0; i < logCategories.length; i++) {\n var state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n };\n AbstractCategoryLogger.prototype.processMessages = function () {\n // Basically we wait until errors are resolved (those messages\n // may not be ready).\n var msgs = this.allMessages;\n if (msgs.getSize() > 0) {\n do {\n var msg = msgs.getHead();\n if (msg != null) {\n if (!msg.isReady()) {\n break;\n }\n msgs.removeHead();\n this.doLog(msg);\n }\n } while (msgs.getSize() > 0);\n }\n };\n return AbstractCategoryLogger;\n}());\nexports.AbstractCategoryLogger = AbstractCategoryLogger;\n//# sourceMappingURL=AbstractCategoryLogger.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/category/AbstractCategoryLogger.js","\"use strict\";\nvar DataStructures_1 = require(\"../../utils/DataStructures\");\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\nvar CategoryConsoleLoggerImpl_1 = require(\"./CategoryConsoleLoggerImpl\");\nvar CategoryDelegateLoggerImpl_1 = require(\"./CategoryDelegateLoggerImpl\");\nvar CategoryExtensionLoggerImpl_1 = require(\"./CategoryExtensionLoggerImpl\");\nvar CategoryMessageBufferImpl_1 = require(\"./CategoryMessageBufferImpl\");\nvar ExtensionHelper_1 = require(\"../../extension/ExtensionHelper\");\n/**\n * RuntimeSettings for a category, at runtime these are associated to a category.\n */\nvar CategoryRuntimeSettings = (function () {\n function CategoryRuntimeSettings(category, logLevel, loggerType, logFormat, callBackLogger) {\n if (logLevel === void 0) { logLevel = LoggerOptions_1.LogLevel.Error; }\n if (loggerType === void 0) { loggerType = LoggerOptions_1.LoggerType.Console; }\n if (logFormat === void 0) { logFormat = new LoggerOptions_1.CategoryLogFormat(); }\n if (callBackLogger === void 0) { callBackLogger = null; }\n this._category = category;\n this._logLevel = logLevel;\n this._loggerType = loggerType;\n this._logFormat = logFormat;\n this._callBackLogger = callBackLogger;\n }\n Object.defineProperty(CategoryRuntimeSettings.prototype, \"category\", {\n get: function () {\n return this._category;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryRuntimeSettings.prototype, \"logLevel\", {\n get: function () {\n return this._logLevel;\n },\n set: function (value) {\n this._logLevel = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryRuntimeSettings.prototype, \"loggerType\", {\n get: function () {\n return this._loggerType;\n },\n set: function (value) {\n this._loggerType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryRuntimeSettings.prototype, \"logFormat\", {\n get: function () {\n return this._logFormat;\n },\n set: function (value) {\n this._logFormat = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryRuntimeSettings.prototype, \"callBackLogger\", {\n get: function () {\n return this._callBackLogger;\n },\n set: function (value) {\n this._callBackLogger = value;\n },\n enumerable: true,\n configurable: true\n });\n return CategoryRuntimeSettings;\n}());\nexports.CategoryRuntimeSettings = CategoryRuntimeSettings;\n/**\n * Default configuration, can be used to initially set a different default configuration\n * on the CategoryServiceFactory. This will be applied to all categories already registered (or\n * registered in the future). Can also be applied to one Category (and childs).\n */\nvar CategoryDefaultConfiguration = (function () {\n /**\n * Create a new instance\n * @param logLevel Log level for all loggers, default is LogLevel.Error\n * @param loggerType Where to log, default is LoggerType.Console\n * @param logFormat What logging format to use, use default instance, for default values see CategoryLogFormat.\n * @param callBackLogger Optional callback, if LoggerType.Custom is used as loggerType. In that case must return a new Logger instance.\n * It is recommended to extend AbstractCategoryLogger to make your custom logger.\n */\n function CategoryDefaultConfiguration(logLevel, loggerType, logFormat, callBackLogger) {\n if (logLevel === void 0) { logLevel = LoggerOptions_1.LogLevel.Error; }\n if (loggerType === void 0) { loggerType = LoggerOptions_1.LoggerType.Console; }\n if (logFormat === void 0) { logFormat = new LoggerOptions_1.CategoryLogFormat(); }\n if (callBackLogger === void 0) { callBackLogger = null; }\n this._logLevel = logLevel;\n this._loggerType = loggerType;\n this._logFormat = logFormat;\n this._callBackLogger = callBackLogger;\n if (this._loggerType === LoggerOptions_1.LoggerType.Custom && this.callBackLogger === null) {\n throw new Error(\"If you specify loggerType to be Custom, you must provide the callBackLogger argument\");\n }\n }\n Object.defineProperty(CategoryDefaultConfiguration.prototype, \"logLevel\", {\n get: function () {\n return this._logLevel;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryDefaultConfiguration.prototype, \"loggerType\", {\n get: function () {\n return this._loggerType;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryDefaultConfiguration.prototype, \"logFormat\", {\n get: function () {\n return this._logFormat;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CategoryDefaultConfiguration.prototype, \"callBackLogger\", {\n get: function () {\n return this._callBackLogger;\n },\n enumerable: true,\n configurable: true\n });\n CategoryDefaultConfiguration.prototype.copy = function () {\n return new CategoryDefaultConfiguration(this.logLevel, this.loggerType, this.logFormat.copy(), this.callBackLogger);\n };\n return CategoryDefaultConfiguration;\n}());\nexports.CategoryDefaultConfiguration = CategoryDefaultConfiguration;\n/**\n * The service (only available as singleton) for all category related stuff as\n * retrieving, registering a logger. You should normally NOT use this,\n * instead use CategoryLoggerFactory which is meant for end users.\n */\nvar CategoryServiceImpl = (function () {\n function CategoryServiceImpl() {\n this._defaultConfig = new CategoryDefaultConfiguration();\n // All registered root categories\n this._rootCategories = [];\n // Key of map is path of category\n this._categoryRuntimeSettings = new DataStructures_1.SimpleMap();\n // Same, but these are never changed and are used to restore the previous state by the CategoryLoggerControl.\n this._categoryOriginalRuntimeSettings = new DataStructures_1.SimpleMap();\n // Key is name of root logger.\n this._rootLoggers = new DataStructures_1.SimpleMap();\n // Private constructor\n ExtensionHelper_1.ExtensionHelper.register();\n }\n CategoryServiceImpl.getInstance = function () {\n // Load on-demand, to assure webpack ordering of module usage doesn't screw things over\n // for us when we accidentally change the order.\n if (CategoryServiceImpl._INSTANCE === null) {\n CategoryServiceImpl._INSTANCE = new CategoryServiceImpl();\n }\n return CategoryServiceImpl._INSTANCE;\n };\n CategoryServiceImpl.prototype.getLogger = function (root) {\n if (!this.rootCategoryExists(root)) {\n throw new Error(\"Given category \" + root.name + \" is not registered as a root category. You must use the root category to retrieve a logger.\");\n }\n var pair = this._rootLoggers.get(root.name);\n if (pair != null) {\n return pair.y;\n }\n var logger = new CategoryDelegateLoggerImpl_1.CategoryDelegateLoggerImpl(this.createRootLogger(root));\n this._rootLoggers.put(root.name, new DataStructures_1.TuplePair(root, logger));\n return logger;\n };\n /**\n * Clears everything, including a default configuration you may have set.\n * After this you need to re-register your categories etc.\n */\n CategoryServiceImpl.prototype.clear = function () {\n this._rootCategories = [];\n this._categoryRuntimeSettings.clear();\n this._categoryOriginalRuntimeSettings.clear();\n this._rootLoggers.clear();\n this.setDefaultConfiguration(new CategoryDefaultConfiguration());\n };\n CategoryServiceImpl.prototype.getCategorySettings = function (category) {\n return this._categoryRuntimeSettings.get(category.getCategoryPath());\n };\n CategoryServiceImpl.prototype.getOriginalCategorySettings = function (category) {\n return this._categoryOriginalRuntimeSettings.get(category.getCategoryPath());\n };\n /**\n * Set the default configuration. New root loggers created get this\n * applied. If you want to reset all current loggers to have this\n * applied as well, pass in reset=true (the default is false). All\n * categories will be reset then as well.\n * @param config New config\n * @param reset Defaults to false. Set to true to reset all loggers and current runtimesettings.\n */\n CategoryServiceImpl.prototype.setDefaultConfiguration = function (config, reset) {\n var _this = this;\n if (reset === void 0) { reset = false; }\n this._defaultConfig = config;\n if (reset) {\n // Reset all runtimesettings (this will reset it for roots & children all at once).\n var newRuntimeSettings_1 = new DataStructures_1.SimpleMap();\n var newOriginalRuntimeSettings_1 = new DataStructures_1.SimpleMap();\n this._categoryRuntimeSettings.keys().forEach(function (key) {\n var setting = _this._categoryRuntimeSettings.get(key);\n if (setting !== null) {\n var defSettings = _this._defaultConfig.copy();\n var settings = new CategoryRuntimeSettings(setting.category, defSettings.logLevel, defSettings.loggerType, defSettings.logFormat, defSettings.callBackLogger);\n var defSettingsOriginal = _this._defaultConfig.copy();\n var settingsOriginal = new CategoryRuntimeSettings(setting.category, defSettingsOriginal.logLevel, defSettingsOriginal.loggerType, defSettingsOriginal.logFormat, defSettingsOriginal.callBackLogger);\n newRuntimeSettings_1.put(key, settings);\n newOriginalRuntimeSettings_1.put(key, settingsOriginal);\n }\n else {\n throw new Error(\"No setting associated with key=\" + key);\n }\n });\n this._categoryRuntimeSettings.clear();\n this._categoryOriginalRuntimeSettings.clear();\n this._categoryRuntimeSettings = newRuntimeSettings_1;\n this._categoryOriginalRuntimeSettings = newOriginalRuntimeSettings_1;\n // Now initialize a new logger and put it on the delegate. Loggers we give out\n // are guaranteed to be wrapped inside the delegate logger.\n this._rootLoggers.values().forEach(function (pair) {\n // Set the new logger type\n pair.y.delegate = _this.createRootLogger(pair.x);\n });\n }\n };\n /**\n * Set new configuration settings for a category (and possibly its child categories)\n * @param config Config\n * @param category Category\n * @param applyChildren True to apply to child categories, defaults to false.\n * @param resetRootLogger Defaults to false. If set to true and if category is a root category it will reset the root logger.\n */\n CategoryServiceImpl.prototype.setConfigurationCategory = function (config, category, applyChildren, resetRootLogger) {\n var _this = this;\n if (applyChildren === void 0) { applyChildren = false; }\n if (resetRootLogger === void 0) { resetRootLogger = false; }\n var categorySettings = this.getCategorySettings(category);\n if (categorySettings === null) {\n throw new Error(\"Given category is not registered: \" + category.name);\n }\n categorySettings.logLevel = config.logLevel;\n categorySettings.loggerType = config.loggerType;\n categorySettings.logFormat = config.logFormat;\n categorySettings.callBackLogger = config.callBackLogger;\n // Apply the settings to children recursive if requested\n if (applyChildren) {\n category.children.forEach(function (child) {\n _this.setConfigurationCategory(config, child, applyChildren, resetRootLogger);\n });\n }\n if (resetRootLogger && this.rootCategoryExists(category)) {\n var tupleLogger = this._rootLoggers.get(category.name);\n if (tupleLogger !== null) {\n tupleLogger.y.delegate = this.createRootLogger(tupleLogger.x);\n }\n }\n };\n CategoryServiceImpl.prototype.registerCategory = function (category) {\n if (category == null || category === undefined) {\n throw new Error(\"Category CANNOT be null\");\n }\n var parent = category.parent;\n if (parent == null) {\n // Register the root category\n for (var _i = 0, _a = this._rootCategories; _i < _a.length; _i++) {\n var rootCategory = _a[_i];\n if (rootCategory.name === category.name) {\n throw new Error(\"Cannot add this rootCategory with name: \" + category.name + \", another root category is already registered with that name.\");\n }\n }\n this._rootCategories.push(category);\n }\n this.initializeRuntimeSettingsForCategory(category);\n };\n /**\n * Used to enable integration with chrome extension. Do not use manually, the\n * extension and the logger framework deal with this.\n */\n CategoryServiceImpl.prototype.enableExtensionIntegration = function () {\n var _this = this;\n this._rootLoggers.values().forEach(function (pair) {\n // Set the new logger type if needed.\n var delegateLogger = pair.y;\n if (!(delegateLogger instanceof CategoryExtensionLoggerImpl_1.CategoryExtensionLoggerImpl)) {\n /* tslint:disable:no-console */\n console.log(\"Reconfiguring root logger for root category: \" + pair.x.name);\n /* tslint:enable:no-console */\n pair.y.delegate = new CategoryExtensionLoggerImpl_1.CategoryExtensionLoggerImpl(pair.x, _this);\n }\n });\n };\n /**\n * Return all root categories currently registered.\n */\n CategoryServiceImpl.prototype.getRootCategories = function () {\n return this._rootCategories.slice(0);\n };\n /**\n * Return Category by id\n * @param id The id of the category to find\n * @returns {Category} or null if not found\n */\n CategoryServiceImpl.prototype.getCategoryById = function (id) {\n var result = this._categoryRuntimeSettings.values().filter(function (cat) { return cat.category.id === id; })\n .map(function (cat) { return cat.category; });\n if (result.length === 1) {\n return result[0];\n }\n return null;\n };\n CategoryServiceImpl.prototype.initializeRuntimeSettingsForCategory = function (category) {\n var settings = this._categoryRuntimeSettings.get(category.getCategoryPath());\n if (settings !== null) {\n throw new Error(\"Category with path: \" + category.getCategoryPath() + \" is already registered?\");\n }\n // Passing the callback is not really needed for child categories, but don't really care.\n var defSettings = this._defaultConfig.copy();\n settings = new CategoryRuntimeSettings(category, defSettings.logLevel, defSettings.loggerType, defSettings.logFormat, defSettings.callBackLogger);\n var defSettingsOriginal = this._defaultConfig.copy();\n var settingsOriginal = new CategoryRuntimeSettings(category, defSettingsOriginal.logLevel, defSettingsOriginal.loggerType, defSettingsOriginal.logFormat, defSettingsOriginal.callBackLogger);\n this._categoryRuntimeSettings.put(category.getCategoryPath(), settings);\n this._categoryOriginalRuntimeSettings.put(category.getCategoryPath(), settingsOriginal);\n };\n CategoryServiceImpl.prototype.rootCategoryExists = function (rootCategory) {\n if (rootCategory == null || rootCategory === undefined) {\n throw new Error(\"Root category CANNOT be null\");\n }\n var parent = rootCategory.parent;\n if (parent != null) {\n throw new Error(\"Parent must be null for a root category\");\n }\n return this._rootCategories.indexOf(rootCategory) !== -1;\n };\n CategoryServiceImpl.prototype.createRootLogger = function (category) {\n // Default is always a console logger\n switch (this._defaultConfig.loggerType) {\n case LoggerOptions_1.LoggerType.Console:\n return new CategoryConsoleLoggerImpl_1.CategoryConsoleLoggerImpl(category, this);\n case LoggerOptions_1.LoggerType.MessageBuffer:\n return new CategoryMessageBufferImpl_1.CategoryMessageBufferLoggerImpl(category, this);\n case LoggerOptions_1.LoggerType.Custom:\n if (this._defaultConfig.callBackLogger == null) {\n throw new Error(\"Cannot create custom logger, custom callback is null\");\n }\n else {\n return this._defaultConfig.callBackLogger(category, this);\n }\n default:\n throw new Error(\"Cannot create a Logger for LoggerType: \" + this._defaultConfig.loggerType);\n }\n };\n return CategoryServiceImpl;\n}());\n// Singleton category service, used by CategoryServiceFactory as well as Categories.\n// Loaded on demand. Do NOT change as webpack may pack things in wrong order otherwise.\nCategoryServiceImpl._INSTANCE = null;\nexports.CategoryServiceImpl = CategoryServiceImpl;\n/**\n * Categorized service for logging, where logging is bound to categories which\n * can log horizontally through specific application logic (services, group(s) of components etc).\n * For the standard way of logging like most frameworks do these days, use LFService instead.\n * If you want fine grained control to divide sections of your application in\n * logical units to enable/disable logging for, this is the service you want to use instead.\n * Also for this type a browser plugin will be available.\n */\nvar CategoryServiceFactory = (function () {\n function CategoryServiceFactory() {\n // Private constructor.\n }\n /**\n * Return a CategoryLogger for given ROOT category (thus has no parent).\n * You can only retrieve loggers for their root, when logging\n * you specify to log for what (child)categories.\n * @param root Category root (has no parent)\n * @returns {CategoryLogger}\n */\n CategoryServiceFactory.getLogger = function (root) {\n return CategoryServiceImpl.getInstance().getLogger(root);\n };\n /**\n * Clears everything, any registered (root)categories and loggers\n * are discarded. Resets to default configuration.\n */\n CategoryServiceFactory.clear = function () {\n return CategoryServiceImpl.getInstance().clear();\n };\n /**\n * Set the default configuration. New root loggers created get this\n * applied. If you want to reset all current loggers to have this\n * applied as well, pass in reset=true (the default is false). All\n * categories runtimesettings will be reset then as well.\n * @param config The new default configuration\n * @param reset If true, will reset *all* runtimesettings for all loggers/categories to these.\n */\n CategoryServiceFactory.setDefaultConfiguration = function (config, reset) {\n if (reset === void 0) { reset = false; }\n CategoryServiceImpl.getInstance().setDefaultConfiguration(config, reset);\n };\n /**\n * Set new configuration settings for a category (and possibly its child categories)\n * @param config Config\n * @param category Category\n * @param applyChildren True to apply to child categories, defaults to false.\n * @param resetRootLogger Defaults to false. If set to true and if category is a root category it will reset the root logger.\n */\n CategoryServiceFactory.setConfigurationCategory = function (config, category, applyChildren, resetRootLogger) {\n if (applyChildren === void 0) { applyChildren = false; }\n if (resetRootLogger === void 0) { resetRootLogger = false; }\n CategoryServiceImpl.getInstance().setConfigurationCategory(config, category, applyChildren, resetRootLogger);\n };\n /**\n * Return RuntimeSettings to retrieve information about\n * RuntimeSettings for categories.\n * @returns {RuntimeSettings}\n */\n CategoryServiceFactory.getRuntimeSettings = function () {\n return CategoryServiceImpl.getInstance();\n };\n return CategoryServiceFactory;\n}());\nexports.CategoryServiceFactory = CategoryServiceFactory;\n//# sourceMappingURL=CategoryService.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/category/CategoryService.js","\"use strict\";\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\nvar DataStructures_1 = require(\"../../utils/DataStructures\");\nvar MessageUtils_1 = require(\"../../utils/MessageUtils\");\nvar LogMessageInternalImpl = (function () {\n function LogMessageInternalImpl(loggerName, message, errorAsStack, error, logGroupRule, date, level, ready) {\n this._errorAsStack = null;\n this._error = null;\n this._loggerName = loggerName;\n this._message = message;\n this._errorAsStack = errorAsStack;\n this._error = error;\n this._logGroupRule = logGroupRule;\n this._date = date;\n this._level = level;\n this._ready = ready;\n }\n Object.defineProperty(LogMessageInternalImpl.prototype, \"loggerName\", {\n get: function () {\n return this._loggerName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogMessageInternalImpl.prototype, \"message\", {\n get: function () {\n return this._message;\n },\n set: function (value) {\n this._message = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogMessageInternalImpl.prototype, \"errorAsStack\", {\n get: function () {\n return this._errorAsStack;\n },\n set: function (value) {\n this._errorAsStack = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogMessageInternalImpl.prototype, \"error\", {\n get: function () {\n return this._error;\n },\n set: function (value) {\n this._error = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogMessageInternalImpl.prototype, \"logGroupRule\", {\n get: function () {\n return this._logGroupRule;\n },\n set: function (value) {\n this._logGroupRule = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogMessageInternalImpl.prototype, \"date\", {\n get: function () {\n return this._date;\n },\n set: function (value) {\n this._date = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogMessageInternalImpl.prototype, \"level\", {\n get: function () {\n return this._level;\n },\n set: function (value) {\n this._level = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogMessageInternalImpl.prototype, \"ready\", {\n get: function () {\n return this._ready;\n },\n set: function (value) {\n this._ready = value;\n },\n enumerable: true,\n configurable: true\n });\n return LogMessageInternalImpl;\n}());\n/**\n * Abstract base logger, extend to easily implement a custom logger that\n * logs wherever you want. You only need to implement doLog(msg: LogMessage) and\n * log that somewhere (it will contain format and everything else).\n */\nvar AbstractLogger = (function () {\n function AbstractLogger(name, logGroupRuntimeSettings) {\n this._allMessages = new DataStructures_1.LinkedList();\n this._open = true;\n this._name = name;\n this._logGroupRuntimeSettings = logGroupRuntimeSettings;\n }\n Object.defineProperty(AbstractLogger.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n AbstractLogger.prototype.trace = function (msg, error) {\n if (error === void 0) { error = null; }\n this._log(LoggerOptions_1.LogLevel.Trace, msg, error);\n };\n AbstractLogger.prototype.debug = function (msg, error) {\n if (error === void 0) { error = null; }\n this._log(LoggerOptions_1.LogLevel.Debug, msg, error);\n };\n AbstractLogger.prototype.info = function (msg, error) {\n if (error === void 0) { error = null; }\n this._log(LoggerOptions_1.LogLevel.Info, msg, error);\n };\n AbstractLogger.prototype.warn = function (msg, error) {\n if (error === void 0) { error = null; }\n this._log(LoggerOptions_1.LogLevel.Warn, msg, error);\n };\n AbstractLogger.prototype.error = function (msg, error) {\n if (error === void 0) { error = null; }\n this._log(LoggerOptions_1.LogLevel.Error, msg, error);\n };\n AbstractLogger.prototype.fatal = function (msg, error) {\n if (error === void 0) { error = null; }\n this._log(LoggerOptions_1.LogLevel.Fatal, msg, error);\n };\n AbstractLogger.prototype.tracec = function (msg, error) {\n this._logc(LoggerOptions_1.LogLevel.Trace, msg, error);\n };\n AbstractLogger.prototype.debugc = function (msg, error) {\n this._logc(LoggerOptions_1.LogLevel.Debug, msg, error);\n };\n AbstractLogger.prototype.infoc = function (msg, error) {\n this._logc(LoggerOptions_1.LogLevel.Info, msg, error);\n };\n AbstractLogger.prototype.warnc = function (msg, error) {\n this._logc(LoggerOptions_1.LogLevel.Warn, msg, error);\n };\n AbstractLogger.prototype.errorc = function (msg, error) {\n this._logc(LoggerOptions_1.LogLevel.Error, msg, error);\n };\n AbstractLogger.prototype.fatalc = function (msg, error) {\n this._logc(LoggerOptions_1.LogLevel.Fatal, msg, error);\n };\n AbstractLogger.prototype.isTraceEnabled = function () {\n return this._logGroupRuntimeSettings.level === LoggerOptions_1.LogLevel.Trace;\n };\n AbstractLogger.prototype.isDebugEnabled = function () {\n return this._logGroupRuntimeSettings.level <= LoggerOptions_1.LogLevel.Debug;\n };\n AbstractLogger.prototype.isInfoEnabled = function () {\n return this._logGroupRuntimeSettings.level <= LoggerOptions_1.LogLevel.Info;\n };\n AbstractLogger.prototype.isWarnEnabled = function () {\n return this._logGroupRuntimeSettings.level <= LoggerOptions_1.LogLevel.Warn;\n };\n AbstractLogger.prototype.isErrorEnabled = function () {\n return this._logGroupRuntimeSettings.level <= LoggerOptions_1.LogLevel.Error;\n };\n AbstractLogger.prototype.isFatalEnabled = function () {\n return this._logGroupRuntimeSettings.level <= LoggerOptions_1.LogLevel.Fatal;\n };\n AbstractLogger.prototype.getLogLevel = function () {\n return this._logGroupRuntimeSettings.level;\n };\n AbstractLogger.prototype.isOpen = function () {\n return this._open;\n };\n AbstractLogger.prototype.close = function () {\n this._open = false;\n this._allMessages.clear();\n };\n AbstractLogger.prototype.createDefaultLogMessage = function (msg) {\n return MessageUtils_1.MessageFormatUtils.renderDefaultLog4jMessage(msg, true);\n };\n AbstractLogger.prototype._log = function (level, msg, error) {\n if (error === void 0) { error = null; }\n if (this._open && this._logGroupRuntimeSettings.level <= level) {\n this._allMessages.addTail(this.createMessage(level, msg, new Date(), error));\n this.processMessages();\n }\n };\n AbstractLogger.prototype._logc = function (level, msg, error) {\n if (this._open && this._logGroupRuntimeSettings.level <= level) {\n this._allMessages.addTail(this.createMessage(level, msg(), new Date(), error !== undefined && error !== null ? error() : null));\n this.processMessages();\n }\n };\n AbstractLogger.prototype.createMessage = function (level, msg, date, error) {\n var _this = this;\n if (error === void 0) { error = null; }\n if (error !== null) {\n var message_1 = new LogMessageInternalImpl(this._name, msg, null, error, this._logGroupRuntimeSettings.logGroupRule, date, level, false);\n MessageUtils_1.MessageFormatUtils.renderError(error).then(function (stack) {\n message_1.errorAsStack = stack;\n message_1.ready = true;\n _this.processMessages();\n });\n return message_1;\n }\n return new LogMessageInternalImpl(this._name, msg, null, error, this._logGroupRuntimeSettings.logGroupRule, date, level, true);\n };\n AbstractLogger.prototype.processMessages = function () {\n // Basically we wait until errors are resolved (those messages\n // may not be ready).\n var msgs = this._allMessages;\n if (msgs.getSize() > 0) {\n do {\n var msg = msgs.getHead();\n if (msg != null) {\n if (!msg.ready) {\n break;\n }\n msgs.removeHead();\n // This can never be null normally, but strict null checking ...\n if (msg.message !== null) {\n this.doLog(msg);\n }\n }\n } while (msgs.getSize() > 0);\n }\n };\n return AbstractLogger;\n}());\nexports.AbstractLogger = AbstractLogger;\n//# sourceMappingURL=AbstractLogger.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/standard/AbstractLogger.js","\"use strict\";\nvar ST = require(\"stacktrace-js\");\nvar LoggerOptions_1 = require(\"../log/LoggerOptions\");\n/**\n * Some utilities to format messages.\n */\nvar MessageFormatUtils = (function () {\n function MessageFormatUtils() {\n }\n /**\n * Render given date in given DateFormat and return as String.\n * @param date Date\n * @param dateFormat Format\n * @returns {string} Formatted date\n */\n MessageFormatUtils.renderDate = function (date, dateFormat) {\n var lpad = function (value, chars, padWith) {\n var howMany = chars - value.length;\n if (howMany > 0) {\n var res = \"\";\n for (var i = 0; i < howMany; i++) {\n res += padWith;\n }\n res += value;\n return res;\n }\n return value;\n };\n var fullYear = function (d) {\n return lpad(d.getFullYear().toString(), 4, \"0\");\n };\n var month = function (d) {\n return lpad((d.getMonth() + 1).toString(), 2, \"0\");\n };\n var day = function (d) {\n return lpad(d.getDate().toString(), 2, \"0\");\n };\n var hours = function (d) {\n return lpad(d.getHours().toString(), 2, \"0\");\n };\n var minutes = function (d) {\n return lpad(d.getMinutes().toString(), 2, \"0\");\n };\n var seconds = function (d) {\n return lpad(d.getSeconds().toString(), 2, \"0\");\n };\n var millis = function (d) {\n return lpad(d.getMilliseconds().toString(), 3, \"0\");\n };\n var dateSeparator = dateFormat.dateSeparator;\n var ds = \"\";\n switch (dateFormat.formatEnum) {\n case LoggerOptions_1.DateFormatEnum.Default:\n // yyyy-mm-dd hh:mm:ss,m\n ds = fullYear(date) + dateSeparator + month(date) + dateSeparator + day(date) + \" \" +\n hours(date) + \":\" + minutes(date) + \":\" + seconds(date) + \",\" + millis(date);\n break;\n case LoggerOptions_1.DateFormatEnum.YearMonthDayTime:\n ds = fullYear(date) + dateSeparator + month(date) + dateSeparator + day(date) + \" \" +\n hours(date) + \":\" + minutes(date) + \":\" + seconds(date);\n break;\n case LoggerOptions_1.DateFormatEnum.YearDayMonthWithFullTime:\n ds = fullYear(date) + dateSeparator + day(date) + dateSeparator + month(date) + \" \" +\n hours(date) + \":\" + minutes(date) + \":\" + seconds(date) + \",\" + millis(date);\n break;\n case LoggerOptions_1.DateFormatEnum.YearDayMonthTime:\n ds = fullYear(date) + dateSeparator + day(date) + dateSeparator + month(date) + \" \" +\n hours(date) + \":\" + minutes(date) + \":\" + seconds(date);\n break;\n default:\n throw new Error(\"Unsupported date format enum: \" + dateFormat.formatEnum);\n }\n return ds;\n };\n /**\n * Renders given category log message in default format.\n * @param msg Message to format\n * @param addStack If true adds the stack to the output, otherwise skips it\n * @returns {string} Formatted message\n */\n MessageFormatUtils.renderDefaultMessage = function (msg, addStack) {\n var result = \"\";\n var logFormat = msg.getLogFormat();\n if (logFormat.showTimeStamp) {\n result += MessageFormatUtils.renderDate(msg.getDate(), logFormat.dateFormat) + \" \";\n }\n result += LoggerOptions_1.LogLevel[msg.getLevel()].toUpperCase();\n if (msg.isResolvedErrorMessage()) {\n result += \" (resolved)\";\n }\n result += \" \";\n if (logFormat.showCategoryName) {\n result += \"[\";\n msg.getCategories().forEach(function (value, idx) {\n if (idx > 0) {\n result += \", \";\n }\n result += value.name;\n });\n result += \"]\";\n }\n result += \" \" + msg.getMessage();\n if (addStack && msg.getErrorAsStack() !== null) {\n result += \"\\n\" + msg.getErrorAsStack();\n }\n return result;\n };\n /**\n * Renders given log4j log message in default format.\n * @param msg Message to format\n * @param addStack If true adds the stack to the output, otherwise skips it\n * @returns {string} Formatted message\n */\n MessageFormatUtils.renderDefaultLog4jMessage = function (msg, addStack) {\n var format = msg.logGroupRule.logFormat;\n var result = \"\";\n if (format.showTimeStamp) {\n result += MessageFormatUtils.renderDate(msg.date, format.dateFormat) + \" \";\n }\n result += LoggerOptions_1.LogLevel[msg.level].toUpperCase() + \" \";\n if (format.showLoggerName) {\n result += \"[\" + msg.loggerName + \"]\";\n }\n result += \" \" + msg.message;\n if (addStack && msg.errorAsStack !== null) {\n result += \"\\n\" + msg.errorAsStack;\n }\n return result;\n };\n /**\n * Render error as stack\n * @param error Return error as Promise\n * @returns {Promise|Promise} Promise for stack\n */\n MessageFormatUtils.renderError = function (error) {\n var result = error.name + \": \" + error.message + \"\\n@\";\n return new Promise(function (resolve) {\n // This one has a promise too\n ST.fromError(error, { offline: true }).then(function (frames) {\n var stackStr = (frames.map(function (frame) {\n return frame.toString();\n })).join(\"\\n \");\n result += \"\\n\" + stackStr;\n // This resolves our returned promise\n resolve(result);\n });\n });\n };\n return MessageFormatUtils;\n}());\nexports.MessageFormatUtils = MessageFormatUtils;\n//# sourceMappingURL=MessageUtils.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/utils/MessageUtils.js","import {OnmsAuthConfig} from './OnmsAuthConfig';\nimport {IHash} from '../internal/IHash';\n\n/**\n * Options to be used when making HTTP ReST calls.\n * @module OnmsHTTPOptions\n */ /** */\nexport class OnmsHTTPOptions {\n /** the authentication config that should be used when no server auth is configured */\n public auth: OnmsAuthConfig;\n\n /** how long to wait for ReST calls to time out */\n public timeout = 10000;\n\n /** the type of response to accept */\n public accept = 'application/xml';\n\n /** http parameters to be passed on the URL */\n public parameters = {} as IHash;\n\n /**\n * Construct a new OnmsHTTPOptions object.\n * @constructor\n */\n constructor(timeout?: number, auth?: OnmsAuthConfig) {\n if (timeout !== undefined) {\n this.timeout = timeout;\n }\n if (auth !== undefined) {\n this.auth = auth;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/OnmsHTTPOptions.ts","import * as VersionCompare from 'version_compare';\n\n/**\n * An OpenNMS version.\n * @module OnmsVersion\n */ /** */\nexport class OnmsVersion {\n /** the numeric version (x.x.x format) */\n public version: string;\n\n /** the display version */\n public get displayVersion() {\n return this.dv || this.version;\n }\n\n public set displayVersion(displayVersion: string) {\n this.dv = displayVersion;\n }\n\n /** the internal display version */\n private dv: string;\n\n /**\n * construct a new version\n * @param version the numeric version (x.x.x format)\n * @param displayVersion the full version (including, eg, x.x.x-SNAPSHOT)\n */\n constructor(version?: string, displayVersion?: string) {\n this.version = version || '0.0.0';\n this.displayVersion = displayVersion;\n }\n\n /** this version is less than the passed version */\n public lt(compare = '0.0.0') {\n return VersionCompare.lt(this.version, compare);\n }\n\n /** this version is less than or equal to the passed version */\n public le(compare = '0.0.0') {\n return VersionCompare.lte(this.version, compare);\n }\n\n /** this version is equal to the passed version */\n public eq(compare = '0.0.0') {\n return VersionCompare.matches(this.version, compare);\n }\n\n /** this version is greater than or equal to the passed version */\n public ge(compare = '0.0.0') {\n return VersionCompare.gte(this.version, compare);\n }\n\n /** this version is greater than the passed version */\n public gt(compare = '0.0.0') {\n return VersionCompare.gt(this.version, compare);\n }\n\n /**\n * Create a new {@link OnmsVersion} object from this existing one.\n */\n public clone() {\n return new OnmsVersion(this.version, this.dv);\n }\n\n /** a human-readable representation of this version */\n public toString() {\n return 'OnmsVersion[version=' + this.version + ',displayVersion=' + this.displayVersion + ']';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/OnmsVersion.ts","import {AbstractDAO} from './AbstractDAO';\n\nimport {Filter} from '../api/Filter';\nimport {OnmsError} from '../api/OnmsError';\n\nimport {Util} from '../internal/Util';\n\nimport {OnmsEvent} from '../model/OnmsEvent';\nimport {OnmsParm} from '../model/OnmsParm';\nimport {OnmsServiceType} from '../model/OnmsServiceType';\nimport {Severities} from '../model/OnmsSeverity';\n\nimport {log, catDao} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst cat = new Category('events', catDao);\n\n/**\n * Data access for {@link OnmsEvent} objects\n * @module EventDAO\n */ /** */\nexport class EventDAO extends AbstractDAO {\n /**\n * create an event object from a JSON object\n * @hidden\n */\n public fromData(data: any) {\n const event = new OnmsEvent();\n\n event.id = this.toNumber(data.id);\n event.uei = data.uei;\n event.nodeId = this.toNumber(data.nodeId);\n event.nodeLabel = data.nodeLabel;\n event.ipAddress = Util.toIPAddress(data.ipAddress);\n event.createTime = this.toDate(data.createTime);\n event.time = this.toDate(data.time);\n event.source = data.source;\n event.description = data.description;\n event.logMessage = data.logMessage;\n\n if (data.severity) {\n event.severity = Severities[data.severity];\n }\n\n if (data.serviceType) {\n const st = data.serviceType;\n event.service = OnmsServiceType.for(st.id, st.name);\n }\n\n if (data.parameters) {\n let parms = data.parameters;\n if (parms.parameter) {\n parms = parms.parameter;\n }\n if (!Array.isArray(parms)) {\n parms = [parms];\n }\n event.parameters = [];\n\n for (let parm of parms) {\n parm = new OnmsParm(\n parm.name,\n parm.type,\n parm.value,\n );\n event.parameters.push(parm);\n }\n }\n\n return event;\n }\n\n /** get an event, given the event's ID */\n public async get(id: number): Promise {\n const opts = this.getOptions();\n return this.http.get('rest/events/' + id, opts).then((result) => {\n return this.fromData(result.data);\n });\n }\n\n /** get an event, given a filter */\n public async find(filter?: Filter): Promise {\n const opts = this.getOptions(filter);\n return this.http.get('rest/events', opts).then((result) => {\n let data = result.data;\n\n if (this.getCount(data) > 0 && data.event) {\n data = data.event;\n } else {\n data = [];\n }\n\n if (!Array.isArray(data)) {\n throw new OnmsError('Expected an array of events but got \"' + (typeof data) + '\" instead.');\n }\n return data.map((eventData) => {\n return this.fromData(eventData);\n });\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/dao/EventDAO.ts","import {Util} from '../internal/Util';\n\n/**\n * Represents an OpenNMS event or alarm parameter.\n * @module OnmsParm\n */ /** */\nexport class OnmsParm {\n /** the name of the parm */\n public name: string;\n\n /** the raw parm value from the server (as a string) */\n public valueString: string;\n\n /** the parm type */\n public type: string;\n\n /** the value coerced to a native type (if possible) */\n public get value() {\n switch (this.type) {\n // numeric types\n case 'Counter32':\n case 'Counter64':\n case 'Gauge32':\n case 'Gauge64':\n case 'Int32':\n case 'Int64':\n case 'TimeTicks':\n return parseInt(this.type, 10);\n\n // other types\n case 'Null': return null;\n case 'IpAddress': return Util.toIPAddress(this.valueString);\n\n // everything else is a string\n case 'ObjectIdentifier':\n case 'OctetString':\n case 'Opaque':\n case 'string':\n default: return this.valueString;\n }\n }\n\n constructor(name: string, type: string, value: string) {\n this.name = name;\n this.type = type;\n this.valueString = value;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsParm.ts","import {OnmsEnum} from '../internal/OnmsEnum';\n/**\n * Represents an OpenNMS severity.\n * @module OnmsSeverity\n */ /** */\nexport class OnmsSeverity extends OnmsEnum {\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const Severities = Object.freeze({\n INDETERMINATE: new OnmsSeverity(1, 'INDETERMINATE'),\n CLEARED: new OnmsSeverity(2, 'CLEARED'),\n NORMAL: new OnmsSeverity(3, 'NORMAL'),\n WARNING: new OnmsSeverity(4, 'WARNING'),\n MINOR: new OnmsSeverity(5, 'MINOR'),\n MAJOR: new OnmsSeverity(6, 'MAJOR'),\n CRITICAL: new OnmsSeverity(7, 'CRITICAL'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsSeverity.ts","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/defaults.js","exports.BITS = 32;\nexports.GROUPS = 4;\n\nexports.RE_ADDRESS = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;\n\nexports.RE_SUBNET_STRING = /\\/\\d{1,2}$/;\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/v4/constants.js","exports.BITS = 128;\nexports.GROUPS = 8;\n\n/**\n * Represents IPv6 address scopes\n * @memberof Address6\n * @static\n */\nexports.SCOPES = {\n 0: 'Reserved',\n 1: 'Interface local',\n 2: 'Link local',\n 4: 'Admin local',\n 5: 'Site local',\n 8: 'Organization local',\n 15: 'Global',\n 16: 'Reserved'\n};\n\n/**\n * Represents IPv6 address types\n * @memberof Address6\n * @static\n */\nexports.TYPES = {\n 'ff01::1/128': 'Multicast (All nodes on this interface)',\n 'ff01::2/128': 'Multicast (All routers on this interface)',\n 'ff02::1/128': 'Multicast (All nodes on this link)',\n 'ff02::2/128': 'Multicast (All routers on this link)',\n 'ff05::2/128': 'Multicast (All routers in this site)',\n 'ff02::5/128': 'Multicast (OSPFv3 AllSPF routers)',\n 'ff02::6/128': 'Multicast (OSPFv3 AllDR routers)',\n 'ff02::9/128': 'Multicast (RIP routers)',\n 'ff02::a/128': 'Multicast (EIGRP routers)',\n 'ff02::d/128': 'Multicast (PIM routers)',\n 'ff02::16/128': 'Multicast (MLDv2 reports)',\n 'ff01::fb/128': 'Multicast (mDNSv6)',\n 'ff02::fb/128': 'Multicast (mDNSv6)',\n 'ff05::fb/128': 'Multicast (mDNSv6)',\n 'ff02::1:2/128': 'Multicast (All DHCP servers and relay agents on this link)',\n 'ff05::1:2/128': 'Multicast (All DHCP servers and relay agents in this site)',\n 'ff02::1:3/128': 'Multicast (All DHCP servers on this link)',\n 'ff05::1:3/128': 'Multicast (All DHCP servers in this site)',\n '::/128': 'Unspecified',\n '::1/128': 'Loopback',\n 'ff00::/8': 'Multicast',\n 'fe80::/10': 'Link-local unicast'\n};\n\n/**\n * A regular expression that matches bad characters in an IPv6 address\n * @memberof Address6\n * @static\n */\nexports.RE_BAD_CHARACTERS = /([^0-9a-f:\\/%])/ig;\n\n/**\n * A regular expression that matches an incorrect IPv6 address\n * @memberof Address6\n * @static\n */\nexports.RE_BAD_ADDRESS = /([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\\/$)/ig;\n\n/**\n * A regular expression that matches an IPv6 subnet\n * @memberof Address6\n * @static\n */\nexports.RE_SUBNET_STRING = /\\/\\d{1,3}(?=%|$)/;\n\n/**\n * A regular expression that matches an IPv6 zone\n * @memberof Address6\n * @static\n */\nexports.RE_ZONE_STRING = /%.*$/;\n\nexports.RE_URL = new RegExp(/^\\[{0,1}([0-9a-f:]+)\\]{0,1}/);\nexports.RE_URL_WITH_PORT = new RegExp(/\\[([0-9a-f:]+)\\]:([0-9]{1,5})/);\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/v6/constants.js","(function (root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.StackFrame = factory();\n }\n}(this, function () {\n 'use strict';\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n function StackFrame(functionName, args, fileName, lineNumber, columnNumber, source) {\n if (functionName !== undefined) {\n this.setFunctionName(functionName);\n }\n if (args !== undefined) {\n this.setArgs(args);\n }\n if (fileName !== undefined) {\n this.setFileName(fileName);\n }\n if (lineNumber !== undefined) {\n this.setLineNumber(lineNumber);\n }\n if (columnNumber !== undefined) {\n this.setColumnNumber(columnNumber);\n }\n if (source !== undefined) {\n this.setSource(source);\n }\n }\n\n StackFrame.prototype = {\n getFunctionName: function () {\n return this.functionName;\n },\n setFunctionName: function (v) {\n this.functionName = String(v);\n },\n\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n\n // NOTE: Property name may be misleading as it includes the path,\n // but it somewhat mirrors V8's JavaScriptStackTraceApi\n // https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi and Gecko's\n // http://mxr.mozilla.org/mozilla-central/source/xpcom/base/nsIException.idl#14\n getFileName: function () {\n return this.fileName;\n },\n setFileName: function (v) {\n this.fileName = String(v);\n },\n\n getLineNumber: function () {\n return this.lineNumber;\n },\n setLineNumber: function (v) {\n if (!_isNumber(v)) {\n throw new TypeError('Line Number must be a Number');\n }\n this.lineNumber = Number(v);\n },\n\n getColumnNumber: function () {\n return this.columnNumber;\n },\n setColumnNumber: function (v) {\n if (!_isNumber(v)) {\n throw new TypeError('Column Number must be a Number');\n }\n this.columnNumber = Number(v);\n },\n\n getSource: function () {\n return this.source;\n },\n setSource: function (v) {\n this.source = String(v);\n },\n\n toString: function() {\n var functionName = this.getFunctionName() || '{anonymous}';\n var args = '(' + (this.getArgs() || []).join(',') + ')';\n var fileName = this.getFileName() ? ('@' + this.getFileName()) : '';\n var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : '';\n var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : '';\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n\n return StackFrame;\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./~/stackframe/stackframe.js","/**\n * Check if `obj` is an object.\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\n\nfunction isObject(obj) {\n return null !== obj && 'object' === typeof obj;\n}\n\nmodule.exports = isObject;\n\n\n\n// WEBPACK FOOTER //\n// ./~/superagent/lib/is-object.js","import {IOnmsHTTP} from '../api/IOnmsHTTP';\n\nimport {Client} from '../Client';\n\nimport {Filter} from '../api/Filter';\nimport {OnmsHTTPOptions} from '../api/OnmsHTTPOptions';\n\nimport {log, catDao} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\n// tslint:disable-next-line\nconst moment = require('moment');\n\n/**\n * Abstract data access layer\n * @module AbstractDAO\n * @param K the ID/key type (number, string, etc.)\n * @param T the model type (OnmsAlarm, OnmsEvent, etc.)\n */ /** */\nexport abstract class AbstractDAO {\n /** the HTTP implementation to use */\n protected http: IOnmsHTTP;\n\n /** construct a DAO instance */\n constructor(impl: Client | IOnmsHTTP) {\n if (impl instanceof Client) {\n this.http = (impl as any).http;\n } else {\n this.http = impl;\n }\n }\n\n /** create a model object given a JSON data structure */\n public abstract fromData(data: any): T;\n\n /** get a model object given an ID */\n public abstract async get(id: K): Promise;\n\n /** find all model objects given a filter */\n public abstract async find(filter?: Filter): Promise;\n\n /** extract the count or totalCount values from response data */\n protected getCount(data: any) {\n let count = 0;\n if (data.count !== undefined) {\n count = parseInt(data.count, 10);\n } else if (data.totalCount !== undefined) {\n count = parseInt(data.totalCount, 10);\n } else {\n log.warn('data is missing count and totalCount properties', catDao);\n }\n return count;\n }\n\n /** given an optional filter, generate an {@link OnmsHTTPOptions} object for DAO calls */\n protected getOptions(filter?: Filter): OnmsHTTPOptions {\n const ret = new OnmsHTTPOptions();\n // always use application/xml for now in DAO calls\n ret.accept = 'application/xml';\n if (filter) {\n ret.parameters = this.http.filterProcessor.getParameters(filter);\n }\n return ret;\n }\n\n /** convert the given value to a date, or undefined if it cannot be converted */\n protected toDate(from: any) {\n if (from === undefined || from === null || from === '') {\n return undefined;\n }\n return moment(from);\n }\n\n /** convert the given value to a number, or undefined if it cannot be converted */\n protected toNumber(from: any) {\n const ret = parseInt(from, 10);\n return isNaN(ret) ? undefined : ret;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/dao/AbstractDAO.ts","import {Address4, Address6} from 'ip-address';\n\n/**\n * A utility class for random stuff.\n * @module Util\n */ /** */\nexport class Util {\n\n /**\n * Convert an IP address string to an {@link Address4} or {@link Address6} object.\n */\n public static toIPAddress(addr?: string) {\n if (addr) {\n if (addr.indexOf(':') >= 0) {\n return new Address6(addr);\n } else {\n return new Address4(addr);\n }\n }\n return undefined;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/internal/Util.ts","import {IOnmsHTTP} from '../api/IOnmsHTTP';\nimport {IFilterProcessor} from '../api/IFilterProcessor';\n\nimport {OnmsHTTPOptions} from '../api/OnmsHTTPOptions';\nimport {OnmsResult} from '../api/OnmsResult';\nimport {OnmsServer} from '../api/OnmsServer';\n\nimport {V1FilterProcessor} from '../dao/V1FilterProcessor';\n\n/** @hidden */\n// tslint:disable-next-line\nconst X2JS = require('x2js');\n\n/** @hidden */\nconst xmlParser = new X2JS({\n attributePrefix: '',\n ignoreRoot: true,\n});\n\n/**\n * Abstract implementation of the OnmsHTTP interface meant to be extended\n * @module AbstractHTTP\n * @implements IOnmsHTTP\n */ /** */\nexport abstract class AbstractHTTP implements IOnmsHTTP {\n /** how long to wait before giving up on a given request */\n public timeout = 10000;\n\n /** the authorization config associated with this ReST client */\n public options: OnmsHTTPOptions;\n\n /** the filter processor to use when making DAO requests */\n public filterProcessor = new V1FilterProcessor() as IFilterProcessor;\n\n /** the server metadata we'll use for constructing ReST calls */\n private serverObj: OnmsServer;\n\n /** the server associated with this HTTP implementation */\n public get server() {\n return this.serverObj;\n }\n\n public set server(server: OnmsServer) {\n this.serverObj = server;\n this.onSetServer();\n if (!this.filterProcessor) {\n if (this.serverObj && this.serverObj.metadata) {\n switch (this.serverObj.metadata.apiVersion()) {\n default:\n this.filterProcessor = new V1FilterProcessor();\n }\n }\n }\n }\n\n /**\n * Create a new AbstractHTTP instance.\n * @constructor\n * @param server - a server object for immediate configuration\n * @param timeout - how long to wait until timing out requests\n */\n constructor(server?: OnmsServer, timeout = 10000) {\n this.serverObj = server;\n this.timeout = timeout;\n }\n\n /** make an HTTP get call -- this should be overridden by the implementation */\n public abstract get(url: string, options?: OnmsHTTPOptions): Promise>;\n\n /** a convenience method for implementers to use to turn JSON into a javascript object */\n protected transformJSON(data: any) {\n if (typeof data === 'string') {\n return JSON.parse(data);\n } else {\n // assume it's already parsed\n return data;\n }\n }\n\n /** a convenience method for implementers to use to turn XML into a javascript object */\n protected transformXML(data: any) {\n if (typeof data === 'string') {\n return xmlParser.xml2js(data);\n } else {\n // assume it's already parsed\n return data;\n }\n }\n\n /** combine all options from the given options, the current server, and the default options */\n protected getOptions(options?: OnmsHTTPOptions) {\n let ret = Object.assign({auth: {}}, this.options);\n if (this.timeout) {\n ret.timeout = this.timeout;\n }\n if (this.serverObj && this.serverObj.auth) {\n ret.auth = Object.assign(ret.auth, this.serverObj.auth);\n }\n ret = Object.assign(ret, options);\n return ret;\n }\n\n /** useful for performing an action (like clearing caches) when the server is set */\n protected onSetServer() {\n // do nothing by default\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/rest/AbstractHTTP.ts","\"use strict\";\nvar DataStructures_1 = require(\"../../utils/DataStructures\");\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\nvar LoggerFactoryImpl_1 = require(\"./LoggerFactoryImpl\");\nvar ExtensionHelper_1 = require(\"../../extension/ExtensionHelper\");\n/**\n * Defines a LogGroupRule, this allows you to either have everything configured the same way\n * or for example loggers that start with name model. It allows you to group loggers together\n * to have a certain loglevel and other settings. You can configure this when creating the\n * LoggerFactory (which accepts multiple LogGroupRules).\n */\nvar LogGroupRule = (function () {\n /**\n * Create a LogGroupRule. Basically you define what logger name(s) match for this group, what level should be used what logger type (where to log)\n * and what format to write in. If the loggerType is custom, then the callBackLogger must be supplied as callback function to return a custom logger.\n * @param regExp Regular expression, what matches for your logger names for this group\n * @param level LogLevel\n * @param logFormat LogFormat\n * @param loggerType Type of logger, if Custom, make sure to implement callBackLogger and pass in, this will be called so you can return your own logger.\n * @param callBackLogger Callback function to return a new clean custom logger (yours!)\n */\n function LogGroupRule(regExp, level, logFormat, loggerType, callBackLogger) {\n if (logFormat === void 0) { logFormat = new LoggerOptions_1.LogFormat(); }\n if (loggerType === void 0) { loggerType = LoggerOptions_1.LoggerType.Console; }\n if (callBackLogger === void 0) { callBackLogger = null; }\n this._regExp = regExp;\n this._level = level;\n this._logFormat = logFormat;\n this._loggerType = loggerType;\n this._callBackLogger = callBackLogger;\n }\n Object.defineProperty(LogGroupRule.prototype, \"regExp\", {\n get: function () {\n return this._regExp;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRule.prototype, \"level\", {\n get: function () {\n return this._level;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRule.prototype, \"loggerType\", {\n get: function () {\n return this._loggerType;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRule.prototype, \"logFormat\", {\n get: function () {\n return this._logFormat;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRule.prototype, \"callBackLogger\", {\n get: function () {\n return this._callBackLogger;\n },\n enumerable: true,\n configurable: true\n });\n return LogGroupRule;\n}());\nexports.LogGroupRule = LogGroupRule;\n/**\n * Options object you can use to configure the LoggerFactory you create at LFService.\n */\nvar LoggerFactoryOptions = (function () {\n function LoggerFactoryOptions() {\n this._logGroupRules = [];\n this._enabled = true;\n }\n /**\n * Add LogGroupRule, see {LogGroupRule) for details\n * @param rule Rule to add\n * @returns {LoggerFactoryOptions} returns itself\n */\n LoggerFactoryOptions.prototype.addLogGroupRule = function (rule) {\n this._logGroupRules.push(rule);\n return this;\n };\n /**\n * Enable or disable logging completely for the LoggerFactory.\n * @param enabled True for enabled (default)\n * @returns {LoggerFactoryOptions} returns itself\n */\n LoggerFactoryOptions.prototype.setEnabled = function (enabled) {\n this._enabled = enabled;\n return this;\n };\n Object.defineProperty(LoggerFactoryOptions.prototype, \"logGroupRules\", {\n get: function () {\n return this._logGroupRules;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LoggerFactoryOptions.prototype, \"enabled\", {\n get: function () {\n return this._enabled;\n },\n enumerable: true,\n configurable: true\n });\n return LoggerFactoryOptions;\n}());\nexports.LoggerFactoryOptions = LoggerFactoryOptions;\n/**\n * Represents the runtime settings for a LogGroup (LogGroupRule).\n */\nvar LogGroupRuntimeSettings = (function () {\n function LogGroupRuntimeSettings(logGroupRule) {\n this._logGroupRule = logGroupRule;\n this._level = logGroupRule.level;\n this._loggerType = logGroupRule.loggerType;\n this._logFormat = new LoggerOptions_1.LogFormat(new LoggerOptions_1.DateFormat(logGroupRule.logFormat.dateFormat.formatEnum, logGroupRule.logFormat.dateFormat.dateSeparator), logGroupRule.logFormat.showTimeStamp, logGroupRule.logFormat.showLoggerName);\n this._callBackLogger = logGroupRule.callBackLogger;\n }\n Object.defineProperty(LogGroupRuntimeSettings.prototype, \"logGroupRule\", {\n /**\n * Returns original LogGroupRule (so not runtime settings!)\n * @return {LogGroupRule}\n */\n get: function () {\n return this._logGroupRule;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRuntimeSettings.prototype, \"level\", {\n get: function () {\n return this._level;\n },\n set: function (value) {\n this._level = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRuntimeSettings.prototype, \"loggerType\", {\n get: function () {\n return this._loggerType;\n },\n set: function (value) {\n this._loggerType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRuntimeSettings.prototype, \"logFormat\", {\n get: function () {\n return this._logFormat;\n },\n set: function (value) {\n this._logFormat = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LogGroupRuntimeSettings.prototype, \"callBackLogger\", {\n get: function () {\n return this._callBackLogger;\n },\n set: function (value) {\n this._callBackLogger = value;\n },\n enumerable: true,\n configurable: true\n });\n return LogGroupRuntimeSettings;\n}());\nexports.LogGroupRuntimeSettings = LogGroupRuntimeSettings;\nvar LFServiceImpl = (function () {\n function LFServiceImpl() {\n this._nameCounter = 1;\n this._mapFactories = new DataStructures_1.SimpleMap();\n // Private constructor.\n ExtensionHelper_1.ExtensionHelper.register();\n }\n LFServiceImpl.getInstance = function () {\n // Loaded on demand. Do NOT change as webpack may pack things in wrong order otherwise.\n if (LFServiceImpl._INSTANCE === null) {\n LFServiceImpl._INSTANCE = new LFServiceImpl();\n }\n return LFServiceImpl._INSTANCE;\n };\n /**\n * Create a new LoggerFactory with given options (if any). If no options\n * are specified, the LoggerFactory, will accept any named logger and will\n * log on info level by default for, to the console.\n * @param options Options, optional.\n * @returns {LoggerFactory}\n */\n LFServiceImpl.prototype.createLoggerFactory = function (options) {\n if (options === void 0) { options = null; }\n var name = \"LoggerFactory\" + this._nameCounter++;\n return this.createNamedLoggerFactory(name, options);\n };\n /**\n * Create a new LoggerFactory using given name (used for console api/extension).\n * @param name Name Pick something short but distinguishable.\n * @param options Options, optional\n * @return {LoggerFactory}\n */\n LFServiceImpl.prototype.createNamedLoggerFactory = function (name, options) {\n if (options === void 0) { options = null; }\n if (this._mapFactories.exists(name)) {\n throw new Error(\"LoggerFactory with name \" + name + \" already exists.\");\n }\n var factory;\n if (options !== null) {\n factory = new LoggerFactoryImpl_1.LoggerFactoryImpl(name, options);\n }\n else {\n factory = new LoggerFactoryImpl_1.LoggerFactoryImpl(name, LFServiceImpl.createDefaultOptions());\n }\n this._mapFactories.put(name, factory);\n return factory;\n };\n /**\n * Closes all Loggers for LoggerFactories that were created.\n * After this call, all previously fetched Loggers (from their\n * factories) are unusable. The factories remain as they were.\n */\n LFServiceImpl.prototype.closeLoggers = function () {\n this._mapFactories.values().forEach(function (factory) {\n factory.closeLoggers();\n });\n this._mapFactories.clear();\n this._nameCounter = 1;\n };\n LFServiceImpl.prototype.getRuntimeSettingsForLoggerFactories = function () {\n var result = [];\n this._mapFactories.forEach(function (factory) {\n // Won't be null, but hey tslint ...\n if (factory != null) {\n result.push(factory);\n }\n });\n return result;\n };\n LFServiceImpl.prototype.getLogGroupSettings = function (nameLoggerFactory, idLogGroupRule) {\n var factory = this._mapFactories.get(nameLoggerFactory);\n if (factory === null) {\n return null;\n }\n return factory.getLogGroupRuntimeSettingsByIndex(idLogGroupRule);\n };\n LFServiceImpl.prototype.getLoggerFactoryRuntimeSettingsByName = function (nameLoggerFactory) {\n return this._mapFactories.get(nameLoggerFactory);\n };\n LFServiceImpl.createDefaultOptions = function () {\n return new LoggerFactoryOptions().addLogGroupRule(new LogGroupRule(new RegExp(\".+\"), LoggerOptions_1.LogLevel.Info));\n };\n return LFServiceImpl;\n}());\n// Loaded on demand. Do NOT change as webpack may pack things in wrong order otherwise.\nLFServiceImpl._INSTANCE = null;\n/**\n * Create and configure your LoggerFactory from here.\n */\nvar LFService = (function () {\n function LFService() {\n }\n /**\n * Create a new LoggerFactory with given options (if any). If no options\n * are specified, the LoggerFactory, will accept any named logger and will\n * log on info level by default for, to the console.\n * @param options Options, optional.\n * @returns {LoggerFactory}\n */\n LFService.createLoggerFactory = function (options) {\n if (options === void 0) { options = null; }\n return LFService.INSTANCE_SERVICE.createLoggerFactory(options);\n };\n /**\n * Create a new LoggerFactory using given name (used for console api/extension).\n * @param name Name Pick something short but distinguishable.\n * @param options Options, optional\n * @return {LoggerFactory}\n */\n LFService.createNamedLoggerFactory = function (name, options) {\n if (options === void 0) { options = null; }\n return LFService.INSTANCE_SERVICE.createNamedLoggerFactory(name, options);\n };\n /**\n * Closes all Loggers for LoggerFactories that were created.\n * After this call, all previously fetched Loggers (from their\n * factories) are unusable. The factories remain as they were.\n */\n LFService.closeLoggers = function () {\n return LFService.INSTANCE_SERVICE.closeLoggers();\n };\n /**\n * Return LFServiceRuntimeSettings to retrieve information loggerfactories\n * and their runtime settings.\n * @returns {LFServiceRuntimeSettings}\n */\n LFService.getRuntimeSettings = function () {\n return LFService.INSTANCE_SERVICE;\n };\n return LFService;\n}());\nLFService.INSTANCE_SERVICE = LFServiceImpl.getInstance();\nexports.LFService = LFService;\n//# sourceMappingURL=LoggerFactoryService.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/standard/LoggerFactoryService.js","import * as axios from 'axios';\n\nimport {log, catRoot} from './api/Log';\nimport {Category} from 'typescript-logging';\n\nimport {IOnmsHTTP} from './api/IOnmsHTTP';\n\nimport {OnmsAuthConfig} from './api/OnmsAuthConfig';\nimport {OnmsHTTPOptions} from './api/OnmsHTTPOptions';\nimport {OnmsError} from './api/OnmsError';\nimport {OnmsResult} from './api/OnmsResult';\nimport {OnmsVersion} from './api/OnmsVersion';\nimport {ServerType, ServerTypes} from './api/ServerType';\n\nimport {OnmsServer} from './api/OnmsServer';\nimport {ServerMetadata} from './api/ServerMetadata';\n\nimport {AlarmDAO} from './dao/AlarmDAO';\nimport {EventDAO} from './dao/EventDAO';\nimport {NodeDAO} from './dao/NodeDAO';\n\nimport {AxiosHTTP} from './rest/AxiosHTTP';\n\n/** @hidden */\nconst catClient = new Category('client', catRoot);\n\n/**\n * The OpenNMS client. This is the primary interface to OpenNMS servers.\n * @module Client\n */ /** */\nexport class Client {\n /**\n * Given an OnmsServer object, check that it can be connected to.\n *\n * @param server - the server to check\n * @param httpImpl - the {@link IOnmsHTTP} implementation to use\n * @param timeout - how long to wait before giving up when making ReST calls\n */\n public static async checkServer(server: OnmsServer, httpImpl?: IOnmsHTTP, timeout?: number): Promise {\n const opts = new OnmsHTTPOptions(timeout, server.auth);\n if (!httpImpl) {\n if (!Client.http) {\n throw new OnmsError('No HTTP implementation is configured!');\n }\n httpImpl = Client.http;\n }\n opts.accept = 'text/plain';\n\n const infoUrl = server.resolveURL('rest/alarms/count');\n log.debug('checking URL: ' + infoUrl, catClient);\n return httpImpl.get(infoUrl, opts).then((ret) => {\n return true;\n });\n }\n\n /**\n * Given an OnmsServer object, query what capabilities it has, and return the capabilities\n * associated with that server.\n *\n * @param server - the server to check\n * @param httpImpl - the {@link IOnmsHTTP} implementation to use\n * @param timeout - how long to wait before giving up when making ReST calls\n */\n public static async getMetadata(server: OnmsServer, httpImpl?: IOnmsHTTP, timeout?: number):\n Promise> {\n const opts = new OnmsHTTPOptions(timeout, server.auth);\n opts.accept = 'application/json';\n if (!httpImpl) {\n if (!Client.http) {\n throw new OnmsError('No HTTP implementation is configured!');\n }\n httpImpl = Client.http;\n }\n\n const infoUrl = server.resolveURL('rest/info');\n log.debug('checking URL: ' + infoUrl, catClient);\n return httpImpl.get(infoUrl, opts).then((ret) => {\n const version = new OnmsVersion(ret.data.version, ret.data.displayVersion);\n const metadata = new ServerMetadata(version);\n\n if (ret.data.packageName) {\n if (ret.data.packageName.toLowerCase() === 'meridian') {\n metadata.type = ServerTypes.MERIDIAN;\n }\n }\n return OnmsResult.ok(metadata, ret.message, ret.code);\n });\n }\n\n /** The OnmsHTTP implementation to be used when making requests */\n private static http: IOnmsHTTP;\n\n /** The remote server to connect to */\n public server: OnmsServer;\n\n /**\n * Construct a new OpenNMS client.\n * @constructor\n * @param httpImpl - The OnmsHTTP implementation to use. Normally\n * this will automatically choose the best implementation\n * based on the environment.\n */\n constructor(httpImpl?: IOnmsHTTP) {\n if (httpImpl) {\n Client.http = httpImpl;\n } else {\n Client.http = new AxiosHTTP();\n }\n }\n\n /**\n * Connect to an OpenNMS server, check what capabilities it has, and return an {@link OnmsServer}\n * for that connection.\n */\n public async connect(name: string, url: string, username: string, password: string, timeout?: number) {\n const self = this;\n const server = new OnmsServer(name, url, username, password);\n await Client.checkServer(server, undefined, timeout);\n return Client.getMetadata(server, undefined, timeout).then((result) => {\n self.server = server;\n server.metadata = result.data;\n return self;\n });\n }\n\n /** Get an alarm DAO for querying alarms. */\n public alarms() {\n return new AlarmDAO(this);\n }\n\n /** Get an event DAO for querying events. */\n public events() {\n return new EventDAO(this);\n }\n\n /** Get a node DAO for querying nodes. */\n public nodes() {\n return new NodeDAO(this);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/Client.ts","import {OnmsEnum} from '../internal/OnmsEnum';\n\n/**\n * Represents a filter comparator.\n * @module Comparator\n */ /** */\nexport class Comparator extends OnmsEnum {\n /** aliases for the command-line */\n private aliases = [] as string[];\n\n constructor(id: number, label: string, ...aliases: string[]) {\n super(id, label);\n this.aliases = aliases;\n }\n\n /** whether this comparator matches the given comparator string */\n public matches(comparator: string) {\n return (comparator.toLowerCase() === this.label.toLowerCase())\n || this.aliases.indexOf(comparator) >= 0;\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n\n/** @hidden */\nexport const Comparators = Object.freeze({\n EQ: new Comparator(1, 'EQ', '=', '=='),\n NE: new Comparator(2, 'NE', '!='),\n ILIKE: new Comparator(3, 'ILIKE'),\n LIKE: new Comparator(4, 'LIKE'),\n GT: new Comparator(5, 'GT', '>'),\n LT: new Comparator(6, 'LT', '<'),\n GE: new Comparator(7, 'GE', '>='),\n LE: new Comparator(8, 'LE', '<='),\n NULL: new Comparator(9, 'NULL'),\n NOTNULL: new Comparator(10, 'NOTNULL'),\n\n /*\n ALL: new Comparator(9, 'ALL'),\n ANY: new Comparator(10, 'ANY'),\n BETWEEN: new Comparator(15, 'BETWEEN'),\n NOT: new Comparator(14, 'NOT'),\n IN: new Comparator(13, 'IN'),\n IPLIKE: new Comparator(17, 'IPLIKE'),\n SQL: new Comparator(16, 'SQL'),\n */\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/Comparator.ts","/**\n * Represents server authentication config.\n * @module OnmsAuthConfig\n */ /** */\nexport class OnmsAuthConfig {\n /** The password to authenticate with */\n public password: string;\n\n /** The username to connect as */\n public username: string;\n\n /**\n * Construct an auth configuration object.\n * @constructor\n */\n constructor(username: string, password: string) {\n this.username = username;\n this.password = password;\n }\n\n /**\n * Create a new {@link OnmsAuthConfig} object from this existing one.\n */\n public clone() {\n return new OnmsAuthConfig(this.username, this.password);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/OnmsAuthConfig.ts","/** @hidden */\n// tslint:disable-next-line\nconst URI = require('urijs');\n\nimport {OnmsAuthConfig} from '../api/OnmsAuthConfig';\nimport {ServerMetadata} from './ServerMetadata';\nimport {ServerTypes} from './ServerType';\nimport {UUID} from '../internal/UUID';\n\n/**\n * Represents a remote OpenNMS server.\n * @module OnmsServer\n */ /** */\nexport class OnmsServer {\n /** A unique identifier for this server */\n public id: string;\n\n /** A name associated with this server (undefined is allowed) */\n public name: string;\n\n /** The base URL to the server */\n public url: string;\n\n /** The authorization configuration associated with the server */\n public auth: OnmsAuthConfig;\n\n /** The capabilities of the server */\n public metadata: ServerMetadata;\n\n /**\n * Construct a new OnmsServer object representing a remote server.\n * @constructor\n */\n constructor(name?: string, url?: string, auth?: OnmsAuthConfig | string, password?: string) {\n this.id = UUID.generate();\n this.name = name;\n this.url = url;\n if (auth instanceof OnmsAuthConfig) {\n this.auth = auth;\n } else {\n this.auth = new OnmsAuthConfig(auth, password);\n }\n }\n\n /**\n * Given a relative URL fragment, construct a URL for that fragment on the server.\n * @param forFragment - the URL fragment to append to the server URL\n * @returns a complete URL\n */\n public resolveURL(forFragment?: string) {\n if (!this.url) {\n return undefined;\n }\n if (forFragment === undefined) {\n return this.url;\n }\n if (forFragment.indexOf('/') === 0 || forFragment.indexOf('http') === 0) {\n return forFragment;\n }\n return URI(this.url).segment(forFragment).toString();\n }\n\n /**\n * Create a new {@link OnmsServer} object from this existing one.\n */\n public clone() {\n const auth = (this.auth ? this.auth.clone() : undefined);\n const ret = new OnmsServer(this.name, this.url, auth);\n ret.metadata = (this.metadata ? this.metadata.clone() : undefined);\n return ret;\n }\n\n /**\n * Return the hostname portion of the URL associated with this server.\n */\n get host() {\n if (!this.url) {\n return undefined;\n }\n return URI(this.url).hostname();\n }\n\n /** a pretty string representation of this server */\n public toString() {\n if (this.metadata) {\n return 'OpenNMS '\n + (this.metadata.type === ServerTypes.MERIDIAN ? 'Meridian' : 'Horizon')\n + ' ' + this.metadata.version.displayVersion\n + ' at ' + (this.host || this.url);\n } else {\n return 'OpenNMS at ' + (this.host || this.url);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/OnmsServer.ts","import {OnmsVersion} from '../api/OnmsVersion';\nimport {ServerType, ServerTypes} from '../api/ServerType';\n\n/**\n * A class that represents the capabilities an OpenNMS server has and other information about it.\n * @module ServerMetadata\n */ /** */\nexport class ServerMetadata {\n /** the version of the server */\n public version: OnmsVersion;\n\n /** the type of server (Horizon, Meridian) */\n public type: ServerType;\n\n /**\n * Construct a ServerMetadata object.\n * @constructor\n * @param version the version of the server\n * @param type the type of server (Horizon, Meridian)\n */\n constructor(version?: string | OnmsVersion, type?: ServerType) {\n if (version instanceof OnmsVersion) {\n this.version = version || new OnmsVersion('0.0.0');\n } else {\n this.version = new OnmsVersion(version || '0.0.0');\n }\n this.type = type || ServerTypes.HORIZON;\n }\n\n /** can you ack alarms through ReST */\n public ackAlarms() {\n return this.version.ge('14.0.0');\n }\n\n /** does this server support graphs (ie, the measurements API) */\n public graphs() {\n if (this.type && this.type === ServerTypes.MERIDIAN) {\n return this.version.ge('2016.1.0');\n } else {\n return this.version.ge('16.0.0');\n }\n }\n\n /** does this server support outage summaries */\n public outageSummaries() {\n return this.version.ge('14.0.3');\n }\n\n /** does this server support setting the location on a node */\n public setNodeLocation() {\n return this.version.ge('15.0.2');\n }\n\n /** what version of the ReST API does this server support */\n public apiVersion() {\n return 1;\n }\n\n /** a convenient data structure with all capabilities listed */\n public capabilities() {\n return {\n ackAlarms: this.ackAlarms(),\n apiVersion: this.apiVersion(),\n graphs: this.graphs(),\n outageSummaries: this.outageSummaries(),\n setNodeLocation: this.setNodeLocation(),\n type: (this.type === ServerTypes.MERIDIAN ? 'Meridian' : 'Horizon'),\n };\n }\n\n /** a human-readable representation of this version */\n public toString() {\n return 'ServerMetadata[version=' + this.version.toString()\n + ',apiVersion=' + this.apiVersion()\n + ',type=' + this.type.toString()\n + ',ackAlarms=' + this.ackAlarms()\n + ',graphs=' + this.graphs()\n + ',outageSummaries=' + this.outageSummaries()\n + ',setNodeLocation=' + this.setNodeLocation()\n + ']';\n }\n\n /**\n * Create a new {@link ServerMetadata} object from this existing one.\n */\n public clone() {\n return new ServerMetadata(this.version.clone(), this.type);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/ServerMetadata.ts","import {AbstractDAO} from './AbstractDAO';\nimport {EventDAO} from './EventDAO';\n\nimport {Client} from '../Client';\n\nimport {OnmsAlarm} from '../model/OnmsAlarm';\nimport {OnmsParm} from '../model/OnmsParm';\nimport {OnmsServiceType} from '../model/OnmsServiceType';\n\nimport {AlarmTypes} from '../model/OnmsAlarmType';\nimport {Severities} from '../model/OnmsSeverity';\nimport {TroubleTicketStates} from '../model/OnmsTroubleTicketState';\n\nimport {Filter} from '../api/Filter';\nimport {IOnmsHTTP} from '../api/IOnmsHTTP';\nimport {OnmsError} from '../api/OnmsError';\n\nimport {log, catDao} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst cat = new Category('alarms', catDao);\n\n/**\n * Data access for {@link OnmsAlarm} objects\n * @module AlarmDAO\n */ /** */\nexport class AlarmDAO extends AbstractDAO {\n /** an event DAO to be used for creating events attached to alarms from API/JSON data */\n private eventDao: EventDAO;\n\n constructor(impl: Client | IOnmsHTTP) {\n super(impl);\n this.eventDao = new EventDAO(impl);\n }\n\n /**\n * create an alarm object from a JSON object\n * @hidden\n */\n public fromData(data: any) {\n const alarm = new OnmsAlarm();\n\n alarm.id = this.toNumber(data.id);\n alarm.count = data.count;\n alarm.ackUser = data.ackUser;\n alarm.uei = data.uei;\n alarm.description = data.description;\n alarm.firstEventTime = this.toDate(data.firstEventTime);\n alarm.lastEvent = this.eventDao.fromData(data.lastEvent);\n alarm.logMessage = data.logMessage;\n alarm.reductionKey = data.reductionKey;\n alarm.troubleTicket = data.troubleTicket;\n alarm.nodeId = this.toNumber(data.nodeId);\n alarm.nodeLabel = data.nodeLabel;\n alarm.suppressedBy = data.suppressedBy;\n\n if (data.ackTime) {\n alarm.ackTime = this.toDate(data.ackTime);\n }\n\n if (data.severity) {\n alarm.severity = Severities[data.severity];\n }\n\n if (data.type) {\n const type = this.toNumber(data.type);\n alarm.type = AlarmTypes[type];\n }\n\n if (data.troubleTicketState) {\n alarm.troubleTicketState = TroubleTicketStates[data.troubleTicketState];\n }\n\n if (data.serviceType) {\n const st = data.serviceType;\n alarm.service = OnmsServiceType.for(st.id, st.name);\n }\n\n if (data.suppressedTime) {\n alarm.suppressedTime = this.toDate(data.suppressedTime);\n }\n\n if (data.suppressedUntil) {\n alarm.suppressedUntil = this.toDate(data.suppressedUntil);\n }\n\n if (data.parameters) {\n let parms = data.parameters;\n if (parms.parameter) {\n parms = parms.parameter;\n }\n if (!Array.isArray(parms)) {\n parms = [parms];\n }\n alarm.parameters = [];\n\n for (let parm of parms) {\n parm = new OnmsParm(\n parm.name,\n parm.type,\n parm.value,\n );\n alarm.parameters.push(parm);\n }\n }\n\n return alarm;\n }\n\n /** get an alarm, given the alarm's ID */\n public async get(id: number): Promise {\n const opts = this.getOptions();\n return this.http.get('rest/alarms/' + id, opts).then((result) => {\n return this.fromData(result.data);\n });\n }\n\n /** get an alarm, given a filter */\n public async find(filter?: Filter): Promise {\n const opts = this.getOptions(filter);\n return this.http.get('rest/alarms', opts).then((result) => {\n let data = result.data;\n\n if (this.getCount(data) > 0 && data.alarm) {\n data = data.alarm;\n } else {\n data = [];\n }\n\n if (!Array.isArray(data)) {\n throw new OnmsError('Expected an array of alarms but got \"' + (typeof data) + '\" instead.');\n }\n return data.map((alarmData) => {\n return this.fromData(alarmData);\n });\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/dao/AlarmDAO.ts","import {AbstractDAO} from './AbstractDAO';\n\nimport {Filter} from '../api/Filter';\nimport {OnmsError} from '../api/OnmsError';\n\nimport {Util} from '../internal/Util';\n\nimport {OnmsCategory} from '../model/OnmsCategory';\nimport {OnmsCollectType} from '../model/OnmsCollectType';\nimport {OnmsIpInterface} from '../model/OnmsIpInterface';\nimport {OnmsManagedType} from '../model/OnmsManagedType';\nimport {OnmsMonitoredService} from '../model/OnmsMonitoredService';\nimport {OnmsNode} from '../model/OnmsNode';\nimport {OnmsNodeLabelSource} from '../model/OnmsNodeLabelSource';\nimport {OnmsNodeType} from '../model/OnmsNodeType';\nimport {OnmsPrimaryType} from '../model/OnmsPrimaryType';\nimport {OnmsServiceType} from '../model/OnmsServiceType';\nimport {OnmsServiceStatusType} from '../model/OnmsServiceStatusType';\nimport {OnmsSnmpInterface} from '../model/OnmsSnmpInterface';\nimport {OnmsSnmpStatusType, SnmpStatusTypes} from '../model/OnmsSnmpStatusType';\nimport {PhysAddr} from '../model/PhysAddr';\n\nimport {log, catDao} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst cat = new Category('nodes', catDao);\n\n/**\n * Data access for {@link OnmsNode} objects\n * @module NodeDAO\n */ /** */\nexport class NodeDAO extends AbstractDAO {\n /**\n * create a node object from a JSON object\n * @hidden\n */\n public fromData(data: any): OnmsNode {\n const node = new OnmsNode();\n\n node.id = this.toNumber(data.id);\n node.label = data.label;\n node.location = data.location;\n node.foreignSource = data.foreignSource || undefined;\n node.foreignId = data.foreignId || undefined;\n node.sysContact = data.sysContact;\n node.sysDescription = data.sysDescription;\n node.sysLocation = data.sysLocation;\n node.sysName = data.sysName;\n node.sysObjectId = data.sysObjectId;\n\n if (data.labelSource) {\n node.labelSource = OnmsNodeLabelSource.forId(data.labelSource);\n }\n if (data.createTime) {\n node.createTime = this.toDate(data.createTime);\n }\n if (data.lastCapsdPoll) {\n node.lastCapsdPoll = this.toDate(data.lastCapsdPoll);\n }\n if (data.type) {\n node.type = OnmsNodeType.forId(data.type);\n }\n\n node.categories = data.categories.map((c) => {\n return OnmsCategory.for(c.id, c.name);\n });\n\n for (const key in data.assetRecord) {\n if (data.assetRecord.hasOwnProperty(key)\n && data.assetRecord[key] !== null\n && data.assetRecord[key] !== undefined) {\n node.assets[key] = data.assetRecord[key];\n }\n }\n\n return node;\n }\n\n /**\n * create an IP interface object from a JSON object\n * @hidden\n */\n public fromIpInterfaceData(data: any): OnmsIpInterface {\n const iface = new OnmsIpInterface();\n\n iface.id = this.toNumber(data.id);\n iface.hostname = data.hostName || data.hostname;\n iface.ipAddress = Util.toIPAddress(data.ipAddress);\n iface.isManaged = OnmsManagedType.forId(data.isManaged);\n iface.lastCapsdPoll = this.toDate(data.lastCapsdPoll);\n iface.snmpPrimary = OnmsPrimaryType.forId(data.snmpPrimary);\n\n if (data.snmpInterface && data.snmpInterface.id) {\n iface.snmpInterfaceId = this.toNumber(data.snmpInterface.id);\n }\n\n return iface;\n }\n\n /**\n * create an SNMP interface object from a JSON object\n * @hidden\n */\n public fromSnmpData(data: any): OnmsSnmpInterface {\n const iface = new OnmsSnmpInterface();\n\n iface.id = this.toNumber(data.id);\n iface.ifIndex = this.toNumber(data.ifIndex);\n iface.ifDescr = data.ifDescr;\n iface.ifType = this.toNumber(data.ifType);\n iface.ifName = data.ifName;\n iface.ifSpeed = this.toNumber(data.ifSpeed);\n iface.ifAdminStatus = OnmsSnmpStatusType.forId(this.toNumber(data.ifAdminStatus));\n iface.ifOperStatus = OnmsSnmpStatusType.forId(this.toNumber(data.ifOperStatus));\n iface.ifAlias = data.ifAlias;\n iface.lastCapsdPoll = this.toDate(data.lastCapsdPoll);\n iface.collect = OnmsCollectType.forId(data.collectFlag);\n iface.poll = data.poll;\n iface.lastSnmpPoll = this.toDate(data.lastSnmpPoll);\n\n if (data.physAddr) {\n iface.physAddr = new PhysAddr(data.physAddr);\n }\n\n return iface;\n }\n\n /**\n * create a monitored service object from a JSON object\n * @hidden\n */\n public fromServiceData(data: any): OnmsMonitoredService {\n const service = new OnmsMonitoredService();\n\n service.id = this.toNumber(data.id);\n service.lastFail = this.toDate(data.lastFail);\n service.lastGood = this.toDate(data.lastGood);\n\n if (data.serviceType) {\n service.type = OnmsServiceType.for(data.serviceType.id, data.serviceType.name);\n }\n if (data.status) {\n service.status = OnmsServiceStatusType.forId(data.status);\n }\n\n return service;\n }\n\n /**\n * get an node, given the node's ID\n *\n * @param id the node's ID\n * @param recurse optionally fetch all sub-model objects (ipInterface, etc.)\n */\n public async get(id: number, recurse = false): Promise {\n const opts = this.getOptions();\n\n return this.http.get('rest/nodes/' + id, opts).then((result) => {\n const node = this.fromData(result.data);\n\n if (recurse) {\n return this.fetch(node);\n } else {\n return node;\n }\n });\n }\n\n /** search for nodes, given a filter */\n public async find(filter?: Filter): Promise {\n const opts = this.getOptions(filter);\n return this.http.get('rest/nodes', opts).then((result) => {\n let data = result.data;\n\n if (this.getCount(data) > 0 && data.node) {\n data = data.node;\n } else {\n data = [];\n }\n\n if (!Array.isArray(data)) {\n throw new OnmsError('Expected an array of nodes but got \"' + (typeof data) + '\" instead.');\n }\n return data.map((nodeData) => {\n return this.fromData(nodeData);\n });\n });\n }\n\n /** given a node, fetch all the sub-model objects for that node (ipInterfaces, snmpInterfaces, etc.) */\n public async fetch(node: OnmsNode): Promise {\n return this.snmpInterfaces(node).then((si) => {\n node.snmpInterfaces = si;\n si.forEach((iface) => {\n iface.node = node;\n });\n return this.ipInterfaces(node).then((ifaces) => {\n node.ipInterfaces = ifaces;\n ifaces.forEach((iface) => {\n iface.node = node;\n });\n return Promise.all(ifaces.map((iface) => {\n return this.services(node, iface).then((services) => {\n iface.services = services;\n services.forEach((service) => {\n service.node = node;\n service.ipInterface = iface;\n });\n });\n })).then(() => {\n return node;\n });\n });\n });\n }\n\n /** given a node, get the IP interfaces for that node */\n public async ipInterfaces(node: number | OnmsNode, filter?: Filter): Promise {\n const opts = this.getOptions(filter);\n if (node instanceof OnmsNode) {\n node = node.id;\n }\n return this.http.get('rest/nodes/' + node + '/ipinterfaces', opts).then((result) => {\n let data = result.data;\n\n if (this.getCount(data) > 0 && data.ipInterface) {\n data = data.ipInterface;\n } else {\n data = [];\n }\n\n if (!Array.isArray(data)) {\n throw new OnmsError('Expected an array of IP interfaces but got \"' + (typeof data) + '\" instead.');\n }\n return data.map((ifaceData) => {\n return this.fromIpInterfaceData(ifaceData);\n });\n });\n }\n\n /** given a node, get the SNMP interfaces for that node */\n public async snmpInterfaces(node: number | OnmsNode, filter?: Filter): Promise {\n const opts = this.getOptions(filter);\n if (node instanceof OnmsNode) {\n node = node.id;\n }\n return this.http.get('rest/nodes/' + node + '/snmpinterfaces', opts).then((result) => {\n let data = result.data;\n\n if (this.getCount(data) > 0 && data.snmpInterface) {\n data = data.snmpInterface;\n } else {\n data = [];\n }\n\n if (!Array.isArray(data)) {\n throw new OnmsError('Expected an array of SNMP interfaces but got \"' + (typeof data) + '\" instead.');\n }\n return data.map((ifaceData) => {\n return this.fromSnmpData(ifaceData);\n });\n });\n }\n\n /** given a node, get the IP interfaces for that node */\n public async services(\n node: number | OnmsNode,\n ipInterface: string | OnmsIpInterface,\n filter?: Filter,\n ): Promise {\n\n const opts = this.getOptions(filter);\n if (node instanceof OnmsNode) {\n node = node.id;\n }\n if (ipInterface instanceof OnmsIpInterface && ipInterface.ipAddress) {\n ipInterface = ipInterface.ipAddress.address;\n }\n return this.http.get('rest/nodes/' + node + '/ipinterfaces/' + ipInterface + '/services', opts).then((result) => {\n let data = result.data;\n\n if (this.getCount(data) > 0 && data.service) {\n data = data.service;\n } else {\n data = [];\n }\n\n if (!Array.isArray(data)) {\n throw new OnmsError('Expected an array of services but got \"' + (typeof data) + '\" instead.');\n }\n return data.map((ifaceData) => {\n return this.fromServiceData(ifaceData);\n });\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/dao/NodeDAO.ts","import {IHash} from '../internal/IHash';\nimport {OnmsEnum} from '../internal/OnmsEnum';\n\nimport {IFilterProcessor} from '../api/IFilterProcessor';\n\nimport {Filter} from '../api/Filter';\nimport {Comparators} from '../api/Comparator';\nimport {OnmsError} from '../api/OnmsError';\n\n/** @hidden */\nconst nonExclusiveComparators = [\n Comparators.NULL,\n Comparators.NOTNULL,\n];\n\n/** @hidden */\nconst isExclusive = (comparator) => {\n return nonExclusiveComparators.indexOf(comparator) < 0;\n};\n\n/**\n * OpenNMS V1 ReST filter processor\n * @module V1FilterProcessor\n */ /** */\nexport class V1FilterProcessor implements IFilterProcessor {\n /** given a filter, return a hash of URL parameters */\n public getParameters(filter: Filter) {\n const ret = {} as IHash;\n\n if (filter.limit !== undefined) {\n ret.limit = '' + filter.limit;\n }\n\n for (const restriction of filter.restrictions) {\n switch (restriction.comparator) {\n case Comparators.NULL: {\n ret[restriction.attribute] = 'null';\n break;\n }\n case Comparators.NOTNULL: {\n ret[restriction.attribute] = 'notnull';\n break;\n }\n default: {\n const comp = restriction.comparator.label.toLowerCase();\n if (ret.comparator && ret.comparator !== comp) {\n throw new OnmsError('V1 only supports one restriction comparator type!');\n }\n ret.comparator = comp;\n let value = '' + restriction.value;\n if (restriction.value instanceof OnmsEnum) {\n value = (restriction.value as OnmsEnum).label;\n }\n ret[restriction.attribute] = value;\n }\n }\n }\n\n return ret;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/dao/V1FilterProcessor.ts","import {Moment} from 'moment';\n\nimport {OnmsAlarmType} from './OnmsAlarmType';\nimport {OnmsEvent} from './OnmsEvent';\nimport {OnmsParm} from './OnmsParm';\nimport {OnmsServiceType} from './OnmsServiceType';\nimport {OnmsSeverity} from './OnmsSeverity';\nimport {OnmsTroubleTicketState} from './OnmsTroubleTicketState';\n\n/**\n * Represents an OpenNMS alarm.\n * @module OnmsAlarm\n */ /** */\nexport class OnmsAlarm {\n /** the alarm ID */\n public id: number;\n\n /** the number of times this alarm has triggered */\n public count: number;\n\n /** the user that acknowledged this alarm */\n public ackUser: string;\n\n /** the time this alarm was acknowledged */\n public ackTime: Moment;\n\n /** the UEI of the event associated with this alarm */\n public uei: string;\n\n /** the alarm's severity */\n public severity: OnmsSeverity;\n\n /** the alarm's type */\n public type: OnmsAlarmType;\n\n /** the alarm's description */\n public description: string;\n\n /** the first time an event has triggered this alarm */\n public firstEventTime: Moment;\n\n /** the most recent event that triggered this alarm */\n public lastEvent: OnmsEvent;\n\n /** the alarm's log message */\n public logMessage: string;\n\n /** the alarm's reduction key */\n public reductionKey: string;\n\n /** the trouble ticket ID associated with this alarm */\n public troubleTicket: string;\n\n /** the state of the trouble ticket associated with this alarm */\n public troubleTicketState: OnmsTroubleTicketState;\n\n /** the node's ID associated with this alarm */\n public nodeId: number;\n\n /** the node's label associated with this alarm */\n public nodeLabel: string;\n\n /** the service associated with the event */\n public service: OnmsServiceType;\n\n /** when the alarm was suppressed */\n public suppressedTime: Moment;\n\n /** when the alarm will stop being suppressed */\n public suppressedUntil: Moment;\n\n /** who the alarm was suppressed by */\n public suppressedBy: string;\n\n /** the parameters emitted with this alarm's event */\n public parameters: OnmsParm[];\n\n /** the most recent time the event has triggered this alarm */\n public get lastEventTime() {\n if (this.lastEvent && this.lastEvent.time) {\n return this.lastEvent.time;\n }\n return undefined;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsAlarm.ts","import {OnmsEnum} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS alarm type.\n * @module OnmsAlarmType\n */ /** */\nexport class OnmsAlarmType extends OnmsEnum {\n}\n\n/** @hidden */\nexport const AlarmTypes = Object.freeze({\n 1: new OnmsAlarmType(1, 'possible resolution'),\n 2: new OnmsAlarmType(2, 'resolution event'),\n 3: new OnmsAlarmType(3, 'no possible resolution'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsAlarmType.ts","import {log, catModel} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst cat = new Category('category', catModel);\n\n/** @hidden */\nexport const Categories = {\n};\n\n/**\n * Represents an OpenNMS category.\n * @module OnmsCategory\n */ /** */\nexport class OnmsCategory {\n /** get a singleton category object for the given category */\n public static for(id: number, name: string) {\n if (Categories[id]) {\n if (Categories[id].name === name) {\n return Categories[id];\n } else {\n log.warn('Category ID ' + id + ' is already cached, but names do not match!'\n + ' (' + Categories[id].name + ' != ' + name + ')', cat);\n }\n }\n Categories[id] = new OnmsCategory(id, name);\n return Categories[id];\n }\n\n /** the service ID */\n public id: number;\n\n /** the service name */\n public name: string;\n\n /** given an ID and name, construct a service type */\n constructor(id: number, name: string) {\n this.id = id;\n this.name = name;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsCategory.ts","import {OnmsEnum, forId, forLabel} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS SNMP interface \"should collect\" type.\n * @module OnmsCollectType\n */ /** */\nexport class OnmsCollectType extends OnmsEnum {\n /** given an ID, return the matching collect type object */\n public static forId(id: string) {\n return forId(CollectTypes, id);\n }\n\n /** given a label, return the matching collect type object */\n public static forLabel(label: string) {\n return forLabel(CollectTypes, label);\n }\n\n /** whether or not collection is enabled on the SNMP interface */\n public isCollectionEnabled() {\n return this.id === 'C' || this.id === 'UC';\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const CollectTypes = Object.freeze({\n COLLECT: new OnmsCollectType('C', 'COLLECT'),\n FORCE_COLLECT: new OnmsCollectType('UC', 'FORCE_COLLECT'),\n DO_NOT_COLLECT: new OnmsCollectType('N', 'DO_NOT_COLLECT'),\n FORCE_DO_NOT_COLLECT: new OnmsCollectType('UN', 'FORCE_DO_NOT_COLLECT'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsCollectType.ts","import {Moment} from 'moment';\nimport {Address4, Address6} from 'ip-address';\nimport {OnmsParm} from './OnmsParm';\nimport {OnmsServiceType} from './OnmsServiceType';\nimport {OnmsSeverity} from './OnmsSeverity';\n\n/**\n * Represents an OpenNMS event.\n * @module OnmsEvent\n */ /** */\nexport class OnmsEvent {\n /** the event ID */\n public id: number;\n\n /** the UEI of this event */\n public uei: string;\n\n /** the node's ID associated with this event */\n public nodeId: number;\n\n /** the node's label associated with this event */\n public nodeLabel: string;\n\n /** the interface associated with this event */\n public ipAddress: Address4 | Address6;\n\n /** the severity of this event */\n public severity: OnmsSeverity;\n\n /** when the event was created */\n public createTime: Moment;\n\n /** when the event was received by OpenNMS */\n public time: Moment;\n\n /** which subsystem the event came from */\n public source: string;\n\n /** the description of is event */\n public description: string;\n\n /** the log message of the event */\n public logMessage: string;\n\n /** the service associated with the event */\n public service: OnmsServiceType;\n\n /** the parameters emitted with this alarm's event */\n public parameters: OnmsParm[];\n\n /** the service name associated with the event */\n public get serviceName() {\n if (this.service && this.service.name) {\n return this.service.name;\n }\n return undefined;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsEvent.ts","import {Address4, Address6} from 'ip-address';\nimport {Moment} from 'moment';\n\nimport {OnmsManagedType} from './OnmsManagedType';\nimport {OnmsMonitoredService} from './OnmsMonitoredService';\nimport {OnmsNode} from './OnmsNode';\nimport {OnmsPrimaryType} from './OnmsPrimaryType';\n\n/**\n * Represents an OpenNMS IP interface.\n * @module OnmsIpInterface\n */ /** */\nexport class OnmsIpInterface {\n /** the interface ID */\n public id: number;\n\n /** the IP address */\n public ipAddress: Address4 | Address6;\n\n /** the hostname */\n public hostname: string;\n\n /** whether the interface is managed */\n public isManaged: OnmsManagedType;\n\n /** the last time the interface was provisioned */\n public lastCapsdPoll: Moment;\n\n /** the SNMP primary status of the interface */\n public snmpPrimary: OnmsPrimaryType;\n\n /** the SNMP interface ID associated with this interface */\n public snmpInterfaceId: number;\n\n public get snmpInterface() {\n if (this.node) {\n for (const iface of this.node.snmpInterfaces) {\n if (iface.id === this.snmpInterfaceId) {\n return iface;\n }\n }\n }\n return undefined;\n }\n\n /** the node this interface is associated with */\n public node: OnmsNode;\n\n /** the services on this interface */\n public services = [] as OnmsMonitoredService[];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsIpInterface.ts","import {OnmsEnum, forId, forLabel} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS node \"is managed\" type.\n * @module OnmsManagedType\n */ /** */\nexport class OnmsManagedType extends OnmsEnum {\n /** given an ID, return the matching managed type object */\n public static forId(id: string) {\n return forId(ManagedTypes, id);\n }\n\n /** given a label, return the matching managed type object */\n public static forLabel(label: string) {\n return forLabel(ManagedTypes, label);\n }\n\n /** whether or not the node is managed */\n public isManaged() {\n return this.id === 'M';\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const ManagedTypes = Object.freeze({\n MANAGED: new OnmsManagedType('M', 'MANAGED'),\n ALIAS: new OnmsManagedType('A', 'ALIAS'),\n DELETED: new OnmsManagedType('D', 'DELETED'),\n UNMANAGED: new OnmsManagedType('U', 'UNMANAGED'),\n FORCE_UNMANAGED: new OnmsManagedType('F', 'FORCE_UNMANAGED'),\n NOT_POLLED: new OnmsManagedType('N', 'NOT_POLLED'),\n REMOTE_ONLY: new OnmsManagedType('X', 'REMOTE_ONLY'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsManagedType.ts","import {Address4, Address6} from 'ip-address';\nimport {Moment} from 'moment';\n\nimport {OnmsIpInterface} from './OnmsIpInterface';\nimport {OnmsNode} from './OnmsNode';\nimport {OnmsServiceType} from './OnmsServiceType';\nimport {OnmsServiceStatusType} from './OnmsServiceStatusType';\n\n/**\n * Represents an OpenNMS monitored service.\n * @module OnmsMonitoredService\n */ /** */\nexport class OnmsMonitoredService {\n /** the service ID */\n public id: number;\n\n /** the last time the service failed */\n public lastFail: Moment;\n\n /** the last time the service passed */\n public lastGood: Moment;\n\n /** the node associated with this service */\n public node: OnmsNode;\n\n /** the ipInterface associated with this service */\n public ipInterface: OnmsIpInterface;\n\n /** the service type associated with this service */\n public type: OnmsServiceType;\n\n /** the current status */\n public status: OnmsServiceStatusType;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsMonitoredService.ts","import {Moment} from 'moment';\n\nimport {OnmsCategory} from './OnmsCategory';\nimport {OnmsNodeLabelSource} from './OnmsNodeLabelSource';\nimport {OnmsNodeType} from './OnmsNodeType';\nimport {OnmsIpInterface} from './OnmsIpInterface';\nimport {OnmsSnmpInterface} from './OnmsSnmpInterface';\n\n/**\n * Represents an OpenNMS node.\n * @module OnmsNode\n */ /** */\nexport class OnmsNode {\n /** the node ID */\n public id: number;\n\n /** the label (name) of the node */\n public label: string;\n\n /** how the label was set */\n public labelSource: OnmsNodeLabelSource;\n\n /** the foreign source of the node */\n public foreignSource: string;\n\n /** the foreign ID of the node */\n public foreignId: string;\n\n /** the location of the node */\n public location: string;\n\n /** the time the node was created */\n public createTime: Moment;\n\n /** the parent of this node */\n public parent: OnmsNode;\n\n /** the type of node */\n public type: OnmsNodeType;\n\n /** the SNMP sysObjectId of the node */\n public sysObjectId: string;\n\n /** the SNMP sysName of the node */\n public sysName: string;\n\n /** the SNMP sysDescription of the node */\n public sysDescription: string;\n\n /** the SNMP sysLocation of the node */\n public sysLocation: string;\n\n /** the SNMP sysContact for the node */\n public sysContact: string;\n\n /** the NETBIOS/SMB name for the node */\n public netBiosName: string;\n\n /** the NETBIOS/SMB domain for the node */\n public netBiosDomain: string;\n\n /** the operating system of the node */\n public operatingSystem: string;\n\n /** the last time this node was provisioned */\n public lastCapsdPoll: Moment;\n\n /** the LLDP element associated with this node */\n // public lldpElement: LldpElement;\n\n /** the OSPF element associated with this node */\n // public ospfElement: OspfElement;\n\n /** the IsIs element associated with this node */\n // public isisElement: IsIsElement;\n\n /** the CDP element associated with this node */\n // public cdpElement: CdpElement;\n\n /** the path element associated with this node */\n // public pathElement: PathElement;\n\n /** the SNMP interfaces on this node */\n public snmpInterfaces = [] as OnmsSnmpInterface[];\n\n /** the IP interfaces on this node */\n public ipInterfaces = [] as OnmsIpInterface[];\n\n /** the categories the node is in */\n public categories = [] as OnmsCategory[];\n\n /** the assets of the node */\n public assets = {} as any;\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsNode.ts","import {OnmsEnum, forId, forLabel} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS node label source.\n * @module OnmsNodeLabelSource\n */ /** */\nexport class OnmsNodeLabelSource extends OnmsEnum {\n /** given an ID, return the matching node label source object */\n public static forId(id: string) {\n return forId(NodeLabelSources, id);\n }\n\n /** given a label, return the matching node label source object */\n public static forLabel(label: string) {\n return forLabel(NodeLabelSources, label);\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const NodeLabelSources = Object.freeze({\n USER: new OnmsNodeLabelSource('U', 'USER'),\n NETBIOS: new OnmsNodeLabelSource('N', 'NETBIOS'),\n HOSTNAME: new OnmsNodeLabelSource('H', 'HOSTNAME'),\n SYSNAME: new OnmsNodeLabelSource('S', 'SYSNAME'),\n ADDRESS: new OnmsNodeLabelSource('A', 'ADDRESS'),\n UNKNOWN: new OnmsNodeLabelSource(' ', 'UNKNOWN'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsNodeLabelSource.ts","import {OnmsEnum, forId, forLabel} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS \"SNMP primary\" type.\n * @module OnmsPrimaryType\n */ /** */\nexport class OnmsPrimaryType extends OnmsEnum {\n /** given an ID, return the matching primary type object */\n public static forId(id: string) {\n return forId(PrimaryTypes, id);\n }\n\n /** given a label, return the matching primary type object */\n public static forLabel(label: string) {\n return forLabel(PrimaryTypes, label);\n }\n\n /** whether or not the interface is a primary SNMP interface */\n public isPrimary() {\n return this.id === 'P';\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const PrimaryTypes = Object.freeze({\n PRIMARY: new OnmsPrimaryType('P', 'PRIMARY'),\n SECONDARY: new OnmsPrimaryType('S', 'SECONDARY'),\n NOT_ELIGIBLE: new OnmsPrimaryType('N', 'NOT_ELIGIBLE'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsPrimaryType.ts","import {OnmsEnum, forId, forLabel} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS monitored service status type.\n * @module OnmsServiceStatusType\n */ /** */\nexport class OnmsServiceStatusType extends OnmsEnum {\n /** given an ID, return the matching service status type object */\n public static forId(id: string) {\n return forId(ServiceStatusTypes, id);\n }\n\n /** given a label, return the matching service status type object */\n public static forLabel(label: string) {\n return forLabel(ServiceStatusTypes, label);\n }\n\n /** whether or not the service is managed */\n public isManaged() {\n return this.id === 'A';\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const ServiceStatusTypes = Object.freeze({\n MANAGED: new OnmsServiceStatusType('A', 'MANAGED'),\n UNMANAGED: new OnmsServiceStatusType('U', 'UNMANAGED'),\n DELETED: new OnmsServiceStatusType('D', 'DELETED'),\n FORCED_UNMANAGED: new OnmsServiceStatusType('F', 'FORCED_UNMANAGED'),\n NOT_MONITORED: new OnmsServiceStatusType('N', 'NOT_MONITORED'),\n RESCAN_TO_RESUME: new OnmsServiceStatusType('R', 'RESCAN_TO_RESUME'),\n RESCAN_TO_SUSPEND: new OnmsServiceStatusType('S', 'RESCAN_TO_SUSPEND'),\n REMOTELY_MONITORED: new OnmsServiceStatusType('X', 'REMOTELY_MONITORED'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsServiceStatusType.ts","import {Moment} from 'moment';\n\nimport {OnmsCollectType} from './OnmsCollectType';\nimport {OnmsNode} from './OnmsNode';\nimport {OnmsSnmpStatusType} from './OnmsSnmpStatusType';\nimport {PhysAddr} from './PhysAddr';\n\n/**\n * Represents an OpenNMS SNMP interface.\n * @module OnmsSnmpInterface\n */ /** */\nexport class OnmsSnmpInterface {\n /** the interface ID */\n public id: number;\n\n /** the physical (MAC) address of the interface */\n public physAddr: PhysAddr;\n\n /** the node associated with this interface */\n public node: OnmsNode;\n\n /** the SNMP interface index */\n public ifIndex: number;\n\n /** the description of the interface */\n public ifDescr: string;\n\n /** the type of interface */\n public ifType: number;\n\n /** the name of the interface */\n public ifName: string;\n\n /** the speed of the interface */\n public ifSpeed: number;\n\n /** the administrative status of the interface */\n public ifAdminStatus: OnmsSnmpStatusType;\n\n /** the operator status of the interface */\n public ifOperStatus: OnmsSnmpStatusType;\n\n /** the alias of the interface */\n public ifAlias: string;\n\n /** the last time the SNMP interface was provisioned */\n public lastCapsdPoll: Moment;\n\n /** whether the SNMP interface will be collected */\n public collect: OnmsCollectType;\n\n /** whether the interface is set to poll */\n public poll: boolean;\n\n /** the last time the SNMP interface was polled */\n public lastSnmpPoll: Moment;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsSnmpInterface.ts","import {OnmsEnum, forId, forLabel} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS SNMP admin/oper status type.\n * @module OnmsSnmpStatusType\n */ /** */\nexport class OnmsSnmpStatusType extends OnmsEnum {\n /** given an ID, return the matching snmp status type object */\n public static forId(id: number) {\n return forId(SnmpStatusTypes, id);\n }\n\n /** given a label, return the matching snmp status type object */\n public static forLabel(label: string) {\n return forLabel(SnmpStatusTypes, label);\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const SnmpStatusTypes = Object.freeze({\n 1: new OnmsSnmpStatusType(1, 'UP'),\n 2: new OnmsSnmpStatusType(2, 'DOWN'),\n 3: new OnmsSnmpStatusType(3, 'TESTING'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsSnmpStatusType.ts","import {OnmsEnum} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS trouble ticket state.\n * @module OnmsTroubleTicketState\n */ /** */\nexport class OnmsTroubleTicketState extends OnmsEnum {\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const TroubleTicketStates = Object.freeze({\n OPEN: new OnmsTroubleTicketState(0, 'OPEN'),\n CREATE_PENDING: new OnmsTroubleTicketState(1, 'CREATE_PENDING'),\n CREATE_FAILED: new OnmsTroubleTicketState(2, 'CREATE_FAILED'),\n UPDATE_PENDING: new OnmsTroubleTicketState(3, 'UPDATE_PENDING'),\n UPDATE_FAILED: new OnmsTroubleTicketState(4, 'UPDATE_FAILED'),\n CLOSED: new OnmsTroubleTicketState(5, 'CLOSED'),\n CLOSE_PENDING: new OnmsTroubleTicketState(6, 'CLOSE_PENDING'),\n CLOSE_FAILED: new OnmsTroubleTicketState(7, 'CLOSE_FAILED'),\n RESOLVED: new OnmsTroubleTicketState(8, 'RESOLVED'),\n RESOLVE_PENDING: new OnmsTroubleTicketState(9, 'RESOLVE_PENDING'),\n RESOLVE_FAILED: new OnmsTroubleTicketState(10, 'RESOLVE_FAILED'),\n CANCELLED: new OnmsTroubleTicketState(11, 'CANCELLED'),\n CANCEL_PENDING: new OnmsTroubleTicketState(12, 'CANCEL_PENDING'),\n CANCEL_FAILED: new OnmsTroubleTicketState(13, 'CANCEL_FAILED'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsTroubleTicketState.ts","/**\n * Represents a physical (MAC) address.\n * @module PhysAddr\n */ /** */\nexport class PhysAddr {\n /** the MAC address string */\n public addr: string;\n\n constructor(addr: string) {\n this.addr = addr.toUpperCase().replace(/[^0-9A-F]/g, '');\n }\n\n /** displayable string */\n public toString() {\n const asArray = this.addr.split('');\n if (asArray.length === 12) {\n return asArray[0] + asArray[1] + ':' +\n asArray[2] + asArray[3] + ':' +\n asArray[4] + asArray[5] + ':' +\n asArray[6] + asArray[7] + ':' +\n asArray[8] + asArray[9] + ':' +\n asArray[10] + asArray[11];\n } else {\n return this.addr;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/PhysAddr.ts","import axios from 'axios';\nimport {AxiosInstance, AxiosRequestConfig} from 'axios';\n\n/** @hidden */\n// tslint:disable-next-line\nconst URI = require('urijs');\n\nimport {AbstractHTTP} from './AbstractHTTP';\nimport {OnmsError} from '../api/OnmsError';\nimport {OnmsHTTPOptions} from '../api/OnmsHTTPOptions';\nimport {OnmsResult} from '../api/OnmsResult';\nimport {OnmsServer} from '../api/OnmsServer';\n\nimport {log, catRest} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst catAxios = new Category('axios', catRest);\n\n/**\n * Implementation of the OnmsHTTP interface using Axios: https://github.com/mzabriskie/axios\n * @module AxiosHTTP\n * @implements IOnmsHTTP\n */ /** */\nexport class AxiosHTTP extends AbstractHTTP {\n /** the Axios instance we'll use for making ReST calls */\n private axiosObj: AxiosInstance;\n\n constructor(server?: OnmsServer, timeout = 10000) {\n super(server, timeout);\n }\n\n /** make an HTTP get call -- this should be overridden by the implementation */\n public get(url: string, options?: OnmsHTTPOptions) {\n const realUrl = this.server.resolveURL(url);\n const opts = this.getConfig(options);\n\n const urlObj = new URI(realUrl);\n urlObj.search(options.parameters);\n log.debug('getting ' + urlObj.toString(), catAxios);\n\n return this.getImpl(options).get(realUrl, opts).then((response) => {\n let type;\n if (response.headers && response.headers['content-type']) {\n type = response.headers['content-type'];\n }\n return OnmsResult.ok(response.data, undefined, response.status, type);\n });\n }\n\n /**\n * Clear the configured {@link AxiosInstance} so we create a new one when the server changes.\n */\n protected onSetServer() {\n super.onSetServer();\n this.axiosObj = undefined;\n }\n\n /** internal method to turn {@link OnmsHTTPOptions} into an {@link AxiosRequestConfig} object. */\n private getConfig(options?: OnmsHTTPOptions): AxiosRequestConfig {\n const allOptions = this.getOptions(options);\n\n const ret = {} as AxiosRequestConfig;\n\n if (allOptions.auth && allOptions.auth.username && allOptions.auth.password) {\n ret.auth = {\n password: allOptions.auth.password,\n username: allOptions.auth.username,\n };\n }\n\n if (allOptions.timeout) {\n ret.timeout = allOptions.timeout;\n }\n\n if (allOptions.accept === 'application/json') {\n ret.responseType = 'json';\n ret.transformResponse = this.transformJSON;\n } else if (allOptions.accept === 'text/plain') {\n ret.responseType = 'text';\n ret.headers = {\n Accept: allOptions.accept,\n };\n } else if (allOptions.accept === 'application/xml') {\n ret.responseType = 'text';\n ret.transformResponse = this.transformXML;\n ret.headers = {\n Accept: allOptions.accept,\n };\n } else {\n throw new OnmsError('Unhandled response type: ' + allOptions.accept);\n }\n\n if (allOptions.parameters) {\n ret.params = Object.assign({}, allOptions.parameters);\n }\n\n return ret;\n }\n\n /** internal method for getting/constructing an Axios object on-demand, based on the current server config */\n private getImpl(options?: OnmsHTTPOptions) {\n if (!this.axiosObj) {\n if (!this.server) {\n throw new OnmsError('You must set a server before attempting to make queries using Axios!');\n }\n const allOptions = this.getOptions(options);\n this.axiosObj = axios.create({\n auth: {\n password: allOptions.auth.password,\n username: allOptions.auth.username,\n },\n baseURL: this.server.url,\n timeout: allOptions.timeout,\n withCredentials: true,\n });\n }\n return this.axiosObj;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/rest/AxiosHTTP.ts","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/mzabriskie/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/adapters/xhr.js","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/cancel/Cancel.js","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/cancel/isCancel.js","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/core/createError.js","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/bind.js","'use strict';\n\n// A wrapper function that returns false if the address is not valid; used to\n// avoid boilerplate checks for `if (!this.valid) { return false; }`\nvar falseIfInvalid = exports.falseIfInvalid = function (fn) {\n return function () {\n if (!this.valid) {\n return false;\n }\n\n return fn.apply(this, arguments);\n };\n};\n\nexports.isInSubnet = falseIfInvalid(function (address) {\n if (this.subnetMask < address.subnetMask) {\n return false;\n }\n\n if (this.mask(address.subnetMask) === address.mask()) {\n return true;\n }\n\n return false;\n});\n\nexports.isCorrect = function (defaultBits) {\n return falseIfInvalid(function () {\n if (this.addressMinusSuffix !== this.correctForm()) {\n return false;\n }\n\n if (this.subnetMask === defaultBits && !this.parsedSubnet) {\n return true;\n }\n\n return this.parsedSubnet === String(this.subnetMask);\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/common.js","'use strict';\n\nvar BigInteger = require('jsbn').BigInteger;\nvar common = require('./common.js');\nvar padStart = require('lodash.padstart');\nvar repeat = require('lodash.repeat');\nvar sprintf = require('sprintf-js').sprintf;\nvar deprecate = require('util-deprecate');\n\nvar constants = require('./v4/constants.js');\n\n/**\n * Represents an IPv4 address\n * @class Address4\n * @param {string} address - An IPv4 address string\n */\nfunction Address4(address) {\n this.valid = false;\n this.address = address;\n this.groups = constants.GROUPS;\n\n this.v4 = true;\n\n this.subnet = '/32';\n this.subnetMask = 32;\n\n var subnet = constants.RE_SUBNET_STRING.exec(address);\n\n if (subnet) {\n this.parsedSubnet = subnet[0].replace('/', '');\n this.subnetMask = parseInt(this.parsedSubnet, 10);\n this.subnet = '/' + this.subnetMask;\n\n if (this.subnetMask < 0 || this.subnetMask > constants.BITS) {\n this.valid = false;\n this.error = 'Invalid subnet mask.';\n\n return;\n }\n\n address = address.replace(constants.RE_SUBNET_STRING, '');\n }\n\n this.addressMinusSuffix = address;\n\n this.parsedAddress = this.parse(address);\n}\n\n/*\n * Parses a v4 address\n */\nAddress4.prototype.parse = function (address) {\n var groups = address.split('.');\n\n if (address.match(constants.RE_ADDRESS)) {\n this.valid = true;\n } else {\n this.error = 'Invalid IPv4 address.';\n }\n\n return groups;\n};\n\n/**\n * Return true if the address is valid\n * @memberof Address4\n * @instance\n * @returns {Boolean}\n */\nAddress4.prototype.isValid = function () {\n return this.valid;\n};\n\n/**\n * Returns the correct form of an address\n * @memberof Address4\n * @instance\n * @returns {String}\n */\nAddress4.prototype.correctForm = function () {\n return this.parsedAddress.map(function (part) {\n return parseInt(part, 10);\n }).join('.');\n};\n\n/**\n * Returns true if the address is correct, false otherwise\n * @memberof Address4\n * @instance\n * @returns {Boolean}\n */\nAddress4.prototype.isCorrect = common.isCorrect(constants.BITS);\n\n/**\n * Converts a hex string to an IPv4 address object\n * @memberof Address4\n * @static\n * @param {string} hex - a hex string to convert\n * @returns {Address4}\n */\nAddress4.fromHex = function (hex) {\n var padded = padStart(hex.replace(/:/g, ''), 8, '0');\n var groups = [];\n var i;\n\n for (i = 0; i < 8; i += 2) {\n var h = padded.slice(i, i + 2);\n\n groups.push(parseInt(h, 16));\n }\n\n return new Address4(groups.join('.'));\n};\n\n/**\n * Converts an integer into a IPv4 address object\n * @memberof Address4\n * @static\n * @param {integer} integer - a number to convert\n * @returns {Address4}\n */\nAddress4.fromInteger = function (integer) {\n return Address4.fromHex(integer.toString(16));\n};\n\n/**\n * Converts an IPv4 address object to a hex string\n * @memberof Address4\n * @instance\n * @returns {String}\n */\nAddress4.prototype.toHex = function () {\n return this.parsedAddress.map(function (part) {\n return sprintf('%02x', parseInt(part, 10));\n }).join(':');\n};\n\n/**\n * Converts an IPv4 address object to an array of bytes\n * @memberof Address4\n * @instance\n * @returns {Array}\n */\nAddress4.prototype.toArray = function () {\n return this.parsedAddress.map(function (part) {\n return parseInt(part, 10);\n });\n};\n\n/**\n * Converts an IPv4 address object to an IPv6 address group\n * @memberof Address4\n * @instance\n * @returns {String}\n */\nAddress4.prototype.toGroup6 = function () {\n var output = [];\n var i;\n\n for (i = 0; i < constants.GROUPS; i += 2) {\n var hex = sprintf('%02x%02x',\n parseInt(this.parsedAddress[i], 10),\n parseInt(this.parsedAddress[i + 1], 10));\n\n output.push(sprintf('%x', parseInt(hex, 16)));\n }\n\n return output.join(':');\n};\n\nAddress4.prototype.toV6Group =\n deprecate(Address4.prototype.toGroup6,\n 'deprecated: `toV6Group` has been renamed to `toGroup6`');\n\n/**\n * Returns the address as a BigInteger\n * @memberof Address4\n * @instance\n * @returns {BigInteger}\n */\nAddress4.prototype.bigInteger = function () {\n if (!this.valid) {\n return null;\n }\n\n return new BigInteger(this.parsedAddress.map(function (n) {\n return sprintf('%02x', parseInt(n, 10));\n }).join(''), 16);\n};\n\n/**\n * The first address in the range given by this address' subnet.\n * Often referred to as the Network Address.\n * @memberof Address4\n * @instance\n * @returns {Address4}\n */\nAddress4.prototype.startAddress = function () {\n var startAddress = new BigInteger(this.mask() +\n repeat(0, constants.BITS - this.subnetMask), 2);\n\n return Address4.fromBigInteger(startAddress);\n};\n\n/**\n * The last address in the range given by this address' subnet\n * Often referred to as the Broadcast\n * @memberof Address4\n * @instance\n * @returns {Address4}\n */\nAddress4.prototype.endAddress = function () {\n var endAddress = new BigInteger(this.mask() +\n repeat(1, constants.BITS - this.subnetMask), 2);\n\n return Address4.fromBigInteger(endAddress);\n};\n\n/**\n * Converts a BigInteger to a v4 address object\n * @memberof Address4\n * @static\n * @param {BigInteger} bigInteger - a BigInteger to convert\n * @returns {Address4}\n */\nAddress4.fromBigInteger = function (bigInteger) {\n return Address4.fromInteger(parseInt(bigInteger.toString(), 10));\n};\n\n/**\n * Returns the first n bits of the address, defaulting to the\n * subnet mask\n * @memberof Address4\n * @instance\n * @returns {String}\n */\nAddress4.prototype.mask = function (optionalMask) {\n if (optionalMask === undefined) {\n optionalMask = this.subnetMask;\n }\n\n return this.getBitsBase2(0, optionalMask);\n};\n\n/**\n * Returns the bits in the given range as a base-2 string\n * @memberof Address4\n * @instance\n * @returns {string}\n */\nAddress4.prototype.getBitsBase2 = function (start, end) {\n return this.binaryZeroPad().slice(start, end);\n};\n\n/**\n * Returns true if the given address is in the subnet of the current address\n * @memberof Address4\n * @instance\n * @returns {boolean}\n */\nAddress4.prototype.isInSubnet = common.isInSubnet;\n\n/**\n * Returns a zero-padded base-2 string representation of the address\n * @memberof Address4\n * @instance\n * @returns {string}\n */\nAddress4.prototype.binaryZeroPad = function () {\n return padStart(this.bigInteger().toString(2), constants.BITS, '0');\n};\n\nmodule.exports = Address4;\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/ipv4.js","'use strict';\n\nvar sprintf = require('sprintf-js').sprintf;\n\n/**\n * @returns {String} the string with all zeroes contained in a \n */\nvar spanAllZeroes = exports.spanAllZeroes = function (s) {\n return s.replace(/(0+)/g, '$1');\n};\n\n/**\n * @returns {String} the string with each character contained in a \n */\nexports.spanAll = function (s, optionalOffset) {\n if (optionalOffset === undefined) {\n optionalOffset = 0;\n }\n\n var letters = s.split('');\n\n return letters.map(function (n, i) {\n return sprintf('%s', n,\n i + optionalOffset,\n spanAllZeroes(n)); // XXX Use #base-2 .value-0 instead?\n }).join('');\n};\n\nfunction spanLeadingZeroesSimple(group) {\n return group.replace(/^(0+)/, '$1');\n}\n\n/**\n * @returns {String} the string with leading zeroes contained in a \n */\nexports.spanLeadingZeroes = function (address) {\n var groups = address.split(':');\n\n return groups.map(function (g) {\n return spanLeadingZeroesSimple(g);\n }).join(':');\n};\n\n/**\n * Groups an address\n * @returns {String} a grouped address\n */\nexports.simpleGroup = function (addressString, offset) {\n var groups = addressString.split(':');\n\n if (!offset) {\n offset = 0;\n }\n\n return groups.map(function (g, i) {\n if (/group-v4/.test(g)) {\n return g;\n }\n\n return sprintf('%s',\n i + offset,\n spanLeadingZeroesSimple(g));\n }).join(':');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/v6/helpers.js","(function(){\n\n // Copyright (c) 2005 Tom Wu\n // All Rights Reserved.\n // See \"LICENSE\" for details.\n\n // Basic JavaScript BN library - subset useful for RSA encryption.\n\n // Bits per digit\n var dbits;\n\n // JavaScript engine analysis\n var canary = 0xdeadbeefcafe;\n var j_lm = ((canary&0xffffff)==0xefcafe);\n\n // (public) Constructor\n function BigInteger(a,b,c) {\n if(a != null)\n if(\"number\" == typeof a) this.fromNumber(a,b,c);\n else if(b == null && \"string\" != typeof a) this.fromString(a,256);\n else this.fromString(a,b);\n }\n\n // return new, unset BigInteger\n function nbi() { return new BigInteger(null); }\n\n // am: Compute w_j += (x*this_i), propagate carries,\n // c is initial carry, returns final carry.\n // c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n // We need to select the fastest one that works in this environment.\n\n // am1: use a single mult and divide to get the high bits,\n // max digit bits should be 26 because\n // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n function am1(i,x,w,j,c,n) {\n while(--n >= 0) {\n var v = x*this[i++]+w[j]+c;\n c = Math.floor(v/0x4000000);\n w[j++] = v&0x3ffffff;\n }\n return c;\n }\n // am2 avoids a big mult-and-extract completely.\n // Max digit bits should be <= 30 because we do bitwise ops\n // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n function am2(i,x,w,j,c,n) {\n var xl = x&0x7fff, xh = x>>15;\n while(--n >= 0) {\n var l = this[i]&0x7fff;\n var h = this[i++]>>15;\n var m = xh*l+h*xl;\n l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);\n c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);\n w[j++] = l&0x3fffffff;\n }\n return c;\n }\n // Alternately, set max digit bits to 28 since some\n // browsers slow down when dealing with 32-bit numbers.\n function am3(i,x,w,j,c,n) {\n var xl = x&0x3fff, xh = x>>14;\n while(--n >= 0) {\n var l = this[i]&0x3fff;\n var h = this[i++]>>14;\n var m = xh*l+h*xl;\n l = xl*l+((m&0x3fff)<<14)+w[j]+c;\n c = (l>>28)+(m>>14)+xh*h;\n w[j++] = l&0xfffffff;\n }\n return c;\n }\n var inBrowser = typeof navigator !== \"undefined\";\n if(inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n BigInteger.prototype.am = am2;\n dbits = 30;\n }\n else if(inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n BigInteger.prototype.am = am1;\n dbits = 26;\n }\n else { // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n }\n\n BigInteger.prototype.DB = dbits;\n BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i];\n r.t = this.t;\n r.s = this.s;\n }\n\n // (protected) set from integer value x, -DV <= x < DV\n function bnpFromInt(x) {\n this.t = 1;\n this.s = (x<0)?-1:0;\n if(x > 0) this[0] = x;\n else if(x < -1) this[0] = x+this.DV;\n else this.t = 0;\n }\n\n // return bigint initialized to value\n function nbv(i) { var r = nbi(); r.fromInt(i); return r; }\n\n // (protected) set from string and radix\n function bnpFromString(s,b) {\n var k;\n if(b == 16) k = 4;\n else if(b == 8) k = 3;\n else if(b == 256) k = 8; // byte array\n else if(b == 2) k = 1;\n else if(b == 32) k = 5;\n else if(b == 4) k = 2;\n else { this.fromRadix(s,b); return; }\n this.t = 0;\n this.s = 0;\n var i = s.length, mi = false, sh = 0;\n while(--i >= 0) {\n var x = (k==8)?s[i]&0xff:intAt(s,i);\n if(x < 0) {\n if(s.charAt(i) == \"-\") mi = true;\n continue;\n }\n mi = false;\n if(sh == 0)\n this[this.t++] = x;\n else if(sh+k > this.DB) {\n this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh));\n }\n else\n this[this.t-1] |= x<= this.DB) sh -= this.DB;\n }\n if(k == 8 && (s[0]&0x80) != 0) {\n this.s = -1;\n if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t;\n }\n\n // (public) return string representation in given radix\n function bnToString(b) {\n if(this.s < 0) return \"-\"+this.negate().toString(b);\n var k;\n if(b == 16) k = 4;\n else if(b == 8) k = 3;\n else if(b == 2) k = 1;\n else if(b == 32) k = 5;\n else if(b == 4) k = 2;\n else return this.toRadix(b);\n var km = (1< 0) {\n if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }\n while(i >= 0) {\n if(p < k) {\n d = (this[i]&((1<>(p+=this.DB-k);\n }\n else {\n d = (this[i]>>(p-=k))&km;\n if(p <= 0) { p += this.DB; --i; }\n }\n if(d > 0) m = true;\n if(m) r += int2char(d);\n }\n }\n return m?r:\"0\";\n }\n\n // (public) -this\n function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; }\n\n // (public) |this|\n function bnAbs() { return (this.s<0)?this.negate():this; }\n\n // (public) return + if this > a, - if this < a, 0 if equal\n function bnCompareTo(a) {\n var r = this.s-a.s;\n if(r != 0) return r;\n var i = this.t;\n r = i-a.t;\n if(r != 0) return (this.s<0)?-r:r;\n while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;\n return 0;\n }\n\n // returns bit length of the integer x\n function nbits(x) {\n var r = 1, t;\n if((t=x>>>16) != 0) { x = t; r += 16; }\n if((t=x>>8) != 0) { x = t; r += 8; }\n if((t=x>>4) != 0) { x = t; r += 4; }\n if((t=x>>2) != 0) { x = t; r += 2; }\n if((t=x>>1) != 0) { x = t; r += 1; }\n return r;\n }\n\n // (public) return the number of bits in \"this\"\n function bnBitLength() {\n if(this.t <= 0) return 0;\n return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));\n }\n\n // (protected) r = this << n*DB\n function bnpDLShiftTo(n,r) {\n var i;\n for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];\n for(i = n-1; i >= 0; --i) r[i] = 0;\n r.t = this.t+n;\n r.s = this.s;\n }\n\n // (protected) r = this >> n*DB\n function bnpDRShiftTo(n,r) {\n for(var i = n; i < this.t; ++i) r[i-n] = this[i];\n r.t = Math.max(this.t-n,0);\n r.s = this.s;\n }\n\n // (protected) r = this << n\n function bnpLShiftTo(n,r) {\n var bs = n%this.DB;\n var cbs = this.DB-bs;\n var bm = (1<= 0; --i) {\n r[i+ds+1] = (this[i]>>cbs)|c;\n c = (this[i]&bm)<= 0; --i) r[i] = 0;\n r[ds] = c;\n r.t = this.t+ds+1;\n r.s = this.s;\n r.clamp();\n }\n\n // (protected) r = this >> n\n function bnpRShiftTo(n,r) {\n r.s = this.s;\n var ds = Math.floor(n/this.DB);\n if(ds >= this.t) { r.t = 0; return; }\n var bs = n%this.DB;\n var cbs = this.DB-bs;\n var bm = (1<>bs;\n for(var i = ds+1; i < this.t; ++i) {\n r[i-ds-1] |= (this[i]&bm)<>bs;\n }\n if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB;\n }\n if(a.t < this.t) {\n c -= a.s;\n while(i < this.t) {\n c += this[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while(i < a.t) {\n c -= a[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = (c<0)?-1:0;\n if(c < -1) r[i++] = this.DV+c;\n else if(c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n }\n\n // (protected) r = this * a, r != this,a (HAC 14.12)\n // \"this\" should be the larger one if appropriate.\n function bnpMultiplyTo(a,r) {\n var x = this.abs(), y = a.abs();\n var i = x.t;\n r.t = i+y.t;\n while(--i >= 0) r[i] = 0;\n for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);\n r.s = 0;\n r.clamp();\n if(this.s != a.s) BigInteger.ZERO.subTo(r,r);\n }\n\n // (protected) r = this^2, r != this (HAC 14.16)\n function bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2*x.t;\n while(--i >= 0) r[i] = 0;\n for(i = 0; i < x.t-1; ++i) {\n var c = x.am(i,x[i],r,2*i,0,1);\n if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {\n r[i+x.t] -= x.DV;\n r[i+x.t+1] = 1;\n }\n }\n if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);\n r.s = 0;\n r.clamp();\n }\n\n // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n // r != q, this != m. q or r may be null.\n function bnpDivRemTo(m,q,r) {\n var pm = m.abs();\n if(pm.t <= 0) return;\n var pt = this.abs();\n if(pt.t < pm.t) {\n if(q != null) q.fromInt(0);\n if(r != null) this.copyTo(r);\n return;\n }\n if(r == null) r = nbi();\n var y = nbi(), ts = this.s, ms = m.s;\n var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus\n if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }\n else { pm.copyTo(y); pt.copyTo(r); }\n var ys = y.t;\n var y0 = y[ys-1];\n if(y0 == 0) return;\n var yt = y0*(1<1)?y[ys-2]>>this.F2:0);\n var d1 = this.FV/yt, d2 = (1<= 0) {\n r[r.t++] = 1;\n r.subTo(t,r);\n }\n BigInteger.ONE.dlShiftTo(ys,t);\n t.subTo(y,y); // \"negative\" y so we can replace sub with am later\n while(y.t < ys) y[y.t++] = 0;\n while(--j >= 0) {\n // Estimate quotient digit\n var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);\n if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out\n y.dlShiftTo(j,t);\n r.subTo(t,r);\n while(r[i] < --qd) r.subTo(t,r);\n }\n }\n if(q != null) {\n r.drShiftTo(ys,q);\n if(ts != ms) BigInteger.ZERO.subTo(q,q);\n }\n r.t = ys;\n r.clamp();\n if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder\n if(ts < 0) BigInteger.ZERO.subTo(r,r);\n }\n\n // (public) this mod a\n function bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a,null,r);\n if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r);\n return r;\n }\n\n // Modular reduction using \"classic\" algorithm\n function Classic(m) { this.m = m; }\n function cConvert(x) {\n if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);\n else return x;\n }\n function cRevert(x) { return x; }\n function cReduce(x) { x.divRemTo(this.m,null,x); }\n function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\n Classic.prototype.convert = cConvert;\n Classic.prototype.revert = cRevert;\n Classic.prototype.reduce = cReduce;\n Classic.prototype.mulTo = cMulTo;\n Classic.prototype.sqrTo = cSqrTo;\n\n // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n // justification:\n // xy == 1 (mod m)\n // xy = 1+km\n // xy(2-xy) = (1+km)(1-km)\n // x[y(2-xy)] = 1-k^2m^2\n // x[y(2-xy)] == 1 (mod m^2)\n // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n function bnpInvDigit() {\n if(this.t < 1) return 0;\n var x = this[0];\n if((x&1) == 0) return 0;\n var y = x&3; // y == 1/x mod 2^2\n y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4\n y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8\n y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return (y>0)?this.DV-y:-y;\n }\n\n // Montgomery reduction\n function Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp&0x7fff;\n this.mph = this.mp>>15;\n this.um = (1<<(m.DB-15))-1;\n this.mt2 = 2*m.t;\n }\n\n // xR mod m\n function montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t,r);\n r.divRemTo(this.m,null,r);\n if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r);\n return r;\n }\n\n // x/R mod m\n function montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n }\n\n // x = x/R mod m (HAC 14.32)\n function montReduce(x) {\n while(x.t <= this.mt2) // pad x so am has enough room later\n x[x.t++] = 0;\n for(var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i]&0x7fff;\n var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i+this.m.t;\n x[j] += this.m.am(0,u0,x,i,0,this.m.t);\n // propagate carry\n while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }\n }\n x.clamp();\n x.drShiftTo(this.m.t,x);\n if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);\n }\n\n // r = \"x^2/R mod m\"; x != r\n function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\n // r = \"xy/R mod m\"; x,y != r\n function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n\n Montgomery.prototype.convert = montConvert;\n Montgomery.prototype.revert = montRevert;\n Montgomery.prototype.reduce = montReduce;\n Montgomery.prototype.mulTo = montMulTo;\n Montgomery.prototype.sqrTo = montSqrTo;\n\n // (protected) true iff this is even\n function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }\n\n // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n function bnpExp(e,z) {\n if(e > 0xffffffff || e < 1) return BigInteger.ONE;\n var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;\n g.copyTo(r);\n while(--i >= 0) {\n z.sqrTo(r,r2);\n if((e&(1< 0) z.mulTo(r2,g,r);\n else { var t = r; r = r2; r2 = t; }\n }\n return z.revert(r);\n }\n\n // (public) this^e % m, 0 <= e < 2^32\n function bnModPowInt(e,m) {\n var z;\n if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);\n return this.exp(e,z);\n }\n\n // protected\n BigInteger.prototype.copyTo = bnpCopyTo;\n BigInteger.prototype.fromInt = bnpFromInt;\n BigInteger.prototype.fromString = bnpFromString;\n BigInteger.prototype.clamp = bnpClamp;\n BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n BigInteger.prototype.lShiftTo = bnpLShiftTo;\n BigInteger.prototype.rShiftTo = bnpRShiftTo;\n BigInteger.prototype.subTo = bnpSubTo;\n BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n BigInteger.prototype.squareTo = bnpSquareTo;\n BigInteger.prototype.divRemTo = bnpDivRemTo;\n BigInteger.prototype.invDigit = bnpInvDigit;\n BigInteger.prototype.isEven = bnpIsEven;\n BigInteger.prototype.exp = bnpExp;\n\n // public\n BigInteger.prototype.toString = bnToString;\n BigInteger.prototype.negate = bnNegate;\n BigInteger.prototype.abs = bnAbs;\n BigInteger.prototype.compareTo = bnCompareTo;\n BigInteger.prototype.bitLength = bnBitLength;\n BigInteger.prototype.mod = bnMod;\n BigInteger.prototype.modPowInt = bnModPowInt;\n\n // \"constants\"\n BigInteger.ZERO = nbv(0);\n BigInteger.ONE = nbv(1);\n\n // Copyright (c) 2005-2009 Tom Wu\n // All Rights Reserved.\n // See \"LICENSE\" for details.\n\n // Extended JavaScript BN functions, required for RSA private ops.\n\n // Version 1.1: new BigInteger(\"0\", 10) returns \"proper\" zero\n // Version 1.2: square() API, isProbablePrime fix\n\n // (public)\n function bnClone() { var r = nbi(); this.copyTo(r); return r; }\n\n // (public) return value as integer\n function bnIntValue() {\n if(this.s < 0) {\n if(this.t == 1) return this[0]-this.DV;\n else if(this.t == 0) return -1;\n }\n else if(this.t == 1) return this[0];\n else if(this.t == 0) return 0;\n // assumes 16 < DB < 32\n return ((this[1]&((1<<(32-this.DB))-1))<>24; }\n\n // (public) return value as short (assumes DB>=16)\n function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; }\n\n // (protected) return x s.t. r^x < DV\n function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); }\n\n // (public) 0 if this == 0, 1 if this > 0\n function bnSigNum() {\n if(this.s < 0) return -1;\n else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;\n else return 1;\n }\n\n // (protected) convert to radix string\n function bnpToRadix(b) {\n if(b == null) b = 10;\n if(this.signum() == 0 || b < 2 || b > 36) return \"0\";\n var cs = this.chunkSize(b);\n var a = Math.pow(b,cs);\n var d = nbv(a), y = nbi(), z = nbi(), r = \"\";\n this.divRemTo(d,y,z);\n while(y.signum() > 0) {\n r = (a+z.intValue()).toString(b).substr(1) + r;\n y.divRemTo(d,y,z);\n }\n return z.intValue().toString(b) + r;\n }\n\n // (protected) convert from radix string\n function bnpFromRadix(s,b) {\n this.fromInt(0);\n if(b == null) b = 10;\n var cs = this.chunkSize(b);\n var d = Math.pow(b,cs), mi = false, j = 0, w = 0;\n for(var i = 0; i < s.length; ++i) {\n var x = intAt(s,i);\n if(x < 0) {\n if(s.charAt(i) == \"-\" && this.signum() == 0) mi = true;\n continue;\n }\n w = b*w+x;\n if(++j >= cs) {\n this.dMultiply(d);\n this.dAddOffset(w,0);\n j = 0;\n w = 0;\n }\n }\n if(j > 0) {\n this.dMultiply(Math.pow(b,j));\n this.dAddOffset(w,0);\n }\n if(mi) BigInteger.ZERO.subTo(this,this);\n }\n\n // (protected) alternate constructor\n function bnpFromNumber(a,b,c) {\n if(\"number\" == typeof b) {\n // new BigInteger(int,int,RNG)\n if(a < 2) this.fromInt(1);\n else {\n this.fromNumber(a,c);\n if(!this.testBit(a-1))\t// force MSB set\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this);\n if(this.isEven()) this.dAddOffset(1,0); // force odd\n while(!this.isProbablePrime(b)) {\n this.dAddOffset(2,0);\n if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this);\n }\n }\n }\n else {\n // new BigInteger(int,RNG)\n var x = new Array(), t = a&7;\n x.length = (a>>3)+1;\n b.nextBytes(x);\n if(t > 0) x[0] &= ((1< 0) {\n if(p < this.DB && (d = this[i]>>p) != (this.s&this.DM)>>p)\n r[k++] = d|(this.s<<(this.DB-p));\n while(i >= 0) {\n if(p < 8) {\n d = (this[i]&((1<>(p+=this.DB-8);\n }\n else {\n d = (this[i]>>(p-=8))&0xff;\n if(p <= 0) { p += this.DB; --i; }\n }\n if((d&0x80) != 0) d |= -256;\n if(k == 0 && (this.s&0x80) != (d&0x80)) ++k;\n if(k > 0 || d != this.s) r[k++] = d;\n }\n }\n return r;\n }\n\n function bnEquals(a) { return(this.compareTo(a)==0); }\n function bnMin(a) { return(this.compareTo(a)<0)?this:a; }\n function bnMax(a) { return(this.compareTo(a)>0)?this:a; }\n\n // (protected) r = this op a (bitwise)\n function bnpBitwiseTo(a,op,r) {\n var i, f, m = Math.min(a.t,this.t);\n for(i = 0; i < m; ++i) r[i] = op(this[i],a[i]);\n if(a.t < this.t) {\n f = a.s&this.DM;\n for(i = m; i < this.t; ++i) r[i] = op(this[i],f);\n r.t = this.t;\n }\n else {\n f = this.s&this.DM;\n for(i = m; i < a.t; ++i) r[i] = op(f,a[i]);\n r.t = a.t;\n }\n r.s = op(this.s,a.s);\n r.clamp();\n }\n\n // (public) this & a\n function op_and(x,y) { return x&y; }\n function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; }\n\n // (public) this | a\n function op_or(x,y) { return x|y; }\n function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; }\n\n // (public) this ^ a\n function op_xor(x,y) { return x^y; }\n function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; }\n\n // (public) this & ~a\n function op_andnot(x,y) { return x&~y; }\n function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; }\n\n // (public) ~this\n function bnNot() {\n var r = nbi();\n for(var i = 0; i < this.t; ++i) r[i] = this.DM&~this[i];\n r.t = this.t;\n r.s = ~this.s;\n return r;\n }\n\n // (public) this << n\n function bnShiftLeft(n) {\n var r = nbi();\n if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r);\n return r;\n }\n\n // (public) this >> n\n function bnShiftRight(n) {\n var r = nbi();\n if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r);\n return r;\n }\n\n // return index of lowest 1-bit in x, x < 2^31\n function lbit(x) {\n if(x == 0) return -1;\n var r = 0;\n if((x&0xffff) == 0) { x >>= 16; r += 16; }\n if((x&0xff) == 0) { x >>= 8; r += 8; }\n if((x&0xf) == 0) { x >>= 4; r += 4; }\n if((x&3) == 0) { x >>= 2; r += 2; }\n if((x&1) == 0) ++r;\n return r;\n }\n\n // (public) returns index of lowest 1-bit (or -1 if none)\n function bnGetLowestSetBit() {\n for(var i = 0; i < this.t; ++i)\n if(this[i] != 0) return i*this.DB+lbit(this[i]);\n if(this.s < 0) return this.t*this.DB;\n return -1;\n }\n\n // return number of 1 bits in x\n function cbit(x) {\n var r = 0;\n while(x != 0) { x &= x-1; ++r; }\n return r;\n }\n\n // (public) return number of set bits\n function bnBitCount() {\n var r = 0, x = this.s&this.DM;\n for(var i = 0; i < this.t; ++i) r += cbit(this[i]^x);\n return r;\n }\n\n // (public) true iff nth bit is set\n function bnTestBit(n) {\n var j = Math.floor(n/this.DB);\n if(j >= this.t) return(this.s!=0);\n return((this[j]&(1<<(n%this.DB)))!=0);\n }\n\n // (protected) this op (1<>= this.DB;\n }\n if(a.t < this.t) {\n c += a.s;\n while(i < this.t) {\n c += this[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while(i < a.t) {\n c += a[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = (c<0)?-1:0;\n if(c > 0) r[i++] = c;\n else if(c < -1) r[i++] = this.DV+c;\n r.t = i;\n r.clamp();\n }\n\n // (public) this + a\n function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; }\n\n // (public) this - a\n function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; }\n\n // (public) this * a\n function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; }\n\n // (public) this^2\n function bnSquare() { var r = nbi(); this.squareTo(r); return r; }\n\n // (public) this / a\n function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; }\n\n // (public) this % a\n function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; }\n\n // (public) [this/a,this%a]\n function bnDivideAndRemainder(a) {\n var q = nbi(), r = nbi();\n this.divRemTo(a,q,r);\n return new Array(q,r);\n }\n\n // (protected) this *= n, this >= 0, 1 < n < DV\n function bnpDMultiply(n) {\n this[this.t] = this.am(0,n-1,this,0,0,this.t);\n ++this.t;\n this.clamp();\n }\n\n // (protected) this += n << w words, this >= 0\n function bnpDAddOffset(n,w) {\n if(n == 0) return;\n while(this.t <= w) this[this.t++] = 0;\n this[w] += n;\n while(this[w] >= this.DV) {\n this[w] -= this.DV;\n if(++w >= this.t) this[this.t++] = 0;\n ++this[w];\n }\n }\n\n // A \"null\" reducer\n function NullExp() {}\n function nNop(x) { return x; }\n function nMulTo(x,y,r) { x.multiplyTo(y,r); }\n function nSqrTo(x,r) { x.squareTo(r); }\n\n NullExp.prototype.convert = nNop;\n NullExp.prototype.revert = nNop;\n NullExp.prototype.mulTo = nMulTo;\n NullExp.prototype.sqrTo = nSqrTo;\n\n // (public) this^e\n function bnPow(e) { return this.exp(e,new NullExp()); }\n\n // (protected) r = lower n words of \"this * a\", a.t <= n\n // \"this\" should be the larger one if appropriate.\n function bnpMultiplyLowerTo(a,n,r) {\n var i = Math.min(this.t+a.t,n);\n r.s = 0; // assumes a,this >= 0\n r.t = i;\n while(i > 0) r[--i] = 0;\n var j;\n for(j = r.t-this.t; i < j; ++i) r[i+this.t] = this.am(0,a[i],r,i,0,this.t);\n for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a[i],r,i,0,n-i);\n r.clamp();\n }\n\n // (protected) r = \"this * a\" without lower n words, n > 0\n // \"this\" should be the larger one if appropriate.\n function bnpMultiplyUpperTo(a,n,r) {\n --n;\n var i = r.t = this.t+a.t-n;\n r.s = 0; // assumes a,this >= 0\n while(--i >= 0) r[i] = 0;\n for(i = Math.max(n-this.t,0); i < a.t; ++i)\n r[this.t+i-n] = this.am(n-i,a[i],r,0,0,this.t+i-n);\n r.clamp();\n r.drShiftTo(1,r);\n }\n\n // Barrett modular reduction\n function Barrett(m) {\n // setup Barrett\n this.r2 = nbi();\n this.q3 = nbi();\n BigInteger.ONE.dlShiftTo(2*m.t,this.r2);\n this.mu = this.r2.divide(m);\n this.m = m;\n }\n\n function barrettConvert(x) {\n if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m);\n else if(x.compareTo(this.m) < 0) return x;\n else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; }\n }\n\n function barrettRevert(x) { return x; }\n\n // x = x mod m (HAC 14.42)\n function barrettReduce(x) {\n x.drShiftTo(this.m.t-1,this.r2);\n if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); }\n this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);\n this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);\n while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1);\n x.subTo(this.r2,x);\n while(x.compareTo(this.m) >= 0) x.subTo(this.m,x);\n }\n\n // r = x^2 mod m; x != r\n function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\n // r = x*y mod m; x,y != r\n function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n\n Barrett.prototype.convert = barrettConvert;\n Barrett.prototype.revert = barrettRevert;\n Barrett.prototype.reduce = barrettReduce;\n Barrett.prototype.mulTo = barrettMulTo;\n Barrett.prototype.sqrTo = barrettSqrTo;\n\n // (public) this^e % m (HAC 14.85)\n function bnModPow(e,m) {\n var i = e.bitLength(), k, r = nbv(1), z;\n if(i <= 0) return r;\n else if(i < 18) k = 1;\n else if(i < 48) k = 3;\n else if(i < 144) k = 4;\n else if(i < 768) k = 5;\n else k = 6;\n if(i < 8)\n z = new Classic(m);\n else if(m.isEven())\n z = new Barrett(m);\n else\n z = new Montgomery(m);\n\n // precomputation\n var g = new Array(), n = 3, k1 = k-1, km = (1< 1) {\n var g2 = nbi();\n z.sqrTo(g[1],g2);\n while(n <= km) {\n g[n] = nbi();\n z.mulTo(g2,g[n-2],g[n]);\n n += 2;\n }\n }\n\n var j = e.t-1, w, is1 = true, r2 = nbi(), t;\n i = nbits(e[j])-1;\n while(j >= 0) {\n if(i >= k1) w = (e[j]>>(i-k1))&km;\n else {\n w = (e[j]&((1<<(i+1))-1))<<(k1-i);\n if(j > 0) w |= e[j-1]>>(this.DB+i-k1);\n }\n\n n = k;\n while((w&1) == 0) { w >>= 1; --n; }\n if((i -= n) < 0) { i += this.DB; --j; }\n if(is1) {\t// ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; }\n if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; }\n z.mulTo(r2,g[w],r);\n }\n\n while(j >= 0 && (e[j]&(1< 0) {\n x.rShiftTo(g,x);\n y.rShiftTo(g,y);\n }\n while(x.signum() > 0) {\n if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x);\n if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y);\n if(x.compareTo(y) >= 0) {\n x.subTo(y,x);\n x.rShiftTo(1,x);\n }\n else {\n y.subTo(x,y);\n y.rShiftTo(1,y);\n }\n }\n if(g > 0) y.lShiftTo(g,y);\n return y;\n }\n\n // (protected) this % n, n < 2^26\n function bnpModInt(n) {\n if(n <= 0) return 0;\n var d = this.DV%n, r = (this.s<0)?n-1:0;\n if(this.t > 0)\n if(d == 0) r = this[0]%n;\n else for(var i = this.t-1; i >= 0; --i) r = (d*r+this[i])%n;\n return r;\n }\n\n // (public) 1/this % m (HAC 14.61)\n function bnModInverse(m) {\n var ac = m.isEven();\n if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO;\n var u = m.clone(), v = this.clone();\n var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);\n while(u.signum() != 0) {\n while(u.isEven()) {\n u.rShiftTo(1,u);\n if(ac) {\n if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); }\n a.rShiftTo(1,a);\n }\n else if(!b.isEven()) b.subTo(m,b);\n b.rShiftTo(1,b);\n }\n while(v.isEven()) {\n v.rShiftTo(1,v);\n if(ac) {\n if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); }\n c.rShiftTo(1,c);\n }\n else if(!d.isEven()) d.subTo(m,d);\n d.rShiftTo(1,d);\n }\n if(u.compareTo(v) >= 0) {\n u.subTo(v,u);\n if(ac) a.subTo(c,a);\n b.subTo(d,b);\n }\n else {\n v.subTo(u,v);\n if(ac) c.subTo(a,c);\n d.subTo(b,d);\n }\n }\n if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;\n if(d.compareTo(m) >= 0) return d.subtract(m);\n if(d.signum() < 0) d.addTo(m,d); else return d;\n if(d.signum() < 0) return d.add(m); else return d;\n }\n\n var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];\n var lplim = (1<<26)/lowprimes[lowprimes.length-1];\n\n // (public) test primality with certainty >= 1-.5^t\n function bnIsProbablePrime(t) {\n var i, x = this.abs();\n if(x.t == 1 && x[0] <= lowprimes[lowprimes.length-1]) {\n for(i = 0; i < lowprimes.length; ++i)\n if(x[0] == lowprimes[i]) return true;\n return false;\n }\n if(x.isEven()) return false;\n i = 1;\n while(i < lowprimes.length) {\n var m = lowprimes[i], j = i+1;\n while(j < lowprimes.length && m < lplim) m *= lowprimes[j++];\n m = x.modInt(m);\n while(i < j) if(m%lowprimes[i++] == 0) return false;\n }\n return x.millerRabin(t);\n }\n\n // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n function bnpMillerRabin(t) {\n var n1 = this.subtract(BigInteger.ONE);\n var k = n1.getLowestSetBit();\n if(k <= 0) return false;\n var r = n1.shiftRight(k);\n t = (t+1)>>1;\n if(t > lowprimes.length) t = lowprimes.length;\n var a = nbi();\n for(var i = 0; i < t; ++i) {\n //Pick bases at random, instead of starting at 2\n a.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);\n var y = a.modPow(r,this);\n if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n var j = 1;\n while(j++ < k && y.compareTo(n1) != 0) {\n y = y.modPowInt(2,this);\n if(y.compareTo(BigInteger.ONE) == 0) return false;\n }\n if(y.compareTo(n1) != 0) return false;\n }\n }\n return true;\n }\n\n // protected\n BigInteger.prototype.chunkSize = bnpChunkSize;\n BigInteger.prototype.toRadix = bnpToRadix;\n BigInteger.prototype.fromRadix = bnpFromRadix;\n BigInteger.prototype.fromNumber = bnpFromNumber;\n BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n BigInteger.prototype.changeBit = bnpChangeBit;\n BigInteger.prototype.addTo = bnpAddTo;\n BigInteger.prototype.dMultiply = bnpDMultiply;\n BigInteger.prototype.dAddOffset = bnpDAddOffset;\n BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n BigInteger.prototype.modInt = bnpModInt;\n BigInteger.prototype.millerRabin = bnpMillerRabin;\n\n // public\n BigInteger.prototype.clone = bnClone;\n BigInteger.prototype.intValue = bnIntValue;\n BigInteger.prototype.byteValue = bnByteValue;\n BigInteger.prototype.shortValue = bnShortValue;\n BigInteger.prototype.signum = bnSigNum;\n BigInteger.prototype.toByteArray = bnToByteArray;\n BigInteger.prototype.equals = bnEquals;\n BigInteger.prototype.min = bnMin;\n BigInteger.prototype.max = bnMax;\n BigInteger.prototype.and = bnAnd;\n BigInteger.prototype.or = bnOr;\n BigInteger.prototype.xor = bnXor;\n BigInteger.prototype.andNot = bnAndNot;\n BigInteger.prototype.not = bnNot;\n BigInteger.prototype.shiftLeft = bnShiftLeft;\n BigInteger.prototype.shiftRight = bnShiftRight;\n BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n BigInteger.prototype.bitCount = bnBitCount;\n BigInteger.prototype.testBit = bnTestBit;\n BigInteger.prototype.setBit = bnSetBit;\n BigInteger.prototype.clearBit = bnClearBit;\n BigInteger.prototype.flipBit = bnFlipBit;\n BigInteger.prototype.add = bnAdd;\n BigInteger.prototype.subtract = bnSubtract;\n BigInteger.prototype.multiply = bnMultiply;\n BigInteger.prototype.divide = bnDivide;\n BigInteger.prototype.remainder = bnRemainder;\n BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;\n BigInteger.prototype.modPow = bnModPow;\n BigInteger.prototype.modInverse = bnModInverse;\n BigInteger.prototype.pow = bnPow;\n BigInteger.prototype.gcd = bnGCD;\n BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n\n // JSBN-specific extension\n BigInteger.prototype.square = bnSquare;\n\n // Expose the Barrett function\n BigInteger.prototype.Barrett = Barrett\n\n // BigInteger interfaces not implemented in jsbn:\n\n // BigInteger(int signum, byte[] magnitude)\n // double doubleValue()\n // float floatValue()\n // int hashCode()\n // long longValue()\n // static BigInteger valueOf(long val)\n\n\t// Random number generator - requires a PRNG backend, e.g. prng4.js\n\n\t// For best results, put code like\n\t// \n\t// in your main HTML document.\n\n\tvar rng_state;\n\tvar rng_pool;\n\tvar rng_pptr;\n\n\t// Mix in a 32-bit integer into the pool\n\tfunction rng_seed_int(x) {\n\t rng_pool[rng_pptr++] ^= x & 255;\n\t rng_pool[rng_pptr++] ^= (x >> 8) & 255;\n\t rng_pool[rng_pptr++] ^= (x >> 16) & 255;\n\t rng_pool[rng_pptr++] ^= (x >> 24) & 255;\n\t if(rng_pptr >= rng_psize) rng_pptr -= rng_psize;\n\t}\n\n\t// Mix in the current time (w/milliseconds) into the pool\n\tfunction rng_seed_time() {\n\t rng_seed_int(new Date().getTime());\n\t}\n\n\t// Initialize the pool with junk if needed.\n\tif(rng_pool == null) {\n\t rng_pool = new Array();\n\t rng_pptr = 0;\n\t var t;\n\t if(typeof window !== \"undefined\" && window.crypto) {\n\t\tif (window.crypto.getRandomValues) {\n\t\t // Use webcrypto if available\n\t\t var ua = new Uint8Array(32);\n\t\t window.crypto.getRandomValues(ua);\n\t\t for(t = 0; t < 32; ++t)\n\t\t\trng_pool[rng_pptr++] = ua[t];\n\t\t}\n\t\telse if(navigator.appName == \"Netscape\" && navigator.appVersion < \"5\") {\n\t\t // Extract entropy (256 bits) from NS4 RNG if available\n\t\t var z = window.crypto.random(32);\n\t\t for(t = 0; t < z.length; ++t)\n\t\t\trng_pool[rng_pptr++] = z.charCodeAt(t) & 255;\n\t\t}\n\t }\n\t while(rng_pptr < rng_psize) { // extract some randomness from Math.random()\n\t\tt = Math.floor(65536 * Math.random());\n\t\trng_pool[rng_pptr++] = t >>> 8;\n\t\trng_pool[rng_pptr++] = t & 255;\n\t }\n\t rng_pptr = 0;\n\t rng_seed_time();\n\t //rng_seed_int(window.screenX);\n\t //rng_seed_int(window.screenY);\n\t}\n\n\tfunction rng_get_byte() {\n\t if(rng_state == null) {\n\t\trng_seed_time();\n\t\trng_state = prng_newstate();\n\t\trng_state.init(rng_pool);\n\t\tfor(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr)\n\t\t rng_pool[rng_pptr] = 0;\n\t\trng_pptr = 0;\n\t\t//rng_pool = null;\n\t }\n\t // TODO: allow reseeding after first request\n\t return rng_state.next();\n\t}\n\n\tfunction rng_get_bytes(ba) {\n\t var i;\n\t for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte();\n\t}\n\n\tfunction SecureRandom() {}\n\n\tSecureRandom.prototype.nextBytes = rng_get_bytes;\n\n\t// prng4.js - uses Arcfour as a PRNG\n\n\tfunction Arcfour() {\n\t this.i = 0;\n\t this.j = 0;\n\t this.S = new Array();\n\t}\n\n\t// Initialize arcfour context from key, an array of ints, each from [0..255]\n\tfunction ARC4init(key) {\n\t var i, j, t;\n\t for(i = 0; i < 256; ++i)\n\t\tthis.S[i] = i;\n\t j = 0;\n\t for(i = 0; i < 256; ++i) {\n\t\tj = (j + this.S[i] + key[i % key.length]) & 255;\n\t\tt = this.S[i];\n\t\tthis.S[i] = this.S[j];\n\t\tthis.S[j] = t;\n\t }\n\t this.i = 0;\n\t this.j = 0;\n\t}\n\n\tfunction ARC4next() {\n\t var t;\n\t this.i = (this.i + 1) & 255;\n\t this.j = (this.j + this.S[this.i]) & 255;\n\t t = this.S[this.i];\n\t this.S[this.i] = this.S[this.j];\n\t this.S[this.j] = t;\n\t return this.S[(t + this.S[this.i]) & 255];\n\t}\n\n\tArcfour.prototype.init = ARC4init;\n\tArcfour.prototype.next = ARC4next;\n\n\t// Plug in your RNG constructor here\n\tfunction prng_newstate() {\n\t return new Arcfour();\n\t}\n\n\t// Pool size must be a multiple of 4 and greater than 32.\n\t// An array of bytes the size of the pool will be passed to init()\n\tvar rng_psize = 256;\n\n if (typeof exports !== 'undefined') {\n exports = module.exports = {\n\t\t\tBigInteger: BigInteger,\n\t\t\tSecureRandom: SecureRandom,\n\t\t};\n } else {\n this.BigInteger = BigInteger;\n this.SecureRandom = SecureRandom;\n }\n\n}).call(this);\n\n\n\n// WEBPACK FOOTER //\n// ./~/jsbn/index.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0',\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = baseProperty('length');\n\n/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n}\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n result++;\n }\n return result;\n}\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeFloor = Math.floor;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\nfunction baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n}\n\n/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\n/**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\nfunction createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\nfunction padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n}\n\nmodule.exports = padStart;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash.padstart/index.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\nfunction baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\nfunction repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n}\n\nmodule.exports = repeat;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash.repeat/index.js","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n});\n\nreturn af;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/af.js","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arDz;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ar-dz.js","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arKw;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ar-kw.js","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n};\nvar pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n};\nvar plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nvar pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n};\nvar months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n];\n\nvar arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/\\u200f/g, '').replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arLy;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ar-ly.js","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arMa;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ar-ma.js","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n};\nvar numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\n\nvar arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arSa;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ar-sa.js","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn arTn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ar-tn.js","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n};\nvar numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\nvar pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n};\nvar plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nvar pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n};\nvar months = [\n 'كانون الثاني يناير',\n 'شباط فبراير',\n 'آذار مارس',\n 'نيسان أبريل',\n 'أيار مايو',\n 'حزيران يونيو',\n 'تموز يوليو',\n 'آب أغسطس',\n 'أيلول سبتمبر',\n 'تشرين الأول أكتوبر',\n 'تشرين الثاني نوفمبر',\n 'كانون الأول ديسمبر'\n];\n\nvar ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/\\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ar;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ar.js","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n};\n\nvar az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn az;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/az.js","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\n\nvar be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn be;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/be.js","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bg;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/bg.js","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n};\nvar numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n};\n\nvar bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/bn.js","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n};\nvar numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n};\n\nvar bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bo;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/bo.js","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n}\nfunction specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n}\nfunction lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n}\nfunction mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n}\nfunction softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n}\n\nvar br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn br;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/br.js","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n}\n\nvar bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bs;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/bs.js","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : '[el] D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : '[el] D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : '[el] dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ca;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ca.js","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_');\nvar monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\nfunction plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n}\n\nvar cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn cs;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/cs.js","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn cv;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/cv.js","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn cy;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/cy.js","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn da;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/da.js","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn deAt;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/de-at.js","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n// based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de#\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH.mm',\n LLLL : 'dddd, D. MMMM YYYY HH.mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn deCh;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/de-ch.js","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn de;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/de.js","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n];\nvar weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n];\n\nvar dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn dv;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/dv.js","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\n\nvar el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n});\n\nreturn el;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/el.js","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enAu;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/en-au.js","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n});\n\nreturn enCa;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/en-ca.js","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enGb;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/en-gb.js","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enIe;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/en-ie.js","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enNz;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/en-nz.js","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn eo;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/eo.js","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn esDo;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/es-do.js","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn es;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/es.js","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n}\n\nvar et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn et;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/et.js","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn eu;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/eu.js","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n};\nvar numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n};\n\nvar fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn fa;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/fa.js","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' ');\nvar numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n}\nfunction verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n}\n\nvar fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fi;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/fi.js","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fo;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/fo.js","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n});\n\nreturn frCa;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/fr-ca.js","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn frCh;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/fr-ch.js","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fr;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/fr.js","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\nvar fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fy;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/fy.js","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n];\n\nvar monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\nvar weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\nvar gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn gd;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/gd.js","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn gl;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/gl.js","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' hor'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n});\n\nreturn gomLatn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/gom-latn.js","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n});\n\nreturn he;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/he.js","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hi;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/hi.js","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n}\n\nvar hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hr;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/hr.js","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction translate(number, withoutSuffix, key, isFuture) {\n var num = number,\n suffix;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n}\nfunction week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n}\n\nvar hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn hu;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/hu.js","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hyAm;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/hy-am.js","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn id;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/id.js","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n}\n\nvar is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn is;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/is.js","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn it;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/it.js","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 HH:mm dddd',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日 HH:mm dddd'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : '[来週]dddd LT',\n lastDay : '[昨日] LT',\n lastWeek : '[前週]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n});\n\nreturn ja;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ja.js","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn jv;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/jv.js","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის უკან');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის უკან');\n }\n },\n s : 'რამდენიმე წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n});\n\nreturn ka;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ka.js","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n};\n\nvar kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn kk;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/kk.js","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn km;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/km.js","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n};\nvar numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n};\n\nvar kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn kn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/kn.js","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}일/,\n ordinal : '%d일',\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n});\n\nreturn ko;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ko.js","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n};\n\nvar ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ky;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ky.js","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\nfunction processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n}\nfunction processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n}\n/**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\nfunction eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n}\n\nvar lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lb;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/lb.js","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n});\n\nreturn lo;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/lo.js","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar units = {\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n};\nfunction translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n}\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n}\nvar lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lt;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/lt.js","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar units = {\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n};\n/**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\nfunction format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n}\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n}\nfunction relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n}\n\nvar lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lv;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/lv.js","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn me;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/me.js","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn mi;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/mi.js","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn mk;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/mk.js","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n});\n\nreturn ml;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ml.js","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nfunction relativeTimeMr(number, withoutSuffix, string, isFuture)\n{\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n}\n\nvar mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn mr;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/mr.js","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn msMy;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ms-my.js","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ms;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ms.js","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n};\nvar numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n};\n\nvar my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn my;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/my.js","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nb;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/nb.js","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ne;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ne.js","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nlBe;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/nl-be.js","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nl;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/nl.js","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! author : https://github.com/mechuwind\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/nn.js","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n};\nvar numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n};\n\nvar paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn paIn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/pa-in.js","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_');\nvar monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\nfunction plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n}\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n}\n\nvar pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: '[W] dddd [o] LT',\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn pl;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/pl.js","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ptBr = moment.defineLocale('pt-br', {\n months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : '%s atrás',\n s : 'poucos segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n});\n\nreturn ptBr;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/pt-br.js","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar pt = moment.defineLocale('pt', {\n months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn pt;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/pt.js","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n}\n\nvar ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ro;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ro.js","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! Author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\nvar monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n// http://new.gramota.ru/spravka/rules/139-prop : § 103\n// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\nvar ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сегодня в] LT',\n nextDay: '[Завтра в] LT',\n lastDay: '[Вчера в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd [в] LT';\n } else {\n return '[В] dddd [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd [в] LT';\n } else {\n return '[В] dddd [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ru;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ru.js","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n];\nvar days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n];\n\nvar sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sd;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sd.js","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn se;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/se.js","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n/*jshint -W100*/\nvar si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n});\n\nreturn si;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/si.js","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_');\nvar monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\nfunction plural(n) {\n return (n > 1) && (n < 5);\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n}\n\nvar sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sk;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sk.js","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n}\n\nvar sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sl;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sl.js","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sq;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sq.js","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn srCyrl;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sr-cyrl.js","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sr;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sr.js","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ss;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ss.js","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sv;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sv.js","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sw;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/sw.js","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n};\nvar numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n};\n\nvar ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ta;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ta.js","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn te;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/te.js","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sext_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Sex_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n m : 'minutu ida',\n mm : 'minutus %d',\n h : 'horas ida',\n hh : 'horas %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tet;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/tet.js","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n});\n\nreturn th;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/th.js","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tlPh;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/tl-ph.js","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\nfunction translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n}\n\nfunction translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n}\n\nfunction translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n}\n\nfunction numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n}\n\nvar tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tlh;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/tlh.js","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n};\n\nvar tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[haftaya] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen hafta] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tr;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/tr.js","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n// This is currently too difficult (maybe even impossible) to add.\nvar tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n}\n\nreturn tzl;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/tzl.js","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tzmLatn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/tzm-latn.js","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tzm;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/tzm.js","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\nfunction weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n}\nfunction processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n}\n\nvar uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn uk;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/uk.js","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n];\nvar days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n];\n\nvar ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ur;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/ur.js","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn uzLatn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/uz-latn.js","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn uz;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/uz.js","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn vi;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/vi.js","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn xPseudo;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/x-pseudo.js","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn yo;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/yo.js","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日Ah点mm分',\n LLLL : 'YYYY年MMMD日ddddAh点mm分',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日 HH:mm',\n llll : 'YYYY年MMMD日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn zhCn;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/zh-cn.js","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日 HH:mm',\n LLLL : 'YYYY年MMMD日dddd HH:mm',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日 HH:mm',\n llll : 'YYYY年MMMD日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n});\n\nreturn zhHk;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/zh-hk.js","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日 HH:mm',\n LLLL : 'YYYY年MMMD日dddd HH:mm',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日 HH:mm',\n llll : 'YYYY年MMMD日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n});\n\nreturn zhTw;\n\n})));\n\n\n\n// WEBPACK FOOTER //\n// ./~/moment/locale/zh-tw.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = util.toSetString(aStr);\n var isDuplicate = has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n this._set[sStr] = idx;\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/array-set.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/base64-vlq.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/source-map-generator.js","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\nvar AbstractCategoryLogger_1 = require(\"./AbstractCategoryLogger\");\n/**\n * Simple logger, that logs to the console. If the console is unavailable will throw an exception.\n */\nvar CategoryConsoleLoggerImpl = (function (_super) {\n __extends(CategoryConsoleLoggerImpl, _super);\n function CategoryConsoleLoggerImpl(rootCategory, runtimeSettings) {\n return _super.call(this, rootCategory, runtimeSettings) || this;\n }\n CategoryConsoleLoggerImpl.prototype.doLog = function (msg) {\n var fullMsg = this.createDefaultLogMessage(msg);\n if (console !== undefined) {\n var logged = false;\n /* tslint:disable:no-console */\n switch (msg.getLevel()) {\n case LoggerOptions_1.LogLevel.Trace:\n // Don't try trace we don't want stacks\n break;\n case LoggerOptions_1.LogLevel.Debug:\n if (console.debug) {\n console.debug(fullMsg);\n logged = true;\n }\n break;\n case LoggerOptions_1.LogLevel.Info:\n if (console.info) {\n console.info(fullMsg);\n logged = true;\n }\n break;\n case LoggerOptions_1.LogLevel.Warn:\n if (console.warn) {\n console.warn(fullMsg);\n logged = true;\n }\n break;\n case LoggerOptions_1.LogLevel.Error:\n case LoggerOptions_1.LogLevel.Fatal:\n if (console.error) {\n console.error(fullMsg);\n logged = true;\n }\n break;\n default:\n throw new Error(\"Unsupported level: \" + msg.getLevel());\n }\n if (!logged) {\n console.log(fullMsg);\n }\n }\n else {\n throw new Error(\"Console is not defined, cannot log msg: \" + fullMsg);\n }\n };\n return CategoryConsoleLoggerImpl;\n}(AbstractCategoryLogger_1.AbstractCategoryLogger));\nexports.CategoryConsoleLoggerImpl = CategoryConsoleLoggerImpl;\n//# sourceMappingURL=CategoryConsoleLoggerImpl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/category/CategoryConsoleLoggerImpl.js","\"use strict\";\n/**\n * Delegate logger, delegates logging to given logger (constructor).\n */\nvar CategoryDelegateLoggerImpl = (function () {\n function CategoryDelegateLoggerImpl(delegate) {\n this._delegate = delegate;\n }\n Object.defineProperty(CategoryDelegateLoggerImpl.prototype, \"delegate\", {\n get: function () {\n return this._delegate;\n },\n set: function (value) {\n this._delegate = value;\n },\n enumerable: true,\n configurable: true\n });\n CategoryDelegateLoggerImpl.prototype.trace = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).trace.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.debug = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).debug.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.info = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).info.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.warn = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).warn.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.error = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n (_a = this._delegate).error.apply(_a, [msg, error].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.fatal = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n (_a = this._delegate).fatal.apply(_a, [msg, error].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.resolved = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n (_a = this._delegate).resolved.apply(_a, [msg, error].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.log = function (level, msg, error) {\n var categories = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n categories[_i - 3] = arguments[_i];\n }\n (_a = this._delegate).log.apply(_a, [level, msg, error].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.tracec = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).tracec.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.debugc = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).debugc.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.infoc = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).infoc.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.warnc = function (msg) {\n var categories = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n categories[_i - 1] = arguments[_i];\n }\n (_a = this._delegate).warnc.apply(_a, [msg].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.errorc = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n (_a = this._delegate).errorc.apply(_a, [msg, error].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.fatalc = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n (_a = this._delegate).fatalc.apply(_a, [msg, error].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.resolvedc = function (msg, error) {\n var categories = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n categories[_i - 2] = arguments[_i];\n }\n (_a = this._delegate).resolvedc.apply(_a, [msg, error].concat(categories));\n var _a;\n };\n CategoryDelegateLoggerImpl.prototype.logc = function (level, msg, error) {\n var categories = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n categories[_i - 3] = arguments[_i];\n }\n (_a = this._delegate).logc.apply(_a, [level, msg, error].concat(categories));\n var _a;\n };\n return CategoryDelegateLoggerImpl;\n}());\nexports.CategoryDelegateLoggerImpl = CategoryDelegateLoggerImpl;\n//# sourceMappingURL=CategoryDelegateLoggerImpl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/category/CategoryDelegateLoggerImpl.js","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AbstractCategoryLogger_1 = require(\"./AbstractCategoryLogger\");\n/**\n * Logger which buffers all messages, use with care due to possible high memory footprint.\n * Can be convenient in some cases. Call toString() for full output, or cast to this class\n * and call getMessages() to do something with it yourself.\n */\nvar CategoryMessageBufferLoggerImpl = (function (_super) {\n __extends(CategoryMessageBufferLoggerImpl, _super);\n function CategoryMessageBufferLoggerImpl() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.messages = [];\n return _this;\n }\n CategoryMessageBufferLoggerImpl.prototype.getMessages = function () {\n return this.messages;\n };\n CategoryMessageBufferLoggerImpl.prototype.toString = function () {\n return this.messages.map(function (msg) {\n return msg;\n }).join(\"\\n\");\n };\n CategoryMessageBufferLoggerImpl.prototype.doLog = function (msg) {\n var fullMsg = this.createDefaultLogMessage(msg);\n this.messages.push(fullMsg);\n };\n return CategoryMessageBufferLoggerImpl;\n}(AbstractCategoryLogger_1.AbstractCategoryLogger));\nexports.CategoryMessageBufferLoggerImpl = CategoryMessageBufferLoggerImpl;\n//# sourceMappingURL=CategoryMessageBufferImpl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/category/CategoryMessageBufferImpl.js","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AbstractLogger_1 = require(\"./AbstractLogger\");\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\n/**\n * Simple logger, that logs to the console. If the console is unavailable will throw exception.\n */\nvar ConsoleLoggerImpl = (function (_super) {\n __extends(ConsoleLoggerImpl, _super);\n function ConsoleLoggerImpl(name, logGroupRuntimeSettings) {\n return _super.call(this, name, logGroupRuntimeSettings) || this;\n }\n ConsoleLoggerImpl.prototype.doLog = function (message) {\n if (console !== undefined) {\n var logged = false;\n var logLevel = message.level;\n var msg = this.createDefaultLogMessage(message);\n /* tslint:disable:no-console */\n switch (logLevel) {\n case LoggerOptions_1.LogLevel.Trace:\n // Do not try trace we don't want a stack\n break;\n case LoggerOptions_1.LogLevel.Debug:\n if (console.debug) {\n console.debug(msg);\n logged = true;\n }\n break;\n case LoggerOptions_1.LogLevel.Info:\n if (console.info) {\n console.info(msg);\n logged = true;\n }\n break;\n case LoggerOptions_1.LogLevel.Warn:\n if (console.warn) {\n console.warn(msg);\n logged = true;\n }\n break;\n case LoggerOptions_1.LogLevel.Error:\n case LoggerOptions_1.LogLevel.Fatal:\n if (console.error) {\n console.error(msg);\n logged = true;\n }\n break;\n default:\n throw new Error(\"Log level not supported: \" + logLevel);\n }\n if (!logged) {\n console.log(msg);\n }\n }\n else {\n throw new Error(\"Console is not defined, cannot log msg: \" + message.message);\n }\n };\n return ConsoleLoggerImpl;\n}(AbstractLogger_1.AbstractLogger));\nexports.ConsoleLoggerImpl = ConsoleLoggerImpl;\n//# sourceMappingURL=ConsoleLoggerImpl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/standard/ConsoleLoggerImpl.js","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AbstractLogger_1 = require(\"./AbstractLogger\");\n/**\n * Logger which buffers all messages, use with care due to possible high memory footprint.\n * Can be convenient in some cases. Call toString() for full output, or cast to this class\n * and call getMessages() to do something with it yourself.\n */\nvar MessageBufferLoggerImpl = (function (_super) {\n __extends(MessageBufferLoggerImpl, _super);\n function MessageBufferLoggerImpl(name, logGroupRuntimeSettings) {\n var _this = _super.call(this, name, logGroupRuntimeSettings) || this;\n _this.messages = [];\n return _this;\n }\n MessageBufferLoggerImpl.prototype.close = function () {\n this.messages = [];\n _super.prototype.close.call(this);\n };\n MessageBufferLoggerImpl.prototype.getMessages = function () {\n return this.messages;\n };\n MessageBufferLoggerImpl.prototype.toString = function () {\n return this.messages.map(function (msg) {\n return msg;\n }).join(\"\\n\");\n };\n MessageBufferLoggerImpl.prototype.doLog = function (message) {\n this.messages.push(this.createDefaultLogMessage(message));\n };\n return MessageBufferLoggerImpl;\n}(AbstractLogger_1.AbstractLogger));\nexports.MessageBufferLoggerImpl = MessageBufferLoggerImpl;\n//# sourceMappingURL=MessageBufferLoggerImpl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/standard/MessageBufferLoggerImpl.js","/*!\n * URI.js - Mutating URLs\n * IPv6 Support\n *\n * Version: 1.18.10\n *\n * Author: Rodney Rehm\n * Web: http://medialize.github.io/URI.js/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n *\n */\n\n(function (root, factory) {\n 'use strict';\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else {\n // Browser globals (root is window)\n root.IPv6 = factory(root);\n }\n}(this, function (root) {\n 'use strict';\n\n /*\n var _in = \"fe80:0000:0000:0000:0204:61ff:fe9d:f156\";\n var _out = IPv6.best(_in);\n var _expected = \"fe80::204:61ff:fe9d:f156\";\n\n console.log(_in, _out, _expected, _out === _expected);\n */\n\n // save current IPv6 variable, if any\n var _IPv6 = root && root.IPv6;\n\n function bestPresentation(address) {\n // based on:\n // Javascript to test an IPv6 address for proper format, and to\n // present the \"best text representation\" according to IETF Draft RFC at\n // http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04\n // 8 Feb 2010 Rich Brown, Dartware, LLC\n // Please feel free to use this code as long as you provide a link to\n // http://www.intermapper.com\n // http://intermapper.com/support/tools/IPV6-Validator.aspx\n // http://download.dartware.com/thirdparty/ipv6validator.js\n\n var _address = address.toLowerCase();\n var segments = _address.split(':');\n var length = segments.length;\n var total = 8;\n\n // trim colons (:: or ::a:b:c… or …a:b:c::)\n if (segments[0] === '' && segments[1] === '' && segments[2] === '') {\n // must have been ::\n // remove first two items\n segments.shift();\n segments.shift();\n } else if (segments[0] === '' && segments[1] === '') {\n // must have been ::xxxx\n // remove the first item\n segments.shift();\n } else if (segments[length - 1] === '' && segments[length - 2] === '') {\n // must have been xxxx::\n segments.pop();\n }\n\n length = segments.length;\n\n // adjust total segments for IPv4 trailer\n if (segments[length - 1].indexOf('.') !== -1) {\n // found a \".\" which means IPv4\n total = 7;\n }\n\n // fill empty segments them with \"0000\"\n var pos;\n for (pos = 0; pos < length; pos++) {\n if (segments[pos] === '') {\n break;\n }\n }\n\n if (pos < total) {\n segments.splice(pos, 1, '0000');\n while (segments.length < total) {\n segments.splice(pos, 0, '0000');\n }\n }\n\n // strip leading zeros\n var _segments;\n for (var i = 0; i < total; i++) {\n _segments = segments[i].split('');\n for (var j = 0; j < 3 ; j++) {\n if (_segments[0] === '0' && _segments.length > 1) {\n _segments.splice(0,1);\n } else {\n break;\n }\n }\n\n segments[i] = _segments.join('');\n }\n\n // find longest sequence of zeroes and coalesce them into one segment\n var best = -1;\n var _best = 0;\n var _current = 0;\n var current = -1;\n var inzeroes = false;\n // i; already declared\n\n for (i = 0; i < total; i++) {\n if (inzeroes) {\n if (segments[i] === '0') {\n _current += 1;\n } else {\n inzeroes = false;\n if (_current > _best) {\n best = current;\n _best = _current;\n }\n }\n } else {\n if (segments[i] === '0') {\n inzeroes = true;\n current = i;\n _current = 1;\n }\n }\n }\n\n if (_current > _best) {\n best = current;\n _best = _current;\n }\n\n if (_best > 1) {\n segments.splice(best, _best, '');\n }\n\n length = segments.length;\n\n // assemble remaining segments\n var result = '';\n if (segments[0] === '') {\n result = ':';\n }\n\n for (i = 0; i < length; i++) {\n result += segments[i];\n if (i === length - 1) {\n break;\n }\n\n result += ':';\n }\n\n if (segments[length - 1] === '') {\n result += ':';\n }\n\n return result;\n }\n\n function noConflict() {\n /*jshint validthis: true */\n if (root.IPv6 === this) {\n root.IPv6 = _IPv6;\n }\n \n return this;\n }\n\n return {\n best: bestPresentation,\n noConflict: noConflict\n };\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./~/urijs/src/IPv6.js","/*!\n * URI.js - Mutating URLs\n * Second Level Domain (SLD) Support\n *\n * Version: 1.18.10\n *\n * Author: Rodney Rehm\n * Web: http://medialize.github.io/URI.js/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n *\n */\n\n(function (root, factory) {\n 'use strict';\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else {\n // Browser globals (root is window)\n root.SecondLevelDomains = factory(root);\n }\n}(this, function (root) {\n 'use strict';\n\n // save current SecondLevelDomains variable, if any\n var _SecondLevelDomains = root && root.SecondLevelDomains;\n\n var SLD = {\n // list of known Second Level Domains\n // converted list of SLDs from https://github.com/gavingmiller/second-level-domains\n // ----\n // publicsuffix.org is more current and actually used by a couple of browsers internally.\n // downside is it also contains domains like \"dyndns.org\" - which is fine for the security\n // issues browser have to deal with (SOP for cookies, etc) - but is way overboard for URI.js\n // ----\n list: {\n 'ac':' com gov mil net org ',\n 'ae':' ac co gov mil name net org pro sch ',\n 'af':' com edu gov net org ',\n 'al':' com edu gov mil net org ',\n 'ao':' co ed gv it og pb ',\n 'ar':' com edu gob gov int mil net org tur ',\n 'at':' ac co gv or ',\n 'au':' asn com csiro edu gov id net org ',\n 'ba':' co com edu gov mil net org rs unbi unmo unsa untz unze ',\n 'bb':' biz co com edu gov info net org store tv ',\n 'bh':' biz cc com edu gov info net org ',\n 'bn':' com edu gov net org ',\n 'bo':' com edu gob gov int mil net org tv ',\n 'br':' adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ',\n 'bs':' com edu gov net org ',\n 'bz':' du et om ov rg ',\n 'ca':' ab bc mb nb nf nl ns nt nu on pe qc sk yk ',\n 'ck':' biz co edu gen gov info net org ',\n 'cn':' ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ',\n 'co':' com edu gov mil net nom org ',\n 'cr':' ac c co ed fi go or sa ',\n 'cy':' ac biz com ekloges gov ltd name net org parliament press pro tm ',\n 'do':' art com edu gob gov mil net org sld web ',\n 'dz':' art asso com edu gov net org pol ',\n 'ec':' com edu fin gov info med mil net org pro ',\n 'eg':' com edu eun gov mil name net org sci ',\n 'er':' com edu gov ind mil net org rochest w ',\n 'es':' com edu gob nom org ',\n 'et':' biz com edu gov info name net org ',\n 'fj':' ac biz com info mil name net org pro ',\n 'fk':' ac co gov net nom org ',\n 'fr':' asso com f gouv nom prd presse tm ',\n 'gg':' co net org ',\n 'gh':' com edu gov mil org ',\n 'gn':' ac com gov net org ',\n 'gr':' com edu gov mil net org ',\n 'gt':' com edu gob ind mil net org ',\n 'gu':' com edu gov net org ',\n 'hk':' com edu gov idv net org ',\n 'hu':' 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ',\n 'id':' ac co go mil net or sch web ',\n 'il':' ac co gov idf k12 muni net org ',\n 'in':' ac co edu ernet firm gen gov i ind mil net nic org res ',\n 'iq':' com edu gov i mil net org ',\n 'ir':' ac co dnssec gov i id net org sch ',\n 'it':' edu gov ',\n 'je':' co net org ',\n 'jo':' com edu gov mil name net org sch ',\n 'jp':' ac ad co ed go gr lg ne or ',\n 'ke':' ac co go info me mobi ne or sc ',\n 'kh':' com edu gov mil net org per ',\n 'ki':' biz com de edu gov info mob net org tel ',\n 'km':' asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ',\n 'kn':' edu gov net org ',\n 'kr':' ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ',\n 'kw':' com edu gov net org ',\n 'ky':' com edu gov net org ',\n 'kz':' com edu gov mil net org ',\n 'lb':' com edu gov net org ',\n 'lk':' assn com edu gov grp hotel int ltd net ngo org sch soc web ',\n 'lr':' com edu gov net org ',\n 'lv':' asn com conf edu gov id mil net org ',\n 'ly':' com edu gov id med net org plc sch ',\n 'ma':' ac co gov m net org press ',\n 'mc':' asso tm ',\n 'me':' ac co edu gov its net org priv ',\n 'mg':' com edu gov mil nom org prd tm ',\n 'mk':' com edu gov inf name net org pro ',\n 'ml':' com edu gov net org presse ',\n 'mn':' edu gov org ',\n 'mo':' com edu gov net org ',\n 'mt':' com edu gov net org ',\n 'mv':' aero biz com coop edu gov info int mil museum name net org pro ',\n 'mw':' ac co com coop edu gov int museum net org ',\n 'mx':' com edu gob net org ',\n 'my':' com edu gov mil name net org sch ',\n 'nf':' arts com firm info net other per rec store web ',\n 'ng':' biz com edu gov mil mobi name net org sch ',\n 'ni':' ac co com edu gob mil net nom org ',\n 'np':' com edu gov mil net org ',\n 'nr':' biz com edu gov info net org ',\n 'om':' ac biz co com edu gov med mil museum net org pro sch ',\n 'pe':' com edu gob mil net nom org sld ',\n 'ph':' com edu gov i mil net ngo org ',\n 'pk':' biz com edu fam gob gok gon gop gos gov net org web ',\n 'pl':' art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ',\n 'pr':' ac biz com edu est gov info isla name net org pro prof ',\n 'ps':' com edu gov net org plo sec ',\n 'pw':' belau co ed go ne or ',\n 'ro':' arts com firm info nom nt org rec store tm www ',\n 'rs':' ac co edu gov in org ',\n 'sb':' com edu gov net org ',\n 'sc':' com edu gov net org ',\n 'sh':' co com edu gov net nom org ',\n 'sl':' com edu gov net org ',\n 'st':' co com consulado edu embaixada gov mil net org principe saotome store ',\n 'sv':' com edu gob org red ',\n 'sz':' ac co org ',\n 'tr':' av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ',\n 'tt':' aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ',\n 'tw':' club com ebiz edu game gov idv mil net org ',\n 'mu':' ac co com gov net or org ',\n 'mz':' ac co edu gov org ',\n 'na':' co com ',\n 'nz':' ac co cri geek gen govt health iwi maori mil net org parliament school ',\n 'pa':' abo ac com edu gob ing med net nom org sld ',\n 'pt':' com edu gov int net nome org publ ',\n 'py':' com edu gov mil net org ',\n 'qa':' com edu gov mil net org ',\n 're':' asso com nom ',\n 'ru':' ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ',\n 'rw':' ac co com edu gouv gov int mil net ',\n 'sa':' com edu gov med net org pub sch ',\n 'sd':' com edu gov info med net org tv ',\n 'se':' a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ',\n 'sg':' com edu gov idn net org per ',\n 'sn':' art com edu gouv org perso univ ',\n 'sy':' com edu gov mil net news org ',\n 'th':' ac co go in mi net or ',\n 'tj':' ac biz co com edu go gov info int mil name net nic org test web ',\n 'tn':' agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ',\n 'tz':' ac co go ne or ',\n 'ua':' biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ',\n 'ug':' ac co go ne or org sc ',\n 'uk':' ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ',\n 'us':' dni fed isa kids nsn ',\n 'uy':' com edu gub mil net org ',\n 've':' co com edu gob info mil net org web ',\n 'vi':' co com k12 net org ',\n 'vn':' ac biz com edu gov health info int name net org pro ',\n 'ye':' co com gov ltd me net org plc ',\n 'yu':' ac co edu gov org ',\n 'za':' ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ',\n 'zm':' ac co com edu gov net org sch ',\n // https://en.wikipedia.org/wiki/CentralNic#Second-level_domains\n 'com': 'ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ',\n 'net': 'gb jp se uk ',\n 'org': 'ae',\n 'de': 'com '\n },\n // gorhill 2013-10-25: Using indexOf() instead Regexp(). Significant boost\n // in both performance and memory footprint. No initialization required.\n // http://jsperf.com/uri-js-sld-regex-vs-binary-search/4\n // Following methods use lastIndexOf() rather than array.split() in order\n // to avoid any memory allocations.\n has: function(domain) {\n var tldOffset = domain.lastIndexOf('.');\n if (tldOffset <= 0 || tldOffset >= (domain.length-1)) {\n return false;\n }\n var sldOffset = domain.lastIndexOf('.', tldOffset-1);\n if (sldOffset <= 0 || sldOffset >= (tldOffset-1)) {\n return false;\n }\n var sldList = SLD.list[domain.slice(tldOffset+1)];\n if (!sldList) {\n return false;\n }\n return sldList.indexOf(' ' + domain.slice(sldOffset+1, tldOffset) + ' ') >= 0;\n },\n is: function(domain) {\n var tldOffset = domain.lastIndexOf('.');\n if (tldOffset <= 0 || tldOffset >= (domain.length-1)) {\n return false;\n }\n var sldOffset = domain.lastIndexOf('.', tldOffset-1);\n if (sldOffset >= 0) {\n return false;\n }\n var sldList = SLD.list[domain.slice(tldOffset+1)];\n if (!sldList) {\n return false;\n }\n return sldList.indexOf(' ' + domain.slice(0, tldOffset) + ' ') >= 0;\n },\n get: function(domain) {\n var tldOffset = domain.lastIndexOf('.');\n if (tldOffset <= 0 || tldOffset >= (domain.length-1)) {\n return null;\n }\n var sldOffset = domain.lastIndexOf('.', tldOffset-1);\n if (sldOffset <= 0 || sldOffset >= (tldOffset-1)) {\n return null;\n }\n var sldList = SLD.list[domain.slice(tldOffset+1)];\n if (!sldList) {\n return null;\n }\n if (sldList.indexOf(' ' + domain.slice(sldOffset+1, tldOffset) + ' ') < 0) {\n return null;\n }\n return domain.slice(sldOffset+1);\n },\n noConflict: function(){\n if (root.SecondLevelDomains === this) {\n root.SecondLevelDomains = _SecondLevelDomains;\n }\n return this;\n }\n };\n\n return SLD;\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./~/urijs/src/SecondLevelDomains.js","/*!\n * URI.js - Mutating URLs\n *\n * Version: 1.18.10\n *\n * Author: Rodney Rehm\n * Web: http://medialize.github.io/URI.js/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n *\n */\n(function (root, factory) {\n 'use strict';\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = factory(require('./punycode'), require('./IPv6'), require('./SecondLevelDomains'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['./punycode', './IPv6', './SecondLevelDomains'], factory);\n } else {\n // Browser globals (root is window)\n root.URI = factory(root.punycode, root.IPv6, root.SecondLevelDomains, root);\n }\n}(this, function (punycode, IPv6, SLD, root) {\n 'use strict';\n /*global location, escape, unescape */\n // FIXME: v2.0.0 renamce non-camelCase properties to uppercase\n /*jshint camelcase: false */\n\n // save current URI variable, if any\n var _URI = root && root.URI;\n\n function URI(url, base) {\n var _urlSupplied = arguments.length >= 1;\n var _baseSupplied = arguments.length >= 2;\n\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof URI)) {\n if (_urlSupplied) {\n if (_baseSupplied) {\n return new URI(url, base);\n }\n\n return new URI(url);\n }\n\n return new URI();\n }\n\n if (url === undefined) {\n if (_urlSupplied) {\n throw new TypeError('undefined is not a valid argument for URI');\n }\n\n if (typeof location !== 'undefined') {\n url = location.href + '';\n } else {\n url = '';\n }\n }\n\n if (url === null) {\n if (_urlSupplied) {\n throw new TypeError('null is not a valid argument for URI');\n }\n }\n\n this.href(url);\n\n // resolve to base according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#constructor\n if (base !== undefined) {\n return this.absoluteTo(base);\n }\n\n return this;\n }\n\n URI.version = '1.18.10';\n\n var p = URI.prototype;\n var hasOwn = Object.prototype.hasOwnProperty;\n\n function escapeRegEx(string) {\n // https://github.com/medialize/URI.js/commit/85ac21783c11f8ccab06106dba9735a31a86924d#commitcomment-821963\n return string.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n function getType(value) {\n // IE8 doesn't return [Object Undefined] but [Object Object] for undefined value\n if (value === undefined) {\n return 'Undefined';\n }\n\n return String(Object.prototype.toString.call(value)).slice(8, -1);\n }\n\n function isArray(obj) {\n return getType(obj) === 'Array';\n }\n\n function filterArrayValues(data, value) {\n var lookup = {};\n var i, length;\n\n if (getType(value) === 'RegExp') {\n lookup = null;\n } else if (isArray(value)) {\n for (i = 0, length = value.length; i < length; i++) {\n lookup[value[i]] = true;\n }\n } else {\n lookup[value] = true;\n }\n\n for (i = 0, length = data.length; i < length; i++) {\n /*jshint laxbreak: true */\n var _match = lookup && lookup[data[i]] !== undefined\n || !lookup && value.test(data[i]);\n /*jshint laxbreak: false */\n if (_match) {\n data.splice(i, 1);\n length--;\n i--;\n }\n }\n\n return data;\n }\n\n function arrayContains(list, value) {\n var i, length;\n\n // value may be string, number, array, regexp\n if (isArray(value)) {\n // Note: this can be optimized to O(n) (instead of current O(m * n))\n for (i = 0, length = value.length; i < length; i++) {\n if (!arrayContains(list, value[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n var _type = getType(value);\n for (i = 0, length = list.length; i < length; i++) {\n if (_type === 'RegExp') {\n if (typeof list[i] === 'string' && list[i].match(value)) {\n return true;\n }\n } else if (list[i] === value) {\n return true;\n }\n }\n\n return false;\n }\n\n function arraysEqual(one, two) {\n if (!isArray(one) || !isArray(two)) {\n return false;\n }\n\n // arrays can't be equal if they have different amount of content\n if (one.length !== two.length) {\n return false;\n }\n\n one.sort();\n two.sort();\n\n for (var i = 0, l = one.length; i < l; i++) {\n if (one[i] !== two[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function trimSlashes(text) {\n var trim_expression = /^\\/+|\\/+$/g;\n return text.replace(trim_expression, '');\n }\n\n URI._parts = function() {\n return {\n protocol: null,\n username: null,\n password: null,\n hostname: null,\n urn: null,\n port: null,\n path: null,\n query: null,\n fragment: null,\n // state\n duplicateQueryParameters: URI.duplicateQueryParameters,\n escapeQuerySpace: URI.escapeQuerySpace\n };\n };\n // state: allow duplicate query parameters (a=1&a=1)\n URI.duplicateQueryParameters = false;\n // state: replaces + with %20 (space in query strings)\n URI.escapeQuerySpace = true;\n // static properties\n URI.protocol_expression = /^[a-z][a-z0-9.+-]*$/i;\n URI.idn_expression = /[^a-z0-9\\.-]/i;\n URI.punycode_expression = /(xn--)/i;\n // well, 333.444.555.666 matches, but it sure ain't no IPv4 - do we care?\n URI.ip4_expression = /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/;\n // credits to Rich Brown\n // source: http://forums.intermapper.com/viewtopic.php?p=1096#1096\n // specification: http://www.ietf.org/rfc/rfc4291.txt\n URI.ip6_expression = /^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$/;\n // expression used is \"gruber revised\" (@gruber v2) determined to be the\n // best solution in a regex-golf we did a couple of ages ago at\n // * http://mathiasbynens.be/demo/url-regex\n // * http://rodneyrehm.de/t/url-regex.html\n URI.find_uri_expression = /\\b((?:[a-z][\\w-]+:(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))/ig;\n URI.findUri = {\n // valid \"scheme://\" or \"www.\"\n start: /\\b(?:([a-z][a-z0-9.+-]*:\\/\\/)|www\\.)/gi,\n // everything up to the next whitespace\n end: /[\\s\\r\\n]|$/,\n // trim trailing punctuation captured by end RegExp\n trim: /[`!()\\[\\]{};:'\".,<>?«»“”„‘’]+$/,\n // balanced parens inclusion (), [], {}, <>\n parens: /(\\([^\\)]*\\)|\\[[^\\]]*\\]|\\{[^}]*\\}|<[^>]*>)/g,\n };\n // http://www.iana.org/assignments/uri-schemes.html\n // http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports\n URI.defaultPorts = {\n http: '80',\n https: '443',\n ftp: '21',\n gopher: '70',\n ws: '80',\n wss: '443'\n };\n // allowed hostname characters according to RFC 3986\n // ALPHA DIGIT \"-\" \".\" \"_\" \"~\" \"!\" \"$\" \"&\" \"'\" \"(\" \")\" \"*\" \"+\" \",\" \";\" \"=\" %encoded\n // I've never seen a (non-IDN) hostname other than: ALPHA DIGIT . -\n URI.invalid_hostname_characters = /[^a-zA-Z0-9\\.-]/;\n // map DOM Elements to their URI attribute\n URI.domAttributes = {\n 'a': 'href',\n 'blockquote': 'cite',\n 'link': 'href',\n 'base': 'href',\n 'script': 'src',\n 'form': 'action',\n 'img': 'src',\n 'area': 'href',\n 'iframe': 'src',\n 'embed': 'src',\n 'source': 'src',\n 'track': 'src',\n 'input': 'src', // but only if type=\"image\"\n 'audio': 'src',\n 'video': 'src'\n };\n URI.getDomAttribute = function(node) {\n if (!node || !node.nodeName) {\n return undefined;\n }\n\n var nodeName = node.nodeName.toLowerCase();\n // should only expose src for type=\"image\"\n if (nodeName === 'input' && node.type !== 'image') {\n return undefined;\n }\n\n return URI.domAttributes[nodeName];\n };\n\n function escapeForDumbFirefox36(value) {\n // https://github.com/medialize/URI.js/issues/91\n return escape(value);\n }\n\n // encoding / decoding according to RFC3986\n function strictEncodeURIComponent(string) {\n // see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent\n return encodeURIComponent(string)\n .replace(/[!'()*]/g, escapeForDumbFirefox36)\n .replace(/\\*/g, '%2A');\n }\n URI.encode = strictEncodeURIComponent;\n URI.decode = decodeURIComponent;\n URI.iso8859 = function() {\n URI.encode = escape;\n URI.decode = unescape;\n };\n URI.unicode = function() {\n URI.encode = strictEncodeURIComponent;\n URI.decode = decodeURIComponent;\n };\n URI.characters = {\n pathname: {\n encode: {\n // RFC3986 2.1: For consistency, URI producers and normalizers should\n // use uppercase hexadecimal digits for all percent-encodings.\n expression: /%(24|26|2B|2C|3B|3D|3A|40)/ig,\n map: {\n // -._~!'()*\n '%24': '$',\n '%26': '&',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '=',\n '%3A': ':',\n '%40': '@'\n }\n },\n decode: {\n expression: /[\\/\\?#]/g,\n map: {\n '/': '%2F',\n '?': '%3F',\n '#': '%23'\n }\n }\n },\n reserved: {\n encode: {\n // RFC3986 2.1: For consistency, URI producers and normalizers should\n // use uppercase hexadecimal digits for all percent-encodings.\n expression: /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,\n map: {\n // gen-delims\n '%3A': ':',\n '%2F': '/',\n '%3F': '?',\n '%23': '#',\n '%5B': '[',\n '%5D': ']',\n '%40': '@',\n // sub-delims\n '%21': '!',\n '%24': '$',\n '%26': '&',\n '%27': '\\'',\n '%28': '(',\n '%29': ')',\n '%2A': '*',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '='\n }\n }\n },\n urnpath: {\n // The characters under `encode` are the characters called out by RFC 2141 as being acceptable\n // for usage in a URN. RFC2141 also calls out \"-\", \".\", and \"_\" as acceptable characters, but\n // these aren't encoded by encodeURIComponent, so we don't have to call them out here. Also\n // note that the colon character is not featured in the encoding map; this is because URI.js\n // gives the colons in URNs semantic meaning as the delimiters of path segements, and so it\n // should not appear unencoded in a segment itself.\n // See also the note above about RFC3986 and capitalalized hex digits.\n encode: {\n expression: /%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,\n map: {\n '%21': '!',\n '%24': '$',\n '%27': '\\'',\n '%28': '(',\n '%29': ')',\n '%2A': '*',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '=',\n '%40': '@'\n }\n },\n // These characters are the characters called out by RFC2141 as \"reserved\" characters that\n // should never appear in a URN, plus the colon character (see note above).\n decode: {\n expression: /[\\/\\?#:]/g,\n map: {\n '/': '%2F',\n '?': '%3F',\n '#': '%23',\n ':': '%3A'\n }\n }\n }\n };\n URI.encodeQuery = function(string, escapeQuerySpace) {\n var escaped = URI.encode(string + '');\n if (escapeQuerySpace === undefined) {\n escapeQuerySpace = URI.escapeQuerySpace;\n }\n\n return escapeQuerySpace ? escaped.replace(/%20/g, '+') : escaped;\n };\n URI.decodeQuery = function(string, escapeQuerySpace) {\n string += '';\n if (escapeQuerySpace === undefined) {\n escapeQuerySpace = URI.escapeQuerySpace;\n }\n\n try {\n return URI.decode(escapeQuerySpace ? string.replace(/\\+/g, '%20') : string);\n } catch(e) {\n // we're not going to mess with weird encodings,\n // give up and return the undecoded original string\n // see https://github.com/medialize/URI.js/issues/87\n // see https://github.com/medialize/URI.js/issues/92\n return string;\n }\n };\n // generate encode/decode path functions\n var _parts = {'encode':'encode', 'decode':'decode'};\n var _part;\n var generateAccessor = function(_group, _part) {\n return function(string) {\n try {\n return URI[_part](string + '').replace(URI.characters[_group][_part].expression, function(c) {\n return URI.characters[_group][_part].map[c];\n });\n } catch (e) {\n // we're not going to mess with weird encodings,\n // give up and return the undecoded original string\n // see https://github.com/medialize/URI.js/issues/87\n // see https://github.com/medialize/URI.js/issues/92\n return string;\n }\n };\n };\n\n for (_part in _parts) {\n URI[_part + 'PathSegment'] = generateAccessor('pathname', _parts[_part]);\n URI[_part + 'UrnPathSegment'] = generateAccessor('urnpath', _parts[_part]);\n }\n\n var generateSegmentedPathFunction = function(_sep, _codingFuncName, _innerCodingFuncName) {\n return function(string) {\n // Why pass in names of functions, rather than the function objects themselves? The\n // definitions of some functions (but in particular, URI.decode) will occasionally change due\n // to URI.js having ISO8859 and Unicode modes. Passing in the name and getting it will ensure\n // that the functions we use here are \"fresh\".\n var actualCodingFunc;\n if (!_innerCodingFuncName) {\n actualCodingFunc = URI[_codingFuncName];\n } else {\n actualCodingFunc = function(string) {\n return URI[_codingFuncName](URI[_innerCodingFuncName](string));\n };\n }\n\n var segments = (string + '').split(_sep);\n\n for (var i = 0, length = segments.length; i < length; i++) {\n segments[i] = actualCodingFunc(segments[i]);\n }\n\n return segments.join(_sep);\n };\n };\n\n // This takes place outside the above loop because we don't want, e.g., encodeUrnPath functions.\n URI.decodePath = generateSegmentedPathFunction('/', 'decodePathSegment');\n URI.decodeUrnPath = generateSegmentedPathFunction(':', 'decodeUrnPathSegment');\n URI.recodePath = generateSegmentedPathFunction('/', 'encodePathSegment', 'decode');\n URI.recodeUrnPath = generateSegmentedPathFunction(':', 'encodeUrnPathSegment', 'decode');\n\n URI.encodeReserved = generateAccessor('reserved', 'encode');\n\n URI.parse = function(string, parts) {\n var pos;\n if (!parts) {\n parts = {};\n }\n // [protocol\"://\"[username[\":\"password]\"@\"]hostname[\":\"port]\"/\"?][path][\"?\"querystring][\"#\"fragment]\n\n // extract fragment\n pos = string.indexOf('#');\n if (pos > -1) {\n // escaping?\n parts.fragment = string.substring(pos + 1) || null;\n string = string.substring(0, pos);\n }\n\n // extract query\n pos = string.indexOf('?');\n if (pos > -1) {\n // escaping?\n parts.query = string.substring(pos + 1) || null;\n string = string.substring(0, pos);\n }\n\n // extract protocol\n if (string.substring(0, 2) === '//') {\n // relative-scheme\n parts.protocol = null;\n string = string.substring(2);\n // extract \"user:pass@host:port\"\n string = URI.parseAuthority(string, parts);\n } else {\n pos = string.indexOf(':');\n if (pos > -1) {\n parts.protocol = string.substring(0, pos) || null;\n if (parts.protocol && !parts.protocol.match(URI.protocol_expression)) {\n // : may be within the path\n parts.protocol = undefined;\n } else if (string.substring(pos + 1, pos + 3) === '//') {\n string = string.substring(pos + 3);\n\n // extract \"user:pass@host:port\"\n string = URI.parseAuthority(string, parts);\n } else {\n string = string.substring(pos + 1);\n parts.urn = true;\n }\n }\n }\n\n // what's left must be the path\n parts.path = string;\n\n // and we're done\n return parts;\n };\n URI.parseHost = function(string, parts) {\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://github.com/joyent/node/blob/386fd24f49b0e9d1a8a076592a404168faeecc34/lib/url.js#L115-L124\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n // https://github.com/medialize/URI.js/pull/233\n string = string.replace(/\\\\/g, '/');\n\n // extract host:port\n var pos = string.indexOf('/');\n var bracketPos;\n var t;\n\n if (pos === -1) {\n pos = string.length;\n }\n\n if (string.charAt(0) === '[') {\n // IPv6 host - http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04#section-6\n // I claim most client software breaks on IPv6 anyways. To simplify things, URI only accepts\n // IPv6+port in the format [2001:db8::1]:80 (for the time being)\n bracketPos = string.indexOf(']');\n parts.hostname = string.substring(1, bracketPos) || null;\n parts.port = string.substring(bracketPos + 2, pos) || null;\n if (parts.port === '/') {\n parts.port = null;\n }\n } else {\n var firstColon = string.indexOf(':');\n var firstSlash = string.indexOf('/');\n var nextColon = string.indexOf(':', firstColon + 1);\n if (nextColon !== -1 && (firstSlash === -1 || nextColon < firstSlash)) {\n // IPv6 host contains multiple colons - but no port\n // this notation is actually not allowed by RFC 3986, but we're a liberal parser\n parts.hostname = string.substring(0, pos) || null;\n parts.port = null;\n } else {\n t = string.substring(0, pos).split(':');\n parts.hostname = t[0] || null;\n parts.port = t[1] || null;\n }\n }\n\n if (parts.hostname && string.substring(pos).charAt(0) !== '/') {\n pos++;\n string = '/' + string;\n }\n\n return string.substring(pos) || '/';\n };\n URI.parseAuthority = function(string, parts) {\n string = URI.parseUserinfo(string, parts);\n return URI.parseHost(string, parts);\n };\n URI.parseUserinfo = function(string, parts) {\n // extract username:password\n var firstSlash = string.indexOf('/');\n var pos = string.lastIndexOf('@', firstSlash > -1 ? firstSlash : string.length - 1);\n var t;\n\n // authority@ must come before /path\n if (pos > -1 && (firstSlash === -1 || pos < firstSlash)) {\n t = string.substring(0, pos).split(':');\n parts.username = t[0] ? URI.decode(t[0]) : null;\n t.shift();\n parts.password = t[0] ? URI.decode(t.join(':')) : null;\n string = string.substring(pos + 1);\n } else {\n parts.username = null;\n parts.password = null;\n }\n\n return string;\n };\n URI.parseQuery = function(string, escapeQuerySpace) {\n if (!string) {\n return {};\n }\n\n // throw out the funky business - \"?\"[name\"=\"value\"&\"]+\n string = string.replace(/&+/g, '&').replace(/^\\?*&*|&+$/g, '');\n\n if (!string) {\n return {};\n }\n\n var items = {};\n var splits = string.split('&');\n var length = splits.length;\n var v, name, value;\n\n for (var i = 0; i < length; i++) {\n v = splits[i].split('=');\n name = URI.decodeQuery(v.shift(), escapeQuerySpace);\n // no \"=\" is null according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#collect-url-parameters\n value = v.length ? URI.decodeQuery(v.join('='), escapeQuerySpace) : null;\n\n if (hasOwn.call(items, name)) {\n if (typeof items[name] === 'string' || items[name] === null) {\n items[name] = [items[name]];\n }\n\n items[name].push(value);\n } else {\n items[name] = value;\n }\n }\n\n return items;\n };\n\n URI.build = function(parts) {\n var t = '';\n\n if (parts.protocol) {\n t += parts.protocol + ':';\n }\n\n if (!parts.urn && (t || parts.hostname)) {\n t += '//';\n }\n\n t += (URI.buildAuthority(parts) || '');\n\n if (typeof parts.path === 'string') {\n if (parts.path.charAt(0) !== '/' && typeof parts.hostname === 'string') {\n t += '/';\n }\n\n t += parts.path;\n }\n\n if (typeof parts.query === 'string' && parts.query) {\n t += '?' + parts.query;\n }\n\n if (typeof parts.fragment === 'string' && parts.fragment) {\n t += '#' + parts.fragment;\n }\n return t;\n };\n URI.buildHost = function(parts) {\n var t = '';\n\n if (!parts.hostname) {\n return '';\n } else if (URI.ip6_expression.test(parts.hostname)) {\n t += '[' + parts.hostname + ']';\n } else {\n t += parts.hostname;\n }\n\n if (parts.port) {\n t += ':' + parts.port;\n }\n\n return t;\n };\n URI.buildAuthority = function(parts) {\n return URI.buildUserinfo(parts) + URI.buildHost(parts);\n };\n URI.buildUserinfo = function(parts) {\n var t = '';\n\n if (parts.username) {\n t += URI.encode(parts.username);\n }\n\n if (parts.password) {\n t += ':' + URI.encode(parts.password);\n }\n\n if (t) {\n t += '@';\n }\n\n return t;\n };\n URI.buildQuery = function(data, duplicateQueryParameters, escapeQuerySpace) {\n // according to http://tools.ietf.org/html/rfc3986 or http://labs.apache.org/webarch/uri/rfc/rfc3986.html\n // being »-._~!$&'()*+,;=:@/?« %HEX and alnum are allowed\n // the RFC explicitly states ?/foo being a valid use case, no mention of parameter syntax!\n // URI.js treats the query string as being application/x-www-form-urlencoded\n // see http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type\n\n var t = '';\n var unique, key, i, length;\n for (key in data) {\n if (hasOwn.call(data, key) && key) {\n if (isArray(data[key])) {\n unique = {};\n for (i = 0, length = data[key].length; i < length; i++) {\n if (data[key][i] !== undefined && unique[data[key][i] + ''] === undefined) {\n t += '&' + URI.buildQueryParameter(key, data[key][i], escapeQuerySpace);\n if (duplicateQueryParameters !== true) {\n unique[data[key][i] + ''] = true;\n }\n }\n }\n } else if (data[key] !== undefined) {\n t += '&' + URI.buildQueryParameter(key, data[key], escapeQuerySpace);\n }\n }\n }\n\n return t.substring(1);\n };\n URI.buildQueryParameter = function(name, value, escapeQuerySpace) {\n // http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type -- application/x-www-form-urlencoded\n // don't append \"=\" for null values, according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#url-parameter-serialization\n return URI.encodeQuery(name, escapeQuerySpace) + (value !== null ? '=' + URI.encodeQuery(value, escapeQuerySpace) : '');\n };\n\n URI.addQuery = function(data, name, value) {\n if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n URI.addQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n if (data[name] === undefined) {\n data[name] = value;\n return;\n } else if (typeof data[name] === 'string') {\n data[name] = [data[name]];\n }\n\n if (!isArray(value)) {\n value = [value];\n }\n\n data[name] = (data[name] || []).concat(value);\n } else {\n throw new TypeError('URI.addQuery() accepts an object, string as the name parameter');\n }\n };\n URI.removeQuery = function(data, name, value) {\n var i, length, key;\n\n if (isArray(name)) {\n for (i = 0, length = name.length; i < length; i++) {\n data[name[i]] = undefined;\n }\n } else if (getType(name) === 'RegExp') {\n for (key in data) {\n if (name.test(key)) {\n data[key] = undefined;\n }\n }\n } else if (typeof name === 'object') {\n for (key in name) {\n if (hasOwn.call(name, key)) {\n URI.removeQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n if (value !== undefined) {\n if (getType(value) === 'RegExp') {\n if (!isArray(data[name]) && value.test(data[name])) {\n data[name] = undefined;\n } else {\n data[name] = filterArrayValues(data[name], value);\n }\n } else if (data[name] === String(value) && (!isArray(value) || value.length === 1)) {\n data[name] = undefined;\n } else if (isArray(data[name])) {\n data[name] = filterArrayValues(data[name], value);\n }\n } else {\n data[name] = undefined;\n }\n } else {\n throw new TypeError('URI.removeQuery() accepts an object, string, RegExp as the first parameter');\n }\n };\n URI.hasQuery = function(data, name, value, withinArray) {\n switch (getType(name)) {\n case 'String':\n // Nothing to do here\n break;\n\n case 'RegExp':\n for (var key in data) {\n if (hasOwn.call(data, key)) {\n if (name.test(key) && (value === undefined || URI.hasQuery(data, key, value))) {\n return true;\n }\n }\n }\n\n return false;\n\n case 'Object':\n for (var _key in name) {\n if (hasOwn.call(name, _key)) {\n if (!URI.hasQuery(data, _key, name[_key])) {\n return false;\n }\n }\n }\n\n return true;\n\n default:\n throw new TypeError('URI.hasQuery() accepts a string, regular expression or object as the name parameter');\n }\n\n switch (getType(value)) {\n case 'Undefined':\n // true if exists (but may be empty)\n return name in data; // data[name] !== undefined;\n\n case 'Boolean':\n // true if exists and non-empty\n var _booly = Boolean(isArray(data[name]) ? data[name].length : data[name]);\n return value === _booly;\n\n case 'Function':\n // allow complex comparison\n return !!value(data[name], name, data);\n\n case 'Array':\n if (!isArray(data[name])) {\n return false;\n }\n\n var op = withinArray ? arrayContains : arraysEqual;\n return op(data[name], value);\n\n case 'RegExp':\n if (!isArray(data[name])) {\n return Boolean(data[name] && data[name].match(value));\n }\n\n if (!withinArray) {\n return false;\n }\n\n return arrayContains(data[name], value);\n\n case 'Number':\n value = String(value);\n /* falls through */\n case 'String':\n if (!isArray(data[name])) {\n return data[name] === value;\n }\n\n if (!withinArray) {\n return false;\n }\n\n return arrayContains(data[name], value);\n\n default:\n throw new TypeError('URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter');\n }\n };\n\n\n URI.joinPaths = function() {\n var input = [];\n var segments = [];\n var nonEmptySegments = 0;\n\n for (var i = 0; i < arguments.length; i++) {\n var url = new URI(arguments[i]);\n input.push(url);\n var _segments = url.segment();\n for (var s = 0; s < _segments.length; s++) {\n if (typeof _segments[s] === 'string') {\n segments.push(_segments[s]);\n }\n\n if (_segments[s]) {\n nonEmptySegments++;\n }\n }\n }\n\n if (!segments.length || !nonEmptySegments) {\n return new URI('');\n }\n\n var uri = new URI('').segment(segments);\n\n if (input[0].path() === '' || input[0].path().slice(0, 1) === '/') {\n uri.path('/' + uri.path());\n }\n\n return uri.normalize();\n };\n\n URI.commonPath = function(one, two) {\n var length = Math.min(one.length, two.length);\n var pos;\n\n // find first non-matching character\n for (pos = 0; pos < length; pos++) {\n if (one.charAt(pos) !== two.charAt(pos)) {\n pos--;\n break;\n }\n }\n\n if (pos < 1) {\n return one.charAt(0) === two.charAt(0) && one.charAt(0) === '/' ? '/' : '';\n }\n\n // revert to last /\n if (one.charAt(pos) !== '/' || two.charAt(pos) !== '/') {\n pos = one.substring(0, pos).lastIndexOf('/');\n }\n\n return one.substring(0, pos + 1);\n };\n\n URI.withinString = function(string, callback, options) {\n options || (options = {});\n var _start = options.start || URI.findUri.start;\n var _end = options.end || URI.findUri.end;\n var _trim = options.trim || URI.findUri.trim;\n var _parens = options.parens || URI.findUri.parens;\n var _attributeOpen = /[a-z0-9-]=[\"']?$/i;\n\n _start.lastIndex = 0;\n while (true) {\n var match = _start.exec(string);\n if (!match) {\n break;\n }\n\n var start = match.index;\n if (options.ignoreHtml) {\n // attribut(e=[\"']?$)\n var attributeOpen = string.slice(Math.max(start - 3, 0), start);\n if (attributeOpen && _attributeOpen.test(attributeOpen)) {\n continue;\n }\n }\n\n var end = start + string.slice(start).search(_end);\n var slice = string.slice(start, end);\n // make sure we include well balanced parens\n var parensEnd = -1;\n while (true) {\n var parensMatch = _parens.exec(slice);\n if (!parensMatch) {\n break;\n }\n\n var parensMatchEnd = parensMatch.index + parensMatch[0].length;\n parensEnd = Math.max(parensEnd, parensMatchEnd);\n }\n\n if (parensEnd > -1) {\n slice = slice.slice(0, parensEnd) + slice.slice(parensEnd).replace(_trim, '');\n } else {\n slice = slice.replace(_trim, '');\n }\n\n if (slice.length <= match[0].length) {\n // the extract only contains the starting marker of a URI,\n // e.g. \"www\" or \"http://\"\n continue;\n }\n\n if (options.ignore && options.ignore.test(slice)) {\n continue;\n }\n\n end = start + slice.length;\n var result = callback(slice, start, end, string);\n if (result === undefined) {\n _start.lastIndex = end;\n continue;\n }\n\n result = String(result);\n string = string.slice(0, start) + result + string.slice(end);\n _start.lastIndex = start + result.length;\n }\n\n _start.lastIndex = 0;\n return string;\n };\n\n URI.ensureValidHostname = function(v) {\n // Theoretically URIs allow percent-encoding in Hostnames (according to RFC 3986)\n // they are not part of DNS and therefore ignored by URI.js\n\n if (v.match(URI.invalid_hostname_characters)) {\n // test punycode\n if (!punycode) {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-] and Punycode.js is not available');\n }\n\n if (punycode.toASCII(v).match(URI.invalid_hostname_characters)) {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n }\n };\n\n // noConflict\n URI.noConflict = function(removeAll) {\n if (removeAll) {\n var unconflicted = {\n URI: this.noConflict()\n };\n\n if (root.URITemplate && typeof root.URITemplate.noConflict === 'function') {\n unconflicted.URITemplate = root.URITemplate.noConflict();\n }\n\n if (root.IPv6 && typeof root.IPv6.noConflict === 'function') {\n unconflicted.IPv6 = root.IPv6.noConflict();\n }\n\n if (root.SecondLevelDomains && typeof root.SecondLevelDomains.noConflict === 'function') {\n unconflicted.SecondLevelDomains = root.SecondLevelDomains.noConflict();\n }\n\n return unconflicted;\n } else if (root.URI === this) {\n root.URI = _URI;\n }\n\n return this;\n };\n\n p.build = function(deferBuild) {\n if (deferBuild === true) {\n this._deferred_build = true;\n } else if (deferBuild === undefined || this._deferred_build) {\n this._string = URI.build(this._parts);\n this._deferred_build = false;\n }\n\n return this;\n };\n\n p.clone = function() {\n return new URI(this);\n };\n\n p.valueOf = p.toString = function() {\n return this.build(false)._string;\n };\n\n\n function generateSimpleAccessor(_part){\n return function(v, build) {\n if (v === undefined) {\n return this._parts[_part] || '';\n } else {\n this._parts[_part] = v || null;\n this.build(!build);\n return this;\n }\n };\n }\n\n function generatePrefixAccessor(_part, _key){\n return function(v, build) {\n if (v === undefined) {\n return this._parts[_part] || '';\n } else {\n if (v !== null) {\n v = v + '';\n if (v.charAt(0) === _key) {\n v = v.substring(1);\n }\n }\n\n this._parts[_part] = v;\n this.build(!build);\n return this;\n }\n };\n }\n\n p.protocol = generateSimpleAccessor('protocol');\n p.username = generateSimpleAccessor('username');\n p.password = generateSimpleAccessor('password');\n p.hostname = generateSimpleAccessor('hostname');\n p.port = generateSimpleAccessor('port');\n p.query = generatePrefixAccessor('query', '?');\n p.fragment = generatePrefixAccessor('fragment', '#');\n\n p.search = function(v, build) {\n var t = this.query(v, build);\n return typeof t === 'string' && t.length ? ('?' + t) : t;\n };\n p.hash = function(v, build) {\n var t = this.fragment(v, build);\n return typeof t === 'string' && t.length ? ('#' + t) : t;\n };\n\n p.pathname = function(v, build) {\n if (v === undefined || v === true) {\n var res = this._parts.path || (this._parts.hostname ? '/' : '');\n return v ? (this._parts.urn ? URI.decodeUrnPath : URI.decodePath)(res) : res;\n } else {\n if (this._parts.urn) {\n this._parts.path = v ? URI.recodeUrnPath(v) : '';\n } else {\n this._parts.path = v ? URI.recodePath(v) : '/';\n }\n this.build(!build);\n return this;\n }\n };\n p.path = p.pathname;\n p.href = function(href, build) {\n var key;\n\n if (href === undefined) {\n return this.toString();\n }\n\n this._string = '';\n this._parts = URI._parts();\n\n var _URI = href instanceof URI;\n var _object = typeof href === 'object' && (href.hostname || href.path || href.pathname);\n if (href.nodeName) {\n var attribute = URI.getDomAttribute(href);\n href = href[attribute] || '';\n _object = false;\n }\n\n // window.location is reported to be an object, but it's not the sort\n // of object we're looking for:\n // * location.protocol ends with a colon\n // * location.query != object.search\n // * location.hash != object.fragment\n // simply serializing the unknown object should do the trick\n // (for location, not for everything...)\n if (!_URI && _object && href.pathname !== undefined) {\n href = href.toString();\n }\n\n if (typeof href === 'string' || href instanceof String) {\n this._parts = URI.parse(String(href), this._parts);\n } else if (_URI || _object) {\n var src = _URI ? href._parts : href;\n for (key in src) {\n if (hasOwn.call(this._parts, key)) {\n this._parts[key] = src[key];\n }\n }\n } else {\n throw new TypeError('invalid input');\n }\n\n this.build(!build);\n return this;\n };\n\n // identification accessors\n p.is = function(what) {\n var ip = false;\n var ip4 = false;\n var ip6 = false;\n var name = false;\n var sld = false;\n var idn = false;\n var punycode = false;\n var relative = !this._parts.urn;\n\n if (this._parts.hostname) {\n relative = false;\n ip4 = URI.ip4_expression.test(this._parts.hostname);\n ip6 = URI.ip6_expression.test(this._parts.hostname);\n ip = ip4 || ip6;\n name = !ip;\n sld = name && SLD && SLD.has(this._parts.hostname);\n idn = name && URI.idn_expression.test(this._parts.hostname);\n punycode = name && URI.punycode_expression.test(this._parts.hostname);\n }\n\n switch (what.toLowerCase()) {\n case 'relative':\n return relative;\n\n case 'absolute':\n return !relative;\n\n // hostname identification\n case 'domain':\n case 'name':\n return name;\n\n case 'sld':\n return sld;\n\n case 'ip':\n return ip;\n\n case 'ip4':\n case 'ipv4':\n case 'inet4':\n return ip4;\n\n case 'ip6':\n case 'ipv6':\n case 'inet6':\n return ip6;\n\n case 'idn':\n return idn;\n\n case 'url':\n return !this._parts.urn;\n\n case 'urn':\n return !!this._parts.urn;\n\n case 'punycode':\n return punycode;\n }\n\n return null;\n };\n\n // component specific input validation\n var _protocol = p.protocol;\n var _port = p.port;\n var _hostname = p.hostname;\n\n p.protocol = function(v, build) {\n if (v !== undefined) {\n if (v) {\n // accept trailing ://\n v = v.replace(/:(\\/\\/)?$/, '');\n\n if (!v.match(URI.protocol_expression)) {\n throw new TypeError('Protocol \"' + v + '\" contains characters other than [A-Z0-9.+-] or doesn\\'t start with [A-Z]');\n }\n }\n }\n return _protocol.call(this, v, build);\n };\n p.scheme = p.protocol;\n p.port = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v !== undefined) {\n if (v === 0) {\n v = null;\n }\n\n if (v) {\n v += '';\n if (v.charAt(0) === ':') {\n v = v.substring(1);\n }\n\n if (v.match(/[^0-9]/)) {\n throw new TypeError('Port \"' + v + '\" contains characters other than [0-9]');\n }\n }\n }\n return _port.call(this, v, build);\n };\n p.hostname = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v !== undefined) {\n var x = {};\n var res = URI.parseHost(v, x);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n v = x.hostname;\n }\n return _hostname.call(this, v, build);\n };\n\n // compound accessors\n p.origin = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n var protocol = this.protocol();\n var authority = this.authority();\n if (!authority) {\n return '';\n }\n\n return (protocol ? protocol + '://' : '') + this.authority();\n } else {\n var origin = URI(v);\n this\n .protocol(origin.protocol())\n .authority(origin.authority())\n .build(!build);\n return this;\n }\n };\n p.host = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n return this._parts.hostname ? URI.buildHost(this._parts) : '';\n } else {\n var res = URI.parseHost(v, this._parts);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n this.build(!build);\n return this;\n }\n };\n p.authority = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n return this._parts.hostname ? URI.buildAuthority(this._parts) : '';\n } else {\n var res = URI.parseAuthority(v, this._parts);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n this.build(!build);\n return this;\n }\n };\n p.userinfo = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n var t = URI.buildUserinfo(this._parts);\n return t ? t.substring(0, t.length -1) : t;\n } else {\n if (v[v.length-1] !== '@') {\n v += '@';\n }\n\n URI.parseUserinfo(v, this._parts);\n this.build(!build);\n return this;\n }\n };\n p.resource = function(v, build) {\n var parts;\n\n if (v === undefined) {\n return this.path() + this.search() + this.hash();\n }\n\n parts = URI.parse(v);\n this._parts.path = parts.path;\n this._parts.query = parts.query;\n this._parts.fragment = parts.fragment;\n this.build(!build);\n return this;\n };\n\n // fraction accessors\n p.subdomain = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n // convenience, return \"www\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n // grab domain and add another segment\n var end = this._parts.hostname.length - this.domain().length - 1;\n return this._parts.hostname.substring(0, end) || '';\n } else {\n var e = this._parts.hostname.length - this.domain().length;\n var sub = this._parts.hostname.substring(0, e);\n var replace = new RegExp('^' + escapeRegEx(sub));\n\n if (v && v.charAt(v.length - 1) !== '.') {\n v += '.';\n }\n\n if (v) {\n URI.ensureValidHostname(v);\n }\n\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n this.build(!build);\n return this;\n }\n };\n p.domain = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v === 'boolean') {\n build = v;\n v = undefined;\n }\n\n // convenience, return \"example.org\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n // if hostname consists of 1 or 2 segments, it must be the domain\n var t = this._parts.hostname.match(/\\./g);\n if (t && t.length < 2) {\n return this._parts.hostname;\n }\n\n // grab tld and add another segment\n var end = this._parts.hostname.length - this.tld(build).length - 1;\n end = this._parts.hostname.lastIndexOf('.', end -1) + 1;\n return this._parts.hostname.substring(end) || '';\n } else {\n if (!v) {\n throw new TypeError('cannot set domain empty');\n }\n\n URI.ensureValidHostname(v);\n\n if (!this._parts.hostname || this.is('IP')) {\n this._parts.hostname = v;\n } else {\n var replace = new RegExp(escapeRegEx(this.domain()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.tld = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v === 'boolean') {\n build = v;\n v = undefined;\n }\n\n // return \"org\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n var pos = this._parts.hostname.lastIndexOf('.');\n var tld = this._parts.hostname.substring(pos + 1);\n\n if (build !== true && SLD && SLD.list[tld.toLowerCase()]) {\n return SLD.get(this._parts.hostname) || tld;\n }\n\n return tld;\n } else {\n var replace;\n\n if (!v) {\n throw new TypeError('cannot set TLD empty');\n } else if (v.match(/[^a-zA-Z0-9-]/)) {\n if (SLD && SLD.is(v)) {\n replace = new RegExp(escapeRegEx(this.tld()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n } else {\n throw new TypeError('TLD \"' + v + '\" contains characters other than [A-Z0-9]');\n }\n } else if (!this._parts.hostname || this.is('IP')) {\n throw new ReferenceError('cannot set TLD on non-domain host');\n } else {\n replace = new RegExp(escapeRegEx(this.tld()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.directory = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined || v === true) {\n if (!this._parts.path && !this._parts.hostname) {\n return '';\n }\n\n if (this._parts.path === '/') {\n return '/';\n }\n\n var end = this._parts.path.length - this.filename().length - 1;\n var res = this._parts.path.substring(0, end) || (this._parts.hostname ? '/' : '');\n\n return v ? URI.decodePath(res) : res;\n\n } else {\n var e = this._parts.path.length - this.filename().length;\n var directory = this._parts.path.substring(0, e);\n var replace = new RegExp('^' + escapeRegEx(directory));\n\n // fully qualifier directories begin with a slash\n if (!this.is('relative')) {\n if (!v) {\n v = '/';\n }\n\n if (v.charAt(0) !== '/') {\n v = '/' + v;\n }\n }\n\n // directories always end with a slash\n if (v && v.charAt(v.length - 1) !== '/') {\n v += '/';\n }\n\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n this.build(!build);\n return this;\n }\n };\n p.filename = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v !== 'string') {\n if (!this._parts.path || this._parts.path === '/') {\n return '';\n }\n\n var pos = this._parts.path.lastIndexOf('/');\n var res = this._parts.path.substring(pos+1);\n\n return v ? URI.decodePathSegment(res) : res;\n } else {\n var mutatedDirectory = false;\n\n if (v.charAt(0) === '/') {\n v = v.substring(1);\n }\n\n if (v.match(/\\.?\\//)) {\n mutatedDirectory = true;\n }\n\n var replace = new RegExp(escapeRegEx(this.filename()) + '$');\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n\n if (mutatedDirectory) {\n this.normalizePath(build);\n } else {\n this.build(!build);\n }\n\n return this;\n }\n };\n p.suffix = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined || v === true) {\n if (!this._parts.path || this._parts.path === '/') {\n return '';\n }\n\n var filename = this.filename();\n var pos = filename.lastIndexOf('.');\n var s, res;\n\n if (pos === -1) {\n return '';\n }\n\n // suffix may only contain alnum characters (yup, I made this up.)\n s = filename.substring(pos+1);\n res = (/^[a-z0-9%]+$/i).test(s) ? s : '';\n return v ? URI.decodePathSegment(res) : res;\n } else {\n if (v.charAt(0) === '.') {\n v = v.substring(1);\n }\n\n var suffix = this.suffix();\n var replace;\n\n if (!suffix) {\n if (!v) {\n return this;\n }\n\n this._parts.path += '.' + URI.recodePath(v);\n } else if (!v) {\n replace = new RegExp(escapeRegEx('.' + suffix) + '$');\n } else {\n replace = new RegExp(escapeRegEx(suffix) + '$');\n }\n\n if (replace) {\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.segment = function(segment, v, build) {\n var separator = this._parts.urn ? ':' : '/';\n var path = this.path();\n var absolute = path.substring(0, 1) === '/';\n var segments = path.split(separator);\n\n if (segment !== undefined && typeof segment !== 'number') {\n build = v;\n v = segment;\n segment = undefined;\n }\n\n if (segment !== undefined && typeof segment !== 'number') {\n throw new Error('Bad segment \"' + segment + '\", must be 0-based integer');\n }\n\n if (absolute) {\n segments.shift();\n }\n\n if (segment < 0) {\n // allow negative indexes to address from the end\n segment = Math.max(segments.length + segment, 0);\n }\n\n if (v === undefined) {\n /*jshint laxbreak: true */\n return segment === undefined\n ? segments\n : segments[segment];\n /*jshint laxbreak: false */\n } else if (segment === null || segments[segment] === undefined) {\n if (isArray(v)) {\n segments = [];\n // collapse empty elements within array\n for (var i=0, l=v.length; i < l; i++) {\n if (!v[i].length && (!segments.length || !segments[segments.length -1].length)) {\n continue;\n }\n\n if (segments.length && !segments[segments.length -1].length) {\n segments.pop();\n }\n\n segments.push(trimSlashes(v[i]));\n }\n } else if (v || typeof v === 'string') {\n v = trimSlashes(v);\n if (segments[segments.length -1] === '') {\n // empty trailing elements have to be overwritten\n // to prevent results such as /foo//bar\n segments[segments.length -1] = v;\n } else {\n segments.push(v);\n }\n }\n } else {\n if (v) {\n segments[segment] = trimSlashes(v);\n } else {\n segments.splice(segment, 1);\n }\n }\n\n if (absolute) {\n segments.unshift('');\n }\n\n return this.path(segments.join(separator), build);\n };\n p.segmentCoded = function(segment, v, build) {\n var segments, i, l;\n\n if (typeof segment !== 'number') {\n build = v;\n v = segment;\n segment = undefined;\n }\n\n if (v === undefined) {\n segments = this.segment(segment, v, build);\n if (!isArray(segments)) {\n segments = segments !== undefined ? URI.decode(segments) : undefined;\n } else {\n for (i = 0, l = segments.length; i < l; i++) {\n segments[i] = URI.decode(segments[i]);\n }\n }\n\n return segments;\n }\n\n if (!isArray(v)) {\n v = (typeof v === 'string' || v instanceof String) ? URI.encode(v) : v;\n } else {\n for (i = 0, l = v.length; i < l; i++) {\n v[i] = URI.encode(v[i]);\n }\n }\n\n return this.segment(segment, v, build);\n };\n\n // mutating query string\n var q = p.query;\n p.query = function(v, build) {\n if (v === true) {\n return URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n } else if (typeof v === 'function') {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n var result = v.call(this, data);\n this._parts.query = URI.buildQuery(result || data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n this.build(!build);\n return this;\n } else if (v !== undefined && typeof v !== 'string') {\n this._parts.query = URI.buildQuery(v, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n this.build(!build);\n return this;\n } else {\n return q.call(this, v, build);\n }\n };\n p.setQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n\n if (typeof name === 'string' || name instanceof String) {\n data[name] = value !== undefined ? value : null;\n } else if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n data[key] = name[key];\n }\n }\n } else {\n throw new TypeError('URI.addQuery() accepts an object, string as the name parameter');\n }\n\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.addQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n URI.addQuery(data, name, value === undefined ? null : value);\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.removeQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n URI.removeQuery(data, name, value);\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.hasQuery = function(name, value, withinArray) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n return URI.hasQuery(data, name, value, withinArray);\n };\n p.setSearch = p.setQuery;\n p.addSearch = p.addQuery;\n p.removeSearch = p.removeQuery;\n p.hasSearch = p.hasQuery;\n\n // sanitizing URLs\n p.normalize = function() {\n if (this._parts.urn) {\n return this\n .normalizeProtocol(false)\n .normalizePath(false)\n .normalizeQuery(false)\n .normalizeFragment(false)\n .build();\n }\n\n return this\n .normalizeProtocol(false)\n .normalizeHostname(false)\n .normalizePort(false)\n .normalizePath(false)\n .normalizeQuery(false)\n .normalizeFragment(false)\n .build();\n };\n p.normalizeProtocol = function(build) {\n if (typeof this._parts.protocol === 'string') {\n this._parts.protocol = this._parts.protocol.toLowerCase();\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeHostname = function(build) {\n if (this._parts.hostname) {\n if (this.is('IDN') && punycode) {\n this._parts.hostname = punycode.toASCII(this._parts.hostname);\n } else if (this.is('IPv6') && IPv6) {\n this._parts.hostname = IPv6.best(this._parts.hostname);\n }\n\n this._parts.hostname = this._parts.hostname.toLowerCase();\n this.build(!build);\n }\n\n return this;\n };\n p.normalizePort = function(build) {\n // remove port of it's the protocol's default\n if (typeof this._parts.protocol === 'string' && this._parts.port === URI.defaultPorts[this._parts.protocol]) {\n this._parts.port = null;\n this.build(!build);\n }\n\n return this;\n };\n p.normalizePath = function(build) {\n var _path = this._parts.path;\n if (!_path) {\n return this;\n }\n\n if (this._parts.urn) {\n this._parts.path = URI.recodeUrnPath(this._parts.path);\n this.build(!build);\n return this;\n }\n\n if (this._parts.path === '/') {\n return this;\n }\n\n _path = URI.recodePath(_path);\n\n var _was_relative;\n var _leadingParents = '';\n var _parent, _pos;\n\n // handle relative paths\n if (_path.charAt(0) !== '/') {\n _was_relative = true;\n _path = '/' + _path;\n }\n\n // handle relative files (as opposed to directories)\n if (_path.slice(-3) === '/..' || _path.slice(-2) === '/.') {\n _path += '/';\n }\n\n // resolve simples\n _path = _path\n .replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/')\n .replace(/\\/{2,}/g, '/');\n\n // remember leading parents\n if (_was_relative) {\n _leadingParents = _path.substring(1).match(/^(\\.\\.\\/)+/) || '';\n if (_leadingParents) {\n _leadingParents = _leadingParents[0];\n }\n }\n\n // resolve parents\n while (true) {\n _parent = _path.search(/\\/\\.\\.(\\/|$)/);\n if (_parent === -1) {\n // no more ../ to resolve\n break;\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n _path = _path.substring(3);\n continue;\n }\n\n _pos = _path.substring(0, _parent).lastIndexOf('/');\n if (_pos === -1) {\n _pos = _parent;\n }\n _path = _path.substring(0, _pos) + _path.substring(_parent + 3);\n }\n\n // revert to relative\n if (_was_relative && this.is('relative')) {\n _path = _leadingParents + _path.substring(1);\n }\n\n this._parts.path = _path;\n this.build(!build);\n return this;\n };\n p.normalizePathname = p.normalizePath;\n p.normalizeQuery = function(build) {\n if (typeof this._parts.query === 'string') {\n if (!this._parts.query.length) {\n this._parts.query = null;\n } else {\n this.query(URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace));\n }\n\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeFragment = function(build) {\n if (!this._parts.fragment) {\n this._parts.fragment = null;\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeSearch = p.normalizeQuery;\n p.normalizeHash = p.normalizeFragment;\n\n p.iso8859 = function() {\n // expect unicode input, iso8859 output\n var e = URI.encode;\n var d = URI.decode;\n\n URI.encode = escape;\n URI.decode = decodeURIComponent;\n try {\n this.normalize();\n } finally {\n URI.encode = e;\n URI.decode = d;\n }\n return this;\n };\n\n p.unicode = function() {\n // expect iso8859 input, unicode output\n var e = URI.encode;\n var d = URI.decode;\n\n URI.encode = strictEncodeURIComponent;\n URI.decode = unescape;\n try {\n this.normalize();\n } finally {\n URI.encode = e;\n URI.decode = d;\n }\n return this;\n };\n\n p.readable = function() {\n var uri = this.clone();\n // removing username, password, because they shouldn't be displayed according to RFC 3986\n uri.username('').password('').normalize();\n var t = '';\n if (uri._parts.protocol) {\n t += uri._parts.protocol + '://';\n }\n\n if (uri._parts.hostname) {\n if (uri.is('punycode') && punycode) {\n t += punycode.toUnicode(uri._parts.hostname);\n if (uri._parts.port) {\n t += ':' + uri._parts.port;\n }\n } else {\n t += uri.host();\n }\n }\n\n if (uri._parts.hostname && uri._parts.path && uri._parts.path.charAt(0) !== '/') {\n t += '/';\n }\n\n t += uri.path(true);\n if (uri._parts.query) {\n var q = '';\n for (var i = 0, qp = uri._parts.query.split('&'), l = qp.length; i < l; i++) {\n var kv = (qp[i] || '').split('=');\n q += '&' + URI.decodeQuery(kv[0], this._parts.escapeQuerySpace)\n .replace(/&/g, '%26');\n\n if (kv[1] !== undefined) {\n q += '=' + URI.decodeQuery(kv[1], this._parts.escapeQuerySpace)\n .replace(/&/g, '%26');\n }\n }\n t += '?' + q.substring(1);\n }\n\n t += URI.decodeQuery(uri.hash(), true);\n return t;\n };\n\n // resolving relative and absolute URLs\n p.absoluteTo = function(base) {\n var resolved = this.clone();\n var properties = ['protocol', 'username', 'password', 'hostname', 'port'];\n var basedir, i, p;\n\n if (this._parts.urn) {\n throw new Error('URNs do not have any generally defined hierarchical components');\n }\n\n if (!(base instanceof URI)) {\n base = new URI(base);\n }\n\n if (resolved._parts.protocol) {\n // Directly returns even if this._parts.hostname is empty.\n return resolved;\n } else {\n resolved._parts.protocol = base._parts.protocol;\n }\n\n if (this._parts.hostname) {\n return resolved;\n }\n\n for (i = 0; (p = properties[i]); i++) {\n resolved._parts[p] = base._parts[p];\n }\n\n if (!resolved._parts.path) {\n resolved._parts.path = base._parts.path;\n if (!resolved._parts.query) {\n resolved._parts.query = base._parts.query;\n }\n } else {\n if (resolved._parts.path.substring(-2) === '..') {\n resolved._parts.path += '/';\n }\n\n if (resolved.path().charAt(0) !== '/') {\n basedir = base.directory();\n basedir = basedir ? basedir : base.path().indexOf('/') === 0 ? '/' : '';\n resolved._parts.path = (basedir ? (basedir + '/') : '') + resolved._parts.path;\n resolved.normalizePath();\n }\n }\n\n resolved.build();\n return resolved;\n };\n p.relativeTo = function(base) {\n var relative = this.clone().normalize();\n var relativeParts, baseParts, common, relativePath, basePath;\n\n if (relative._parts.urn) {\n throw new Error('URNs do not have any generally defined hierarchical components');\n }\n\n base = new URI(base).normalize();\n relativeParts = relative._parts;\n baseParts = base._parts;\n relativePath = relative.path();\n basePath = base.path();\n\n if (relativePath.charAt(0) !== '/') {\n throw new Error('URI is already relative');\n }\n\n if (basePath.charAt(0) !== '/') {\n throw new Error('Cannot calculate a URI relative to another relative URI');\n }\n\n if (relativeParts.protocol === baseParts.protocol) {\n relativeParts.protocol = null;\n }\n\n if (relativeParts.username !== baseParts.username || relativeParts.password !== baseParts.password) {\n return relative.build();\n }\n\n if (relativeParts.protocol !== null || relativeParts.username !== null || relativeParts.password !== null) {\n return relative.build();\n }\n\n if (relativeParts.hostname === baseParts.hostname && relativeParts.port === baseParts.port) {\n relativeParts.hostname = null;\n relativeParts.port = null;\n } else {\n return relative.build();\n }\n\n if (relativePath === basePath) {\n relativeParts.path = '';\n return relative.build();\n }\n\n // determine common sub path\n common = URI.commonPath(relativePath, basePath);\n\n // If the paths have nothing in common, return a relative URL with the absolute path.\n if (!common) {\n return relative.build();\n }\n\n var parents = baseParts.path\n .substring(common.length)\n .replace(/[^\\/]*$/, '')\n .replace(/.*?\\//g, '../');\n\n relativeParts.path = (parents + relativeParts.path.substring(common.length)) || './';\n\n return relative.build();\n };\n\n // comparing URIs\n p.equals = function(uri) {\n var one = this.clone();\n var two = new URI(uri);\n var one_map = {};\n var two_map = {};\n var checked = {};\n var one_query, two_query, key;\n\n one.normalize();\n two.normalize();\n\n // exact match\n if (one.toString() === two.toString()) {\n return true;\n }\n\n // extract query string\n one_query = one.query();\n two_query = two.query();\n one.query('');\n two.query('');\n\n // definitely not equal if not even non-query parts match\n if (one.toString() !== two.toString()) {\n return false;\n }\n\n // query parameters have the same length, even if they're permuted\n if (one_query.length !== two_query.length) {\n return false;\n }\n\n one_map = URI.parseQuery(one_query, this._parts.escapeQuerySpace);\n two_map = URI.parseQuery(two_query, this._parts.escapeQuerySpace);\n\n for (key in one_map) {\n if (hasOwn.call(one_map, key)) {\n if (!isArray(one_map[key])) {\n if (one_map[key] !== two_map[key]) {\n return false;\n }\n } else if (!arraysEqual(one_map[key], two_map[key])) {\n return false;\n }\n\n checked[key] = true;\n }\n }\n\n for (key in two_map) {\n if (hasOwn.call(two_map, key)) {\n if (!checked[key]) {\n // two contains a parameter not present in one\n return false;\n }\n }\n }\n\n return true;\n };\n\n // state\n p.duplicateQueryParameters = function(v) {\n this._parts.duplicateQueryParameters = !!v;\n return this;\n };\n\n p.escapeQuerySpace = function(v) {\n this._parts.escapeQuerySpace = !!v;\n return this;\n };\n\n return URI;\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./~/urijs/src/URI.js","/*! https://mths.be/punycode v1.4.0 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n\n\n\n// WEBPACK FOOTER //\n// ./~/urijs/src/punycode.js","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/util-deprecate/browser.js","/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/amd-options.js\n// module id = 198\n// module chunks = 0","import {Restriction} from './Restriction';\n\n/**\n * A query filter for DAOs.\n * @module Filter\n * @param T the model type (OnmsAlarm, OnmsEvent, etc.)\n */ /** */\nexport class Filter {\n /** how many results to get back by default */\n public limit = 1000;\n\n /** TODO: add (multiple) orderBy/order support */\n\n /** the query restrictions to use when making requests */\n public restrictions = [] as Restriction[];\n\n constructor(...restrictions: Restriction[]) {\n this.restrictions = restrictions;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/Filter.ts","import {Comparator} from './Comparator';\n\n/**\n * A query restriction.\n * @module Restriction\n */ /** */\nexport class Restriction {\n /** the model attribute (name, id, etc.) to query */\n public attribute: string;\n\n /** the comparator to use when querying */\n public comparator: Comparator;\n\n /** the value to compare the attribute property to */\n public value?: any;\n\n constructor(attribute: string, comparator: Comparator, value?: any) {\n this.attribute = attribute;\n this.comparator = comparator;\n this.value = value;\n }\n\n /** human-readable string for this restriction */\n public toString() {\n return this.attribute + ' ' + this.comparator.label + (this.value === undefined ? '' : ' ' + this.value);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/api/Restriction.ts","import {AbstractHTTP} from './AbstractHTTP';\nimport {OnmsError} from '../api/OnmsError';\nimport {OnmsHTTPOptions} from '../api/OnmsHTTPOptions';\nimport {OnmsResult} from '../api/OnmsResult';\nimport {OnmsServer} from '../api/OnmsServer';\n\nimport {log, catRest} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst catGrafana = new Category('grafana', catRest);\n\n/**\n * Implementation of the OnmsHTTP interface for Grafana\n * @module GrafanaHTTP\n * @implements IOnmsHTTP\n */ /** */\nexport class GrafanaHTTP extends AbstractHTTP {\n /** the Grafana backend object we'll use for making ReST calls */\n private backendSrv: any;\n\n /**\n * Construct a new GrafanaHTTP implementation\n * @constructor\n * @param backendSrv the Grafana BackendSrv object to use for requests\n * @param server the OpenNMS server to make requests to\n * @param timeout\n */\n constructor(backendSrv: any, server?: OnmsServer) {\n super(server, undefined);\n this.backendSrv = backendSrv;\n }\n\n /** make an HTTP get call -- this should be overridden by the implementation */\n public get(url: string, options?: OnmsHTTPOptions) {\n const realUrl = this.server.resolveURL(url);\n log.debug('getting ' + realUrl);\n const query = this.getConfig(options);\n query.method = 'GET';\n query.url = realUrl;\n return this.backendSrv.datasourceRequest(query).then((response) => {\n let type = 'application/xml';\n if (query && query.headers && query.headers.Accept) {\n type = query.headers.Accept;\n }\n if (response.headers && response.headers['content-type']) {\n type = response.headers['content-type'];\n }\n return OnmsResult.ok(response.data, undefined, response.status, type);\n });\n }\n\n /** internal method to turn {@link OnmsHTTPOptions} into a Grafana BackendSrv request object. */\n private getConfig(options?: OnmsHTTPOptions): any {\n if (options) {\n const ret = {\n headers: {\n Accept: options.accept,\n },\n } as any;\n\n if (options.accept === 'application/json') {\n ret.transformResponse = this.transformJSON;\n } else if (options.accept === 'text/plain') {\n // allow, but don't do anything special to it\n } else if (options.accept === 'application/xml') {\n ret.transformResponse = this.transformXML;\n } else {\n throw new OnmsError('Unhandled response type: ' + options.accept);\n }\n\n if (options.parameters && Object.keys(options.parameters).length > 0) {\n ret.params = options.parameters;\n }\n\n return ret;\n }\n return {};\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/rest/GrafanaHTTP.ts","import * as request from 'superagent';\n\nimport {AbstractHTTP} from './AbstractHTTP';\nimport {OnmsError} from '../api/OnmsError';\nimport {OnmsHTTPOptions} from '../api/OnmsHTTPOptions';\nimport {OnmsResult} from '../api/OnmsResult';\nimport {OnmsServer} from '../api/OnmsServer';\n\nimport {log, catRest} from '../api/Log';\nimport {Category} from 'typescript-logging';\n\n/** @hidden */\nconst catAgent = new Category('super-agent', catRest);\n\n/**\n * Implementation of the OnmsHTTP interface using SuperAgent: https://github.com/visionmedia/superagent\n * @module SuperAgentHTTP\n * @implements IOnmsHTTP\n */ /** */\nexport class SuperAgentHTTP extends AbstractHTTP {\n constructor(server?: OnmsServer, timeout = 10000) {\n super(server, timeout);\n }\n\n /** make an HTTP get call -- this should be overridden by the implementation */\n public get(url: string, options?: OnmsHTTPOptions) {\n return this.getImpl('get', url, options).then((response) => {\n if (response.body) {\n return OnmsResult.ok(response.body, undefined, response.status, response.type);\n }\n log.errorc(() => 'got non-parsed result: ' + JSON.stringify(response), undefined, catAgent);\n throw new Error('Unknown response type: ' + response.type + ' (status: ' + response.status + ')');\n });\n }\n\n /** internal method for getting/constructing a superAgent object on-demand, based on the current server config */\n private getImpl(method: string, url: string, options?: OnmsHTTPOptions) {\n if (!this.server) {\n throw new OnmsError('You must set a server before attempting to make queries using SuperAgent!');\n }\n\n const realUrl = this.server.resolveURL(url);\n const allOptions = this.getOptions(options);\n\n const urlObj = new URI(realUrl);\n urlObj.search(options.parameters);\n log.debug('getting ' + urlObj.toString(), catAgent);\n\n return request[method](realUrl)\n .withCredentials()\n .timeout(allOptions.timeout)\n .set('Accept', allOptions.accept)\n .auth(allOptions.auth.username, allOptions.auth.password)\n .query(allOptions.parameters);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/rest/SuperAgentHTTP.ts","module.exports = require('./lib/axios');\n\n\n// WEBPACK FOOTER //\n// ./~/axios/index.js","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/axios.js","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/cancel/CancelToken.js","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, this.defaults, { method: 'get' }, config);\n config.method = config.method.toLowerCase();\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/core/Axios.js","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/core/InterceptorManager.js","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/core/dispatchRequest.js","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/core/enhanceError.js","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/core/settle.js","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/core/transformData.js","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/btoa.js","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n }\n\n if (!utils.isArray(val)) {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/buildURL.js","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/combineURLs.js","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/cookies.js","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/isAbsoluteURL.js","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/isURLSameOrigin.js","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/normalizeHeaderName.js","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/parseHeaders.js","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/axios/lib/helpers/spread.js","\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (typeof module !== 'undefined') {\r\n module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n for (var key in Emitter.prototype) {\r\n obj[key] = Emitter.prototype[key];\r\n }\r\n return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n .push(fn);\r\n return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n function on() {\r\n this.off(event, on);\r\n fn.apply(this, arguments);\r\n }\r\n\r\n on.fn = fn;\r\n this.on(event, on);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n\r\n // all\r\n if (0 == arguments.length) {\r\n this._callbacks = {};\r\n return this;\r\n }\r\n\r\n // specific event\r\n var callbacks = this._callbacks['$' + event];\r\n if (!callbacks) return this;\r\n\r\n // remove all handlers\r\n if (1 == arguments.length) {\r\n delete this._callbacks['$' + event];\r\n return this;\r\n }\r\n\r\n // remove specific handler\r\n var cb;\r\n for (var i = 0; i < callbacks.length; i++) {\r\n cb = callbacks[i];\r\n if (cb === fn || cb.fn === fn) {\r\n callbacks.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n this._callbacks = this._callbacks || {};\r\n var args = [].slice.call(arguments, 1)\r\n , callbacks = this._callbacks['$' + event];\r\n\r\n if (callbacks) {\r\n callbacks = callbacks.slice(0);\r\n for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n callbacks[i].apply(this, args);\r\n }\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n this._callbacks = this._callbacks || {};\r\n return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n return !! this.listeners(event).length;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/component-emitter/index.js","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+\\:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+\\:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code\\])?$/;\n\n function _map(array, fn, thisArg) {\n if (typeof Array.prototype.map === 'function') {\n return array.map(fn, thisArg);\n } else {\n var output = new Array(array.length);\n for (var i = 0; i < array.length; i++) {\n output[i] = fn.call(thisArg, array[i]);\n }\n return output;\n }\n }\n\n function _filter(array, fn, thisArg) {\n if (typeof Array.prototype.filter === 'function') {\n return array.filter(fn, thisArg);\n } else {\n var output = [];\n for (var i = 0; i < array.length; i++) {\n if (fn.call(thisArg, array[i])) {\n output.push(array[i]);\n }\n }\n return output;\n }\n }\n\n function _indexOf(array, target) {\n if (typeof Array.prototype.indexOf === 'function') {\n return array.indexOf(target);\n } else {\n for (var i = 0; i < array.length; i++) {\n if (array[i] === target) {\n return i;\n }\n }\n return -1;\n }\n }\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?:\\:(\\d+))?(?:\\:(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[\\(\\)]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return _map(filtered, function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^\\()]*)|(\\)\\,.*$)/g, '');\n }\n var tokens = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').split(/\\s+/).slice(1);\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = _indexOf(['eval', ''], locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame(functionName, undefined, fileName, locationParts[1], locationParts[2], line);\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return _map(filtered, function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval\\:\\d+\\:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame(line);\n } else {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join('@') || undefined;\n return new StackFrame(functionName,\n undefined,\n locationParts[0],\n locationParts[1],\n locationParts[2],\n line);\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame(undefined, undefined, match[2], match[1], undefined, lines[i]));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame(\n match[3] || undefined,\n undefined,\n match[2],\n match[1],\n undefined,\n lines[i]\n )\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return _map(filtered, function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n return new StackFrame(\n functionName,\n args,\n locationParts[0],\n locationParts[1],\n locationParts[2],\n line);\n }, this);\n }\n };\n}));\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/error-stack-parser/error-stack-parser.js","'use strict';\n\nexports.Address4 = require('./lib/ipv4.js');\nexports.Address6 = require('./lib/ipv6.js');\n\nexports.v6 = {\n helpers: require('./lib/v6/helpers.js')\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/ip-address.js","'use strict';\n\nvar BigInteger = require('jsbn').BigInteger;\nvar find = require('lodash.find');\nvar max = require('lodash.max');\nvar merge = require('lodash.merge');\nvar padStart = require('lodash.padstart');\nvar repeat = require('lodash.repeat');\nvar sprintf = require('sprintf-js').sprintf;\nvar deprecate = require('util-deprecate');\n\nvar constants4 = require('./v4/constants.js');\nvar constants6 = require('./v6/constants.js');\n\nvar Address4 = require('./ipv4.js');\n\nfunction addCommas(number) {\n var r = /(\\d+)(\\d{3})/;\n\n while (r.test(number)) {\n number = number.replace(r, '$1,$2');\n }\n\n return number;\n}\n\nfunction spanLeadingZeroes4(n) {\n n = n.replace(/^(0{1,})([1-9]+)$/, '$1$2');\n n = n.replace(/^(0{1,})(0)$/, '$1$2');\n\n return n;\n}\n\n/**\n * Represents an IPv6 address\n * @class Address6\n * @param {string} address - An IPv6 address string\n * @param {number} [groups=8] - How many octets to parse\n * @example\n * var address = new Address6('2001::/32');\n */\nfunction Address6(address, optionalGroups) {\n if (optionalGroups === undefined) {\n this.groups = constants6.GROUPS;\n } else {\n this.groups = optionalGroups;\n }\n\n this.v4 = false;\n\n this.subnet = '/128';\n this.subnetMask = 128;\n\n this.zone = '';\n\n this.address = address;\n\n var subnet = constants6.RE_SUBNET_STRING.exec(address);\n\n if (subnet) {\n this.parsedSubnet = subnet[0].replace('/', '');\n this.subnetMask = parseInt(this.parsedSubnet, 10);\n this.subnet = '/' + this.subnetMask;\n\n if (isNaN(this.subnetMask) ||\n this.subnetMask < 0 ||\n this.subnetMask > constants6.BITS) {\n this.valid = false;\n this.error = 'Invalid subnet mask.';\n\n return;\n }\n\n address = address.replace(constants6.RE_SUBNET_STRING, '');\n } else if (/\\//.test(address)) {\n this.valid = false;\n this.error = 'Invalid subnet mask.';\n\n return;\n }\n\n var zone = constants6.RE_ZONE_STRING.exec(address);\n\n if (zone) {\n this.zone = zone[0];\n\n address = address.replace(constants6.RE_ZONE_STRING, '');\n }\n\n this.addressMinusSuffix = address;\n\n this.parsedAddress = this.parse(this.addressMinusSuffix);\n}\n\nmerge(Address6.prototype, require('./v6/attributes.js'));\nmerge(Address6.prototype, require('./v6/html.js'));\nmerge(Address6.prototype, require('./v6/regular-expressions.js'));\n\n/**\n * Convert a BigInteger to a v6 address object\n * @memberof Address6\n * @static\n * @param {BigInteger} bigInteger - a BigInteger to convert\n * @returns {Address6}\n * @example\n * var bigInteger = new BigInteger('1000000000000');\n * var address = Address6.fromBigInteger(bigInteger);\n * address.correctForm(); // '::e8:d4a5:1000'\n */\nAddress6.fromBigInteger = function (bigInteger) {\n var hex = padStart(bigInteger.toString(16), 32, '0');\n var groups = [];\n var i;\n\n for (i = 0; i < constants6.GROUPS; i++) {\n groups.push(hex.slice(i * 4, (i + 1) * 4));\n }\n\n return new Address6(groups.join(':'));\n};\n\n/**\n * Convert a URL (with optional port number) to an address object\n * @memberof Address6\n * @static\n * @param {string} url - a URL with optional port number\n * @returns {Address6}\n * @example\n * var addressAndPort = Address6.fromURL('http://[ffff::]:8080/foo/');\n * addressAndPort.address.correctForm(); // 'ffff::'\n * addressAndPort.port; // 8080\n */\nAddress6.fromURL = function (url) {\n var host;\n var port;\n var result;\n\n // If we have brackets parse them and find a port\n if (url.indexOf('[') !== -1 && url.indexOf(']:') !== -1) {\n result = constants6.RE_URL_WITH_PORT.exec(url);\n\n if (result === null) {\n return {\n error: 'failed to parse address with port',\n address: null,\n port: null\n };\n }\n\n host = result[1];\n port = result[2];\n // If there's a URL extract the address\n } else if (url.indexOf('/') !== -1) {\n // Remove the protocol prefix\n url = url.replace(/^[a-z0-9]+:\\/\\//, '');\n\n // Parse the address\n result = constants6.RE_URL.exec(url);\n\n if (result === null) {\n return {\n error: 'failed to parse address from URL',\n address: null,\n port: null\n };\n }\n\n host = result[1];\n // Otherwise just assign the URL to the host and let the library parse it\n } else {\n host = url;\n }\n\n // If there's a port convert it to an integer\n if (port) {\n port = parseInt(port, 10);\n\n //squelch out of range ports\n if (port < 0 || port > 65536) {\n port = null;\n }\n } else {\n // Standardize `undefined` to `null`\n port = null;\n }\n\n return {\n address: new Address6(host),\n port: port\n };\n};\n\n/**\n * Create an IPv6-mapped address given an IPv4 address\n * @memberof Address6\n * @static\n * @param {string} address - An IPv4 address string\n * @returns {Address6}\n * @example\n * var address = Address6.fromAddress4('192.168.0.1');\n * address.correctForm(); // '::ffff:c0a8:1'\n * address.to4in6(); // '::ffff:192.168.0.1'\n */\nAddress6.fromAddress4 = function (address4) {\n var address4 = new Address4(address4);\n\n var mask6 = constants6.BITS - (constants4.BITS - address4.subnetMask);\n\n return new Address6('::ffff:' + address4.correctForm() + '/' + mask6);\n};\n\n/**\n * Return an address from ip6.arpa form\n * @memberof Address6\n * @static\n * @param {string} arpaFormAddress - an 'ip6.arpa' form address \n * @returns {Adress6}\n * @example\n * var address = Address6.fromArpa(e.f.f.f.3.c.2.6.f.f.f.e.6.6.8.e.1.0.6.7.9.4.e.c.0.0.0.0.1.0.0.2.ip6.arpa.)\n * address.correctForm(); // '2001:0:ce49:7601:e866:efff:62c3:fffe'\n */\nAddress6.fromArpa = function (arpaFormAddress) {\n //remove ending \".ip6.arpa.\" or just \".\"\n var address = arpaFormAddress.replace(/(\\.ip6\\.arpa)?\\.$/, '');\n var semicolonAmount = 7;\n\n //correct ip6.arpa form with ending removed will be 63 characters\n if (address.length !== 63) {\n address = {\n error: \"Not Valid 'ip6.arpa' form\",\n address: null\n };\n return address;\n }\n\n address = address.split('.').reverse();\n\n for (var i = semicolonAmount; i > 0; i--) {\n var insertIndex = i * 4;\n address.splice(insertIndex, 0, ':');\n }\n\n address = address.join('');\n return new Address6(address);\n};\n\n/*\n * A helper function to compact an array\n */\nfunction compact (address, slice) {\n var s1 = [];\n var s2 = [];\n var i;\n\n for (i = 0; i < address.length; i++) {\n if (i < slice[0]) {\n s1.push(address[i]);\n } else if (i > slice[1]) {\n s2.push(address[i]);\n }\n }\n\n return s1.concat(['compact']).concat(s2);\n}\n\n/**\n * Return the Microsoft UNC transcription of the address\n * @memberof Address6\n * @instance\n * @returns {String} the Microsoft UNC transcription of the address\n */\nAddress6.prototype.microsoftTranscription = function () {\n return sprintf('%s.ipv6-literal.net',\n this.correctForm().replace(/:/g, '-'));\n};\n\n/**\n * Return the first n bits of the address, defaulting to the subnet mask\n * @memberof Address6\n * @instance\n * @param {number} [mask=subnet] - the number of bits to mask\n * @returns {String} the first n bits of the address as a string\n */\nAddress6.prototype.mask = function (optionalMask) {\n if (optionalMask === undefined) {\n optionalMask = this.subnetMask;\n }\n\n return this.getBitsBase2(0, optionalMask);\n};\n\n/**\n * Return the number of possible subnets of a given size in the address\n * @memberof Address6\n * @instance\n * @param {number} [size=128] - the subnet size\n * @returns {String}\n */\n// TODO: probably useful to have a numeric version of this too\nAddress6.prototype.possibleSubnets = function (optionalSubnetSize) {\n if (optionalSubnetSize === undefined) {\n optionalSubnetSize = 128;\n }\n\n var availableBits = constants6.BITS - this.subnetMask;\n var subnetBits = Math.abs(optionalSubnetSize - constants6.BITS);\n var subnetPowers = availableBits - subnetBits;\n\n if (subnetPowers < 0) {\n return '0';\n }\n\n return addCommas(new BigInteger('2', 10).pow(subnetPowers).toString(10));\n};\n\n/**\n * The first address in the range given by this address' subnet\n * @memberof Address6\n * @instance\n * @returns {Address6}\n */\nAddress6.prototype.startAddress = function () {\n var startAddress = new BigInteger(this.mask() +\n repeat(0, constants6.BITS - this.subnetMask), 2);\n\n return Address6.fromBigInteger(startAddress);\n};\n\n/**\n * The last address in the range given by this address' subnet\n * @memberof Address6\n * @instance\n * @returns {Address6}\n */\nAddress6.prototype.endAddress = function () {\n var endAddress = new BigInteger(this.mask() +\n repeat(1, constants6.BITS - this.subnetMask), 2);\n\n return Address6.fromBigInteger(endAddress);\n};\n\n/**\n * Return the scope of the address\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.getScope = function () {\n var scope = constants6.SCOPES[this.getBits(12, 16)];\n\n if (this.getType() === 'Global unicast' &&\n scope !== 'Link local') {\n scope = 'Global';\n }\n\n return scope;\n};\n\n/**\n * Return the type of the address\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.getType = function () {\n var self = this;\n\n function isType(name, type) {\n return self.isInSubnet(new Address6(type));\n }\n\n return find(constants6.TYPES, isType) || 'Global unicast';\n};\n\n/**\n * Return the bits in the given range as a BigInteger\n * @memberof Address6\n * @instance\n * @returns {BigInteger}\n */\nAddress6.prototype.getBits = function (start, end) {\n return new BigInteger(this.getBitsBase2(start, end), 2);\n};\n\n/**\n * Return the bits in the given range as a base-2 string\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.getBitsBase2 = function (start, end) {\n return this.binaryZeroPad().slice(start, end);\n};\n\n/**\n * Return the bits in the given range as a base-16 string\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.getBitsBase16 = function (start, end) {\n var length = end - start;\n\n if (length % 4 !== 0) {\n return null;\n }\n\n return padStart(this.getBits(start, end).toString(16), length / 4, '0');\n};\n\n/**\n * Return the bits that are set past the subnet mask length\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.getBitsPastSubnet = function () {\n return this.getBitsBase2(this.subnetMask, constants6.BITS);\n};\n\n/**\n * Return the reversed ip6.arpa form of the address\n * @memberof Address6\n * @param {Object} options\n * @param {boolean} options.omitSuffix - omit the \"ip6.arpa\" suffix\n * @instance\n * @returns {String}\n */\nAddress6.prototype.reverseForm = function (options) {\n if (!options) {\n options = {};\n }\n\n var characters = Math.floor(this.subnetMask / 4);\n\n var reversed = this.canonicalForm()\n .replace(/:/g, '')\n .split('')\n .slice(0, characters)\n .reverse()\n .join('.');\n\n if (characters > 0) {\n if (options.omitSuffix) {\n return reversed;\n }\n\n return sprintf('%s.ip6.arpa.', reversed);\n }\n\n if (options.omitSuffix) {\n return '';\n }\n\n return 'ip6.arpa.';\n};\n\n/**\n * Return the correct form of the address\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.correctForm = function () {\n if (!this.parsedAddress) {\n return null;\n }\n\n var i;\n var groups = [];\n\n var zeroCounter = 0;\n var zeroes = [];\n\n for (i = 0; i < this.parsedAddress.length; i++) {\n var value = parseInt(this.parsedAddress[i], 16);\n\n if (value === 0) {\n zeroCounter++;\n }\n\n if (value !== 0 && zeroCounter > 0) {\n if (zeroCounter > 1) {\n zeroes.push([i - zeroCounter, i - 1]);\n }\n\n zeroCounter = 0;\n }\n }\n\n // Do we end with a string of zeroes?\n if (zeroCounter > 1) {\n zeroes.push([this.parsedAddress.length - zeroCounter,\n this.parsedAddress.length - 1]);\n }\n\n var zeroLengths = zeroes.map(function (n) {\n return (n[1] - n[0]) + 1;\n });\n\n if (zeroes.length > 0) {\n var index = zeroLengths.indexOf(max(zeroLengths));\n\n groups = compact(this.parsedAddress, zeroes[index]);\n } else {\n groups = this.parsedAddress;\n }\n\n for (i = 0; i < groups.length; i++) {\n if (groups[i] !== 'compact') {\n groups[i] = parseInt(groups[i], 16).toString(16);\n }\n }\n\n var correct = groups.join(':');\n\n correct = correct.replace(/^compact$/, '::');\n correct = correct.replace(/^compact|compact$/, ':');\n correct = correct.replace(/compact/, '');\n\n return correct;\n};\n\n/**\n * Return a zero-padded base-2 string representation of the address\n * @memberof Address6\n * @instance\n * @returns {String}\n * @example\n * var address = new Address6('2001:4860:4001:803::1011');\n * address.binaryZeroPad();\n * // '0010000000000001010010000110000001000000000000010000100000000011\n * // 0000000000000000000000000000000000000000000000000001000000010001'\n */\nAddress6.prototype.binaryZeroPad = function () {\n return padStart(this.bigInteger().toString(2), constants6.BITS, '0');\n};\n\n// TODO: Improve the semantics of this helper function\nAddress6.prototype.parse4in6 = function (address) {\n var groups = address.split(':');\n var lastGroup = groups.slice(-1)[0];\n\n var address4 = lastGroup.match(constants4.RE_ADDRESS);\n\n if (address4) {\n var temp4 = new Address4(address4[0]);\n\n for (var i = 0; i < temp4.groups; i++) {\n if (/^0[0-9]+/.test(temp4.parsedAddress[i])) {\n this.valid = false;\n this.error = 'IPv4 addresses can not have leading zeroes.';\n\n this.parseError = address.replace(constants4.RE_ADDRESS,\n temp4.parsedAddress.map(spanLeadingZeroes4).join('.'));\n\n return null;\n }\n }\n\n this.v4 = true;\n\n groups[groups.length - 1] = temp4.toGroup6();\n\n address = groups.join(':');\n }\n\n return address;\n};\n\n// TODO: Make private?\nAddress6.prototype.parse = function (address) {\n address = this.parse4in6(address);\n\n if (this.error) {\n return null;\n }\n\n var badCharacters = address.match(constants6.RE_BAD_CHARACTERS);\n\n if (badCharacters) {\n this.valid = false;\n this.error = sprintf('Bad character%s detected in address: %s',\n badCharacters.length > 1 ? 's' : '', badCharacters.join(''));\n\n this.parseError = address.replace(constants6.RE_BAD_CHARACTERS,\n '$1');\n\n return null;\n }\n\n var badAddress = address.match(constants6.RE_BAD_ADDRESS);\n\n if (badAddress) {\n this.valid = false;\n this.error = sprintf('Address failed regex: %s', badAddress.join(''));\n\n this.parseError = address.replace(constants6.RE_BAD_ADDRESS,\n '$1');\n\n return null;\n }\n\n var groups = [];\n\n var halves = address.split('::');\n\n if (halves.length === 2) {\n var first = halves[0].split(':');\n var last = halves[1].split(':');\n\n if (first.length === 1 &&\n first[0] === '') {\n first = [];\n }\n\n if (last.length === 1 &&\n last[0] === '') {\n last = [];\n }\n\n var remaining = this.groups - (first.length + last.length);\n\n if (!remaining) {\n this.valid = false;\n this.error = 'Error parsing groups';\n\n return null;\n }\n\n this.elidedGroups = remaining;\n\n this.elisionBegin = first.length;\n this.elisionEnd = first.length + this.elidedGroups;\n\n first.forEach(function (group) {\n groups.push(group);\n });\n\n for (var i = 0; i < remaining; i++) {\n groups.push(0);\n }\n\n last.forEach(function (group) {\n groups.push(group);\n });\n } else if (halves.length === 1) {\n groups = address.split(':');\n\n this.elidedGroups = 0;\n } else {\n this.valid = false;\n this.error = 'Too many :: groups found';\n\n return null;\n }\n\n groups = groups.map(function (g) {\n return sprintf('%x', parseInt(g, 16));\n });\n\n if (groups.length !== this.groups) {\n this.valid = false;\n this.error = 'Incorrect number of groups found';\n\n return null;\n }\n\n this.valid = true;\n\n return groups;\n};\n\nfunction paddedHex(octet) {\n return sprintf('%04x', parseInt(octet, 16));\n}\n\n/**\n * Return the canonical form of the address\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.canonicalForm = function () {\n if (!this.valid) {\n return null;\n }\n\n return this.parsedAddress.map(paddedHex).join(':');\n};\n\n/**\n * Return the decimal form of the address\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.decimal = function () {\n if (!this.valid) {\n return null;\n }\n\n return this.parsedAddress.map(function (n) {\n return sprintf('%05d', parseInt(n, 16));\n }).join(':');\n};\n\n/**\n * Return the address as a BigInteger\n * @memberof Address6\n * @instance\n * @returns {BigInteger}\n */\nAddress6.prototype.bigInteger = function () {\n if (!this.valid) {\n return null;\n }\n\n return new BigInteger(this.parsedAddress.map(paddedHex).join(''), 16);\n};\n\n/**\n * Return the last two groups of this address as an IPv4 address string\n * @memberof Address6\n * @instance\n * @returns {String}\n * @example\n * var address = new Address6('2001:4860:4001::1825:bf11');\n * address.to4(); // '24.37.191.17'\n */\nAddress6.prototype.to4 = function () {\n var binary = this.binaryZeroPad().split('');\n\n return Address4.fromHex(new BigInteger(binary.slice(96, 128)\n .join(''), 2).toString(16));\n};\n\nAddress6.prototype.tov4 =\n deprecate(Address6.prototype.to4,\n 'deprecated: `tov4` has been renamed to `to4`');\n\n/**\n * Return the v4-in-v6 form of the address\n * @memberof Address6\n * @instance\n * @returns {String}\n */\nAddress6.prototype.to4in6 = function () {\n var address4 = this.to4();\n var address6 = new Address6(this.parsedAddress.slice(0, 6).join(':'), 6);\n\n var correct = address6.correctForm();\n\n var infix = '';\n\n if (!/:$/.test(correct)) {\n infix = ':';\n }\n\n return address6.correctForm() + infix + address4.address;\n};\n\nAddress6.prototype.v4inv6 =\n deprecate(Address6.prototype.to4in6,\n 'deprecated: `v4inv6` has been renamed to `to4in6`');\n\n/**\n * Return an object containing the Teredo properties of the address\n * @memberof Address6\n * @instance\n * @returns {Object}\n */\nAddress6.prototype.inspectTeredo = function () {\n /*\n - Bits 0 to 31 are set to the Teredo prefix (normally 2001:0000::/32).\n - Bits 32 to 63 embed the primary IPv4 address of the Teredo server that\n is used.\n - Bits 64 to 79 can be used to define some flags. Currently only the\n higher order bit is used; it is set to 1 if the Teredo client is\n located behind a cone NAT, 0 otherwise. For Microsoft's Windows Vista\n and Windows Server 2008 implementations, more bits are used. In those\n implementations, the format for these 16 bits is \"CRAAAAUG AAAAAAAA\",\n where \"C\" remains the \"Cone\" flag. The \"R\" bit is reserved for future\n use. The \"U\" bit is for the Universal/Local flag (set to 0). The \"G\" bit\n is Individual/Group flag (set to 0). The A bits are set to a 12-bit\n randomly generated number chosen by the Teredo client to introduce\n additional protection for the Teredo node against IPv6-based scanning\n attacks.\n - Bits 80 to 95 contains the obfuscated UDP port number. This is the\n port number that is mapped by the NAT to the Teredo client with all\n bits inverted.\n - Bits 96 to 127 contains the obfuscated IPv4 address. This is the\n public IPv4 address of the NAT with all bits inverted.\n */\n var prefix = this.getBitsBase16(0, 32);\n\n var udpPort = this.getBits(80, 96).xor(new BigInteger('ffff', 16)).toString();\n\n var server4 = Address4.fromHex(this.getBitsBase16(32, 64));\n var client4 = Address4.fromHex(this.getBits(96, 128)\n .xor(new BigInteger('ffffffff', 16)).toString(16));\n\n var flags = this.getBits(64, 80);\n var flagsBase2 = this.getBitsBase2(64, 80);\n\n var coneNat = flags.testBit(15);\n var reserved = flags.testBit(14);\n var groupIndividual = flags.testBit(8);\n var universalLocal = flags.testBit(9);\n var nonce = new BigInteger(flagsBase2.slice(2, 6) +\n flagsBase2.slice(8, 16), 2).toString(10);\n\n return {\n prefix: sprintf('%s:%s', prefix.slice(0, 4), prefix.slice(4, 8)),\n server4: server4.address,\n client4: client4.address,\n flags: flagsBase2,\n coneNat: coneNat,\n microsoft: {\n reserved: reserved,\n universalLocal: universalLocal,\n groupIndividual: groupIndividual,\n nonce: nonce\n },\n udpPort: udpPort\n };\n};\n\nAddress6.prototype.teredo =\n deprecate(Address6.prototype.inspectTeredo,\n 'deprecated: `teredo` has been renamed to `inspectTeredo`');\n\n/**\n * Return an object containing the 6to4 properties of the address\n * @memberof Address6\n * @instance\n * @returns {Object}\n */\nAddress6.prototype.inspect6to4 = function () {\n /*\n - Bits 0 to 15 are set to the 6to4 prefix (2002::/16).\n - Bits 16 to 48 embed the IPv4 address of the 6to4 gateway that is used.\n */\n\n var prefix = this.getBitsBase16(0, 16);\n\n var gateway = Address4.fromHex(this.getBitsBase16(16, 48));\n\n return {\n prefix: sprintf('%s', prefix.slice(0, 4)),\n gateway: gateway.address\n };\n};\n\nAddress6.prototype.six2four =\n deprecate(Address6.prototype.inspect6to4,\n 'deprecated: `six2four` has been renamed to `inspect6to4`');\n\n/**\n * Return a v6 6to4 address from a v6 v4inv6 address\n * @memberof Address6\n * @instance\n * @returns {Address6}\n */\nAddress6.prototype.to6to4 = function () {\n if (!this.is4()) {\n return null;\n }\n\n var addr6to4 = [\n '2002',\n this.getBitsBase16(96, 112),\n this.getBitsBase16(112, 128),\n '',\n '/16'\n ].join(':');\n\n return new Address6(addr6to4);\n};\n\nAddress6.prototype.get6to4 =\n deprecate(Address6.prototype.to6to4,\n 'deprecated: `get6to4` has been renamed to `to6to4`');\n\n/**\n * Return a byte array\n * @memberof Address6\n * @instance\n * @returns {Array}\n */\nAddress6.prototype.toByteArray = function () {\n var byteArray = this.bigInteger().toByteArray();\n\n // work around issue where `toByteArray` returns a leading 0 element\n if (byteArray.length === 17 && byteArray[0] === 0) {\n return byteArray.slice(1);\n }\n\n return byteArray;\n};\n\nfunction unsignByte(b) {\n return b & 0xFF;\n}\n\n/**\n * Return an unsigned byte array\n * @memberof Address6\n * @instance\n * @returns {Array}\n */\nAddress6.prototype.toUnsignedByteArray = function () {\n return this.toByteArray().map(unsignByte);\n};\n\n/**\n * Convert a byte array to an Address6 object\n * @memberof Address6\n * @static\n * @returns {Address6}\n */\nAddress6.fromByteArray = function (bytes) {\n return this.fromUnsignedByteArray(bytes.map(unsignByte));\n};\n\n/**\n * Convert an unsigned byte array to an Address6 object\n * @memberof Address6\n * @static\n * @returns {Address6}\n */\nAddress6.fromUnsignedByteArray = function (bytes) {\n var BYTE_MAX = new BigInteger('256', 10);\n var result = new BigInteger('0', 10);\n var multiplier = new BigInteger('1', 10);\n\n for (var i = bytes.length - 1; i >= 0; i--) {\n result = result.add(\n multiplier.multiply(new BigInteger(bytes[i].toString(10), 10)));\n\n multiplier = multiplier.multiply(BYTE_MAX);\n }\n\n return Address6.fromBigInteger(result);\n};\n\nmodule.exports = Address6;\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/ipv6.js","'use strict';\n\nvar common = require('../common.js');\nvar v6 = require('./constants.js');\n\n/**\n * Returns true if the address is valid, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isValid = function () {\n return this.valid;\n};\n\n/**\n * Returns true if the given address is in the subnet of the current address\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isInSubnet = common.isInSubnet;\n\n/**\n * Returns true if the address is correct, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isCorrect = common.isCorrect(v6.BITS);\n\n/**\n * Returns true if the address is in the canonical form, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isCanonical = common.falseIfInvalid(function () {\n return this.addressMinusSuffix === this.canonicalForm();\n});\n\n/**\n * Returns true if the address is a link local address, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isLinkLocal = common.falseIfInvalid(function () {\n // Zeroes are required, i.e. we can't check isInSubnet with 'fe80::/10'\n if (this.getBitsBase2(0, 64) ===\n '1111111010000000000000000000000000000000000000000000000000000000') {\n return true;\n }\n\n return false;\n});\n\n/**\n * Returns true if the address is a multicast address, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isMulticast = common.falseIfInvalid(function () {\n return this.getType() === 'Multicast';\n});\n\n/**\n * Returns true if the address is a v4-in-v6 address, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.is4 = common.falseIfInvalid(function () {\n return this.v4;\n});\n\n/**\n * Returns true if the address is a Teredo address, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isTeredo = common.falseIfInvalid(function () {\n return this.isInSubnet(new this.constructor('2001::/32'));\n});\n\n/**\n * Returns true if the address is a 6to4 address, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.is6to4 = common.falseIfInvalid(function () {\n return this.isInSubnet(new this.constructor('2002::/16'));\n});\n\n/**\n * Returns true if the address is a loopback address, false otherwise\n * @memberof Address6\n * @instance\n * @returns {boolean}\n */\nexports.isLoopback = common.falseIfInvalid(function () {\n return this.getType() === 'Loopback';\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/v6/attributes.js","'use strict';\n\nvar constants4 = require('../v4/constants.js');\nvar helpers = require('./helpers.js');\nvar sprintf = require('sprintf-js').sprintf;\n\n/**\n * @returns {String} the address in link form with a default port of 80\n */\nexports.href = function (optionalPort) {\n if (optionalPort === undefined) {\n optionalPort = '';\n } else {\n optionalPort = sprintf(':%s', optionalPort);\n }\n\n return sprintf('http://[%s]%s/', this.correctForm(), optionalPort);\n};\n\n/**\n * @returns {String} a link suitable for conveying the address via a URL hash\n */\nexports.link = function (options) {\n if (!options) {\n options = {};\n }\n\n if (options.className === undefined) {\n options.className = '';\n }\n\n if (options.prefix === undefined) {\n options.prefix = '/#address=';\n }\n\n if (options.v4 === undefined) {\n options.v4 = false;\n }\n\n var formFunction = this.correctForm;\n\n if (options.v4) {\n formFunction = this.to4in6;\n }\n\n if (options.className) {\n return sprintf('%2$s',\n options.prefix, formFunction.call(this), options.className);\n }\n\n return sprintf('%2$s', options.prefix,\n formFunction.call(this));\n};\n\n/**\n * Groups an address\n * @returns {String}\n */\nexports.group = function () {\n var address4 = this.address.match(constants4.RE_ADDRESS);\n var i;\n\n if (address4) {\n // The IPv4 case\n var segments = address4[0].split('.');\n\n this.address = this.address.replace(constants4.RE_ADDRESS,\n sprintf('%s' +\n '.' +\n '%s',\n segments.slice(0, 2).join('.'),\n segments.slice(2, 4).join('.')));\n }\n\n if (this.elidedGroups === 0) {\n // The simple case\n return helpers.simpleGroup(this.address);\n }\n\n // The elided case\n var output = [];\n\n var halves = this.address.split('::');\n\n if (halves[0].length) {\n output.push(helpers.simpleGroup(halves[0]));\n } else {\n output.push('');\n }\n\n var classes = ['hover-group'];\n\n for (i = this.elisionBegin;\n i < this.elisionBegin + this.elidedGroups; i++) {\n classes.push(sprintf('group-%d', i));\n }\n\n output.push(sprintf('', classes.join(' ')));\n\n if (halves[1].length) {\n output.push(helpers.simpleGroup(halves[1], this.elisionEnd));\n } else {\n output.push('');\n }\n\n return output.join(':');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/v6/html.js","'use strict';\n\nvar sprintf = require('sprintf-js').sprintf;\n\nvar v6 = require('./constants.js');\n\nfunction groupPossibilities(possibilities) {\n return sprintf('(%s)', possibilities.join('|'));\n}\n\nfunction padGroup(group) {\n if (group.length < 4) {\n return sprintf('0{0,%d}%s', 4 - group.length, group);\n }\n\n return group;\n}\n\nfunction simpleRegularExpression(groups) {\n var zeroIndexes = [];\n\n groups.forEach(function (group, i) {\n var groupInteger = parseInt(group, 16);\n\n if (groupInteger === 0) {\n zeroIndexes.push(i);\n }\n });\n\n // You can technically elide a single 0, this creates the regular expressions\n // to match that eventuality\n var possibilities = zeroIndexes.map(function (zeroIndex) {\n return groups.map(function (group, i) {\n if (i === zeroIndex) {\n var elision = (i === 0 || i === v6.GROUPS - 1) ? ':' : '';\n\n return groupPossibilities([padGroup(group), elision]);\n }\n\n return padGroup(group);\n }).join(':');\n });\n\n // The simplest case\n possibilities.push(groups.map(padGroup).join(':'));\n\n return groupPossibilities(possibilities);\n}\n\nfunction possibleElisions(elidedGroups, moreLeft, moreRight) {\n var left = moreLeft ? '' : ':';\n var right = moreRight ? '' : ':';\n\n var possibilities = [];\n\n // 1. elision of everything (::)\n if (!moreLeft && !moreRight) {\n possibilities.push('::');\n }\n\n // 2. complete elision of the middle\n if (moreLeft && moreRight) {\n possibilities.push('');\n }\n\n if ((moreRight && !moreLeft) || (!moreRight && moreLeft)) {\n // 3. complete elision of one side\n possibilities.push(':');\n }\n\n // 4. elision from the left side\n possibilities.push(sprintf('%s(:0{1,4}){1,%d}', left, elidedGroups - 1));\n\n // 5. elision from the right side\n possibilities.push(sprintf('(0{1,4}:){1,%d}%s', elidedGroups - 1, right));\n\n // 6. no elision\n possibilities.push(sprintf('(0{1,4}:){%d}0{1,4}', elidedGroups - 1));\n\n // 7. elision (including sloppy elision) from the middle\n for (var groups = 1; groups < elidedGroups - 1; groups++) {\n for (var position = 1; position < elidedGroups - groups; position++) {\n possibilities.push(sprintf('(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}',\n position,\n elidedGroups - position - groups - 1));\n }\n }\n\n return groupPossibilities(possibilities);\n}\n\n/**\n * Generate a regular expression string that can be used to find or validate\n * all variations of this address\n * @memberof Address6\n * @instance\n * @param {string} optionalSubString\n * @returns {string}\n */\nexports.regularExpressionString = function (optionalSubString) {\n if (optionalSubString === undefined) {\n optionalSubString = false;\n }\n\n var output = [];\n\n // TODO: revisit why this is necessary\n var address6 = new this.constructor(this.correctForm());\n\n if (address6.elidedGroups === 0) {\n // The simple case\n output.push(simpleRegularExpression(address6.parsedAddress));\n } else if (address6.elidedGroups === v6.GROUPS) {\n // A completely elided address\n output.push(possibleElisions(v6.GROUPS));\n } else {\n // A partially elided address\n var halves = address6.address.split('::');\n\n if (halves[0].length) {\n output.push(simpleRegularExpression(halves[0].split(':')));\n }\n\n output.push(possibleElisions(address6.elidedGroups,\n halves[0].length !== 0,\n halves[1].length !== 0));\n\n if (halves[1].length) {\n output.push(simpleRegularExpression(halves[1].split(':')));\n }\n\n output = [output.join(':')];\n }\n\n if (!optionalSubString) {\n output = [].concat('(?=^|\\\\b|[^\\\\w\\\\:])(', output, ')(?=[^\\\\w\\\\:]|\\\\b|$)');\n }\n\n return output.join('');\n};\n\n/**\n * Generate a regular expression that can be used to find or validate all\n * variations of this address.\n * @memberof Address6\n * @instance\n * @param {string} optionalSubString\n * @returns {RegExp}\n */\nexports.regularExpression = function (optionalSubstring) {\n return new RegExp(this.regularExpressionString(optionalSubstring), 'i');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/ip-address/lib/v6/regular-expressions.js","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/is-buffer/index.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = find;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash.find/index.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.gt` which doesn't coerce arguments to numbers.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * This method returns the first argument given to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash.max/index.js","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n if (!(isArray(source) || isTypedArray(source))) {\n var props = baseKeysIn(source);\n }\n arrayEach(props || source, function(srcValue, key) {\n if (props) {\n key = srcValue;\n srcValue = source[key];\n }\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(object[key], srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n });\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = object[key],\n srcValue = source[key],\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n newValue = srcValue;\n if (isArray(srcValue) || isTypedArray(srcValue)) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n else {\n newValue = objValue;\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash.merge/index.js","// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g =\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this;\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/regenerator-runtime/runtime-module.js","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n\n\n// WEBPACK FOOTER //\n// ./~/regenerator-runtime/runtime.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/base64.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/binary-search.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/mapping-list.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/quick-sort.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap)\n : new BasicSourceMapConsumer(sourceMap);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n if (source != null && sourceRoot != null) {\n source = util.join(sourceRoot, source);\n }\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: Optional. the column number in the original source.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n if (this.sourceRoot != null) {\n needle.source = util.relative(this.sourceRoot, needle.source);\n }\n if (!this._sources.has(needle.source)) {\n return [];\n }\n needle.source = this._sources.indexOf(needle.source);\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The only parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._sources.toArray().map(function (s) {\n return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s;\n }, this);\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source.\n * - column: The column number in the generated source.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null.\n * - column: The column number in the original source, or null.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n if (this.sourceRoot != null) {\n source = util.join(this.sourceRoot, source);\n }\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n if (this.sourceRoot != null) {\n aSource = util.relative(this.sourceRoot, aSource);\n }\n\n if (this._sources.has(aSource)) {\n return this.sourcesContent[this._sources.indexOf(aSource)];\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = aSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + aSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + aSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: The column number in the original source.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n if (this.sourceRoot != null) {\n source = util.relative(this.sourceRoot, source);\n }\n if (!this._sources.has(source)) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n source = this._sources.indexOf(source);\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The only parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'))\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source.\n * - column: The column number in the generated source.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null.\n * - column: The column number in the original source, or null.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: The column number in the original source.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n if (section.consumer.sourceRoot !== null) {\n source = util.join(section.consumer.sourceRoot, source);\n }\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/source-map-consumer.js","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are removed from this array, by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var shiftNextLine = function() {\n var lineContents = remainingLines.shift();\n // The last line of a file might not have a newline.\n var newLine = remainingLines.shift() || \"\";\n return lineContents + newLine;\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[0];\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[0] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[0];\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[0] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLines.length > 0) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/lib/source-node.js","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n\n\n\n// WEBPACK FOOTER //\n// ./~/source-map/source-map.js","(function (root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stack-generator', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.StackGenerator = factory(root.StackFrame);\n }\n}(this, function (StackFrame) {\n return {\n backtrace: function StackGenerator$$backtrace(opts) {\n var stack = [];\n var maxStackSize = 10;\n\n if (typeof opts === 'object' && typeof opts.maxStackSize === 'number') {\n maxStackSize = opts.maxStackSize;\n }\n\n var curr = arguments.callee;\n while (curr && stack.length < maxStackSize) {\n // Allow V8 optimizations\n var args = new Array(curr['arguments'].length);\n for(var i = 0; i < args.length; ++i) {\n args[i] = curr['arguments'][i];\n }\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(new StackFrame({functionName: RegExp.$1 || undefined, args: args}));\n } else {\n stack.push(new StackFrame({args: args}));\n }\n\n try {\n curr = curr.caller;\n } catch (e) {\n break;\n }\n }\n return stack;\n }\n };\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./~/stack-generator/stack-generator.js","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stacktrace-gps', ['source-map', 'stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('source-map/lib/source-map-consumer'), require('stackframe'));\n } else {\n root.StackTraceGPS = factory(root.SourceMap || root.sourceMap, root.StackFrame);\n }\n}(this, function(SourceMap, StackFrame) {\n 'use strict';\n\n /**\n * Make a X-Domain request to url and callback.\n *\n * @param {String} url\n * @returns {Promise} with response text if fulfilled\n */\n function _xdr(url) {\n return new Promise(function(resolve, reject) {\n var req = new XMLHttpRequest();\n req.open('get', url);\n req.onerror = reject;\n req.onreadystatechange = function onreadystatechange() {\n if (req.readyState === 4) {\n if (req.status >= 200 && req.status < 300) {\n resolve(req.responseText);\n } else {\n reject(new Error('HTTP status: ' + req.status + ' retrieving ' + url));\n }\n }\n };\n req.send();\n });\n\n }\n\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== 'undefined' && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error('You must supply a polyfill for window.atob in this environment');\n }\n }\n\n function _parseJson(string) {\n if (typeof JSON !== 'undefined' && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error('You must supply a polyfill for JSON.parse in this environment');\n }\n }\n\n function _findFunctionName(source, lineNumber/*, columnNumber*/) {\n // function {name}({args}) m[1]=name m[2]=args\n var reFunctionDeclaration = /function\\s+([^(]*?)\\s*\\(([^)]*)\\)/;\n // {name} = function ({args}) TODO args capture\n var reFunctionExpression = /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/;\n // {name} = eval()\n var reFunctionEvaluation = /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/;\n var lines = source.split('\\n');\n\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = '';\n var maxLines = Math.min(lineNumber, 20);\n var m;\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf('//');\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n\n if (line) {\n code = line + code;\n m = reFunctionExpression.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n m = reFunctionDeclaration.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n m = reFunctionEvaluation.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n return undefined;\n }\n\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== 'function' || typeof Object.create !== 'function') {\n throw new Error('Unable to consume source maps in older browsers');\n }\n }\n\n function _ensureStackFrameIsLegit(stackframe) {\n if (typeof stackframe !== 'object') {\n throw new TypeError('Given StackFrame is not an object');\n } else if (typeof stackframe.fileName !== 'string') {\n throw new TypeError('Given file name is not a String');\n } else if (typeof stackframe.lineNumber !== 'number' ||\n stackframe.lineNumber % 1 !== 0 ||\n stackframe.lineNumber < 1) {\n throw new TypeError('Given line number must be a positive integer');\n } else if (typeof stackframe.columnNumber !== 'number' ||\n stackframe.columnNumber % 1 !== 0 ||\n stackframe.columnNumber < 0) {\n throw new TypeError('Given column number must be a non-negative integer');\n }\n return true;\n }\n\n function _findSourceMappingURL(source) {\n var m = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/.exec(source);\n if (m && m[1]) {\n return m[1];\n } else {\n throw new Error('sourceMappingURL not found');\n }\n }\n\n function _extractLocationInfoFromSourceMap(stackframe, rawSourceMap, sourceCache) {\n return new Promise(function(resolve, reject) {\n var mapConsumer = new SourceMap.SourceMapConsumer(rawSourceMap);\n\n var loc = mapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n\n if (loc.source) {\n var mappedSource = mapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n resolve(\n new StackFrame(\n loc.name || stackframe.functionName,\n stackframe.args,\n loc.source,\n loc.line,\n loc.column));\n } else {\n reject(new Error('Could not get original source for given stackframe and source map'));\n }\n });\n }\n\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n\n this.sourceCache = opts.sourceCache || {};\n\n this.ajax = opts.ajax || _xdr;\n\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function(resolve, reject) {\n var isDataUrl = location.substr(0, 5) === 'data:';\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error('Cannot make network requests in offline mode'));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp =\n /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error('The encoding of the inline sourcemap is not supported'));\n }\n } else {\n var xhrPromise = this.ajax(location, {method: 'get'});\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function(resolve, reject) {\n this.getMappedLocation(stackframe).then(function(mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n\n this.findFunctionName(mappedStackFrame)\n .then(resolve, resolveMappedStackFrame)\n ['catch'](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function(resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame(guessedFunctionName,\n stackframe.args,\n stackframe.fileName,\n lineNumber,\n columnNumber));\n } else {\n resolve(stackframe);\n }\n }, reject)['catch'](reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function(resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function(source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === 'data:';\n var base = fileName.substring(0, fileName.lastIndexOf('/') + 1);\n\n if (sourceMappingURL[0] !== '/' && !isDataUrl && !(/^https?:\\/\\/|^\\/\\//i).test(sourceMappingURL)) {\n sourceMappingURL = base + sourceMappingURL;\n }\n\n this._get(sourceMappingURL).then(function(sourceMap) {\n if (typeof sourceMap === 'string') {\n sourceMap = _parseJson(sourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n if (typeof sourceMap.sourceRoot === 'undefined') {\n sourceMap.sourceRoot = base;\n }\n\n _extractLocationInfoFromSourceMap(stackframe, sourceMap, sourceCache)\n .then(resolve)['catch'](function() {\n resolve(stackframe);\n });\n }, reject)['catch'](reject);\n }.bind(this), reject)['catch'](reject);\n }.bind(this));\n };\n };\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./~/stacktrace-gps/stacktrace-gps.js","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stacktrace', ['error-stack-parser', 'stack-generator', 'stacktrace-gps'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('error-stack-parser'), require('stack-generator'), require('stacktrace-gps'));\n } else {\n root.StackTrace = factory(root.ErrorStackParser, root.StackGenerator, root.StackTraceGPS);\n }\n}(this, function StackTrace(ErrorStackParser, StackGenerator, StackTraceGPS) {\n var _options = {\n filter: function(stackframe) {\n // Filter out stackframes for this library by default\n return (stackframe.functionName || '').indexOf('StackTrace$$') === -1 &&\n (stackframe.functionName || '').indexOf('ErrorStackParser$$') === -1 &&\n (stackframe.functionName || '').indexOf('StackTraceGPS$$') === -1 &&\n (stackframe.functionName || '').indexOf('StackGenerator$$') === -1;\n },\n sourceCache: {}\n };\n\n var _generateError = function StackTrace$$GenerateError() {\n try {\n // Error must be thrown to get stack in IE\n throw new Error();\n } catch (err) {\n return err;\n }\n };\n\n /**\n * Merge 2 given Objects. If a conflict occurs the second object wins.\n * Does not do deep merges.\n *\n * @param {Object} first base object\n * @param {Object} second overrides\n * @returns {Object} merged first and second\n * @private\n */\n function _merge(first, second) {\n var target = {};\n\n [first, second].forEach(function(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n target[prop] = obj[prop];\n }\n }\n return target;\n });\n\n return target;\n }\n\n function _isShapedLikeParsableError(err) {\n return err.stack || err['opera#sourceloc'];\n }\n\n function _filtered(stackframes, filter) {\n if (typeof filter === 'function') {\n return stackframes.filter(filter);\n }\n return stackframes;\n }\n\n return {\n /**\n * Get a backtrace from invocation point.\n *\n * @param {Object} opts\n * @returns {Array} of StackFrame\n */\n get: function StackTrace$$get(opts) {\n var err = _generateError();\n return _isShapedLikeParsableError(err) ? this.fromError(err, opts) : this.generateArtificially(opts);\n },\n\n /**\n * Get a backtrace from invocation point.\n * IMPORTANT: Does not handle source maps or guess function names!\n *\n * @param {Object} opts\n * @returns {Array} of StackFrame\n */\n getSync: function StackTrace$$getSync(opts) {\n opts = _merge(_options, opts);\n var err = _generateError();\n var stack = _isShapedLikeParsableError(err) ? ErrorStackParser.parse(err) : StackGenerator.backtrace(opts);\n return _filtered(stack, opts.filter);\n },\n\n /**\n * Given an error object, parse it.\n *\n * @param {Error} error object\n * @param {Object} opts\n * @returns {Promise} for Array[StackFrame}\n */\n fromError: function StackTrace$$fromError(error, opts) {\n opts = _merge(_options, opts);\n var gps = new StackTraceGPS(opts);\n return new Promise(function(resolve) {\n var stackframes = _filtered(ErrorStackParser.parse(error), opts.filter);\n resolve(Promise.all(stackframes.map(function(sf) {\n return new Promise(function(resolve) {\n function resolveOriginal() {\n resolve(sf);\n }\n\n gps.pinpoint(sf).then(resolve, resolveOriginal)['catch'](resolveOriginal);\n });\n })));\n }.bind(this));\n },\n\n /**\n * Use StackGenerator to generate a backtrace.\n *\n * @param {Object} opts\n * @returns {Promise} of Array[StackFrame]\n */\n generateArtificially: function StackTrace$$generateArtificially(opts) {\n opts = _merge(_options, opts);\n var stackFrames = StackGenerator.backtrace(opts);\n if (typeof opts.filter === 'function') {\n stackFrames = stackFrames.filter(opts.filter);\n }\n return Promise.resolve(stackFrames);\n },\n\n /**\n * Given a function, wrap it such that invocations trigger a callback that\n * is called with a stack trace.\n *\n * @param {Function} fn to be instrumented\n * @param {Function} callback function to call with a stack trace on invocation\n * @param {Function} errback optional function to call with error if unable to get stack trace.\n * @param {Object} thisArg optional context object (e.g. window)\n */\n instrument: function StackTrace$$instrument(fn, callback, errback, thisArg) {\n if (typeof fn !== 'function') {\n throw new Error('Cannot instrument non-function object');\n } else if (typeof fn.__stacktraceOriginalFn === 'function') {\n // Already instrumented, return given Function\n return fn;\n }\n\n var instrumented = function StackTrace$$instrumented() {\n try {\n this.get().then(callback, errback)['catch'](errback);\n return fn.apply(thisArg || this, arguments);\n } catch (e) {\n if (_isShapedLikeParsableError(e)) {\n this.fromError(e).then(callback, errback)['catch'](errback);\n }\n throw e;\n }\n }.bind(this);\n instrumented.__stacktraceOriginalFn = fn;\n\n return instrumented;\n },\n\n /**\n * Given a function that has been instrumented,\n * revert the function to it's original (non-instrumented) state.\n *\n * @param {Function} fn to de-instrument\n */\n deinstrument: function StackTrace$$deinstrument(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Cannot de-instrument non-function object');\n } else if (typeof fn.__stacktraceOriginalFn === 'function') {\n return fn.__stacktraceOriginalFn;\n } else {\n // Function not instrumented, return original\n return fn;\n }\n },\n\n /**\n * Given an error message and Array of StackFrames, serialize and POST to given URL.\n *\n * @param {Array} stackframes\n * @param {String} url\n * @param {String} errorMsg\n */\n report: function StackTrace$$report(stackframes, url, errorMsg) {\n return new Promise(function(resolve, reject) {\n var req = new XMLHttpRequest();\n req.onerror = reject;\n req.onreadystatechange = function onreadystatechange() {\n if (req.readyState === 4) {\n if (req.status >= 200 && req.status < 400) {\n resolve(req.responseText);\n } else {\n reject(new Error('POST to ' + url + ' failed with status: ' + req.status));\n }\n }\n };\n req.open('post', url);\n req.setRequestHeader('Content-Type', 'application/json');\n\n var reportPayload = {stack: stackframes};\n if (errorMsg !== undefined) {\n reportPayload.message = errorMsg;\n }\n\n req.send(JSON.stringify(reportPayload));\n });\n }\n };\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./~/stacktrace-js/stacktrace.js","/**\n * Root reference for iframes.\n */\n\nvar root;\nif (typeof window !== 'undefined') { // Browser window\n root = window;\n} else if (typeof self !== 'undefined') { // Web Worker\n root = self;\n} else { // Other environments\n console.warn(\"Using browser-only version of superagent in non-browser environment\");\n root = this;\n}\n\nvar Emitter = require('component-emitter');\nvar RequestBase = require('./request-base');\nvar isObject = require('./is-object');\nvar isFunction = require('./is-function');\nvar ResponseBase = require('./response-base');\nvar shouldRetry = require('./should-retry');\n\n/**\n * Noop.\n */\n\nfunction noop(){};\n\n/**\n * Expose `request`.\n */\n\nvar request = exports = module.exports = function(method, url) {\n // callback\n if ('function' == typeof url) {\n return new exports.Request('GET', method).end(url);\n }\n\n // url first\n if (1 == arguments.length) {\n return new exports.Request('GET', method);\n }\n\n return new exports.Request(method, url);\n}\n\nexports.Request = Request;\n\n/**\n * Determine XHR.\n */\n\nrequest.getXHR = function () {\n if (root.XMLHttpRequest\n && (!root.location || 'file:' != root.location.protocol\n || !root.ActiveXObject)) {\n return new XMLHttpRequest;\n } else {\n try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) {}\n }\n throw Error(\"Browser-only verison of superagent could not find XHR\");\n};\n\n/**\n * Removes leading and trailing whitespace, added to support IE.\n *\n * @param {String} s\n * @return {String}\n * @api private\n */\n\nvar trim = ''.trim\n ? function(s) { return s.trim(); }\n : function(s) { return s.replace(/(^\\s*|\\s*$)/g, ''); };\n\n/**\n * Serialize the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api private\n */\n\nfunction serialize(obj) {\n if (!isObject(obj)) return obj;\n var pairs = [];\n for (var key in obj) {\n pushEncodedKeyValuePair(pairs, key, obj[key]);\n }\n return pairs.join('&');\n}\n\n/**\n * Helps 'serialize' with serializing arrays.\n * Mutates the pairs array.\n *\n * @param {Array} pairs\n * @param {String} key\n * @param {Mixed} val\n */\n\nfunction pushEncodedKeyValuePair(pairs, key, val) {\n if (val != null) {\n if (Array.isArray(val)) {\n val.forEach(function(v) {\n pushEncodedKeyValuePair(pairs, key, v);\n });\n } else if (isObject(val)) {\n for(var subkey in val) {\n pushEncodedKeyValuePair(pairs, key + '[' + subkey + ']', val[subkey]);\n }\n } else {\n pairs.push(encodeURIComponent(key)\n + '=' + encodeURIComponent(val));\n }\n } else if (val === null) {\n pairs.push(encodeURIComponent(key));\n }\n}\n\n/**\n * Expose serialization method.\n */\n\n request.serializeObject = serialize;\n\n /**\n * Parse the given x-www-form-urlencoded `str`.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseString(str) {\n var obj = {};\n var pairs = str.split('&');\n var pair;\n var pos;\n\n for (var i = 0, len = pairs.length; i < len; ++i) {\n pair = pairs[i];\n pos = pair.indexOf('=');\n if (pos == -1) {\n obj[decodeURIComponent(pair)] = '';\n } else {\n obj[decodeURIComponent(pair.slice(0, pos))] =\n decodeURIComponent(pair.slice(pos + 1));\n }\n }\n\n return obj;\n}\n\n/**\n * Expose parser.\n */\n\nrequest.parseString = parseString;\n\n/**\n * Default MIME type map.\n *\n * superagent.types.xml = 'application/xml';\n *\n */\n\nrequest.types = {\n html: 'text/html',\n json: 'application/json',\n xml: 'application/xml',\n urlencoded: 'application/x-www-form-urlencoded',\n 'form': 'application/x-www-form-urlencoded',\n 'form-data': 'application/x-www-form-urlencoded'\n};\n\n/**\n * Default serialization map.\n *\n * superagent.serialize['application/xml'] = function(obj){\n * return 'generated xml here';\n * };\n *\n */\n\n request.serialize = {\n 'application/x-www-form-urlencoded': serialize,\n 'application/json': JSON.stringify\n };\n\n /**\n * Default parsers.\n *\n * superagent.parse['application/xml'] = function(str){\n * return { object parsed from str };\n * };\n *\n */\n\nrequest.parse = {\n 'application/x-www-form-urlencoded': parseString,\n 'application/json': JSON.parse\n};\n\n/**\n * Parse the given header `str` into\n * an object containing the mapped fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseHeader(str) {\n var lines = str.split(/\\r?\\n/);\n var fields = {};\n var index;\n var line;\n var field;\n var val;\n\n lines.pop(); // trailing CRLF\n\n for (var i = 0, len = lines.length; i < len; ++i) {\n line = lines[i];\n index = line.indexOf(':');\n field = line.slice(0, index).toLowerCase();\n val = trim(line.slice(index + 1));\n fields[field] = val;\n }\n\n return fields;\n}\n\n/**\n * Check if `mime` is json or has +json structured syntax suffix.\n *\n * @param {String} mime\n * @return {Boolean}\n * @api private\n */\n\nfunction isJSON(mime) {\n return /[\\/+]json\\b/.test(mime);\n}\n\n/**\n * Initialize a new `Response` with the given `xhr`.\n *\n * - set flags (.ok, .error, etc)\n * - parse header\n *\n * Examples:\n *\n * Aliasing `superagent` as `request` is nice:\n *\n * request = superagent;\n *\n * We can use the promise-like API, or pass callbacks:\n *\n * request.get('/').end(function(res){});\n * request.get('/', function(res){});\n *\n * Sending data can be chained:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' })\n * .end(function(res){});\n *\n * Or passed to `.send()`:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' }, function(res){});\n *\n * Or passed to `.post()`:\n *\n * request\n * .post('/user', { name: 'tj' })\n * .end(function(res){});\n *\n * Or further reduced to a single call for simple cases:\n *\n * request\n * .post('/user', { name: 'tj' }, function(res){});\n *\n * @param {XMLHTTPRequest} xhr\n * @param {Object} options\n * @api private\n */\n\nfunction Response(req) {\n this.req = req;\n this.xhr = this.req.xhr;\n // responseText is accessible only if responseType is '' or 'text' and on older browsers\n this.text = ((this.req.method !='HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text')) || typeof this.xhr.responseType === 'undefined')\n ? this.xhr.responseText\n : null;\n this.statusText = this.req.xhr.statusText;\n var status = this.xhr.status;\n // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request\n if (status === 1223) {\n status = 204;\n }\n this._setStatusProperties(status);\n this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders());\n // getAllResponseHeaders sometimes falsely returns \"\" for CORS requests, but\n // getResponseHeader still works. so we get content-type even if getting\n // other headers fails.\n this.header['content-type'] = this.xhr.getResponseHeader('content-type');\n this._setHeaderProperties(this.header);\n\n if (null === this.text && req._responseType) {\n this.body = this.xhr.response;\n } else {\n this.body = this.req.method != 'HEAD'\n ? this._parseBody(this.text ? this.text : this.xhr.response)\n : null;\n }\n}\n\nResponseBase(Response.prototype);\n\n/**\n * Parse the given body `str`.\n *\n * Used for auto-parsing of bodies. Parsers\n * are defined on the `superagent.parse` object.\n *\n * @param {String} str\n * @return {Mixed}\n * @api private\n */\n\nResponse.prototype._parseBody = function(str){\n var parse = request.parse[this.type];\n if(this.req._parser) {\n return this.req._parser(this, str);\n }\n if (!parse && isJSON(this.type)) {\n parse = request.parse['application/json'];\n }\n return parse && str && (str.length || str instanceof Object)\n ? parse(str)\n : null;\n};\n\n/**\n * Return an `Error` representative of this response.\n *\n * @return {Error}\n * @api public\n */\n\nResponse.prototype.toError = function(){\n var req = this.req;\n var method = req.method;\n var url = req.url;\n\n var msg = 'cannot ' + method + ' ' + url + ' (' + this.status + ')';\n var err = new Error(msg);\n err.status = this.status;\n err.method = method;\n err.url = url;\n\n return err;\n};\n\n/**\n * Expose `Response`.\n */\n\nrequest.Response = Response;\n\n/**\n * Initialize a new `Request` with the given `method` and `url`.\n *\n * @param {String} method\n * @param {String} url\n * @api public\n */\n\nfunction Request(method, url) {\n var self = this;\n this._query = this._query || [];\n this.method = method;\n this.url = url;\n this.header = {}; // preserves header name case\n this._header = {}; // coerces header names to lowercase\n this.on('end', function(){\n var err = null;\n var res = null;\n\n try {\n res = new Response(self);\n } catch(e) {\n err = new Error('Parser is unable to parse the response');\n err.parse = true;\n err.original = e;\n // issue #675: return the raw response if the response parsing fails\n if (self.xhr) {\n // ie9 doesn't have 'response' property\n err.rawResponse = typeof self.xhr.responseType == 'undefined' ? self.xhr.responseText : self.xhr.response;\n // issue #876: return the http status code if the response parsing fails\n err.status = self.xhr.status ? self.xhr.status : null;\n err.statusCode = err.status; // backwards-compat only\n } else {\n err.rawResponse = null;\n err.status = null;\n }\n\n return self.callback(err);\n }\n\n self.emit('response', res);\n\n var new_err;\n try {\n if (!self._isResponseOK(res)) {\n new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n }\n } catch(e) {\n new_err = e; // #985 touching res may cause INVALID_STATE_ERR on old Android\n }\n\n // #1000 don't catch errors from the callback to avoid double calling it\n if (new_err) {\n self.callback(new_err, res);\n } else {\n self.callback(null, res);\n }\n });\n}\n\n/**\n * Mixin `Emitter` and `RequestBase`.\n */\n\nEmitter(Request.prototype);\nRequestBase(Request.prototype);\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n this.set('Accept', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} [pass] optional in case of using 'bearer' as type\n * @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n if (typeof pass === 'object' && pass !== null) { // pass is optional and can substitute for options\n options = pass;\n }\n if (!options) {\n options = {\n type: 'function' === typeof btoa ? 'basic' : 'auto',\n }\n }\n\n switch (options.type) {\n case 'basic':\n this.set('Authorization', 'Basic ' + btoa(user + ':' + pass));\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n \n case 'bearer': // usage would be .auth(accessToken, { type: 'bearer' })\n this.set('Authorization', 'Bearer ' + user);\n break; \n }\n return this;\n};\n\n/**\n * Add query-string `val`.\n *\n * Examples:\n *\n * request.get('/shoes')\n * .query('size=10')\n * .query({ color: 'blue' })\n *\n * @param {Object|String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.query = function(val){\n if ('string' != typeof val) val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `options` (or filename).\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String|Object} options\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, options){\n if (file) {\n if (this._data) {\n throw Error(\"superagent can't mix .send() and .attach()\");\n }\n\n this._getFormData().append(field, file, options || file.name);\n }\n return this;\n};\n\nRequest.prototype._getFormData = function(){\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n // console.log(this._retries, this._maxRetries)\n if (this._maxRetries && this._retries++ < this._maxRetries && shouldRetry(err, res)) {\n return this._retry();\n }\n\n var fn = this._callback;\n this.clearTimeout();\n\n if (err) {\n if (this._maxRetries) err.retries = this._retries - 1;\n this.emit('error', err);\n }\n\n fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n 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.');\n err.crossDomain = true;\n\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n\n this.callback(err);\n};\n\n// This only warns, because the request is still likely to work\nRequest.prototype.buffer = Request.prototype.ca = Request.prototype.agent = function(){\n console.warn(\"This is not supported in browser version of superagent\");\n return this;\n};\n\n// This throws, because it can't send/receive data as expected\nRequest.prototype.pipe = Request.prototype.write = function(){\n throw Error(\"Streaming is not supported in browser version of superagent\");\n};\n\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\n\nRequest.prototype._appendQueryString = function(){\n var query = this._query.join('&');\n if (query) {\n this.url += (this.url.indexOf('?') >= 0 ? '&' : '?') + query;\n }\n\n if (this._sort) {\n var index = this.url.indexOf('?');\n if (index >= 0) {\n var queryArr = this.url.substring(index + 1).split('&');\n if (isFunction(this._sort)) {\n queryArr.sort(this._sort);\n } else {\n queryArr.sort();\n }\n this.url = this.url.substring(0, index) + '?' + queryArr.join('&');\n }\n }\n};\n\n/**\n * Check if `obj` is a host object,\n * we don't want to serialize these :)\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\nRequest.prototype._isHost = function _isHost(obj) {\n // Native objects stringify to [object File], [object Blob], [object FormData], etc.\n return obj && 'object' === typeof obj && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]';\n}\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n if (this._endCalled) {\n console.warn(\"Warning: .end() was called twice. This is not supported in superagent\");\n }\n this._endCalled = true;\n\n // store callback\n this._callback = fn || noop;\n\n // querystring\n this._appendQueryString();\n\n return this._end();\n};\n\nRequest.prototype._end = function() {\n var self = this;\n var xhr = this.xhr = request.getXHR();\n var data = this._formData || this._data;\n\n this._setTimeouts();\n\n // state change\n xhr.onreadystatechange = function(){\n var readyState = xhr.readyState;\n if (readyState >= 2 && self._responseTimeoutTimer) {\n clearTimeout(self._responseTimeoutTimer);\n }\n if (4 != readyState) {\n return;\n }\n\n // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n var status;\n try { status = xhr.status } catch(e) { status = 0; }\n\n if (!status) {\n if (self.timedout || self._aborted) return;\n return self.crossDomainError();\n }\n self.emit('end');\n };\n\n // progress\n var handleProgress = function(direction, e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n e.direction = direction;\n self.emit('progress', e);\n }\n if (this.hasListeners('progress')) {\n try {\n xhr.onprogress = handleProgress.bind(null, 'download');\n if (xhr.upload) {\n xhr.upload.onprogress = handleProgress.bind(null, 'upload');\n }\n } catch(e) {\n // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n }\n\n // initiate request\n try {\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n } catch (err) {\n // see #1149\n return this.callback(err);\n }\n\n // CORS\n if (this._withCredentials) xhr.withCredentials = true;\n\n // body\n if (!this._formData && 'GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n if (!serialize && isJSON(contentType)) {\n serialize = request.serialize['application/json'];\n }\n if (serialize) data = serialize(data);\n }\n\n // set header fields\n for (var field in this.header) {\n if (null == this.header[field]) continue;\n\n if (this.header.hasOwnProperty(field))\n xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n }\n\n // send stuff\n this.emit('request', this);\n\n // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n xhr.send(typeof data !== 'undefined' ? data : null);\n return this;\n};\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn){\n var req = request('GET', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn){\n var req = request('HEAD', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn){\n var req = request('OPTIONS', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * DELETE `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nfunction del(url, data, fn){\n var req = request('DELETE', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn){\n var req = request('PATCH', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn){\n var req = request('POST', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn){\n var req = request('PUT', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/superagent/lib/client.js","/**\n * Check if `fn` is a function.\n *\n * @param {Function} fn\n * @return {Boolean}\n * @api private\n */\nvar isObject = require('./is-object');\n\nfunction isFunction(fn) {\n var tag = isObject(fn) ? Object.prototype.toString.call(fn) : '';\n return tag === '[object Function]';\n}\n\nmodule.exports = isFunction;\n\n\n\n// WEBPACK FOOTER //\n// ./~/superagent/lib/is-function.js","/**\n * Module of mixed-in functions shared between node and client code\n */\nvar isObject = require('./is-object');\n\n/**\n * Expose `RequestBase`.\n */\n\nmodule.exports = RequestBase;\n\n/**\n * Initialize a new `RequestBase`.\n *\n * @api public\n */\n\nfunction RequestBase(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in RequestBase.prototype) {\n obj[key] = RequestBase.prototype[key];\n }\n return obj;\n}\n\n/**\n * Clear previous timeout.\n *\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.clearTimeout = function _clearTimeout(){\n clearTimeout(this._timer);\n clearTimeout(this._responseTimeoutTimer);\n delete this._timer;\n delete this._responseTimeoutTimer;\n return this;\n};\n\n/**\n * Override default response body parser\n *\n * This function will be called to convert incoming data into request.body\n *\n * @param {Function}\n * @api public\n */\n\nRequestBase.prototype.parse = function parse(fn){\n this._parser = fn;\n return this;\n};\n\n/**\n * Set format of binary response body.\n * In browser valid formats are 'blob' and 'arraybuffer',\n * which return Blob and ArrayBuffer, respectively.\n *\n * In Node all values result in Buffer.\n *\n * Examples:\n *\n * req.get('/')\n * .responseType('blob')\n * .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.responseType = function(val){\n this._responseType = val;\n return this;\n};\n\n/**\n * Override default request body serializer\n *\n * This function will be called to convert data set via .send or .attach into payload to send\n *\n * @param {Function}\n * @api public\n */\n\nRequestBase.prototype.serialize = function serialize(fn){\n this._serializer = fn;\n return this;\n};\n\n/**\n * Set timeouts.\n *\n * - response timeout is time between sending request and receiving the first byte of the response. Includes DNS and connection time.\n * - deadline is the time from start of the request to receiving response body in full. If the deadline is too short large files may not load at all on slow connections.\n *\n * Value of 0 or false means no timeout.\n *\n * @param {Number|Object} ms or {response, read, deadline}\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.timeout = function timeout(options){\n if (!options || 'object' !== typeof options) {\n this._timeout = options;\n this._responseTimeout = 0;\n return this;\n }\n\n for(var option in options) {\n switch(option) {\n case 'deadline':\n this._timeout = options.deadline;\n break;\n case 'response':\n this._responseTimeout = options.response;\n break;\n default:\n console.warn(\"Unknown timeout option\", option);\n }\n }\n return this;\n};\n\n/**\n * Set number of retry attempts on error.\n *\n * Failed requests will be retried 'count' times if timeout or err.code >= 500.\n *\n * @param {Number} count\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.retry = function retry(count){\n // Default to 1 if no count passed or true\n if (arguments.length === 0 || count === true) count = 1;\n if (count <= 0) count = 0;\n this._maxRetries = count;\n this._retries = 0;\n return this;\n};\n\n/**\n * Retry request\n *\n * @return {Request} for chaining\n * @api private\n */\n\nRequestBase.prototype._retry = function() {\n this.clearTimeout();\n\n // node\n if (this.req) {\n this.req = null;\n this.req = this.request();\n }\n\n this._aborted = false;\n this.timedout = false;\n\n return this._end();\n};\n\n/**\n * Promise support\n *\n * @param {Function} resolve\n * @param {Function} [reject]\n * @return {Request}\n */\n\nRequestBase.prototype.then = function then(resolve, reject) {\n if (!this._fullfilledPromise) {\n var self = this;\n if (this._endCalled) {\n console.warn(\"Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises\");\n }\n this._fullfilledPromise = new Promise(function(innerResolve, innerReject){\n self.end(function(err, res){\n if (err) innerReject(err); else innerResolve(res);\n });\n });\n }\n return this._fullfilledPromise.then(resolve, reject);\n}\n\nRequestBase.prototype.catch = function(cb) {\n return this.then(undefined, cb);\n};\n\n/**\n * Allow for extension\n */\n\nRequestBase.prototype.use = function use(fn) {\n fn(this);\n return this;\n}\n\nRequestBase.prototype.ok = function(cb) {\n if ('function' !== typeof cb) throw Error(\"Callback required\");\n this._okCallback = cb;\n return this;\n};\n\nRequestBase.prototype._isResponseOK = function(res) {\n if (!res) {\n return false;\n }\n\n if (this._okCallback) {\n return this._okCallback(res);\n }\n\n return res.status >= 200 && res.status < 300;\n};\n\n\n/**\n * Get request header `field`.\n * Case-insensitive.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\nRequestBase.prototype.get = function(field){\n return this._header[field.toLowerCase()];\n};\n\n/**\n * Get case-insensitive header `field` value.\n * This is a deprecated internal API. Use `.get(field)` instead.\n *\n * (getHeader is no longer used internally by the superagent code base)\n *\n * @param {String} field\n * @return {String}\n * @api private\n * @deprecated\n */\n\nRequestBase.prototype.getHeader = RequestBase.prototype.get;\n\n/**\n * Set header `field` to `val`, or multiple fields with one object.\n * Case-insensitive.\n *\n * Examples:\n *\n * req.get('/')\n * .set('Accept', 'application/json')\n * .set('X-API-Key', 'foobar')\n * .end(callback);\n *\n * req.get('/')\n * .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })\n * .end(callback);\n *\n * @param {String|Object} field\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.set = function(field, val){\n if (isObject(field)) {\n for (var key in field) {\n this.set(key, field[key]);\n }\n return this;\n }\n this._header[field.toLowerCase()] = val;\n this.header[field] = val;\n return this;\n};\n\n/**\n * Remove header `field`.\n * Case-insensitive.\n *\n * Example:\n *\n * req.get('/')\n * .unset('User-Agent')\n * .end(callback);\n *\n * @param {String} field\n */\nRequestBase.prototype.unset = function(field){\n delete this._header[field.toLowerCase()];\n delete this.header[field];\n return this;\n};\n\n/**\n * Write the field `name` and `val`, or multiple fields with one object\n * for \"multipart/form-data\" request bodies.\n *\n * ``` js\n * request.post('/upload')\n * .field('foo', 'bar')\n * .end(callback);\n *\n * request.post('/upload')\n * .field({ foo: 'bar', baz: 'qux' })\n * .end(callback);\n * ```\n *\n * @param {String|Object} name\n * @param {String|Blob|File|Buffer|fs.ReadStream} val\n * @return {Request} for chaining\n * @api public\n */\nRequestBase.prototype.field = function(name, val) {\n\n // name should be either a string or an object.\n if (null === name || undefined === name) {\n throw new Error('.field(name, val) name can not be empty');\n }\n\n if (this._data) {\n console.error(\".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()\");\n }\n\n if (isObject(name)) {\n for (var key in name) {\n this.field(key, name[key]);\n }\n return this;\n }\n\n if (Array.isArray(val)) {\n for (var i in val) {\n this.field(name, val[i]);\n }\n return this;\n }\n\n // val should be defined now\n if (null === val || undefined === val) {\n throw new Error('.field(name, val) val can not be empty');\n }\n if ('boolean' === typeof val) {\n val = '' + val;\n }\n this._getFormData().append(name, val);\n return this;\n};\n\n/**\n * Abort the request, and clear potential timeout.\n *\n * @return {Request}\n * @api public\n */\nRequestBase.prototype.abort = function(){\n if (this._aborted) {\n return this;\n }\n this._aborted = true;\n this.xhr && this.xhr.abort(); // browser\n this.req && this.req.abort(); // node\n this.clearTimeout();\n this.emit('abort');\n return this;\n};\n\n/**\n * Enable transmission of cookies with x-domain requests.\n *\n * Note that for this to work the origin must not be\n * using \"Access-Control-Allow-Origin\" with a wildcard,\n * and also must set \"Access-Control-Allow-Credentials\"\n * to \"true\".\n *\n * @api public\n */\n\nRequestBase.prototype.withCredentials = function(on){\n // This is browser-only functionality. Node side is no-op.\n if(on==undefined) on = true;\n this._withCredentials = on;\n return this;\n};\n\n/**\n * Set the max redirects to `n`. Does noting in browser XHR implementation.\n *\n * @param {Number} n\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.redirects = function(n){\n this._maxRedirects = n;\n return this;\n};\n\n/**\n * Convert to a plain javascript object (not JSON string) of scalar properties.\n * Note as this method is designed to return a useful non-this value,\n * it cannot be chained.\n *\n * @return {Object} describing method, url, and data of this request\n * @api public\n */\n\nRequestBase.prototype.toJSON = function(){\n return {\n method: this.method,\n url: this.url,\n data: this._data,\n headers: this._header\n };\n};\n\n\n/**\n * Send `data` as the request body, defaulting the `.type()` to \"json\" when\n * an object is given.\n *\n * Examples:\n *\n * // manual json\n * request.post('/user')\n * .type('json')\n * .send('{\"name\":\"tj\"}')\n * .end(callback)\n *\n * // auto json\n * request.post('/user')\n * .send({ name: 'tj' })\n * .end(callback)\n *\n * // manual x-www-form-urlencoded\n * request.post('/user')\n * .type('form')\n * .send('name=tj')\n * .end(callback)\n *\n * // auto x-www-form-urlencoded\n * request.post('/user')\n * .type('form')\n * .send({ name: 'tj' })\n * .end(callback)\n *\n * // defaults to x-www-form-urlencoded\n * request.post('/user')\n * .send('name=tobi')\n * .send('species=ferret')\n * .end(callback)\n *\n * @param {String|Object} data\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.send = function(data){\n var isObj = isObject(data);\n var type = this._header['content-type'];\n\n if (this._formData) {\n console.error(\".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()\");\n }\n\n if (isObj && !this._data) {\n if (Array.isArray(data)) {\n this._data = [];\n } else if (!this._isHost(data)) {\n this._data = {};\n }\n } else if (data && this._data && this._isHost(this._data)) {\n throw Error(\"Can't merge these send calls\");\n }\n\n // merge\n if (isObj && isObject(this._data)) {\n for (var key in data) {\n this._data[key] = data[key];\n }\n } else if ('string' == typeof data) {\n // default to x-www-form-urlencoded\n if (!type) this.type('form');\n type = this._header['content-type'];\n if ('application/x-www-form-urlencoded' == type) {\n this._data = this._data\n ? this._data + '&' + data\n : data;\n } else {\n this._data = (this._data || '') + data;\n }\n } else {\n this._data = data;\n }\n\n if (!isObj || this._isHost(data)) {\n return this;\n }\n\n // default to json\n if (!type) this.type('json');\n return this;\n};\n\n\n/**\n * Sort `querystring` by the sort function\n *\n *\n * Examples:\n *\n * // default order\n * request.get('/user')\n * .query('name=Nick')\n * .query('search=Manny')\n * .sortQuery()\n * .end(callback)\n *\n * // customized sort function\n * request.get('/user')\n * .query('name=Nick')\n * .query('search=Manny')\n * .sortQuery(function(a, b){\n * return a.length - b.length;\n * })\n * .end(callback)\n *\n *\n * @param {Function} sort\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.sortQuery = function(sort) {\n // _sort default to true but otherwise can be a function or boolean\n this._sort = typeof sort === 'undefined' ? true : sort;\n return this;\n};\n\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\nRequestBase.prototype._timeoutError = function(reason, timeout, errno){\n if (this._aborted) {\n return;\n }\n var err = new Error(reason + timeout + 'ms exceeded');\n err.timeout = timeout;\n err.code = 'ECONNABORTED';\n err.errno = errno;\n this.timedout = true;\n this.abort();\n this.callback(err);\n};\n\nRequestBase.prototype._setTimeouts = function() {\n var self = this;\n\n // deadline\n if (this._timeout && !this._timer) {\n this._timer = setTimeout(function(){\n self._timeoutError('Timeout of ', self._timeout, 'ETIME');\n }, this._timeout);\n }\n // response timeout\n if (this._responseTimeout && !this._responseTimeoutTimer) {\n this._responseTimeoutTimer = setTimeout(function(){\n self._timeoutError('Response timeout of ', self._responseTimeout, 'ETIMEDOUT');\n }, this._responseTimeout);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/superagent/lib/request-base.js","\n/**\n * Module dependencies.\n */\n\nvar utils = require('./utils');\n\n/**\n * Expose `ResponseBase`.\n */\n\nmodule.exports = ResponseBase;\n\n/**\n * Initialize a new `ResponseBase`.\n *\n * @api public\n */\n\nfunction ResponseBase(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in ResponseBase.prototype) {\n obj[key] = ResponseBase.prototype[key];\n }\n return obj;\n}\n\n/**\n * Get case-insensitive `field` value.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\nResponseBase.prototype.get = function(field){\n return this.header[field.toLowerCase()];\n};\n\n/**\n * Set header related properties:\n *\n * - `.type` the content type without params\n *\n * A response of \"Content-Type: text/plain; charset=utf-8\"\n * will provide you with a `.type` of \"text/plain\".\n *\n * @param {Object} header\n * @api private\n */\n\nResponseBase.prototype._setHeaderProperties = function(header){\n // TODO: moar!\n // TODO: make this a util\n\n // content-type\n var ct = header['content-type'] || '';\n this.type = utils.type(ct);\n\n // params\n var params = utils.params(ct);\n for (var key in params) this[key] = params[key];\n\n this.links = {};\n\n // links\n try {\n if (header.link) {\n this.links = utils.parseLinks(header.link);\n }\n } catch (err) {\n // ignore\n }\n};\n\n/**\n * Set flags such as `.ok` based on `status`.\n *\n * For example a 2xx response will give you a `.ok` of __true__\n * whereas 5xx will be __false__ and `.error` will be __true__. The\n * `.clientError` and `.serverError` are also available to be more\n * specific, and `.statusType` is the class of error ranging from 1..5\n * sometimes useful for mapping respond colors etc.\n *\n * \"sugar\" properties are also defined for common cases. Currently providing:\n *\n * - .noContent\n * - .badRequest\n * - .unauthorized\n * - .notAcceptable\n * - .notFound\n *\n * @param {Number} status\n * @api private\n */\n\nResponseBase.prototype._setStatusProperties = function(status){\n var type = status / 100 | 0;\n\n // status / class\n this.status = this.statusCode = status;\n this.statusType = type;\n\n // basics\n this.info = 1 == type;\n this.ok = 2 == type;\n this.redirect = 3 == type;\n this.clientError = 4 == type;\n this.serverError = 5 == type;\n this.error = (4 == type || 5 == type)\n ? this.toError()\n : false;\n\n // sugar\n this.accepted = 202 == status;\n this.noContent = 204 == status;\n this.badRequest = 400 == status;\n this.unauthorized = 401 == status;\n this.notAcceptable = 406 == status;\n this.forbidden = 403 == status;\n this.notFound = 404 == status;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/superagent/lib/response-base.js","var ERROR_CODES = [\n 'ECONNRESET',\n 'ETIMEDOUT',\n 'EADDRINFO',\n 'ESOCKETTIMEDOUT'\n];\n\n/**\n * Determine if a request should be retried.\n * (Borrowed from segmentio/superagent-retry)\n *\n * @param {Error} err\n * @param {Response} [res]\n * @returns {Boolean}\n */\nmodule.exports = function shouldRetry(err, res) {\n if (err && err.code && ~ERROR_CODES.indexOf(err.code)) return true;\n if (res && res.status && res.status >= 500) return true;\n // Superagent timeout\n if (err && 'timeout' in err && err.code == 'ECONNABORTED') return true;\n if (err && 'crossDomain' in err) return true;\n return false;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/superagent/lib/should-retry.js","\n/**\n * Return the mime type for the given `str`.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nexports.type = function(str){\n return str.split(/ *; */).shift();\n};\n\n/**\n * Return header field parameters.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nexports.params = function(str){\n return str.split(/ *; */).reduce(function(obj, str){\n var parts = str.split(/ *= */);\n var key = parts.shift();\n var val = parts.shift();\n\n if (key && val) obj[key] = val;\n return obj;\n }, {});\n};\n\n/**\n * Parse Link header fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nexports.parseLinks = function(str){\n return str.split(/ *, */).reduce(function(obj, str){\n var parts = str.split(/ *; */);\n var url = parts[0].slice(1, -1);\n var rel = parts[1].split(/ *= */)[1].slice(1, -1);\n obj[rel] = url;\n return obj;\n }, {});\n};\n\n/**\n * Strip content related fields from `header`.\n *\n * @param {Object} header\n * @return {Object} header\n * @api private\n */\n\nexports.cleanHeader = function(header, shouldStripCookie){\n delete header['content-type'];\n delete header['content-length'];\n delete header['transfer-encoding'];\n delete header['host'];\n if (shouldStripCookie) {\n delete header['cookie'];\n }\n return header;\n};\n\n\n// WEBPACK FOOTER //\n// ./~/superagent/lib/utils.js","import {Comparator, Comparators} from './api/Comparator';\nimport {Filter} from './api/Filter';\nimport {OnmsAuthConfig} from './api/OnmsAuthConfig';\nimport {OnmsError} from './api/OnmsError';\nimport {OnmsHTTPOptions} from './api/OnmsHTTPOptions';\nimport {OnmsResult} from './api/OnmsResult';\nimport {OnmsServer} from './api/OnmsServer';\nimport {OnmsVersion} from './api/OnmsVersion';\nimport {Restriction} from './api/Restriction';\nimport {ServerMetadata} from './api/ServerMetadata';\nimport {ServerType, ServerTypes} from './api/ServerType';\n\nimport {AlarmDAO} from './dao/AlarmDAO';\nimport {EventDAO} from './dao/EventDAO';\nimport {NodeDAO} from './dao/NodeDAO';\nimport {V1FilterProcessor} from './dao/V1FilterProcessor';\n\nimport {OnmsAlarm} from './model/OnmsAlarm';\nimport {OnmsAlarmType, AlarmTypes} from './model/OnmsAlarmType';\nimport {OnmsCategory, Categories} from './model/OnmsCategory';\nimport {OnmsCollectType, CollectTypes} from './model/OnmsCollectType';\nimport {OnmsEvent} from './model/OnmsEvent';\nimport {OnmsIpInterface} from './model/OnmsIpInterface';\nimport {OnmsManagedType, ManagedTypes} from './model/OnmsManagedType';\nimport {OnmsMonitoredService} from './model/OnmsMonitoredService';\nimport {OnmsNode} from './model/OnmsNode';\nimport {OnmsNodeLabelSource, NodeLabelSources} from './model/OnmsNodeLabelSource';\nimport {OnmsNodeType, NodeTypes} from './model/OnmsNodeType';\nimport {OnmsParm} from './model/OnmsParm';\nimport {OnmsPrimaryType, PrimaryTypes} from './model/OnmsPrimaryType';\nimport {OnmsServiceStatusType, ServiceStatusTypes} from './model/OnmsServiceStatusType';\nimport {OnmsServiceType, ServiceTypes} from './model/OnmsServiceType';\nimport {OnmsSeverity, Severities} from './model/OnmsSeverity';\nimport {OnmsSnmpInterface} from './model/OnmsSnmpInterface';\nimport {OnmsSnmpStatusType, SnmpStatusTypes} from './model/OnmsSnmpStatusType';\nimport {OnmsTroubleTicketState, TroubleTicketStates} from './model/OnmsTroubleTicketState';\nimport {PhysAddr} from './model/PhysAddr';\n\nimport {AxiosHTTP} from './rest/AxiosHTTP';\nimport {GrafanaHTTP} from './rest/GrafanaHTTP';\nimport {SuperAgentHTTP} from './rest/SuperAgentHTTP';\n\nimport {Client} from './Client';\n\n/* tslint:disable:object-literal-sort-keys */\n\n/** @hidden */\nconst API = Object.freeze({\n Comparator,\n Comparators,\n Filter,\n OnmsAuthConfig,\n OnmsError,\n OnmsHTTPOptions,\n OnmsResult,\n OnmsServer,\n OnmsVersion,\n Restriction,\n ServerMetadata,\n ServerType,\n ServerTypes,\n});\n\n/** @hidden */\nconst DAO = Object.freeze({\n AlarmDAO,\n EventDAO,\n NodeDAO,\n V1FilterProcessor,\n});\n\n/** @hidden */\nconst Model = Object.freeze({\n OnmsAlarm,\n OnmsAlarmType,\n OnmsCategory,\n Categories,\n OnmsCollectType,\n CollectTypes,\n OnmsEvent,\n OnmsIpInterface,\n OnmsManagedType,\n ManagedTypes,\n OnmsMonitoredService,\n OnmsNode,\n OnmsNodeLabelSource,\n NodeLabelSources,\n OnmsParm,\n OnmsPrimaryType,\n PrimaryTypes,\n OnmsServiceStatusType,\n ServiceStatusTypes,\n OnmsServiceType,\n ServiceTypes,\n OnmsSeverity,\n Severities,\n OnmsSnmpInterface,\n OnmsSnmpStatusType,\n SnmpStatusTypes,\n OnmsTroubleTicketState,\n TroubleTicketStates,\n PhysAddr,\n});\n\n/** @hidden */\nconst Rest = Object.freeze({\n AxiosHTTP,\n GrafanaHTTP,\n SuperAgentHTTP,\n});\n\n/* tslint:enable:object-literal-sort-keys */\n\n/** @hidden */\nexport {API, DAO, Model, Rest, Client};\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/API.ts","// http://stackoverflow.com/a/8809472\n\n/* tslint:disable:no-bitwise */\n\n /**\n * A utility class for generating UUIDs.\n * @module UUID\n */ /** */\nexport class UUID {\n /**\n * Generates a UUID. Attempts to use the high-precision timer if possible.\n */\n public static generate() {\n let d = new Date().getTime();\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n d += performance.now(); // use high-precision timer if available\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/internal/UUID.ts","import {OnmsEnum, forId, forLabel} from '../internal/OnmsEnum';\n\n/**\n * Represents an OpenNMS node type.\n * @module OnmsNodeType\n */ /** */\nexport class OnmsNodeType extends OnmsEnum {\n /** given an ID (A, D, etc.), return the corresponding node type object */\n public static forId(id: string) {\n return forId(NodeTypes, id);\n }\n\n /** given a label (ACTIVE, etc.), return the corresponding node type object */\n public static forLabel(label: string) {\n return forLabel(NodeTypes, label);\n }\n}\n\n/* tslint:disable:object-literal-sort-keys */\n/** @hidden */\nexport const NodeTypes = Object.freeze({\n ACTIVE: new OnmsNodeType('A', 'ACTIVE'),\n DELETED: new OnmsNodeType('D', 'DELETED'),\n UNKNOWN: new OnmsNodeType(' ', 'UNKNOWN'),\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/tslint-loader??ref--0-0!./src/model/OnmsNodeType.ts","\"use strict\";\nvar DataStructures_1 = require(\"../utils/DataStructures\");\nvar CategoryService_1 = require(\"../log/category/CategoryService\");\nvar LoggerOptions_1 = require(\"../log/LoggerOptions\");\n/**\n * Implementation class for CategoryServiceControl.\n */\nvar CategoryServiceControlImpl = (function () {\n function CategoryServiceControlImpl() {\n }\n CategoryServiceControlImpl.prototype.help = function () {\n /* tslint:disable:no-console */\n console.log(CategoryServiceControlImpl._help);\n /* tslint:enable:no-console */\n };\n CategoryServiceControlImpl.prototype.example = function () {\n /* tslint:disable:no-console */\n console.log(CategoryServiceControlImpl._example);\n /* tslint:enable:no-console */\n };\n CategoryServiceControlImpl.prototype.showSettings = function (id) {\n if (id === void 0) { id = \"all\"; }\n var result = new DataStructures_1.StringBuilder();\n var service = CategoryServiceControlImpl._getCategoryService();\n var categories = CategoryServiceControlImpl._getCategories(id);\n categories.forEach(function (category) {\n CategoryServiceControlImpl._processCategory(service, category, result, 0);\n });\n /* tslint:disable:no-console */\n console.log(result.toString());\n /* tslint:enable:no-console */\n };\n CategoryServiceControlImpl.prototype.change = function (settings) {\n var service = CategoryServiceControlImpl._getCategoryService();\n var categories = CategoryServiceControlImpl._getCategories(settings.category);\n var logLevel = null;\n var formatEnum = null;\n var showCategoryName = null;\n var showTimestamp = null;\n var result = null;\n var addResult = function (value) {\n if (result !== null) {\n result += \", \";\n }\n if (result === null) {\n result = value;\n }\n else {\n result += value;\n }\n };\n addResult(\"recursive=\" + settings.recursive);\n if (typeof settings.logLevel === \"string\") {\n logLevel = LoggerOptions_1.LogLevel.fromString(settings.logLevel);\n addResult(\"logLevel=\" + settings.logLevel);\n }\n if (typeof settings.logFormat === \"string\") {\n formatEnum = LoggerOptions_1.DateFormatEnum.fromString(settings.logFormat);\n addResult(\"logFormat=\" + settings.logFormat);\n }\n if (typeof settings.showCategoryName === \"boolean\") {\n showCategoryName = settings.showCategoryName;\n addResult(\"showCategoryName=\" + settings.showCategoryName);\n }\n if (typeof settings.showTimestamp === \"boolean\") {\n showTimestamp = settings.showTimestamp;\n addResult(\"showTimestamp=\" + settings.showTimestamp);\n }\n var applyChanges = function (cat) {\n var categorySettings = service.getCategorySettings(cat);\n // Should not happen but make tslint happy\n if (categorySettings !== null) {\n if (logLevel !== null) {\n categorySettings.logLevel = logLevel;\n }\n if (formatEnum !== null) {\n categorySettings.logFormat.dateFormat.formatEnum = formatEnum;\n }\n if (showTimestamp !== null) {\n categorySettings.logFormat.showTimeStamp = showTimestamp;\n }\n if (showCategoryName !== null) {\n categorySettings.logFormat.showCategoryName = showCategoryName;\n }\n }\n };\n categories.forEach(function (cat) { return CategoryServiceControlImpl._applyToCategory(cat, settings.recursive, applyChanges); });\n /* tslint:disable:no-console */\n console.log(\"Applied changes: \" + result + \" to categories '\" + settings.category + \"'.\");\n /* tslint:enable:no-console */\n };\n CategoryServiceControlImpl.prototype.reset = function (id) {\n if (id === void 0) { id = \"all\"; }\n var service = CategoryServiceControlImpl._getCategoryService();\n var categories = CategoryServiceControlImpl._getCategories(id);\n var applyChanges = function (cat) {\n var categorySettings = service.getCategorySettings(cat);\n var original = service.getOriginalCategorySettings(cat);\n // Should not happen but make tslint happy\n if (categorySettings !== null && original !== null) {\n categorySettings.logLevel = original.logLevel;\n categorySettings.logFormat.dateFormat.formatEnum = original.logFormat.dateFormat.formatEnum;\n categorySettings.logFormat.showTimeStamp = original.logFormat.showTimeStamp;\n categorySettings.logFormat.showCategoryName = original.logFormat.showCategoryName;\n }\n };\n categories.forEach(function (cat) { return CategoryServiceControlImpl._applyToCategory(cat, true, applyChanges); });\n /* tslint:disable:no-console */\n console.log(\"Applied reset to category: \" + id + \".\");\n /* tslint:enable:no-console */\n };\n CategoryServiceControlImpl._processCategory = function (service, category, result, indent) {\n var settings = service.getCategorySettings(category);\n if (settings !== null) {\n result.append(\" \" + category.id + \": \");\n if (indent > 0) {\n for (var i = 0; i < indent; i++) {\n result.append(\" \");\n }\n }\n result.append(category.name + \" (\" + LoggerOptions_1.LogLevel[settings.logLevel].toString() + \"@\" + LoggerOptions_1.LoggerType[settings.loggerType].toString() + \")\\n\");\n if (category.children.length > 0) {\n category.children.forEach(function (child) {\n CategoryServiceControlImpl._processCategory(service, child, result, indent + 1);\n });\n }\n }\n };\n CategoryServiceControlImpl._applyToCategory = function (category, recursive, apply) {\n apply(category);\n if (recursive) {\n category.children.forEach(function (child) {\n CategoryServiceControlImpl._applyToCategory(child, recursive, apply);\n });\n }\n };\n CategoryServiceControlImpl._getCategoryService = function () {\n return CategoryService_1.CategoryServiceFactory.getRuntimeSettings();\n };\n CategoryServiceControlImpl._getCategories = function (idCategory) {\n var service = CategoryServiceControlImpl._getCategoryService();\n var categories = [];\n if (idCategory === \"all\") {\n categories = service.getRootCategories();\n }\n else {\n var category = service.getCategoryById(idCategory);\n if (category === null) {\n throw new Error(\"Failed to find category with id \" + idCategory);\n }\n categories.push(category);\n }\n return categories;\n };\n return CategoryServiceControlImpl;\n}());\nCategoryServiceControlImpl._help = \"\\n help(): void\\n ** Shows this help.\\n \\n example(): void\\n ** Shows an example on how to use this.\\n \\n showSettings(id: number | \\\"all\\\" = \\\"all\\\"): void\\n ** Shows settings for a specific category, or for all. The id of categories can be found by calling this method without parameter.\\n \\n change(settings: CategoryServiceControlSettings): void\\n ** Changes the current settings for one or all categories. \\n ** \\n CategoryServiceControlSettings, properties of object:\\n category: number | \\\"all\\\"\\n ** Apply to specific category, or \\\"all\\\".\\n ** Required \\n \\n recursive: boolean\\n ** Apply to child categories (true) or not.\\n ** Required\\n \\n logLevel: \\\"Fatal\\\" | \\\"Error\\\" | \\\"Warn\\\" | \\\"Info\\\" | \\\"Debug\\\" | \\\"Trace\\\" | undefined\\n ** Set log level, undefined will not change the setting.\\n ** Optional\\n \\n logFormat: \\\"Default\\\" | \\\"YearMonthDayTime\\\" | \\\"YearDayMonthWithFullTime\\\" | \\\"YearDayMonthTime\\\" | undefined\\n ** Set the log format, undefined will not change the setting.\\n ** Optional\\n \\n showTimestamp: boolean | undefined \\n ** Whether to show timestamp, undefined will not change the setting.\\n ** Optional\\n \\n showCategoryName: boolean | undefined\\n ** Whether to show the category name, undefined will not change the setting.\\n ** Optional\\n \\n reset(id: number | \\\"all\\\"): void\\n ** Resets everything to original values, for one specific or for all categories.\\n\";\nCategoryServiceControlImpl._example = \"\\n Examples:\\n change({category: \\\"all\\\", recursive:true, logLevel: \\\"Info\\\"}) \\n ** Change loglevel to Info for all categories, apply to child categories as well.\\n \\n change({category: 1, recursive:false, logLevel: \\\"Warn\\\"})\\n ** Change logLevel for category 1, do not recurse.\\n \\n change({category: \\\"all\\\", recursive:true, logLevel: \\\"Debug\\\", logFormat: \\\"YearDayMonthTime\\\", showTimestamp:false, showCategoryName:false}) \\n ** Change loglevel to Debug for all categories, apply format, do not show timestamp and category names - recursively to child categories. \\n \\n\";\nexports.CategoryServiceControlImpl = CategoryServiceControlImpl;\n//# sourceMappingURL=CategoryServiceControl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/control/CategoryServiceControl.js","\"use strict\";\nvar LoggerOptions_1 = require(\"../log/LoggerOptions\");\nvar LoggerFactoryService_1 = require(\"../log/standard/LoggerFactoryService\");\nvar DataStructures_1 = require(\"../utils/DataStructures\");\nvar LoggerControlImpl = (function () {\n function LoggerControlImpl() {\n }\n LoggerControlImpl.prototype.help = function () {\n /* tslint:disable:no-console */\n console.log(LoggerControlImpl._help);\n /* tslint:enable:no-console */\n };\n LoggerControlImpl.prototype.listFactories = function () {\n var rtSettingsFactories = LoggerControlImpl._getRuntimeSettingsLoggerFactories();\n var result = new DataStructures_1.StringBuilder();\n result.appendLine(\"Registered LoggerFactories (index / name)\");\n for (var i = 0; i < rtSettingsFactories.length; i++) {\n var rtSettingsFactory = rtSettingsFactories[i];\n result.append(\" \" + i).append(\": \" + rtSettingsFactory.getName() + \"\\n\");\n }\n /* tslint:disable:no-console */\n console.log(result.toString());\n /* tslint:enable:no-console */\n };\n LoggerControlImpl.prototype.showSettings = function (id) {\n if (id === void 0) { id = \"all\"; }\n var result = [];\n if (id === \"all\") {\n var idx_1 = 0;\n LoggerControlImpl._getRuntimeSettingsLoggerFactories().forEach(function (item) {\n result.push(new DataStructures_1.TuplePair(idx_1++, item));\n });\n }\n else {\n var settings = LoggerControlImpl._getRuntimeSettingsLoggerFactories();\n if (id >= 0 && id < settings.length) {\n result.push(new DataStructures_1.TuplePair(id, settings[id]));\n }\n else {\n throw new Error(\"Requested number: \" + id + \" was not found.\");\n }\n }\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var setting = result_1[_i];\n /* tslint:disable:no-console */\n console.log(\" LoggerFactory: \" + setting.y.getName() + \" (id=\" + setting.x + \")\");\n var logGroupRuntimeSettings = setting.y.getLogGroupRuntimeSettings();\n for (var g = 0; g < logGroupRuntimeSettings.length; g++) {\n var groupSetting = logGroupRuntimeSettings[g];\n console.log(\" LogGroup: (id=\" + g + \")\");\n console.log(\" RegExp: \" + groupSetting.logGroupRule.regExp.source);\n console.log(\" Level: \" + LoggerOptions_1.LogLevel[groupSetting.level].toString());\n console.log(\" LoggerType: \" + LoggerOptions_1.LoggerType[groupSetting.loggerType].toString());\n }\n }\n };\n LoggerControlImpl.prototype.reset = function (idFactory) {\n if (idFactory === void 0) { idFactory = \"all\"; }\n var loggerFactoriesSettings = LoggerControlImpl._getRuntimeSettingsLoggerFactories();\n var result = [];\n if (idFactory === \"all\") {\n result = loggerFactoriesSettings;\n }\n else {\n if (idFactory >= 0 && idFactory < loggerFactoriesSettings.length) {\n result.push(loggerFactoriesSettings[idFactory]);\n }\n }\n result.forEach(function (setting) {\n /* tslint:disable:no-console */\n console.log(\"Reset all settings for factory \" + idFactory);\n /* tslint:enable:no-console */\n var control = new LoggerFactoryControlImpl(setting);\n control.reset();\n });\n };\n LoggerControlImpl.prototype.getLoggerFactoryControl = function (idFactory) {\n var loggerFactoriesSettings = LoggerControlImpl._getRuntimeSettingsLoggerFactories();\n if (idFactory >= 0 && idFactory < loggerFactoriesSettings.length) {\n return new LoggerFactoryControlImpl(loggerFactoriesSettings[idFactory]);\n }\n throw new Error(\"idFactory is invalid (less than 0) or non existing id.\");\n };\n LoggerControlImpl._getRuntimeSettingsLoggerFactories = function () {\n return LoggerControlImpl._getSettings().getRuntimeSettingsForLoggerFactories();\n };\n LoggerControlImpl._getSettings = function () {\n return LoggerFactoryService_1.LFService.getRuntimeSettings();\n };\n return LoggerControlImpl;\n}());\nLoggerControlImpl._help = \"\\n help(): void\\n ** Shows this help.\\n \\n listFactories(): void\\n ** List all registered LoggerFactories with associated log groups with respective ids (ids can be used to target a factory and/or group).\\n \\n showSettings(idFactory: number | \\\"all\\\"): void\\n ** Show log group settings for idFactory (use listFactories to find id for a LoggerFactory). If idFactory is \\\"all\\\" shows all factories. \\n \\n getLoggerFactoryControl(idFactory: number): LoggerFactoryControl\\n ** Return LoggerFactoryControl when found for given idFactory or throws Error if invalid or null, get the id by using listFactories()\\n \\n reset(idFactory: number | \\\"all\\\"): void\\n ** Resets given factory or all factories back to original values. \\n\";\nexports.LoggerControlImpl = LoggerControlImpl;\nvar LoggerFactoryControlImpl = (function () {\n function LoggerFactoryControlImpl(settings) {\n this._settings = settings;\n }\n LoggerFactoryControlImpl.prototype.help = function () {\n /* tslint:disable:no-console */\n console.log(LoggerFactoryControlImpl._help);\n /* tslint:enable:no-console */\n };\n LoggerFactoryControlImpl.prototype.example = function () {\n /* tslint:disable:no-console */\n console.log(LoggerFactoryControlImpl._example);\n /* tslint:enable:no-console */\n };\n LoggerFactoryControlImpl.prototype.showSettings = function (id) {\n if (id === void 0) { id = \"all\"; }\n var result = new DataStructures_1.StringBuilder();\n var logGroupRuntimeSettings = this._settings.getLogGroupRuntimeSettings();\n result.appendLine(\"Registered LogGroups (index / expression)\");\n for (var i = 0; i < logGroupRuntimeSettings.length; i++) {\n var logGroupRuntimeSetting = logGroupRuntimeSettings[i];\n result.appendLine(\" \" + i + \": \" + logGroupRuntimeSetting.logGroupRule.regExp.source + \", logLevel=\" +\n LoggerOptions_1.LogLevel[logGroupRuntimeSetting.level].toString() + \", showTimestamp=\" + logGroupRuntimeSetting.logFormat.showTimeStamp +\n \", showLoggerName=\" + logGroupRuntimeSetting.logFormat.showLoggerName +\n \", format=\" + LoggerOptions_1.DateFormatEnum[logGroupRuntimeSetting.logFormat.dateFormat.formatEnum].toString());\n }\n /* tslint:disable:no-console */\n console.log(result.toString());\n /* tslint:enable:no-console */\n };\n LoggerFactoryControlImpl.prototype.change = function (settings) {\n var logGroupRuntimeSettings = this._getLogGroupRunTimeSettingsFor(settings.group);\n var logLevel = null;\n var formatEnum = null;\n var showLoggerName = null;\n var showTimestamp = null;\n var result = null;\n var addResult = function (value) {\n if (result !== null) {\n result += \", \";\n }\n if (result === null) {\n result = value;\n }\n else {\n result += value;\n }\n };\n if (typeof settings.logLevel === \"string\") {\n logLevel = LoggerOptions_1.LogLevel.fromString(settings.logLevel);\n addResult(\"logLevel=\" + settings.logLevel);\n }\n if (typeof settings.logFormat === \"string\") {\n formatEnum = LoggerOptions_1.DateFormatEnum.fromString(settings.logFormat);\n addResult(\"logFormat=\" + settings.logFormat);\n }\n if (typeof settings.showLoggerName === \"boolean\") {\n showLoggerName = settings.showLoggerName;\n addResult(\"showLoggerName=\" + settings.showLoggerName);\n }\n if (typeof settings.showTimestamp === \"boolean\") {\n showTimestamp = settings.showTimestamp;\n addResult(\"showTimestamp=\" + settings.showTimestamp);\n }\n logGroupRuntimeSettings.forEach(function (s) {\n if (logLevel !== null) {\n s.level = logLevel;\n }\n if (formatEnum !== null) {\n s.logFormat.dateFormat.formatEnum = formatEnum;\n }\n if (showTimestamp !== null) {\n s.logFormat.showTimeStamp = showTimestamp;\n }\n if (showLoggerName !== null) {\n s.logFormat.showLoggerName = showLoggerName;\n }\n });\n /* tslint:disable:no-console */\n console.log(\"Applied changes: \" + result + \" to log groups '\" + settings.group + \"'.\");\n /* tslint:enable:no-console */\n };\n LoggerFactoryControlImpl.prototype.reset = function (idGroup) {\n if (idGroup === void 0) { idGroup = \"all\"; }\n var settings = this._getLogGroupRunTimeSettingsFor(idGroup);\n for (var _i = 0, settings_1 = settings; _i < settings_1.length; _i++) {\n var setting = settings_1[_i];\n setting.level = setting.logGroupRule.level;\n setting.logFormat.showTimeStamp = setting.logGroupRule.logFormat.showTimeStamp;\n setting.logFormat.showLoggerName = setting.logGroupRule.logFormat.showLoggerName;\n setting.logFormat.dateFormat.formatEnum = setting.logGroupRule.logFormat.dateFormat.formatEnum;\n }\n /* tslint:disable:no-console */\n console.log(\"Reset all settings for group \" + idGroup);\n /* tslint:enable:no-console */\n };\n LoggerFactoryControlImpl.prototype._getLogGroupRunTimeSettingsFor = function (idGroup) {\n var settings = [];\n if (idGroup === \"all\") {\n settings = this._settings.getLogGroupRuntimeSettings();\n }\n else {\n this._checkIndex(idGroup);\n settings.push(this._settings.getLogGroupRuntimeSettings()[idGroup]);\n }\n return settings;\n };\n LoggerFactoryControlImpl.prototype._checkIndex = function (index) {\n if (index < 0 || index >= this._settings.getLogGroupRuntimeSettings().length) {\n throw new Error(\"Invalid index, use listLogGroups to find out a valid one.\");\n }\n };\n return LoggerFactoryControlImpl;\n}());\nLoggerFactoryControlImpl._help = \"\\n help(): void\\n ** Shows this help.\\n \\n example(): void\\n ** Shows an example of usage.\\n\\n showSettings(id: number | \\\"all\\\"): void\\n ** Prints settings for given group id, \\\"all\\\" for all group.\\n\\n change(settings: LogGroupControlSettings): void\\n ** Changes the current settings for one or all log groups. \\n ** \\n LogGroupControlSettings, properties of object:\\n group: number | \\\"all\\\"\\n ** Apply to specific group, or \\\"all\\\".\\n ** Required \\n \\n logLevel: \\\"Fatal\\\" | \\\"Error\\\" | \\\"Warn\\\" | \\\"Info\\\" | \\\"Debug\\\" | \\\"Trace\\\" | undefined\\n ** Set log level, undefined will not change the setting.\\n ** Optional\\n \\n logFormat: \\\"Default\\\" | \\\"YearMonthDayTime\\\" | \\\"YearDayMonthWithFullTime\\\" | \\\"YearDayMonthTime\\\" | undefined\\n ** Set the log format, undefined will not change the setting.\\n ** Optional\\n \\n showTimestamp: boolean | undefined \\n ** Whether to show timestamp, undefined will not change the setting.\\n ** Optional\\n \\n showLoggerName: boolean | undefined\\n ** Whether to show the logger name, undefined will not change the setting.\\n ** Optional \\n \\n reset(id: number | \\\"all\\\"): void\\n ** Resets everything to original values, for one specific or for all groups.\\n \\n help():\\n ** Shows this help.\\n\";\nLoggerFactoryControlImpl._example = \"\\n Examples:\\n change({group: \\\"all\\\", logLevel: \\\"Info\\\"}) \\n ** Change loglevel to Info for all groups.\\n \\n change({group: 1, recursive:false, logLevel: \\\"Warn\\\"})\\n ** Change logLevel for group 1 to Warn.\\n \\n change({group: \\\"all\\\", logLevel: \\\"Debug\\\", logFormat: \\\"YearDayMonthTime\\\", showTimestamp:false, showLoggerName:false}) \\n ** Change loglevel to Debug for all groups, apply format, do not show timestamp and logger names. \\n\";\n//# sourceMappingURL=LogGroupControl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/control/LogGroupControl.js","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ExtensionHelper_1 = require(\"../../extension/ExtensionHelper\");\nvar AbstractCategoryLogger_1 = require(\"./AbstractCategoryLogger\");\n/**\n * This class should not be used directly, it is used for communication with the extension only.\n */\nvar CategoryExtensionLoggerImpl = (function (_super) {\n __extends(CategoryExtensionLoggerImpl, _super);\n function CategoryExtensionLoggerImpl(rootCategory, runtimeSettings) {\n return _super.call(this, rootCategory, runtimeSettings) || this;\n }\n CategoryExtensionLoggerImpl.prototype.doLog = function (msg) {\n if (typeof window !== \"undefined\") {\n ExtensionHelper_1.ExtensionHelper.sendCategoryLogMessage(msg);\n }\n else {\n /* tslint:disable:no-console */\n console.log(\"window is not available, you must be running in a browser for this. Dropped message.\");\n }\n };\n return CategoryExtensionLoggerImpl;\n}(AbstractCategoryLogger_1.AbstractCategoryLogger));\nexports.CategoryExtensionLoggerImpl = CategoryExtensionLoggerImpl;\n//# sourceMappingURL=CategoryExtensionLoggerImpl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/category/CategoryExtensionLoggerImpl.js","\"use strict\";\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\nvar CategoryService_1 = require(\"./CategoryService\");\n/**\n * Category for use with categorized logging.\n * At minimum you need one category, which will serve as the root category.\n * You can create child categories (like a tree). You can have multiple root\n * categories.\n */\nvar Category = (function () {\n function Category(name, parent) {\n if (parent === void 0) { parent = null; }\n this._children = [];\n this._logLevel = LoggerOptions_1.LogLevel.Error;\n if (name.indexOf(\"#\") !== -1) {\n throw new Error(\"Cannot use # in a name of a Category\");\n }\n this._id = Category.nextId();\n this._name = name;\n this._parent = parent;\n if (this._parent != null) {\n this._parent._children.push(this);\n }\n CategoryService_1.CategoryServiceImpl.getInstance().registerCategory(this);\n }\n Object.defineProperty(Category.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Category.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Category.prototype, \"children\", {\n get: function () {\n return this._children;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Category.prototype, \"logLevel\", {\n get: function () {\n return this._logLevel;\n },\n enumerable: true,\n configurable: true\n });\n Category.prototype.getCategoryPath = function () {\n var result = this.name;\n var cat = this.parent;\n while (cat != null) {\n result = cat.name + \"#\" + result;\n cat = cat.parent;\n }\n return result;\n };\n Object.defineProperty(Category.prototype, \"id\", {\n /**\n * Returns the id for this category (this\n * is for internal purposes only).\n * @returns {number} Id\n */\n get: function () {\n return this._id;\n },\n enumerable: true,\n configurable: true\n });\n Category.nextId = function () {\n return Category.currentId++;\n };\n return Category;\n}());\nCategory.currentId = 1;\nexports.Category = Category;\n//# sourceMappingURL=CategoryLogger.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/category/CategoryLogger.js","\"use strict\";\nvar DataStructures_1 = require(\"../../utils/DataStructures\");\nvar LoggerOptions_1 = require(\"../LoggerOptions\");\nvar LoggerFactoryService_1 = require(\"./LoggerFactoryService\");\nvar ConsoleLoggerImpl_1 = require(\"./ConsoleLoggerImpl\");\nvar MessageBufferLoggerImpl_1 = require(\"./MessageBufferLoggerImpl\");\nvar AbstractLogger_1 = require(\"./AbstractLogger\");\nvar LoggerFactoryImpl = (function () {\n function LoggerFactoryImpl(name, options) {\n this._loggers = new DataStructures_1.SimpleMap();\n this._logGroupRuntimeSettingsIndexed = [];\n this._loggerToLogGroupSettings = new DataStructures_1.SimpleMap();\n this._name = name;\n this.configure(options);\n }\n LoggerFactoryImpl.prototype.configure = function (options) {\n this._options = options;\n // Close any current open loggers.\n this.closeLoggers();\n this._loggerToLogGroupSettings.clear();\n this._logGroupRuntimeSettingsIndexed = [];\n var logGroupRules = this._options.logGroupRules;\n /* tslint:disable:prefer-for-of */\n for (var i = 0; i < logGroupRules.length; i++) {\n this._logGroupRuntimeSettingsIndexed.push(new LoggerFactoryService_1.LogGroupRuntimeSettings(logGroupRules[i]));\n }\n /* tslint:enable:prefer-for-of */\n };\n LoggerFactoryImpl.prototype.getLogger = function (named) {\n if (!this._options.enabled) {\n throw new Error(\"LoggerFactory is not enabled, please check your options passed in\");\n }\n var logger = this._loggers.get(named);\n if (logger !== null) {\n return logger;\n }\n // Initialize logger with appropriate level\n logger = this.loadLogger(named);\n this._loggers.put(named, logger);\n return logger;\n };\n LoggerFactoryImpl.prototype.isEnabled = function () {\n return this._options.enabled;\n };\n LoggerFactoryImpl.prototype.closeLoggers = function () {\n this._loggers.forEach(function (logger) {\n // We can only close if AbstractLogger is used (our loggers, but user loggers may not extend it, even though unlikely).\n if (logger != null && logger instanceof AbstractLogger_1.AbstractLogger) {\n logger.close();\n }\n });\n this._loggers.clear();\n };\n LoggerFactoryImpl.prototype.getName = function () {\n return this._name;\n };\n LoggerFactoryImpl.prototype.getLogGroupRuntimeSettingsByIndex = function (idx) {\n if (idx >= 0 && idx < this._logGroupRuntimeSettingsIndexed.length) {\n return this._logGroupRuntimeSettingsIndexed[idx];\n }\n return null;\n };\n LoggerFactoryImpl.prototype.getLogGroupRuntimeSettingsByLoggerName = function (nameLogger) {\n return this._loggerToLogGroupSettings.get(nameLogger);\n };\n LoggerFactoryImpl.prototype.getLogGroupRuntimeSettings = function () {\n return this._logGroupRuntimeSettingsIndexed.slice(0);\n };\n LoggerFactoryImpl.prototype.loadLogger = function (named) {\n var logGroupRules = this._options.logGroupRules;\n for (var i = 0; i < logGroupRules.length; i++) {\n var logGroupRule = logGroupRules[i];\n if (logGroupRule.regExp.test(named)) {\n var logGroupRuntimeSettings = this._logGroupRuntimeSettingsIndexed[i];\n var logger = void 0;\n switch (logGroupRule.loggerType) {\n case LoggerOptions_1.LoggerType.Console:\n logger = new ConsoleLoggerImpl_1.ConsoleLoggerImpl(named, logGroupRuntimeSettings);\n break;\n case LoggerOptions_1.LoggerType.MessageBuffer:\n logger = new MessageBufferLoggerImpl_1.MessageBufferLoggerImpl(named, logGroupRuntimeSettings);\n break;\n case LoggerOptions_1.LoggerType.Custom:\n if (logGroupRule.callBackLogger != null) {\n logger = logGroupRule.callBackLogger(named, logGroupRuntimeSettings);\n }\n else {\n throw new Error(\"Cannot create a custom logger, custom callback is null\");\n }\n break;\n default:\n throw new Error(\"Cannot create a Logger for LoggerType: \" + logGroupRule.loggerType);\n }\n // For a new logger map it by its name\n this._loggerToLogGroupSettings.put(named, logGroupRuntimeSettings);\n return logger;\n }\n }\n throw new Error(\"Failed to find a match to create a Logger for: \" + named);\n };\n return LoggerFactoryImpl;\n}());\nexports.LoggerFactoryImpl = LoggerFactoryImpl;\n//# sourceMappingURL=LoggerFactoryImpl.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/log/standard/LoggerFactoryImpl.js","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar LoggerOptions_1 = require(\"../log/LoggerOptions\");\nvar DataStructures_1 = require(\"./DataStructures\");\nvar JSONTypeImpl = (function () {\n function JSONTypeImpl(value) {\n this._value = value;\n }\n JSONTypeImpl.prototype.getValue = function () {\n return this._value;\n };\n JSONTypeImpl.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return value.toString();\n }\n return \"null\";\n };\n return JSONTypeImpl;\n}());\nvar JSONBooleanType = (function (_super) {\n __extends(JSONBooleanType, _super);\n function JSONBooleanType(value) {\n return _super.call(this, value) || this;\n }\n return JSONBooleanType;\n}(JSONTypeImpl));\nvar JSONNumberType = (function (_super) {\n __extends(JSONNumberType, _super);\n function JSONNumberType(value) {\n return _super.call(this, value) || this;\n }\n return JSONNumberType;\n}(JSONTypeImpl));\nvar JSONStringType = (function (_super) {\n __extends(JSONStringType, _super);\n function JSONStringType(value) {\n return _super.call(this, value) || this;\n }\n JSONStringType.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return JSON.stringify(value.toString());\n }\n return \"null\";\n };\n return JSONStringType;\n}(JSONTypeImpl));\nvar JSONObjectType = (function (_super) {\n __extends(JSONObjectType, _super);\n function JSONObjectType(value) {\n return _super.call(this, value) || this;\n }\n return JSONObjectType;\n}(JSONTypeImpl));\nvar JSONArrayType = (function (_super) {\n __extends(JSONArrayType, _super);\n function JSONArrayType(value) {\n return _super.call(this, value) || this;\n }\n JSONArrayType.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return value.toString();\n }\n return \"null\";\n };\n return JSONArrayType;\n}(JSONTypeImpl));\nvar JSONNullType = (function (_super) {\n __extends(JSONNullType, _super);\n function JSONNullType() {\n return _super.call(this, null) || this;\n }\n JSONNullType.prototype.toString = function () {\n return \"null\";\n };\n return JSONNullType;\n}(JSONTypeImpl));\nvar JSONTypeConverter = (function () {\n function JSONTypeConverter() {\n }\n JSONTypeConverter.toJSONType = function (value) {\n if (value === null) {\n return new JSONNullType();\n }\n if (typeof value === \"string\") {\n return new JSONStringType(value);\n }\n if (typeof value === \"number\") {\n return new JSONNumberType(value);\n }\n if (typeof value === \"boolean\") {\n return new JSONBooleanType(value);\n }\n if (value instanceof JSONObject) {\n return new JSONObjectType(value);\n }\n throw new Error(\"Type not supported for value: \" + value);\n };\n return JSONTypeConverter;\n}());\nvar JSONObject = (function () {\n function JSONObject() {\n this.values = new DataStructures_1.SimpleMap();\n }\n JSONObject.prototype.addBoolean = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONBooleanType(value));\n return this;\n };\n JSONObject.prototype.addNumber = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONNumberType(value));\n return this;\n };\n JSONObject.prototype.addString = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONStringType(value));\n return this;\n };\n JSONObject.prototype.addNull = function (name) {\n this.checkName(name);\n this.values.put(name, new JSONNullType());\n return this;\n };\n JSONObject.prototype.addArray = function (name, array) {\n this.checkName(name);\n JSONObject.checkValue(array);\n if (array == null) {\n throw new Error(\"Cannot add array as null\");\n }\n this.values.put(name, new JSONArrayType(array));\n return this;\n };\n JSONObject.prototype.addObject = function (name, object) {\n this.checkName(name);\n JSONObject.checkValue(object);\n if (object == null) {\n throw new Error(\"Cannot add object as null\");\n }\n this.values.put(name, new JSONObjectType(object));\n return this;\n };\n JSONObject.prototype.toString = function (pretty) {\n var _this = this;\n if (pretty === void 0) { pretty = false; }\n var comma = false;\n var buffer = new DataStructures_1.StringBuilder();\n buffer.append(\"{\");\n this.values.keys().forEach(function (key) {\n var value = _this.values.get(key);\n if (value != null) {\n if (comma) {\n buffer.append(\",\");\n }\n buffer.append('\"').append(key).append('\":').append(value.toString());\n comma = true;\n }\n });\n buffer.append(\"}\");\n return buffer.toString();\n };\n JSONObject.prototype.checkName = function (name) {\n if (name == null || name === undefined) {\n throw new Error(\"Name is null or undefined\");\n }\n if (this.values.exists(name)) {\n throw new Error(\"Name \" + name + \" is already present for this object\");\n }\n };\n JSONObject.checkValue = function (value) {\n if (value === undefined) {\n throw new Error(\"Value is undefined\");\n }\n };\n return JSONObject;\n}());\nexports.JSONObject = JSONObject;\nvar JSONArray = (function () {\n function JSONArray() {\n this.objects = [];\n }\n JSONArray.prototype.add = function (object) {\n if (object === undefined) {\n throw new Error(\"Object is not allowed to be undefined\");\n }\n this.objects.push(JSONTypeConverter.toJSONType(object));\n return this;\n };\n JSONArray.prototype.toString = function (pretty) {\n if (pretty === void 0) { pretty = false; }\n var buffer = new DataStructures_1.StringBuilder();\n buffer.append(\"[\");\n this.objects.forEach(function (value, index) {\n if (index > 0) {\n buffer.append(\",\");\n }\n buffer.append(value.toString());\n });\n buffer.append(\"]\");\n return buffer.toString();\n };\n return JSONArray;\n}());\nexports.JSONArray = JSONArray;\n/**\n * Utility class that helps us convert things to and from json (not for normal usage).\n */\nvar JSONHelper = (function () {\n function JSONHelper() {\n }\n JSONHelper.categoryToJSON = function (cat, recursive) {\n /*\n {\n \"categories\":\n [\n { id=1,\n name: \"x\",\n parent: null,\n logLevel: \"Error\"\n },\n { id=2,\n name: \"y\",\n parent: 1,\n logLevel: \"Error\"\n }\n ]\n }\n */\n var arr = new JSONArray();\n JSONHelper._categoryToJSON(cat, arr, recursive);\n var object = new JSONObject();\n object.addArray(\"categories\", arr);\n return object;\n };\n JSONHelper._categoryToJSON = function (cat, arr, recursive) {\n var object = new JSONObject();\n object.addNumber(\"id\", cat.id);\n object.addString(\"name\", cat.name);\n object.addString(\"logLevel\", LoggerOptions_1.LogLevel[cat.logLevel].toString());\n if (cat.parent != null) {\n object.addNumber(\"parent\", cat.parent.id);\n }\n else {\n object.addNull(\"parent\");\n }\n arr.add(object);\n if (recursive) {\n cat.children.forEach(function (child) {\n JSONHelper._categoryToJSON(child, arr, recursive);\n });\n }\n };\n return JSONHelper;\n}());\nexports.JSONHelper = JSONHelper;\n//# sourceMappingURL=JSONHelper.js.map\n\n\n// WEBPACK FOOTER //\n// ./~/typescript-logging/dist/commonjs/utils/JSONHelper.js","(function(exports){\n /**\n * Compares two software version numbers (e.g. \"1.7.1\" or \"1.2b\").\n *\n * This function was born in http://stackoverflow.com/a/6832721.\n *\n * @param {string} v1 The first version to be compared.\n * @param {string} v2 The second version to be compared.\n * @param {object} [options] Optional flags that affect comparison behavior:\n *
    \n *
  • \n * lexicographical: true compares each part of the version strings lexicographically instead of\n * naturally; this allows suffixes such as \"b\" or \"dev\" but will cause \"1.10\" to be considered smaller than\n * \"1.2\".\n *
  • \n *
  • \n * zeroExtend: true changes the result if one version string has less parts than the other. In\n * this case the shorter string will be padded with \"zero\" parts instead of being considered smaller.\n *
  • \n *
\n * @returns {number|NaN}\n *
    \n *
  • 0 if the versions are equal
  • \n *
  • a negative integer iff v1 < v2
  • \n *
  • a positive integer iff v1 > v2
  • \n *
  • NaN if either version string is in the wrong format
  • \n *
\n *\n * @copyright by Jon Papaioannou ([\"john\", \"papaioannou\"].join(\".\") + \"@gmail.com\")\n * @license This function is in the public domain. Do what you want with it, no strings attached.\n */\n function compare(v1, v2, options) {\n //remove anything after - 1.1.2-3-a4agbr-dirty\n function cropDash(s){\n var idx = s.indexOf('-');\n if(idx !== -1) {\n s = s.substring(0, idx);\n }\n return s;\n }\n\n v1 = cropDash(v1);\n v2 = cropDash(v2);\n var lexicographical = options && options.lexicographical,\n zeroExtend = options && options.zeroExtend,\n v1parts = v1.split('.'),\n v2parts = v2.split('.');\n\n\n \n\n\n function isValidPart(x) {\n return (lexicographical ? /^\\d+[A-Za-z]*$/ : /^\\d+$/).test(x);\n }\n\n if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {\n return NaN;\n }\n\n if (zeroExtend) {\n while (v1parts.length < v2parts.length) v1parts.push(\"0\");\n while (v2parts.length < v1parts.length) v2parts.push(\"0\");\n }\n\n if (!lexicographical) {\n v1parts = v1parts.map(Number);\n v2parts = v2parts.map(Number);\n }\n\n for (var i = 0; i < v1parts.length; ++i) {\n if (v2parts.length == i) {\n return 1;\n }\n\n if (v1parts[i] == v2parts[i]) {\n continue;\n }\n else if (v1parts[i] > v2parts[i]) {\n return 1;\n }\n else {\n return -1;\n }\n }\n\n if (v1parts.length != v2parts.length) {\n return -1;\n }\n\n return 0;\n }\n\n function matches(v1, v2, options){\n return compare(v1, v2, options) === 0;\n }\n\n function gt(v1, v2, options){\n return compare(v1, v2, options) > 0;\n }\n function gte(v1, v2, options){\n return compare(v1, v2, options) >= 0;\n }\n function lt(v1, v2, options){\n return compare(v1, v2, options) < 0;\n }\n function lte(v1, v2, options){\n return compare(v1, v2, options) <= 0;\n }\n\n exports.compare = compare;\n exports.matches = matches;\n exports.gt = gt;\n exports.gte = gte;\n exports.lt = lt;\n exports.lte = lte;\n\n String.prototype.endsWith = function(suffix) {\n return this.indexOf(suffix, this.length - suffix.length) !== -1;\n };\n})(typeof exports === 'undefined'? this.VersionCompare = {}: exports);\n\n\n\n// WEBPACK FOOTER //\n// ./~/version_compare/version_compare.js","/*\r\n\tCopyright 2015 Axinom\r\n\tCopyright 2011-2013 Abdulla Abdurakhmanov\r\n\tOriginal sources are available at https://code.google.com/p/x2js/\r\n\r\n\tLicensed under the Apache License, Version 2.0 (the \"License\");\r\n\tyou may not use this file except in compliance with the License.\r\n\tYou may obtain a copy of the License at\r\n\r\n\thttp://www.apache.org/licenses/LICENSE-2.0\r\n\r\n\tUnless required by applicable law or agreed to in writing, software\r\n\tdistributed under the License is distributed on an \"AS IS\" BASIS,\r\n\tWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n\tSee the License for the specific language governing permissions and\r\n\tlimitations under the License.\r\n*/\r\n\r\n/*\r\n\tSupported export methods:\r\n\t* AMD\r\n\t*