/*! For license information please see datatables-bootstrap5.js.LICENSE.txt */ !function (A, t) { if ("object" == typeof exports && "object" == typeof module) module.exports = t(require("jQuery")); else if ("function" == typeof define && define.amd) define(["jQuery"], t); else { var e = "object" == typeof exports ? t(require("jQuery")) : t(A.jQuery); for (var n in e) ("object" == typeof exports ? exports : A)[n] = e[n] } }(self, (function (A) { return function () { var t = { 5253: function (A, t, e) { var n, r; n = [e(1145), e(991), e(8336)], void 0 === (r = function (A) { return function (A, t, e, n, r, i) { "use strict"; var o, s, a = A.fn.dataTable; function c() { return o || t.JSZip } function B() { return s || t.pdfMake } a.Buttons.pdfMake = function (A) { if (!A) return B(); s = A }, a.Buttons.jszip = function (A) { if (!A) return c(); o = A }; var g = function (A) { if (!(void 0 === A || "undefined" != typeof navigator && /MSIE [1-9]\./.test(navigator.userAgent))) { var t = A.document, e = function () { return A.URL || A.webkitURL || A }, n = t.createElementNS("http://www.w3.org/1999/xhtml", "a"), r = "download" in n, o = /constructor/i.test(A.HTMLElement) || A.safari, s = /CriOS\/[\d]+/.test(navigator.userAgent), a = function (t) { (A.setImmediate || A.setTimeout)((function () { throw t }), 0) }, c = function (A) { setTimeout((function () { "string" == typeof A ? e().revokeObjectURL(A) : A.remove() }), 4e4) }, B = function (A) { return /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(A.type) ? new Blob([String.fromCharCode(65279), A], {type: A.type}) : A }, g = function (t, g, l) { l || (t = B(t)); var u, h = this, w = "application/octet-stream" === t.type, E = function () { !function (A, t, e) { for (var n = (t = [].concat(t)).length; n--;) { var r = A["on" + t[n]]; if ("function" == typeof r) try { r.call(A, e || A) } catch (A) { a(A) } } }(h, "writestart progress write writeend".split(" ")) }; if (h.readyState = h.INIT, r) return u = e().createObjectURL(t), void setTimeout((function () { var A, t; n.href = u, n.download = g, A = n, t = new MouseEvent("click"), A.dispatchEvent(t), E(), c(u), h.readyState = h.DONE })); !function () { if ((s || w && o) && A.FileReader) { var n = new FileReader; return n.onloadend = function () { var t = s ? n.result : n.result.replace(/^data:[^;]*;/, "data:attachment/file;"); A.open(t, "_blank") || (A.location.href = t), t = i, h.readyState = h.DONE, E() }, n.readAsDataURL(t), void (h.readyState = h.INIT) } u || (u = e().createObjectURL(t)), w ? A.location.href = u : A.open(u, "_blank") || (A.location.href = u), h.readyState = h.DONE, E(), c(u) }() }, l = g.prototype; return "undefined" != typeof navigator && navigator.msSaveOrOpenBlob ? function (A, t, e) { return t = t || A.name || "download", e || (A = B(A)), navigator.msSaveOrOpenBlob(A, t) } : (l.abort = function () { }, l.readyState = l.INIT = 0, l.WRITING = 1, l.DONE = 2, l.error = l.onwritestart = l.onprogress = l.onwrite = l.onabort = l.onerror = l.onwriteend = null, function (A, t, e) { return new g(A, t || A.name || "download", e) }) } }("undefined" != typeof self && self || void 0 !== t && t || this.content); a.fileSave = g; var l = function (A) { var t = "Sheet1"; return A.sheetName && (t = A.sheetName.replace(/[\[\]\*\/\\\?\:]/g, "")), t }, u = function (A) { return A.newline ? A.newline : navigator.userAgent.match(/Windows/) ? "\r\n" : "\n" }, h = function (A, t) { for (var e = u(t), n = A.buttons.exportData(t.exportOptions), r = t.fieldBoundary, o = t.fieldSeparator, s = new RegExp(r, "g"), a = t.escapeChar !== i ? t.escapeChar : "\\", c = function (A) { for (var t = "", e = 0, n = A.length; e < n; e++) e > 0 && (t += o), t += r ? r + ("" + A[e]).replace(s, a + r) + r : A[e]; return t }, B = t.header ? c(n.header) + e : "", g = t.footer && n.footer ? e + c(n.footer) : "", l = [], h = 0, w = n.body.length; h < w; h++) l.push(c(n.body[h])); return {str: B + l.join(e) + g, rows: l.length} }, w = function () { if (-1 === navigator.userAgent.indexOf("Safari") || -1 !== navigator.userAgent.indexOf("Chrome") || -1 !== navigator.userAgent.indexOf("Opera")) return !1; var A = navigator.userAgent.match(/AppleWebKit\/(\d+\.\d+)/); return !!(A && A.length > 1 && 1 * A[1] < 603.1) }; function E(A) { for (var t = "A".charCodeAt(0), e = "Z".charCodeAt(0) - t + 1, n = ""; A >= 0;) n = String.fromCharCode(A % e + t) + n, A = Math.floor(A / e) - 1; return n } try { var f, Q = new XMLSerializer } catch (A) { } function d(e, n) { f === i && (f = -1 === Q.serializeToString((new t.DOMParser).parseFromString(I["xl/worksheets/sheet1.xml"], "text/xml")).indexOf("xmlns:r")), A.each(n, (function (t, n) { if (A.isPlainObject(n)) d(e.folder(t), n); else { if (f) { var r, i, o = n.childNodes[0], s = []; for (r = o.attributes.length - 1; r >= 0; r--) { var a = o.attributes[r].nodeName, c = o.attributes[r].nodeValue; -1 !== a.indexOf(":") && (s.push({name: a, value: c}), o.removeAttribute(a)) } for (r = 0, i = s.length; r < i; r++) { var B = n.createAttribute(s[r].name.replace(":", "_dt_b_namespace_token_")); B.value = s[r].value, o.setAttributeNode(B) } } var g = Q.serializeToString(n); f && (-1 === g.indexOf("' + g), g = (g = g.replace(/_dt_b_namespace_token_/g, ":")).replace(/xmlns:NS[\d]+="" NS[\d]+:/g, "")), g = g.replace(/<([^<>]*?) xmlns=""([^<>]*?)>/g, "<$1 $2>"), e.file(t, g) } })) } function C(t, e, n) { var r = t.createElement(e); return n && (n.attr && A(r).attr(n.attr), n.children && A.each(n.children, (function (A, t) { r.appendChild(t) })), null !== n.text && n.text !== i && r.appendChild(t.createTextNode(n.text))), r } function M(A, t) { var e, n, r, o = A.header[t].length; A.footer && A.footer[t].length > o && (o = A.footer[t].length); for (var s = 0, a = A.body.length; s < a; s++) { var c = A.body[s][t]; if (-1 !== (r = null !== c && c !== i ? c.toString() : "").indexOf("\n") ? ((n = r.split("\n")).sort((function (A, t) { return t.length - A.length })), e = n[0].length) : e = r.length, e > o && (o = e), o > 40) return 54 } return (o *= 1.35) > 6 ? o : 6 } var I = { "_rels/.rels": '', "xl/_rels/workbook.xml.rels": '', "[Content_Types].xml": '', "xl/workbook.xml": '', "xl/worksheets/sheet1.xml": '', "xl/styles.xml": '' }, D = [{ match: /^\-?\d+\.\d%$/, style: 60, fmt: function (A) { return A / 100 } }, { match: /^\-?\d+\.?\d*%$/, style: 56, fmt: function (A) { return A / 100 } }, {match: /^\-?\$[\d,]+.?\d*$/, style: 57}, {match: /^\-?£[\d,]+.?\d*$/, style: 58}, { match: /^\-?€[\d,]+.?\d*$/, style: 59 }, {match: /^\-?\d+$/, style: 65}, {match: /^\-?\d+\.\d{2}$/, style: 66}, { match: /^\([\d,]+\)$/, style: 61, fmt: function (A) { return -1 * A.replace(/[\(\)]/g, "") } }, { match: /^\([\d,]+\.\d{2}\)$/, style: 62, fmt: function (A) { return -1 * A.replace(/[\(\)]/g, "") } }, {match: /^\-?[\d,]+$/, style: 63}, {match: /^\-?[\d,]+\.\d{2}$/, style: 64}, { match: /^[\d]{4}\-[01][\d]\-[0123][\d]$/, style: 67, fmt: function (A) { return Math.round(25569 + Date.parse(A) / 864e5) } }]; return a.ext.buttons.copyHtml5 = { className: "buttons-copy buttons-html5", text: function (A) { return A.i18n("buttons.copy", "Copy") }, action: function (t, n, r, i) { this.processing(!0); var o = this, s = h(n, i), a = n.buttons.exportInfo(i), c = u(i), B = s.str, g = A("
").css({height: 1, width: 1, overflow: "hidden", position: "fixed", top: 0, left: 0}); a.title && (B = a.title + c + c + B), a.messageTop && (B = a.messageTop + c + c + B), a.messageBottom && (B = B + c + c + a.messageBottom), i.customize && (B = i.customize(B, i, n)); var l = A("