import {
	H as Xe,
	I as qe,
	R as Ge,
	J as je,
	K as Cn,
	L as Kt,
	M as Mn,
	N as Te,
	O as nt,
	c as wt,
	s as Dn,
	g as Sn,
	A as _n,
	B as Un,
	b as Yn,
	a as Fn,
	C as Ln,
	m as An,
	l as qt,
	h as Pt,
	i as En,
	j as In,
	y as Wn,
} from './index-0e3b96e2.js';
import { b as On, t as Fe, c as Hn, a as Nn, l as Vn } from './linear-c769df2f.js';
import { i as zn } from './init-77b53fdd.js';
import './index-9c042f98.js';
import './_plugin-vue_export-helper-c27b6911.js';
function Pn(t, e) {
	let n;
	if (e === void 0) for (const r of t) r != null && (n < r || (n === void 0 && r >= r)) && (n = r);
	else {
		let r = -1;
		for (let i of t) (i = e(i, ++r, t)) != null && (n < i || (n === void 0 && i >= i)) && (n = i);
	}
	return n;
}
function Rn(t, e) {
	let n;
	if (e === void 0) for (const r of t) r != null && (n > r || (n === void 0 && r >= r)) && (n = r);
	else {
		let r = -1;
		for (let i of t) (i = e(i, ++r, t)) != null && (n > i || (n === void 0 && i >= i)) && (n = i);
	}
	return n;
}
function Bn(t) {
	return t;
}
var Bt = 1,
	te = 2,
	ue = 3,
	Rt = 4,
	Le = 1e-6;
function Zn(t) {
	return 'translate(' + t + ',0)';
}
function Xn(t) {
	return 'translate(0,' + t + ')';
}
function qn(t) {
	return (e) => +t(e);
}
function Gn(t, e) {
	return (e = Math.max(0, t.bandwidth() - e * 2) / 2), t.round() && (e = Math.round(e)), (n) => +t(n) + e;
}
function jn() {
	return !this.__axis;
}
function Qe(t, e) {
	var n = [],
		r = null,
		i = null,
		s = 6,
		a = 6,
		k = 3,
		Y = typeof window < 'u' && window.devicePixelRatio > 1 ? 0 : 0.5,
		g = t === Bt || t === Rt ? -1 : 1,
		b = t === Rt || t === te ? 'x' : 'y',
		U = t === Bt || t === ue ? Zn : Xn;
	function C(v) {
		var q = r ?? (e.ticks ? e.ticks.apply(e, n) : e.domain()),
			y = i ?? (e.tickFormat ? e.tickFormat.apply(e, n) : Bn),
			L = Math.max(s, 0) + k,
			O = e.range(),
			W = +O[0] + Y,
			B = +O[O.length - 1] + Y,
			Z = (e.bandwidth ? Gn : qn)(e.copy(), Y),
			Q = v.selection ? v.selection() : v,
			x = Q.selectAll('.domain').data([null]),
			E = Q.selectAll('.tick').data(q, e).order(),
			T = E.exit(),
			F = E.enter().append('g').attr('class', 'tick'),
			M = E.select('line'),
			w = E.select('text');
		(x = x.merge(x.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'))),
			(E = E.merge(F)),
			(M = M.merge(
				F.append('line')
					.attr('stroke', 'currentColor')
					.attr(b + '2', g * s)
			)),
			(w = w.merge(
				F.append('text')
					.attr('fill', 'currentColor')
					.attr(b, g * L)
					.attr('dy', t === Bt ? '0em' : t === ue ? '0.71em' : '0.32em')
			)),
			v !== Q &&
				((x = x.transition(v)),
				(E = E.transition(v)),
				(M = M.transition(v)),
				(w = w.transition(v)),
				(T = T.transition(v)
					.attr('opacity', Le)
					.attr('transform', function (o) {
						return isFinite((o = Z(o))) ? U(o + Y) : this.getAttribute('transform');
					})),
				F.attr('opacity', Le).attr('transform', function (o) {
					var d = this.parentNode.__axis;
					return U((d && isFinite((d = d(o))) ? d : Z(o)) + Y);
				})),
			T.remove(),
			x.attr(
				'd',
				t === Rt || t === te
					? a
						? 'M' + g * a + ',' + W + 'H' + Y + 'V' + B + 'H' + g * a
						: 'M' + Y + ',' + W + 'V' + B
					: a
					? 'M' + W + ',' + g * a + 'V' + Y + 'H' + B + 'V' + g * a
					: 'M' + W + ',' + Y + 'H' + B
			),
			E.attr('opacity', 1).attr('transform', function (o) {
				return U(Z(o) + Y);
			}),
			M.attr(b + '2', g * s),
			w.attr(b, g * L).text(y),
			Q.filter(jn)
				.attr('fill', 'none')
				.attr('font-size', 10)
				.attr('font-family', 'sans-serif')
				.attr('text-anchor', t === te ? 'start' : t === Rt ? 'end' : 'middle'),
			Q.each(function () {
				this.__axis = Z;
			});
	}
	return (
		(C.scale = function (v) {
			return arguments.length ? ((e = v), C) : e;
		}),
		(C.ticks = function () {
			return (n = Array.from(arguments)), C;
		}),
		(C.tickArguments = function (v) {
			return arguments.length ? ((n = v == null ? [] : Array.from(v)), C) : n.slice();
		}),
		(C.tickValues = function (v) {
			return arguments.length ? ((r = v == null ? null : Array.from(v)), C) : r && r.slice();
		}),
		(C.tickFormat = function (v) {
			return arguments.length ? ((i = v), C) : i;
		}),
		(C.tickSize = function (v) {
			return arguments.length ? ((s = a = +v), C) : s;
		}),
		(C.tickSizeInner = function (v) {
			return arguments.length ? ((s = +v), C) : s;
		}),
		(C.tickSizeOuter = function (v) {
			return arguments.length ? ((a = +v), C) : a;
		}),
		(C.tickPadding = function (v) {
			return arguments.length ? ((k = +v), C) : k;
		}),
		(C.offset = function (v) {
			return arguments.length ? ((Y = +v), C) : Y;
		}),
		C
	);
}
function Qn(t) {
	return Qe(Bt, t);
}
function Jn(t) {
	return Qe(ue, t);
}
const $n = Math.PI / 180,
	Kn = 180 / Math.PI,
	Gt = 18,
	Je = 0.96422,
	$e = 1,
	Ke = 0.82521,
	tn = 4 / 29,
	Ct = 6 / 29,
	en = 3 * Ct * Ct,
	tr = Ct * Ct * Ct;
function nn(t) {
	if (t instanceof ot) return new ot(t.l, t.a, t.b, t.opacity);
	if (t instanceof ut) return rn(t);
	t instanceof Ge || (t = Cn(t));
	var e = ie(t.r),
		n = ie(t.g),
		r = ie(t.b),
		i = ee((0.2225045 * e + 0.7168786 * n + 0.0606169 * r) / $e),
		s,
		a;
	return (
		e === n && n === r
			? (s = a = i)
			: ((s = ee((0.4360747 * e + 0.3850649 * n + 0.1430804 * r) / Je)), (a = ee((0.0139322 * e + 0.0971045 * n + 0.7141733 * r) / Ke))),
		new ot(116 * i - 16, 500 * (s - i), 200 * (i - a), t.opacity)
	);
}
function er(t, e, n, r) {
	return arguments.length === 1 ? nn(t) : new ot(t, e, n, r ?? 1);
}
function ot(t, e, n, r) {
	(this.l = +t), (this.a = +e), (this.b = +n), (this.opacity = +r);
}
Xe(
	ot,
	er,
	qe(je, {
		brighter(t) {
			return new ot(this.l + Gt * (t ?? 1), this.a, this.b, this.opacity);
		},
		darker(t) {
			return new ot(this.l - Gt * (t ?? 1), this.a, this.b, this.opacity);
		},
		rgb() {
			var t = (this.l + 16) / 116,
				e = isNaN(this.a) ? t : t + this.a / 500,
				n = isNaN(this.b) ? t : t - this.b / 200;
			return (
				(e = Je * ne(e)),
				(t = $e * ne(t)),
				(n = Ke * ne(n)),
				new Ge(
					re(3.1338561 * e - 1.6168667 * t - 0.4906146 * n),
					re(-0.9787684 * e + 1.9161415 * t + 0.033454 * n),
					re(0.0719453 * e - 0.2289914 * t + 1.4052427 * n),
					this.opacity
				)
			);
		},
	})
);
function ee(t) {
	return t > tr ? Math.pow(t, 1 / 3) : t / en + tn;
}
function ne(t) {
	return t > Ct ? t * t * t : en * (t - tn);
}
function re(t) {
	return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055);
}
function ie(t) {
	return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
}
function nr(t) {
	if (t instanceof ut) return new ut(t.h, t.c, t.l, t.opacity);
	if ((t instanceof ot || (t = nn(t)), t.a === 0 && t.b === 0)) return new ut(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity);
	var e = Math.atan2(t.b, t.a) * Kn;
	return new ut(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity);
}
function fe(t, e, n, r) {
	return arguments.length === 1 ? nr(t) : new ut(t, e, n, r ?? 1);
}
function ut(t, e, n, r) {
	(this.h = +t), (this.c = +e), (this.l = +n), (this.opacity = +r);
}
function rn(t) {
	if (isNaN(t.h)) return new ot(t.l, 0, 0, t.opacity);
	var e = t.h * $n;
	return new ot(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity);
}
Xe(
	ut,
	fe,
	qe(je, {
		brighter(t) {
			return new ut(this.h, this.c, this.l + Gt * (t ?? 1), this.opacity);
		},
		darker(t) {
			return new ut(this.h, this.c, this.l - Gt * (t ?? 1), this.opacity);
		},
		rgb() {
			return rn(this).rgb();
		},
	})
);
function rr(t) {
	return function (e, n) {
		var r = t((e = fe(e)).h, (n = fe(n)).h),
			i = Kt(e.c, n.c),
			s = Kt(e.l, n.l),
			a = Kt(e.opacity, n.opacity);
		return function (k) {
			return (e.h = r(k)), (e.c = i(k)), (e.l = s(k)), (e.opacity = a(k)), e + '';
		};
	};
}
const ir = rr(Mn);
function sr(t, e) {
	t = t.slice();
	var n = 0,
		r = t.length - 1,
		i = t[n],
		s = t[r],
		a;
	return s < i && ((a = n), (n = r), (r = a), (a = i), (i = s), (s = a)), (t[n] = e.floor(i)), (t[r] = e.ceil(s)), t;
}
const se = new Date(),
	ae = new Date();
function K(t, e, n, r) {
	function i(s) {
		return t((s = arguments.length === 0 ? new Date() : new Date(+s))), s;
	}
	return (
		(i.floor = (s) => (t((s = new Date(+s))), s)),
		(i.ceil = (s) => (t((s = new Date(s - 1))), e(s, 1), t(s), s)),
		(i.round = (s) => {
			const a = i(s),
				k = i.ceil(s);
			return s - a < k - s ? a : k;
		}),
		(i.offset = (s, a) => (e((s = new Date(+s)), a == null ? 1 : Math.floor(a)), s)),
		(i.range = (s, a, k) => {
			const Y = [];
			if (((s = i.ceil(s)), (k = k == null ? 1 : Math.floor(k)), !(s < a) || !(k > 0))) return Y;
			let g;
			do Y.push((g = new Date(+s))), e(s, k), t(s);
			while (g < s && s < a);
			return Y;
		}),
		(i.filter = (s) =>
			K(
				(a) => {
					if (a >= a) for (; t(a), !s(a); ) a.setTime(a - 1);
				},
				(a, k) => {
					if (a >= a)
						if (k < 0) for (; ++k <= 0; ) for (; e(a, -1), !s(a); );
						else for (; --k >= 0; ) for (; e(a, 1), !s(a); );
				}
			)),
		n &&
			((i.count = (s, a) => (se.setTime(+s), ae.setTime(+a), t(se), t(ae), Math.floor(n(se, ae)))),
			(i.every = (s) => (
				(s = Math.floor(s)), !isFinite(s) || !(s > 0) ? null : s > 1 ? i.filter(r ? (a) => r(a) % s === 0 : (a) => i.count(0, a) % s === 0) : i
			))),
		i
	);
}
const Dt = K(
	() => {},
	(t, e) => {
		t.setTime(+t + e);
	},
	(t, e) => e - t
);
Dt.every = (t) => (
	(t = Math.floor(t)),
	!isFinite(t) || !(t > 0)
		? null
		: t > 1
		? K(
				(e) => {
					e.setTime(Math.floor(e / t) * t);
				},
				(e, n) => {
					e.setTime(+e + n * t);
				},
				(e, n) => (n - e) / t
		  )
		: Dt
);
Dt.range;
const ft = 1e3,
	rt = ft * 60,
	ht = rt * 60,
	dt = ht * 24,
	ve = dt * 7,
	Ae = dt * 30,
	oe = dt * 365,
	gt = K(
		(t) => {
			t.setTime(t - t.getMilliseconds());
		},
		(t, e) => {
			t.setTime(+t + e * ft);
		},
		(t, e) => (e - t) / ft,
		(t) => t.getUTCSeconds()
	);
gt.range;
const At = K(
	(t) => {
		t.setTime(t - t.getMilliseconds() - t.getSeconds() * ft);
	},
	(t, e) => {
		t.setTime(+t + e * rt);
	},
	(t, e) => (e - t) / rt,
	(t) => t.getMinutes()
);
At.range;
const ar = K(
	(t) => {
		t.setUTCSeconds(0, 0);
	},
	(t, e) => {
		t.setTime(+t + e * rt);
	},
	(t, e) => (e - t) / rt,
	(t) => t.getUTCMinutes()
);
ar.range;
const Et = K(
	(t) => {
		t.setTime(t - t.getMilliseconds() - t.getSeconds() * ft - t.getMinutes() * rt);
	},
	(t, e) => {
		t.setTime(+t + e * ht);
	},
	(t, e) => (e - t) / ht,
	(t) => t.getHours()
);
Et.range;
const or = K(
	(t) => {
		t.setUTCMinutes(0, 0, 0);
	},
	(t, e) => {
		t.setTime(+t + e * ht);
	},
	(t, e) => (e - t) / ht,
	(t) => t.getUTCHours()
);
or.range;
const yt = K(
	(t) => t.setHours(0, 0, 0, 0),
	(t, e) => t.setDate(t.getDate() + e),
	(t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * rt) / dt,
	(t) => t.getDate() - 1
);
yt.range;
const be = K(
	(t) => {
		t.setUTCHours(0, 0, 0, 0);
	},
	(t, e) => {
		t.setUTCDate(t.getUTCDate() + e);
	},
	(t, e) => (e - t) / dt,
	(t) => t.getUTCDate() - 1
);
be.range;
const cr = K(
	(t) => {
		t.setUTCHours(0, 0, 0, 0);
	},
	(t, e) => {
		t.setUTCDate(t.getUTCDate() + e);
	},
	(t, e) => (e - t) / dt,
	(t) => Math.floor(t / dt)
);
cr.range;
function Tt(t) {
	return K(
		(e) => {
			e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), e.setHours(0, 0, 0, 0);
		},
		(e, n) => {
			e.setDate(e.getDate() + n * 7);
		},
		(e, n) => (n - e - (n.getTimezoneOffset() - e.getTimezoneOffset()) * rt) / ve
	);
}
const Ot = Tt(0),
	It = Tt(1),
	sn = Tt(2),
	an = Tt(3),
	kt = Tt(4),
	on = Tt(5),
	cn = Tt(6);
