/* Chartist.js 0.11.4 * Copyright © 2019 Gion Kunz * Free to use under either the WTFPL license or the MIT license. * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-WTFPL * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-MIT */ !function (a, b) { "function" == typeof define && define.amd ? define("Chartist", [], function () { return a.Chartist = b() }) : "object" == typeof module && module.exports ? module.exports = b() : a.Chartist = b() }(this, function () { var a = { version: "0.11.4" }; return function (a, b) { "use strict"; var c = a.window, d = a.document; b.namespaces = { svg: "http://www.w3.org/2000/svg", xmlns: "http://www.w3.org/2000/xmlns/", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", ct: "http://gionkunz.github.com/chartist-js/ct" }, b.noop = function (a) { return a }, b.alphaNumerate = function (a) { return String.fromCharCode(97 + a % 26) }, b.extend = function (a) { var c, d, e; for (a = a || {}, c = 1; c < arguments.length; c++) { d = arguments[c]; for (var f in d) e = d[f], "object" != typeof e || null === e || e instanceof Array ? a[f] = e : a[f] = b.extend(a[f], e) } return a }, b.replaceAll = function (a, b, c) { return a.replace(new RegExp(b, "g"), c) }, b.ensureUnit = function (a, b) { return "number" == typeof a && (a += b), a }, b.quantity = function (a) { if ("string" == typeof a) { var b = /^(\d+)\s*(.*)$/g.exec(a); return { value: +b[1], unit: b[2] || void 0 } } return { value: a } }, b.querySelector = function (a) { return a instanceof Node ? a : d.querySelector(a) }, b.times = function (a) { return Array.apply(null, new Array(a)) }, b.sum = function (a, b) { return a + (b ? b : 0) }, b.mapMultiply = function (a) { return function (b) { return b * a } }, b.mapAdd = function (a) { return function (b) { return b + a } }, b.serialMap = function (a, c) { var d = [], e = Math.max.apply(null, a.map(function (a) { return a.length })); return b.times(e).forEach(function (b, e) { var f = a.map(function (a) { return a[e] }); d[e] = c.apply(null, f) }), d }, b.roundWithPrecision = function (a, c) { var d = Math.pow(10, c || b.precision); return Math.round(a * d) / d }, b.precision = 8, b.escapingMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, b.serialize = function (a) { return null === a || void 0 === a ? a : ("number" == typeof a ? a = "" + a : "object" == typeof a && (a = JSON.stringify({ data: a })), Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, c, b.escapingMap[c]) }, a)) }, b.deserialize = function (a) { if ("string" != typeof a) return a; a = Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, b.escapingMap[c], c) }, a); try { a = JSON.parse(a), a = void 0 !== a.data ? a.data : a } catch (c) { } return a }, b.createSvg = function (a, c, d, e) { var f; return c = c || "100%", d = d || "100%", Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function (a) { return a.getAttributeNS(b.namespaces.xmlns, "ct") }).forEach(function (b) { a.removeChild(b) }), f = new b.Svg("svg").attr({ width: c, height: d }).addClass(e), f._node.style.width = c, f._node.style.height = d, a.appendChild(f._node), f }, b.normalizeData = function (a, c, d) { var e, f = { raw: a, normalized: {} }; return f.normalized.series = b.getDataArray({ series: a.series || [] }, c, d), e = f.normalized.series.every(function (a) { return a instanceof Array }) ? Math.max.apply(null, f.normalized.series.map(function (a) { return a.length })) : f.normalized.series.length, f.normalized.labels = (a.labels || []).slice(), Array.prototype.push.apply(f.normalized.labels, b.times(Math.max(0, e - f.normalized.labels.length)).map(function () { return "" })), c && b.reverseData(f.normalized), f }, b.safeHasProperty = function (a, b) { return null !== a && "object" == typeof a && a.hasOwnProperty(b) }, b.isDataHoleValue = function (a) { return null === a || void 0 === a || "number" == typeof a && isNaN(a) }, b.reverseData = function (a) { a.labels.reverse(), a.series.reverse(); for (var b = 0; b < a.series.length; b++)"object" == typeof a.series[b] && void 0 !== a.series[b].data ? a.series[b].data.reverse() : a.series[b] instanceof Array && a.series[b].reverse() }, b.getDataArray = function (a, c, d) { function e(a) { if (b.safeHasProperty(a, "value")) return e(a.value); if (b.safeHasProperty(a, "data")) return e(a.data); if (a instanceof Array) return a.map(e); if (!b.isDataHoleValue(a)) { if (d) { var c = {}; return "string" == typeof d ? c[d] = b.getNumberOrUndefined(a) : c.y = b.getNumberOrUndefined(a), c.x = a.hasOwnProperty("x") ? b.getNumberOrUndefined(a.x) : c.x, c.y = a.hasOwnProperty("y") ? b.getNumberOrUndefined(a.y) : c.y, c } return b.getNumberOrUndefined(a) } } return a.series.map(e) }, b.normalizePadding = function (a, b) { return b = b || 0, "number" == typeof a ? { top: a, right: a, bottom: a, left: a } : { top: "number" == typeof a.top ? a.top : b, right: "number" == typeof a.right ? a.right : b, bottom: "number" == typeof a.bottom ? a.bottom : b, left: "number" == typeof a.left ? a.left : b } }, b.getMetaData = function (a, b) { var c = a.data ? a.data[b] : a[b]; return c ? c.meta : void 0 }, b.orderOfMagnitude = function (a) { return Math.floor(Math.log(Math.abs(a)) / Math.LN10) }, b.projectLength = function (a, b, c) { return b / c.range * a }, b.getAvailableHeight = function (a, c) { return Math.max((b.quantity(c.height).value || a.height()) - (c.chartPadding.top + c.chartPadding.bottom) - c.axisX.offset, 0) }, b.getHighLow = function (a, c, d) { function e(a) { if (void 0 !== a) if (a instanceof Array) for (var b = 0; b < a.length; b++)e(a[b]); else { var c = d ? +a[d] : +a; g && c > f.high && (f.high = c), h && c < f.low && (f.low = c) } } c = b.extend({}, c, d ? c["axis" + d.toUpperCase()] : {}); var f = { high: void 0 === c.high ? -Number.MAX_VALUE : +c.high, low: void 0 === c.low ? Number.MAX_VALUE : +c.low }, g = void 0 === c.high, h = void 0 === c.low; return (g || h) && e(a), (c.referenceValue || 0 === c.referenceValue) && (f.high = Math.max(c.referenceValue, f.high), f.low = Math.min(c.referenceValue, f.low)), f.high <= f.low && (0 === f.low ? f.high = 1 : f.low < 0 ? f.high = 0 : f.high > 0 ? f.low = 0 : (f.high = 1, f.low = 0)), f }, b.isNumeric = function (a) { return null !== a && isFinite(a) }, b.isFalseyButZero = function (a) { return !a && 0 !== a }, b.getNumberOrUndefined = function (a) { return b.isNumeric(a) ? +a : void 0 }, b.isMultiValue = function (a) { return "object" == typeof a && ("x" in a || "y" in a) }, b.getMultiValue = function (a, c) { return b.isMultiValue(a) ? b.getNumberOrUndefined(a[c || "y"]) : b.getNumberOrUndefined(a) }, b.rho = function (a) { function b(a, c) { return a % c === 0 ? c : b(c, a % c) } function c(a) { return a * a + 1 } if (1 === a) return a; var d, e = 2, f = 2; if (a % 2 === 0) return 2; do e = c(e) % a, f = c(c(f)) % a, d = b(Math.abs(e - f), a); while (1 === d); return d }, b.getBounds = function (a, c, d, e) { function f(a, b) { return a === (a += b) && (a *= 1 + (b > 0 ? o : -o)), a } var g, h, i, j = 0, k = { high: c.high, low: c.low }; k.valueRange = k.high - k.low, k.oom = b.orderOfMagnitude(k.valueRange), k.step = Math.pow(10, k.oom), k.min = Math.floor(k.low / k.step) * k.step, k.max = Math.ceil(k.high / k.step) * k.step, k.range = k.max - k.min, k.numberOfSteps = Math.round(k.range / k.step); var l = b.projectLength(a, k.step, k), m = l < d, n = e ? b.rho(k.range) : 0; if (e && b.projectLength(a, 1, k) >= d) k.step = 1; else if (e && n < k.step && b.projectLength(a, n, k) >= d) k.step = n; else for (; ;) { if (m && b.projectLength(a, k.step, k) <= d) k.step *= 2; else { if (m || !(b.projectLength(a, k.step / 2, k) >= d)) break; if (k.step /= 2, e && k.step % 1 !== 0) { k.step *= 2; break } } if (j++ > 1e3) throw new Error("Exceeded maximum number of iterations while optimizing scale step!") } var o = 2.221e-16; for (k.step = Math.max(k.step, o), h = k.min, i = k.max; h + k.step <= k.low;)h = f(h, k.step); for (; i - k.step >= k.high;)i = f(i, -k.step); k.min = h, k.max = i, k.range = k.max - k.min; var p = []; for (g = k.min; g <= k.max; g = f(g, k.step)) { var q = b.roundWithPrecision(g); q !== p[p.length - 1] && p.push(q) } return k.values = p, k }, b.polarToCartesian = function (a, b, c, d) { var e = (d - 90) * Math.PI / 180; return { x: a + c * Math.cos(e), y: b + c * Math.sin(e) } }, b.createChartRect = function (a, c, d) { var e = !(!c.axisX && !c.axisY), f = e ? c.axisY.offset : 0, g = e ? c.axisX.offset : 0, h = a.width() || b.quantity(c.width).value || 0, i = a.height() || b.quantity(c.height).value || 0, j = b.normalizePadding(c.chartPadding, d); h = Math.max(h, f + j.left + j.right), i = Math.max(i, g + j.top + j.bottom); var k = { padding: j, width: function () { return this.x2 - this.x1 }, height: function () { return this.y1 - this.y2 } }; return e ? ("start" === c.axisX.position ? (k.y2 = j.top + g, k.y1 = Math.max(i - j.bottom, k.y2 + 1)) : (k.y2 = j.top, k.y1 = Math.max(i - j.bottom - g, k.y2 + 1)), "start" === c.axisY.position ? (k.x1 = j.left + f, k.x2 = Math.max(h - j.right, k.x1 + 1)) : (k.x1 = j.left, k.x2 = Math.max(h - j.right - f, k.x1 + 1))) : (k.x1 = j.left, k.x2 = Math.max(h - j.right, k.x1 + 1), k.y2 = j.top, k.y1 = Math.max(i - j.bottom, k.y2 + 1)), k }, b.createGrid = function (a, c, d, e, f, g, h, i) { var j = {}; j[d.units.pos + "1"] = a, j[d.units.pos + "2"] = a, j[d.counterUnits.pos + "1"] = e, j[d.counterUnits.pos + "2"] = e + f; var k = g.elem("line", j, h.join(" ")); i.emit("draw", b.extend({ type: "grid", axis: d, index: c, group: g, element: k }, j)) }, b.createGridBackground = function (a, b, c, d) { var e = a.elem("rect", { x: b.x1, y: b.y2, width: b.width(), height: b.height() }, c, !0); d.emit("draw", { type: "gridBackground", group: a, element: e }) }, b.createLabel = function (a, c, e, f, g, h, i, j, k, l, m) { var n, o = {}; if (o[g.units.pos] = a + i[g.units.pos], o[g.counterUnits.pos] = i[g.counterUnits.pos], o[g.units.len] = c, o[g.counterUnits.len] = Math.max(0, h - 10), l) { var p = d.createElement("span"); p.className = k.join(" "), p.setAttribute("xmlns", b.namespaces.xhtml), p.innerText = f[e], p.style[g.units.len] = Math.round(o[g.units.len]) + "px", p.style[g.counterUnits.len] = Math.round(o[g.counterUnits.len]) + "px", n = j.foreignObject(p, b.extend({ style: "overflow: visible;" }, o)) } else n = j.elem("text", o, k.join(" ")).text(f[e]); m.emit("draw", b.extend({ type: "label", axis: g, index: e, group: j, element: n, text: f[e] }, o)) }, b.getSeriesOption = function (a, b, c) { if (a.name && b.series && b.series[a.name]) { var d = b.series[a.name]; return d.hasOwnProperty(c) ? d[c] : b[c] } return b[c] }, b.optionsProvider = function (a, d, e) { function f(a) { var f = h; if (h = b.extend({}, j), d) for (i = 0; i < d.length; i++) { var g = c.matchMedia(d[i][0]); g.matches && (h = b.extend(h, d[i][1])) } e && a && e.emit("optionsChanged", { previousOptions: f, currentOptions: h }) } function g() { k.forEach(function (a) { a.removeListener(f) }) } var h, i, j = b.extend({}, a), k = []; if (!c.matchMedia) throw "window.matchMedia not found! Make sure you're using a polyfill."; if (d) for (i = 0; i < d.length; i++) { var l = c.matchMedia(d[i][0]); l.addListener(f), k.push(l) } return f(), { removeMediaQueryListeners: g, getCurrentOptions: function () { return b.extend({}, h) } } }, b.splitIntoSegments = function (a, c, d) { var e = { increasingX: !1, fillHoles: !1 }; d = b.extend({}, e, d); for (var f = [], g = !0, h = 0; h < a.length; h += 2)void 0 === b.getMultiValue(c[h / 2].value) ? d.fillHoles || (g = !0) : (d.increasingX && h >= 2 && a[h] <= a[h - 2] && (g = !0), g && (f.push({ pathCoordinates: [], valueData: [] }), g = !1), f[f.length - 1].pathCoordinates.push(a[h], a[h + 1]), f[f.length - 1].valueData.push(c[h / 2])); return f } }(this || global, a), function (a, b) { "use strict"; b.Interpolation = {}, b.Interpolation.none = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e = new b.Svg.Path, f = !0, g = 0; g < c.length; g += 2) { var h = c[g], i = c[g + 1], j = d[g / 2]; void 0 !== b.getMultiValue(j.value) ? (f ? e.move(h, i, !1, j) : e.line(h, i, !1, j), f = !1) : a.fillHoles || (f = !0) } return e } }, b.Interpolation.simple = function (a) { var c = { divisor: 2, fillHoles: !1 }; a = b.extend({}, c, a); var d = 1 / Math.max(1, a.divisor); return function (c, e) { for (var f, g, h, i = new b.Svg.Path, j = 0; j < c.length; j += 2) { var k = c[j], l = c[j + 1], m = (k - f) * d, n = e[j / 2]; void 0 !== n.value ? (void 0 === h ? i.move(k, l, !1, n) : i.curve(f + m, g, k - m, l, k, l, !1, n), f = k, g = l, h = n) : a.fillHoles || (f = k = h = void 0) } return i } }, b.Interpolation.cardinal = function (a) { var c = { tension: 1, fillHoles: !1 }; a = b.extend({}, c, a); var d = Math.min(1, Math.max(0, a.tension)), e = 1 - d; return function f(c, g) { var h = b.splitIntoSegments(c, g, { fillHoles: a.fillHoles }); if (h.length) { if (h.length > 1) { var i = []; return h.forEach(function (a) { i.push(f(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(i) } if (c = h[0].pathCoordinates, g = h[0].valueData, c.length <= 4) return b.Interpolation.none()(c, g); for (var j, k = (new b.Svg.Path).move(c[0], c[1], !1, g[0]), l = 0, m = c.length; m - 2 * !j > l; l += 2) { var n = [{ x: +c[l - 2], y: +c[l - 1] }, { x: +c[l], y: +c[l + 1] }, { x: +c[l + 2], y: +c[l + 3] }, { x: +c[l + 4], y: +c[l + 5] }]; j ? l ? m - 4 === l ? n[3] = { x: +c[0], y: +c[1] } : m - 2 === l && (n[2] = { x: +c[0], y: +c[1] }, n[3] = { x: +c[2], y: +c[3] }) : n[0] = { x: +c[m - 2], y: +c[m - 1] } : m - 4 === l ? n[3] = n[2] : l || (n[0] = { x: +c[l], y: +c[l + 1] }), k.curve(d * (-n[0].x + 6 * n[1].x + n[2].x) / 6 + e * n[2].x, d * (-n[0].y + 6 * n[1].y + n[2].y) / 6 + e * n[2].y, d * (n[1].x + 6 * n[2].x - n[3].x) / 6 + e * n[2].x, d * (n[1].y + 6 * n[2].y - n[3].y) / 6 + e * n[2].y, n[2].x, n[2].y, !1, g[(l + 2) / 2]) } return k } return b.Interpolation.none()([]) } }, b.Interpolation.monotoneCubic = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function d(c, e) { var f = b.splitIntoSegments(c, e, { fillHoles: a.fillHoles, increasingX: !0 }); if (f.length) { if (f.length > 1) { var g = []; return f.forEach(function (a) { g.push(d(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(g) } if (c = f[0].pathCoordinates, e = f[0].valueData, c.length <= 4) return b.Interpolation.none()(c, e); var h, i, j = [], k = [], l = c.length / 2, m = [], n = [], o = [], p = []; for (h = 0; h < l; h++)j[h] = c[2 * h], k[h] = c[2 * h + 1]; for (h = 0; h < l - 1; h++)o[h] = k[h + 1] - k[h], p[h] = j[h + 1] - j[h], n[h] = o[h] / p[h]; for (m[0] = n[0], m[l - 1] = n[l - 2], h = 1; h < l - 1; h++)0 === n[h] || 0 === n[h - 1] || n[h - 1] > 0 != n[h] > 0 ? m[h] = 0 : (m[h] = 3 * (p[h - 1] + p[h]) / ((2 * p[h] + p[h - 1]) / n[h - 1] + (p[h] + 2 * p[h - 1]) / n[h]), isFinite(m[h]) || (m[h] = 0)); for (i = (new b.Svg.Path).move(j[0], k[0], !1, e[0]), h = 0; h < l - 1; h++)i.curve(j[h] + p[h] / 3, k[h] + m[h] * p[h] / 3, j[h + 1] - p[h] / 3, k[h + 1] - m[h + 1] * p[h] / 3, j[h + 1], k[h + 1], !1, e[h + 1]); return i } return b.Interpolation.none()([]) } }, b.Interpolation.step = function (a) { var c = { postpone: !0, fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e, f, g, h = new b.Svg.Path, i = 0; i < c.length; i += 2) { var j = c[i], k = c[i + 1], l = d[i / 2]; void 0 !== l.value ? (void 0 === g ? h.move(j, k, !1, l) : (a.postpone ? h.line(j, f, !1, g) : h.line(e, k, !1, l), h.line(j, k, !1, l)), e = j, f = k, g = l) : a.fillHoles || (e = f = g = void 0) } return h } } }(this || global, a), function (a, b) { "use strict"; b.EventEmitter = function () { function a(a, b) { d[a] = d[a] || [], d[a].push(b) } function b(a, b) { d[a] && (b ? (d[a].splice(d[a].indexOf(b), 1), 0 === d[a].length && delete d[a]) : delete d[a]) } function c(a, b) { d[a] && d[a].forEach(function (a) { a(b) }), d["*"] && d["*"].forEach(function (c) { c(a, b) }) } var d = []; return { addEventHandler: a, removeEventHandler: b, emit: c } } }(this || global, a), function (a, b) { "use strict"; function c(a) { var b = []; if (a.length) for (var c = 0; c < a.length; c++)b.push(a[c]); return b } function d(a, c) { var d = c || this.prototype || b.Class, e = Object.create(d); b.Class.cloneDefinitions(e, a); var f = function () { var a, c = e.constructor || function () { }; return a = this === b ? Object.create(e) : this, c.apply(a, Array.prototype.slice.call(arguments, 0)), a }; return f.prototype = e, f["super"] = d, f.extend = this.extend, f } function e() { var a = c(arguments), b = a[0]; return a.splice(1, a.length - 1).forEach(function (a) { Object.getOwnPropertyNames(a).forEach(function (c) { delete b[c], Object.defineProperty(b, c, Object.getOwnPropertyDescriptor(a, c)) }) }), b } b.Class = { extend: d, cloneDefinitions: e } }(this || global, a), function (a, b) { "use strict"; function c(a, c, d) { return a && (this.data = a || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.eventEmitter.emit("data", { type: "update", data: this.data })), c && (this.options = b.extend({}, d ? this.options : this.defaultOptions, c), this.initializeTimeoutId || (this.optionsProvider.removeMediaQueryListeners(), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter))), this.initializeTimeoutId || this.createChart(this.optionsProvider.getCurrentOptions()), this } function d() { return this.initializeTimeoutId ? i.clearTimeout(this.initializeTimeoutId) : (i.removeEventListener("resize", this.resizeListener), this.optionsProvider.removeMediaQueryListeners()), this } function e(a, b) { return this.eventEmitter.addEventHandler(a, b), this } function f(a, b) { return this.eventEmitter.removeEventHandler(a, b), this } function g() { i.addEventListener("resize", this.resizeListener), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter), this.eventEmitter.addEventHandler("optionsChanged", function () { this.update() }.bind(this)), this.options.plugins && this.options.plugins.forEach(function (a) { a instanceof Array ? a[0](this, a[1]) : a(this) }.bind(this)), this.eventEmitter.emit("data", { type: "initial", data: this.data }), this.createChart(this.optionsProvider.getCurrentOptions()), this.initializeTimeoutId = void 0 } function h(a, c, d, e, f) { this.container = b.querySelector(a), this.data = c || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.defaultOptions = d, this.options = e, this.responsiveOptions = f, this.eventEmitter = b.EventEmitter(), this.supportsForeignObject = b.Svg.isSupported("Extensibility"), this.supportsAnimations = b.Svg.isSupported("AnimationEventsAttribute"), this.resizeListener = function () { this.update() }.bind(this), this.container && (this.container.__chartist__ && this.container.__chartist__.detach(), this.container.__chartist__ = this), this.initializeTimeoutId = setTimeout(g.bind(this), 0) } var i = a.window; b.Base = b.Class.extend({ constructor: h, optionsProvider: void 0, container: void 0, svg: void 0, eventEmitter: void 0, createChart: function () { throw new Error("Base chart type can't be instantiated!") }, update: c, detach: d, on: e, off: f, version: b.version, supportsForeignObject: !1 }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f) { a instanceof Element ? this._node = a : (this._node = y.createElementNS(b.namespaces.svg, a), "svg" === a && this.attr({ "xmlns:ct": b.namespaces.ct })), c && this.attr(c), d && this.addClass(d), e && (f && e._node.firstChild ? e._node.insertBefore(this._node, e._node.firstChild) : e._node.appendChild(this._node)) } function d(a, c) { return "string" == typeof a ? c ? this._node.getAttributeNS(c, a) : this._node.getAttribute(a) : (Object.keys(a).forEach(function (c) { if (void 0 !== a[c]) if (c.indexOf(":") !== -1) { var d = c.split(":"); this._node.setAttributeNS(b.namespaces[d[0]], c, a[c]) } else this._node.setAttribute(c, a[c]) }.bind(this)), this) } function e(a, c, d, e) { return new b.Svg(a, c, d, this, e) } function f() { return this._node.parentNode instanceof SVGElement ? new b.Svg(this._node.parentNode) : null } function g() { for (var a = this._node; "svg" !== a.nodeName;)a = a.parentNode; return new b.Svg(a) } function h(a) { var c = this._node.querySelector(a); return c ? new b.Svg(c) : null } function i(a) { var c = this._node.querySelectorAll(a); return c.length ? new b.Svg.List(c) : null } function j() { return this._node } function k(a, c, d, e) { if ("string" == typeof a) { var f = y.createElement("div"); f.innerHTML = a, a = f.firstChild } a.setAttribute("xmlns", b.namespaces.xmlns); var g = this.elem("foreignObject", c, d, e); return g._node.appendChild(a), g } function l(a) { return this._node.appendChild(y.createTextNode(a)), this } function m() { for (; this._node.firstChild;)this._node.removeChild(this._node.firstChild); return this } function n() { return this._node.parentNode.removeChild(this._node), this.parent() } function o(a) { return this._node.parentNode.replaceChild(a._node, this._node), a } function p(a, b) { return b && this._node.firstChild ? this._node.insertBefore(a._node, this._node.firstChild) : this._node.appendChild(a._node), this } function q() { return this._node.getAttribute("class") ? this._node.getAttribute("class").trim().split(/\s+/) : [] } function r(a) { return this._node.setAttribute("class", this.classes(this._node).concat(a.trim().split(/\s+/)).filter(function (a, b, c) { return c.indexOf(a) === b }).join(" ")), this } function s(a) { var b = a.trim().split(/\s+/); return this._node.setAttribute("class", this.classes(this._node).filter(function (a) { return b.indexOf(a) === -1 }).join(" ")), this } function t() { return this._node.setAttribute("class", ""), this } function u() { return this._node.getBoundingClientRect().height } function v() { return this._node.getBoundingClientRect().width } function w(a, c, d) { return void 0 === c && (c = !0), Object.keys(a).forEach(function (e) { function f(a, c) { var f, g, h, i = {}; a.easing && (h = a.easing instanceof Array ? a.easing : b.Svg.Easing[a.easing], delete a.easing), a.begin = b.ensureUnit(a.begin, "ms"), a.dur = b.ensureUnit(a.dur, "ms"), h && (a.calcMode = "spline", a.keySplines = h.join(" "), a.keyTimes = "0;1"), c && (a.fill = "freeze", i[e] = a.from, this.attr(i), g = b.quantity(a.begin || 0).value, a.begin = "indefinite"), f = this.elem("animate", b.extend({ attributeName: e }, a)), c && setTimeout(function () { try { f._node.beginElement() } catch (b) { i[e] = a.to, this.attr(i), f.remove() } }.bind(this), g), d && f._node.addEventListener("beginEvent", function () { d.emit("animationBegin", { element: this, animate: f._node, params: a }) }.bind(this)), f._node.addEventListener("endEvent", function () { d && d.emit("animationEnd", { element: this, animate: f._node, params: a }), c && (i[e] = a.to, this.attr(i), f.remove()) }.bind(this)) } a[e] instanceof Array ? a[e].forEach(function (a) { f.bind(this)(a, !1) }.bind(this)) : f.bind(this)(a[e], c) }.bind(this)), this } function x(a) { var c = this; this.svgElements = []; for (var d = 0; d < a.length; d++)this.svgElements.push(new b.Svg(a[d])); Object.keys(b.Svg.prototype).filter(function (a) { return ["constructor", "parent", "querySelector", "querySelectorAll", "replace", "append", "classes", "height", "width"].indexOf(a) === -1 }).forEach(function (a) { c[a] = function () { var d = Array.prototype.slice.call(arguments, 0); return c.svgElements.forEach(function (c) { b.Svg.prototype[a].apply(c, d) }), c } }) } var y = a.document; b.Svg = b.Class.extend({ constructor: c, attr: d, elem: e, parent: f, root: g, querySelector: h, querySelectorAll: i, getNode: j, foreignObject: k, text: l, empty: m, remove: n, replace: o, append: p, classes: q, addClass: r, removeClass: s, removeAllClasses: t, height: u, width: v, animate: w }), b.Svg.isSupported = function (a) { return y.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#" + a, "1.1") }; var z = { easeInSine: [.47, 0, .745, .715], easeOutSine: [.39, .575, .565, 1], easeInOutSine: [.445, .05, .55, .95], easeInQuad: [.55, .085, .68, .53], easeOutQuad: [.25, .46, .45, .94], easeInOutQuad: [.455, .03, .515, .955], easeInCubic: [.55, .055, .675, .19], easeOutCubic: [.215, .61, .355, 1], easeInOutCubic: [.645, .045, .355, 1], easeInQuart: [.895, .03, .685, .22], easeOutQuart: [.165, .84, .44, 1], easeInOutQuart: [.77, 0, .175, 1], easeInQuint: [.755, .05, .855, .06], easeOutQuint: [.23, 1, .32, 1], easeInOutQuint: [.86, 0, .07, 1], easeInExpo: [.95, .05, .795, .035], easeOutExpo: [.19, 1, .22, 1], easeInOutExpo: [1, 0, 0, 1], easeInCirc: [.6, .04, .98, .335], easeOutCirc: [.075, .82, .165, 1], easeInOutCirc: [.785, .135, .15, .86], easeInBack: [.6, -.28, .735, .045], easeOutBack: [.175, .885, .32, 1.275], easeInOutBack: [.68, -.55, .265, 1.55] }; b.Svg.Easing = z, b.Svg.List = b.Class.extend({ constructor: x }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f, g) { var h = b.extend({ command: f ? a.toLowerCase() : a.toUpperCase() }, c, g ? { data: g } : {}); d.splice(e, 0, h) } function d(a, b) { a.forEach(function (c, d) { t[c.command.toLowerCase()].forEach(function (e, f) { b(c, e, d, f, a) }) }) } function e(a, c) { this.pathElements = [], this.pos = 0, this.close = a, this.options = b.extend({}, u, c) } function f(a) { return void 0 !== a ? (this.pos = Math.max(0, Math.min(this.pathElements.length, a)), this) : this.pos } function g(a) { return this.pathElements.splice(this.pos, a), this } function h(a, b, d, e) { return c("M", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function i(a, b, d, e) { return c("L", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function j(a, b, d, e, f, g, h, i) { return c("C", { x1: +a, y1: +b, x2: +d, y2: +e, x: +f, y: +g }, this.pathElements, this.pos++, h, i), this } function k(a, b, d, e, f, g, h, i, j) { return c("A", { rx: +a, ry: +b, xAr: +d, lAf: +e, sf: +f, x: +g, y: +h }, this.pathElements, this.pos++, i, j), this } function l(a) { var c = a.replace(/([A-Za-z])([0-9])/g, "$1 $2").replace(/([0-9])([A-Za-z])/g, "$1 $2").split(/[\s,]+/).reduce(function (a, b) { return b.match(/[A-Za-z]/) && a.push([]), a[a.length - 1].push(b), a }, []); "Z" === c[c.length - 1][0].toUpperCase() && c.pop(); var d = c.map(function (a) { var c = a.shift(), d = t[c.toLowerCase()]; return b.extend({ command: c }, d.reduce(function (b, c, d) { return b[c] = +a[d], b }, {})) }), e = [this.pos, 0]; return Array.prototype.push.apply(e, d), Array.prototype.splice.apply(this.pathElements, e), this.pos += d.length, this } function m() { var a = Math.pow(10, this.options.accuracy); return this.pathElements.reduce(function (b, c) { var d = t[c.command.toLowerCase()].map(function (b) { return this.options.accuracy ? Math.round(c[b] * a) / a : c[b] }.bind(this)); return b + c.command + d.join(",") }.bind(this), "") + (this.close ? "Z" : "") } function n(a, b) { return d(this.pathElements, function (c, d) { c[d] *= "x" === d[0] ? a : b }), this } function o(a, b) { return d(this.pathElements, function (c, d) { c[d] += "x" === d[0] ? a : b }), this } function p(a) { return d(this.pathElements, function (b, c, d, e, f) { var g = a(b, c, d, e, f); (g || 0 === g) && (b[c] = g) }), this } function q(a) { var c = new b.Svg.Path(a || this.close); return c.pos = this.pos, c.pathElements = this.pathElements.slice().map(function (a) { return b.extend({}, a) }), c.options = b.extend({}, this.options), c } function r(a) { var c = [new b.Svg.Path]; return this.pathElements.forEach(function (d) { d.command === a.toUpperCase() && 0 !== c[c.length - 1].pathElements.length && c.push(new b.Svg.Path), c[c.length - 1].pathElements.push(d) }), c } function s(a, c, d) { for (var e = new b.Svg.Path(c, d), f = 0; f < a.length; f++)for (var g = a[f], h = 0; h < g.pathElements.length; h++)e.pathElements.push(g.pathElements[h]); return e } var t = { m: ["x", "y"], l: ["x", "y"], c: ["x1", "y1", "x2", "y2", "x", "y"], a: ["rx", "ry", "xAr", "lAf", "sf", "x", "y"] }, u = { accuracy: 3 }; b.Svg.Path = b.Class.extend({ constructor: e, position: f, remove: g, move: h, line: i, curve: j, arc: k, scale: n, translate: o, transform: p, parse: l, stringify: m, clone: q, splitByCommand: r }), b.Svg.Path.elementDescriptions = t, b.Svg.Path.join = s }(this || global, a), function (a, b) { "use strict"; function c(a, b, c, d) { this.units = a, this.counterUnits = a === e.x ? e.y : e.x, this.chartRect = b, this.axisLength = b[a.rectEnd] - b[a.rectStart], this.gridOffset = b[a.rectOffset], this.ticks = c, this.options = d } function d(a, c, d, e, f) { var g = e["axis" + this.units.pos.toUpperCase()], h = this.ticks.map(this.projectValue.bind(this)), i = this.ticks.map(g.labelInterpolationFnc); h.forEach(function (j, k) { var l, m = { x: 0, y: 0 }; l = h[k + 1] ? h[k + 1] - j : Math.max(this.axisLength - j, 30), b.isFalseyButZero(i[k]) && "" !== i[k] || ("x" === this.units.pos ? (j = this.chartRect.x1 + j, m.x = e.axisX.labelOffset.x, "start" === e.axisX.position ? m.y = this.chartRect.padding.top + e.axisX.labelOffset.y + (d ? 5 : 20) : m.y = this.chartRect.y1 + e.axisX.labelOffset.y + (d ? 5 : 20)) : (j = this.chartRect.y1 - j, m.y = e.axisY.labelOffset.y - (d ? l : 0), "start" === e.axisY.position ? m.x = d ? this.chartRect.padding.left + e.axisY.labelOffset.x : this.chartRect.x1 - 10 : m.x = this.chartRect.x2 + e.axisY.labelOffset.x + 10), g.showGrid && b.createGrid(j, k, this, this.gridOffset, this.chartRect[this.counterUnits.len](), a, [e.classNames.grid, e.classNames[this.units.dir]], f), g.showLabel && b.createLabel(j, l, k, i, this, g.offset, m, c, [e.classNames.label, e.classNames[this.units.dir], "start" === g.position ? e.classNames[g.position] : e.classNames.end], d, f)) }.bind(this)) } var e = (a.window, a.document, { x: { pos: "x", len: "width", dir: "horizontal", rectStart: "x1", rectEnd: "x2", rectOffset: "y2" }, y: { pos: "y", len: "height", dir: "vertical", rectStart: "y2", rectEnd: "y1", rectOffset: "x1" } }); b.Axis = b.Class.extend({ constructor: c, createGridAndLabels: d, projectValue: function (a, b, c) { throw new Error("Base axis can't be instantiated!") } }), b.Axis.units = e }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.bounds = b.getBounds(d[a.rectEnd] - d[a.rectStart], f, e.scaleMinSpace || 20, e.onlyInteger), this.range = { min: this.bounds.min, max: this.bounds.max }, b.AutoScaleAxis["super"].constructor.call(this, a, d, this.bounds.values, e) } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.bounds.min) / this.bounds.range } a.window, a.document; b.AutoScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.divisor = e.divisor || 1, this.ticks = e.ticks || b.times(this.divisor).map(function (a, b) { return f.low + (f.high - f.low) / this.divisor * b }.bind(this)), this.ticks.sort(function (a, b) { return a - b }), this.range = { min: f.low, max: f.high }, b.FixedScaleAxis["super"].constructor.call(this, a, d, this.ticks, e), this.stepLength = this.axisLength / this.divisor } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.range.min) / (this.range.max - this.range.min) } a.window, a.document; b.FixedScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { b.StepAxis["super"].constructor.call(this, a, d, e.ticks, e); var f = Math.max(1, e.ticks.length - (e.stretch ? 1 : 0)); this.stepLength = this.axisLength / f } function d(a, b) { return this.stepLength * b } a.window, a.document; b.StepAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a) { var c = b.normalizeData(this.data, a.reverseData, !0); this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart); var d, f, g = this.svg.elem("g").addClass(a.classNames.gridGroup), h = this.svg.elem("g"), i = this.svg.elem("g").addClass(a.classNames.labelGroup), j = b.createChartRect(this.svg, a, e.padding); d = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, j, b.extend({}, a.axisX, { ticks: c.normalized.labels, stretch: a.fullWidth })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, j, a.axisX), f = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, j, b.extend({}, a.axisY, { high: b.isNumeric(a.high) ? a.high : a.axisY.high, low: b.isNumeric(a.low) ? a.low : a.axisY.low })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, j, a.axisY), d.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), f.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(g, j, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (e, g) { var i = h.elem("g"); i.attr({ "ct:series-name": e.name, "ct:meta": b.serialize(e.meta) }), i.addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(g)].join(" ")); var k = [], l = []; c.normalized.series[g].forEach(function (a, h) { var i = { x: j.x1 + d.projectValue(a, h, c.normalized.series[g]), y: j.y1 - f.projectValue(a, h, c.normalized.series[g]) }; k.push(i.x, i.y), l.push({ value: a, valueIndex: h, meta: b.getMetaData(e, h) }) }.bind(this)); var m = { lineSmooth: b.getSeriesOption(e, a, "lineSmooth"), showPoint: b.getSeriesOption(e, a, "showPoint"), showLine: b.getSeriesOption(e, a, "showLine"), showArea: b.getSeriesOption(e, a, "showArea"), areaBase: b.getSeriesOption(e, a, "areaBase") }, n = "function" == typeof m.lineSmooth ? m.lineSmooth : m.lineSmooth ? b.Interpolation.monotoneCubic() : b.Interpolation.none(), o = n(k, l); if (m.showPoint && o.pathElements.forEach(function (c) { var h = i.elem("line", { x1: c.x, y1: c.y, x2: c.x + .01, y2: c.y }, a.classNames.point).attr({ "ct:value": [c.data.value.x, c.data.value.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(c.data.meta) }); this.eventEmitter.emit("draw", { type: "point", value: c.data.value, index: c.data.valueIndex, meta: c.data.meta, series: e, seriesIndex: g, axisX: d, axisY: f, group: i, element: h, x: c.x, y: c.y }) }.bind(this)), m.showLine) { var p = i.elem("path", { d: o.stringify() }, a.classNames.line, !0); this.eventEmitter.emit("draw", { type: "line", values: c.normalized.series[g], path: o.clone(), chartRect: j, index: g, series: e, seriesIndex: g, seriesMeta: e.meta, axisX: d, axisY: f, group: i, element: p }) } if (m.showArea && f.range) { var q = Math.max(Math.min(m.areaBase, f.range.max), f.range.min), r = j.y1 - f.projectValue(q); o.splitByCommand("M").filter(function (a) { return a.pathElements.length > 1 }).map(function (a) { var b = a.pathElements[0], c = a.pathElements[a.pathElements.length - 1]; return a.clone(!0).position(0).remove(1).move(b.x, r).line(b.x, b.y).position(a.pathElements.length + 1).line(c.x, r) }).forEach(function (b) { var h = i.elem("path", { d: b.stringify() }, a.classNames.area, !0); this.eventEmitter.emit("draw", { type: "area", values: c.normalized.series[g], path: b.clone(), series: e, seriesIndex: g, axisX: d, axisY: f, chartRect: j, index: g, group: i, element: h }) }.bind(this)) } }.bind(this)), this.eventEmitter.emit("created", { bounds: f.bounds, chartRect: j, axisX: d, axisY: f, svg: this.svg, options: a }) } function d(a, c, d, f) { b.Line["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, showLine: !0, showPoint: !0, showArea: !1, areaBase: 0, lineSmooth: !0, showGridBackground: !1, low: void 0, high: void 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, fullWidth: !1, reverseData: !1, classNames: { chart: "ct-chart-line", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", line: "ct-line", point: "ct-point", area: "ct-area", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Line = b.Base.extend({ constructor: d, createChart: c }) }(this || global, a), function (a, b) { "use strict"; function c(a) { var c, d; a.distributeSeries ? (c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), c.normalized.series = c.normalized.series.map(function (a) { return [a] })) : c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart + (a.horizontalBars ? " " + a.classNames.horizontalBars : "")); var f = this.svg.elem("g").addClass(a.classNames.gridGroup), g = this.svg.elem("g"), h = this.svg.elem("g").addClass(a.classNames.labelGroup); if (a.stackBars && 0 !== c.normalized.series.length) { var i = b.serialMap(c.normalized.series, function () { return Array.prototype.slice.call(arguments).map(function (a) { return a }).reduce(function (a, b) { return { x: a.x + (b && b.x) || 0, y: a.y + (b && b.y) || 0 } }, { x: 0, y: 0 }) }); d = b.getHighLow([i], a, a.horizontalBars ? "x" : "y") } else d = b.getHighLow(c.normalized.series, a, a.horizontalBars ? "x" : "y"); d.high = +a.high || (0 === a.high ? 0 : d.high), d.low = +a.low || (0 === a.low ? 0 : d.low); var j, k, l, m, n, o = b.createChartRect(this.svg, a, e.padding); k = a.distributeSeries && a.stackBars ? c.normalized.labels.slice(0, 1) : c.normalized.labels, a.horizontalBars ? (j = m = void 0 === a.axisX.type ? new b.AutoScaleAxis(b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })), l = n = void 0 === a.axisY.type ? new b.StepAxis(b.Axis.units.y, c.normalized.series, o, { ticks: k }) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, a.axisY)) : (l = m = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, o, { ticks: k }) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, a.axisX), j = n = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 }))); var p = a.horizontalBars ? o.x1 + j.projectValue(0) : o.y1 - j.projectValue(0), q = []; l.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), j.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(f, o, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (d, e) { var f, h, i = e - (c.raw.series.length - 1) / 2; f = a.distributeSeries && !a.stackBars ? l.axisLength / c.normalized.series.length / 2 : a.distributeSeries && a.stackBars ? l.axisLength / 2 : l.axisLength / c.normalized.series[e].length / 2, h = g.elem("g"), h.attr({ "ct:series-name": d.name, "ct:meta": b.serialize(d.meta) }), h.addClass([a.classNames.series, d.className || a.classNames.series + "-" + b.alphaNumerate(e)].join(" ")), c.normalized.series[e].forEach(function (g, k) { var r, s, t, u; if (u = a.distributeSeries && !a.stackBars ? e : a.distributeSeries && a.stackBars ? 0 : k, r = a.horizontalBars ? { x: o.x1 + j.projectValue(g && g.x ? g.x : 0, k, c.normalized.series[e]), y: o.y1 - l.projectValue(g && g.y ? g.y : 0, u, c.normalized.series[e]) } : { x: o.x1 + l.projectValue(g && g.x ? g.x : 0, u, c.normalized.series[e]), y: o.y1 - j.projectValue(g && g.y ? g.y : 0, k, c.normalized.series[e]) }, l instanceof b.StepAxis && (l.options.stretch || (r[l.units.pos] += f * (a.horizontalBars ? -1 : 1)), r[l.units.pos] += a.stackBars || a.distributeSeries ? 0 : i * a.seriesBarDistance * (a.horizontalBars ? -1 : 1)), t = q[k] || p, q[k] = t - (p - r[l.counterUnits.pos]), void 0 !== g) { var v = {}; v[l.units.pos + "1"] = r[l.units.pos], v[l.units.pos + "2"] = r[l.units.pos], !a.stackBars || "accumulate" !== a.stackMode && a.stackMode ? (v[l.counterUnits.pos + "1"] = p, v[l.counterUnits.pos + "2"] = r[l.counterUnits.pos]) : (v[l.counterUnits.pos + "1"] = t, v[l.counterUnits.pos + "2"] = q[k]), v.x1 = Math.min(Math.max(v.x1, o.x1), o.x2), v.x2 = Math.min(Math.max(v.x2, o.x1), o.x2), v.y1 = Math.min(Math.max(v.y1, o.y2), o.y1), v.y2 = Math.min(Math.max(v.y2, o.y2), o.y1); var w = b.getMetaData(d, k); s = h.elem("line", v, a.classNames.bar).attr({ "ct:value": [g.x, g.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(w) }), this.eventEmitter.emit("draw", b.extend({ type: "bar", value: g, index: k, meta: w, series: d, seriesIndex: e, axisX: m, axisY: n, chartRect: o, group: h, element: s }, v)) } }.bind(this)) }.bind(this)), this.eventEmitter.emit("created", { bounds: j.bounds, chartRect: o, axisX: m, axisY: n, svg: this.svg, options: a }) } function d(a, c, d, f) { b.Bar["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 30, onlyInteger: !1 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, high: void 0, low: void 0, referenceValue: 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, seriesBarDistance: 15, stackBars: !1, stackMode: "accumulate", horizontalBars: !1, distributeSeries: !1, reverseData: !1, showGridBackground: !1, classNames: { chart: "ct-chart-bar", horizontalBars: "ct-horizontal-bars", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", bar: "ct-bar", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Bar = b.Base.extend({ constructor: d, createChart: c }) }(this || global, a), function (a, b) { "use strict"; function c(a, b, c) { var d = b.x > a.x; return d && "explode" === c || !d && "implode" === c ? "start" : d && "implode" === c || !d && "explode" === c ? "end" : "middle" } function d(a) { var d, e, g, h, i, j = b.normalizeData(this.data), k = [], l = a.startAngle; this.svg = b.createSvg(this.container, a.width, a.height, a.donut ? a.classNames.chartDonut : a.classNames.chartPie), e = b.createChartRect(this.svg, a, f.padding), g = Math.min(e.width() / 2, e.height() / 2), i = a.total || j.normalized.series.reduce(function (a, b) { return a + b }, 0); var m = b.quantity(a.donutWidth); "%" === m.unit && (m.value *= g / 100), g -= a.donut && !a.donutSolid ? m.value / 2 : 0, h = "outside" === a.labelPosition || a.donut && !a.donutSolid ? g : "center" === a.labelPosition ? 0 : a.donutSolid ? g - m.value / 2 : g / 2, h += a.labelOffset; var n = { x: e.x1 + e.width() / 2, y: e.y2 + e.height() / 2 }, o = 1 === j.raw.series.filter(function (a) { return a.hasOwnProperty("value") ? 0 !== a.value : 0 !== a }).length; j.raw.series.forEach(function (a, b) { k[b] = this.svg.elem("g", null, null) }.bind(this)), a.showLabel && (d = this.svg.elem("g", null, null)), j.raw.series.forEach(function (e, f) { if (0 !== j.normalized.series[f] || !a.ignoreEmptyValues) { k[f].attr({ "ct:series-name": e.name }), k[f].addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(f)].join(" ")); var p = i > 0 ? l + j.normalized.series[f] / i * 360 : 0, q = Math.max(0, l - (0 === f || o ? 0 : .2)); p - q >= 359.99 && (p = q + 359.99); var r, s, t, u = b.polarToCartesian(n.x, n.y, g, q), v = b.polarToCartesian(n.x, n.y, g, p), w = new b.Svg.Path(!a.donut || a.donutSolid).move(v.x, v.y).arc(g, g, 0, p - l > 180, 0, u.x, u.y); a.donut ? a.donutSolid && (t = g - m.value, r = b.polarToCartesian(n.x, n.y, t, l - (0 === f || o ? 0 : .2)), s = b.polarToCartesian(n.x, n.y, t, p), w.line(r.x, r.y), w.arc(t, t, 0, p - l > 180, 1, s.x, s.y)) : w.line(n.x, n.y); var x = a.classNames.slicePie; a.donut && (x = a.classNames.sliceDonut, a.donutSolid && (x = a.classNames.sliceDonutSolid)); var y = k[f].elem("path", { d: w.stringify() }, x); if (y.attr({ "ct:value": j.normalized.series[f], "ct:meta": b.serialize(e.meta) }), a.donut && !a.donutSolid && (y._node.style.strokeWidth = m.value + "px"), this.eventEmitter.emit("draw", { type: "slice", value: j.normalized.series[f], totalDataSum: i, index: f, meta: e.meta, series: e, group: k[f], element: y, path: w.clone(), center: n, radius: g, startAngle: l, endAngle: p }), a.showLabel) { var z; z = 1 === j.raw.series.length ? { x: n.x, y: n.y } : b.polarToCartesian(n.x, n.y, h, l + (p - l) / 2); var A; A = j.normalized.labels && !b.isFalseyButZero(j.normalized.labels[f]) ? j.normalized.labels[f] : j.normalized.series[f]; var B = a.labelInterpolationFnc(A, f); if (B || 0 === B) { var C = d.elem("text", { dx: z.x, dy: z.y, "text-anchor": c(n, z, a.labelDirection) }, a.classNames.label).text("" + B); this.eventEmitter.emit("draw", { type: "label", index: f, group: d, element: C, text: "" + B, x: z.x, y: z.y }) } } l = p } }.bind(this)), this.eventEmitter.emit("created", { chartRect: e, svg: this.svg, options: a }) } function e(a, c, d, e) { b.Pie["super"].constructor.call(this, a, c, f, b.extend({}, f, d), e) } var f = (a.window, a.document, { width: void 0, height: void 0, chartPadding: 5, classNames: { chartPie: "ct-chart-pie", chartDonut: "ct-chart-donut", series: "ct-series", slicePie: "ct-slice-pie", sliceDonut: "ct-slice-donut", sliceDonutSolid: "ct-slice-donut-solid", label: "ct-label" }, startAngle: 0, total: void 0, donut: !1, donutSolid: !1, donutWidth: 60, showLabel: !0, labelOffset: 0, labelPosition: "inside", labelInterpolationFnc: b.noop, labelDirection: "neutral", reverseData: !1, ignoreEmptyValues: !1 }); b.Pie = b.Base.extend({ constructor: e, createChart: d, determineAnchorPosition: c }) }(this || global, a), a }); //# sourceMappingURL=chartist.min.js.map var i, l, selectedLine = null; /* Navigate to hash without browser history entry */ var navigateToHash = function () { if (window.history !== undefined && window.history.replaceState !== undefined) { window.history.replaceState(undefined, undefined, this.getAttribute("href")); } }; var hashLinks = document.getElementsByClassName('navigatetohash'); for (i = 0, l = hashLinks.length; i < l; i++) { hashLinks[i].addEventListener('click', navigateToHash); } /* Switch test method */ var switchTestMethod = function () { var method = this.getAttribute("value"); console.log("Selected test method: " + method); var lines, i, l, coverageData, lineAnalysis, cells; lines = document.querySelectorAll('.lineAnalysis tr'); for (i = 1, l = lines.length; i < l; i++) { coverageData = JSON.parse(lines[i].getAttribute('data-coverage').replace(/'/g, '"')); lineAnalysis = coverageData[method]; cells = lines[i].querySelectorAll('td'); if (lineAnalysis === undefined) { lineAnalysis = coverageData.AllTestMethods; if (lineAnalysis.LVS !== 'gray') { cells[0].setAttribute('class', 'red'); cells[1].innerText = cells[1].textContent = '0'; cells[4].setAttribute('class', 'lightred'); } } else { cells[0].setAttribute('class', lineAnalysis.LVS); cells[1].innerText = cells[1].textContent = lineAnalysis.VC; cells[4].setAttribute('class', 'light' + lineAnalysis.LVS); } } }; var testMethods = document.getElementsByClassName('switchtestmethod'); for (i = 0, l = testMethods.length; i < l; i++) { testMethods[i].addEventListener('change', switchTestMethod); } /* Highlight test method by line */ var toggleLine = function () { if (selectedLine === this) { selectedLine = null; } else { selectedLine = null; unhighlightTestMethods(); highlightTestMethods.call(this); selectedLine = this; } }; var highlightTestMethods = function () { if (selectedLine !== null) { return; } var lineAnalysis; var coverageData = JSON.parse(this.getAttribute('data-coverage').replace(/'/g, '"')); var testMethods = document.getElementsByClassName('testmethod'); for (i = 0, l = testMethods.length; i < l; i++) { lineAnalysis = coverageData[testMethods[i].id]; if (lineAnalysis === undefined) { testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); } else { testMethods[i].className += ' light' + lineAnalysis.LVS; } } }; var unhighlightTestMethods = function () { if (selectedLine !== null) { return; } var testMethods = document.getElementsByClassName('testmethod'); for (i = 0, l = testMethods.length; i < l; i++) { testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); } }; var coverableLines = document.getElementsByClassName('coverableline'); for (i = 0, l = coverableLines.length; i < l; i++) { coverableLines[i].addEventListener('click', toggleLine); coverableLines[i].addEventListener('mouseenter', highlightTestMethods); coverableLines[i].addEventListener('mouseleave', unhighlightTestMethods); } /* History charts */ var renderChart = function (chart) { // Remove current children (e.g. PNG placeholder) while (chart.firstChild) { chart.firstChild.remove(); } var chartData = window[chart.getAttribute('data-data')]; var options = { axisY: { type: undefined, onlyInteger: true }, lineSmooth: false, low: 0, high: 100, scaleMinSpace: 20, onlyInteger: true, fullWidth: true }; var lineChart = new Chartist.Line(chart, { labels: [], series: chartData.series }, options); /* Zoom */ var zoomButtonDiv = document.createElement("div"); zoomButtonDiv.className = "toggleZoom"; var zoomButtonLink = document.createElement("a"); zoomButtonLink.setAttribute("href", ""); var zoomButtonText = document.createElement("i"); zoomButtonText.className = "icon-search-plus"; zoomButtonLink.appendChild(zoomButtonText); zoomButtonDiv.appendChild(zoomButtonLink); chart.appendChild(zoomButtonDiv); zoomButtonDiv.addEventListener('click', function (event) { event.preventDefault(); if (options.axisY.type === undefined) { options.axisY.type = Chartist.AutoScaleAxis; zoomButtonText.className = "icon-search-minus"; } else { options.axisY.type = undefined; zoomButtonText.className = "icon-search-plus"; } lineChart.update(null, options); }); var tooltip = document.createElement("div"); tooltip.className = "tooltip"; chart.appendChild(tooltip); /* Tooltips */ var showToolTip = function () { var index = this.getAttribute('ct:meta'); tooltip.innerHTML = chartData.tooltips[index]; tooltip.style.display = 'block'; }; var moveToolTip = function (event) { var box = chart.getBoundingClientRect(); var left = event.pageX - box.left - window.pageXOffset; var top = event.pageY - box.top - window.pageYOffset; left = left + 20; top = top - tooltip.offsetHeight / 2; if (left + tooltip.offsetWidth > box.width) { left -= tooltip.offsetWidth + 40; } if (top < 0) { top = 0; } if (top + tooltip.offsetHeight > box.height) { top = box.height - tooltip.offsetHeight; } tooltip.style.left = left + 'px'; tooltip.style.top = top + 'px'; }; var hideToolTip = function () { tooltip.style.display = 'none'; }; chart.addEventListener('mousemove', moveToolTip); lineChart.on('created', function () { var chartPoints = chart.getElementsByClassName('ct-point'); for (i = 0, l = chartPoints.length; i < l; i++) { chartPoints[i].addEventListener('mousemove', showToolTip); chartPoints[i].addEventListener('mouseout', hideToolTip); } }); }; var charts = document.getElementsByClassName('historychart'); for (i = 0, l = charts.length; i < l; i++) { renderChart(charts[i]); } var assemblies = [ { "name": "cat_cafe", "classes": [ { "name": "cat_cafe.Controllers.BarsController", "rp": "cat_cafe_BarsController.html", "cl": 65, "ucl": 26, "cal": 91, "tl": 164, "cb": 6, "tb": 8, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Controllers.CatsController", "rp": "cat_cafe_CatsController.html", "cl": 59, "ucl": 37, "cal": 96, "tl": 182, "cb": 6, "tb": 8, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Controllers.CustomersController", "rp": "cat_cafe_CustomersController.html", "cl": 52, "ucl": 26, "cal": 78, "tl": 150, "cb": 6, "tb": 8, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Dto.BarDto", "rp": "cat_cafe_BarDto.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 10, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Dto.CatDto", "rp": "cat_cafe_CatDto.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 9, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Dto.CustomerDto", "rp": "cat_cafe_CustomerDto.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Entities.Bar", "rp": "cat_cafe_Bar.html", "cl": 3, "ucl": 6, "cal": 9, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Entities.Cat", "rp": "cat_cafe_Cat.html", "cl": 4, "ucl": 2, "cal": 6, "tl": 15, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Entities.Customer", "rp": "cat_cafe_Customer.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 15, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Mappers.BarMapper", "rp": "cat_cafe_BarMapper.html", "cl": 6, "ucl": 0, "cal": 6, "tl": 18, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Mappers.CatMapper", "rp": "cat_cafe_CatMapper.html", "cl": 4, "ucl": 0, "cal": 4, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Mappers.CustomerMapper", "rp": "cat_cafe_CustomerMapper.html", "cl": 4, "ucl": 0, "cal": 4, "tl": 16, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.Repositories.CatCafeContext", "rp": "cat_cafe_CatCafeContext.html", "cl": 12, "ucl": 0, "cal": 12, "tl": 25, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "cat_cafe.WeSo.WebSocketHandler", "rp": "cat_cafe_WebSocketHandler.html", "cl": 8, "ucl": 6, "cal": 14, "tl": 28, "cb": 1, "tb": 4, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, { "name": "Program", "rp": "cat_cafe_Program.html", "cl": 0, "ucl": 70, "cal": 70, "tl": 90, "cb": 0, "tb": 4, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, ]}, ]; var metrics = [{ "name": "Cyclomatic complexity", "abbreviation": "cc", "explanationUrl": "https://en.wikipedia.org/wiki/Cyclomatic_complexity" }, { "name": "NPath complexity", "abbreviation": "npth", "explanationUrl": "https://modess.io/npath-complexity-cyclomatic-complexity-explained" }, { "name": "Sequence coverage", "abbreviation": "seq", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }, { "name": "Branch coverage", "abbreviation": "bcov", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }]; var historicCoverageExecutionTimes = []; var riskHotspotMetrics = [ ]; var riskHotspots = [ ]; var branchCoverageAvailable = true; var methodCoverageAvailable = false; var translations = { 'top': 'Top:', 'all': 'All', 'assembly': 'Assembly', 'class': 'Class', 'method': 'Method', 'lineCoverage': 'Line coverage', 'noGrouping': 'No grouping', 'byAssembly': 'By assembly', 'byNamespace': 'By namespace, Level:', 'all': 'All', 'collapseAll': 'Collapse all', 'expandAll': 'Expand all', 'grouping': 'Grouping:', 'filter': 'Filter:', 'name': 'Name', 'covered': 'Covered', 'uncovered': 'Uncovered', 'coverable': 'Coverable', 'total': 'Total', 'coverage': 'Line coverage', 'branchCoverage': 'Branch coverage', 'methodCoverage': 'Method coverage', 'percentage': 'Percentage', 'history': 'Coverage history', 'compareHistory': 'Compare with:', 'date': 'Date', 'allChanges': 'All changes', 'selectCoverageTypes': 'Select coverage types', 'selectCoverageTypesAndMetrics': 'Select coverage types & metrics', 'coverageTypes': 'Coverage types', 'metrics': 'Metrics', 'methodCoverageProVersion': 'Feature is only available for sponsors', 'lineCoverageIncreaseOnly': 'Line coverage: Increase only', 'lineCoverageDecreaseOnly': 'Line coverage: Decrease only', 'branchCoverageIncreaseOnly': 'Branch coverage: Increase only', 'branchCoverageDecreaseOnly': 'Branch coverage: Decrease only', 'methodCoverageIncreaseOnly': 'Method coverage: Increase only', 'methodCoverageDecreaseOnly': 'Method coverage: Decrease only' }; (()=>{"use strict";var e,_={},p={};function n(e){var a=p[e];if(void 0!==a)return a.exports;var r=p[e]={exports:{}};return _[e](r,r.exports,n),r.exports}n.m=_,e=[],n.O=(a,r,u,l)=>{if(!r){var o=1/0;for(f=0;f=l)&&Object.keys(n.O).every(h=>n.O[h](r[t]))?r.splice(t--,1):(v=!1,l0&&e[f-1][2]>l;f--)e[f]=e[f-1];e[f]=[r,u,l]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={666:0};n.O.j=u=>0===e[u];var a=(u,l)=>{var t,c,[f,o,v]=l,s=0;if(f.some(d=>0!==e[d])){for(t in o)n.o(o,t)&&(n.m[t]=o[t]);if(v)var b=v(n)}for(u&&u(l);s{he(583)},583:()=>{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,p){n&&n.measure&&n.measure(I,p)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let _=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==J.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,g=!1){if(J.hasOwnProperty(t)){if(!g&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),J[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const g=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(g,this,arguments,o)}}run(t,o,g,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,g,P)}finally{G=G.parent}}runGuarded(t,o=null,g,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,g,P)}catch(K){if(this._zoneDelegate.handleError(this,K))throw K}}finally{G=G.parent}}runTask(t,o,g){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===j&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,O),t.runCount++;const K=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,g)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==j&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(O,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(j,X,j))),G=G.parent,te=K}}scheduleTask(t){if(t.zone&&t.zone!==this){let g=this;for(;g;){if(g===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);g=g.parent}}t._transitionTo(q,j);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(g){throw t._transitionTo(Y,q,j),this._zoneDelegate.handleError(this,g),g}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==q&&t._transitionTo(O,q),t}scheduleMicroTask(t,o,g,P){return this.scheduleTask(new m(v,t,o,g,P,void 0))}scheduleMacroTask(t,o,g,P,K){return this.scheduleTask(new m(M,t,o,g,P,K))}scheduleEventTask(t,o,g,P,K){return this.scheduleTask(new m(R,t,o,g,P,K))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,O,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(j,A),t.runCount=0,t}_updateTaskCount(t,o){const g=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;PI.hasTask(t,o),onScheduleTask:(I,p,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,p,t,o,g,P)=>I.invokeTask(t,o,g,P),onCancelTask:(I,p,t,o)=>I.cancelTask(t,o)};class T{constructor(p,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=p,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const g=o&&o.onHasTask;(g||t&&t._hasTaskZS)&&(this._hasTaskZS=g?o:y,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=p,o.onScheduleTask||(this._scheduleTaskZS=y,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=y,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=y,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(p,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,p,t):new _(p,t)}intercept(p,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,p,t,o):t}invoke(p,t,o,g,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,p,t,o,g,P):t.apply(o,g)}handleError(p,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,p,t)}scheduleTask(p,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,p,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(p,t,o,g){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,p,t,o,g):t.callback.apply(o,g)}cancelTask(p,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,p,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(p,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,p,t)}catch(o){this.handleError(p,o)}}_updateTaskCount(p,t){const o=this._taskCounts,g=o[p],P=o[p]=g+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=g&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:p})}}class m{constructor(p,t,o,g,P,K){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=p,this.source=t,this.data=g,this.scheduleFn=P,this.cancelFn=K,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=p===R&&g&&g.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(p,t,o){p||(p=this),re++;try{return p.runCount++,p.zone.runTask(p,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(j,q)}_transitionTo(p,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${p}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=p,p==j&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const S=u("setTimeout"),D=u("Promise"),Z=u("then");let E,B=[],V=!1;function d(I){if(0===re&&0===B.length)if(E||e[D]&&(E=e[D].resolve(0)),E){let p=E[Z];p||(p=E.then),p.call(E,L)}else e[S](L,0);I&&B.push(I)}function L(){if(!V){for(V=!0;B.length;){const I=B;B=[];for(let p=0;pG,onUnhandledError:F,microtaskDrainDone:F,scheduleMicroTask:d,showUncaughtError:()=>!_[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:F,patchMethod:()=>F,bindArguments:()=>[],patchThen:()=>F,patchMacroTask:()=>F,patchEventPrototype:()=>F,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>F,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>F,wrapWithCurrentZone:()=>F,filterProperties:()=>[],attachOriginToPatched:()=>F,_redefineProperty:()=>F,patchCallbacks:()=>F};let G={parent:null,zone:new _(null,null)},te=null,re=0;function F(){}r("Zone","Zone"),e.Zone=_}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,he=Object.defineProperty,de=Object.getPrototypeOf,Be=Object.create,ut=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ie=Zone.__symbol__(Oe),se="true",ie="false",ke=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,Pe=typeof window<"u",pe=Pe?window:void 0,$=Pe&&pe||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Ue=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Re=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),je=!Re&&!Ue&&!(!Pe||!pe.HTMLElement),We=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Ue&&!(!Pe||!pe.HTMLElement),Ce={},qe=function(e){if(!(e=e||$.event))return;let n=Ce[e.type];n||(n=Ce[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;return je&&i===pe&&"error"===e.type?(c=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function Xe(e,n,i){let r=ue(e,n);if(!r&&i&&ue(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,_=n.substr(2);let y=Ce[_];y||(y=Ce[_]=x("ON_PROPERTY"+_)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[y]&&m.removeEventListener(_,qe),f&&f.apply(m,ht),"function"==typeof T?(m[y]=T,m.addEventListener(_,qe,!1)):m[y]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[y];if(m)return m;if(u){let S=u&&u.call(this);if(S)return r.set.call(this,S),"function"==typeof T.removeAttribute&&T.removeAttribute(n),S}return null},he(e,n,r),e[c]=!0}function Ye(e,n,i){if(n)for(let r=0;rfunction(f,_){const y=i(f,_);return y.cbIdx>=0&&"function"==typeof _[y.cbIdx]?Me(y.name,_[y.cbIdx],y,c):u.apply(f,_)})}function ae(e,n){e[x("OriginalDelegate")]=n}let $e=!1,He=!1;function mt(){if($e)return He;$e=!0;try{const e=pe.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(He=!0)}catch{}return He}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,_=[],y=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;_.length;){const l=_.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){Z(s)}}};const D=f("unhandledPromiseRejectionHandler");function Z(l){i.onUnhandledError(l);try{const s=n[D];"function"==typeof s&&s.call(this,l)}catch{}}function B(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),j=f("parentPromiseValue"),q=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(C){return h(()=>{G(l,!1,C)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(C){h(()=>{G(l,!1,C)})()}else{l[d]=s;const C=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[q],l[L]=l[j]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k{try{const b=l[L],N=!!a&&z===a[z];N&&(a[j]=b,a[q]=C);const H=s.run(k,void 0,N&&k!==E&&k!==V?[]:[b]);G(a,!0,H)}catch(b){G(a,!1,b)}},a)}const p=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,N)=>{a=b,h=N});function C(b){a(b)}function k(b){h(b)}for(let b of s)B(b)||(b=this.resolve(b)),b.then(C,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,C=new this((H,U)=>{h=H,w=U}),k=2,b=0;const N=[];for(let H of s){B(H)||(H=this.resolve(H));const U=b;try{H.then(Q=>{N[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(N)},Q=>{a?(N[U]=a.errorCallback(Q),k--,0===k&&h(N)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(N),C}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(p),C=n.current;return this[d]==X?this[L].push(C,w,s,a):F(this,C,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(p);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):F(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const g=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,C){return new t((b,N)=>{h.call(this,b,N)}).then(w,C)},l[g]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function K(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[g]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=_,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let me=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){me=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{me=!1}const Et={useG:!0},ee={},Ke={},Je=new RegExp("^"+ke+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Qe(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ke+i,u=ke+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||Se,c=i&&i.rm||Oe,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",_=x(r),y="."+r+":",T="prependListener",m="."+T+":",S=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=q=>z.handleEvent(q),E.originalDelegate=z),E.invoke(E,d,[L]);const j=E.options;j&&"object"==typeof j&&j.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,j)},D=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let j=0;jfunction(c,u){c[xe]=!0,r&&r.apply(c,u)})}function yt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(_,y,T){return y&&y.prototype&&c.forEach(function(m){const S=`${i}.${r}::`+m,D=y.prototype;if(D.hasOwnProperty(m)){const Z=e.ObjectGetOwnPropertyDescriptor(D,m);Z&&Z.value?(Z.value=e.wrapWithCurrentZone(Z.value,S),e._redefineProperty(y.prototype,m,Z)):D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}else D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}),f.call(n,_,y,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],tt=["load"],nt=["blur","error","focus","load","resize","scroll","messageerror"],Dt=["bounce","finish","start"],rt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],St=["close","error","open","message"],Ot=["error","message"],Te=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ot(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function W(e,n,i,r){e&&Ye(e,ot(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Ye,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=_t;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=gt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=he,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Be,i.ArraySlice=ut,i.patchClass=ve,i.wrapWithCurrentZone=Le,i.filterProperties=ot,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=yt,i.getGlobalObjects=()=>({globalSources:Ke,zoneSymbolEventNames:ee,eventNames:Te,isBrowser:je,isMix:We,isNode:Re,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ne=x("zoneTask");function ge(e,n,i,r){let c=null,u=null;i+=r;const f={};function _(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function y(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,S){if("function"==typeof S[0]){const D={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?S[1]||0:void 0,args:S},Z=S[0];S[0]=function(){try{return Z.apply(this,arguments)}finally{D.isPeriodic||("number"==typeof D.handleId?delete f[D.handleId]:D.handleId&&(D.handleId[Ne]=null))}};const B=Me(n,S[0],D,_,y);if(!B)return B;const V=B.data.handleId;return"number"==typeof V?f[V]=B:V&&(V[Ne]=B),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(B.ref=V.ref.bind(V),B.unref=V.unref.bind(V)),"number"==typeof V||V?V:B}return T.apply(e,S)}),u=ce(e,i,T=>function(m,S){const D=S[0];let Z;"number"==typeof D?Z=f[D]:(Z=D&&D[Ne],Z||(Z=D)),Z&&"string"==typeof Z.type?"notScheduled"!==Z.state&&(Z.cancelFn&&Z.data.isPeriodic||0===Z.runCount)&&("number"==typeof D?delete f[D]:D&&(D[Ne]=null),Z.zone.cancelTask(Z)):T.apply(e,S)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";ge(e,n,i,"Timeout"),ge(e,n,i,"Interval"),ge(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{ge(e,"request","cancel","AnimationFrame"),ge(e,"mozRequest","mozCancel","AnimationFrame"),ge(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;rfunction(y,T){return n.current.run(u,e,T,_)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function Mt(e,n){n.patchEventPrototype(e,n)})(e,i),function Lt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let y=0;y{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Zt(e,n){if(Re&&!We||Zone[e.symbol("patchEvents")])return;const i=typeof WebSocket<"u",r=n.__Zone_ignore_on_properties;if(je){const f=window,_=function pt(){try{const e=pe.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];W(f,Te.concat(["messageerror"]),r&&r.concat(_),de(f)),W(Document.prototype,Te,r),typeof f.SVGElement<"u"&&W(f.SVGElement.prototype,Te,r),W(Element.prototype,Te,r),W(HTMLElement.prototype,Te,r),W(HTMLMediaElement.prototype,wt,r),W(HTMLFrameSetElement.prototype,Ve.concat(nt),r),W(HTMLBodyElement.prototype,Ve.concat(nt),r),W(HTMLFrameElement.prototype,tt,r),W(HTMLIFrameElement.prototype,tt,r);const y=f.HTMLMarqueeElement;y&&W(y.prototype,Dt,r);const T=f.Worker;T&&W(T.prototype,Ot,r)}const c=n.XMLHttpRequest;c&&W(c.prototype,rt,r);const u=n.XMLHttpRequestEventTarget;u&&W(u&&u.prototype,rt,r),typeof IDBIndex<"u"&&(W(IDBIndex.prototype,Ee,r),W(IDBRequest.prototype,Ee,r),W(IDBOpenDBRequest.prototype,Ee,r),W(IDBDatabase.prototype,Ee,r),W(IDBTransaction.prototype,Ee,r),W(IDBCursor.prototype,Ee,r)),i&&W(WebSocket.prototype,St,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function It(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function y(T){const m=T.XMLHttpRequest;if(!m)return;const S=m.prototype;let Z=S[Ze],B=S[Ie];if(!Z){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;Z=M[Ze],B=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[_]=!1;const J=R[c];Z||(Z=R[Ze],B=R[Ie]),J&&B.call(R,V,J);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const F=R[n.__symbol__("loadfalse")];for(let I=0;Ifunction(v,M){return v[r]=0==M[2],v[f]=M[1],j.apply(v,M)}),O=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(S,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},J=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[_]&&!R.aborted&&J.state===E&&J.invoke()}}),Y=ce(S,"abort",()=>function(v,M){const R=function D(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[O])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),_=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function dt(e,n){const i=e.constructor.name;for(let r=0;r{const y=function(){return _.apply(this,Ae(arguments,i+"."+c))};return ae(y,_),y})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){et(e,r).forEach(f=>{const _=e.PromiseRejectionEvent;if(_){const y=new _(r,{promise:c.promise,reason:c.rejection});f.invoke(y)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},we=>{we(we.s=435)}]); "use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[179],{938:()=>{function me(e){return"function"==typeof e}function jo(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const $o=jo(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Rr(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Tt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._teardowns=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(me(r))try{r()}catch(i){n=i instanceof $o?i.errors:[i]}const{_teardowns:o}=this;if(o){this._teardowns=null;for(const i of o)try{du(i)}catch(s){n=n??[],s instanceof $o?n=[...n,...s.errors]:n.push(s)}}if(n)throw new $o(n)}}add(n){var t;if(n&&n!==this)if(this.closed)du(n);else{if(n instanceof Tt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._teardowns=null!==(t=this._teardowns)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Rr(t,n)}remove(n){const{_teardowns:t}=this;t&&Rr(t,n),n instanceof Tt&&n._removeParent(this)}}Tt.EMPTY=(()=>{const e=new Tt;return e.closed=!0,e})();const cu=Tt.EMPTY;function uu(e){return e instanceof Tt||e&&"closed"in e&&me(e.remove)&&me(e.add)&&me(e.unsubscribe)}function du(e){me(e)?e():e.unsubscribe()}const wn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Uo={setTimeout(...e){const{delegate:n}=Uo;return(n?.setTimeout||setTimeout)(...e)},clearTimeout(e){const{delegate:n}=Uo;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function fu(e){Uo.setTimeout(()=>{const{onUnhandledError:n}=wn;if(!n)throw e;n(e)})}function zo(){}const cv=As("C",void 0,void 0);function As(e,n,t){return{kind:e,value:n,error:t}}let bn=null;function Go(e){if(wn.useDeprecatedSynchronousErrorHandling){const n=!bn;if(n&&(bn={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=bn;if(bn=null,t)throw r}}else e()}class Ts extends Tt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,uu(n)&&n.add(this)):this.destination=hv}static create(n,t,r){return new xs(n,t,r)}next(n){this.isStopped?Fs(function dv(e){return As("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Fs(function uv(e){return As("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Fs(cv,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}class xs extends Ts{constructor(n,t,r){let o;if(super(),me(n))o=n;else if(n){let i;({next:o,error:t,complete:r}=n),this&&wn.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe()):i=n,o=o?.bind(i),t=t?.bind(i),r=r?.bind(i)}this.destination={next:o?Ns(o):zo,error:Ns(t??hu),complete:r?Ns(r):zo}}}function Ns(e,n){return(...t)=>{try{e(...t)}catch(r){wn.useDeprecatedSynchronousErrorHandling?function fv(e){wn.useDeprecatedSynchronousErrorHandling&&bn&&(bn.errorThrown=!0,bn.error=e)}(r):fu(r)}}}function hu(e){throw e}function Fs(e,n){const{onStoppedNotification:t}=wn;t&&Uo.setTimeout(()=>t(e,n))}const hv={closed:!0,next:zo,error:hu,complete:zo},Os="function"==typeof Symbol&&Symbol.observable||"@@observable";function pu(e){return e}let ze=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function gv(e){return e&&e instanceof Ts||function pv(e){return e&&me(e.next)&&me(e.error)&&me(e.complete)}(e)&&uu(e)}(t)?t:new xs(t,r,o);return Go(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=mu(r))((o,i)=>{let s;s=this.subscribe(a=>{try{t(a)}catch(l){i(l),s?.unsubscribe()}},i,o)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[Os](){return this}pipe(...t){return function gu(e){return 0===e.length?pu:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}(t)(this)}toPromise(t){return new(t=mu(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function mu(e){var n;return null!==(n=e??wn.Promise)&&void 0!==n?n:Promise}const mv=jo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Rs=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new _u(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new mv}next(t){Go(()=>{if(this._throwIfClosed(),!this.isStopped){const r=this.observers.slice();for(const o of r)o.next(t)}})}error(t){Go(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Go(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?cu:(i.push(t),new Tt(()=>Rr(i,t)))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new ze;return t.source=this,t}}return e.create=(n,t)=>new _u(n,t),e})();class _u extends Rs{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:cu}}function zn(e){return n=>{if(function _v(e){return me(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}class Gn extends Ts{constructor(n,t,r,o,i){super(n),this.onFinalize=i,this._next=t?function(s){try{t(s)}catch(a){n.error(a)}}:super._next,this._error=o?function(s){try{o(s)}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(s){n.error(s)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}function Ps(e,n){return zn((t,r)=>{let o=0;t.subscribe(new Gn(r,i=>{r.next(e.call(n,i,o++))}))})}function En(e){return this instanceof En?(this.v=e,this):new En(e)}function Cv(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(h){r[h]&&(o[h]=function(p){return new Promise(function(m,D){i.push([h,p,m,D])>1||a(h,p)})})}function a(h,p){try{!function l(h){h.value instanceof En?Promise.resolve(h.value.v).then(c,u):d(i[0][2],h)}(r[h](p))}catch(m){d(i[0][3],m)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,p){h(p),i.shift(),i.length&&a(i[0][0],i[0][1])}}function Dv(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function Cu(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}const Du=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function wu(e){return me(e?.then)}function bu(e){return me(e[Os])}function Eu(e){return Symbol.asyncIterator&&me(e?.[Symbol.asyncIterator])}function Iu(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Mu=function bv(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Su(e){return me(e?.[Mu])}function Au(e){return Cv(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield En(t.read());if(o)return yield En(void 0);yield yield En(r)}}finally{t.releaseLock()}})}function Tu(e){return me(e?.getReader)}function In(e){if(e instanceof ze)return e;if(null!=e){if(bu(e))return function Ev(e){return new ze(n=>{const t=e[Os]();if(me(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Du(e))return function Iv(e){return new ze(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,fu)})}(e);if(Eu(e))return xu(e);if(Su(e))return function Sv(e){return new ze(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Tu(e))return function Av(e){return xu(Au(e))}(e)}throw Iu(e)}function xu(e){return new ze(n=>{(function Tv(e,n){var t,r,o,i;return function vv(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Dv(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function rn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Nu(e,n,t=1/0){return me(n)?Nu((r,o)=>Ps((i,s)=>n(r,i,o,s))(In(e(r,o))),t):("number"==typeof n&&(t=n),zn((r,o)=>function xv(e,n,t,r,o,i,s,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&n.complete()},p=D=>c{i&&n.next(D),c++;let I=!1;In(t(D,u++)).subscribe(new Gn(n,S=>{o?.(S),i?p(S):n.next(S)},()=>{I=!0},void 0,()=>{if(I)try{for(c--;l.length&&cm(S)):m(S)}h()}catch(S){n.error(S)}}))};return e.subscribe(new Gn(n,p,()=>{d=!0,h()})),()=>{a?.()}}(r,o,e,t)))}const Ls=new ze(e=>e.complete());function Vs(e){return e[e.length-1]}function Fu(e,n=0){return zn((t,r)=>{t.subscribe(new Gn(r,o=>rn(r,e,()=>r.next(o),n),()=>rn(r,e,()=>r.complete(),n),o=>rn(r,e,()=>r.error(o),n)))})}function Ou(e,n=0){return zn((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Ru(e,n){if(!e)throw new Error("Iterable cannot be null");return new ze(t=>{rn(t,n,()=>{const r=e[Symbol.asyncIterator]();rn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Bs(e,n){return n?function $v(e,n){if(null!=e){if(bu(e))return function Lv(e,n){return In(e).pipe(Ou(n),Fu(n))}(e,n);if(Du(e))return function Bv(e,n){return new ze(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(wu(e))return function Vv(e,n){return In(e).pipe(Ou(n),Fu(n))}(e,n);if(Eu(e))return Ru(e,n);if(Su(e))return function Hv(e,n){return new ze(t=>{let r;return rn(t,n,()=>{r=e[Mu](),rn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>me(r?.return)&&r.return()})}(e,n);if(Tu(e))return function jv(e,n){return Ru(Au(e),n)}(e,n)}throw Iu(e)}(e,n):In(e)}function Uv(...e){const n=function Pv(e){return function Ov(e){return e&&me(e.schedule)}(Vs(e))?e.pop():void 0}(e),t=function kv(e,n){return"number"==typeof Vs(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?In(r[0]):function Nv(e=1/0){return Nu(pu,e)}(t)(Bs(r,n)):Ls}function Hs(e,n,...t){return!0===n?(e(),null):!1===n?null:n(...t).pipe(function zv(e){return e<=0?()=>Ls:zn((n,t)=>{let r=0;n.subscribe(new Gn(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}(1)).subscribe(()=>e())}function ae(e){for(let n in e)if(e[n]===ae)return n;throw Error("Could not find renamed property on target object.")}function js(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function ce(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(ce).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function $s(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const Wv=ae({__forward_ref__:ae});function ue(e){return e.__forward_ref__=ue,e.toString=function(){return ce(this())},e}function P(e){return Us(e)?e():e}function Us(e){return"function"==typeof e&&e.hasOwnProperty(Wv)&&e.__forward_ref__===ue}function zs(e){return e&&!!e.\u0275providers}const Pu="https://g.co/ng/security#xss";class A extends Error{constructor(n,t){super(function Wo(e,n){return`NG0${Math.abs(e)}${n?": "+n.trim():""}`}(n,t)),this.code=n}}function j(e){return"string"==typeof e?e:null==e?"":String(e)}function qo(e,n){throw new A(-201,!1)}function ut(e,n){null==e&&function re(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function de(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function $t(e){return{providers:e.providers||[],imports:e.imports||[]}}function Zo(e){return ku(e,Qo)||ku(e,Vu)}function ku(e,n){return e.hasOwnProperty(n)?e[n]:null}function Lu(e){return e&&(e.hasOwnProperty(Gs)||e.hasOwnProperty(ey))?e[Gs]:null}const Qo=ae({\u0275prov:ae}),Gs=ae({\u0275inj:ae}),Vu=ae({ngInjectableDef:ae}),ey=ae({ngInjectorDef:ae});var B=(()=>((B=B||{})[B.Default=0]="Default",B[B.Host=1]="Host",B[B.Self=2]="Self",B[B.SkipSelf=4]="SkipSelf",B[B.Optional=8]="Optional",B))();let Ws;function dt(e){const n=Ws;return Ws=e,n}function Bu(e,n,t){const r=Zo(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&B.Optional?null:void 0!==n?n:void qo(ce(e))}const fe=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Pr={},qs="__NG_DI_FLAG__",Yo="ngTempTokenPath",ry=/\n/gm,Hu="__source";let kr;function Wn(e){const n=kr;return kr=e,n}function iy(e,n=B.Default){if(void 0===kr)throw new A(-203,!1);return null===kr?Bu(e,void 0,n):kr.get(e,n&B.Optional?null:void 0,n)}function oe(e,n=B.Default){return(function ty(){return Ws}()||iy)(P(e),n)}function Ko(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Zs(e){const n=[];for(let t=0;t((_t=_t||{})[_t.OnPush=0]="OnPush",_t[_t.Default=1]="Default",_t))(),xt=(()=>{return(e=xt||(xt={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",xt;var e})();const Ut={},te=[],Jo=ae({\u0275cmp:ae}),Qs=ae({\u0275dir:ae}),Ys=ae({\u0275pipe:ae}),$u=ae({\u0275mod:ae}),zt=ae({\u0275fac:ae}),Vr=ae({__NG_ELEMENT_ID__:ae});let uy=0;function Nt(e){return sn(()=>{const t=!0===e.standalone,r={},o={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:r,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===_t.OnPush,directiveDefs:null,pipeDefs:null,standalone:t,dependencies:t&&e.dependencies||null,getStandaloneInjector:null,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||xt.Emulated,id:"c"+uy++,styles:e.styles||te,_:null,setInput:null,schemas:e.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},i=e.dependencies,s=e.features;return o.inputs=Gu(e.inputs,r),o.outputs=Gu(e.outputs),s&&s.forEach(a=>a(o)),o.directiveDefs=i?()=>("function"==typeof i?i():i).map(Uu).filter(zu):null,o.pipeDefs=i?()=>("function"==typeof i?i():i).map(Ge).filter(zu):null,o})}function Uu(e){return ie(e)||ke(e)}function zu(e){return null!==e}function an(e){return sn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Gu(e,n){if(null==e)return Ut;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}const $=Nt;function Je(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function ie(e){return e[Jo]||null}function ke(e){return e[Qs]||null}function Ge(e){return e[Ys]||null}const Z=11;function ot(e){return Array.isArray(e)&&"object"==typeof e[1]}function yt(e){return Array.isArray(e)&&!0===e[1]}function Xs(e){return 0!=(4&e.flags)}function Ur(e){return e.componentOffset>-1}function ri(e){return 1==(1&e.flags)}function Ct(e){return null!==e.template}function hy(e){return 0!=(256&e[2])}function Sn(e,n){return e.hasOwnProperty(zt)?e[zt]:null}class my{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Wt(){return Ku}function Ku(e){return e.type.prototype.ngOnChanges&&(e.setInput=vy),_y}function _y(){const e=Xu(this),n=e?.current;if(n){const t=e.previous;if(t===Ut)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function vy(e,n,t,r){const o=this.declaredInputs[t],i=Xu(e)||function yy(e,n){return e[Ju]=n}(e,{previous:Ut,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new my(l&&l.currentValue,n,a===Ut),e[r]=n}Wt.ngInherit=!0;const Ju="__ngSimpleChanges__";function Xu(e){return e[Ju]||null}function Re(e){for(;Array.isArray(e);)e=e[0];return e}function oi(e,n){return Re(n[e])}function it(e,n){return Re(n[e.index])}function nd(e,n){return e.data[n]}function st(e,n){const t=n[e];return ot(t)?t:t[0]}function ii(e){return 64==(64&e[2])}function ln(e,n){return null==n?null:e[n]}function rd(e){e[18]=0}function ta(e,n){e[5]+=n;let t=e,r=e[3];for(;null!==r&&(1===n&&1===t[5]||-1===n&&0===t[5]);)r[5]+=n,t=r,r=r[3]}const U={lFrame:hd(null),bindingsEnabled:!0};function id(){return U.bindingsEnabled}function E(){return U.lFrame.lView}function ee(){return U.lFrame.tView}function Q(e){return U.lFrame.contextLView=e,e[8]}function Y(e){return U.lFrame.contextLView=null,e}function Pe(){let e=sd();for(;null!==e&&64===e.type;)e=e.parent;return e}function sd(){return U.lFrame.currentTNode}function Ot(e,n){const t=U.lFrame;t.currentTNode=e,t.isParent=n}function na(){return U.lFrame.isParent}function ra(){U.lFrame.isParent=!1}function qe(){const e=U.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Jn(){return U.lFrame.bindingIndex++}function Zt(e){const n=U.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function Fy(e,n){const t=U.lFrame;t.bindingIndex=t.bindingRootIndex=e,oa(n)}function oa(e){U.lFrame.currentDirectiveIndex=e}function sa(e){U.lFrame.currentQueryIndex=e}function Ry(e){const n=e[1];return 2===n.type?n.declTNode:1===n.type?e[6]:null}function dd(e,n,t){if(t&B.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&B.Host||(o=Ry(i),null===o||(i=i[15],10&o.type))););if(null===o)return!1;n=o,e=i}const r=U.lFrame=fd();return r.currentTNode=n,r.lView=e,!0}function aa(e){const n=fd(),t=e[1];U.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function fd(){const e=U.lFrame,n=null===e?null:e.child;return null===n?hd(e):n}function hd(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function pd(){const e=U.lFrame;return U.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const gd=pd;function la(){const e=pd();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ze(){return U.lFrame.selectedIndex}function An(e){U.lFrame.selectedIndex=e}function _e(){const e=U.lFrame;return nd(e.tView,e.selectedIndex)}function si(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===n){e[2]+=2048;try{i.call(a)}finally{}}}else try{i.call(a)}finally{}}class Gr{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function da(e,n,t){let r=0;for(;rn){s=i-1;break}}}for(;i>16}(e),r=n;for(;t>0;)r=r[15],t--;return r}let fa=!0;function di(e){const n=fa;return fa=e,n}let qy=0;const Rt={};function fi(e,n){const t=Ed(e,n);if(-1!==t)return t;const r=n[1];r.firstCreatePass&&(e.injectorIndex=n.length,ha(r.data,e),ha(n,null),ha(r.blueprint,null));const o=pa(e,n),i=e.injectorIndex;if(Dd(o)){const s=ci(o),a=ui(o,n),l=a[1].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|l[s+c]}return n[i+8]=o,i}function ha(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Ed(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function pa(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=Nd(o),null===r)return-1;if(t++,o=o[15],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return-1}function ga(e,n,t){!function Zy(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Vr)&&(r=t[Vr]),null==r&&(r=t[Vr]=qy++);const o=255&r;n.data[e+(o>>5)]|=1<=0?255&n:Jy:n}(t);if("function"==typeof i){if(!dd(n,e,r))return r&B.Host?Id(o,0,r):Md(n,t,r,o);try{const s=i(r);if(null!=s||r&B.Optional)return s;qo()}finally{gd()}}else if("number"==typeof i){let s=null,a=Ed(e,n),l=-1,c=r&B.Host?n[16][6]:null;for((-1===a||r&B.SkipSelf)&&(l=-1===a?pa(e,n):n[a+8],-1!==l&&xd(r,!1)?(s=n[1],a=ci(l),n=ui(l,n)):a=-1);-1!==a;){const u=n[1];if(Td(i,a,u.data)){const d=Yy(a,n,t,s,r,c);if(d!==Rt)return d}l=n[a+8],-1!==l&&xd(r,n[1].data[a+8]===c)&&Td(i,a,n)?(s=u,a=ci(l),n=ui(l,n)):a=-1}}return o}function Yy(e,n,t,r,o,i){const s=n[1],a=s.data[e+8],u=function hi(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,u=i>>20,h=o?a+u:e.directiveEnd;for(let p=r?a:a+u;p=l&&m.type===t)return p}if(o){const p=s[l];if(p&&Ct(p)&&p.type===t)return l}return null}(a,s,t,null==r?Ur(a)&&fa:r!=s&&0!=(3&a.type),o&B.Host&&i===a);return null!==u?Tn(n,s,u,a):Rt}function Tn(e,n,t,r){let o=e[t];const i=n.data;if(function Uy(e){return e instanceof Gr}(o)){const s=o;s.resolving&&function qv(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new A(-200,`Circular dependency in DI detected for ${e}${t}`)}(function ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():j(e)}(i[t]));const a=di(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?dt(s.injectImpl):null;dd(e,r,B.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function jy(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=Ku(n);(t.preOrderHooks||(t.preOrderHooks=[])).push(e,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(e,s)}o&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-e,o),i&&((t.preOrderHooks||(t.preOrderHooks=[])).push(e,i),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(e,i))}(t,i[t],n)}finally{null!==l&&dt(l),di(a),s.resolving=!1,gd()}}return o}function Td(e,n,t){return!!(t[n+(e>>5)]&1<{const n=e.prototype.constructor,t=n[zt]||ma(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[zt]||ma(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function ma(e){return Us(e)?()=>{const n=ma(P(e));return n&&n()}:Sn(e)}function Nd(e){const n=e[1],t=n.type;return 2===t?n.declTNode:1===t?e[6]:null}const nr="__parameters__";function or(e,n,t){return sn(()=>{const r=function va(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(nr)?l[nr]:Object.defineProperty(l,nr,{value:[]})[nr];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}class H{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=de({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function xn(e,n){e.forEach(t=>Array.isArray(t)?xn(t,n):n(t))}function Od(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function pi(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function at(e,n,t){let r=ir(e,n);return r>=0?e[1|r]=t:(r=~r,function rC(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Ca(e,n){const t=ir(e,n);if(t>=0)return e[1|t]}function ir(e,n){return function Rd(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<((Xe=Xe||{})[Xe.Important=1]="Important",Xe[Xe.DashCase=2]="DashCase",Xe))();const Ma=new Map;let IC=0;const Aa="__ngContext__";function He(e,n){ot(n)?(e[Aa]=n[20],function SC(e){Ma.set(e[20],e)}(n)):e[Aa]=n}function xa(e,n){return undefined(e,n)}function Xr(e){const n=e[3];return yt(n)?n[3]:n}function Na(e){return ef(e[13])}function Fa(e){return ef(e[4])}function ef(e){for(;null!==e&&!yt(e);)e=e[4];return e}function ar(e,n,t,r,o){if(null!=r){let i,s=!1;yt(r)?i=r:ot(r)&&(s=!0,r=r[0]);const a=Re(r);0===e&&null!==t?null==o?af(n,t,a):Nn(n,t,a,o||null,!0):1===e&&null!==t?Nn(n,t,a,o||null,!0):2===e?function Ba(e,n,t){const r=Ci(e,n);r&&function qC(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function YC(e,n,t,r,o){const i=t[7];i!==Re(t)&&ar(n,e,r,i,o);for(let a=10;a0&&(e[t-1][4]=r[4]);const i=pi(e,10+n);!function BC(e,n){eo(e,n,n[Z],2,null,null),n[0]=null,n[6]=null}(r[1],r);const s=i[19];null!==s&&s.detachView(i[1]),r[3]=null,r[4]=null,r[2]&=-65}return r}function rf(e,n){if(!(128&n[2])){const t=n[Z];t.destroyNode&&eo(e,n,t,3,null,null),function $C(e){let n=e[13];if(!n)return ka(e[1],e);for(;n;){let t=null;if(ot(n))t=n[13];else{const r=n[10];r&&(t=r)}if(!t){for(;n&&!n[4]&&n!==e;)ot(n)&&ka(n[1],n),n=n[3];null===n&&(n=e),ot(n)&&ka(n[1],n),t=n&&n[4]}n=t}}(n)}}function ka(e,n){if(!(128&n[2])){n[2]&=-65,n[2]|=128,function WC(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[o=s]():r[o=-s].unsubscribe(),i+=2}else{const s=r[o=t[i+1]];t[i].call(s)}if(null!==r){for(let i=o+1;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===xt.None||i===xt.Emulated)return null}return it(r,t)}}(e,n.parent,t)}function Nn(e,n,t,r,o){e.insertBefore(n,t,r,o)}function af(e,n,t){e.appendChild(n,t)}function lf(e,n,t,r,o){null!==r?Nn(e,n,t,r,o):af(e,n,t)}function Ci(e,n){return e.parentNode(n)}let $a,df=function uf(e,n,t){return 40&e.type?it(e,t):null};function Di(e,n,t,r){const o=of(e,r,n),i=n[Z],a=function cf(e,n,t){return df(e,n,t)}(r.parent||n[6],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;l((Me=Me||{})[Me.NONE=0]="NONE",Me[Me.HTML=1]="HTML",Me[Me.STYLE=2]="STYLE",Me[Me.SCRIPT=3]="SCRIPT",Me[Me.URL=4]="URL",Me[Me.RESOURCE_URL=5]="RESOURCE_URL",Me))();function un(e){const n=function ro(){const e=E();return e&&e[12]}();return n?n.sanitize(Me.URL,e)||"":function to(e,n){const t=function lD(e){return e instanceof Df&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Pu})`)}return t===n}(e,"URL")?cn(e):function za(e){return(e=String(e)).match(fD)?e:"unsafe:"+e}(j(e))}const Tf=new H("ENVIRONMENT_INITIALIZER"),xf=new H("INJECTOR",-1),Nf=new H("INJECTOR_DEF_TYPES");class Ff{get(n,t=Pr){if(t===Pr){const r=new Error(`NullInjectorError: No provider for ${ce(n)}!`);throw r.name="NullInjectorError",r}return t}}function MD(...e){return{\u0275providers:Of(0,e),\u0275fromNgModule:!0}}function Of(e,...n){const t=[],r=new Set;let o;return xn(n,i=>{const s=i;Za(s,t,[],r)&&(o||(o=[]),o.push(s))}),void 0!==o&&Rf(o,t),t}function Rf(e,n){for(let t=0;t{n.push(i)})}}function Za(e,n,t,r){if(!(e=P(e)))return!1;let o=null,i=Lu(e);const s=!i&&ie(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=Lu(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Za(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{xn(i.imports,u=>{Za(u,n,t,r)&&(c||(c=[]),c.push(u))})}finally{}void 0!==c&&Rf(c,n)}if(!a){const c=Sn(o)||(()=>new o);n.push({provide:o,useFactory:c,deps:te},{provide:Nf,useValue:o,multi:!0},{provide:Tf,useValue:()=>oe(o),multi:!0})}const l=i.providers;null==l||a||Qa(l,u=>{n.push(u)})}}return o!==e&&void 0!==e.providers}function Qa(e,n){for(let t of e)zs(t)&&(t=t.\u0275providers),Array.isArray(t)?Qa(t,n):n(t)}const SD=ae({provide:String,useValue:ae});function Ya(e){return null!==e&&"object"==typeof e&&SD in e}function On(e){return"function"==typeof e}const Ka=new H("Set Injector scope."),Mi={},TD={};let Ja;function Si(){return void 0===Ja&&(Ja=new Ff),Ja}class lr{}class Lf extends lr{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,el(n,s=>this.processProvider(s)),this.records.set(xf,cr(void 0,this)),o.has("environment")&&this.records.set(lr,cr(void 0,this));const i=this.records.get(Ka);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Nf.multi,te,B.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();for(const n of this._onDestroyHooks)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(n){this._onDestroyHooks.push(n)}runInContext(n){this.assertNotDestroyed();const t=Wn(this),r=dt(void 0);try{return n()}finally{Wn(t),dt(r)}}get(n,t=Pr,r=B.Default){this.assertNotDestroyed(),r=Ko(r);const o=Wn(this),i=dt(void 0);try{if(!(r&B.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function RD(e){return"function"==typeof e||"object"==typeof e&&e instanceof H}(n)&&Zo(n);a=l&&this.injectableDefInScope(l)?cr(Xa(n),Mi):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(r&B.Self?Si():this.parent).get(n,t=r&B.Optional&&t===Pr?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[Yo]=s[Yo]||[]).unshift(ce(n)),o)throw s;return function ly(e,n,t,r){const o=e[Yo];throw n[Hu]&&o.unshift(n[Hu]),e.message=function cy(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=ce(n);if(Array.isArray(n))o=n.map(ce).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):ce(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(ry,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Yo]=null,e}(s,n,"R3InjectorError",this.source)}throw s}finally{dt(i),Wn(o)}}resolveInjectorInitializers(){const n=Wn(this),t=dt(void 0);try{const r=this.get(Tf.multi,te,B.Self);for(const o of r)o()}finally{Wn(n),dt(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(ce(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new A(205,!1)}processProvider(n){let t=On(n=P(n))?n:P(n&&n.provide);const r=function ND(e){return Ya(e)?cr(void 0,e.useValue):cr(Vf(e),Mi)}(n);if(On(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=cr(void 0,Mi,!0),o.factory=()=>Zs(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===Mi&&(t.value=TD,t.value=t.factory()),"object"==typeof t.value&&t.value&&function OD(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=P(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}}function Xa(e){const n=Zo(e),t=null!==n?n.factory:Sn(e);if(null!==t)return t;if(e instanceof H)throw new A(204,!1);if(e instanceof Function)return function xD(e){const n=e.length;if(n>0)throw function Qr(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new A(204,!1)}function Vf(e,n,t){let r;if(On(e)){const o=P(e);return Sn(o)||Xa(o)}if(Ya(e))r=()=>P(e.useValue);else if(function kf(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Zs(e.deps||[]));else if(function Pf(e){return!(!e||!e.useExisting)}(e))r=()=>oe(P(e.useExisting));else{const o=P(e&&(e.useClass||e.provide));if(!function FD(e){return!!e.deps}(e))return Sn(o)||Xa(o);r=()=>new o(...Zs(e.deps))}return r}function cr(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function el(e,n){for(const t of e)Array.isArray(t)?el(t,n):t&&zs(t)?el(t.\u0275providers,n):n(t)}class PD{}class Bf{}class LD{resolveComponentFactory(n){throw function kD(e){const n=Error(`No component factory found for ${ce(e)}. Did you add it to @NgModule.entryComponents?`);return n.ngComponent=e,n}(n)}}let Ai=(()=>{class e{}return e.NULL=new LD,e})();function VD(){return ur(Pe(),E())}function ur(e,n){return new Dt(it(e,n))}let Dt=(()=>{class e{constructor(t){this.nativeElement=t}}return e.__NG_ELEMENT_ID__=VD,e})();class jf{}let Rn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function HD(){const e=E(),t=st(Pe().index,e);return(ot(t)?t:e)[Z]}(),e})(),jD=(()=>{class e{}return e.\u0275prov=de({token:e,providedIn:"root",factory:()=>null}),e})();class Ti{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const $D=new Ti("15.1.2"),tl={};function rl(e){return e.ngOriginalError}class dr{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&rl(n);for(;t&&rl(t);)t=rl(t);return t||null}}function ol(e){return e.ownerDocument.defaultView}function Uf(e,n,t){let r=e.length;for(;;){const o=e.indexOf(n,t);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=n.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}t=o+1}}const zf="ng-template";function JD(e,n,t){let r=0;for(;ri?"":o[d+1].toLowerCase();const p=8&r?h:null;if(p&&-1!==Uf(p,c,0)||2&r&&c!==h){if(wt(r))return!1;s=!0}}}}else{if(!s&&!wt(r)&&!wt(l))return!1;if(s&&wt(l))continue;s=!1,r=l|1&r}}return wt(r)||s}function wt(e){return 0==(1&e)}function tw(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!wt(s)&&(n+=qf(i,o),o=""),r=s,i=i||!wt(r);t++}return""!==o&&(n+=qf(i,o)),n}const z={};function f(e){Zf(ee(),E(),Ze()+e,!1)}function Zf(e,n,t,r){if(!r)if(3==(3&n[2])){const i=e.preOrderCheckHooks;null!==i&&ai(n,i,t)}else{const i=e.preOrderHooks;null!==i&&li(n,i,0,t)}An(t)}function Jf(e,n=null,t=null,r){const o=Xf(e,n,t,r);return o.resolveInjectorInitializers(),o}function Xf(e,n=null,t=null,r,o=new Set){const i=[t||te,MD(e)];return r=r||("object"==typeof e?void 0:ce(e)),new Lf(i,n||Si(),r||null,o)}let dn=(()=>{class e{static create(t,r){if(Array.isArray(t))return Jf({name:""},r,t,"");{const o=t.name??"";return Jf({name:o},t.parent,t.providers,o)}}}return e.THROW_IF_NOT_FOUND=Pr,e.NULL=new Ff,e.\u0275prov=de({token:e,providedIn:"any",factory:()=>oe(xf)}),e.__NG_ELEMENT_ID__=-1,e})();function M(e,n=B.Default){const t=E();return null===t?oe(e,n):Sd(Pe(),t,P(e),n)}function sh(e,n){const t=e.contentQueries;if(null!==t)for(let r=0;r22&&Zf(e,n,22,!1),t(r,o)}finally{An(i)}}function dl(e,n,t){if(Xs(n)){const o=n.directiveEnd;for(let i=n.directiveStart;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,oo(e,t,o.hostVars,z),o)}function Pt(e,n,t,r,o,i){const s=it(e,n);!function _l(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?j(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[Z],s,i,e.value,t,r,o)}function qw(e,n,t,r,o,i){const s=i[n];if(null!==s){const a=r.setInput;for(let l=0;l0&&vl(t)}}function vl(e){for(let r=Na(e);null!==r;r=Fa(r))for(let o=10;o0&&vl(i)}const t=e[1].components;if(null!==t)for(let r=0;r0&&vl(o)}}function Jw(e,n){const t=st(n,e),r=t[1];(function Xw(e,n){for(let t=n.length;t-1&&(Pa(n,r),pi(t,r))}this._attachedToViewContainer=!1}rf(this._lView[1],this._lView)}onDestroy(n){!function ch(e,n,t,r){const o=mh(n);null===t?o.push(r):(o.push(t),e.firstCreatePass&&_h(e).push(r,o.length-1))}(this._lView[1],this._lView,null,n)}markForCheck(){yl(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Ri(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new A(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function jC(e,n){eo(e,n,n[Z],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new A(902,!1);this._appRef=n}}class eb extends io{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Ri(n[1],n,n[8],!1)}checkNoChanges(){}get context(){return null}}class Ch extends Ai{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=ie(n);return new so(t,this.ngModule)}}function Dh(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class nb{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=Ko(r);const o=this.injector.get(n,tl,r);return o!==tl||t===tl?o:this.parentInjector.get(n,t,r)}}class so extends Bf{get inputs(){return Dh(this.componentDef.inputs)}get outputs(){return Dh(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function aw(e){return e.map(sw).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof lr?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new nb(n,i):n,a=s.get(jf,null);if(null===a)throw new A(407,!1);const l=s.get(jD,null),c=a.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",d=r?function Fw(e,n,t){return e.selectRootElement(n,t===xt.ShadowDom)}(c,r,this.componentDef.encapsulation):Ra(c,u,function tb(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(u)),h=this.componentDef.onPush?288:272,p=pl(0,null,null,1,0,null,null,null,null,null),m=Ni(null,p,null,h,null,null,a,c,l,s,null);let D,I;aa(m);try{const S=this.componentDef;let O,b=null;S.findHostDirectiveDefs?(O=[],b=new Map,S.findHostDirectiveDefs(S,O,b),O.push(S)):O=[S];const V=function ob(e,n){const t=e[1];return e[22]=n,pr(t,22,2,"#host",null)}(m,d),le=function ib(e,n,t,r,o,i,s,a){const l=o[1];!function sb(e,n,t,r){for(const o of e)n.mergedAttrs=Wr(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(Pi(n,n.mergedAttrs,!0),null!==t&&mf(r,t,n))}(r,e,n,s);const c=i.createRenderer(n,t),u=Ni(o,lh(t),null,t.onPush?32:16,o[e.index],e,i,c,a||null,null,null);return l.firstCreatePass&&ml(l,e,r.length-1),Oi(o,u),o[e.index]=u}(V,d,S,O,m,a,c);I=nd(p,22),d&&function lb(e,n,t,r){if(r)da(e,t,["ng-version",$D.full]);else{const{attrs:o,classes:i}=function lw(e){const n=[],t=[];let r=1,o=2;for(;r0&&gf(e,t,i.join(" "))}}(c,S,d,r),void 0!==t&&function cb(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Wr(o.hostAttrs,t=Wr(t,o.hostAttrs))}}(r)}function wl(e){return e===Ut?{}:e===te?[]:e}function fb(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function hb(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function pb(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}let Li=null;function Pn(){if(!Li){const e=fe.Symbol;if(e&&e.iterator)Li=e.iterator;else{const n=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ts(Re(V[r.index])):r.index;let b=null;if(!s&&a&&(b=function Tb(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==b)(b.__ngLastListenerFn__||b).__ngNextListenerFn__=i,b.__ngLastListenerFn__=i,h=!1;else{i=jh(r,n,u,i,!1);const V=t.listen(I,o,i);d.push(i,V),c&&c.push(o,O,S,S+1)}}else i=jh(r,n,u,i,!1);const p=r.outputs;let m;if(h&&null!==p&&(m=p[o])){const D=m.length;if(D)for(let I=0;I-1?st(e.index,n):n);let l=Hh(n,0,r,s),c=i.__ngNextListenerFn__;for(;c;)l=Hh(n,0,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&(s.preventDefault(),s.returnValue=!1),l}}function _(e=1){return function Py(e){return(U.lFrame.contextLView=function ky(e,n){for(;e>0;)n=n[15],e--;return n}(e,U.lFrame.contextLView))[8]}(e)}function fn(e,n,t){return Il(e,"",n,"",t),fn}function Il(e,n,t,r,o){const i=E(),s=mr(i,n,t,r);return s!==z&<(ee(),_e(),i,e,s,i[Z],o,!1),Il}function ji(e,n){return e<<17|n<<2}function hn(e){return e>>17&32767}function Ml(e){return 2|e}function Ln(e){return(131068&e)>>2}function Sl(e,n){return-131069&e|n<<2}function Al(e){return 1|e}function Yh(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?hn(i):Ln(i),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];Vb(e[a],n)&&(l=!0,e[a+1]=r?Al(u):Ml(u)),a=r?hn(u):Ln(u)}l&&(e[t+1]=r?Ml(i):Al(i))}function Vb(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&ir(e,n)>=0}const xe={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Kh(e){return e.substring(xe.key,xe.keyEnd)}function Jh(e,n){const t=xe.textEnd;return t===n?-1:(n=xe.keyEnd=function $b(e,n,t){for(;n32;)n++;return n}(e,xe.key=n,t),Er(e,n,t))}function Er(e,n,t){for(;n=0;t=Jh(n,t))at(e,Kh(n),!0)}function op(e,n){return n>=e.expandoStartIndex}function ip(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[Ze()],s=op(e,t);cp(i,r)&&null===n&&!s&&(n=!1),n=function qb(e,n,t,r){const o=function ia(e){const n=U.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=lo(t=Tl(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=Tl(o,e,n,t,r),null===i){let l=function Zb(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==Ln(r))return e[hn(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=Tl(null,e,n,l[1],r),l=lo(l,n.attrs,r),function Qb(e,n,t,r){e[hn(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function Yb(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):u=t,o)if(0!==l){const h=hn(e[a+1]);e[r+1]=ji(h,a),0!==h&&(e[h+1]=Sl(e[h+1],r)),e[a+1]=function Rb(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=ji(a,0),0!==a&&(e[a+1]=Sl(e[a+1],r)),a=r;else e[r+1]=ji(l,0),0===a?a=r:e[l+1]=Sl(e[l+1],r),l=r;c&&(e[r+1]=Ml(e[r+1])),Yh(e,u,r,!0),Yh(e,u,r,!1),function Lb(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&ir(i,n)>=0&&(t[r+1]=Al(t[r+1]))}(n,u,e,r,i),s=ji(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}function Tl(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[o+1];h===z&&(h=d?te:void 0);let p=d?Ca(h,r):u===r?h:void 0;if(c&&!Ui(p)&&(p=Ca(l,r)),Ui(p)&&(a=p,s))return a;const m=e[o+1];o=s?hn(m):Ln(m)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=Ca(l,r))}return a}function Ui(e){return void 0!==e}function cp(e,n){return 0!=(e.flags&(n?8:16))}function w(e,n=""){const t=E(),r=ee(),o=e+22,i=r.firstCreatePass?pr(r,o,1,n,null):r.data[o],s=t[o]=function Oa(e,n){return e.createText(n)}(t[Z],n);Di(r,t,s,i),Ot(i,!1)}function F(e){return G("",e,""),F}function G(e,n,t){const r=E(),o=mr(r,e,n,t);return o!==z&&function Kt(e,n,t){const r=oi(n,e);!function tf(e,n,t){e.setValue(n,t)}(e[Z],r,t)}(r,Ze(),o),G}function Bt(e,n,t){!function It(e,n,t,r){const o=ee(),i=Zt(2);o.firstUpdatePass&&ip(o,null,i,r);const s=E();if(t!==z&&je(s,i,t)){const a=o.data[Ze()];if(cp(a,r)&&!op(o,i)){let l=r?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=$s(l,t||"")),El(o,a,s,t,r)}else!function Jb(e,n,t,r,o,i,s,a){o===z&&(o=te);let l=0,c=0,u=0>20;if(On(e)||!e.multi){const p=new Gr(l,o,M),m=Rl(a,n,o?u:u+h,d);-1===m?(ga(fi(c,s),i,a),Ol(i,e,n.length),n.push(a),c.directiveStart++,c.directiveEnd++,o&&(c.providerIndexes+=1048576),t.push(p),s.push(p)):(t[m]=p,s[m]=p)}else{const p=Rl(a,n,u+h,d),m=Rl(a,n,u,u+h),I=m>=0&&t[m];if(o&&!I||!o&&!(p>=0&&t[p])){ga(fi(c,s),i,a);const S=function _E(e,n,t,r,o){const i=new Gr(e,t,M);return i.multi=[],i.index=n,i.componentProviders=0,ng(i,o,r&&!t),i}(o?mE:gE,t.length,o,r,l);!o&&I&&(t[m].providerFactory=S),Ol(i,e,n.length,0),n.push(a),c.directiveStart++,c.directiveEnd++,o&&(c.providerIndexes+=1048576),t.push(S),s.push(S)}else Ol(i,e,p>-1?p:m,ng(t[o?m:p],l,!o&&r));!o&&r&&I&&t[m].componentProviders++}}}function Ol(e,n,t,r){const o=On(n),i=function AD(e){return!!e.useClass}(n);if(o||i){const l=(i?P(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function ng(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Rl(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function pE(e,n,t){const r=ee();if(r.firstCreatePass){const o=Ct(e);Fl(t,r.data,r.blueprint,o,!0),Fl(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class Sr{}class vE{}class rg extends Sr{constructor(n,t){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Ch(this);const r=function rt(e,n){const t=e[$u]||null;if(!t&&!0===n)throw new Error(`Type ${ce(e)} does not have '\u0275mod' property.`);return t}(n);this._bootstrapComponents=function Yt(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=Xf(n,t,[{provide:Sr,useValue:this},{provide:Ai,useValue:this.componentFactoryResolver}],ce(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class kl extends vE{constructor(n){super(),this.moduleType=n}create(n){return new rg(this.moduleType,n)}}function Zi(e,n,t,r){return function dg(e,n,t,r,o,i){const s=n+t;return je(e,s,o)?kt(e,s+1,i?r.call(i,o):r(o)):go(e,s+1)}(E(),qe(),e,n,t,r)}function Vl(e,n,t,r,o){return function fg(e,n,t,r,o,i,s){const a=n+t;return kn(e,a,o,i)?kt(e,a+2,s?r.call(s,o,i):r(o,i)):go(e,a+2)}(E(),qe(),e,n,t,r,o)}function Oe(e,n,t,r,o,i){return hg(E(),qe(),e,n,t,r,o,i)}function go(e,n){const t=e[n];return t===z?void 0:t}function hg(e,n,t,r,o,i,s,a){const l=n+t;return function Bi(e,n,t,r,o){const i=kn(e,n,t,r);return je(e,n+2,o)||i}(e,l,o,i,s)?kt(e,l+3,a?r.call(a,o,i,s):r(o,i,s)):go(e,l+3)}function Bl(e){return n=>{setTimeout(e,void 0,n)}}const be=class UE extends Rs{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=Bl(i),o&&(o=Bl(o)),s&&(s=Bl(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof Tt&&n.add(a),a}};let Jt=(()=>{class e{}return e.__NG_ELEMENT_ID__=qE,e})();const GE=Jt,WE=class extends GE{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}createEmbeddedView(n,t){const r=this._declarationTContainer.tViews,o=Ni(this._declarationLView,r,n,16,null,r.declTNode,null,null,null,null,t||null);o[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(o[19]=s.createEmbeddedView(r)),ul(r,o,n),new io(o)}};function qE(){return function Qi(e,n){return 4&e.type?new WE(n,e,ur(e,n)):null}(Pe(),E())}let Ht=(()=>{class e{}return e.__NG_ELEMENT_ID__=ZE,e})();function ZE(){return function Cg(e,n){let t;const r=n[e.index];if(yt(r))t=r;else{let o;if(8&e.type)o=Re(r);else{const i=n[Z];o=i.createComment("");const s=it(e,n);Nn(i,Ci(i,s),o,function ZC(e,n){return e.nextSibling(n)}(i,s),!1)}n[e.index]=t=gh(r,n,o,e),Oi(n,t)}return new vg(t,e,n)}(Pe(),E())}const QE=Ht,vg=class extends QE{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return ur(this._hostTNode,this._hostLView)}get injector(){return new er(this._hostTNode,this._hostLView)}get parentInjector(){const n=pa(this._hostTNode,this._hostLView);if(Dd(n)){const t=ui(n,this._hostLView),r=ci(n);return new er(t[1].data[r+8],t)}return new er(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=yg(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const s=n.createEmbeddedView(t||{},i);return this.insert(s,o),s}createComponent(n,t,r,o,i){const s=n&&!function Zr(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const d=t||{};a=d.index,r=d.injector,o=d.projectableNodes,i=d.environmentInjector||d.ngModuleRef}const l=s?n:new so(ie(n)),c=r||this.parentInjector;if(!i&&null==l.ngModule){const h=(s?c:this.parentInjector).get(lr,null);h&&(i=h)}const u=l.create(c,o,void 0,i);return this.insert(u.hostView,a),u}insert(n,t){const r=n._lView,o=r[1];if(function Ey(e){return yt(e[3])}(r)){const u=this.indexOf(n);if(-1!==u)this.detach(u);else{const d=r[3],h=new vg(d,d[6],d[3]);h.detach(h.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;!function UC(e,n,t,r){const o=10+r,i=t.length;r>0&&(t[o-1][4]=n),r{class e{constructor(t){this.appInits=t,this.resolve=Ki,this.reject=Ki,this.initialized=!1,this.done=!1,this.donePromise=new Promise((r,o)=>{this.resolve=r,this.reject=o})}runInitializers(){if(this.initialized)return;const t=[],r=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let o=0;o{i.subscribe({complete:a,error:l})});t.push(s)}}Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}}return e.\u0275fac=function(t){return new(t||e)(oe(zg,8))},e.\u0275prov=de({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const vo=new H("AppId",{providedIn:"root",factory:function Gg(){return`${Kl()}${Kl()}${Kl()}`}});function Kl(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Wg=new H("Platform Initializer"),qg=new H("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),M1=new H("appBootstrapListener"),Xt=new H("LocaleId",{providedIn:"root",factory:()=>function sy(e,n=B.Default){return oe(e,Ko(n))}(Xt,B.Optional|B.SkipSelf)||function S1(){return typeof $localize<"u"&&$localize.locale||Mr}()}),F1=(()=>Promise.resolve(0))();function Jl(e){typeof Zone>"u"?F1.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class $e{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new be(!1),this.onMicrotaskEmpty=new be(!1),this.onStable=new be(!1),this.onError=new be(!1),typeof Zone>"u")throw new A(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function O1(){let e=fe.requestAnimationFrame,n=fe.cancelAnimationFrame;if(typeof Zone<"u"&&e&&n){const t=e[Zone.__symbol__("OriginalDelegate")];t&&(e=t);const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function k1(e){const n=()=>{!function P1(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(fe,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,ec(e),e.isCheckStableRunning=!0,Xl(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),ec(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{try{return Yg(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),Kg(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return Yg(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),Kg(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,ec(e),Xl(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!$e.isInAngularZone())throw new A(909,!1)}static assertNotInAngularZone(){if($e.isInAngularZone())throw new A(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,R1,Ki,Ki);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const R1={};function Xl(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function ec(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Yg(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Kg(e){e._nesting--,Xl(e)}class L1{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new be,this.onMicrotaskEmpty=new be,this.onStable=new be,this.onError=new be}run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,o){return n.apply(t,r)}}const Jg=new H(""),Xi=new H("");let rc,tc=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,rc||(function V1(e){rc=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{$e.assertNotInAngularZone(),Jl(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Jl(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}}return e.\u0275fac=function(t){return new(t||e)(oe($e),oe(nc),oe(Xi))},e.\u0275prov=de({token:e,factory:e.\u0275fac}),e})(),nc=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return rc?.findTestabilityInTree(this,t,r)??null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=de({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),pn=null;const Xg=new H("AllowMultipleToken"),oc=new H("PlatformDestroyListeners");function tm(e,n,t=[]){const r=`Platform: ${n}`,o=new H(r);return(i=[])=>{let s=ic();if(!s||s.injector.get(Xg,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function j1(e){if(pn&&!pn.get(Xg,!1))throw new A(400,!1);pn=e;const n=e.get(rm);(function em(e){const n=e.get(Wg,null);n&&n.forEach(t=>t())})(e)}(function nm(e=[],n){return dn.create({name:n,providers:[{provide:Ka,useValue:"platform"},{provide:oc,useValue:new Set([()=>pn=null])},...e]})}(a,r))}return function U1(e){const n=ic();if(!n)throw new A(401,!1);return n}()}}function ic(){return pn?.get(rm)??null}let rm=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function im(e,n){let t;return t="noop"===e?new L1:("zone.js"===e?void 0:e)||new $e(n),t}(r?.ngZone,function om(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(r)),i=[{provide:$e,useValue:o}];return o.run(()=>{const s=dn.create({providers:i,parent:this.injector,name:t.moduleType.name}),a=t.create(s),l=a.injector.get(dr,null);if(!l)throw new A(402,!1);return o.runOutsideAngular(()=>{const c=o.onError.subscribe({next:u=>{l.handleError(u)}});a.onDestroy(()=>{es(this._modules,a),c.unsubscribe()})}),function sm(e,n,t){try{const r=t();return Hi(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(l,o,()=>{const c=a.injector.get(Ji);return c.runInitializers(),c.donePromise.then(()=>(function Fp(e){ut(e,"Expected localeId to be defined"),"string"==typeof e&&(Np=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(Xt,Mr)||Mr),this._moduleDoBootstrap(a),a))})})}bootstrapModule(t,r=[]){const o=am({},r);return function B1(e,n,t){const r=new kl(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(sc);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new A(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new A(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(oc,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(t){return new(t||e)(oe(dn))},e.\u0275prov=de({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function am(e,n){return Array.isArray(n)?n.reduce(am,e):{...e,...n}}let sc=(()=>{class e{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(t,r,o){this._zone=t,this._injector=r,this._exceptionHandler=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const i=new ze(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new ze(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{$e.assertNotInAngularZone(),Jl(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const c=this._zone.onUnstable.subscribe(()=>{$e.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),c.unsubscribe()}});this.isStable=Uv(i,s.pipe(function Gv(e={}){const{connector:n=(()=>new Rs),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,c=0,u=!1,d=!1;const h=()=>{a?.unsubscribe(),a=null},p=()=>{h(),s=l=null,u=d=!1},m=()=>{const D=s;p(),D?.unsubscribe()};return zn((D,I)=>{c++,!d&&!u&&h();const S=l=l??n();I.add(()=>{c--,0===c&&!d&&!u&&(a=Hs(m,o))}),S.subscribe(I),s||(s=new xs({next:O=>S.next(O),error:O=>{d=!0,h(),a=Hs(p,t,O),S.error(O)},complete:()=>{u=!0,h(),a=Hs(p,r),S.complete()}}),Bs(D).subscribe(s))})(i)}}()))}bootstrap(t,r){const o=t instanceof Bf;if(!this._injector.get(Ji).done)throw!o&&function Br(e){const n=ie(e)||ke(e)||Ge(e);return null!==n&&n.standalone}(t),new A(405,false);let s;s=o?t:this._injector.get(Ai).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function H1(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Sr),c=s.create(dn.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(Jg,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),es(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new A(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;es(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>es(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new A(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(t){return new(t||e)(oe($e),oe(lr),oe(dr))},e.\u0275prov=de({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function es(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}let um=(()=>{class e{}return e.__NG_ELEMENT_ID__=G1,e})();function G1(e){return function W1(e,n,t){if(Ur(e)&&!t){const r=st(e.index,n);return new io(r,r)}return 47&e.type?new io(n[16],n):null}(Pe(),E(),16==(16&e))}class hm{constructor(){}supports(n){return Vi(n)}create(n){return new J1(n)}}const K1=(e,n)=>n;class J1{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||K1}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new X1(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new pm),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new pm),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class X1{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class eI{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class pm{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new eI,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function gm(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new nI(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class nI{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function _m(){return new rs([new hm])}let rs=(()=>{class e{constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||_m()),deps:[[e,new _i,new mi]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new A(901,!1)}}return e.\u0275prov=de({token:e,providedIn:"root",factory:_m}),e})();function vm(){return new yo([new mm])}let yo=(()=>{class e{constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||vm()),deps:[[e,new _i,new mi]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new A(901,!1)}}return e.\u0275prov=de({token:e,providedIn:"root",factory:vm}),e})();const iI=tm(null,"core",[]);let sI=(()=>{class e{constructor(t){}}return e.\u0275fac=function(t){return new(t||e)(oe(sc))},e.\u0275mod=an({type:e}),e.\u0275inj=$t({}),e})();let fc=null;function Hn(){return fc}class cI{}const tn=new H("DocumentToken"),wc=/\s+/,Am=[];let wo=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=Am,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(wc):Am}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(wc):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,Boolean(t[r]));this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(wc).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return e.\u0275fac=function(t){return new(t||e)(M(rs),M(yo),M(Dt),M(Rn))},e.\u0275dir=$({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),e})();class YI{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let xr=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new YI(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),Nm(a,o)}});for(let o=0,i=r.length;o{Nm(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}}return e.\u0275fac=function(t){return new(t||e)(M(Ht),M(Jt),M(rs))},e.\u0275dir=$({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function Nm(e,n){e.context.$implicit=n.item}let jn=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new JI,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Fm("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Fm("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}}return e.\u0275fac=function(t){return new(t||e)(M(Ht),M(Jt))},e.\u0275dir=$({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),e})();class JI{constructor(){this.$implicit=null,this.ngIf=null}}function Fm(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${ce(n)}'.`)}let Pm=(()=>{class e{transform(t,r,o){if(null==t)return null;if(!this.supports(t))throw function At(e,n){return new A(2100,!1)}();return t.slice(r,o)}supports(t){return"string"==typeof t||Array.isArray(t)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275pipe=Je({name:"slice",type:e,pure:!1,standalone:!0}),e})(),bM=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=an({type:e}),e.\u0275inj=$t({}),e})();class tS extends cI{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Tc extends tS{static makeCurrent(){!function lI(e){fc||(fc=e)}(new Tc)}onAndCancel(n,t,r){return n.addEventListener(t,r,!1),()=>{n.removeEventListener(t,r,!1)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function nS(){return Eo=Eo||document.querySelector("base"),Eo?Eo.getAttribute("href"):null}();return null==t?null:function rS(e){ps=ps||document.createElement("a"),ps.setAttribute("href",e);const n=ps.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Eo=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function ZI(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}(document.cookie,n)}}let ps,Eo=null;const Um=new H("TRANSITION_ID"),iS=[{provide:zg,useFactory:function oS(e,n,t){return()=>{t.get(Ji).donePromise.then(()=>{const r=Hn(),o=n.querySelectorAll(`style[ng-transition="${e}"]`);for(let i=0;i{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=de({token:e,factory:e.\u0275fac}),e})();const gs=new H("EventManagerPlugins");let ms=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>o.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}addGlobalEventListener(t,r,o){return this._findPluginFor(r).addGlobalEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){const r=this._eventNameToPlugin.get(t);if(r)return r;const o=this._plugins;for(let i=0;i{class e{constructor(){this._stylesSet=new Set}addStyles(t){const r=new Set;t.forEach(o=>{this._stylesSet.has(o)||(this._stylesSet.add(o),r.add(o))}),this.onStylesAdded(r)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=de({token:e,factory:e.\u0275fac}),e})(),Io=(()=>{class e extends Gm{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,r,o){t.forEach(i=>{const s=this._doc.createElement("style");s.textContent=i,o.push(r.appendChild(s))})}addHost(t){const r=[];this._addStylesToHost(this._stylesSet,t,r),this._hostNodes.set(t,r)}removeHost(t){const r=this._hostNodes.get(t);r&&r.forEach(Wm),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((r,o)=>{this._addStylesToHost(t,o,r)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(Wm))}}return e.\u0275fac=function(t){return new(t||e)(oe(tn))},e.\u0275prov=de({token:e,factory:e.\u0275fac}),e})();function Wm(e){Hn().remove(e)}const xc={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Nc=/%COMP%/g;function Fc(e,n){return n.flat(100).map(t=>t.replace(Nc,e))}function Qm(e){return n=>{if("__ngUnwrap__"===n)return e;!1===e(n)&&(n.preventDefault(),n.returnValue=!1)}}let Oc=(()=>{class e{constructor(t,r,o){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.rendererByCompId=new Map,this.defaultRenderer=new Rc(t)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;switch(r.encapsulation){case xt.Emulated:{let o=this.rendererByCompId.get(r.id);return o||(o=new hS(this.eventManager,this.sharedStylesHost,r,this.appId),this.rendererByCompId.set(r.id,o)),o.applyToHost(t),o}case xt.ShadowDom:return new pS(this.eventManager,this.sharedStylesHost,t,r);default:if(!this.rendererByCompId.has(r.id)){const o=Fc(r.id,r.styles);this.sharedStylesHost.addStyles(o),this.rendererByCompId.set(r.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return e.\u0275fac=function(t){return new(t||e)(oe(ms),oe(Io),oe(vo))},e.\u0275prov=de({token:e,factory:e.\u0275fac}),e})();class Rc{constructor(n){this.eventManager=n,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?document.createElementNS(xc[t]||t,n):document.createElement(n)}createComment(n){return document.createComment(n)}createText(n){return document.createTextNode(n)}appendChild(n,t){(Km(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(Km(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?document.querySelector(n):n;if(!r)throw new Error(`The selector "${n}" did not match any elements`);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=xc[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=xc[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(Xe.DashCase|Xe.Important)?n.style.setProperty(t,r,o&Xe.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&Xe.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){return"string"==typeof n?this.eventManager.addGlobalEventListener(n,t,Qm(r)):this.eventManager.addEventListener(n,t,Qm(r))}}function Km(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class hS extends Rc{constructor(n,t,r,o){super(n),this.component=r;const i=Fc(o+"-"+r.id,r.styles);t.addStyles(i),this.contentAttr=function uS(e){return"_ngcontent-%COMP%".replace(Nc,e)}(o+"-"+r.id),this.hostAttr=function dS(e){return"_nghost-%COMP%".replace(Nc,e)}(o+"-"+r.id)}applyToHost(n){super.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}class pS extends Rc{constructor(n,t,r,o){super(n),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const i=Fc(o.id,o.styles);for(let s=0;s{class e extends zm{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}}return e.\u0275fac=function(t){return new(t||e)(oe(tn))},e.\u0275prov=de({token:e,factory:e.\u0275fac}),e})();const Jm=["alt","control","meta","shift"],mS={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_S={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let vS=(()=>{class e extends zm{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Hn().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),Jm.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=mS[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),Jm.forEach(s=>{s!==o&&(0,_S[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return e.\u0275fac=function(t){return new(t||e)(oe(tn))},e.\u0275prov=de({token:e,factory:e.\u0275fac}),e})();const wS=tm(iI,"browser",[{provide:qg,useValue:"browser"},{provide:Wg,useValue:function yS(){Tc.makeCurrent()},multi:!0},{provide:tn,useFactory:function DS(){return function nD(e){$a=e}(document),document},deps:[]}]),t_=new H(""),n_=[{provide:Xi,useClass:class sS{addToWindow(n){fe.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new Error("Could not find testability for element.");return i},fe.getAllAngularTestabilities=()=>n.getAllTestabilities(),fe.getAllAngularRootElements=()=>n.getAllRootElements(),fe.frameworkStabilizers||(fe.frameworkStabilizers=[]),fe.frameworkStabilizers.push(r=>{const o=fe.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&r(s)};o.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Hn().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:Jg,useClass:tc,deps:[$e,nc,Xi]},{provide:tc,useClass:tc,deps:[$e,nc,Xi]}],r_=[{provide:Ka,useValue:"root"},{provide:dr,useFactory:function CS(){return new dr},deps:[]},{provide:gs,useClass:gS,multi:!0,deps:[tn,$e,qg]},{provide:gs,useClass:vS,multi:!0,deps:[tn]},{provide:Oc,useClass:Oc,deps:[ms,Io,vo]},{provide:jf,useExisting:Oc},{provide:Gm,useExisting:Io},{provide:Io,useClass:Io,deps:[tn]},{provide:ms,useClass:ms,deps:[gs,$e]},{provide:class AM{},useClass:aS,deps:[]},[]];let bS=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:vo,useValue:t.appId},{provide:Um,useExisting:vo},iS]}}}return e.\u0275fac=function(t){return new(t||e)(oe(t_,12))},e.\u0275mod=an({type:e}),e.\u0275inj=$t({providers:[...r_,...n_],imports:[bM,sI]}),e})();typeof window<"u"&&window;const{isArray:OS}=Array,{getPrototypeOf:RS,prototype:PS,keys:kS}=Object;const{isArray:BS}=Array;function $S(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}function US(...e){const n=function Rv(e){return me(Vs(e))?e.pop():void 0}(e),{args:t,keys:r}=function LS(e){if(1===e.length){const n=e[0];if(OS(n))return{args:n,keys:null};if(function VS(e){return e&&"object"==typeof e&&RS(e)===PS}(n)){const t=kS(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}(e),o=new ze(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(r?$S(r,a):a),i.complete())}))}});return n?o.pipe(function jS(e){return Ps(n=>function HS(e,n){return BS(n)?e(...n):e(n)}(e,n))}(n)):o}let s_=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return e.\u0275fac=function(t){return new(t||e)(M(Rn),M(Dt))},e.\u0275dir=$({type:e}),e})(),$n=(()=>{class e extends s_{}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Be(e)))(r||e)}}(),e.\u0275dir=$({type:e,features:[se]}),e})();const jt=new H("NgValueAccessor"),zS={provide:jt,useExisting:ue(()=>Lc),multi:!0};let Lc=(()=>{class e extends $n{writeValue(t){this.setProperty("checked",t)}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Be(e)))(r||e)}}(),e.\u0275dir=$({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(t,r){1&t&&k("change",function(i){return r.onChange(i.target.checked)})("blur",function(){return r.onTouched()})},features:[ge([zS]),se]}),e})();const GS={provide:jt,useExisting:ue(()=>Mo),multi:!0},qS=new H("CompositionEventMode");let Mo=(()=>{class e extends s_{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function WS(){const e=Hn()?Hn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return e.\u0275fac=function(t){return new(t||e)(M(Rn),M(Dt),M(qS,8))},e.\u0275dir=$({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,r){1&t&&k("input",function(i){return r._handleInput(i.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(i){return r._compositionEnd(i.target.value)})},features:[ge([GS]),se]}),e})();const Ue=new H("NgValidators"),_n=new H("NgAsyncValidators");function m_(e){return null!=e}function __(e){return Hi(e)?Bs(e):e}function v_(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function y_(e,n){return n.map(t=>t(e))}function C_(e){return e.map(n=>function YS(e){return!e.validate}(n)?n:t=>n.validate(t))}function Vc(e){return null!=e?function D_(e){if(!e)return null;const n=e.filter(m_);return 0==n.length?null:function(t){return v_(y_(t,n))}}(C_(e)):null}function Bc(e){return null!=e?function w_(e){if(!e)return null;const n=e.filter(m_);return 0==n.length?null:function(t){return US(y_(t,n).map(__)).pipe(Ps(v_))}}(C_(e)):null}function b_(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Hc(e){return e?Array.isArray(e)?e:[e]:[]}function vs(e,n){return Array.isArray(e)?e.includes(n):e===n}function M_(e,n){const t=Hc(n);return Hc(e).forEach(o=>{vs(t,o)||t.push(o)}),t}function S_(e,n){return Hc(n).filter(t=>!vs(e,t))}class A_{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Vc(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Bc(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Ke extends A_{get formDirective(){return null}get path(){return null}}class vn extends A_{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class T_{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let ys=(()=>{class e extends T_{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(M(vn,2))},e.\u0275dir=$({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,r){2&t&&$i("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[se]}),e})();const So="VALID",Ds="INVALID",Nr="PENDING",Ao="DISABLED";function ws(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class O_{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===So}get invalid(){return this.status===Ds}get pending(){return this.status==Nr}get disabled(){return this.status===Ao}get enabled(){return this.status!==Ao}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(M_(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(M_(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(S_(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(S_(n,this._rawAsyncValidators))}hasValidator(n){return vs(this._rawValidators,n)}hasAsyncValidator(n){return vs(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Nr,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ao,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=So,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===So||this.status===Nr)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ao:So}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Nr,this._hasOwnPendingAsyncValidator=!0;const t=__(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new be,this.statusChanges=new be}_calculateStatus(){return this._allControlsDisabled()?Ao:this.errors?Ds:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Nr)?Nr:this._anyControlsHaveStatus(Ds)?Ds:So}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){ws(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function oA(e){return Array.isArray(e)?Vc(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function iA(e){return Array.isArray(e)?Bc(e):e||null}(this._rawAsyncValidators)}}const To=new H("CallSetDisabledState",{providedIn:"root",factory:()=>qc}),qc="always";function xo(e,n,t=qc){(function Zc(e,n){const t=function E_(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(b_(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function I_(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(b_(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Is(n._rawValidators,o),Is(n._rawAsyncValidators,o)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function lA(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&R_(e,n)})}(e,n),function uA(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function cA(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&R_(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function aA(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Is(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function R_(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function L_(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function V_(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const B_=class extends O_{constructor(n=null,t,r){super(function zc(e){return(ws(e)?e.validators:e)||null}(t),function Gc(e,n){return(ws(n)?n.asyncValidators:e)||null}(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ws(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=V_(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){L_(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){L_(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){V_(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},vA={provide:vn,useExisting:ue(()=>Fo)},$_=(()=>Promise.resolve())();let Fo=(()=>{class e extends vn{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new B_,this._registered=!1,this.update=new be,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Kc(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Mo?t=i:function hA(e){return Object.getPrototypeOf(e.constructor)===$n}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Yc(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){xo(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){$_.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&function dc(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);$_.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function bs(e,n){return[...n.path,e]}(t,this._parent):[t]}}return e.\u0275fac=function(t){return new(t||e)(M(Ke,9),M(Ue,10),M(_n,10),M(jt,10),M(um,8),M(To,8))},e.\u0275dir=$({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ge([vA]),se,Wt]}),e})(),z_=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=an({type:e}),e.\u0275inj=$t({}),e})();const bA={provide:jt,useExisting:ue(()=>Xc),multi:!0};let Xc=(()=>{class e extends $n{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=r=>{t(""==r?null:parseFloat(r))}}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Be(e)))(r||e)}}(),e.\u0275dir=$({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(t,r){1&t&&k("change",function(i){return r.onChange(i.target.value)})("input",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},features:[ge([bA]),se]}),e})();const TA={provide:jt,useExisting:ue(()=>Oo),multi:!0};function Y_(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Oo=(()=>{class e extends $n{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=Y_(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function xA(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=Be(e)))(r||e)}}(),e.\u0275dir=$({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(t,r){1&t&&k("change",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[ge([TA]),se]}),e})(),ru=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Y_(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(t){return new(t||e)(M(Dt),M(Rn),M(Oo,9))},e.\u0275dir=$({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();const NA={provide:jt,useExisting:ue(()=>ou),multi:!0};function K_(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let ou=(()=>{class e extends $n{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(K_(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(K_(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(t){return new(t||e)(M(Dt),M(Rn),M(ou,9))},e.\u0275dir=$({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})(),jA=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=an({type:e}),e.\u0275inj=$t({imports:[z_]}),e})(),UA=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:To,useValue:t.callSetDisabledState??qc}]}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=an({type:e}),e.\u0275inj=$t({imports:[jA]}),e})();class av{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class zA{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class GA{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.tm=n.tm,this.mcq=n.mcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}}class yn{static roundNumber(n,t){return Math.floor(n*Math.pow(10,t))/Math.pow(10,t)}static getNthOrLastIndexOf(n,t,r){let o=0,i=-1,s=-1;for(;o{this.historicCoverages.push(new GA(r))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:yn.roundNumber(100*this.coveredLines/this.coverableLines,1)}visible(n,t){if(""!==n&&-1===this.name.toLowerCase().indexOf(n.toLowerCase()))return!1;if(""===t||null===this.currentHistoricCoverage)return!0;if("allChanges"===t){if(this.coveredLines===this.currentHistoricCoverage.cl&&this.uncoveredLines===this.currentHistoricCoverage.ucl&&this.coverableLines===this.currentHistoricCoverage.cal&&this.totalLines===this.currentHistoricCoverage.tl&&this.coveredBranches===this.currentHistoricCoverage.cb&&this.totalBranches===this.currentHistoricCoverage.tb&&this.coveredMethods===this.currentHistoricCoverage.cm&&this.totalMethods===this.currentHistoricCoverage.tm)return!1}else if("lineCoverageIncreaseOnly"===t){let r=this.coverage;if(isNaN(r)||r<=this.currentHistoricCoverage.lcq)return!1}else if("lineCoverageDecreaseOnly"===t){let r=this.coverage;if(isNaN(r)||r>=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===t){let r=this.branchCoverage;if(isNaN(r)||r<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===t){let r=this.branchCoverage;if(isNaN(r)||r>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===t){let r=this.methodCoverage;if(isNaN(r)||r<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===t){let r=this.methodCoverage;if(isNaN(r)||r>=this.currentHistoricCoverage.mcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n,t){if(""!==n&&this.name.toLowerCase().indexOf(n.toLowerCase())>-1)return!0;for(let r=0;rt.name===n.name)}toggleMetric(n){let t=this.visibleMetrics.find(r=>r.name===n.name);t?this.visibleMetrics.splice(this.visibleMetrics.indexOf(t),1):this.visibleMetrics.push(n),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(n){n.stopPropagation()}}function XA(e,n){1&e&&N(0,"td",3)}function eT(e,n){1&e&&N(0,"td"),2&e&&Bt("green ",_().greenClass,"")}function tT(e,n){1&e&&N(0,"td"),2&e&&Bt("red ",_().redClass,"")}Po.\u0275fac=function(n){return new(n||Po)},Po.\u0275cmp=Nt({type:Po,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",visibleMetricsChange:"visibleMetricsChange"},decls:17,vars:9,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModel","ngModelChange","change"],["class","mt-1",4,"ngIf"],["type","checkbox",3,"ngModel","disabled","ngModelChange","change"],[3,"translations",4,"ngIf"],[4,"ngIf"],[3,"translations"],["class","mt-1",4,"ngFor","ngForOf"],["type","checkbox",3,"checked","disabled","change"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(n,t){1&n&&(y(0,"div",0),k("click",function(){return t.close()}),y(1,"div",1),k("click",function(o){return t.cancelEvent(o)}),y(2,"div",2),k("click",function(){return t.close()}),w(3,"X"),v(),y(4,"b"),w(5),v(),y(6,"div",3)(7,"label")(8,"input",4),k("ngModelChange",function(o){return t.showLineCoverage=o})("change",function(){return t.showLineCoverageChange.emit(t.showLineCoverage)}),v(),w(9),v()(),C(10,qA,4,2,"div",5),y(11,"div",3)(12,"label")(13,"input",6),k("ngModelChange",function(o){return t.showMethodCoverage=o})("change",function(){return t.showMethodCoverageChange.emit(t.showMethodCoverage)}),v(),w(14),v(),C(15,ZA,1,1,"pro-button",7),v(),C(16,JA,7,3,"ng-container",8),v()()),2&n&&(f(5),F(t.translations.coverageTypes),f(3),g("ngModel",t.showLineCoverage),f(1),G(" ",t.translations.coverage,""),f(1),g("ngIf",t.branchCoverageAvailable),f(3),g("ngModel",t.showMethodCoverage)("disabled",!t.methodCoverageAvailable),f(1),G(" ",t.translations.methodCoverage,""),f(1),g("ngIf",!t.methodCoverageAvailable),f(1),g("ngIf",t.metrics.length>0))},dependencies:[xr,jn,Lc,ys,Fo,Ro],encapsulation:2});class Fr{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(n){this._percentage=n,this.grayVisible=isNaN(n),this.greenVisible=!isNaN(n)&&Math.round(n)>0,this.redVisible=!isNaN(n)&&100-Math.round(n)>0,this.greenClass="covered"+Math.round(n),this.redClass="covered"+(100-Math.round(n))}}function rT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.coveredLines)}}function oT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.uncoveredLines)}}function iT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.coverableLines)}}function sT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.totalLines)}}function aT(e,n){if(1&e&&(y(0,"th",6),w(1),v()),2&e){const t=_();g("title",t.element.coverageRatioText),f(1),F(t.element.coveragePercentage)}}function lT(e,n){if(1&e&&(y(0,"th",5),N(1,"coverage-bar",7),v()),2&e){const t=_();f(1),g("percentage",t.element.coverage)}}function cT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.coveredBranches)}}function uT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.totalBranches)}}function dT(e,n){if(1&e&&(y(0,"th",6),w(1),v()),2&e){const t=_();g("title",t.element.branchCoverageRatioText),f(1),F(t.element.branchCoveragePercentage)}}function fT(e,n){if(1&e&&(y(0,"th",5),N(1,"coverage-bar",7),v()),2&e){const t=_();f(1),g("percentage",t.element.branchCoverage)}}function hT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.coveredMethods)}}function pT(e,n){if(1&e&&(y(0,"th",5),w(1),v()),2&e){const t=_();f(1),F(t.element.totalMethods)}}function gT(e,n){if(1&e&&(y(0,"th",6),w(1),v()),2&e){const t=_();g("title",t.element.methodCoverageRatioText),f(1),F(t.element.methodCoveragePercentage)}}function mT(e,n){if(1&e&&(y(0,"th",5),N(1,"coverage-bar",7),v()),2&e){const t=_();f(1),g("percentage",t.element.methodCoverage)}}function _T(e,n){1&e&&N(0,"th",5)}Fr.\u0275fac=function(n){return new(n||Fr)},Fr.\u0275cmp=Nt({type:Fr,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},decls:4,vars:3,consts:[[1,"coverage"],["class","gray covered100",4,"ngIf"],[3,"class",4,"ngIf"],[1,"gray","covered100"]],template:function(n,t){1&n&&(y(0,"table",0),C(1,XA,1,0,"td",1),C(2,eT,1,3,"td",2),C(3,tT,1,3,"td",2),v()),2&n&&(f(1),g("ngIf",t.grayVisible),f(1),g("ngIf",t.greenVisible),f(1),g("ngIf",t.redVisible))},dependencies:[jn],encapsulation:2,changeDetection:0});const vT=function(e,n){return{"icon-plus":e,"icon-minus":n}};class ko{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[]}}ko.\u0275fac=function(n){return new(n||ko)},ko.\u0275cmp=Nt({type:ko,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",visibleMetrics:"visibleMetrics"},attrs:["codeelement-row",""],decls:19,vars:20,consts:[["href","#",3,"click"],[3,"ngClass"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(n,t){1&n&&(y(0,"th")(1,"a",0),k("click",function(o){return t.element.toggleCollapse(o)}),N(2,"i",1),w(3),v()(),C(4,rT,2,1,"th",2),C(5,oT,2,1,"th",2),C(6,iT,2,1,"th",2),C(7,sT,2,1,"th",2),C(8,aT,2,2,"th",3),C(9,lT,2,1,"th",2),C(10,cT,2,1,"th",2),C(11,uT,2,1,"th",2),C(12,dT,2,2,"th",3),C(13,fT,2,1,"th",2),C(14,hT,2,1,"th",2),C(15,pT,2,1,"th",2),C(16,gT,2,2,"th",3),C(17,mT,2,1,"th",2),C(18,_T,1,0,"th",4)),2&n&&(f(2),g("ngClass",Vl(17,vT,t.element.collapsed,!t.element.collapsed)),f(1),G(" ",t.element.name,""),f(1),g("ngIf",t.lineCoverageAvailable),f(1),g("ngIf",t.lineCoverageAvailable),f(1),g("ngIf",t.lineCoverageAvailable),f(1),g("ngIf",t.lineCoverageAvailable),f(1),g("ngIf",t.lineCoverageAvailable),f(1),g("ngIf",t.lineCoverageAvailable),f(1),g("ngIf",t.branchCoverageAvailable),f(1),g("ngIf",t.branchCoverageAvailable),f(1),g("ngIf",t.branchCoverageAvailable),f(1),g("ngIf",t.branchCoverageAvailable),f(1),g("ngIf",t.methodCoverageAvailable),f(1),g("ngIf",t.methodCoverageAvailable),f(1),g("ngIf",t.methodCoverageAvailable),f(1),g("ngIf",t.methodCoverageAvailable),f(1),g("ngForOf",t.visibleMetrics))},dependencies:[wo,xr,jn,Fr],encapsulation:2,changeDetection:0});class Lo{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(n){if(this._historicCoverages=n,n.length>1){let t="";for(let r=0;r1),f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function BT(e,n){if(1&e&&(y(0,"td",6),N(1,"coverage-bar",12),v()),2&e){const t=_();f(1),g("percentage",t.clazz.coverage)}}function HT(e,n){if(1&e&&(J(0),y(1,"div"),w(2),v(),y(3,"div",7),w(4),v(),X()),2&e){const t=_(2);f(1),Bt("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb),""),f(1),G(" ",t.clazz.coveredBranches," "),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),G(" ",t.clazz.currentHistoricCoverage.cb," ")}}function jT(e,n){if(1&e&&(J(0),w(1),X()),2&e){const t=_(2);f(1),G(" ",t.clazz.coveredBranches," ")}}function $T(e,n){if(1&e&&(y(0,"td",6),C(1,HT,5,6,"ng-container",1),C(2,jT,2,1,"ng-container",1),v()),2&e){const t=_();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function UT(e,n){if(1&e&&(J(0),y(1,"div",8),w(2),v(),y(3,"div",7),w(4),v(),X()),2&e){const t=_(2);f(2),F(t.clazz.totalBranches),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),F(t.clazz.currentHistoricCoverage.tb)}}function zT(e,n){if(1&e&&(J(0),w(1),X()),2&e){const t=_(2);f(1),G(" ",t.clazz.totalBranches," ")}}function GT(e,n){if(1&e&&(y(0,"td",6),C(1,UT,5,3,"ng-container",1),C(2,zT,2,1,"ng-container",1),v()),2&e){const t=_();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function WT(e,n){if(1&e&&N(0,"div",14),2&e){const t=_(2);fn("title",t.translations.history+": "+t.translations.branchCoverage),g("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",Zi(3,lu,null!==t.clazz.currentHistoricCoverage))}}function qT(e,n){if(1&e&&(J(0),y(1,"div"),w(2),v(),y(3,"div",7),w(4),v(),X()),2&e){const t=_(2);f(1),Bt("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq),""),f(1),G(" ",t.clazz.branchCoveragePercentage," "),f(1),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(1),G("",t.clazz.currentHistoricCoverage.bcq,"%")}}function ZT(e,n){if(1&e&&(J(0),w(1),X()),2&e){const t=_(2);f(1),G(" ",t.clazz.branchCoveragePercentage," ")}}function QT(e,n){if(1&e&&(y(0,"td",9),C(1,WT,1,5,"div",13),C(2,qT,5,6,"ng-container",1),C(3,ZT,2,1,"ng-container",1),v()),2&e){const t=_();g("title",t.clazz.branchCoverageRatioText),f(1),g("ngIf",t.clazz.branchCoverageHistory.length>1),f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function YT(e,n){if(1&e&&(y(0,"td",6),N(1,"coverage-bar",12),v()),2&e){const t=_();f(1),g("percentage",t.clazz.branchCoverage)}}function KT(e,n){if(1&e&&(J(0),y(1,"div"),w(2),v(),y(3,"div",7),w(4),v(),X()),2&e){const t=_(2);f(1),Bt("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm),""),f(1),G(" ",t.clazz.coveredMethods," "),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),G(" ",t.clazz.currentHistoricCoverage.cm," ")}}function JT(e,n){if(1&e&&(J(0),w(1),X()),2&e){const t=_(2);f(1),G(" ",t.clazz.coveredMethods," ")}}function XT(e,n){if(1&e&&(y(0,"td",6),C(1,KT,5,6,"ng-container",1),C(2,JT,2,1,"ng-container",1),v()),2&e){const t=_();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function ex(e,n){if(1&e&&(J(0),y(1,"div",8),w(2),v(),y(3,"div",7),w(4),v(),X()),2&e){const t=_(2);f(2),F(t.clazz.totalMethods),f(1),g("title",t.clazz.currentHistoricCoverage.et),f(1),F(t.clazz.currentHistoricCoverage.tm)}}function tx(e,n){if(1&e&&(J(0),w(1),X()),2&e){const t=_(2);f(1),G(" ",t.clazz.totalMethods," ")}}function nx(e,n){if(1&e&&(y(0,"td",6),C(1,ex,5,3,"ng-container",1),C(2,tx,2,1,"ng-container",1),v()),2&e){const t=_();f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function rx(e,n){if(1&e&&N(0,"div",16),2&e){const t=_(2);fn("title",t.translations.history+": "+t.translations.methodCoverage),g("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",Zi(3,lu,null!==t.clazz.currentHistoricCoverage))}}function ox(e,n){if(1&e&&(J(0),y(1,"div"),w(2),v(),y(3,"div",7),w(4),v(),X()),2&e){const t=_(2);f(1),Bt("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq),""),f(1),G(" ",t.clazz.methodCoveragePercentage," "),f(1),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(1),G("",t.clazz.currentHistoricCoverage.mcq,"%")}}function ix(e,n){if(1&e&&(J(0),w(1),X()),2&e){const t=_(2);f(1),G(" ",t.clazz.methodCoveragePercentage," ")}}function sx(e,n){if(1&e&&(y(0,"td",9),C(1,rx,1,5,"div",15),C(2,ox,5,6,"ng-container",1),C(3,ix,2,1,"ng-container",1),v()),2&e){const t=_();g("title",t.clazz.methodCoverageRatioText),f(1),g("ngIf",t.clazz.methodCoverageHistory.length>1),f(1),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(1),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function ax(e,n){if(1&e&&(y(0,"td",6),N(1,"coverage-bar",12),v()),2&e){const t=_();f(1),g("percentage",t.clazz.methodCoverage)}}function lx(e,n){if(1&e&&(y(0,"td",6),w(1),v()),2&e){const t=n.$implicit,r=_();f(1),F(r.clazz.metrics[t.abbreviation])}}class Vo{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(n,t){return n>t?"lightgreen":n0),f(2),G(" ",t.translations.grouping," "),f(1),g("max",t.settings.groupingMaximum)("ngModel",t.settings.grouping),f(2),g("ngIf",t.historicCoverageExecutionTimes.length>0),f(5),F(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(4),G("",t.translations.filter," "),f(1),g("ngModel",t.settings.filter),f(5),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngForOf",t.settings.visibleMetrics),f(4),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.settings.visibleMetrics.length>0),f(4),g("ngClass",Oe(47,ct,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(1),F(t.translations.name),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.settings.showLineCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(1),g("ngForOf",t.settings.visibleMetrics),f(2),g("ngForOf",t.codeElements)}}class Bo{constructor(n){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new zA,this.window=n.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations;let n=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),n=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let r=0,o=this.window.assemblies;for(let i=0;i-1&&(this.queryString=window.location.href.substring(t)),this.updateCoverageInfo(),n&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let n=new av;null!==window.history.state&&(n=JSON.parse(JSON.stringify(this.window.history.state))),n.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(n,"")}}updateCoverageInfo(){let n=(new Date).getTime(),t=this.window.assemblies,r=[],o=0;if(0===this.settings.grouping)for(let a=0;a{for(let r=0;r{for(let o=0;on&&(r[o].collapsed=this.settings.collapseStates[n]),n++,t(r[o].subElements)};t(this.codeElements)}}Bo.\u0275fac=function(n){return new(n||Bo)(M(Dn))},Bo.\u0275cmp=Nt({type:Bo,selectors:[["coverage-info"]],hostBindings:function(n,t){1&n&&k("beforeunload",function(){return t.onBeforeUnload()},0,ol)},decls:1,vars:1,consts:[[4,"ngIf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange",4,"ngIf"],[1,"customizebox"],["href","#",3,"click"],[1,"center"],["type","range","step","1","min","-1",3,"max","ngModel","ngModelChange"],[1,"right"],["type","button",3,"click"],[1,"icon-cog"],["type","text",3,"ngModel","ngModelChange"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],["class","column90",4,"ngIf"],["class","column105",4,"ngIf"],["class","column100",4,"ngIf"],["class","column70",4,"ngIf"],["class","column98",4,"ngIf"],["class","column112",4,"ngIf"],["class","column112",4,"ngFor","ngForOf"],[1,"header"],["class","center","colspan","6",4,"ngIf"],["class","center","colspan","4",4,"ngIf"],["class","center",4,"ngIf"],[1,"icon-down-dir",3,"ngClass"],["class","right",4,"ngIf"],["class","center","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange"],[3,"ngModel","ngModelChange"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly",4,"ngIf"],["value","branchCoverageDecreaseOnly",4,"ngIf"],["value","methodCoverageIncreaseOnly",4,"ngIf"],["value","methodCoverageDecreaseOnly",4,"ngIf"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],["colspan","6",1,"center"],["colspan","4",1,"center"],["colspan","2",1,"center"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics",4,"ngIf"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class","namespace","class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(n,t){1&n&&C(0,sN,73,51,"div",0),2&n&&g("ngIf",t.codeElements.length>0)},dependencies:[wo,xr,jn,ru,iu,Mo,Xc,Oo,ys,Fo,Po,ko,Vo],encapsulation:2});class aN{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}function lN(e,n){if(1&e&&(y(0,"option",15),w(1),v()),2&e){const t=n.$implicit;g("value",t),f(1),F(t)}}function cN(e,n){if(1&e&&(y(0,"span"),w(1),v()),2&e){const t=_(2);f(1),F(t.translations.top)}}function uN(e,n){1&e&&(y(0,"option",22),w(1,"20"),v())}function dN(e,n){1&e&&(y(0,"option",23),w(1,"50"),v())}function fN(e,n){1&e&&(y(0,"option",24),w(1,"100"),v())}function hN(e,n){if(1&e&&(y(0,"option",15),w(1),v()),2&e){const t=_(3);g("value",t.totalNumberOfRiskHotspots),f(1),F(t.translations.all)}}function pN(e,n){if(1&e){const t=Ce();y(0,"select",16),k("ngModelChange",function(o){return Q(t),Y(_(2).settings.numberOfRiskHotspots=o)}),y(1,"option",17),w(2,"10"),v(),C(3,uN,2,0,"option",18),C(4,dN,2,0,"option",19),C(5,fN,2,0,"option",20),C(6,hN,2,2,"option",21),v()}if(2&e){const t=_(2);g("ngModel",t.settings.numberOfRiskHotspots),f(3),g("ngIf",t.totalNumberOfRiskHotspots>10),f(1),g("ngIf",t.totalNumberOfRiskHotspots>20),f(1),g("ngIf",t.totalNumberOfRiskHotspots>50),f(1),g("ngIf",t.totalNumberOfRiskHotspots>100)}}function gN(e,n){1&e&&N(0,"col",25)}const Ss=function(e,n,t){return{"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-down-dir":t}};function mN(e,n){if(1&e){const t=Ce();y(0,"th")(1,"a",12),k("click",function(o){const s=Q(t).index;return Y(_(2).updateSorting(""+s,o))}),N(2,"i",13),w(3),v(),y(4,"a",26),N(5,"i",27),v()()}if(2&e){const t=n.$implicit,r=n.index,o=_(2);f(2),g("ngClass",Oe(3,Ss,o.settings.sortBy===""+r&&"desc"===o.settings.sortOrder,o.settings.sortBy===""+r&&"asc"===o.settings.sortOrder,o.settings.sortBy!==""+r)),f(1),F(t.name),f(1),fn("href",t.explanationUrl,un)}}const _N=function(e,n){return{lightred:e,lightgreen:n}};function vN(e,n){if(1&e&&(y(0,"td",31),w(1),v()),2&e){const t=n.$implicit;g("ngClass",Vl(2,_N,t.exceeded,!t.exceeded)),f(1),F(t.value)}}function yN(e,n){if(1&e&&(y(0,"tr")(1,"td"),w(2),v(),y(3,"td")(4,"a",28),w(5),v()(),y(6,"td",29)(7,"a",28),w(8),v()(),C(9,vN,2,5,"td",30),v()),2&e){const t=n.$implicit,r=_(2);f(2),F(t.assembly),f(2),g("href",t.reportPath+r.queryString,un),f(1),F(t.class),f(1),g("title",t.methodName),f(1),g("href",t.reportPath+r.queryString+"#file"+t.fileIndex+"_line"+t.line,un),f(1),G(" ",t.methodShortName," "),f(1),g("ngForOf",t.metrics)}}function CN(e,n){if(1&e){const t=Ce();y(0,"div")(1,"div",1)(2,"div")(3,"select",2),k("ngModelChange",function(o){return Q(t),Y(_().settings.assembly=o)})("ngModelChange",function(){return Q(t),Y(_().updateRiskHotpots())}),y(4,"option",3),w(5),v(),C(6,lN,2,2,"option",4),v()(),y(7,"div",5),C(8,cN,2,1,"span",0),C(9,pN,7,5,"select",6),v(),N(10,"div",5),y(11,"div",7)(12,"span"),w(13),v(),y(14,"input",8),k("ngModelChange",function(o){return Q(t),Y(_().settings.filter=o)})("ngModelChange",function(){return Q(t),Y(_().updateRiskHotpots())}),v()()(),y(15,"div",9)(16,"table",10)(17,"colgroup"),N(18,"col")(19,"col")(20,"col"),C(21,gN,1,0,"col",11),v(),y(22,"thead")(23,"tr")(24,"th")(25,"a",12),k("click",function(o){return Q(t),Y(_().updateSorting("assembly",o))}),N(26,"i",13),w(27),v()(),y(28,"th")(29,"a",12),k("click",function(o){return Q(t),Y(_().updateSorting("class",o))}),N(30,"i",13),w(31),v()(),y(32,"th")(33,"a",12),k("click",function(o){return Q(t),Y(_().updateSorting("method",o))}),N(34,"i",13),w(35),v()(),C(36,mN,6,7,"th",14),v()(),y(37,"tbody"),C(38,yN,10,7,"tr",14),function mg(e,n){const t=ee();let r;const o=e+22;t.firstCreatePass?(r=function VE(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[o]=r,r.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(o,r.onDestroy)):r=t.data[o];const i=r.factory||(r.factory=Sn(r.type)),s=dt(M);try{const a=di(!1),l=i();return di(a),function Ib(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,E(),o,l),l}finally{dt(s)}}(39,"slice"),v()()()()}if(2&e){const t=_();f(3),g("ngModel",t.settings.assembly),f(2),F(t.translations.assembly),f(1),g("ngForOf",t.assemblies),f(2),g("ngIf",t.totalNumberOfRiskHotspots>10),f(1),g("ngIf",t.totalNumberOfRiskHotspots>10),f(4),G("",t.translations.filter," "),f(1),g("ngModel",t.settings.filter),f(7),g("ngForOf",t.riskHotspotMetrics),f(5),g("ngClass",Oe(20,Ss,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(1),F(t.translations.assembly),f(3),g("ngClass",Oe(24,Ss,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(1),F(t.translations.class),f(3),g("ngClass",Oe(28,Ss,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(1),F(t.translations.method),f(1),g("ngForOf",t.riskHotspotMetrics),f(2),g("ngForOf",function _g(e,n,t,r,o){const i=e+22,s=E(),a=function Kn(e,n){return e[n]}(s,i);return function mo(e,n){return e[1].data[n].pure}(s,i)?hg(s,qe(),n,a.transform,t,r,o,a):a.transform(t,r,o)}(39,16,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}class Ho{constructor(n){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new aN,this.window=n.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const n=window.location.href.indexOf("?");n>-1&&(this.queryString=window.location.href.substring(n)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let n=new av;null!==window.history.state&&(n=JSON.parse(JSON.stringify(this.window.history.state))),n.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(n,"")}}updateRiskHotpots(){const n=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=n.length,0===this.assemblies.length){let i=[];for(let s=0;s0)},dependencies:[wo,xr,jn,ru,iu,Mo,Oo,ys,Fo,Pm],encapsulation:2});class Or{}Or.\u0275fac=function(n){return new(n||Or)},Or.\u0275mod=an({type:Or,bootstrap:[Ho,Bo]}),Or.\u0275inj=$t({providers:[Dn],imports:[bS,UA]}),wS().bootstrapModule(Or).catch(e=>console.error(e))}},me=>{me(me.s=938)}]);