mermaid
Version:
Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.
874 lines (873 loc) • 1.67 MB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
(function(global2, factory) {
typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, global2.mermaid = factory());
})(this, function() {
"use strict";
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
function commonjsRequire(path2) {
throw new Error('Could not dynamically require "' + path2 + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var moment_min = { exports: {} };
(function(module2, exports2) {
!function(e, t) {
module2.exports = t();
}(commonjsGlobal, function() {
var H;
function f() {
return H.apply(null, arguments);
}
function a(e3) {
return e3 instanceof Array || "[object Array]" === Object.prototype.toString.call(e3);
}
function F(e3) {
return null != e3 && "[object Object]" === Object.prototype.toString.call(e3);
}
function c2(e3, t4) {
return Object.prototype.hasOwnProperty.call(e3, t4);
}
function L(e3) {
if (Object.getOwnPropertyNames)
return 0 === Object.getOwnPropertyNames(e3).length;
for (var t4 in e3)
if (c2(e3, t4))
return;
return 1;
}
function o(e3) {
return void 0 === e3;
}
function u(e3) {
return "number" == typeof e3 || "[object Number]" === Object.prototype.toString.call(e3);
}
function V(e3) {
return e3 instanceof Date || "[object Date]" === Object.prototype.toString.call(e3);
}
function G(e3, t4) {
for (var n2 = [], s2 = e3.length, i3 = 0; i3 < s2; ++i3)
n2.push(t4(e3[i3], i3));
return n2;
}
function E(e3, t4) {
for (var n2 in t4)
c2(t4, n2) && (e3[n2] = t4[n2]);
return c2(t4, "toString") && (e3.toString = t4.toString), c2(t4, "valueOf") && (e3.valueOf = t4.valueOf), e3;
}
function l(e3, t4, n2, s2) {
return Pt(e3, t4, n2, s2, true).utc();
}
function m(e3) {
return null == e3._pf && (e3._pf = { empty: false, unusedTokens: [], unusedInput: [], overflow: -2, charsLeftOver: 0, nullInput: false, invalidEra: null, invalidMonth: null, invalidFormat: false, userInvalidated: false, iso: false, parsedDateParts: [], era: null, meridiem: null, rfc2822: false, weekdayMismatch: false }), e3._pf;
}
function A(e3) {
if (null == e3._isValid) {
var t4 = m(e3), n2 = j.call(t4.parsedDateParts, function(e4) {
return null != e4;
}), n2 = !isNaN(e3._d.getTime()) && t4.overflow < 0 && !t4.empty && !t4.invalidEra && !t4.invalidMonth && !t4.invalidWeekday && !t4.weekdayMismatch && !t4.nullInput && !t4.invalidFormat && !t4.userInvalidated && (!t4.meridiem || t4.meridiem && n2);
if (e3._strict && (n2 = n2 && 0 === t4.charsLeftOver && 0 === t4.unusedTokens.length && void 0 === t4.bigHour), null != Object.isFrozen && Object.isFrozen(e3))
return n2;
e3._isValid = n2;
}
return e3._isValid;
}
function I(e3) {
var t4 = l(NaN);
return null != e3 ? E(m(t4), e3) : m(t4).userInvalidated = true, t4;
}
var j = Array.prototype.some || function(e3) {
for (var t4 = Object(this), n2 = t4.length >>> 0, s2 = 0; s2 < n2; s2++)
if (s2 in t4 && e3.call(this, t4[s2], s2, t4))
return true;
return false;
}, Z = f.momentProperties = [], z = false;
function $(e3, t4) {
var n2, s2, i3, r2 = Z.length;
if (o(t4._isAMomentObject) || (e3._isAMomentObject = t4._isAMomentObject), o(t4._i) || (e3._i = t4._i), o(t4._f) || (e3._f = t4._f), o(t4._l) || (e3._l = t4._l), o(t4._strict) || (e3._strict = t4._strict), o(t4._tzm) || (e3._tzm = t4._tzm), o(t4._isUTC) || (e3._isUTC = t4._isUTC), o(t4._offset) || (e3._offset = t4._offset), o(t4._pf) || (e3._pf = m(t4)), o(t4._locale) || (e3._locale = t4._locale), 0 < r2)
for (n2 = 0; n2 < r2; n2++)
o(i3 = t4[s2 = Z[n2]]) || (e3[s2] = i3);
return e3;
}
function q(e3) {
$(this, e3), this._d = new Date(null != e3._d ? e3._d.getTime() : NaN), this.isValid() || (this._d = new Date(NaN)), false === z && (z = true, f.updateOffset(this), z = false);
}
function h(e3) {
return e3 instanceof q || null != e3 && null != e3._isAMomentObject;
}
function B(e3) {
false === f.suppressDeprecationWarnings && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + e3);
}
function e(r2, a2) {
var o2 = true;
return E(function() {
if (null != f.deprecationHandler && f.deprecationHandler(null, r2), o2) {
for (var e3, t4, n2 = [], s2 = arguments.length, i3 = 0; i3 < s2; i3++) {
if (e3 = "", "object" == typeof arguments[i3]) {
for (t4 in e3 += "\n[" + i3 + "] ", arguments[0])
c2(arguments[0], t4) && (e3 += t4 + ": " + arguments[0][t4] + ", ");
e3 = e3.slice(0, -2);
} else
e3 = arguments[i3];
n2.push(e3);
}
B(r2 + "\nArguments: " + Array.prototype.slice.call(n2).join("") + "\n" + new Error().stack), o2 = false;
}
return a2.apply(this, arguments);
}, a2);
}
var J = {};
function Q(e3, t4) {
null != f.deprecationHandler && f.deprecationHandler(e3, t4), J[e3] || (B(t4), J[e3] = true);
}
function d(e3) {
return "undefined" != typeof Function && e3 instanceof Function || "[object Function]" === Object.prototype.toString.call(e3);
}
function X(e3, t4) {
var n2, s2 = E({}, e3);
for (n2 in t4)
c2(t4, n2) && (F(e3[n2]) && F(t4[n2]) ? (s2[n2] = {}, E(s2[n2], e3[n2]), E(s2[n2], t4[n2])) : null != t4[n2] ? s2[n2] = t4[n2] : delete s2[n2]);
for (n2 in e3)
c2(e3, n2) && !c2(t4, n2) && F(e3[n2]) && (s2[n2] = E({}, s2[n2]));
return s2;
}
function K2(e3) {
null != e3 && this.set(e3);
}
f.suppressDeprecationWarnings = false, f.deprecationHandler = null;
var ee = Object.keys || function(e3) {
var t4, n2 = [];
for (t4 in e3)
c2(e3, t4) && n2.push(t4);
return n2;
};
function r(e3, t4, n2) {
var s2 = "" + Math.abs(e3);
return (0 <= e3 ? n2 ? "+" : "" : "-") + Math.pow(10, Math.max(0, t4 - s2.length)).toString().substr(1) + s2;
}
var te = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, ne = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, se = {}, ie = {};
function s(e3, t4, n2, s2) {
var i3 = "string" == typeof s2 ? function() {
return this[s2]();
} : s2;
e3 && (ie[e3] = i3), t4 && (ie[t4[0]] = function() {
return r(i3.apply(this, arguments), t4[1], t4[2]);
}), n2 && (ie[n2] = function() {
return this.localeData().ordinal(i3.apply(this, arguments), e3);
});
}
function re2(e3, t4) {
return e3.isValid() ? (t4 = ae(t4, e3.localeData()), se[t4] = se[t4] || function(s2) {
for (var e4, i3 = s2.match(te), t5 = 0, r2 = i3.length; t5 < r2; t5++)
ie[i3[t5]] ? i3[t5] = ie[i3[t5]] : i3[t5] = (e4 = i3[t5]).match(/\[[\s\S]/) ? e4.replace(/^\[|\]$/g, "") : e4.replace(/\\/g, "");
return function(e6) {
for (var t6 = "", n2 = 0; n2 < r2; n2++)
t6 += d(i3[n2]) ? i3[n2].call(e6, s2) : i3[n2];
return t6;
};
}(t4), se[t4](e3)) : e3.localeData().invalidDate();
}
function ae(e3, t4) {
var n2 = 5;
function s2(e4) {
return t4.longDateFormat(e4) || e4;
}
for (ne.lastIndex = 0; 0 <= n2 && ne.test(e3); )
e3 = e3.replace(ne, s2), ne.lastIndex = 0, --n2;
return e3;
}
var oe = {};
function t(e3, t4) {
var n2 = e3.toLowerCase();
oe[n2] = oe[n2 + "s"] = oe[t4] = e3;
}
function _2(e3) {
return "string" == typeof e3 ? oe[e3] || oe[e3.toLowerCase()] : void 0;
}
function ue(e3) {
var t4, n2, s2 = {};
for (n2 in e3)
c2(e3, n2) && (t4 = _2(n2)) && (s2[t4] = e3[n2]);
return s2;
}
var le = {};
function n(e3, t4) {
le[e3] = t4;
}
function he(e3) {
return e3 % 4 == 0 && e3 % 100 != 0 || e3 % 400 == 0;
}
function y2(e3) {
return e3 < 0 ? Math.ceil(e3) || 0 : Math.floor(e3);
}
function g(e3) {
var e3 = +e3, t4 = 0;
return t4 = 0 != e3 && isFinite(e3) ? y2(e3) : t4;
}
function de(t4, n2) {
return function(e3) {
return null != e3 ? (fe(this, t4, e3), f.updateOffset(this, n2), this) : ce(this, t4);
};
}
function ce(e3, t4) {
return e3.isValid() ? e3._d["get" + (e3._isUTC ? "UTC" : "") + t4]() : NaN;
}
function fe(e3, t4, n2) {
e3.isValid() && !isNaN(n2) && ("FullYear" === t4 && he(e3.year()) && 1 === e3.month() && 29 === e3.date() ? (n2 = g(n2), e3._d["set" + (e3._isUTC ? "UTC" : "") + t4](n2, e3.month(), We(n2, e3.month()))) : e3._d["set" + (e3._isUTC ? "UTC" : "") + t4](n2));
}
var i2 = /\d/, w2 = /\d\d/, me = /\d{3}/, _e = /\d{4}/, ye = /[+-]?\d{6}/, p = /\d\d?/, ge = /\d\d\d\d?/, we = /\d\d\d\d\d\d?/, pe = /\d{1,3}/, ke = /\d{1,4}/, ve = /[+-]?\d{1,6}/, Me = /\d+/, De = /[+-]?\d+/, Se = /Z|[+-]\d\d:?\d\d/gi, Ye = /Z|[+-]\d\d(?::?\d\d)?/gi, k = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
function v(e3, n2, s2) {
be[e3] = d(n2) ? n2 : function(e4, t4) {
return e4 && s2 ? s2 : n2;
};
}
function Oe(e3, t4) {
return c2(be, e3) ? be[e3](t4._strict, t4._locale) : new RegExp(M(e3.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(e4, t5, n2, s2, i3) {
return t5 || n2 || s2 || i3;
})));
}
function M(e3) {
return e3.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
}
var be = {}, xe = {};
function D(e3, n2) {
var t4, s2, i3 = n2;
for ("string" == typeof e3 && (e3 = [e3]), u(n2) && (i3 = function(e4, t5) {
t5[n2] = g(e4);
}), s2 = e3.length, t4 = 0; t4 < s2; t4++)
xe[e3[t4]] = i3;
}
function Te(e3, i3) {
D(e3, function(e4, t4, n2, s2) {
n2._w = n2._w || {}, i3(e4, n2._w, n2, s2);
});
}
var S, Y = 0, O = 1, b = 2, x2 = 3, T = 4, N = 5, Ne = 6, Pe = 7, Re = 8;
function We(e3, t4) {
if (isNaN(e3) || isNaN(t4))
return NaN;
var n2 = (t4 % (n2 = 12) + n2) % n2;
return e3 += (t4 - n2) / 12, 1 == n2 ? he(e3) ? 29 : 28 : 31 - n2 % 7 % 2;
}
S = Array.prototype.indexOf || function(e3) {
for (var t4 = 0; t4 < this.length; ++t4)
if (this[t4] === e3)
return t4;
return -1;
}, s("M", ["MM", 2], "Mo", function() {
return this.month() + 1;
}), s("MMM", 0, 0, function(e3) {
return this.localeData().monthsShort(this, e3);
}), s("MMMM", 0, 0, function(e3) {
return this.localeData().months(this, e3);
}), t("month", "M"), n("month", 8), v("M", p), v("MM", p, w2), v("MMM", function(e3, t4) {
return t4.monthsShortRegex(e3);
}), v("MMMM", function(e3, t4) {
return t4.monthsRegex(e3);
}), D(["M", "MM"], function(e3, t4) {
t4[O] = g(e3) - 1;
}), D(["MMM", "MMMM"], function(e3, t4, n2, s2) {
s2 = n2._locale.monthsParse(e3, s2, n2._strict);
null != s2 ? t4[O] = s2 : m(n2).invalidMonth = e3;
});
var Ce = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), Ue = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), He = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, Fe = k, Le = k;
function Ve(e3, t4) {
var n2;
if (e3.isValid()) {
if ("string" == typeof t4) {
if (/^\d+$/.test(t4))
t4 = g(t4);
else if (!u(t4 = e3.localeData().monthsParse(t4)))
return;
}
n2 = Math.min(e3.date(), We(e3.year(), t4)), e3._d["set" + (e3._isUTC ? "UTC" : "") + "Month"](t4, n2);
}
}
function Ge(e3) {
return null != e3 ? (Ve(this, e3), f.updateOffset(this, true), this) : ce(this, "Month");
}
function Ee() {
function e3(e4, t5) {
return t5.length - e4.length;
}
for (var t4, n2 = [], s2 = [], i3 = [], r2 = 0; r2 < 12; r2++)
t4 = l([2e3, r2]), n2.push(this.monthsShort(t4, "")), s2.push(this.months(t4, "")), i3.push(this.months(t4, "")), i3.push(this.monthsShort(t4, ""));
for (n2.sort(e3), s2.sort(e3), i3.sort(e3), r2 = 0; r2 < 12; r2++)
n2[r2] = M(n2[r2]), s2[r2] = M(s2[r2]);
for (r2 = 0; r2 < 24; r2++)
i3[r2] = M(i3[r2]);
this._monthsRegex = new RegExp("^(" + i3.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + s2.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + n2.join("|") + ")", "i");
}
function Ae(e3) {
return he(e3) ? 366 : 365;
}
s("Y", 0, 0, function() {
var e3 = this.year();
return e3 <= 9999 ? r(e3, 4) : "+" + e3;
}), s(0, ["YY", 2], 0, function() {
return this.year() % 100;
}), s(0, ["YYYY", 4], 0, "year"), s(0, ["YYYYY", 5], 0, "year"), s(0, ["YYYYYY", 6, true], 0, "year"), t("year", "y"), n("year", 1), v("Y", De), v("YY", p, w2), v("YYYY", ke, _e), v("YYYYY", ve, ye), v("YYYYYY", ve, ye), D(["YYYYY", "YYYYYY"], Y), D("YYYY", function(e3, t4) {
t4[Y] = 2 === e3.length ? f.parseTwoDigitYear(e3) : g(e3);
}), D("YY", function(e3, t4) {
t4[Y] = f.parseTwoDigitYear(e3);
}), D("Y", function(e3, t4) {
t4[Y] = parseInt(e3, 10);
}), f.parseTwoDigitYear = function(e3) {
return g(e3) + (68 < g(e3) ? 1900 : 2e3);
};
var Ie = de("FullYear", true);
function je(e3, t4, n2, s2, i3, r2, a2) {
var o2;
return e3 < 100 && 0 <= e3 ? (o2 = new Date(e3 + 400, t4, n2, s2, i3, r2, a2), isFinite(o2.getFullYear()) && o2.setFullYear(e3)) : o2 = new Date(e3, t4, n2, s2, i3, r2, a2), o2;
}
function Ze(e3) {
var t4;
return e3 < 100 && 0 <= e3 ? ((t4 = Array.prototype.slice.call(arguments))[0] = e3 + 400, t4 = new Date(Date.UTC.apply(null, t4)), isFinite(t4.getUTCFullYear()) && t4.setUTCFullYear(e3)) : t4 = new Date(Date.UTC.apply(null, arguments)), t4;
}
function ze(e3, t4, n2) {
n2 = 7 + t4 - n2;
return n2 - (7 + Ze(e3, 0, n2).getUTCDay() - t4) % 7 - 1;
}
function $e(e3, t4, n2, s2, i3) {
var r2, t4 = 1 + 7 * (t4 - 1) + (7 + n2 - s2) % 7 + ze(e3, s2, i3), n2 = t4 <= 0 ? Ae(r2 = e3 - 1) + t4 : t4 > Ae(e3) ? (r2 = e3 + 1, t4 - Ae(e3)) : (r2 = e3, t4);
return { year: r2, dayOfYear: n2 };
}
function qe(e3, t4, n2) {
var s2, i3, r2 = ze(e3.year(), t4, n2), r2 = Math.floor((e3.dayOfYear() - r2 - 1) / 7) + 1;
return r2 < 1 ? s2 = r2 + P(i3 = e3.year() - 1, t4, n2) : r2 > P(e3.year(), t4, n2) ? (s2 = r2 - P(e3.year(), t4, n2), i3 = e3.year() + 1) : (i3 = e3.year(), s2 = r2), { week: s2, year: i3 };
}
function P(e3, t4, n2) {
var s2 = ze(e3, t4, n2), t4 = ze(e3 + 1, t4, n2);
return (Ae(e3) - s2 + t4) / 7;
}
s("w", ["ww", 2], "wo", "week"), s("W", ["WW", 2], "Wo", "isoWeek"), t("week", "w"), t("isoWeek", "W"), n("week", 5), n("isoWeek", 5), v("w", p), v("ww", p, w2), v("W", p), v("WW", p, w2), Te(["w", "ww", "W", "WW"], function(e3, t4, n2, s2) {
t4[s2.substr(0, 1)] = g(e3);
});
function Be(e3, t4) {
return e3.slice(t4, 7).concat(e3.slice(0, t4));
}
s("d", 0, "do", "day"), s("dd", 0, 0, function(e3) {
return this.localeData().weekdaysMin(this, e3);
}), s("ddd", 0, 0, function(e3) {
return this.localeData().weekdaysShort(this, e3);
}), s("dddd", 0, 0, function(e3) {
return this.localeData().weekdays(this, e3);
}), s("e", 0, 0, "weekday"), s("E", 0, 0, "isoWeekday"), t("day", "d"), t("weekday", "e"), t("isoWeekday", "E"), n("day", 11), n("weekday", 11), n("isoWeekday", 11), v("d", p), v("e", p), v("E", p), v("dd", function(e3, t4) {
return t4.weekdaysMinRegex(e3);
}), v("ddd", function(e3, t4) {
return t4.weekdaysShortRegex(e3);
}), v("dddd", function(e3, t4) {
return t4.weekdaysRegex(e3);
}), Te(["dd", "ddd", "dddd"], function(e3, t4, n2, s2) {
s2 = n2._locale.weekdaysParse(e3, s2, n2._strict);
null != s2 ? t4.d = s2 : m(n2).invalidWeekday = e3;
}), Te(["d", "e", "E"], function(e3, t4, n2, s2) {
t4[s2] = g(e3);
});
var Je = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), Qe = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), Xe = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), Ke = k, et = k, tt = k;
function nt() {
function e3(e4, t5) {
return t5.length - e4.length;
}
for (var t4, n2, s2, i3 = [], r2 = [], a2 = [], o2 = [], u2 = 0; u2 < 7; u2++)
s2 = l([2e3, 1]).day(u2), t4 = M(this.weekdaysMin(s2, "")), n2 = M(this.weekdaysShort(s2, "")), s2 = M(this.weekdays(s2, "")), i3.push(t4), r2.push(n2), a2.push(s2), o2.push(t4), o2.push(n2), o2.push(s2);
i3.sort(e3), r2.sort(e3), a2.sort(e3), o2.sort(e3), this._weekdaysRegex = new RegExp("^(" + o2.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + a2.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + r2.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + i3.join("|") + ")", "i");
}
function st() {
return this.hours() % 12 || 12;
}
function it(e3, t4) {
s(e3, 0, 0, function() {
return this.localeData().meridiem(this.hours(), this.minutes(), t4);
});
}
function rt(e3, t4) {
return t4._meridiemParse;
}
s("H", ["HH", 2], 0, "hour"), s("h", ["hh", 2], 0, st), s("k", ["kk", 2], 0, function() {
return this.hours() || 24;
}), s("hmm", 0, 0, function() {
return "" + st.apply(this) + r(this.minutes(), 2);
}), s("hmmss", 0, 0, function() {
return "" + st.apply(this) + r(this.minutes(), 2) + r(this.seconds(), 2);
}), s("Hmm", 0, 0, function() {
return "" + this.hours() + r(this.minutes(), 2);
}), s("Hmmss", 0, 0, function() {
return "" + this.hours() + r(this.minutes(), 2) + r(this.seconds(), 2);
}), it("a", true), it("A", false), t("hour", "h"), n("hour", 13), v("a", rt), v("A", rt), v("H", p), v("h", p), v("k", p), v("HH", p, w2), v("hh", p, w2), v("kk", p, w2), v("hmm", ge), v("hmmss", we), v("Hmm", ge), v("Hmmss", we), D(["H", "HH"], x2), D(["k", "kk"], function(e3, t4, n2) {
e3 = g(e3);
t4[x2] = 24 === e3 ? 0 : e3;
}), D(["a", "A"], function(e3, t4, n2) {
n2._isPm = n2._locale.isPM(e3), n2._meridiem = e3;
}), D(["h", "hh"], function(e3, t4, n2) {
t4[x2] = g(e3), m(n2).bigHour = true;
}), D("hmm", function(e3, t4, n2) {
var s2 = e3.length - 2;
t4[x2] = g(e3.substr(0, s2)), t4[T] = g(e3.substr(s2)), m(n2).bigHour = true;
}), D("hmmss", function(e3, t4, n2) {
var s2 = e3.length - 4, i3 = e3.length - 2;
t4[x2] = g(e3.substr(0, s2)), t4[T] = g(e3.substr(s2, 2)), t4[N] = g(e3.substr(i3)), m(n2).bigHour = true;
}), D("Hmm", function(e3, t4, n2) {
var s2 = e3.length - 2;
t4[x2] = g(e3.substr(0, s2)), t4[T] = g(e3.substr(s2));
}), D("Hmmss", function(e3, t4, n2) {
var s2 = e3.length - 4, i3 = e3.length - 2;
t4[x2] = g(e3.substr(0, s2)), t4[T] = g(e3.substr(s2, 2)), t4[N] = g(e3.substr(i3));
});
k = de("Hours", true);
var at, ot = { calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" }, longDateFormat: { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, invalidDate: "Invalid date", ordinal: "%d", dayOfMonthOrdinalParse: /\d{1,2}/, relativeTime: { future: "in %s", past: "%s ago", s: "a few seconds", ss: "%d seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", w: "a week", ww: "%d weeks", M: "a month", MM: "%d months", y: "a year", yy: "%d years" }, months: Ce, monthsShort: Ue, week: { dow: 0, doy: 6 }, weekdays: Je, weekdaysMin: Xe, weekdaysShort: Qe, meridiemParse: /[ap]\.?m?\.?/i }, R = {}, ut = {};
function lt(e3) {
return e3 && e3.toLowerCase().replace("_", "-");
}
function ht(e3) {
for (var t4, n2, s2, i3, r2 = 0; r2 < e3.length; ) {
for (t4 = (i3 = lt(e3[r2]).split("-")).length, n2 = (n2 = lt(e3[r2 + 1])) ? n2.split("-") : null; 0 < t4; ) {
if (s2 = dt(i3.slice(0, t4).join("-")))
return s2;
if (n2 && n2.length >= t4 && function(e4, t5) {
for (var n3 = Math.min(e4.length, t5.length), s3 = 0; s3 < n3; s3 += 1)
if (e4[s3] !== t5[s3])
return s3;
return n3;
}(i3, n2) >= t4 - 1)
break;
t4--;
}
r2++;
}
return at;
}
function dt(t4) {
var e3;
if (void 0 === R[t4] && true && module2 && module2.exports && null != t4.match("^[^/\\\\]*$"))
try {
e3 = at._abbr, commonjsRequire("./locale/" + t4), ct(e3);
} catch (e4) {
R[t4] = null;
}
return R[t4];
}
function ct(e3, t4) {
return e3 && ((t4 = o(t4) ? mt(e3) : ft(e3, t4)) ? at = t4 : "undefined" != typeof console && console.warn && console.warn("Locale " + e3 + " not found. Did you forget to load it?")), at._abbr;
}
function ft(e3, t4) {
if (null === t4)
return delete R[e3], null;
var n2, s2 = ot;
if (t4.abbr = e3, null != R[e3])
Q("defineLocaleOverride", "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."), s2 = R[e3]._config;
else if (null != t4.parentLocale)
if (null != R[t4.parentLocale])
s2 = R[t4.parentLocale]._config;
else {
if (null == (n2 = dt(t4.parentLocale)))
return ut[t4.parentLocale] || (ut[t4.parentLocale] = []), ut[t4.parentLocale].push({ name: e3, config: t4 }), null;
s2 = n2._config;
}
return R[e3] = new K2(X(s2, t4)), ut[e3] && ut[e3].forEach(function(e4) {
ft(e4.name, e4.config);
}), ct(e3), R[e3];
}
function mt(e3) {
var t4;
if (!(e3 = e3 && e3._locale && e3._locale._abbr ? e3._locale._abbr : e3))
return at;
if (!a(e3)) {
if (t4 = dt(e3))
return t4;
e3 = [e3];
}
return ht(e3);
}
function _t(e3) {
var t4 = e3._a;
return t4 && -2 === m(e3).overflow && (t4 = t4[O] < 0 || 11 < t4[O] ? O : t4[b] < 1 || t4[b] > We(t4[Y], t4[O]) ? b : t4[x2] < 0 || 24 < t4[x2] || 24 === t4[x2] && (0 !== t4[T] || 0 !== t4[N] || 0 !== t4[Ne]) ? x2 : t4[T] < 0 || 59 < t4[T] ? T : t4[N] < 0 || 59 < t4[N] ? N : t4[Ne] < 0 || 999 < t4[Ne] ? Ne : -1, m(e3)._overflowDayOfYear && (t4 < Y || b < t4) && (t4 = b), m(e3)._overflowWeeks && -1 === t4 && (t4 = Pe), m(e3)._overflowWeekday && -1 === t4 && (t4 = Re), m(e3).overflow = t4), e3;
}
var yt = /^\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)?)?$/, gt = /^\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)?)?$/, wt = /Z|[+-]\d\d(?::?\d\d)?/, pt = [["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/], ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/], ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/], ["GGGG-[W]WW", /\d{4}-W\d\d/, false], ["YYYY-DDD", /\d{4}-\d{3}/], ["YYYY-MM", /\d{4}-\d\d/, false], ["YYYYYYMMDD", /[+-]\d{10}/], ["YYYYMMDD", /\d{8}/], ["GGGG[W]WWE", /\d{4}W\d{3}/], ["GGGG[W]WW", /\d{4}W\d{2}/, false], ["YYYYDDD", /\d{7}/], ["YYYYMM", /\d{6}/, false], ["YYYY", /\d{4}/, false]], kt = [["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/], ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/], ["HH:mm:ss", /\d\d:\d\d:\d\d/], ["HH:mm", /\d\d:\d\d/], ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/], ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/], ["HHmmss", /\d\d\d\d\d\d/], ["HHmm", /\d\d\d\d/], ["HH", /\d\d/]], vt = /^\/?Date\((-?\d+)/i, Mt = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, Dt = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480 };
function St(e3) {
var t4, n2, s2, i3, r2, a2, o2 = e3._i, u2 = yt.exec(o2) || gt.exec(o2), o2 = pt.length, l2 = kt.length;
if (u2) {
for (m(e3).iso = true, t4 = 0, n2 = o2; t4 < n2; t4++)
if (pt[t4][1].exec(u2[1])) {
i3 = pt[t4][0], s2 = false !== pt[t4][2];
break;
}
if (null == i3)
e3._isValid = false;
else {
if (u2[3]) {
for (t4 = 0, n2 = l2; t4 < n2; t4++)
if (kt[t4][1].exec(u2[3])) {
r2 = (u2[2] || " ") + kt[t4][0];
break;
}
if (null == r2)
return void (e3._isValid = false);
}
if (s2 || null == r2) {
if (u2[4]) {
if (!wt.exec(u2[4]))
return void (e3._isValid = false);
a2 = "Z";
}
e3._f = i3 + (r2 || "") + (a2 || ""), Tt(e3);
} else
e3._isValid = false;
}
} else
e3._isValid = false;
}
function Yt(e3, t4, n2, s2, i3, r2) {
e3 = [function(e4) {
e4 = parseInt(e4, 10);
{
if (e4 <= 49)
return 2e3 + e4;
if (e4 <= 999)
return 1900 + e4;
}
return e4;
}(e3), Ue.indexOf(t4), parseInt(n2, 10), parseInt(s2, 10), parseInt(i3, 10)];
return r2 && e3.push(parseInt(r2, 10)), e3;
}
function Ot(e3) {
var t4, n2, s2, i3, r2 = Mt.exec(e3._i.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, ""));
r2 ? (t4 = Yt(r2[4], r2[3], r2[2], r2[5], r2[6], r2[7]), n2 = r2[1], s2 = t4, i3 = e3, n2 && Qe.indexOf(n2) !== new Date(s2[0], s2[1], s2[2]).getDay() ? (m(i3).weekdayMismatch = true, i3._isValid = false) : (e3._a = t4, e3._tzm = (n2 = r2[8], s2 = r2[9], i3 = r2[10], n2 ? Dt[n2] : s2 ? 0 : 60 * (((n2 = parseInt(i3, 10)) - (s2 = n2 % 100)) / 100) + s2), e3._d = Ze.apply(null, e3._a), e3._d.setUTCMinutes(e3._d.getUTCMinutes() - e3._tzm), m(e3).rfc2822 = true)) : e3._isValid = false;
}
function bt(e3, t4, n2) {
return null != e3 ? e3 : null != t4 ? t4 : n2;
}
function xt(e3) {
var t4, n2, s2, i3, r2, a2, o2, u2, l2, h2, d2, c3 = [];
if (!e3._d) {
for (s2 = e3, i3 = new Date(f.now()), n2 = s2._useUTC ? [i3.getUTCFullYear(), i3.getUTCMonth(), i3.getUTCDate()] : [i3.getFullYear(), i3.getMonth(), i3.getDate()], e3._w && null == e3._a[b] && null == e3._a[O] && (null != (i3 = (s2 = e3)._w).GG || null != i3.W || null != i3.E ? (u2 = 1, l2 = 4, r2 = bt(i3.GG, s2._a[Y], qe(W(), 1, 4).year), a2 = bt(i3.W, 1), ((o2 = bt(i3.E, 1)) < 1 || 7 < o2) && (h2 = true)) : (u2 = s2._locale._week.dow, l2 = s2._locale._week.doy, d2 = qe(W(), u2, l2), r2 = bt(i3.gg, s2._a[Y], d2.year), a2 = bt(i3.w, d2.week), null != i3.d ? ((o2 = i3.d) < 0 || 6 < o2) && (h2 = true) : null != i3.e ? (o2 = i3.e + u2, (i3.e < 0 || 6 < i3.e) && (h2 = true)) : o2 = u2), a2 < 1 || a2 > P(r2, u2, l2) ? m(s2)._overflowWeeks = true : null != h2 ? m(s2)._overflowWeekday = true : (d2 = $e(r2, a2, o2, u2, l2), s2._a[Y] = d2.year, s2._dayOfYear = d2.dayOfYear)), null != e3._dayOfYear && (i3 = bt(e3._a[Y], n2[Y]), (e3._dayOfYear > Ae(i3) || 0 === e3._dayOfYear) && (m(e3)._overflowDayOfYear = true), h2 = Ze(i3, 0, e3._dayOfYear), e3._a[O] = h2.getUTCMonth(), e3._a[b] = h2.getUTCDate()), t4 = 0; t4 < 3 && null == e3._a[t4]; ++t4)
e3._a[t4] = c3[t4] = n2[t4];
for (; t4 < 7; t4++)
e3._a[t4] = c3[t4] = null == e3._a[t4] ? 2 === t4 ? 1 : 0 : e3._a[t4];
24 === e3._a[x2] && 0 === e3._a[T] && 0 === e3._a[N] && 0 === e3._a[Ne] && (e3._nextDay = true, e3._a[x2] = 0), e3._d = (e3._useUTC ? Ze : je).apply(null, c3), r2 = e3._useUTC ? e3._d.getUTCDay() : e3._d.getDay(), null != e3._tzm && e3._d.setUTCMinutes(e3._d.getUTCMinutes() - e3._tzm), e3._nextDay && (e3._a[x2] = 24), e3._w && void 0 !== e3._w.d && e3._w.d !== r2 && (m(e3).weekdayMismatch = true);
}
}
function Tt(e3) {
if (e3._f === f.ISO_8601)
St(e3);
else if (e3._f === f.RFC_2822)
Ot(e3);
else {
e3._a = [], m(e3).empty = true;
for (var t4, n2, s2, i3, r2, a2 = "" + e3._i, o2 = a2.length, u2 = 0, l2 = ae(e3._f, e3._locale).match(te) || [], h2 = l2.length, d2 = 0; d2 < h2; d2++)
n2 = l2[d2], (t4 = (a2.match(Oe(n2, e3)) || [])[0]) && (0 < (s2 = a2.substr(0, a2.indexOf(t4))).length && m(e3).unusedInput.push(s2), a2 = a2.slice(a2.indexOf(t4) + t4.length), u2 += t4.length), ie[n2] ? (t4 ? m(e3).empty = false : m(e3).unusedTokens.push(n2), s2 = n2, r2 = e3, null != (i3 = t4) && c2(xe, s2) && xe[s2](i3, r2._a, r2, s2)) : e3._strict && !t4 && m(e3).unusedTokens.push(n2);
m(e3).charsLeftOver = o2 - u2, 0 < a2.length && m(e3).unusedInput.push(a2), e3._a[x2] <= 12 && true === m(e3).bigHour && 0 < e3._a[x2] && (m(e3).bigHour = void 0), m(e3).parsedDateParts = e3._a.slice(0), m(e3).meridiem = e3._meridiem, e3._a[x2] = function(e4, t5, n3) {
if (null == n3)
return t5;
return null != e4.meridiemHour ? e4.meridiemHour(t5, n3) : null != e4.isPM ? ((e4 = e4.isPM(n3)) && t5 < 12 && (t5 += 12), t5 = e4 || 12 !== t5 ? t5 : 0) : t5;
}(e3._locale, e3._a[x2], e3._meridiem), null !== (o2 = m(e3).era) && (e3._a[Y] = e3._locale.erasConvertYear(o2, e3._a[Y])), xt(e3), _t(e3);
}
}
function Nt(e3) {
var t4, n2, s2, i3 = e3._i, r2 = e3._f;
if (e3._locale = e3._locale || mt(e3._l), null === i3 || void 0 === r2 && "" === i3)
return I({ nullInput: true });
if ("string" == typeof i3 && (e3._i = i3 = e3._locale.preparse(i3)), h(i3))
return new q(_t(i3));
if (V(i3))
e3._d = i3;
else if (a(r2))
!function(e4) {
var t5, n3, s3, i4, r3, a2, o2 = false, u2 = e4._f.length;
if (0 === u2)
return m(e4).invalidFormat = true, e4._d = new Date(NaN);
for (i4 = 0; i4 < u2; i4++)
r3 = 0, a2 = false, t5 = $({}, e4), null != e4._useUTC && (t5._useUTC = e4._useUTC), t5._f = e4._f[i4], Tt(t5), A(t5) && (a2 = true), r3 = (r3 += m(t5).charsLeftOver) + 10 * m(t5).unusedTokens.length, m(t5).score = r3, o2 ? r3 < s3 && (s3 = r3, n3 = t5) : (null == s3 || r3 < s3 || a2) && (s3 = r3, n3 = t5, a2 && (o2 = true));
E(e4, n3 || t5);
}(e3);
else if (r2)
Tt(e3);
else if (o(r2 = (i3 = e3)._i))
i3._d = new Date(f.now());
else
V(r2) ? i3._d = new Date(r2.valueOf()) : "string" == typeof r2 ? (n2 = i3, null !== (t4 = vt.exec(n2._i)) ? n2._d = new Date(+t4[1]) : (St(n2), false === n2._isValid && (delete n2._isValid, Ot(n2), false === n2._isValid && (delete n2._isValid, n2._strict ? n2._isValid = false : f.createFromInputFallback(n2))))) : a(r2) ? (i3._a = G(r2.slice(0), function(e4) {
return parseInt(e4, 10);
}), xt(i3)) : F(r2) ? (t4 = i3)._d || (s2 = void 0 === (n2 = ue(t4._i)).day ? n2.date : n2.day, t4._a = G([n2.year, n2.month, s2, n2.hour, n2.minute, n2.second, n2.millisecond], function(e4) {
return e4 && parseInt(e4, 10);
}), xt(t4)) : u(r2) ? i3._d = new Date(r2) : f.createFromInputFallback(i3);
return A(e3) || (e3._d = null), e3;
}
function Pt(e3, t4, n2, s2, i3) {
var r2 = {};
return true !== t4 && false !== t4 || (s2 = t4, t4 = void 0), true !== n2 && false !== n2 || (s2 = n2, n2 = void 0), (F(e3) && L(e3) || a(e3) && 0 === e3.length) && (e3 = void 0), r2._isAMomentObject = true, r2._useUTC = r2._isUTC = i3, r2._l = n2, r2._i = e3, r2._f = t4, r2._strict = s2, (i3 = new q(_t(Nt(i3 = r2))))._nextDay && (i3.add(1, "d"), i3._nextDay = void 0), i3;
}
function W(e3, t4, n2, s2) {
return Pt(e3, t4, n2, s2, false);
}
f.createFromInputFallback = e("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function(e3) {
e3._d = new Date(e3._i + (e3._useUTC ? " UTC" : ""));
}), f.ISO_8601 = function() {
}, f.RFC_2822 = function() {
};
ge = e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
var e3 = W.apply(null, arguments);
return this.isValid() && e3.isValid() ? e3 < this ? this : e3 : I();
}), we = e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
var e3 = W.apply(null, arguments);
return this.isValid() && e3.isValid() ? this < e3 ? this : e3 : I();
});
function Rt(e3, t4) {
var n2, s2;
if (!(t4 = 1 === t4.length && a(t4[0]) ? t4[0] : t4).length)
return W();
for (n2 = t4[0], s2 = 1; s2 < t4.length; ++s2)
t4[s2].isValid() && !t4[s2][e3](n2) || (n2 = t4[s2]);
return n2;
}
var Wt = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"];
function Ct(e3) {
var e3 = ue(e3), t4 = e3.year || 0, n2 = e3.quarter || 0, s2 = e3.month || 0, i3 = e3.week || e3.isoWeek || 0, r2 = e3.day || 0, a2 = e3.hour || 0, o2 = e3.minute || 0, u2 = e3.second || 0, l2 = e3.millisecond || 0;
this._isValid = function(e4) {
var t5, n3, s3 = false, i4 = Wt.length;
for (t5 in e4)
if (c2(e4, t5) && (-1 === S.call(Wt, t5) || null != e4[t5] && isNaN(e4[t5])))
return false;
for (n3 = 0; n3 < i4; ++n3)
if (e4[Wt[n3]]) {
if (s3)
return false;
parseFloat(e4[Wt[n3]]) !== g(e4[Wt[n3]]) && (s3 = true);
}
return true;
}(e3), this._milliseconds = +l2 + 1e3 * u2 + 6e4 * o2 + 1e3 * a2 * 60 * 60, this._days = +r2 + 7 * i3, this._months = +s2 + 3 * n2 + 12 * t4, this._data = {}, this._locale = mt(), this._bubble();
}
function Ut(e3) {
return e3 instanceof Ct;
}
function Ht(e3) {
return e3 < 0 ? -1 * Math.round(-1 * e3) : Math.round(e3);
}
function Ft(e3, n2) {
s(e3, 0, 0, function() {
var e4 = this.utcOffset(), t4 = "+";
return e4 < 0 && (e4 = -e4, t4 = "-"), t4 + r(~~(e4 / 60), 2) + n2 + r(~~e4 % 60, 2);
});
}
Ft("Z", ":"), Ft("ZZ", ""), v("Z", Ye), v("ZZ", Ye), D(["Z", "ZZ"], function(e3, t4, n2) {
n2._useUTC = true, n2._tzm = Vt(Ye, e3);
});
var Lt = /([\+\-]|\d\d)/gi;
function Vt(e3, t4) {
var t4 = (t4 || "").match(e3);
return null === t4 ? null : 0 === (t4 = 60 * (e3 = ((t4[t4.length - 1] || []) + "").match(Lt) || ["-", 0, 0])[1] + g(e3[2])) ? 0 : "+" === e3[0] ? t4 : -t4;
}
function Gt(e3, t4) {
var n2;
return t4._isUTC ? (t4 = t4.clone(), n2 = (h(e3) || V(e3) ? e3 : W(e3)).valueOf() - t4.valueOf(), t4._d.setTime(t4._d.valueOf() + n2), f.updateOffset(t4, false), t4) : W(e3).local();
}
function Et(e3) {
return -Math.round(e3._d.getTimezoneOffset());
}
function At() {
return !!this.isValid() && (this._isUTC && 0 === this._offset);
}
f.updateOffset = function() {
};
var It = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, jt = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
function C(e3, t4) {
var n2, s2 = e3, i3 = null;
return Ut(e3) ? s2 = { ms: e3._milliseconds, d: e3._days, M: e3._months } : u(e3) || !isNaN(+e3) ? (s2 = {}, t4 ? s2[t4] = +e3 : s2.milliseconds = +e3) : (i3 = It.exec(e3)) ? (n2 = "-" === i3[1] ? -1 : 1, s2 = { y: 0, d: g(i3[b]) * n2, h: g(i3[x2]) * n2, m: g(i3[T]) * n2, s: g(i3[N]) * n2, ms: g(Ht(1e3 * i3[Ne])) * n2 }) : (i3 = jt.exec(e3)) ? (n2 = "-" === i3[1] ? -1 : 1, s2 = { y: Zt(i3[2], n2), M: Zt(i3[3], n2), w: Zt(i3[4], n2), d: Zt(i3[5], n2), h: Zt(i3[6], n2), m: Zt(i3[7], n2), s: Zt(i3[8], n2) }) : null == s2 ? s2 = {} : "object" == typeof s2 && ("from" in s2 || "to" in s2) && (t4 = function(e4, t5) {
var n3;
if (!e4.isValid() || !t5.isValid())
return { milliseconds: 0, months: 0 };
t5 = Gt(t5, e4), e4.isBefore(t5) ? n3 = zt(e4, t5) : ((n3 = zt(t5, e4)).milliseconds = -n3.milliseconds, n3.months = -n3.months);
return n3;
}(W(s2.from), W(s2.to)), (s2 = {}).ms = t4.milliseconds, s2.M = t4.months), i3 = new Ct(s2), Ut(e3) && c2(e3, "_locale") && (i3._locale = e3._locale), Ut(e3) && c2(e3, "_isValid") && (i3._isValid = e3._isValid), i3;
}
function Zt(e3, t4) {
e3 = e3 && parseFloat(e3.replace(",", "."));
return (isNaN(e3) ? 0 : e3) * t4;
}
function zt(e3, t4) {
var n2 = {};
return n2.months = t4.month() - e3.month() + 12 * (t4.year() - e3.year()), e3.clone().add(n2.months, "M").isAfter(t4) && --n2.months, n2.milliseconds = +t4 - +e3.clone().add(n2.months, "M"), n2;
}
function $t(s2, i3) {
return function(e3, t4) {
var n2;
return null === t4 || isNaN(+t4) || (Q(i3, "moment()." + i3 + "(period, number) is deprecated. Please use moment()." + i3 + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), n2 = e3, e3 = t4, t4 = n2), qt(this, C(e3, t4), s2), this;
};
}
function qt(e3, t4, n2, s2) {
var i3 = t4._milliseconds, r2 = Ht(t4._days), t4 = Ht(t4._months);
e3.isValid() && (s2 = null == s2 || s2, t4 && Ve(e3, ce(e3, "Month") + t4 * n2), r2 && fe(e3, "Date", ce(e3, "Date") + r2 * n2), i3 && e3._d.setTime(e3._d.valueOf() + i3 * n2), s2 && f.updateOffset(e3, r2 || t4));
}
C.fn = Ct.prototype, C.invalid = function() {
return C(NaN);
};
Ce = $t(1, "add"), Je = $t(-1, "subtract");
function Bt(e3) {
return "string" == typeof e3 || e3 instanceof String;
}
function Jt(e3) {
return h(e3) || V(e3) || Bt(e3) || u(e3) || function(t4) {
var e4 = a(t4), n2 = false;
e4 && (n2 = 0 === t4.filter(function(e6) {
return !u(e6) && Bt(t4);
}).length);
return e4 && n2;
}(e3) || function(e4) {
var t4, n2, s2 = F(e4) && !L(e4), i3 = false, r2 = ["years", "year", "y", "months", "month", "M", "days", "day", "d", "dates", "date", "D", "hours", "hour", "h", "minutes", "minute", "m", "seconds", "second", "s", "milliseconds", "millisecond", "ms"], a2 = r2.length;
for (t4 = 0; t4 < a2; t4 += 1)
n2 = r2[t4], i3 = i3 || c2(e4, n2);
return s2 && i3;
}(e3) || null == e3;
}
function Qt(e3, t4) {
if (e3.date() < t4.date())
return -Qt(t4, e3);
var n2 = 12 * (t4.year() - e3.year()) + (t4.month() - e3.month()), s2 = e3.clone().add(n2, "months"), t4 = t4 - s2 < 0 ? (t4 - s2) / (s2 - e3.clone().add(n2 - 1, "months")) : (t4 - s2) / (e3.clone().add(1 + n2, "months") - s2);
return -(n2 + t4) || 0;
}
function Xt(e3) {
return void 0 === e3 ? this._locale._abbr : (null != (e3 = mt(e3)) && (this._locale = e3), this);
}
f.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", f.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
Xe = e("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(e3) {
return void 0 === e3 ? this.localeData() : this.locale(e3);
});
function Kt() {
return this._locale;
}
var en = 126227808e5;
function tn(e3, t4) {
return (e3 % t4 + t4) % t4;
}
function nn(e3, t4, n2) {
return e3 < 100 && 0 <= e3 ? new Date(e3 + 400, t4, n2) - en : new Date(e3, t4, n2).valueOf();
}
function sn(e3, t4, n2) {
return e3 < 100 && 0 <= e3 ? Date.UTC(e3 + 400, t4, n2) - en : Date.UTC(e3, t4, n2);
}
function rn(e3, t4) {
return t4.erasAbbrRegex(e3);
}
function an() {
for (var e3 = [], t4 = [], n2 = [], s2 = [], i3 = this.eras(), r2 = 0, a2 = i3.length; r2 < a2; ++r2)
t4.push(M(i3[r2].name)), e3.push(M(i3[r2].abbr)), n2.push(M(i3[r2].narrow)), s2.push(M(i3[r2].name)), s2.push(M(i3[r2].abbr)), s2.push(M(i3[r2].narrow));
this._erasRegex = new RegExp("^(" + s2.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + t4.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + e3.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp("^(" + n2.join("|") + ")", "i");
}
function on(e3, t4) {
s(0, [e3, e3.length], 0, t4);
}
function un(e3, t4, n2, s2, i3) {
var r2;
return null == e3 ? qe(this, s2, i3).year : (r2 = P(e3, s2, i3), function(e4, t5, n3, s3, i4) {
e4 = $e(e4, t5, n3, s3, i4), t5 = Ze(e4.year, 0, e4.dayOfYear);
return this.year(t5.getUTCFullYear()), this.month(t5.getUTCMonth()), this.date(t5.getUTCDate()), this;
}.call(this, e3, t4 = r2 < t4 ? r2 : t4, n2, s2, i3));
}
s("N", 0, 0, "eraAbbr"), s("NN", 0, 0, "eraAbbr"), s("NNN", 0, 0, "eraAbbr"), s("NNNN", 0, 0, "eraName"), s("NNNNN", 0, 0, "eraNarrow"), s("y", ["y", 1], "yo", "eraYear"), s("y", ["yy", 2], 0, "eraYear"), s("y", ["yyy", 3], 0, "eraYear"), s("y", ["yyyy", 4], 0, "eraYear"), v("N", rn), v("NN", rn), v("NNN", rn), v("NNNN", function(e3, t4) {
return t4.erasNameRegex(e3);
}), v("NNNNN", function(e3, t4) {
return t4.erasNarrowRegex(e3);
}), D(["N", "NN", "NNN", "NNNN", "NNNNN"], function(e3, t4, n2, s2) {
s2 = n2._locale.erasParse(e3, s2, n2._strict);
s2 ? m(n2).era = s2 : m(n2).invalidEra = e3;
}), v("y", Me), v("yy", Me), v("yyy", Me), v("yyyy", Me), v("yo", function(e3, t4) {
return t4._eraYearOrdinalRegex || Me;
}), D(["y", "yy", "yyy", "yyyy"], Y), D(["yo"], function(e3, t4, n2, s2) {
var i3;
n2._locale._eraYearOrdinalRegex && (i3 = e3.match(n2._locale._eraYearOrdinalRegex)), n2._locale.eraYearOrdinalParse ? t4[Y] = n2._locale.eraYearOrdinalParse(e3, i3) : t4[Y] = parseInt(e3, 10);
}), s(0, ["gg", 2], 0, function() {
return this.weekYear() % 100;
}), s(0, ["GG", 2], 0, function() {
return this.isoWeekYear() % 100;
}), on("gggg", "weekYear"), on("ggggg", "weekYear"), on("GGGG", "isoWeekYear"), on("GGGGG", "isoWeekYear"), t("weekYear", "gg"), t("isoWeekYear", "GG"), n("weekYear", 1), n("isoWeekYear", 1), v("G", De), v("g", De), v("GG", p, w2), v("gg", p, w2), v("GGGG", ke, _e), v("gggg", ke, _e), v("GGGGG", ve, ye), v("ggggg", ve, ye), Te(["gggg", "ggggg", "GGGG", "GGGGG"], function(e3, t4, n2, s2) {
t4[s2.substr(0, 2)] = g(e3);
}), Te(["gg", "GG"], function(e3, t4, n2, s2) {
t4[s2] = f.parseTwoDigitYear(e3);
}), s("Q", 0, "Qo", "quarter"), t("quarter", "Q"), n("quarter", 7), v("Q", i2), D("Q", function(e3, t4) {
t4[O] = 3 * (g(e3) - 1);
}), s("D", ["DD", 2], "Do", "date"), t("date", "D"), n("date", 9), v("D", p), v("DD", p, w2), v("Do", function(e3, t4) {
return e3 ? t4._dayOfMonthOrdinalParse || t4._ordinalParse : t4._dayOfMonthOrdinalParseLenient;
}), D(["D", "DD"], b), D("Do", function(e3, t4) {
t4[b] = g(e3.match(p)[0]);
});
ke = de("Date", true);
s("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), t("dayOfYear", "DDD"), n("dayOfYear", 4), v("DDD", pe), v("DDDD", me), D(["DDD", "DDDD"], function(e3, t4, n2) {
n2._dayOfYear = g(e3);
}), s("m", ["mm", 2], 0, "minute"), t("minute", "m"), n("minute", 14), v("m", p), v("mm", p, w2), D(["m", "mm"], T);
var ln, _e = de("Minutes", false), ve = (s("s", ["ss", 2], 0, "second"), t("second", "s"), n("second", 15), v("s", p), v("ss", p, w2), D(["s", "ss"], N), de("Seconds", false));
for (s("S", 0, 0, function() {
return ~~(this.millisecond() / 100);
}), s(0, ["SS", 2], 0, function() {
return ~~(this.millisecond() / 10);
}), s(0, ["SSS", 3], 0, "millisecond"), s(0, ["SSSS", 4], 0, function() {
return 10 * this.millisecond();
}), s(0, ["SSSSS", 5], 0, function() {
return 100 * this.millisecond();
}), s(0, ["SSSSSS", 6], 0, function() {
return 1e3 * this.millisecond();
}), s(0, ["SSSSSSS", 7], 0, function() {
return 1e4 * this.millisecond();
}), s(0, ["SSSSSSSS", 8], 0, function() {
return 1e5 * this.millisecond();
}), s(0, ["SSSSSSSSS", 9], 0, function() {
return 1e6 * this.millisecond();
}), t("millisecond", "ms"), n("millisecond", 16), v("S", pe, i2), v("SS", pe, w2), v("SSS", pe, me), ln = "SSSS"; ln.length <= 9; ln += "S")
v(ln, Me);
function hn(e3, t4) {
t4[Ne] = g(1e3 * ("0." + e3));
}
for (ln = "S"; ln.length <= 9; ln += "S")
D(ln, hn);
ye = de("Milliseconds", false), s("z", 0, 0, "zoneAbbr"), s("zz", 0, 0, "zoneName");
i2 = q.prototype;
function dn(e3) {
return e3;
}
i2.add = Ce, i2.calendar = function(e3, t4) {
1 === arguments.length && (arguments[0] ? Jt(arguments[0]) ? (e3 = arguments[0], t4 = void 0) : function(e4) {
for (var t5 = F(e4) && !L(e4), n3 = false, s2 = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"], i3 = 0; i3 < s2.length; i3 += 1)
n3 = n3 || c2(e4, s2[i3]);
return t5 && n3;
}(arguments[0]) && (t4 = arguments[0], e3 = void 0) : t4 = e3 = void 0);
var e3 = e3 || W(), n2 = Gt(e3, this).startOf("day"), n2 = f.calendarFormat(this, n2) || "sameElse", t4 = t4 && (d(t4[n2]) ? t4[n2].call(this, e3) : t4[n2]);
return this.format(t4 || this.localeData().calendar(n2, this, W(e3)));
}, i2.clone = function() {
return new q(this);
}, i2.diff = function(e3, t4, n2) {
var s2, i3, r2;
if (!this.isValid())
return NaN;
if (!(s2 = Gt(e3, this)).isValid())
return NaN;
switch (i3 = 6e4 * (s2.utcOffset() - this.utcOffset()), t4 = _2(t4)) {
case "year":
r2 = Qt(this, s2) / 12;
break;
case "month":
r2 = Qt(this, s2);
break;
case "quarter":
r2 = Qt(this, s2) / 3;
break;
case "second":
r2 = (this - s2) / 1e3;
break;
case "minute":
r2 = (this - s2) / 6e4;
break;
case "hour":
r2 = (this - s2) / 36e5;
break;
case "day":
r2 = (this - s2 - i3) / 864e5;
break;
case "week":
r2 = (this - s2 - i3) / 6048e5;
break;
default:
r2 = this - s2;
}
return n2 ? r2 : y2(r2);
}, i2.endOf = function(e3) {
var t4, n2;