Ot.range;
It.range;
sn.range;
an.range;
kt.range;
on.range;
cn.range;
function vt(t) {
	return K(
		(e) => {
			e.setUTCDate(e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7)), e.setUTCHours(0, 0, 0, 0);
		},
		(e, n) => {
			e.setUTCDate(e.getUTCDate() + n * 7);
		},
		(e, n) => (n - e) / ve
	);
}
const ln = vt(0),
	jt = vt(1),
	lr = vt(2),
	ur = vt(3),
	St = vt(4),
	fr = vt(5),
	hr = vt(6);
ln.range;
jt.range;
lr.range;
ur.range;
St.range;
fr.range;
hr.range;
const Wt = K(
	(t) => {
		t.setDate(1), t.setHours(0, 0, 0, 0);
	},
	(t, e) => {
		t.setMonth(t.getMonth() + e);
	},
	(t, e) => e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12,
	(t) => t.getMonth()
);
Wt.range;
const dr = K(
	(t) => {
		t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0);
	},
	(t, e) => {
		t.setUTCMonth(t.getUTCMonth() + e);
	},
	(t, e) => e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12,
	(t) => t.getUTCMonth()
);
dr.range;
const mt = K(
	(t) => {
		t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
	},
	(t, e) => {
		t.setFullYear(t.getFullYear() + e);
	},
	(t, e) => e.getFullYear() - t.getFullYear(),
	(t) => t.getFullYear()
);
mt.every = (t) =>
	!isFinite((t = Math.floor(t))) || !(t > 0)
		? null
		: K(
				(e) => {
					e.setFullYear(Math.floor(e.getFullYear() / t) * t), e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
				},
				(e, n) => {
					e.setFullYear(e.getFullYear() + n * t);
				}
		  );
mt.range;
const pt = K(
	(t) => {
		t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
	},
	(t, e) => {
		t.setUTCFullYear(t.getUTCFullYear() + e);
	},
	(t, e) => e.getUTCFullYear() - t.getUTCFullYear(),
	(t) => t.getUTCFullYear()
);
pt.every = (t) =>
	!isFinite((t = Math.floor(t))) || !(t > 0)
		? null
		: K(
				(e) => {
					e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
				},
				(e, n) => {
					e.setUTCFullYear(e.getUTCFullYear() + n * t);
				}
		  );
pt.range;
function mr(t, e, n, r, i, s) {
	const a = [
		[gt, 1, ft],
		[gt, 5, 5 * ft],
		[gt, 15, 15 * ft],
		[gt, 30, 30 * ft],
		[s, 1, rt],
		[s, 5, 5 * rt],
		[s, 15, 15 * rt],
		[s, 30, 30 * rt],
		[i, 1, ht],
		[i, 3, 3 * ht],
		[i, 6, 6 * ht],
		[i, 12, 12 * ht],
		[r, 1, dt],
		[r, 2, 2 * dt],
		[n, 1, ve],
		[e, 1, Ae],
		[e, 3, 3 * Ae],
		[t, 1, oe],
	];
	function k(g, b, U) {
		const C = b < g;
		C && ([g, b] = [b, g]);
		const v = U && typeof U.range == 'function' ? U : Y(g, b, U),
			q = v ? v.range(g, +b + 1) : [];
		return C ? q.reverse() : q;
	}
	function Y(g, b, U) {
		const C = Math.abs(b - g) / U,
			v = On(([, , L]) => L).right(a, C);
		if (v === a.length) return t.every(Fe(g / oe, b / oe, U));
		if (v === 0) return Dt.every(Math.max(Fe(g, b, U), 1));
		const [q, y] = a[C / a[v - 1][2] < a[v][2] / C ? v - 1 : v];
		return q.every(y);
	}
	return [k, Y];
}
const [gr, yr] = mr(mt, Wt, Ot, yt, Et, At);
function ce(t) {
	if (0 <= t.y && t.y < 100) {
		var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L);
		return e.setFullYear(t.y), e;
	}
	return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L);
}
function le(t) {
	if (0 <= t.y && t.y < 100) {
		var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L));
		return e.setUTCFullYear(t.y), e;
	}
	return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L));
}
function Yt(t, e, n) {
	return { y: t, m: e, d: n, H: 0, M: 0, S: 0, L: 0 };
}
function kr(t) {
	var e = t.dateTime,
		n = t.date,
		r = t.time,
		i = t.periods,
		s = t.days,
		a = t.shortDays,
		k = t.months,
		Y = t.shortMonths,
		g = Ft(i),
		b = Lt(i),
		U = Ft(s),
		C = Lt(s),
		v = Ft(a),
		q = Lt(a),
		y = Ft(k),
		L = Lt(k),
		O = Ft(Y),
		W = Lt(Y),
		B = {
			a: c,
			A: X,
			b: f,
			B: h,
			c: null,
			d: Ne,
			e: Ne,
			f: Vr,
			g: Qr,
			G: $r,
			H: Or,
			I: Hr,
			j: Nr,
			L: un,
			m: zr,
			M: Pr,
			p: _,
			q: G,
			Q: Pe,
			s: Re,
			S: Rr,
			u: Br,
			U: Zr,
			V: Xr,
			w: qr,
			W: Gr,
			x: null,
			X: null,
			y: jr,
			Y: Jr,
			Z: Kr,
			'%': ze,
		},
		Z = {
			a: H,
			A: V,
			b: I,
			B: z,
			c: null,
			d: Ve,
			e: Ve,
			f: ri,
			g: di,
			G: gi,
			H: ti,
			I: ei,
			j: ni,
			L: hn,
			m: ii,
			M: si,
			p: st,
			q: it,
			Q: Pe,
			s: Re,
			S: ai,
			u: oi,
			U: ci,
			V: li,
			w: ui,
			W: fi,
			x: null,
			X: null,
			y: hi,
			Y: mi,
			Z: yi,
			'%': ze,
		},
		Q = {
			a: M,
			A: w,
			b: o,
			B: d,
			c: m,
			d: Oe,
			e: Oe,
			f: Ar,
			g: We,
			G: Ie,
			H: He,
			I: He,
			j: Ur,
			L: Lr,
			m: _r,
			M: Yr,
			p: F,
			q: Sr,
			Q: Ir,
			s: Wr,
			S: Fr,
			u: xr,
			U: wr,
			V: Cr,
			w: br,
			W: Mr,
			x: u,
			X: S,
			y: We,
			Y: Ie,
			Z: Dr,
			'%': Er,
		};
	(B.x = x(n, B)), (B.X = x(r, B)), (B.c = x(e, B)), (Z.x = x(n, Z)), (Z.X = x(r, Z)), (Z.c = x(e, Z));
	function x(p, A) {
		return function (D) {
			var l = [],
				R = -1,
				N = 0,
				j = p.length,
				J,
				et,
				Ut;
			for (D instanceof Date || (D = new Date(+D)); ++R < j; )
				p.charCodeAt(R) === 37 &&
					(l.push(p.slice(N, R)),
					(et = Ee[(J = p.charAt(++R))]) != null ? (J = p.charAt(++R)) : (et = J === 'e' ? ' ' : '0'),
					(Ut = A[J]) && (J = Ut(D, et)),
					l.push(J),
					(N = R + 1));
			return l.push(p.slice(N, R)), l.join('');
		};
	}
	function E(p, A) {
		return function (D) {
			var l = Yt(1900, void 0, 1),
				R = T(l, p, (D += ''), 0),
				N,
				j;
			if (R != D.length) return null;
			if ('Q' in l) return new Date(l.Q);
			if ('s' in l) return new Date(l.s * 1e3 + ('L' in l ? l.L : 0));
			if ((A && !('Z' in l) && (l.Z = 0), 'p' in l && (l.H = (l.H % 12) + l.p * 12), l.m === void 0 && (l.m = 'q' in l ? l.q : 0), 'V' in l)) {
				if (l.V < 1 || l.V > 53) return null;
				'w' in l || (l.w = 1),
					'Z' in l
						? ((N = le(Yt(l.y, 0, 1))),
						  (j = N.getUTCDay()),
						  (N = j > 4 || j === 0 ? jt.ceil(N) : jt(N)),
						  (N = be.offset(N, (l.V - 1) * 7)),
						  (l.y = N.getUTCFullYear()),
						  (l.m = N.getUTCMonth()),
						  (l.d = N.getUTCDate() + ((l.w + 6) % 7)))
						: ((N = ce(Yt(l.y, 0, 1))),
						  (j = N.getDay()),
						  (N = j > 4 || j === 0 ? It.ceil(N) : It(N)),
						  (N = yt.offset(N, (l.V - 1) * 7)),
						  (l.y = N.getFullYear()),
						  (l.m = N.getMonth()),
						  (l.d = N.getDate() + ((l.w + 6) % 7)));
			} else
				('W' in l || 'U' in l) &&
					('w' in l || (l.w = 'u' in l ? l.u % 7 : 'W' in l ? 1 : 0),
					(j = 'Z' in l ? le(Yt(l.y, 0, 1)).getUTCDay() : ce(Yt(l.y, 0, 1)).getDay()),
					(l.m = 0),
					(l.d = 'W' in l ? ((l.w + 6) % 7) + l.W * 7 - ((j + 5) % 7) : l.w + l.U * 7 - ((j + 6) % 7)));
			return 'Z' in l ? ((l.H += (l.Z / 100) | 0), (l.M += l.Z % 100), le(l)) : ce(l);
		};
	}
	function T(p, A, D, l) {
		for (var R = 0, N = A.length, j = D.length, J, et; R < N; ) {
			if (l >= j) return -1;
			if (((J = A.charCodeAt(R++)), J === 37)) {
				if (((J = A.charAt(R++)), (et = Q[J in Ee ? A.charAt(R++) : J]), !et || (l = et(p, D, l)) < 0)) return -1;
			} else if (J != D.charCodeAt(l++)) return -1;
		}
		return l;
	}
	function F(p, A, D) {
		var l = g.exec(A.slice(D));
		return l ? ((p.p = b.get(l[0].toLowerCase())), D + l[0].length) : -1;
	}
	function M(p, A, D) {
		var l = v.exec(A.slice(D));
		return l ? ((p.w = q.get(l[0].toLowerCase())), D + l[0].length) : -1;
	}
	function w(p, A, D) {
		var l = U.exec(A.slice(D));
		return l ? ((p.w = C.get(l[0].toLowerCase())), D + l[0].length) : -1;
	}
	function o(p, A, D) {
		var l = O.exec(A.slice(D));
		return l ? ((p.m = W.get(l[0].toLowerCase())), D + l[0].length) : -1;
	}
	function d(p, A, D) {
		var l = y.exec(A.slice(D));
		return l ? ((p.m = L.get(l[0].toLowerCase())), D + l[0].length) : -1;
	}
	function m(p, A, D) {
		return T(p, e, A, D);
	}
	function u(p, A, D) {
		return T(p, n, A, D);
	}
	function S(p, A, D) {
		return T(p, r, A, D);
	}
	function c(p) {
		return a[p.getDay()];
	}
	function X(p) {
		return s[p.getDay()];
	}
	function f(p) {
		return Y[p.getMonth()];
	}
	function h(p) {
		return k[p.getMonth()];
	}
	function _(p) {
		return i[+(p.getHours() >= 12)];
	}
	function G(p) {
		return 1 + ~~(p.getMonth() / 3);
	}
	function H(p) {
		return a[p.getUTCDay()];
	}
	function V(p) {
		return s[p.getUTCDay()];
	}
	function I(p) {
		return Y[p.getUTCMonth()];
	}
	function z(p) {
		return k[p.getUTCMonth()];
	}
	function st(p) {
		return i[+(p.getUTCHours() >= 12)];
	}
	function it(p) {
		return 1 + ~~(p.getUTCMonth() / 3);
	}
	return {
		format: function (p) {
			var A = x((p += ''), B);
			return (
				(A.toString = function () {
					return p;
				}),
				A
			);
		},
		parse: function (p) {
			var A = E((p += ''), !1);
			return (
				(A.toString = function () {
					return p;
				}),
				A
			);
		},
		utcFormat: function (p) {
			var A = x((p += ''), Z);
			return (
				(A.toString = function () {
					return p;
				}),
				A
			);
		},
		utcParse: function (p) {
			var A = E((p += ''), !0);
			return (
				(A.toString = function () {
					return p;
				}),
				A
			);
		},
	};
}
var Ee = { '-': '', _: ' ', 0: '0' },
	tt = /^\s*\d+/,
	pr = /^%/,
	Tr = /[\\^$*+?|[\]().{}]/g;
