ileaf-text-editor
Version:
A React-based rich text editor library with Quill.js, featuring PDF/DOCX export, print support, and extensive customization options
1,162 lines • 1.54 MB
JavaScript
import In, { useState as Nl, useRef as qg, useEffect as Tb, createRef as Ob, forwardRef as Rb } from "react";
var gn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function Dv(r) {
return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
}
var Hu = { exports: {} }, ol = {};
/**
* @license React
* react-jsx-runtime.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var a0;
function kb() {
if (a0) return ol;
a0 = 1;
var r = Symbol.for("react.transitional.element"), e = Symbol.for("react.fragment");
function t(A, n, i) {
var s = null;
if (i !== void 0 && (s = "" + i), n.key !== void 0 && (s = "" + n.key), "key" in n) {
i = {};
for (var a in n)
a !== "key" && (i[a] = n[a]);
} else i = n;
return n = i.ref, {
$$typeof: r,
type: A,
key: s,
ref: n !== void 0 ? n : null,
props: i
};
}
return ol.Fragment = e, ol.jsx = t, ol.jsxs = t, ol;
}
var ll = {};
/**
* @license React
* react-jsx-runtime.development.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var o0;
function Hb() {
return o0 || (o0 = 1, process.env.NODE_ENV !== "production" && function() {
function r(Ae) {
if (Ae == null) return null;
if (typeof Ae == "function")
return Ae.$$typeof === fe ? null : Ae.displayName || Ae.name || null;
if (typeof Ae == "string") return Ae;
switch (Ae) {
case g:
return "Fragment";
case p:
return "Profiler";
case F:
return "StrictMode";
case Q:
return "Suspense";
case K:
return "SuspenseList";
case H:
return "Activity";
}
if (typeof Ae == "object")
switch (typeof Ae.tag == "number" && console.error(
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
), Ae.$$typeof) {
case w:
return "Portal";
case E:
return (Ae.displayName || "Context") + ".Provider";
case v:
return (Ae._context.displayName || "Context") + ".Consumer";
case C:
var oe = Ae.render;
return Ae = Ae.displayName, Ae || (Ae = oe.displayName || oe.name || "", Ae = Ae !== "" ? "ForwardRef(" + Ae + ")" : "ForwardRef"), Ae;
case q:
return oe = Ae.displayName || null, oe !== null ? oe : r(Ae.type) || "Memo";
case j:
oe = Ae._payload, Ae = Ae._init;
try {
return r(Ae(oe));
} catch {
}
}
return null;
}
function e(Ae) {
return "" + Ae;
}
function t(Ae) {
try {
e(Ae);
var oe = !1;
} catch {
oe = !0;
}
if (oe) {
oe = console;
var U = oe.error, M = typeof Symbol == "function" && Symbol.toStringTag && Ae[Symbol.toStringTag] || Ae.constructor.name || "Object";
return U.call(
oe,
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
M
), e(Ae);
}
}
function A(Ae) {
if (Ae === g) return "<>";
if (typeof Ae == "object" && Ae !== null && Ae.$$typeof === j)
return "<...>";
try {
var oe = r(Ae);
return oe ? "<" + oe + ">" : "<...>";
} catch {
return "<...>";
}
}
function n() {
var Ae = R.A;
return Ae === null ? null : Ae.getOwner();
}
function i() {
return Error("react-stack-top-frame");
}
function s(Ae) {
if (_.call(Ae, "key")) {
var oe = Object.getOwnPropertyDescriptor(Ae, "key").get;
if (oe && oe.isReactWarning) return !1;
}
return Ae.key !== void 0;
}
function a(Ae, oe) {
function U() {
W || (W = !0, console.error(
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
oe
));
}
U.isReactWarning = !0, Object.defineProperty(Ae, "key", {
get: U,
configurable: !0
});
}
function o() {
var Ae = r(this.type);
return ee[Ae] || (ee[Ae] = !0, console.error(
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
)), Ae = this.props.ref, Ae !== void 0 ? Ae : null;
}
function l(Ae, oe, U, M, V, J, X, N) {
return U = J.ref, Ae = {
$$typeof: c,
type: Ae,
key: oe,
props: J,
_owner: V
}, (U !== void 0 ? U : null) !== null ? Object.defineProperty(Ae, "ref", {
enumerable: !1,
get: o
}) : Object.defineProperty(Ae, "ref", { enumerable: !1, value: null }), Ae._store = {}, Object.defineProperty(Ae._store, "validated", {
configurable: !1,
enumerable: !1,
writable: !0,
value: 0
}), Object.defineProperty(Ae, "_debugInfo", {
configurable: !1,
enumerable: !1,
writable: !0,
value: null
}), Object.defineProperty(Ae, "_debugStack", {
configurable: !1,
enumerable: !1,
writable: !0,
value: X
}), Object.defineProperty(Ae, "_debugTask", {
configurable: !1,
enumerable: !1,
writable: !0,
value: N
}), Object.freeze && (Object.freeze(Ae.props), Object.freeze(Ae)), Ae;
}
function f(Ae, oe, U, M, V, J, X, N) {
var L = oe.children;
if (L !== void 0)
if (M)
if (T(L)) {
for (M = 0; M < L.length; M++)
h(L[M]);
Object.freeze && Object.freeze(L);
} else
console.error(
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
);
else h(L);
if (_.call(oe, "key")) {
L = r(Ae);
var $ = Object.keys(oe).filter(function(G) {
return G !== "key";
});
M = 0 < $.length ? "{key: someKey, " + $.join(": ..., ") + ": ...}" : "{key: someKey}", le[L + M] || ($ = 0 < $.length ? "{" + $.join(": ..., ") + ": ...}" : "{}", console.error(
`A props object containing a "key" prop is being spread into JSX:
let props = %s;
<%s {...props} />
React keys must be passed directly to JSX without using spread:
let props = %s;
<%s key={someKey} {...props} />`,
M,
L,
$,
L
), le[L + M] = !0);
}
if (L = null, U !== void 0 && (t(U), L = "" + U), s(oe) && (t(oe.key), L = "" + oe.key), "key" in oe) {
U = {};
for (var re in oe)
re !== "key" && (U[re] = oe[re]);
} else U = oe;
return L && a(
U,
typeof Ae == "function" ? Ae.displayName || Ae.name || "Unknown" : Ae
), l(
Ae,
L,
J,
V,
n(),
U,
X,
N
);
}
function h(Ae) {
typeof Ae == "object" && Ae !== null && Ae.$$typeof === c && Ae._store && (Ae._store.validated = 1);
}
var d = In, c = Symbol.for("react.transitional.element"), w = Symbol.for("react.portal"), g = Symbol.for("react.fragment"), F = Symbol.for("react.strict_mode"), p = Symbol.for("react.profiler"), v = Symbol.for("react.consumer"), E = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), Q = Symbol.for("react.suspense"), K = Symbol.for("react.suspense_list"), q = Symbol.for("react.memo"), j = Symbol.for("react.lazy"), H = Symbol.for("react.activity"), fe = Symbol.for("react.client.reference"), R = d.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, _ = Object.prototype.hasOwnProperty, T = Array.isArray, y = console.createTask ? console.createTask : function() {
return null;
};
d = {
"react-stack-bottom-frame": function(Ae) {
return Ae();
}
};
var W, ee = {}, z = d["react-stack-bottom-frame"].bind(
d,
i
)(), ae = y(A(i)), le = {};
ll.Fragment = g, ll.jsx = function(Ae, oe, U, M, V) {
var J = 1e4 > R.recentlyCreatedOwnerStacks++;
return f(
Ae,
oe,
U,
!1,
M,
V,
J ? Error("react-stack-top-frame") : z,
J ? y(A(Ae)) : ae
);
}, ll.jsxs = function(Ae, oe, U, M, V) {
var J = 1e4 > R.recentlyCreatedOwnerStacks++;
return f(
Ae,
oe,
U,
!0,
M,
V,
J ? Error("react-stack-top-frame") : z,
J ? y(A(Ae)) : ae
);
};
}()), ll;
}
var l0;
function Db() {
return l0 || (l0 = 1, process.env.NODE_ENV === "production" ? Hu.exports = kb() : Hu.exports = Hb()), Hu.exports;
}
var ft = Db();
function Kt(r) {
"@babel/helpers - typeof";
return Kt = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
}, Kt(r);
}
var fA = Uint8Array, YA = Uint16Array, jg = Int32Array, uf = new fA([
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
2,
2,
2,
2,
3,
3,
3,
3,
4,
4,
4,
4,
5,
5,
5,
5,
0,
/* unused */
0,
0,
/* impossible */
0
]), cf = new fA([
0,
0,
0,
0,
1,
1,
2,
2,
3,
3,
4,
4,
5,
5,
6,
6,
7,
7,
8,
8,
9,
9,
10,
10,
11,
11,
12,
12,
13,
13,
/* unused */
0,
0
]), Pp = new fA([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), Pv = function(r, e) {
for (var t = new YA(31), A = 0; A < 31; ++A)
t[A] = e += 1 << r[A - 1];
for (var n = new jg(t[30]), A = 1; A < 30; ++A)
for (var i = t[A]; i < t[A + 1]; ++i)
n[i] = i - t[A] << 5 | A;
return { b: t, r: n };
}, Mv = Pv(uf, 2), Kv = Mv.b, Mp = Mv.r;
Kv[28] = 258, Mp[258] = 28;
var qv = Pv(cf, 0), Pb = qv.b, u0 = qv.r, Kp = new YA(32768);
for (var ar = 0; ar < 32768; ++ar) {
var ys = (ar & 43690) >> 1 | (ar & 21845) << 1;
ys = (ys & 52428) >> 2 | (ys & 13107) << 2, ys = (ys & 61680) >> 4 | (ys & 3855) << 4, Kp[ar] = ((ys & 65280) >> 8 | (ys & 255) << 8) >> 1;
}
var gi = function(r, e, t) {
for (var A = r.length, n = 0, i = new YA(e); n < A; ++n)
r[n] && ++i[r[n] - 1];
var s = new YA(e);
for (n = 1; n < e; ++n)
s[n] = s[n - 1] + i[n - 1] << 1;
var a;
if (t) {
a = new YA(1 << e);
var o = 15 - e;
for (n = 0; n < A; ++n)
if (r[n])
for (var l = n << 4 | r[n], f = e - r[n], h = s[r[n] - 1]++ << f, d = h | (1 << f) - 1; h <= d; ++h)
a[Kp[h] >> o] = l;
} else
for (a = new YA(A), n = 0; n < A; ++n)
r[n] && (a[n] = Kp[s[r[n] - 1]++] >> 15 - r[n]);
return a;
}, Ds = new fA(288);
for (var ar = 0; ar < 144; ++ar)
Ds[ar] = 8;
for (var ar = 144; ar < 256; ++ar)
Ds[ar] = 9;
for (var ar = 256; ar < 280; ++ar)
Ds[ar] = 7;
for (var ar = 280; ar < 288; ++ar)
Ds[ar] = 8;
var ql = new fA(32);
for (var ar = 0; ar < 32; ++ar)
ql[ar] = 5;
var Mb = /* @__PURE__ */ gi(Ds, 9, 0), Kb = /* @__PURE__ */ gi(Ds, 9, 1), qb = /* @__PURE__ */ gi(ql, 5, 0), jb = /* @__PURE__ */ gi(ql, 5, 1), sh = function(r) {
for (var e = r[0], t = 1; t < r.length; ++t)
r[t] > e && (e = r[t]);
return e;
}, _n = function(r, e, t) {
var A = e / 8 | 0;
return (r[A] | r[A + 1] << 8) >> (e & 7) & t;
}, ah = function(r, e) {
var t = e / 8 | 0;
return (r[t] | r[t + 1] << 8 | r[t + 2] << 16) >> (e & 7);
}, Gg = function(r) {
return (r + 7) / 8 | 0;
}, jv = function(r, e, t) {
return (t == null || t > r.length) && (t = r.length), new fA(r.subarray(e, t));
}, Gb = [
"unexpected EOF",
"invalid block type",
"invalid length/literal",
"invalid distance",
"stream finished",
"no stream handler",
,
"no callback",
"invalid UTF-8 data",
"extra field too long",
"date not in range 1980-2099",
"filename too long",
"stream finishing",
"invalid zip data"
// determined by unknown compression method
], Tn = function(r, e, t) {
var A = new Error(e || Gb[r]);
if (A.code = r, Error.captureStackTrace && Error.captureStackTrace(A, Tn), !t)
throw A;
return A;
}, Vb = function(r, e, t, A) {
var n = r.length, i = 0;
if (!n || e.f && !e.l)
return t || new fA(0);
var s = !t, a = s || e.i != 2, o = e.i;
s && (t = new fA(n * 3));
var l = function(G) {
var Y = t.length;
if (G > Y) {
var we = new fA(Math.max(Y * 2, G));
we.set(t), t = we;
}
}, f = e.f || 0, h = e.p || 0, d = e.b || 0, c = e.l, w = e.d, g = e.m, F = e.n, p = n * 8;
do {
if (!c) {
f = _n(r, h, 1);
var v = _n(r, h + 1, 3);
if (h += 3, v)
if (v == 1)
c = Kb, w = jb, g = 9, F = 5;
else if (v == 2) {
var K = _n(r, h, 31) + 257, q = _n(r, h + 10, 15) + 4, j = K + _n(r, h + 5, 31) + 1;
h += 14;
for (var H = new fA(j), fe = new fA(19), R = 0; R < q; ++R)
fe[Pp[R]] = _n(r, h + R * 3, 7);
h += q * 3;
for (var _ = sh(fe), T = (1 << _) - 1, y = gi(fe, _, 1), R = 0; R < j; ) {
var W = y[_n(r, h, T)];
h += W & 15;
var E = W >> 4;
if (E < 16)
H[R++] = E;
else {
var ee = 0, z = 0;
for (E == 16 ? (z = 3 + _n(r, h, 3), h += 2, ee = H[R - 1]) : E == 17 ? (z = 3 + _n(r, h, 7), h += 3) : E == 18 && (z = 11 + _n(r, h, 127), h += 7); z--; )
H[R++] = ee;
}
}
var ae = H.subarray(0, K), le = H.subarray(K);
g = sh(ae), F = sh(le), c = gi(ae, g, 1), w = gi(le, F, 1);
} else
Tn(1);
else {
var E = Gg(h) + 4, C = r[E - 4] | r[E - 3] << 8, Q = E + C;
if (Q > n) {
o && Tn(0);
break;
}
a && l(d + C), t.set(r.subarray(E, Q), d), e.b = d += C, e.p = h = Q * 8, e.f = f;
continue;
}
if (h > p) {
o && Tn(0);
break;
}
}
a && l(d + 131072);
for (var Ae = (1 << g) - 1, oe = (1 << F) - 1, U = h; ; U = h) {
var ee = c[ah(r, h) & Ae], M = ee >> 4;
if (h += ee & 15, h > p) {
o && Tn(0);
break;
}
if (ee || Tn(2), M < 256)
t[d++] = M;
else if (M == 256) {
U = h, c = null;
break;
} else {
var V = M - 254;
if (M > 264) {
var R = M - 257, J = uf[R];
V = _n(r, h, (1 << J) - 1) + Kv[R], h += J;
}
var X = w[ah(r, h) & oe], N = X >> 4;
X || Tn(3), h += X & 15;
var le = Pb[N];
if (N > 3) {
var J = cf[N];
le += ah(r, h) & (1 << J) - 1, h += J;
}
if (h > p) {
o && Tn(0);
break;
}
a && l(d + 131072);
var L = d + V;
if (d < le) {
var $ = i - le, re = Math.min(le, L);
for ($ + d < 0 && Tn(3); d < re; ++d)
t[d] = A[$ + d];
}
for (; d < L; ++d)
t[d] = t[d - le];
}
}
e.l = c, e.p = U, e.b = d, e.f = f, c && (f = 1, e.m = g, e.d = w, e.n = F);
} while (!f);
return d != t.length && s ? jv(t, 0, d) : t.subarray(0, d);
}, Pi = function(r, e, t) {
t <<= e & 7;
var A = e / 8 | 0;
r[A] |= t, r[A + 1] |= t >> 8;
}, ul = function(r, e, t) {
t <<= e & 7;
var A = e / 8 | 0;
r[A] |= t, r[A + 1] |= t >> 8, r[A + 2] |= t >> 16;
}, oh = function(r, e) {
for (var t = [], A = 0; A < r.length; ++A)
r[A] && t.push({ s: A, f: r[A] });
var n = t.length, i = t.slice();
if (!n)
return { t: Vv, l: 0 };
if (n == 1) {
var s = new fA(t[0].s + 1);
return s[t[0].s] = 1, { t: s, l: 1 };
}
t.sort(function(Q, K) {
return Q.f - K.f;
}), t.push({ s: -1, f: 25001 });
var a = t[0], o = t[1], l = 0, f = 1, h = 2;
for (t[0] = { s: -1, f: a.f + o.f, l: a, r: o }; f != n - 1; )
a = t[t[l].f < t[h].f ? l++ : h++], o = t[l != f && t[l].f < t[h].f ? l++ : h++], t[f++] = { s: -1, f: a.f + o.f, l: a, r: o };
for (var d = i[0].s, A = 1; A < n; ++A)
i[A].s > d && (d = i[A].s);
var c = new YA(d + 1), w = qp(t[f - 1], c, 0);
if (w > e) {
var A = 0, g = 0, F = w - e, p = 1 << F;
for (i.sort(function(K, q) {
return c[q.s] - c[K.s] || K.f - q.f;
}); A < n; ++A) {
var v = i[A].s;
if (c[v] > e)
g += p - (1 << w - c[v]), c[v] = e;
else
break;
}
for (g >>= F; g > 0; ) {
var E = i[A].s;
c[E] < e ? g -= 1 << e - c[E]++ - 1 : ++A;
}
for (; A >= 0 && g; --A) {
var C = i[A].s;
c[C] == e && (--c[C], ++g);
}
w = e;
}
return { t: new fA(c), l: w };
}, qp = function(r, e, t) {
return r.s == -1 ? Math.max(qp(r.l, e, t + 1), qp(r.r, e, t + 1)) : e[r.s] = t;
}, c0 = function(r) {
for (var e = r.length; e && !r[--e]; )
;
for (var t = new YA(++e), A = 0, n = r[0], i = 1, s = function(o) {
t[A++] = o;
}, a = 1; a <= e; ++a)
if (r[a] == n && a != e)
++i;
else {
if (!n && i > 2) {
for (; i > 138; i -= 138)
s(32754);
i > 2 && (s(i > 10 ? i - 11 << 5 | 28690 : i - 3 << 5 | 12305), i = 0);
} else if (i > 3) {
for (s(n), --i; i > 6; i -= 6)
s(8304);
i > 2 && (s(i - 3 << 5 | 8208), i = 0);
}
for (; i--; )
s(n);
i = 1, n = r[a];
}
return { c: t.subarray(0, A), n: e };
}, cl = function(r, e) {
for (var t = 0, A = 0; A < e.length; ++A)
t += r[A] * e[A];
return t;
}, Gv = function(r, e, t) {
var A = t.length, n = Gg(e + 2);
r[n] = A & 255, r[n + 1] = A >> 8, r[n + 2] = r[n] ^ 255, r[n + 3] = r[n + 1] ^ 255;
for (var i = 0; i < A; ++i)
r[n + i + 4] = t[i];
return (n + 4 + A) * 8;
}, f0 = function(r, e, t, A, n, i, s, a, o, l, f) {
Pi(e, f++, t), ++n[256];
for (var h = oh(n, 15), d = h.t, c = h.l, w = oh(i, 15), g = w.t, F = w.l, p = c0(d), v = p.c, E = p.n, C = c0(g), Q = C.c, K = C.n, q = new YA(19), j = 0; j < v.length; ++j)
++q[v[j] & 31];
for (var j = 0; j < Q.length; ++j)
++q[Q[j] & 31];
for (var H = oh(q, 7), fe = H.t, R = H.l, _ = 19; _ > 4 && !fe[Pp[_ - 1]]; --_)
;
var T = l + 5 << 3, y = cl(n, Ds) + cl(i, ql) + s, W = cl(n, d) + cl(i, g) + s + 14 + 3 * _ + cl(q, fe) + 2 * q[16] + 3 * q[17] + 7 * q[18];
if (o >= 0 && T <= y && T <= W)
return Gv(e, f, r.subarray(o, o + l));
var ee, z, ae, le;
if (Pi(e, f, 1 + (W < y)), f += 2, W < y) {
ee = gi(d, c, 0), z = d, ae = gi(g, F, 0), le = g;
var Ae = gi(fe, R, 0);
Pi(e, f, E - 257), Pi(e, f + 5, K - 1), Pi(e, f + 10, _ - 4), f += 14;
for (var j = 0; j < _; ++j)
Pi(e, f + 3 * j, fe[Pp[j]]);
f += 3 * _;
for (var oe = [v, Q], U = 0; U < 2; ++U)
for (var M = oe[U], j = 0; j < M.length; ++j) {
var V = M[j] & 31;
Pi(e, f, Ae[V]), f += fe[V], V > 15 && (Pi(e, f, M[j] >> 5 & 127), f += M[j] >> 12);
}
} else
ee = Mb, z = Ds, ae = qb, le = ql;
for (var j = 0; j < a; ++j) {
var J = A[j];
if (J > 255) {
var V = J >> 18 & 31;
ul(e, f, ee[V + 257]), f += z[V + 257], V > 7 && (Pi(e, f, J >> 23 & 31), f += uf[V]);
var X = J & 31;
ul(e, f, ae[X]), f += le[X], X > 3 && (ul(e, f, J >> 5 & 8191), f += cf[X]);
} else
ul(e, f, ee[J]), f += z[J];
}
return ul(e, f, ee[256]), f + z[256];
}, zb = /* @__PURE__ */ new jg([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), Vv = /* @__PURE__ */ new fA(0), Wb = function(r, e, t, A, n, i) {
var s = i.z || r.length, a = new fA(A + s + 5 * (1 + Math.ceil(s / 7e3)) + n), o = a.subarray(A, a.length - n), l = i.l, f = (i.r || 0) & 7;
if (e) {
f && (o[0] = i.r >> 3);
for (var h = zb[e - 1], d = h >> 13, c = h & 8191, w = (1 << t) - 1, g = i.p || new YA(32768), F = i.h || new YA(w + 1), p = Math.ceil(t / 3), v = 2 * p, E = function(k) {
return (r[k] ^ r[k + 1] << p ^ r[k + 2] << v) & w;
}, C = new jg(25e3), Q = new YA(288), K = new YA(32), q = 0, j = 0, H = i.i || 0, fe = 0, R = i.w || 0, _ = 0; H + 2 < s; ++H) {
var T = E(H), y = H & 32767, W = F[T];
if (g[y] = W, F[T] = y, R <= H) {
var ee = s - H;
if ((q > 7e3 || fe > 24576) && (ee > 423 || !l)) {
f = f0(r, o, 0, C, Q, K, j, fe, _, H - _, f), fe = q = j = 0, _ = H;
for (var z = 0; z < 286; ++z)
Q[z] = 0;
for (var z = 0; z < 30; ++z)
K[z] = 0;
}
var ae = 2, le = 0, Ae = c, oe = y - W & 32767;
if (ee > 2 && T == E(H - oe))
for (var U = Math.min(d, ee) - 1, M = Math.min(32767, H), V = Math.min(258, ee); oe <= M && --Ae && y != W; ) {
if (r[H + ae] == r[H + ae - oe]) {
for (var J = 0; J < V && r[H + J] == r[H + J - oe]; ++J)
;
if (J > ae) {
if (ae = J, le = oe, J > U)
break;
for (var X = Math.min(oe, J - 2), N = 0, z = 0; z < X; ++z) {
var L = H - oe + z & 32767, $ = g[L], re = L - $ & 32767;
re > N && (N = re, W = L);
}
}
}
y = W, W = g[y], oe += y - W & 32767;
}
if (le) {
C[fe++] = 268435456 | Mp[ae] << 18 | u0[le];
var G = Mp[ae] & 31, Y = u0[le] & 31;
j += uf[G] + cf[Y], ++Q[257 + G], ++K[Y], R = H + ae, ++q;
} else
C[fe++] = r[H], ++Q[r[H]];
}
}
for (H = Math.max(H, R); H < s; ++H)
C[fe++] = r[H], ++Q[r[H]];
f = f0(r, o, l, C, Q, K, j, fe, _, H - _, f), l || (i.r = f & 7 | o[f / 8 | 0] << 3, f -= 7, i.h = F, i.p = g, i.i = H, i.w = R);
} else {
for (var H = i.w || 0; H < s + l; H += 65535) {
var we = H + 65535;
we >= s && (o[f / 8 | 0] = l, we = s), f = Gv(o, f + 1, r.subarray(H, we));
}
i.i = s;
}
return jv(a, 0, A + Gg(f) + n);
}, zv = function() {
var r = 1, e = 0;
return {
p: function(t) {
for (var A = r, n = e, i = t.length | 0, s = 0; s != i; ) {
for (var a = Math.min(s + 2655, i); s < a; ++s)
n += A += t[s];
A = (A & 65535) + 15 * (A >> 16), n = (n & 65535) + 15 * (n >> 16);
}
r = A, e = n;
},
d: function() {
return r %= 65521, e %= 65521, (r & 255) << 24 | (r & 65280) << 8 | (e & 255) << 8 | e >> 8;
}
};
}, Xb = function(r, e, t, A, n) {
if (!n && (n = { l: 1 }, e.dictionary)) {
var i = e.dictionary.subarray(-32768), s = new fA(i.length + r.length);
s.set(i), s.set(r, i.length), r = s, n.w = i.length;
}
return Wb(r, e.level == null ? 6 : e.level, e.mem == null ? n.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(r.length))) * 1.5) : 20 : 12 + e.mem, t, A, n);
}, Wv = function(r, e, t) {
for (; t; ++e)
r[e] = t, t >>>= 8;
}, Jb = function(r, e) {
var t = e.level, A = t == 0 ? 0 : t < 6 ? 1 : t == 9 ? 3 : 2;
if (r[0] = 120, r[1] = A << 6 | (e.dictionary && 32), r[1] |= 31 - (r[0] << 8 | r[1]) % 31, e.dictionary) {
var n = zv();
n.p(e.dictionary), Wv(r, 2, n.d());
}
}, Yb = function(r, e) {
return ((r[0] & 15) != 8 || r[0] >> 4 > 7 || (r[0] << 8 | r[1]) % 31) && Tn(6, "invalid zlib data"), (r[1] >> 5 & 1) == 1 && Tn(6, "invalid zlib data: " + (r[1] & 32 ? "need" : "unexpected") + " dictionary"), (r[1] >> 3 & 4) + 2;
};
function jp(r, e) {
e || (e = {});
var t = zv();
t.p(r);
var A = Xb(r, e, e.dictionary ? 6 : 2, 4);
return Jb(A, e), Wv(A, A.length - 4, t.d()), A;
}
function $b(r, e) {
return Vb(r.subarray(Yb(r), -4), { i: 2 }, e, e);
}
var Zb = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), e4 = 0;
try {
Zb.decode(Vv, { stream: !0 }), e4 = 1;
} catch {
}
/** @license
*
* jsPDF - PDF Document creation from JavaScript
* Version 3.0.1 Built on 2025-03-17T14:19:36.873Z
* CommitID 00000000
*
* Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF
* 2015-2021 yWorks GmbH, http://www.yworks.com
* 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX
* 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>
* 2010 Aaron Spike, https://github.com/acspike
* 2012 Willow Systems Corporation, https://github.com/willowsystems
* 2012 Pablo Hess, https://github.com/pablohess
* 2012 Florian Jenett, https://github.com/fjenett
* 2013 Warren Weckesser, https://github.com/warrenweckesser
* 2013 Youssef Beddad, https://github.com/lifof
* 2013 Lee Driscoll, https://github.com/lsdriscoll
* 2013 Stefan Slonevskiy, https://github.com/stefslon
* 2013 Jeremy Morel, https://github.com/jmorel
* 2013 Christoph Hartmann, https://github.com/chris-rock
* 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria
* 2014 James Makes, https://github.com/dollaruw
* 2014 Diego Casorran, https://github.com/diegocr
* 2014 Steven Spungin, https://github.com/Flamenco
* 2014 Kenneth Glassey, https://github.com/Gavvers
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Contributor(s):
* siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,
* kim3er, mfo, alnorth, Flamenco
*/
var gt = /* @__PURE__ */ function() {
return typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : this;
}();
function lh() {
gt.console && typeof gt.console.log == "function" && gt.console.log.apply(gt.console, arguments);
}
var Yt = { log: lh, warn: function(r) {
gt.console && (typeof gt.console.warn == "function" ? gt.console.warn.apply(gt.console, arguments) : lh.call(null, arguments));
}, error: function(r) {
gt.console && (typeof gt.console.error == "function" ? gt.console.error.apply(gt.console, arguments) : lh(r));
} };
function uh(r, e, t) {
var A = new XMLHttpRequest();
A.open("GET", r), A.responseType = "blob", A.onload = function() {
ua(A.response, e, t);
}, A.onerror = function() {
Yt.error("could not download file");
}, A.send();
}
function h0(r) {
var e = new XMLHttpRequest();
e.open("HEAD", r, !1);
try {
e.send();
} catch {
}
return e.status >= 200 && e.status <= 299;
}
function Du(r) {
try {
r.dispatchEvent(new MouseEvent("click"));
} catch {
var e = document.createEvent("MouseEvents");
e.initMouseEvent("click", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), r.dispatchEvent(e);
}
}
var Tl, Gp, ua = gt.saveAs || ((typeof window > "u" ? "undefined" : Kt(window)) !== "object" || window !== gt ? function() {
} : typeof HTMLAnchorElement < "u" && "download" in HTMLAnchorElement.prototype ? function(r, e, t) {
var A = gt.URL || gt.webkitURL, n = document.createElement("a");
e = e || r.name || "download", n.download = e, n.rel = "noopener", typeof r == "string" ? (n.href = r, n.origin !== location.origin ? h0(n.href) ? uh(r, e, t) : Du(n, n.target = "_blank") : Du(n)) : (n.href = A.createObjectURL(r), setTimeout(function() {
A.revokeObjectURL(n.href);
}, 4e4), setTimeout(function() {
Du(n);
}, 0));
} : "msSaveOrOpenBlob" in navigator ? function(r, e, t) {
if (e = e || r.name || "download", typeof r == "string") if (h0(r)) uh(r, e, t);
else {
var A = document.createElement("a");
A.href = r, A.target = "_blank", setTimeout(function() {
Du(A);
});
}
else navigator.msSaveOrOpenBlob(function(n, i) {
return i === void 0 ? i = { autoBom: !1 } : Kt(i) !== "object" && (Yt.warn("Deprecated: Expected third argument to be a object"), i = { autoBom: !i }), i.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(n.type) ? new Blob(["\uFEFF", n], { type: n.type }) : n;
}(r, t), e);
} : function(r, e, t, A) {
if ((A = A || open("", "_blank")) && (A.document.title = A.document.body.innerText = "downloading..."), typeof r == "string") return uh(r, e, t);
var n = r.type === "application/octet-stream", i = /constructor/i.test(gt.HTMLElement) || gt.safari, s = /CriOS\/[\d]+/.test(navigator.userAgent);
if ((s || n && i) && (typeof FileReader > "u" ? "undefined" : Kt(FileReader)) === "object") {
var a = new FileReader();
a.onloadend = function() {
var f = a.result;
f = s ? f : f.replace(/^data:[^;]*;/, "data:attachment/file;"), A ? A.location.href = f : location = f, A = null;
}, a.readAsDataURL(r);
} else {
var o = gt.URL || gt.webkitURL, l = o.createObjectURL(r);
A ? A.location = l : location.href = l, A = null, setTimeout(function() {
o.revokeObjectURL(l);
}, 4e4);
}
});
/**
* A class to parse color values
* @author Stoyan Stefanov <sstoo@gmail.com>
* {@link http://www.phpied.com/rgb-color-parser-in-javascript/}
* @license Use it if you like it
*/
function Xv(r) {
var e;
r = r || "", this.ok = !1, r.charAt(0) == "#" && (r = r.substr(1, 6)), r = { aliceblue: "f0f8ff", antiquewhite: "faebd7", aqua: "00ffff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000000", blanchedalmond: "ffebcd", blue: "0000ff", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "00ffff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkkhaki: "bdb76b", darkmagenta: "8b008b", darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dodgerblue: "1e90ff", feldspar: "d19275", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "ff00ff", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000", greenyellow: "adff2f", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgrey: "d3d3d3", lightgreen: "90ee90", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslateblue: "8470ff", lightslategray: "778899", lightsteelblue: "b0c4de", lightyellow: "ffffe0", lime: "00ff00", limegreen: "32cd32", linen: "faf0e6", magenta: "ff00ff", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370d8", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500", orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "d87093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", red: "ff0000", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", snow: "fffafa", springgreen: "00ff7f", steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", violetred: "d02090", wheat: "f5deb3", white: "ffffff", whitesmoke: "f5f5f5", yellow: "ffff00", yellowgreen: "9acd32" }[r = (r = r.replace(/ /g, "")).toLowerCase()] || r;
for (var t = [{ re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, example: ["rgb(123, 234, 45)", "rgb(255,234,245)"], process: function(a) {
return [parseInt(a[1]), parseInt(a[2]), parseInt(a[3])];
} }, { re: /^(\w{2})(\w{2})(\w{2})$/, example: ["#00ff00", "336699"], process: function(a) {
return [parseInt(a[1], 16), parseInt(a[2], 16), parseInt(a[3], 16)];
} }, { re: /^(\w{1})(\w{1})(\w{1})$/, example: ["#fb0", "f0f"], process: function(a) {
return [parseInt(a[1] + a[1], 16), parseInt(a[2] + a[2], 16), parseInt(a[3] + a[3], 16)];
} }], A = 0; A < t.length; A++) {
var n = t[A].re, i = t[A].process, s = n.exec(r);
s && (e = i(s), this.r = e[0], this.g = e[1], this.b = e[2], this.ok = !0);
}
this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b, this.toRGB = function() {
return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")";
}, this.toHex = function() {
var a = this.r.toString(16), o = this.g.toString(16), l = this.b.toString(16);
return a.length == 1 && (a = "0" + a), o.length == 1 && (o = "0" + o), l.length == 1 && (l = "0" + l), "#" + a + o + l;
};
}
/**
* @license
* Joseph Myers does not specify a particular license for his work.
*
* Author: Joseph Myers
* Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js
*
* Modified by: Owen Leong
*/
function ch(r, e) {
var t = r[0], A = r[1], n = r[2], i = r[3];
t = sA(t, A, n, i, e[0], 7, -680876936), i = sA(i, t, A, n, e[1], 12, -389564586), n = sA(n, i, t, A, e[2], 17, 606105819), A = sA(A, n, i, t, e[3], 22, -1044525330), t = sA(t, A, n, i, e[4], 7, -176418897), i = sA(i, t, A, n, e[5], 12, 1200080426), n = sA(n, i, t, A, e[6], 17, -1473231341), A = sA(A, n, i, t, e[7], 22, -45705983), t = sA(t, A, n, i, e[8], 7, 1770035416), i = sA(i, t, A, n, e[9], 12, -1958414417), n = sA(n, i, t, A, e[10], 17, -42063), A = sA(A, n, i, t, e[11], 22, -1990404162), t = sA(t, A, n, i, e[12], 7, 1804603682), i = sA(i, t, A, n, e[13], 12, -40341101), n = sA(n, i, t, A, e[14], 17, -1502002290), t = aA(t, A = sA(A, n, i, t, e[15], 22, 1236535329), n, i, e[1], 5, -165796510), i = aA(i, t, A, n, e[6], 9, -1069501632), n = aA(n, i, t, A, e[11], 14, 643717713), A = aA(A, n, i, t, e[0], 20, -373897302), t = aA(t, A, n, i, e[5], 5, -701558691), i = aA(i, t, A, n, e[10], 9, 38016083), n = aA(n, i, t, A, e[15], 14, -660478335), A = aA(A, n, i, t, e[4], 20, -405537848), t = aA(t, A, n, i, e[9], 5, 568446438), i = aA(i, t, A, n, e[14], 9, -1019803690), n = aA(n, i, t, A, e[3], 14, -187363961), A = aA(A, n, i, t, e[8], 20, 1163531501), t = aA(t, A, n, i, e[13], 5, -1444681467), i = aA(i, t, A, n, e[2], 9, -51403784), n = aA(n, i, t, A, e[7], 14, 1735328473), t = oA(t, A = aA(A, n, i, t, e[12], 20, -1926607734), n, i, e[5], 4, -378558), i = oA(i, t, A, n, e[8], 11, -2022574463), n = oA(n, i, t, A, e[11], 16, 1839030562), A = oA(A, n, i, t, e[14], 23, -35309556), t = oA(t, A, n, i, e[1], 4, -1530992060), i = oA(i, t, A, n, e[4], 11, 1272893353), n = oA(n, i, t, A, e[7], 16, -155497632), A = oA(A, n, i, t, e[10], 23, -1094730640), t = oA(t, A, n, i, e[13], 4, 681279174), i = oA(i, t, A, n, e[0], 11, -358537222), n = oA(n, i, t, A, e[3], 16, -722521979), A = oA(A, n, i, t, e[6], 23, 76029189), t = oA(t, A, n, i, e[9], 4, -640364487), i = oA(i, t, A, n, e[12], 11, -421815835), n = oA(n, i, t, A, e[15], 16, 530742520), t = lA(t, A = oA(A, n, i, t, e[2], 23, -995338651), n, i, e[0], 6, -198630844), i = lA(i, t, A, n, e[7], 10, 1126891415), n = lA(n, i, t, A, e[14], 15, -1416354905), A = lA(A, n, i, t, e[5], 21, -57434055), t = lA(t, A, n, i, e[12], 6, 1700485571), i = lA(i, t, A, n, e[3], 10, -1894986606), n = lA(n, i, t, A, e[10], 15, -1051523), A = lA(A, n, i, t, e[1], 21, -2054922799), t = lA(t, A, n, i, e[8], 6, 1873313359), i = lA(i, t, A, n, e[15], 10, -30611744), n = lA(n, i, t, A, e[6], 15, -1560198380), A = lA(A, n, i, t, e[13], 21, 1309151649), t = lA(t, A, n, i, e[4], 6, -145523070), i = lA(i, t, A, n, e[11], 10, -1120210379), n = lA(n, i, t, A, e[2], 15, 718787259), A = lA(A, n, i, t, e[9], 21, -343485551), r[0] = Ss(t, r[0]), r[1] = Ss(A, r[1]), r[2] = Ss(n, r[2]), r[3] = Ss(i, r[3]);
}
function ff(r, e, t, A, n, i) {
return e = Ss(Ss(e, r), Ss(A, i)), Ss(e << n | e >>> 32 - n, t);
}
function sA(r, e, t, A, n, i, s) {
return ff(e & t | ~e & A, r, e, n, i, s);
}
function aA(r, e, t, A, n, i, s) {
return ff(e & A | t & ~A, r, e, n, i, s);
}
function oA(r, e, t, A, n, i, s) {
return ff(e ^ t ^ A, r, e, n, i, s);
}
function lA(r, e, t, A, n, i, s) {
return ff(t ^ (e | ~A), r, e, n, i, s);
}
function Jv(r) {
var e, t = r.length, A = [1732584193, -271733879, -1732584194, 271733878];
for (e = 64; e <= r.length; e += 64) ch(A, t4(r.substring(e - 64, e)));
r = r.substring(e - 64);
var n = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for (e = 0; e < r.length; e++) n[e >> 2] |= r.charCodeAt(e) << (e % 4 << 3);
if (n[e >> 2] |= 128 << (e % 4 << 3), e > 55) for (ch(A, n), e = 0; e < 16; e++) n[e] = 0;
return n[14] = 8 * t, ch(A, n), A;
}
function t4(r) {
var e, t = [];
for (e = 0; e < 64; e += 4) t[e >> 2] = r.charCodeAt(e) + (r.charCodeAt(e + 1) << 8) + (r.charCodeAt(e + 2) << 16) + (r.charCodeAt(e + 3) << 24);
return t;
}
Tl = gt.atob.bind(gt), Gp = gt.btoa.bind(gt);
var d0 = "0123456789abcdef".split("");
function r4(r) {
for (var e = "", t = 0; t < 4; t++) e += d0[r >> 8 * t + 4 & 15] + d0[r >> 8 * t & 15];
return e;
}
function A4(r) {
return String.fromCharCode((255 & r) >> 0, (65280 & r) >> 8, (16711680 & r) >> 16, (4278190080 & r) >> 24);
}
function Vp(r) {
return Jv(r).map(A4).join("");
}
var n4 = function(r) {
for (var e = 0; e < r.length; e++) r[e] = r4(r[e]);
return r.join("");
}(Jv("hello")) != "5d41402abc4b2a76b9719d911017c592";
function Ss(r, e) {
if (n4) {
var t = (65535 & r) + (65535 & e);
return (r >> 16) + (e >> 16) + (t >> 16) << 16 | 65535 & t;
}
return r + e & 4294967295;
}
/**
* @license
* FPDF is released under a permissive license: there is no usage restriction.
* You may embed it freely in your application (commercial or not), with or
* without modifications.
*
* Reference: http://www.fpdf.org/en/script/script37.php
*/
function zp(r, e) {
var t, A, n, i;
if (r !== t) {
for (var s = (n = r, i = 1 + (256 / r.length >> 0), new Array(i + 1).join(n)), a = [], o = 0; o < 256; o++) a[o] = o;
var l = 0;
for (o = 0; o < 256; o++) {
var f = a[o];
l = (l + f + s.charCodeAt(o)) % 256, a[o] = a[l], a[l] = f;
}
t = r, A = a;
} else a = A;
var h = e.length, d = 0, c = 0, w = "";
for (o = 0; o < h; o++) c = (c + (f = a[d = (d + 1) % 256])) % 256, a[d] = a[c], a[c] = f, s = a[(a[d] + a[c]) % 256], w += String.fromCharCode(e.charCodeAt(o) ^ s);
return w;
}
/**
* @license
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
* Author: Owen Leong (@owenl131)
* Date: 15 Oct 2020
* References:
* https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt
* https://github.com/foliojs/pdfkit/blob/master/lib/security.js
* http://www.fpdf.org/en/script/script37.php
*/
var p0 = { print: 4, modify: 8, copy: 16, "annot-forms": 32 };
function io(r, e, t, A) {
this.v = 1, this.r = 2;
var n = 192;
r.forEach(function(a) {
if (p0.perm !== void 0) throw new Error("Invalid permission: " + a);
n += p0[a];
}), this.padding = "(¿N^NuAd\0NVÿú\b..\0¶Ðh>/\f©þdSiz";
var i = (e + this.padding).substr(0, 32), s = (t + this.padding).substr(0, 32);
this.O = this.processOwnerPassword(i, s), this.P = -(1 + (255 ^ n)), this.encryptionKey = Vp(i + this.O + this.lsbFirstWord(this.P) + this.hexToBytes(A)).substr(0, 5), this.U = zp(this.encryptionKey, this.padding);
}
function so(r) {
if (/[^\u0000-\u00ff]/.test(r)) throw new Error("Invalid PDF Name Object: " + r + ", Only accept ASCII characters.");
for (var e = "", t = r.length, A = 0; A < t; A++) {
var n = r.charCodeAt(A);
n < 33 || n === 35 || n === 37 || n === 40 || n === 41 || n === 47 || n === 60 || n === 62 || n === 91 || n === 93 || n === 123 || n === 125 || n > 126 ? e += "#" + ("0" + n.toString(16)).slice(-2) : e += r[A];
}
return e;
}
function g0(r) {
if (Kt(r) !== "object") throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");
var e = {};
this.subscribe = function(t, A, n) {
if (n = n || !1, typeof t != "string" || typeof A != "function" || typeof n != "boolean") throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");
e.hasOwnProperty(t) || (e[t] = {});
var i = Math.random().toString(35);
return e[t][i] = [A, !!n], i;
}, this.unsubscribe = function(t) {
for (var A in e) if (e[A][t]) return delete e[A][t], Object.keys(e[A]).length === 0 && delete e[A], !0;
return !1;
}, this.publish = function(t) {
if (e.hasOwnProperty(t)) {
var A = Array.prototype.slice.call(arguments, 1), n = [];
for (var i in e[t]) {
var s = e[t][i];
try {
s[0].apply(r, A);
} catch (a) {
gt.console && Yt.error("jsPDF PubSub Error", a.message, a);
}
s[1] && n.push(i);
}
n.length && n.forEach(this.unsubscribe);
}
}, this.getTopics = function() {
return e;
};
}
function jc(r) {
if (!(this instanceof jc)) return new jc(r);
var e = "opacity,stroke-opacity".split(",");
for (var t in r) r.hasOwnProperty(t) && e.indexOf(t) >= 0 && (this[t] = r[t]);
this.id = "", this.objectNumber = -1;
}
function Yv(r, e) {
this.gState = r, this.matrix = e, this.id = "", this.objectNumber = -1;
}
function ca(r, e, t, A, n) {
if (!(this instanceof ca)) return new ca(r, e, t, A, n);
this.type = r === "axial" ? 2 : 3, this.coords = e, this.colors = t, Yv.call(this, A, n);
}
function go(r, e, t, A, n) {
if (!(this instanceof go)) return new go(r, e, t, A, n);
this.boundingBox = r, this.xStep = e, this.yStep = t, this.stream = "", this.cloneIndex = 0, Yv.call(this, A, n);
}
function pt(r) {
var e, t = typeof arguments[0] == "string" ? arguments[0] : "p", A = arguments[1], n = arguments[2], i = arguments[3], s = [], a = 1, o = 16, l = "S", f = null;
Kt(r = r || {}) === "object" && (t = r.orientation, A = r.unit || A, n = r.format || n, i = r.compress || r.compressPdf || i, (f = r.encryption || null) !== null && (f.userPassword = f.userPassword || "", f.ownerPassword = f.ownerPassword || "", f.userPermissions = f.userPermissions || []), a = typeof r.userUnit == "number" ? Math.abs(r.userUnit) : 1, r.precision !== void 0 && (e = r.precision), r.floatPrecision !== void 0 && (o = r.floatPrecision), l = r.defaultPathOperation || "S"), s = r.filters || (i === !0 ? ["FlateEncode"] : s), A = A || "mm", t = ("" + (t || "P")).toLowerCase();
var h = r.putOnlyUsedFonts || !1, d = {}, c = { internal: {}, __private__: {} };
c.__private__.PubSub = g0;
var w = "1.3", g = c.__private__.getPdfVersion = function() {
return w;
};
c.__private__.setPdfVersion = function(x) {
w = x;
};
var F = { a0: [2383.94, 3370.39], a1: [1683.78, 2383.94], a2: [1190.55, 1683.78], a3: [841.89, 1190.55], a4: [595.28, 841.89], a5: [419.53, 595.28], a6: [297.64, 419.53], a7: [209.76, 297.64], a8: [147.4, 209.76], a9: [104.88, 147.4], a10: [73.7, 104.88], b0: [2834.65, 4008.19], b1: [2004.09, 2834.65], b2: [1417.32, 2004.09], b3: [1000.63, 1417.32], b4: [708.66, 1000.63], b5: [498.9, 708.66], b6: [354.33, 498.9], b7: [249.45, 354.33], b8: [175.75, 249.45], b9: [124.72, 175.75], b10: [87.87, 124.72], c0: [2599.37, 3676.54], c1: [1836.85, 2599.37], c2: [1298.27, 1836.85], c3: [918.43, 1298.27], c4: [649.13, 918.43], c5: [459.21, 649.13], c6: [323.15, 459.21], c7: [229.61, 323.15], c8: [161.57, 229.61], c9: [113.39, 161.57], c10: [79.37, 113.39], dl: [311.81, 623.62], letter: [612, 792], "government-letter": [576, 756], legal: [612, 1008], "junior-legal": [576, 360], ledger: [1224, 792], tabloid: [792, 1224], "credit-card": [153, 243] };
c.__private__.getPageFormats = function() {
return F;
};
var p = c.__private__.getPageFormat = function(x) {
return F[x];
};
n = n || "a4";
var v = { COMPAT: "compat", ADVANCED: "advanced" }, E = v.COMPAT;
function C() {
this.saveGraphicsState(), S(new it(Ve, 0, 0, -Ve, 0, ls() * Ve).toString() + " cm"), this.setFontSize(this.getFontSize() / Ve), l = "n", E = v.ADVANCED;
}
function Q() {
this.restoreGraphicsState(), l = "S", E = v.COMPAT;
}
var K = c.__private__.combineFontStyleAndFontWeight = function(x, te) {
if (x == "bold" && te == "normal" || x == "bold" && te == 400 || x == "normal" && te == "italic" || x == "bold" && te == "italic") throw new Error("Invalid Combination of fontweight and fontstyle");
return te && (x = te == 400 || te === "normal" ? x === "italic" ? "italic" : "normal" : te != 700 && te !== "bold" || x !== "normal" ? (te == 700 ? "bold" : te) + "" + x : "bold"), x;
};
c.advancedAPI = function(x) {
var te = E === v.COMPAT;
return te && C.call(this), typeof x != "function" || (x(this), te && Q.call(this)), this;
}, c.compatAPI = function(x) {
var te = E === v.ADVANCED;
return te && Q.call(this), typeof x != "function" || (x(this), te && C.call(this)), this;
}, c.isAdvancedAPI = function() {
return E === v.ADVANCED;
};
var q, j = function(x) {
if (E !== v.ADVANCED) throw new Error(x + " is only available in 'advanced' API mode. You need to call advancedAPI() first.");
}, H = c.roundToPrecision = c.__private__.roundToPrecision = function(x, te) {
var ve = e || te;
if (isNaN(x) || isNaN(ve)) throw new Error("Invalid argument passed to jsPDF.roundToPrecision");
return x.toFixed(ve).replace(/0+$/, "");
};
q = c.hpf = c.__private__.hpf = typeof o == "number" ? function(x) {
if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.hpf");
return H(x, o);
} : o === "smart" ? function(x) {
if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.hpf");
return H(x, x > -1 && x < 1 ? 16 : 5);
} : function(x) {
if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.hpf");
return H(x, 16);
};
var fe = c.f2 = c.__private__.f2 = function(x) {
if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.f2");
return H(x, 2);
}, R = c.__private__.f3 = function(x) {
if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.f3");
return H(x, 3);
}, _ = c.scale = c.__private__.scale = function(x) {
if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.scale");
return E === v.COMPAT ? x * Ve : E === v.ADVANCED ? x : void 0;
}, T = function(x) {
return E === v.COMPAT ? ls() - x : E === v.ADVANCED ? x : void 0;
}, y = function(x) {
return _(T(x));
};
c.__private__.setPrecision = c.setPrecision = function(x) {
typeof parseInt(x, 10) == "number" && (e = parseInt(x, 10));
};
var W, ee = "00000000000000000000000000000000", z = c.__private__.getFileId = function() {
return ee;
}, ae = c.__private__.setFileId = function(x) {
return ee = x !== void 0 && /^[a-fA-F0-9]{32}$/.test(x) ? x.toUpperCase() : ee.split("").map(function() {
return "ABCDEF0123456789".charAt(Math.floor(16 * Math.random()));
}).join(""), f !== null && (br = new io(f.userPermissions, f.userPassword, f.ownerPassword, ee)), ee;
};
c.setFileId = function(x) {
return ae(x), this;
}, c.getFileId = function() {
return z();
};
var le = c.__private__.convertDateToPDFDate = function(x) {
var te = x.getTimezoneOffset(), ve = te < 0 ? "+" : "-", ye = Math.floor(Math.abs(te / 60)), _e = Math.abs(te % 60), Te = [ve, V(ye), "'", V(_e), "'"].join("");
return ["D:", x.getFullYear(), V(x.getMonth() + 1), V(x.getDate()), V(x.getHours()), V(x.getMinutes()), V(x.getSeconds()), Te].join("");
}, Ae = c.__private__.convertPDFDateToDate = function(x) {
var te = parseInt(x.substr(2, 4), 10), ve = parseInt(x.subst