function P(t, e, n) {
	var r = t < 0 ? '-' : '',
		i = (r ? -t : t) + '',
		s = i.length;
	return r + (s < n ? new Array(n - s + 1).join(e) + i : i);
}
function vr(t) {
	return t.replace(Tr, '\\$&');
}
function Ft(t) {
	return new RegExp('^(?:' + t.map(vr).join('|') + ')', 'i');
}
function Lt(t) {
	return new Map(t.map((e, n) => [e.toLowerCase(), n]));
}
function br(t, e, n) {
	var r = tt.exec(e.slice(n, n + 1));
	return r ? ((t.w = +r[0]), n + r[0].length) : -1;
}
function xr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 1));
	return r ? ((t.u = +r[0]), n + r[0].length) : -1;
}
function wr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.U = +r[0]), n + r[0].length) : -1;
}
function Cr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.V = +r[0]), n + r[0].length) : -1;
}
function Mr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.W = +r[0]), n + r[0].length) : -1;
}
function Ie(t, e, n) {
	var r = tt.exec(e.slice(n, n + 4));
	return r ? ((t.y = +r[0]), n + r[0].length) : -1;
}
function We(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3)), n + r[0].length) : -1;
}
function Dr(t, e, n) {
	var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n, n + 6));
	return r ? ((t.Z = r[1] ? 0 : -(r[2] + (r[3] || '00'))), n + r[0].length) : -1;
}
function Sr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 1));
	return r ? ((t.q = r[0] * 3 - 3), n + r[0].length) : -1;
}
function _r(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.m = r[0] - 1), n + r[0].length) : -1;
}
function Oe(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.d = +r[0]), n + r[0].length) : -1;
}
function Ur(t, e, n) {
	var r = tt.exec(e.slice(n, n + 3));
	return r ? ((t.m = 0), (t.d = +r[0]), n + r[0].length) : -1;
}
function He(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.H = +r[0]), n + r[0].length) : -1;
}
function Yr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.M = +r[0]), n + r[0].length) : -1;
}
function Fr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 2));
	return r ? ((t.S = +r[0]), n + r[0].length) : -1;
}
function Lr(t, e, n) {
	var r = tt.exec(e.slice(n, n + 3));
	return r ? ((t.L = +r[0]), n + r[0].length) : -1;
}
function Ar(t, e, n) {
	var r = tt.exec(e.slice(n, n + 6));
	return r ? ((t.L = Math.floor(r[0] / 1e3)), n + r[0].length) : -1;
}
function Er(t, e, n) {
	var r = pr.exec(e.slice(n, n + 1));
	return r ? n + r[0].length : -1;
}
function Ir(t, e, n) {
	var r = tt.exec(e.slice(n));
	return r ? ((t.Q = +r[0]), n + r[0].length) : -1;
}
function Wr(t, e, n) {
	var r = tt.exec(e.slice(n));
	return r ? ((t.s = +r[0]), n + r[0].length) : -1;
}
function Ne(t, e) {
	return P(t.getDate(), e, 2);
}
function Or(t, e) {
	return P(t.getHours(), e, 2);
}
function Hr(t, e) {
	return P(t.getHours() % 12 || 12, e, 2);
}
function Nr(t, e) {
	return P(1 + yt.count(mt(t), t), e, 3);
}
function un(t, e) {
	return P(t.getMilliseconds(), e, 3);
}
function Vr(t, e) {
	return un(t, e) + '000';
}
function zr(t, e) {
	return P(t.getMonth() + 1, e, 2);
}
function Pr(t, e) {
	return P(t.getMinutes(), e, 2);
}
function Rr(t, e) {
	return P(t.getSeconds(), e, 2);
}
function Br(t) {
	var e = t.getDay();
	return e === 0 ? 7 : e;
}
function Zr(t, e) {
	return P(Ot.count(mt(t) - 1, t), e, 2);
}
function fn(t) {
	var e = t.getDay();
	return e >= 4 || e === 0 ? kt(t) : kt.ceil(t);
}
function Xr(t, e) {
	return (t = fn(t)), P(kt.count(mt(t), t) + (mt(t).getDay() === 4), e, 2);
}
function qr(t) {
	return t.getDay();
}
function Gr(t, e) {
	return P(It.count(mt(t) - 1, t), e, 2);
}
function jr(t, e) {
	return P(t.getFullYear() % 100, e, 2);
}
function Qr(t, e) {
	return (t = fn(t)), P(t.getFullYear() % 100, e, 2);
}
function Jr(t, e) {
	return P(t.getFullYear() % 1e4, e, 4);
}
function $r(t, e) {
	var n = t.getDay();
	return (t = n >= 4 || n === 0 ? kt(t) : kt.ceil(t)), P(t.getFullYear() % 1e4, e, 4);
}
function Kr(t) {
	var e = t.getTimezoneOffset();
	return (e > 0 ? '-' : ((e *= -1), '+')) + P((e / 60) | 0, '0', 2) + P(e % 60, '0', 2);
}
function Ve(t, e) {
	return P(t.getUTCDate(), e, 2);
}
function ti(t, e) {
	return P(t.getUTCHours(), e, 2);
}
function ei(t, e) {
	return P(t.getUTCHours() % 12 || 12, e, 2);
}
function ni(t, e) {
	return P(1 + be.count(pt(t), t), e, 3);
}
function hn(t, e) {
	return P(t.getUTCMilliseconds(), e, 3);
}
function ri(t, e) {
	return hn(t, e) + '000';
}
function ii(t, e) {
	return P(t.getUTCMonth() + 1, e, 2);
}
function si(t, e) {
	return P(t.getUTCMinutes(), e, 2);
}
function ai(t, e) {
	return P(t.getUTCSeconds(), e, 2);
}
function oi(t) {
	var e = t.getUTCDay();
	return e === 0 ? 7 : e;
}
function ci(t, e) {
	return P(ln.count(pt(t) - 1, t), e, 2);
}
function dn(t) {
	var e = t.getUTCDay();
	return e >= 4 || e === 0 ? St(t) : St.ceil(t);
}
function li(t, e) {
	return (t = dn(t)), P(St.count(pt(t), t) + (pt(t).getUTCDay() === 4), e, 2);
}
function ui(t) {
	return t.getUTCDay();
}
function fi(t, e) {
	return P(jt.count(pt(t) - 1, t), e, 2);
}
function hi(t, e) {
	return P(t.getUTCFullYear() % 100, e, 2);
}
function di(t, e) {
	return (t = dn(t)), P(t.getUTCFullYear() % 100, e, 2);
}
function mi(t, e) {
	return P(t.getUTCFullYear() % 1e4, e, 4);
}
function gi(t, e) {
	var n = t.getUTCDay();
	return (t = n >= 4 || n === 0 ? St(t) : St.ceil(t)), P(t.getUTCFullYear() % 1e4, e, 4);
}
function yi() {
	return '+0000';
}
function ze() {
	return '%';
}
function Pe(t) {
	return +t;
}
function Re(t) {
	return Math.floor(+t / 1e3);
}
var xt, Qt;
ki({
	dateTime: '%x, %X',
	date: '%-m/%-d/%Y',
	time: '%-I:%M:%S %p',
	periods: ['AM', 'PM'],
	days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
	shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
	months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
	shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
});
function ki(t) {
	return (xt = kr(t)), (Qt = xt.format), xt.parse, xt.utcFormat, xt.utcParse, xt;
}
function pi(t) {
	return new Date(t);
}
function Ti(t) {
	return t instanceof Date ? +t : +new Date(+t);
}
function mn(t, e, n, r, i, s, a, k, Y, g) {
	var b = Hn(),
		U = b.invert,
		C = b.domain,
		v = g('.%L'),
		q = g(':%S'),
		y = g('%I:%M'),
		L = g('%I %p'),
		O = g('%a %d'),
		W = g('%b %d'),
		B = g('%B'),
		Z = g('%Y');
	function Q(x) {
		return (Y(x) < x ? v : k(x) < x ? q : a(x) < x ? y : s(x) < x ? L : r(x) < x ? (i(x) < x ? O : W) : n(x) < x ? B : Z)(x);
	}
	return (
		(b.invert = function (x) {
			return new Date(U(x));
		}),
		(b.domain = function (x) {
			return arguments.length ? C(Array.from(x, Ti)) : C().map(pi);
		}),
		(b.ticks = function (x) {
			var E = C();
			return t(E[0], E[E.length - 1], x ?? 10);
		}),
		(b.tickFormat = function (x, E) {
			return E == null ? Q : g(E);
		}),
		(b.nice = function (x) {
			var E = C();
			return (!x || typeof x.range != 'function') && (x = e(E[0], E[E.length - 1], x ?? 10)), x ? C(sr(E, x)) : b;
		}),
		(b.copy = function () {
			return Nn(b, mn(t, e, n, r, i, s, a, k, Y, g));
		}),
		b
	);
}
function vi() {
	return zn.apply(mn(gr, yr, mt, Wt, Ot, yt, Et, At, gt, Qt).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
}
var he = {},
	bi = {
		get exports() {
			return he;
		},
		set exports(t) {
			he = t;
		},
	};
(function (t, e) {
	(function (n, r) {
		t.exports = r();
	})(Te, function () {
		var n = 'day';
		return function (r, i, s) {
			var a = function (g) {
					return g.add(4 - g.isoWeekday(), n);
				},
				k = i.prototype;
			(k.isoWeekYear = function () {
				return a(this).year();
			}),
				(k.isoWeek = function (g) {
					if (!this.$utils().u(g)) return this.add(7 * (g - this.isoWeek()), n);
					var b,
						U,
						C,
						v,
						q = a(this),
						y =
							((b = this.isoWeekYear()),
							(U = this.$u),
							(C = (U ? s.utc : s)().year(b).startOf('year')),
							(v = 4 - C.isoWeekday()),
							C.isoWeekday() > 4 && (v += 7),
							C.add(v, n));
					return q.diff(y, 'week') + 1;
				}),
				(k.isoWeekday = function (g) {
					return this.$utils().u(g) ? this.day() || 7 : this.day(this.day() % 7 ? g : g - 7);
				});
			var Y = k.startOf;
			k.startOf = function (g, b) {
				var U = this.$utils(),
					C = !!U.u(b) || b;
				return U.p(g) === 'isoweek'
					? C
						? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day')
						: this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf('day')
					: Y.bind(this)(g, b);
			};
		};
	});
})(bi);
const xi = he;
var de = {},
	wi = {
		get exports() {
			return de;
		},
		set exports(t) {
			de = t;
		},
	};
(function (t, e) {
	(function (n, r) {
		t.exports = r();
	})(Te, function () {
		var n = { 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' },
			r = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,
			i = /\d\d/,
			s = /\d\d?/,
			a = /\d*[^-_:/,()\s\d]+/,
			k = {},
			Y = function (y) {
				return (y = +y) + (y > 68 ? 1900 : 2e3);
			},
			g = function (y) {
				return function (L) {
					this[y] = +L;
				};
			},
			b = [
				/[+-]\d\d:?(\d\d)?|Z/,
				function (y) {
					(this.zone || (this.zone = {})).offset = (function (L) {
						if (!L || L === 'Z') return 0;
						var O = L.match(/([+-]|\d\d)/g),
							W = 60 * O[1] + (+O[2] || 0);
						return W === 0 ? 0 : O[0] === '+' ? -W : W;
					})(y);
				},
			],
			U = function (y) {
				var L = k[y];
				return L && (L.indexOf ? L : L.s.concat(L.f));
			},
			C = function (y, L) {
				var O,
					W = k.meridiem;
				if (W) {
					for (var B = 1; B <= 24; B += 1)
						if (y.indexOf(W(B, 0, L)) > -1) {
							O = B > 12;
							break;
						}
				} else O = y === (L ? 'pm' : 'PM');
				return O;
			},
			v = {
				A: [
					a,
					function (y) {
						this.afternoon = C(y, !1);
					},
				],
				a: [
					a,
					function (y) {
						this.afternoon = C(y, !0);
					},
				],
				S: [
					/\d/,
					function (y) {
						this.milliseconds = 100 * +y;
					},
				],
				SS: [
					i,
					function (y) {
						this.milliseconds = 10 * +y;
					},
				],
				SSS: [
					/\d{3}/,
					function (y) {
						this.milliseconds = +y;
					},
				],
				s: [s, g('seconds')],
				ss: [s, g('seconds')],
				m: [s, g('minutes')],
				mm: [s, g('minutes')],
				H: [s, g('hours')],
				h: [s, g('hours')],
				HH: [s, g('hours')],
				hh: [s, g('hours')],
				D: [s, g('day')],
				DD: [i, g('day')],
				Do: [
					a,
					function (y) {
						var L = k.ordinal,
							O = y.match(/\d+/);
						if (((this.day = O[0]), L)) for (var W = 1; W <= 31; W += 1) L(W).replace(/\[|\]/g, '') === y && (this.day = W);
					},
				],
				M: [s, g('month')],
				MM: [i, g('month')],
				MMM: [
					a,
					function (y) {
						var L = U('months'),
							O =
								(
									U('monthsShort') ||
									L.map(function (W) {
										return W.slice(0, 3);
									})
								).indexOf(y) + 1;
						if (O < 1) throw new Error();
						this.month = O % 12 || O;
					},
				],
				MMMM: [
					a,
					function (y) {
						var L = U('months').indexOf(y) + 1;
						if (L < 1) throw new Error();
						this.month = L % 12 || L;
					},
				],
				Y: [/[+-]?\d+/, g('year')],
				YY: [
					i,
					function (y) {
						this.year = Y(y);
					},
				],
				YYYY: [/\d{4}/, g('year')],
				Z: b,
				ZZ: b,
			};
		function q(y) {
			var L, O;
			(L = y), (O = k && k.formats);
			for (
				var W = (y = L.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (F, M, w) {
						var o = w && w.toUpperCase();
						return (
							M ||
							O[w] ||
							n[w] ||
							O[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (d, m, u) {
								return m || u.slice(1);
							})
						);
					})).match(r),
					B = W.length,
					Z = 0;
				Z < B;
				Z += 1
			) {
				var Q = W[Z],
					x = v[Q],
					E = x && x[0],
					T = x && x[1];
				W[Z] = T ? { regex: E, parser: T } : Q.replace(/^\[|\]$/g, '');
			}
			return function (F) {
				for (var M = {}, w = 0, o = 0; w < B; w += 1) {
					var d = W[w];
					if (typeof d == 'string') o += d.length;
					else {
						var m = d.regex,
							u = d.parser,
							S = F.slice(o),
							c = m.exec(S)[0];
						u.call(M, c), (F = F.replace(c, ''));
					}
				}
				return (
					(function (X) {
						var f = X.afternoon;
						if (f !== void 0) {
							var h = X.hours;
							f ? h < 12 && (X.hours += 12) : h === 12 && (X.hours = 0), delete X.afternoon;
						}
					})(M),
					M
				);
			};
		}
		return function (y, L, O) {
			(O.p.customParseFormat = !0), y && y.parseTwoDigitYear && (Y = y.parseTwoDigitYear);
			var W = L.prototype,
				B = W.parse;
			W.parse = function (Z) {
				var Q = Z.date,
					x = Z.utc,
					E = Z.args;
				this.$u = x;
				var T = E[1];
				if (typeof T == 'string') {
					var F = E[2] === !0,
						M = E[3] === !0,
						w = F || M,
						o = E[2];
					M && (o = E[2]),
						(k = this.$locale()),
						!F && o && (k = O.Ls[o]),
						(this.$d = (function (S, c, X) {
							try {
								if (['x', 'X'].indexOf(c) > -1) return new Date((c === 'X' ? 1e3 : 1) * S);
								var f = q(c)(S),
									h = f.year,
									_ = f.month,
									G = f.day,
									H = f.hours,
									V = f.minutes,
									I = f.seconds,
									z = f.milliseconds,
									st = f.zone,
									it = new Date(),
									p = G || (h || _ ? 1 : it.getDate()),
									A = h || it.getFullYear(),
									D = 0;
								(h && !_) || (D = _ > 0 ? _ - 1 : it.getMonth());
								var l = H || 0,
									R = V || 0,
									N = I || 0,
									j = z || 0;
								return st
									? new Date(Date.UTC(A, D, p, l, R, N, j + 60 * st.offset * 1e3))
									: X
									? new Date(Date.UTC(A, D, p, l, R, N, j))
									: new Date(A, D, p, l, R, N, j);
							} catch {
								return new Date('');
							}
						})(Q, T, x)),
						this.init(),
						o && o !== !0 && (this.$L = this.locale(o).$L),
						w && Q != this.format(T) && (this.$d = new Date('')),
						(k = {});
				} else if (T instanceof Array)
					for (var d = T.length, m = 1; m <= d; m += 1) {
						E[1] = T[m - 1];
						var u = O.apply(this, E);
						if (u.isValid()) {
							(this.$d = u.$d), (this.$L = u.$L), this.init();
							break;
						}
						m === d && (this.$d = new Date(''));
					}
				else B.call(this, Z);
			};
		};
	});
})(wi);
const Ci = de;
var me = {},
	Mi = {
		get exports() {
			return me;
		},
		set exports(t) {
			me = t;
		},
	};
(function (t, e) {
	(function (n, r) {
		t.exports = r();
	})(Te, function () {
		return function (n, r) {
			var i = r.prototype,
				s = i.format;
			i.format = function (a) {
				var k = this,
					Y = this.$locale();
				if (!this.isValid()) return s.bind(this)(a);
				var g = this.$utils(),
					b = (a || 'YYYY-MM-DDTHH:mm:ssZ').replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function (U) {
						switch (U) {
							case 'Q':
								return Math.ceil((k.$M + 1) / 3);
							case 'Do':
								return Y.ordinal(k.$D);
							case 'gggg':
								return k.weekYear();
							case 'GGGG':
								return k.isoWeekYear();
							case 'wo':
								return Y.ordinal(k.week(), 'W');
							case 'w':
							case 'ww':
								return g.s(k.week(), U === 'w' ? 1 : 2, '0');
							case 'W':
							case 'WW':
								return g.s(k.isoWeek(), U === 'W' ? 1 : 2, '0');
							case 'k':
							case 'kk':
								return g.s(String(k.$H === 0 ? 24 : k.$H), U === 'k' ? 1 : 2, '0');
							case 'X':
								return Math.floor(k.$d.getTime() / 1e3);
							case 'x':
								return k.$d.getTime();
							case 'z':
								return '[' + k.offsetName() + ']';
							case 'zzz':
								return '[' + k.offsetName('long') + ']';
							default:
								return U;
						}
					});
				return s.bind(this)(b);
			};
		};
	});
})(Mi);
const Di = me;
var ge = (function () {
	var t = function (w, o, d, m) {
			for (d = d || {}, m = w.length; m--; d[w[m]] = o);
			return d;
		},
		e = [6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33, 35, 37],
		n = [1, 25],
		r = [1, 26],
		i = [1, 27],
		s = [1, 28],
		a = [1, 29],
		k = [1, 30],
		Y = [1, 31],
		g = [1, 9],
		b = [1, 10],
		U = [1, 11],
		C = [1, 12],
		v = [1, 13],
		q = [1, 14],
		y = [1, 15],
		L = [1, 16],
		O = [1, 18],
		W = [1, 19],
		B = [1, 20],
		Z = [1, 21],
		Q = [1, 22],
		x = [1, 24],
		E = [1, 32],
		T = {
			trace: function () {},
			yy: {},
			symbols_: {
				error: 2,
				start: 3,
				gantt: 4,
				document: 5,
				EOF: 6,
				line: 7,
				SPACE: 8,
				statement: 9,
				NL: 10,
				weekday: 11,
				weekday_monday: 12,
				weekday_tuesday: 13,
				weekday_wednesday: 14,
				weekday_thursday: 15,
				weekday_friday: 16,
				weekday_saturday: 17,
				weekday_sunday: 18,
				dateFormat: 19,
				inclusiveEndDates: 20,
				topAxis: 21,
				axisFormat: 22,
				tickInterval: 23,
				excludes: 24,
				includes: 25,
				todayMarker: 26,
				title: 27,
				acc_title: 28,
				acc_title_value: 29,
				acc_descr: 30,
				acc_descr_value: 31,
				acc_descr_multiline_value: 32,
				section: 33,
				clickStatement: 34,
				taskTxt: 35,
				taskData: 36,
				click: 37,
				callbackname: 38,
				callbackargs: 39,
				href: 40,
				clickStatementDebug: 41,
				$accept: 0,
				$end: 1,
			},
			terminals_: {
				2: 'error',
				4: 'gantt',
				6: 'EOF',
				8: 'SPACE',
				10: 'NL',
				12: 'weekday_monday',
				13: 'weekday_tuesday',
				14: 'weekday_wednesday',
				15: 'weekday_thursday',
				16: 'weekday_friday',
				17: 'weekday_saturday',
				18: 'weekday_sunday',
				19: 'dateFormat',
				20: 'inclusiveEndDates',
				21: 'topAxis',
				22: 'axisFormat',
				23: 'tickInterval',
				24: 'excludes',
				25: 'includes',
				26: 'todayMarker',
				27: 'title',
				28: 'acc_title',
				29: 'acc_title_value',
				30: 'acc_descr',
				31: 'acc_descr_value',
				32: 'acc_descr_multiline_value',
				33: 'section',
				35: 'taskTxt',
				36: 'taskData',
				37: 'click',
				38: 'callbackname',
				39: 'callbackargs',
				40: 'href',
			},
			productions_: [
				0,
				[3, 3],
				[5, 0],
				[5, 2],
				[7, 2],
				[7, 1],
				[7, 1],
				[7, 1],
				[11, 1],
				[11, 1],
				[11, 1],
				[11, 1],
				[11, 1],
				[11, 1],
				[11, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 2],
				[9, 2],
				[9, 1],
				[9, 1],
				[9, 1],
				[9, 2],
				[34, 2],
				[34, 3],
				[34, 3],
				[34, 4],
				[34, 3],
				[34, 4],
				[34, 2],
				[41, 2],
				[41, 3],
				[41, 3],
				[41, 4],
				[41, 3],
				[41, 4],
				[41, 2],
			],
			performAction: function (o, d, m, u, S, c, X) {
				var f = c.length - 1;
				switch (S) {
					case 1:
						return c[f - 1];
					case 2:
						this.$ = [];
						break;
					case 3:
						c[f - 1].push(c[f]), (this.$ = c[f - 1]);
						break;
					case 4:
					case 5:
						this.$ = c[f];
						break;
					case 6:
					case 7:
						this.$ = [];
						break;
					case 8:
						u.setWeekday('monday');
						break;
					case 9:
						u.setWeekday('tuesday');
						break;
					case 10:
						u.setWeekday('wednesday');
						break;
					case 11:
						u.setWeekday('thursday');
						break;
					case 12:
						u.setWeekday('friday');
						break;
					case 13:
						u.setWeekday('saturday');
						break;
					case 14:
						u.setWeekday('sunday');
						break;
					case 15:
						u.setDateFormat(c[f].substr(11)), (this.$ = c[f].substr(11));
						break;
					case 16:
						u.enableInclusiveEndDates(), (this.$ = c[f].substr(18));
						break;
					case 17:
						u.TopAxis(), (this.$ = c[f].substr(8));
						break;
					case 18:
						u.setAxisFormat(c[f].substr(11)), (this.$ = c[f].substr(11));
						break;
					case 19:
						u.setTickInterval(c[f].substr(13)), (this.$ = c[f].substr(13));
						break;
					case 20:
						u.setExcludes(c[f].substr(9)), (this.$ = c[f].substr(9));
						break;
					case 21:
						u.setIncludes(c[f].substr(9)), (this.$ = c[f].substr(9));
						break;
					case 22:
						u.setTodayMarker(c[f].substr(12)), (this.$ = c[f].substr(12));
						break;
					case 24:
						u.setDiagramTitle(c[f].substr(6)), (this.$ = c[f].substr(6));
						break;
					case 25:
						(this.$ = c[f].trim()), u.setAccTitle(this.$);
						break;
					case 26:
					case 27:
						(this.$ = c[f].trim()), u.setAccDescription(this.$);
						break;
					case 28:
						u.addSection(c[f].substr(8)), (this.$ = c[f].substr(8));
						break;
					case 30:
						u.addTask(c[f - 1], c[f]), (this.$ = 'task');
						break;
					case 31:
						(this.$ = c[f - 1]), u.setClickEvent(c[f - 1], c[f], null);
						break;
					case 32:
						(this.$ = c[f - 2]), u.setClickEvent(c[f - 2], c[f - 1], c[f]);
						break;
					case 33:
						(this.$ = c[f - 2]), u.setClickEvent(c[f - 2], c[f - 1], null), u.setLink(c[f - 2], c[f]);
						break;
					case 34:
						(this.$ = c[f - 3]), u.setClickEvent(c[f - 3], c[f - 2], c[f - 1]), u.setLink(c[f - 3], c[f]);
						break;
					case 35:
						(this.$ = c[f - 2]), u.setClickEvent(c[f - 2], c[f], null), u.setLink(c[f - 2], c[f - 1]);
						break;
					case 36:
						(this.$ = c[f - 3]), u.setClickEvent(c[f - 3], c[f - 1], c[f]), u.setLink(c[f - 3], c[f - 2]);
						break;
					case 37:
						(this.$ = c[f - 1]), u.setLink(c[f - 1], c[f]);
						break;
					case 38:
					case 44:
						this.$ = c[f - 1] + ' ' + c[f];
						break;
					case 39:
					case 40:
					case 42:
						this.$ = c[f - 2] + ' ' + c[f - 1] + ' ' + c[f];
						break;
					case 41:
					case 43:
						this.$ = c[f - 3] + ' ' + c[f - 2] + ' ' + c[f - 1] + ' ' + c[f];
						break;
				}
			},
			table: [
				{ 3: 1, 4: [1, 2] },
				{ 1: [3] },
				t(e, [2, 2], { 5: 3 }),
				{
					6: [1, 4],
					7: 5,
					8: [1, 6],
					9: 7,
					10: [1, 8],
					11: 17,
					12: n,
					13: r,
					14: i,
					15: s,
					16: a,
					17: k,
					18: Y,
					19: g,
					20: b,
					21: U,
					22: C,
					23: v,
					24: q,
					25: y,
					26: L,
					27: O,
					28: W,
					30: B,
					32: Z,
					33: Q,
					34: 23,
					35: x,
					37: E,
				},
				t(e, [2, 7], { 1: [2, 1] }),
				t(e, [2, 3]),
				{
					9: 33,
					11: 17,
					12: n,
					13: r,
					14: i,
					15: s,
					16: a,
					17: k,
					18: Y,
					19: g,
					20: b,
					21: U,
					22: C,
					23: v,
					24: q,
					25: y,
					26: L,
					27: O,
					28: W,
					30: B,
					32: Z,
					33: Q,
					34: 23,
					35: x,
					37: E,
				},
				t(e, [2, 5]),
				t(e, [2, 6]),
				t(e, [2, 15]),
				t(e, [2, 16]),
				t(e, [2, 17]),
				t(e, [2, 18]),
				t(e, [2, 19]),
				t(e, [2, 20]),
				t(e, [2, 21]),
				t(e, [2, 22]),
				t(e, [2, 23]),
				t(e, [2, 24]),
				{ 29: [1, 34] },
				{ 31: [1, 35] },
				t(e, [2, 27]),
				t(e, [2, 28]),
				t(e, [2, 29]),
				{ 36: [1, 36] },
				t(e, [2, 8]),
				t(e, [2, 9]),
				t(e, [2, 10]),
				t(e, [2, 11]),
				t(e, [2, 12]),
				t(e, [2, 13]),
				t(e, [2, 14]),
				{ 38: [1, 37], 40: [1, 38] },
				t(e, [2, 4]),
				t(e, [2, 25]),
				t(e, [2, 26]),
				t(e, [2, 30]),
				t(e, [2, 31], { 39: [1, 39], 40: [1, 40] }),
				t(e, [2, 37], { 38: [1, 41] }),
				t(e, [2, 32], { 40: [1, 42] }),
				t(e, [2, 33]),
				t(e, [2, 35], { 39: [1, 43] }),
				t(e, [2, 34]),
				t(e, [2, 36]),
			],
			defaultActions: {},
			parseError: function (o, d) {
				if (d.recoverable) this.trace(o);
				else {
					var m = new Error(o);
					throw ((m.hash = d), m);
				}
			},
			parse: function (o) {
				var d = this,
					m = [0],
					u = [],
					S = [null],
					c = [],
					X = this.table,
					f = '',
					h = 0,
					_ = 0,
					G = 2,
					H = 1,
					V = c.slice.call(arguments, 1),
					I = Object.create(this.lexer),
					z = { yy: {} };
				for (var st in this.yy) Object.prototype.hasOwnProperty.call(this.yy, st) && (z.yy[st] = this.yy[st]);
				I.setInput(o, z.yy), (z.yy.lexer = I), (z.yy.parser = this), typeof I.yylloc > 'u' && (I.yylloc = {});
				var it = I.yylloc;
				c.push(it);
				var p = I.options && I.options.ranges;
				typeof z.yy.parseError == 'function' ? (this.parseError = z.yy.parseError) : (this.parseError = Object.getPrototypeOf(this).parseError);
				function A() {
					var ct;
					return (
						(ct = u.pop() || I.lex() || H),
						typeof ct != 'number' && (ct instanceof Array && ((u = ct), (ct = u.pop())), (ct = d.symbols_[ct] || ct)),
						ct
					);
				}
				for (var D, l, R, N, j = {}, J, et, Ut, zt; ; ) {
					if (
						((l = m[m.length - 1]),
						this.defaultActions[l] ? (R = this.defaultActions[l]) : ((D === null || typeof D > 'u') && (D = A()), (R = X[l] && X[l][D])),
						typeof R > 'u' || !R.length || !R[0])
					) {
						var $t = '';
						zt = [];
						for (J in X[l]) this.terminals_[J] && J > G && zt.push("'" + this.terminals_[J] + "'");
						I.showPosition
							? ($t =
									'Parse error on line ' +
									(h + 1) +
									`:
` +
									I.showPosition() +
									`
Expecting ` +
									zt.join(', ') +
									", got '" +
									(this.terminals_[D] || D) +
									"'")
							: ($t = 'Parse error on line ' + (h + 1) + ': Unexpected ' + (D == H ? 'end of input' : "'" + (this.terminals_[D] || D) + "'")),
							this.parseError($t, { text: I.match, token: this.terminals_[D] || D, line: I.yylineno, loc: it, expected: zt });
					}
					if (R[0] instanceof Array && R.length > 1) throw new Error('Parse Error: multiple actions possible at state: ' + l + ', token: ' + D);
					switch (R[0]) {
						case 1:
							m.push(D),
								S.push(I.yytext),
								c.push(I.yylloc),
								m.push(R[1]),
								(D = null),
								(_ = I.yyleng),
								(f = I.yytext),
								(h = I.yylineno),
								(it = I.yylloc);
							break;
						case 2:
							if (
								((et = this.productions_[R[1]][1]),
								(j.$ = S[S.length - et]),
								(j._$ = {
									first_line: c[c.length - (et || 1)].first_line,
									last_line: c[c.length - 1].last_line,
									first_column: c[c.length - (et || 1)].first_column,
									last_column: c[c.length - 1].last_column,
								}),
								p && (j._$.range = [c[c.length - (et || 1)].range[0], c[c.length - 1].range[1]]),
								(N = this.performAction.apply(j, [f, _, h, z.yy, R[1], S, c].concat(V))),
								typeof N < 'u')
							)
								return N;
							et && ((m = m.slice(0, -1 * et * 2)), (S = S.slice(0, -1 * et)), (c = c.slice(0, -1 * et))),
								m.push(this.productions_[R[1]][0]),
								S.push(j.$),
								c.push(j._$),
								(Ut = X[m[m.length - 2]][m[m.length - 1]]),
								m.push(Ut);
							break;
						case 3:
							return !0;
					}
				}
				return !0;
			},
		},
		F = (function () {
			var w = {
				EOF: 1,
				parseError: function (d, m) {
					if (this.yy.parser) this.yy.parser.parseError(d, m);
					else throw new Error(d);
				},
				setInput: function (o, d) {
					return (
						(this.yy = d || this.yy || {}),
						(this._input = o),
						(this._more = this._backtrack = this.done = !1),
						(this.yylineno = this.yyleng = 0),
						(this.yytext = this.matched = this.match = ''),
						(this.conditionStack = ['INITIAL']),
						(this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
						this.options.ranges && (this.yylloc.range = [0, 0]),
						(this.offset = 0),
						this
					);
				},
				input: function () {
					var o = this._input[0];
					(this.yytext += o), this.yyleng++, this.offset++, (this.match += o), (this.matched += o);
					var d = o.match(/(?:\r\n?|\n).*/g);
					return (
						d ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
						this.options.ranges && this.yylloc.range[1]++,
						(this._input = this._input.slice(1)),
						o
					);
				},
				unput: function (o) {
					var d = o.length,
						m = o.split(/(?:\r\n?|\n)/g);
					(this._input = o + this._input), (this.yytext = this.yytext.substr(0, this.yytext.length - d)), (this.offset -= d);
					var u = this.match.split(/(?:\r\n?|\n)/g);
					(this.match = this.match.substr(0, this.match.length - 1)),
						(this.matched = this.matched.substr(0, this.matched.length - 1)),
						m.length - 1 && (this.yylineno -= m.length - 1);
					var S = this.yylloc.range;
					return (
						(this.yylloc = {
							first_line: this.yylloc.first_line,
							last_line: this.yylineno + 1,
							first_column: this.yylloc.first_column,
							last_column: m
								? (m.length === u.length ? this.yylloc.first_column : 0) + u[u.length - m.length].length - m[0].length
								: this.yylloc.first_column - d,
						}),
						this.options.ranges && (this.yylloc.range = [S[0], S[0] + this.yyleng - d]),
						(this.yyleng = this.yytext.length),
						this
					);
				},
				more: function () {
					return (this._more = !0), this;
				},
				reject: function () {
					if (this.options.backtrack_lexer) this._backtrack = !0;
					else
						return this.parseError(
							'Lexical error on line ' +
								(this.yylineno + 1) +
								`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
` +
								this.showPosition(),
							{ text: '', token: null, line: this.yylineno }
						);
					return this;
				},
				less: function (o) {
					this.unput(this.match.slice(o));
				},
				pastInput: function () {
					var o = this.matched.substr(0, this.matched.length - this.match.length);
					return (o.length > 20 ? '...' : '') + o.substr(-20).replace(/\n/g, '');
				},
				upcomingInput: function () {
					var o = this.match;
					return o.length < 20 && (o += this._input.substr(0, 20 - o.length)), (o.substr(0, 20) + (o.length > 20 ? '...' : '')).replace(/\n/g, '');
				},
				showPosition: function () {
					var o = this.pastInput(),
						d = new Array(o.length + 1).join('-');
					return (
						o +
						this.upcomingInput() +
						`
` +
						d +
						'^'
					);
				},
				test_match: function (o, d) {
					var m, u, S;
					if (
						(this.options.backtrack_lexer &&
							((S = {
								yylineno: this.yylineno,
								yylloc: {
									first_line: this.yylloc.first_line,
									last_line: this.last_line,
									first_column: this.yylloc.first_column,
									last_column: this.yylloc.last_column,
								},
								yytext: this.yytext,
								match: this.match,
								matches: this.matches,
								matched: this.matched,
								yyleng: this.yyleng,
								offset: this.offset,
								_more: this._more,
								_input: this._input,
								yy: this.yy,
								conditionStack: this.conditionStack.slice(0),
								done: this.done,
							}),
							this.options.ranges && (S.yylloc.range = this.yylloc.range.slice(0))),
						(u = o[0].match(/(?:\r\n?|\n).*/g)),
						u && (this.yylineno += u.length),
						(this.yylloc = {
							first_line: this.yylloc.last_line,
							last_line: this.yylineno + 1,
							first_column: this.yylloc.last_column,
							last_column: u ? u[u.length - 1].length - u[u.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + o[0].length,
						}),
						(this.yytext += o[0]),
						(this.match += o[0]),
						(this.matches = o),
						(this.yyleng = this.yytext.length),
						this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
						(this._more = !1),
						(this._backtrack = !1),
						(this._input = this._input.slice(o[0].length)),
						(this.matched += o[0]),
						(m = this.performAction.call(this, this.yy, this, d, this.conditionStack[this.conditionStack.length - 1])),
						this.done && this._input && (this.done = !1),
						m)
					)
						return m;
					if (this._backtrack) {
						for (var c in S) this[c] = S[c];
						return !1;
					}
					return !1;
				},
				next: function () {
					if (this.done) return this.EOF;
					this._input || (this.done = !0);
					var o, d, m, u;
					this._more || ((this.yytext = ''), (this.match = ''));
					for (var S = this._currentRules(), c = 0; c < S.length; c++)
						if (((m = this._input.match(this.rules[S[c]])), m && (!d || m[0].length > d[0].length))) {
							if (((d = m), (u = c), this.options.backtrack_lexer)) {
								if (((o = this.test_match(m, S[c])), o !== !1)) return o;
								if (this._backtrack) {
									d = !1;
									continue;
								} else return !1;
							} else if (!this.options.flex) break;
						}
					return d
						? ((o = this.test_match(d, S[u])), o !== !1 ? o : !1)
						: this._input === ''
						? this.EOF
						: this.parseError(
								'Lexical error on line ' +
									(this.yylineno + 1) +
									`. Unrecognized text.
` +
									this.showPosition(),
								{ text: '', token: null, line: this.yylineno }
						  );
				},
				lex: function () {
					var d = this.next();
					return d || this.lex();
				},
				begin: function (d) {
					this.conditionStack.push(d);
				},
				popState: function () {
					var d = this.conditionStack.length - 1;
					return d > 0 ? this.conditionStack.pop() : this.conditionStack[0];
				},
				_currentRules: function () {
					return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
						? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
						: this.conditions.INITIAL.rules;
				},
				topState: function (d) {
					return (d = this.conditionStack.length - 1 - Math.abs(d || 0)), d >= 0 ? this.conditionStack[d] : 'INITIAL';
				},
				pushState: function (d) {
					this.begin(d);
				},
				stateStackSize: function () {
					return this.conditionStack.length;
				},
				options: { 'case-insensitive': !0 },
				performAction: function (d, m, u, S) {
					switch (u) {
						case 0:
							return this.begin('open_directive'), 'open_directive';
						case 1:
							return this.begin('acc_title'), 28;
						case 2:
							return this.popState(), 'acc_title_value';
						case 3:
							return this.begin('acc_descr'), 30;
						case 4:
							return this.popState(), 'acc_descr_value';
						case 5:
							this.begin('acc_descr_multiline');
							break;
						case 6:
							this.popState();
							break;
						case 7:
							return 'acc_descr_multiline_value';
						case 8:
							break;
						case 9:
							break;
						case 10:
							break;
						case 11:
							return 10;
						case 12:
							break;
						case 13:
							break;
						case 14:
							this.begin('href');
							break;
						case 15:
							this.popState();
							break;
						case 16:
							return 40;
						case 17:
							this.begin('callbackname');
							break;
						case 18:
							this.popState();
							break;
						case 19:
							this.popState(), this.begin('callbackargs');
							break;
						case 20:
							return 38;
						case 21:
							this.popState();
							break;
						case 22:
							return 39;
						case 23:
							this.begin('click');
							break;
						case 24:
							this.popState();
							break;
						case 25:
							return 37;
						case 26:
							return 4;
						case 27:
							return 19;
						case 28:
							return 20;
						case 29:
							return 21;
						case 30:
							return 22;
						case 31:
							return 23;
						case 32:
							return 25;
						case 33:
							return 24;
						case 34:
							return 26;
						case 35:
							return 12;
						case 36:
							return 13;
						case 37:
							return 14;
						case 38:
							return 15;
						case 39:
							return 16;
						case 40:
							return 17;
						case 41:
							return 18;
						case 42:
							return 'date';
						case 43:
							return 27;
						case 44:
							return 'accDescription';
						case 45:
							return 33;
						case 46:
							return 35;
						case 47:
							return 36;
						case 48:
							return ':';
						case 49:
							return 6;
						case 50:
							return 'INVALID';
					}
				},
				rules: [
					/^(?:%%\{)/i,
					/^(?:accTitle\s*:\s*)/i,
					/^(?:(?!\n||)*[^\n]*)/i,
					/^(?:accDescr\s*:\s*)/i,
					/^(?:(?!\n||)*[^\n]*)/i,
					/^(?:accDescr\s*\{\s*)/i,
					/^(?:[\}])/i,
					/^(?:[^\}]*)/i,
					/^(?:%%(?!\{)*[^\n]*)/i,
					/^(?:[^\}]%%*[^\n]*)/i,
					/^(?:%%*[^\n]*[\n]*)/i,
					/^(?:[\n]+)/i,
					/^(?:\s+)/i,
					/^(?:%[^\n]*)/i,
					/^(?:href[\s]+["])/i,
					/^(?:["])/i,
					/^(?:[^"]*)/i,
					/^(?:call[\s]+)/i,
					/^(?:\([\s]*\))/i,
					/^(?:\()/i,
					/^(?:[^(]*)/i,
					/^(?:\))/i,
					/^(?:[^)]*)/i,
					/^(?:click[\s]+)/i,
					/^(?:[\s\n])/i,
					/^(?:[^\s\n]*)/i,
					/^(?:gantt\b)/i,
					/^(?:dateFormat\s[^#\n;]+)/i,
					/^(?:inclusiveEndDates\b)/i,
					/^(?:topAxis\b)/i,
					/^(?:axisFormat\s[^#\n;]+)/i,
					/^(?:tickInterval\s[^#\n;]+)/i,
					/^(?:includes\s[^#\n;]+)/i,
					/^(?:excludes\s[^#\n;]+)/i,
					/^(?:todayMarker\s[^\n;]+)/i,
					/^(?:weekday\s+monday\b)/i,
					/^(?:weekday\s+tuesday\b)/i,
					/^(?:weekday\s+wednesday\b)/i,
					/^(?:weekday\s+thursday\b)/i,
					/^(?:weekday\s+friday\b)/i,
					/^(?:weekday\s+saturday\b)/i,
					/^(?:weekday\s+sunday\b)/i,
					/^(?:\d\d\d\d-\d\d-\d\d\b)/i,
					/^(?:title\s[^\n]+)/i,
					/^(?:accDescription\s[^#\n;]+)/i,
					/^(?:section\s[^\n]+)/i,
					/^(?:[^:\n]+)/i,
					/^(?::[^#\n;]+)/i,
					/^(?::)/i,
					/^(?:$)/i,
					/^(?:.)/i,
				],
				conditions: {
					acc_descr_multiline: { rules: [6, 7], inclusive: !1 },
					acc_descr: { rules: [4], inclusive: !1 },
					acc_title: { rules: [2], inclusive: !1 },
					callbackargs: { rules: [21, 22], inclusive: !1 },
					callbackname: { rules: [18, 19, 20], inclusive: !1 },
					href: { rules: [15, 16], inclusive: !1 },
					click: { rules: [24, 25], inclusive: !1 },
					INITIAL: {
						rules: [
							0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
							48, 49, 50,
						],
						inclusive: !0,
					},
				},
			};
			return w;
		})();
	T.lexer = F;
	function M() {
		this.yy = {};
	}
	return (M.prototype = T), (T.Parser = M), new M();
})();
ge.parser = ge;
const Si = ge;
nt.extend(xi);
nt.extend(Ci);
nt.extend(Di);
let at = '',
	xe = '',
	we,
	Ce = '',
	Ht = [],
	Nt = [],
	Me = {},
	De = [],
	Jt = [],
	_t = '',
	Se = '';
const gn = ['active', 'done', 'crit', 'milestone'];
let _e = [],
	Vt = !1,
	Ue = !1,
	Ye = 'sunday',
	ye = 0;
const _i = function () {
		(De = []),
			(Jt = []),
			(_t = ''),
			(_e = []),
			(Zt = 0),
			(pe = void 0),
			(Xt = void 0),
			($ = []),
			(at = ''),
			(xe = ''),
			(Se = ''),
			(we = void 0),
			(Ce = ''),
			(Ht = []),
			(Nt = []),
			(Vt = !1),
			(Ue = !1),
			(ye = 0),
			(Me = {}),
			Ln(),
			(Ye = 'sunday');
	},
	Ui = function (t) {
		xe = t;
	},
	Yi = function () {
		return xe;
	},
	Fi = function (t) {
		we = t;
	},
	Li = function () {
		return we;
	},
	Ai = function (t) {
		Ce = t;
	},
	Ei = function () {
		return Ce;
	},
	Ii = function (t) {
		at = t;
	},
	Wi = function () {
		Vt = !0;
	},
	Oi = function () {
		return Vt;
	},
	Hi = function () {
		Ue = !0;
	},
	Ni = function () {
		return Ue;
	},
	Vi = function (t) {
		Se = t;
	},
	zi = function () {
		return Se;
	},
	Pi = function () {
		return at;
	},
	Ri = function (t) {
		Ht = t.toLowerCase().split(/[\s,]+/);
	},
	Bi = function () {
		return Ht;
	},
	Zi = function (t) {
		Nt = t.toLowerCase().split(/[\s,]+/);
	},
	Xi = function () {
		return Nt;
	},
	qi = function () {
		return Me;
	},
	Gi = function (t) {
		(_t = t), De.push(t);
	},
	ji = function () {
		return De;
	},
	Qi = function () {
		let t = Be();
		const e = 10;
		let n = 0;
		for (; !t && n < e; ) (t = Be()), n++;
		return (Jt = $), Jt;
	},
	yn = function (t, e, n, r) {
		return r.includes(t.format(e.trim()))
			? !1
			: (t.isoWeekday() >= 6 && n.includes('weekends')) || n.includes(t.format('dddd').toLowerCase())
			? !0
			: n.includes(t.format(e.trim()));
	},
	Ji = function (t) {
		Ye = t;
	},
	$i = function () {
		return Ye;
	},
	kn = function (t, e, n, r) {
		if (!n.length || t.manualEndTime) return;
		let i;
		t.startTime instanceof Date ? (i = nt(t.startTime)) : (i = nt(t.startTime, e, !0)), (i = i.add(1, 'd'));
		let s;
		t.endTime instanceof Date ? (s = nt(t.endTime)) : (s = nt(t.endTime, e, !0));
		const [a, k] = Ki(i, s, e, n, r);
		(t.endTime = a.toDate()), (t.renderEndTime = k);
	},
	Ki = function (t, e, n, r, i) {
		let s = !1,
			a = null;
		for (; t <= e; ) s || (a = e.toDate()), (s = yn(t, n, r, i)), s && (e = e.add(1, 'd')), (t = t.add(1, 'd'));
		return [e, a];
	},
	ke = function (t, e, n) {
		n = n.trim();
		const i = /^after\s+(?<ids>[\d\w- ]+)/.exec(n);
		if (i !== null) {
			let a = null;
			for (const Y of i.groups.ids.split(' ')) {
				let g = bt(Y);
				g !== void 0 && (!a || g.endTime > a.endTime) && (a = g);
			}
			if (a) return a.endTime;
			const k = new Date();
			return k.setHours(0, 0, 0, 0), k;
		}
		let s = nt(n, e.trim(), !0);
		if (s.isValid()) return s.toDate();
		{
			qt.debug('Invalid date:' + n), qt.debug('With date format:' + e.trim());
			const a = new Date(n);
			if (a === void 0 || isNaN(a.getTime()) || a.getFullYear() < -1e4 || a.getFullYear() > 1e4) throw new Error('Invalid date:' + n);
			return a;
		}
	},
	pn = function (t) {
		const e = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());
		return e !== null ? [Number.parseFloat(e[1]), e[2]] : [NaN, 'ms'];
	},
	Tn = function (t, e, n, r = !1) {
		n = n.trim();
		const s = /^until\s+(?<ids>[\d\w- ]+)/.exec(n);
		if (s !== null) {
			let b = null;
			for (const C of s.groups.ids.split(' ')) {
				let v = bt(C);
				v !== void 0 && (!b || v.startTime < b.startTime) && (b = v);
			}
			if (b) return b.startTime;
			const U = new Date();
			return U.setHours(0, 0, 0, 0), U;
		}
		let a = nt(n, e.trim(), !0);
		if (a.isValid()) return r && (a = a.add(1, 'd')), a.toDate();
		let k = nt(t);
		const [Y, g] = pn(n);
		if (!Number.isNaN(Y)) {
			const b = k.add(Y, g);
			b.isValid() && (k = b);
		}
		return k.toDate();
	};
let Zt = 0;
const Mt = function (t) {
		return t === void 0 ? ((Zt = Zt + 1), 'task' + Zt) : t;
	},
	ts = function (t, e) {
		let n;
		e.substr(0, 1) === ':' ? (n = e.substr(1, e.length)) : (n = e);
		const r = n.split(','),
			i = {};
		wn(r, i, gn);
		for (let a = 0; a < r.length; a++) r[a] = r[a].trim();
		let s = '';
		switch (r.length) {
			case 1:
				(i.id = Mt()), (i.startTime = t.endTime), (s = r[0]);
				break;
			case 2:
				(i.id = Mt()), (i.startTime = ke(void 0, at, r[0])), (s = r[1]);
				break;
			case 3:
				(i.id = Mt(r[0])), (i.startTime = ke(void 0, at, r[1])), (s = r[2]);
				break;
		}
		return s && ((i.endTime = Tn(i.startTime, at, s, Vt)), (i.manualEndTime = nt(s, 'YYYY-MM-DD', !0).isValid()), kn(i, at, Nt, Ht)), i;
	},
	es = function (t, e) {
		let n;
		e.substr(0, 1) === ':' ? (n = e.substr(1, e.length)) : (n = e);
		const r = n.split(','),
			i = {};
		wn(r, i, gn);
		for (let s = 0; s < r.length; s++) r[s] = r[s].trim();
		switch (r.length) {
			case 1:
				(i.id = Mt()), (i.startTime = { type: 'prevTaskEnd', id: t }), (i.endTime = { data: r[0] });
				break;
			case 2:
				(i.id = Mt()), (i.startTime = { type: 'getStartDate', startData: r[0] }), (i.endTime = { data: r[1] });
				break;
			case 3:
				(i.id = Mt(r[0])), (i.startTime = { type: 'getStartDate', startData: r[1] }), (i.endTime = { data: r[2] });
				break;
		}
		return i;
	};
let pe,
	Xt,
	$ = [];
const vn = {},
	ns = function (t, e) {
		const n = { section: _t, type: _t, processed: !1, manualEndTime: !1, renderEndTime: null, raw: { data: e }, task: t, classes: [] },
			r = es(Xt, e);
		(n.raw.startTime = r.startTime),
			(n.raw.endTime = r.endTime),
			(n.id = r.id),
			(n.prevTaskId = Xt),
			(n.active = r.active),
			(n.done = r.done),
			(n.crit = r.crit),
			(n.milestone = r.milestone),
			(n.order = ye),
			ye++;
		const i = $.push(n);
		(Xt = n.id), (vn[n.id] = i - 1);
	},
	bt = function (t) {
		const e = vn[t];
		return $[e];
	},
	rs = function (t, e) {
		const n = { section: _t, type: _t, description: t, task: t, classes: [] },
			r = ts(pe, e);
		(n.startTime = r.startTime),
			(n.endTime = r.endTime),
			(n.id = r.id),
			(n.active = r.active),
			(n.done = r.done),
			(n.crit = r.crit),
			(n.milestone = r.milestone),
			(pe = n),
			Jt.push(n);
	},
	Be = function () {
		const t = function (n) {
			const r = $[n];
			let i = '';
			switch ($[n].raw.startTime.type) {
				case 'prevTaskEnd': {
					const s = bt(r.prevTaskId);
					r.startTime = s.endTime;
					break;
				}
				case 'getStartDate':
					(i = ke(void 0, at, $[n].raw.startTime.startData)), i && ($[n].startTime = i);
					break;
			}
			return (
				$[n].startTime &&
					(($[n].endTime = Tn($[n].startTime, at, $[n].raw.endTime.data, Vt)),
					$[n].endTime &&
						(($[n].processed = !0), ($[n].manualEndTime = nt($[n].raw.endTime.data, 'YYYY-MM-DD', !0).isValid()), kn($[n], at, Nt, Ht))),
				$[n].processed
			);
		};
		let e = !0;
		for (const [n, r] of $.entries()) t(n), (e = e && r.processed);
		return e;
	},
	is = function (t, e) {
		let n = e;
		wt().securityLevel !== 'loose' && (n = An.sanitizeUrl(e)),
			t.split(',').forEach(function (r) {
				bt(r) !== void 0 &&
					(xn(r, () => {
						window.open(n, '_self');
					}),
					(Me[r] = n));
			}),
			bn(t, 'clickable');
	},
	bn = function (t, e) {
		t.split(',').forEach(function (n) {
			let r = bt(n);
			r !== void 0 && r.classes.push(e);
		});
	},
	ss = function (t, e, n) {
		if (wt().securityLevel !== 'loose' || e === void 0) return;
		let r = [];
		if (typeof n == 'string') {
			r = n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
			for (let s = 0; s < r.length; s++) {
				let a = r[s].trim();
				a.charAt(0) === '"' && a.charAt(a.length - 1) === '"' && (a = a.substr(1, a.length - 2)), (r[s] = a);
			}
		}
		r.length === 0 && r.push(t),
			bt(t) !== void 0 &&
				xn(t, () => {
					Wn.runFunc(e, ...r);
				});
	},
	xn = function (t, e) {
		_e.push(
			function () {
				const n = document.querySelector(`[id="${t}"]`);
				n !== null &&
					n.addEventListener('click', function () {
						e();
					});
			},
			function () {
				const n = document.querySelector(`[id="${t}-text"]`);
				n !== null &&
					n.addEventListener('click', function () {
						e();
					});
			}
		);
	},
	as = function (t, e, n) {
		t.split(',').forEach(function (r) {
			ss(r, e, n);
		}),
			bn(t, 'clickable');
	},
	os = function (t) {
		_e.forEach(function (e) {
			e(t);
		});
	},
	cs = {
		getConfig: () => wt().gantt,
		clear: _i,
		setDateFormat: Ii,
		getDateFormat: Pi,
		enableInclusiveEndDates: Wi,
		endDatesAreInclusive: Oi,
		enableTopAxis: Hi,
		topAxisEnabled: Ni,
		setAxisFormat: Ui,
		getAxisFormat: Yi,
		setTickInterval: Fi,
		getTickInterval: Li,
		setTodayMarker: Ai,
		getTodayMarker: Ei,
		setAccTitle: Dn,
		getAccTitle: Sn,
		setDiagramTitle: _n,
		getDiagramTitle: Un,
		setDisplayMode: Vi,
		getDisplayMode: zi,
		setAccDescription: Yn,
		getAccDescription: Fn,
		addSection: Gi,
		getSections: ji,
		getTasks: Qi,
		addTask: ns,
		findTaskById: bt,
		addTaskOrg: rs,
		setIncludes: Ri,
		getIncludes: Bi,
		setExcludes: Zi,
		getExcludes: Xi,
		setClickEvent: as,
		setLink: is,
		getLinks: qi,
		bindFunctions: os,
		parseDuration: pn,
		isInvalidDate: yn,
		setWeekday: Ji,
		getWeekday: $i,
	};
function wn(t, e, n) {
	let r = !0;
	for (; r; )
		(r = !1),
			n.forEach(function (i) {
				const s = '^\\s*' + i + '\\s*$',
					a = new RegExp(s);
				t[0].match(a) && ((e[i] = !0), t.shift(1), (r = !0));
			});
}
const ls = function () {
		qt.debug('Something is calling, setConf, remove the call');
	},
	Ze = { monday: It, tuesday: sn, wednesday: an, thursday: kt, friday: on, saturday: cn, sunday: Ot },
	us = (t, e) => {
		let n = [...t].map(() => -1 / 0),
			r = [...t].sort((s, a) => s.startTime - a.startTime || s.order - a.order),
			i = 0;
		for (const s of r)
			for (let a = 0; a < n.length; a++)
				if (s.startTime >= n[a]) {
					(n[a] = s.endTime), (s.order = a + e), a > i && (i = a);
					break;
				}
		return i;
	};
let lt;
const fs = function (t, e, n, r) {
		const i = wt().gantt,
			s = wt().securityLevel;
		let a;
		s === 'sandbox' && (a = Pt('#i' + e));
		const k = s === 'sandbox' ? Pt(a.nodes()[0].contentDocument.body) : Pt('body'),
			Y = s === 'sandbox' ? a.nodes()[0].contentDocument : document,
			g = Y.getElementById(e);
		(lt = g.parentElement.offsetWidth), lt === void 0 && (lt = 1200), i.useWidth !== void 0 && (lt = i.useWidth);
		const b = r.db.getTasks();
		let U = [];
		for (const T of b) U.push(T.type);
		U = E(U);
		const C = {};
		let v = 2 * i.topPadding;
		if (r.db.getDisplayMode() === 'compact' || i.displayMode === 'compact') {
			const T = {};
			for (const M of b) T[M.section] === void 0 ? (T[M.section] = [M]) : T[M.section].push(M);
			let F = 0;
			for (const M of Object.keys(T)) {
				const w = us(T[M], F) + 1;
				(F += w), (v += w * (i.barHeight + i.barGap)), (C[M] = w);
			}
		} else {
			v += b.length * (i.barHeight + i.barGap);
			for (const T of U) C[T] = b.filter((F) => F.type === T).length;
		}
		g.setAttribute('viewBox', '0 0 ' + lt + ' ' + v);
		const q = k.select(`[id="${e}"]`),
			y = vi()
				.domain([
					Rn(b, function (T) {
						return T.startTime;
					}),
					Pn(b, function (T) {
						return T.endTime;
					}),
				])
				.rangeRound([0, lt - i.leftPadding - i.rightPadding]);
		function L(T, F) {
			const M = T.startTime,
				w = F.startTime;
			let o = 0;
			return M > w ? (o = 1) : M < w && (o = -1), o;
		}
		b.sort(L),
			O(b, lt, v),
			En(q, v, lt, i.useMaxWidth),
			q
				.append('text')
				.text(r.db.getDiagramTitle())
				.attr('x', lt / 2)
				.attr('y', i.titleTopMargin)
				.attr('class', 'titleText');
		function O(T, F, M) {
			const w = i.barHeight,
				o = w + i.barGap,
				d = i.topPadding,
				m = i.leftPadding,
				u = Vn().domain([0, U.length]).range(['#00B9FA', '#F95002']).interpolate(ir);
			B(o, d, m, F, M, T, r.db.getExcludes(), r.db.getIncludes()), Z(m, d, F, M), W(T, o, d, m, w, u, F), Q(o, d), x(m, d, F, M);
		}
		function W(T, F, M, w, o, d, m) {
			const S = [...new Set(T.map((h) => h.order))].map((h) => T.find((_) => _.order === h));
			q.append('g')
				.selectAll('rect')
				.data(S)
				.enter()
				.append('rect')
				.attr('x', 0)
				.attr('y', function (h, _) {
					return (_ = h.order), _ * F + M - 2;
				})
				.attr('width', function () {
					return m - i.rightPadding / 2;
				})
				.attr('height', F)
				.attr('class', function (h) {
					for (const [_, G] of U.entries()) if (h.type === G) return 'section section' + (_ % i.numberSectionStyles);
					return 'section section0';
				});
			const c = q.append('g').selectAll('rect').data(T).enter(),
				X = r.db.getLinks();
			if (
				(c
					.append('rect')
					.attr('id', function (h) {
						return h.id;
					})
					.attr('rx', 3)
					.attr('ry', 3)
					.attr('x', function (h) {
						return h.milestone ? y(h.startTime) + w + 0.5 * (y(h.endTime) - y(h.startTime)) - 0.5 * o : y(h.startTime) + w;
					})
					.attr('y', function (h, _) {
						return (_ = h.order), _ * F + M;
					})
					.attr('width', function (h) {
						return h.milestone ? o : y(h.renderEndTime || h.endTime) - y(h.startTime);
					})
					.attr('height', o)
					.attr('transform-origin', function (h, _) {
						return (
							(_ = h.order), (y(h.startTime) + w + 0.5 * (y(h.endTime) - y(h.startTime))).toString() + 'px ' + (_ * F + M + 0.5 * o).toString() + 'px'
						);
					})
					.attr('class', function (h) {
						const _ = 'task';
						let G = '';
						h.classes.length > 0 && (G = h.classes.join(' '));
						let H = 0;
						for (const [I, z] of U.entries()) h.type === z && (H = I % i.numberSectionStyles);
						let V = '';
						return (
							h.active
								? h.crit
									? (V += ' activeCrit')
									: (V = ' active')
								: h.done
								? h.crit
									? (V = ' doneCrit')
									: (V = ' done')
								: h.crit && (V += ' crit'),
							V.length === 0 && (V = ' task'),
							h.milestone && (V = ' milestone ' + V),
							(V += H),
							(V += ' ' + G),
							_ + V
						);
					}),
				c
					.append('text')
					.attr('id', function (h) {
						return h.id + '-text';
					})
					.text(function (h) {
						return h.task;
					})
					.attr('font-size', i.fontSize)
					.attr('x', function (h) {
						let _ = y(h.startTime),
							G = y(h.renderEndTime || h.endTime);
						h.milestone && (_ += 0.5 * (y(h.endTime) - y(h.startTime)) - 0.5 * o), h.milestone && (G = _ + o);
						const H = this.getBBox().width;
						return H > G - _ ? (G + H + 1.5 * i.leftPadding > m ? _ + w - 5 : G + w + 5) : (G - _) / 2 + _ + w;
					})
					.attr('y', function (h, _) {
						return (_ = h.order), _ * F + i.barHeight / 2 + (i.fontSize / 2 - 2) + M;
					})
					.attr('text-height', o)
					.attr('class', function (h) {
						const _ = y(h.startTime);
						let G = y(h.endTime);
						h.milestone && (G = _ + o);
						const H = this.getBBox().width;
						let V = '';
						h.classes.length > 0 && (V = h.classes.join(' '));
						let I = 0;
						for (const [st, it] of U.entries()) h.type === it && (I = st % i.numberSectionStyles);
						let z = '';
						return (
							h.active && (h.crit ? (z = 'activeCritText' + I) : (z = 'activeText' + I)),
							h.done ? (h.crit ? (z = z + ' doneCritText' + I) : (z = z + ' doneText' + I)) : h.crit && (z = z + ' critText' + I),
							h.milestone && (z += ' milestoneText'),
							H > G - _
								? G + H + 1.5 * i.leftPadding > m
									? V + ' taskTextOutsideLeft taskTextOutside' + I + ' ' + z
									: V + ' taskTextOutsideRight taskTextOutside' + I + ' ' + z + ' width-' + H
								: V + ' taskText taskText' + I + ' ' + z + ' width-' + H
						);
					}),
				wt().securityLevel === 'sandbox')
			) {
				let h;
				h = Pt('#i' + e);
				const _ = h.nodes()[0].contentDocument;
				c.filter(function (G) {
					return X[G.id] !== void 0;
				}).each(function (G) {
					var H = _.querySelector('#' + G.id),
						V = _.querySelector('#' + G.id + '-text');
					const I = H.parentNode;
					var z = _.createElement('a');
					z.setAttribute('xlink:href', X[G.id]), z.setAttribute('target', '_top'), I.appendChild(z), z.appendChild(H), z.appendChild(V);
				});
			}
		}
		function B(T, F, M, w, o, d, m, u) {
			if (m.length === 0 && u.length === 0) return;
			let S, c;
			for (const { startTime: H, endTime: V } of d) (S === void 0 || H < S) && (S = H), (c === void 0 || V > c) && (c = V);
			if (!S || !c) return;
			if (nt(c).diff(nt(S), 'year') > 5) {
				qt.warn(
					'The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.'
				);
				return;
			}
			const X = r.db.getDateFormat(),
				f = [];
			let h = null,
				_ = nt(S);
			for (; _.valueOf() <= c; )
				r.db.isInvalidDate(_, X, m, u) ? (h ? (h.end = _) : (h = { start: _, end: _ })) : h && (f.push(h), (h = null)), (_ = _.add(1, 'd'));
			q.append('g')
				.selectAll('rect')
				.data(f)
				.enter()
				.append('rect')
				.attr('id', function (H) {
					return 'exclude-' + H.start.format('YYYY-MM-DD');
				})
				.attr('x', function (H) {
					return y(H.start) + M;
				})
				.attr('y', i.gridLineStartPadding)
				.attr('width', function (H) {
					const V = H.end.add(1, 'day');
					return y(V) - y(H.start);
				})
				.attr('height', o - F - i.gridLineStartPadding)
				.attr('transform-origin', function (H, V) {
					return (y(H.start) + M + 0.5 * (y(H.end) - y(H.start))).toString() + 'px ' + (V * T + 0.5 * o).toString() + 'px';
				})
				.attr('class', 'exclude-range');
		}
		function Z(T, F, M, w) {
			let o = Jn(y)
				.tickSize(-w + F + i.gridLineStartPadding)
				.tickFormat(Qt(r.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d'));
			const m = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval() || i.tickInterval);
			if (m !== null) {
				const u = m[1],
					S = m[2],
					c = r.db.getWeekday() || i.weekday;
				switch (S) {
					case 'millisecond':
						o.ticks(Dt.every(u));
						break;
					case 'second':
						o.ticks(gt.every(u));
						break;
					case 'minute':
						o.ticks(At.every(u));
						break;
					case 'hour':
						o.ticks(Et.every(u));
						break;
					case 'day':
						o.ticks(yt.every(u));
						break;
					case 'week':
						o.ticks(Ze[c].every(u));
						break;
					case 'month':
						o.ticks(Wt.every(u));
						break;
				}
			}
			if (
				(q
					.append('g')
					.attr('class', 'grid')
					.attr('transform', 'translate(' + T + ', ' + (w - 50) + ')')
					.call(o)
					.selectAll('text')
					.style('text-anchor', 'middle')
					.attr('fill', '#000')
					.attr('stroke', 'none')
					.attr('font-size', 10)
					.attr('dy', '1em'),
				r.db.topAxisEnabled() || i.topAxis)
			) {
				let u = Qn(y)
					.tickSize(-w + F + i.gridLineStartPadding)
					.tickFormat(Qt(r.db.getAxisFormat() || i.axisFormat || '%Y-%m-%d'));
				if (m !== null) {
					const S = m[1],
						c = m[2],
						X = r.db.getWeekday() || i.weekday;
					switch (c) {
						case 'millisecond':
							u.ticks(Dt.every(S));
							break;
						case 'second':
							u.ticks(gt.every(S));
							break;
						case 'minute':
							u.ticks(At.every(S));
							break;
						case 'hour':
							u.ticks(Et.every(S));
							break;
						case 'day':
							u.ticks(yt.every(S));
							break;
						case 'week':
							u.ticks(Ze[X].every(S));
							break;
						case 'month':
							u.ticks(Wt.every(S));
							break;
					}
				}
				q.append('g')
					.attr('class', 'grid')
					.attr('transform', 'translate(' + T + ', ' + F + ')')
					.call(u)
					.selectAll('text')
					.style('text-anchor', 'middle')
					.attr('fill', '#000')
					.attr('stroke', 'none')
					.attr('font-size', 10);
			}
		}
		function Q(T, F) {
			let M = 0;
			const w = Object.keys(C).map((o) => [o, C[o]]);
			q.append('g')
				.selectAll('text')
				.data(w)
				.enter()
				.append(function (o) {
					const d = o[0].split(In.lineBreakRegex),
						m = -(d.length - 1) / 2,
						u = Y.createElementNS('http://www.w3.org/2000/svg', 'text');
					u.setAttribute('dy', m + 'em');
					for (const [S, c] of d.entries()) {
						const X = Y.createElementNS('http://www.w3.org/2000/svg', 'tspan');
						X.setAttribute('alignment-baseline', 'central'),
							X.setAttribute('x', '10'),
							S > 0 && X.setAttribute('dy', '1em'),
							(X.textContent = c),
							u.appendChild(X);
					}
					return u;
				})
				.attr('x', 10)
				.attr('y', function (o, d) {
					if (d > 0) for (let m = 0; m < d; m++) return (M += w[d - 1][1]), (o[1] * T) / 2 + M * T + F;
					else return (o[1] * T) / 2 + F;
				})
				.attr('font-size', i.sectionFontSize)
				.attr('class', function (o) {
					for (const [d, m] of U.entries()) if (o[0] === m) return 'sectionTitle sectionTitle' + (d % i.numberSectionStyles);
					return 'sectionTitle';
				});
		}
		function x(T, F, M, w) {
			const o = r.db.getTodayMarker();
			if (o === 'off') return;
			const d = q.append('g').attr('class', 'today'),
				m = new Date(),
				u = d.append('line');
			u
				.attr('x1', y(m) + T)
				.attr('x2', y(m) + T)
				.attr('y1', i.titleTopMargin)
				.attr('y2', w - i.titleTopMargin)
				.attr('class', 'today'),
				o !== '' && u.attr('style', o.replace(/,/g, ';'));
		}
		function E(T) {
			const F = {},
				M = [];
			for (let w = 0, o = T.length; w < o; ++w) Object.prototype.hasOwnProperty.call(F, T[w]) || ((F[T[w]] = !0), M.push(T[w]));
			return M;
		}
	},
	hs = { setConf: ls, draw: fs },
	ds = (t) => `
  .mermaid-main-font {
    font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
  }

  .exclude-range {
    fill: ${t.excludeBkgColor};
  }

  .section {
    stroke: none;
    opacity: 0.2;
  }

  .section0 {
    fill: ${t.sectionBkgColor};
  }

  .section2 {
    fill: ${t.sectionBkgColor2};
  }

  .section1,
  .section3 {
    fill: ${t.altSectionBkgColor};
    opacity: 0.2;
  }

  .sectionTitle0 {
    fill: ${t.titleColor};
  }

  .sectionTitle1 {
    fill: ${t.titleColor};
  }

  .sectionTitle2 {
    fill: ${t.titleColor};
  }

  .sectionTitle3 {
    fill: ${t.titleColor};
  }

  .sectionTitle {
    text-anchor: start;
    font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
  }


  /* Grid and axis */

  .grid .tick {
    stroke: ${t.gridColor};
    opacity: 0.8;
    shape-rendering: crispEdges;
  }

  .grid .tick text {
    font-family: ${t.fontFamily};
    fill: ${t.textColor};
  }

  .grid path {
    stroke-width: 0;
  }


  /* Today line */

  .today {
    fill: none;
    stroke: ${t.todayLineColor};
    stroke-width: 2px;
  }


  /* Task styling */

  /* Default task */

  .task {
    stroke-width: 2;
  }

  .taskText {
    text-anchor: middle;
    font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
  }

  .taskTextOutsideRight {
    fill: ${t.taskTextDarkColor};
    text-anchor: start;
    font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
  }

  .taskTextOutsideLeft {
    fill: ${t.taskTextDarkColor};
    text-anchor: end;
  }


  /* Special case clickable */

  .task.clickable {
    cursor: pointer;
  }

  .taskText.clickable {
    cursor: pointer;
    fill: ${t.taskTextClickableColor} !important;
    font-weight: bold;
  }

  .taskTextOutsideLeft.clickable {
    cursor: pointer;
    fill: ${t.taskTextClickableColor} !important;
    font-weight: bold;
  }

  .taskTextOutsideRight.clickable {
    cursor: pointer;
    fill: ${t.taskTextClickableColor} !important;
    font-weight: bold;
  }


  /* Specific task settings for the sections*/

  .taskText0,
  .taskText1,
  .taskText2,
  .taskText3 {
    fill: ${t.taskTextColor};
  }

  .task0,
  .task1,
  .task2,
  .task3 {
    fill: ${t.taskBkgColor};
    stroke: ${t.taskBorderColor};
  }

  .taskTextOutside0,
  .taskTextOutside2
  {
    fill: ${t.taskTextOutsideColor};
  }

  .taskTextOutside1,
  .taskTextOutside3 {
    fill: ${t.taskTextOutsideColor};
  }


  /* Active task */

  .active0,
  .active1,
  .active2,
  .active3 {
    fill: ${t.activeTaskBkgColor};
    stroke: ${t.activeTaskBorderColor};
  }

  .activeText0,
  .activeText1,
  .activeText2,
  .activeText3 {
    fill: ${t.taskTextDarkColor} !important;
  }


  /* Completed task */

  .done0,
  .done1,
  .done2,
  .done3 {
    stroke: ${t.doneTaskBorderColor};
    fill: ${t.doneTaskBkgColor};
    stroke-width: 2;
  }

  .doneText0,
  .doneText1,
  .doneText2,
  .doneText3 {
    fill: ${t.taskTextDarkColor} !important;
  }


  /* Tasks on the critical line */

  .crit0,
  .crit1,
  .crit2,
  .crit3 {
    stroke: ${t.critBorderColor};
    fill: ${t.critBkgColor};
    stroke-width: 2;
  }

  .activeCrit0,
  .activeCrit1,
  .activeCrit2,
  .activeCrit3 {
    stroke: ${t.critBorderColor};
    fill: ${t.activeTaskBkgColor};
    stroke-width: 2;
  }

  .doneCrit0,
  .doneCrit1,
  .doneCrit2,
  .doneCrit3 {
    stroke: ${t.critBorderColor};
    fill: ${t.doneTaskBkgColor};
    stroke-width: 2;
    cursor: pointer;
    shape-rendering: crispEdges;
  }

  .milestone {
    transform: rotate(45deg) scale(0.8,0.8);
  }

  .milestoneText {
    font-style: italic;
  }
  .doneCritText0,
  .doneCritText1,
  .doneCritText2,
  .doneCritText3 {
    fill: ${t.taskTextDarkColor} !important;
  }

  .activeCritText0,
  .activeCritText1,
  .activeCritText2,
  .activeCritText3 {
    fill: ${t.taskTextDarkColor} !important;
  }

  .titleText {
    text-anchor: middle;
    font-size: 18px;
    fill: ${t.titleColor || t.textColor};
    font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
  }
`,
	ms = ds,
	vs = { parser: Si, db: cs, renderer: hs, styles: ms };
export { vs as diagram };
