@ubuilder/tinyeditor
Version:
UBuilder Editor component based on TinyMCE 6
1,429 lines (1,428 loc) • 1.82 MB
JavaScript
import { watch as f5, defineComponent as JZ, toRefs as oG, ref as QZ, nextTick as ZZ, onMounted as sG, onBeforeUnmount as rG, onActivated as aG, onDeactivated as cG, h as jZ, computed as GZ, openBlock as iG, createBlock as lG, unref as uG } from "vue";
function dG(Ft) {
return Ft && Ft.__esModule && Object.prototype.hasOwnProperty.call(Ft, "default") ? Ft.default : Ft;
}
var ej = { exports: {} };
(function(Ft) {
(function() {
var jn = function(e) {
if (e === null)
return "null";
if (e === void 0)
return "undefined";
var n = typeof e;
return n === "object" && (Array.prototype.isPrototypeOf(e) || e.constructor && e.constructor.name === "Array") ? "array" : n === "object" && (String.prototype.isPrototypeOf(e) || e.constructor && e.constructor.name === "String") ? "string" : n;
}, Hn = function(e) {
return [
"undefined",
"boolean",
"number",
"string",
"function",
"xml",
"null"
].indexOf(e) !== -1;
}, gn = function(e, n) {
var o = Array.prototype.slice.call(e);
return o.sort(n);
}, qn = function(e, n) {
return Un(function(o, r) {
return e.eq(n(o), n(r));
});
}, Un = function(e) {
return { eq: e };
}, so = Un(function(e, n) {
return e === n;
}), nn = so, on = function(e) {
return Un(function(n, o) {
if (n.length !== o.length)
return !1;
for (var r = n.length, c = 0; c < r; c++)
if (!e.eq(n[c], o[c]))
return !1;
return !0;
});
}, no = function(e, n) {
return qn(on(e), function(o) {
return gn(o, n);
});
}, Dn = function(e) {
return Un(function(n, o) {
var r = Object.keys(n), c = Object.keys(o);
if (!no(nn).eq(r, c))
return !1;
for (var u = r.length, f = 0; f < u; f++) {
var b = r[f];
if (!e.eq(n[b], o[b]))
return !1;
}
return !0;
});
}, fo = Un(function(e, n) {
if (e === n)
return !0;
var o = jn(e), r = jn(n);
return o !== r ? !1 : Hn(o) ? e === n : o === "array" ? on(fo).eq(e, n) : o === "object" ? Dn(fo).eq(e, n) : !1;
});
const Ut = Object.getPrototypeOf, Wt = (e, n, o) => {
var r;
return o(e, n.prototype) ? !0 : ((r = e.constructor) === null || r === void 0 ? void 0 : r.name) === n.name;
}, _n = (e) => {
const n = typeof e;
return e === null ? "null" : n === "object" && Array.isArray(e) ? "array" : n === "object" && Wt(e, String, (o, r) => r.isPrototypeOf(o)) ? "string" : n;
}, Pn = (e) => (n) => _n(n) === e, ot = (e) => (n) => typeof n === e, Mn = (e) => (n) => e === n, ut = (e, n) => at(e) && Wt(e, n, (o, r) => Ut(o) === r), q = Pn("string"), at = Pn("object"), Vt = (e) => ut(e, Object), pt = Pn("array"), j = Mn(null), vt = ot("boolean"), hn = Mn(void 0), Lt = (e) => e == null, Ge = (e) => !Lt(e), de = ot("function"), yo = ot("number"), dt = (e, n) => {
if (pt(e)) {
for (let o = 0, r = e.length; o < r; ++o)
if (!n(e[o]))
return !1;
return !0;
}
return !1;
}, We = () => {
}, A = (e, n) => (...o) => e(n.apply(null, o)), vn = (e, n) => (o) => e(n(o)), be = (e) => () => e, kt = (e) => e, Et = (e, n) => e === n;
function $e(e, ...n) {
return (...o) => {
const r = n.concat(o);
return e.apply(null, r);
};
}
const Qn = (e) => (n) => !e(n), Ro = (e) => () => {
throw new Error(e);
}, xt = (e) => e(), fn = (e) => {
e();
}, Ee = be(!1), ct = be(!0);
class H {
constructor(n, o) {
this.tag = n, this.value = o;
}
static some(n) {
return new H(!0, n);
}
static none() {
return H.singletonNone;
}
fold(n, o) {
return this.tag ? o(this.value) : n();
}
isSome() {
return this.tag;
}
isNone() {
return !this.tag;
}
map(n) {
return this.tag ? H.some(n(this.value)) : H.none();
}
bind(n) {
return this.tag ? n(this.value) : H.none();
}
exists(n) {
return this.tag && n(this.value);
}
forall(n) {
return !this.tag || n(this.value);
}
filter(n) {
return !this.tag || n(this.value) ? this : H.none();
}
getOr(n) {
return this.tag ? this.value : n;
}
or(n) {
return this.tag ? this : n;
}
getOrThunk(n) {
return this.tag ? this.value : n();
}
orThunk(n) {
return this.tag ? this : n();
}
getOrDie(n) {
if (this.tag)
return this.value;
throw new Error(n ?? "Called getOrDie on None");
}
static from(n) {
return Ge(n) ? H.some(n) : H.none();
}
getOrNull() {
return this.tag ? this.value : null;
}
getOrUndefined() {
return this.value;
}
each(n) {
this.tag && n(this.value);
}
toArray() {
return this.tag ? [this.value] : [];
}
toString() {
return this.tag ? `some(${this.value})` : "none()";
}
}
H.singletonNone = new H(!1);
const Ct = Array.prototype.slice, pe = Array.prototype.indexOf, ze = Array.prototype.push, Ne = (e, n) => pe.call(e, n), Pe = (e, n) => {
const o = Ne(e, n);
return o === -1 ? H.none() : H.some(o);
}, ye = (e, n) => Ne(e, n) > -1, Tt = (e, n) => {
for (let o = 0, r = e.length; o < r; o++) {
const c = e[o];
if (n(c, o))
return !0;
}
return !1;
}, Ke = (e, n) => {
const o = e.length, r = new Array(o);
for (let c = 0; c < o; c++) {
const u = e[c];
r[c] = n(u, c);
}
return r;
}, Se = (e, n) => {
for (let o = 0, r = e.length; o < r; o++) {
const c = e[o];
n(c, o);
}
}, ko = (e, n) => {
for (let o = e.length - 1; o >= 0; o--) {
const r = e[o];
n(r, o);
}
}, go = (e, n) => {
const o = [], r = [];
for (let c = 0, u = e.length; c < u; c++) {
const f = e[c];
(n(f, c) ? o : r).push(f);
}
return {
pass: o,
fail: r
};
}, tn = (e, n) => {
const o = [];
for (let r = 0, c = e.length; r < c; r++) {
const u = e[r];
n(u, r) && o.push(u);
}
return o;
}, Or = (e, n, o) => (ko(e, (r, c) => {
o = n(o, r, c);
}), o), eo = (e, n, o) => (Se(e, (r, c) => {
o = n(o, r, c);
}), o), Tr = (e, n, o) => {
for (let r = 0, c = e.length; r < c; r++) {
const u = e[r];
if (n(u, r))
return H.some(u);
if (o(u, r))
break;
}
return H.none();
}, Uo = (e, n) => Tr(e, n, Ee), $s = (e, n) => {
for (let o = 0, r = e.length; o < r; o++) {
const c = e[o];
if (n(c, o))
return H.some(o);
}
return H.none();
}, ua = (e) => {
const n = [];
for (let o = 0, r = e.length; o < r; ++o) {
if (!pt(e[o]))
throw new Error("Arr.flatten item " + o + " was not an array, input: " + e);
ze.apply(n, e[o]);
}
return n;
}, ps = (e, n) => ua(Ke(e, n)), No = (e, n) => {
for (let o = 0, r = e.length; o < r; ++o) {
const c = e[o];
if (n(c, o) !== !0)
return !1;
}
return !0;
}, Wo = (e) => {
const n = Ct.call(e, 0);
return n.reverse(), n;
}, qa = (e, n) => tn(e, (o) => !ye(n, o)), Ho = (e, n) => {
const o = {};
for (let r = 0, c = e.length; r < c; r++) {
const u = e[r];
o[String(u)] = n(u, r);
}
return o;
}, gs = (e, n) => {
const o = Ct.call(e, 0);
return o.sort(n), o;
}, ls = (e, n) => n >= 0 && n < e.length ? H.some(e[n]) : H.none(), Jo = (e) => ls(e, 0), Ds = (e) => ls(e, e.length - 1), or = de(Array.from) ? Array.from : (e) => Ct.call(e), Xr = (e, n) => {
for (let o = 0; o < e.length; o++) {
const r = n(e[o], o);
if (r.isSome())
return r;
}
return H.none();
}, Qs = (e, n) => {
const o = [], r = de(n) ? (c) => Tt(o, (u) => n(u, c)) : (c) => ye(o, c);
for (let c = 0, u = e.length; c < u; c++) {
const f = e[c];
r(f) || o.push(f);
}
return o;
}, Rs = Object.keys, mr = Object.hasOwnProperty, At = (e, n) => {
const o = Rs(e);
for (let r = 0, c = o.length; r < c; r++) {
const u = o[r], f = e[u];
n(f, u);
}
}, bo = (e, n) => Jr(e, (o, r) => ({
k: r,
v: n(o, r)
})), Jr = (e, n) => {
const o = {};
return At(e, (r, c) => {
const u = n(r, c);
o[u.k] = u.v;
}), o;
}, er = (e) => (n, o) => {
e[o] = n;
}, Ia = (e, n, o, r) => {
At(e, (c, u) => {
(n(c, u) ? o : r)(c, u);
});
}, da = (e, n) => {
const o = {}, r = {};
return Ia(e, n, er(o), er(r)), {
t: o,
f: r
};
}, us = (e, n) => {
const o = {};
return Ia(e, n, er(o), We), o;
}, ba = (e, n) => {
const o = [];
return At(e, (r, c) => {
o.push(n(r, c));
}), o;
}, kr = (e) => ba(e, kt), Zo = (e, n) => Nn(e, n) ? H.from(e[n]) : H.none(), Nn = (e, n) => mr.call(e, n), fr = (e, n) => Nn(e, n) && e[n] !== void 0 && e[n] !== null, ke = (e, n, o = fo) => Dn(o).eq(e, n), Le = (e) => {
const n = {};
return Se(e, (o) => {
n[o] = {};
}), Rs(n);
}, Rt = (e) => e.length !== void 0, an = Array.isArray, oo = (e) => {
if (an(e))
return e;
{
const n = [];
for (let o = 0, r = e.length; o < r; o++)
n[o] = e[o];
return n;
}
}, Eo = (e, n, o) => {
if (!e)
return !1;
if (o = o || e, Rt(e)) {
for (let r = 0, c = e.length; r < c; r++)
if (n.call(o, e[r], r, e) === !1)
return !1;
} else
for (const r in e)
if (Nn(e, r) && n.call(o, e[r], r, e) === !1)
return !1;
return !0;
}, Vs = (e, n) => {
const o = [];
return Eo(e, (r, c) => {
o.push(n(r, c, e));
}), o;
}, ae = (e, n) => {
const o = [];
return Eo(e, (r, c) => {
(!n || n(r, c, e)) && o.push(r);
}), o;
}, oe = (e, n) => {
if (e) {
for (let o = 0, r = e.length; o < r; o++)
if (e[o] === n)
return o;
}
return -1;
}, Ze = (e, n, o, r) => {
let c = hn(o) ? e[0] : o;
for (let u = 0; u < e.length; u++)
c = n.call(r, c, e[u], u);
return c;
}, He = (e, n, o) => {
for (let r = 0, c = e.length; r < c; r++)
if (n.call(o, e[r], r, e))
return r;
return -1;
}, dn = (e) => e[e.length - 1], Rn = (e) => {
let n = !1, o;
return (...r) => (n || (n = !0, o = e.apply(null, r)), o);
}, Co = (e, n, o, r) => {
const c = e.isiOS() && /ipad/i.test(o) === !0, u = e.isiOS() && !c, f = e.isiOS() || e.isAndroid(), b = f || r("(pointer:coarse)"), C = c || !u && f && r("(min-device-width:768px)"), k = u || f && !C, N = n.isSafari() && e.isiOS() && /safari/i.test(o) === !1, R = !k && !C && !N;
return {
isiPad: be(c),
isiPhone: be(u),
isTablet: be(C),
isPhone: be(k),
isTouch: be(b),
isAndroid: e.isAndroid,
isiOS: e.isiOS,
isWebView: be(N),
isDesktop: be(R)
};
}, ds = (e, n) => {
for (let o = 0; o < e.length; o++) {
const r = e[o];
if (r.test(n))
return r;
}
}, uo = (e, n) => {
const o = ds(e, n);
if (!o)
return {
major: 0,
minor: 0
};
const r = (c) => Number(n.replace(o, "$" + c));
return rs(r(1), r(2));
}, Ao = (e, n) => {
const o = String(n).toLowerCase();
return e.length === 0 ? we() : uo(e, o);
}, we = () => rs(0, 0), rs = (e, n) => ({
major: e,
minor: n
}), re = {
nu: rs,
detect: Ao,
unknown: we
}, ie = (e, n) => Xr(n.brands, (o) => {
const r = o.brand.toLowerCase();
return Uo(e, (c) => {
var u;
return r === ((u = c.brand) === null || u === void 0 ? void 0 : u.toLowerCase());
}).map((c) => ({
current: c.name,
version: re.nu(parseInt(o.version, 10), 0)
}));
}), gt = (e, n) => {
const o = String(n).toLowerCase();
return Uo(e, (r) => r.search(o));
}, ht = (e, n) => gt(e, n).map((o) => {
const r = re.detect(o.versionRegexes, n);
return {
current: o.name,
version: r
};
}), Zt = (e, n) => gt(e, n).map((o) => {
const r = re.detect(o.versionRegexes, n);
return {
current: o.name,
version: r
};
}), mn = (e, n) => e.substring(n), ln = (e, n, o) => n === "" || e.length >= n.length && e.substr(o, o + n.length) === n, pn = (e, n) => zn(e, n) ? mn(e, n.length) : e, Vn = (e, n, o = 0, r) => {
const c = e.indexOf(n, o);
return c !== -1 ? hn(r) ? !0 : c + n.length <= r : !1;
}, zn = (e, n) => ln(e, n, 0), ws = (e, n) => ln(e, n, e.length - n.length), zs = (e) => (n) => n.replace(e, ""), Aa = zs(/^\s+|\s+$/g), Fa = zs(/^\s+/g), rc = zs(/\s+$/g), Yn = (e) => e.length > 0, as = (e) => !Yn(e), Ss = (e, n) => n <= 0 ? "" : new Array(n + 1).join(e), Wr = (e, n = 10) => {
const o = parseInt(e, n);
return isNaN(o) ? H.none() : H.some(o);
}, Qr = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, Pr = (e) => (n) => Vn(n, e), qs = [
{
name: "Edge",
versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
search: (e) => Vn(e, "edge/") && Vn(e, "chrome") && Vn(e, "safari") && Vn(e, "applewebkit")
},
{
name: "Chromium",
brand: "Chromium",
versionRegexes: [
/.*?chrome\/([0-9]+)\.([0-9]+).*/,
Qr
],
search: (e) => Vn(e, "chrome") && !Vn(e, "chromeframe")
},
{
name: "IE",
versionRegexes: [
/.*?msie\ ?([0-9]+)\.([0-9]+).*/,
/.*?rv:([0-9]+)\.([0-9]+).*/
],
search: (e) => Vn(e, "msie") || Vn(e, "trident")
},
{
name: "Opera",
versionRegexes: [
Qr,
/.*?opera\/([0-9]+)\.([0-9]+).*/
],
search: Pr("opera")
},
{
name: "Firefox",
versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],
search: Pr("firefox")
},
{
name: "Safari",
versionRegexes: [
Qr,
/.*?cpu os ([0-9]+)_([0-9]+).*/
],
search: (e) => (Vn(e, "safari") || Vn(e, "mobile/")) && Vn(e, "applewebkit")
}
], Jl = [
{
name: "Windows",
search: Pr("win"),
versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]
},
{
name: "iOS",
search: (e) => Vn(e, "iphone") || Vn(e, "ipad"),
versionRegexes: [
/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
/.*cpu os ([0-9]+)_([0-9]+).*/,
/.*cpu iphone os ([0-9]+)_([0-9]+).*/
]
},
{
name: "Android",
search: Pr("android"),
versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/]
},
{
name: "macOS",
search: Pr("mac os x"),
versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]
},
{
name: "Linux",
search: Pr("linux"),
versionRegexes: []
},
{
name: "Solaris",
search: Pr("sunos"),
versionRegexes: []
},
{
name: "FreeBSD",
search: Pr("freebsd"),
versionRegexes: []
},
{
name: "ChromeOS",
search: Pr("cros"),
versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/]
}
], Ui = {
browsers: be(qs),
oses: be(Jl)
}, xs = "Edge", va = "Chromium", Oa = "IE", gr = "Opera", Wi = "Firefox", ac = "Safari", ya = () => wc({
current: void 0,
version: re.unknown()
}), wc = (e) => {
const n = e.current, o = e.version, r = (c) => () => n === c;
return {
current: n,
version: o,
isEdge: r(xs),
isChromium: r(va),
isIE: r(Oa),
isOpera: r(gr),
isFirefox: r(Wi),
isSafari: r(ac)
};
}, dl = {
unknown: ya,
nu: wc,
edge: be(xs),
chromium: be(va),
ie: be(Oa),
opera: be(gr),
firefox: be(Wi),
safari: be(ac)
}, bi = "Windows", ml = "iOS", Da = "Android", Nc = "Linux", Zi = "macOS", jc = "Solaris", ji = "FreeBSD", Z = "ChromeOS", me = () => xe({
current: void 0,
version: re.unknown()
}), xe = (e) => {
const n = e.current, o = e.version, r = (c) => () => n === c;
return {
current: n,
version: o,
isWindows: r(bi),
isiOS: r(ml),
isAndroid: r(Da),
isMacOS: r(Zi),
isLinux: r(Nc),
isSolaris: r(jc),
isFreeBSD: r(ji),
isChromeOS: r(Z)
};
}, qe = {
unknown: me,
nu: xe,
windows: be(bi),
ios: be(ml),
android: be(Da),
linux: be(Nc),
macos: be(Zi),
solaris: be(jc),
freebsd: be(ji),
chromeos: be(Z)
}, $n = { detect: (e, n, o) => {
const r = Ui.browsers(), c = Ui.oses(), u = n.bind((C) => ie(r, C)).orThunk(() => ht(r, e)).fold(dl.unknown, dl.nu), f = Zt(c, e).fold(qe.unknown, qe.nu), b = Co(f, u, e, o);
return {
browser: u,
os: f,
deviceType: b
};
} }, Es = (e) => window.matchMedia(e).matches;
let $r = Rn(() => $n.detect(navigator.userAgent, H.from(navigator.userAgentData), Es));
const jo = () => $r(), Ir = navigator.userAgent, cs = jo(), ur = cs.browser, Bc = cs.os, Sc = cs.deviceType, ao = Ir.indexOf("Windows Phone") !== -1, ms = {
transparentSrc: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
documentMode: ur.isIE() ? document.documentMode || 7 : 10,
cacheSuffix: null,
container: null,
canHaveCSP: !ur.isIE(),
windowsPhone: ao,
browser: {
current: ur.current,
version: ur.version,
isChromium: ur.isChromium,
isEdge: ur.isEdge,
isFirefox: ur.isFirefox,
isIE: ur.isIE,
isOpera: ur.isOpera,
isSafari: ur.isSafari
},
os: {
current: Bc.current,
version: Bc.version,
isAndroid: Bc.isAndroid,
isChromeOS: Bc.isChromeOS,
isFreeBSD: Bc.isFreeBSD,
isiOS: Bc.isiOS,
isLinux: Bc.isLinux,
isMacOS: Bc.isMacOS,
isSolaris: Bc.isSolaris,
isWindows: Bc.isWindows
},
deviceType: {
isDesktop: Sc.isDesktop,
isiPad: Sc.isiPad,
isiPhone: Sc.isiPhone,
isPhone: Sc.isPhone,
isTablet: Sc.isTablet,
isTouch: Sc.isTouch,
isWebView: Sc.isWebView
}
}, oa = /^\s*|\s*$/g, P = (e) => Lt(e) ? "" : ("" + e).replace(oa, ""), K = (e, n) => n ? n === "array" && an(e) ? !0 : typeof e === n : e !== void 0, ne = (e, n, o = {}) => {
const r = q(e) ? e.split(n || ",") : e || [];
let c = r.length;
for (; c--; )
o[r[c]] = {};
return o;
}, Ve = Nn, Yt = (e, ...n) => {
for (let o = 0; o < n.length; o++) {
const r = n[o];
for (const c in r)
if (Nn(r, c)) {
const u = r[c];
u !== void 0 && (e[c] = u);
}
}
return e;
}, vo = function(e, n, o, r) {
r = r || this, e && (o && (e = e[o]), Eo(e, (c, u) => n.call(r, c, u, o) === !1 ? !1 : (vo(c, n, o, r), !0)));
}, ft = {
trim: P,
isArray: an,
is: K,
toArray: oo,
makeMap: ne,
each: Eo,
map: Vs,
grep: ae,
inArray: oe,
hasOwn: Ve,
extend: Yt,
walk: vo,
resolve: (e, n = window) => {
const o = e.split(".");
for (let r = 0, c = o.length; r < c && (n = n[o[r]], !!n); r++)
;
return n;
},
explode: (e, n) => pt(e) ? e : e === "" ? [] : Vs(e.split(n || ","), P),
_addCacheSuffix: (e) => {
const n = ms.cacheSuffix;
return n && (e += (e.indexOf("?") === -1 ? "?" : "&") + n), e;
}
}, jr = (e, n, o = Et) => e.exists((r) => o(r, n)), hr = (e) => {
const n = [], o = (r) => {
n.push(r);
};
for (let r = 0; r < e.length; r++)
e[r].each(o);
return n;
}, ra = (e, n, o) => e.isSome() && n.isSome() ? H.some(o(e.getOrDie(), n.getOrDie())) : H.none(), fd = (e, n, o, r) => e.isSome() && n.isSome() && o.isSome() ? H.some(r(e.getOrDie(), n.getOrDie(), o.getOrDie())) : H.none(), $o = (e, n) => e ? H.some(n) : H.none(), Y = typeof window < "u" ? window : Function("return this;")(), se = (e, n) => {
let o = n ?? Y;
for (let r = 0; r < e.length && o !== void 0 && o !== null; ++r)
o = o[e[r]];
return o;
}, De = (e, n) => {
const o = e.split(".");
return se(o, n);
}, Je = (e, n) => De(e, n), bn = (e, n) => {
const o = Je(e, n);
if (o == null)
throw new Error(e + " not available on this browser");
return o;
}, Qo = Object.getPrototypeOf, sr = (e) => bn("HTMLElement", e), Vo = (e) => {
const n = De("ownerDocument.defaultView", e);
return at(e) && (sr(n).prototype.isPrototypeOf(e) || /^HTML\w*Element$/.test(Qo(e).constructor.name));
}, tr = 8, Ca = 9, Us = 11, xc = 1, Gc = 3, Is = (e) => e.dom.nodeName.toLowerCase(), wa = (e) => e.dom.nodeType, pr = (e) => (n) => wa(n) === e, Ri = (e) => wa(e) === tr || Is(e) === "#comment", Ol = (e) => Ks(e) && Vo(e.dom), Ks = pr(xc), Tc = pr(Gc), Mi = pr(Ca), gd = pr(Us), fl = (e) => (n) => Ks(n) && Is(n) === e, ti = (e, n, o) => {
if (q(o) || vt(o) || yo(o))
e.setAttribute(n, o + "");
else
throw console.error("Invalid call to Attribute.set. Key ", n, ":: Value ", o, ":: Element ", e), new Error("Attribute value was not simple");
}, ea = (e, n, o) => {
ti(e.dom, n, o);
}, cc = (e, n) => {
const o = e.dom;
At(n, (r, c) => {
ti(o, c, r);
});
}, Pc = (e, n) => {
const o = e.dom.getAttribute(n);
return o === null ? void 0 : o;
}, ni = (e, n) => H.from(Pc(e, n)), Ka = (e, n) => {
const o = e.dom;
return o && o.hasAttribute ? o.hasAttribute(n) : !1;
}, Fr = (e, n) => {
e.dom.removeAttribute(n);
}, qc = (e) => {
const n = e.dom.attributes;
return n == null || n.length === 0;
}, nm = (e) => eo(e.dom.attributes, (n, o) => (n[o.name] = o.value, n), {}), Ql = (e, n) => {
const o = Pc(e, n);
return o === void 0 || o === "" ? [] : o.split(" ");
}, eu = (e, n, o) => {
const c = Ql(e, n).concat([o]);
return ea(e, n, c.join(" ")), !0;
}, Zm = (e, n, o) => {
const r = tn(Ql(e, n), (c) => c !== o);
return r.length > 0 ? ea(e, n, r.join(" ")) : Fr(e, n), !1;
}, vi = (e) => e.dom.classList !== void 0, tu = (e) => Ql(e, "class"), hd = (e, n) => eu(e, "class", n), Gr = (e, n) => Zm(e, "class", n), om = (e, n) => ye(tu(e), n) ? Gr(e, n) : hd(e, n), Au = (e, n) => {
vi(e) ? e.dom.classList.add(n) : hd(e, n);
}, Ou = (e) => {
(vi(e) ? e.dom.classList : tu(e)).length === 0 && Fr(e, "class");
}, pd = (e, n) => {
vi(e) ? e.dom.classList.remove(n) : Gr(e, n), Ou(e);
}, bd = (e, n) => {
const o = vi(e) ? e.dom.classList.toggle(n) : om(e, n);
return Ou(e), o;
}, vd = (e, n) => vi(e) && e.dom.classList.contains(n), Du = (e, n) => {
const r = (n || document).createElement("div");
if (r.innerHTML = e, !r.hasChildNodes() || r.childNodes.length > 1) {
const c = "HTML does not have a single root node";
throw console.error(c, e), new Error(c);
}
return nu(r.childNodes[0]);
}, jm = (e, n) => {
const r = (n || document).createElement(e);
return nu(r);
}, Gm = (e, n) => {
const r = (n || document).createTextNode(e);
return nu(r);
}, nu = (e) => {
if (e == null)
throw new Error("Node cannot be null or undefined");
return { dom: e };
}, ce = {
fromHtml: Du,
fromTag: jm,
fromText: Gm,
fromDom: nu,
fromPoint: (e, n, o) => H.from(e.dom.elementFromPoint(n, o)).map(nu)
}, yd = (e, n) => {
const o = [], r = (u) => (o.push(u), n(u));
let c = n(e);
do
c = c.bind(r);
while (c.isSome());
return o;
}, $c = (e, n) => {
const o = e.dom;
if (o.nodeType !== xc)
return !1;
{
const r = o;
if (r.matches !== void 0)
return r.matches(n);
if (r.msMatchesSelector !== void 0)
return r.msMatchesSelector(n);
if (r.webkitMatchesSelector !== void 0)
return r.webkitMatchesSelector(n);
if (r.mozMatchesSelector !== void 0)
return r.mozMatchesSelector(n);
throw new Error("Browser lacks native selectors");
}
}, Ff = (e) => e.nodeType !== xc && e.nodeType !== Ca && e.nodeType !== Us || e.childElementCount === 0, bp = (e, n) => {
const o = n === void 0 ? document : n.dom;
return Ff(o) ? [] : Ke(o.querySelectorAll(e), ce.fromDom);
}, vp = (e, n) => {
const o = n === void 0 ? document : n.dom;
return Ff(o) ? H.none() : H.from(o.querySelector(e)).map(ce.fromDom);
}, _s = (e, n) => e.dom === n.dom, Ni = (e, n) => {
const o = e.dom, r = n.dom;
return o === r ? !1 : o.contains(r);
}, kc = (e) => ce.fromDom(e.dom.ownerDocument), oi = (e) => Mi(e) ? e : kc(e), Wg = (e) => ce.fromDom(oi(e).dom.documentElement), Dl = (e) => ce.fromDom(oi(e).dom.defaultView), yi = (e) => H.from(e.dom.parentNode).map(ce.fromDom), sm = (e) => H.from(e.dom.parentElement).map(ce.fromDom), Lf = (e, n) => {
const o = de(n) ? n : Ee;
let r = e.dom;
const c = [];
for (; r.parentNode !== null && r.parentNode !== void 0; ) {
const u = r.parentNode, f = ce.fromDom(u);
if (c.push(f), o(f) === !0)
break;
r = u;
}
return c;
}, Zg = (e) => {
const n = (o) => tn(o, (r) => !_s(e, r));
return yi(e).map(La).map(n).getOr([]);
}, Kc = (e) => H.from(e.dom.previousSibling).map(ce.fromDom), Cd = (e) => H.from(e.dom.nextSibling).map(ce.fromDom), jg = (e) => Wo(yd(e, Kc)), si = (e) => yd(e, Cd), La = (e) => Ke(e.dom.childNodes, ce.fromDom), wd = (e, n) => {
const o = e.dom.childNodes;
return H.from(o[n]).map(ce.fromDom);
}, Sd = (e) => wd(e, 0), Bi = (e) => wd(e, e.dom.childNodes.length - 1), Ic = (e) => e.dom.childNodes.length, qm = (e) => {
const n = e.dom.head;
if (n == null)
throw new Error("Head is not available yet");
return ce.fromDom(n);
}, Km = (e) => gd(e) && Ge(e.dom.host), Ym = de(Element.prototype.attachShadow) && de(Node.prototype.getRootNode), Xm = be(Ym), Gi = Ym ? (e) => ce.fromDom(e.dom.getRootNode()) : oi, rm = (e) => Km(e) ? e : qm(oi(e)), Gg = (e) => Km(e) ? e : ce.fromDom(oi(e).dom.body), L0 = (e) => {
const n = Gi(e);
return Km(n) ? H.some(n) : H.none();
}, qg = (e) => ce.fromDom(e.dom.host), am = (e) => {
if (Xm() && Ge(e.target)) {
const n = ce.fromDom(e.target);
if (Ks(n) && Hf(n) && e.composed && e.composedPath) {
const o = e.composedPath();
if (o)
return Jo(o);
}
}
return H.from(e.target);
}, Hf = (e) => Ge(e.dom.shadowRoot), Rl = (e) => {
const n = Tc(e) ? e.dom.parentNode : e.dom;
if (n == null || n.ownerDocument === null)
return !1;
const o = n.ownerDocument;
return L0(ce.fromDom(n)).fold(() => o.body.contains(n), vn(Rl, qg));
};
var Vf = (e, n, o, r, c) => e(o, r) ? H.some(o) : de(c) && c(o) ? H.none() : n(o, r, c);
const dr = (e, n, o) => {
let r = e.dom;
const c = de(o) ? o : Ee;
for (; r.parentNode; ) {
r = r.parentNode;
const u = ce.fromDom(r);
if (n(u))
return H.some(u);
if (c(u))
break;
}
return H.none();
}, E = (e, n, o) => Vf((c, u) => u(c), dr, e, n, o), M = (e, n) => {
const o = e.dom;
return o.parentNode ? z(ce.fromDom(o.parentNode), (r) => !_s(e, r) && n(r)) : H.none();
}, z = (e, n) => {
const o = (c) => n(ce.fromDom(c));
return Uo(e.dom.childNodes, o).map(ce.fromDom);
}, fe = (e, n) => {
const o = (r) => {
for (let c = 0; c < r.childNodes.length; c++) {
const u = ce.fromDom(r.childNodes[c]);
if (n(u))
return H.some(u);
const f = o(r.childNodes[c]);
if (f.isSome())
return f;
}
return H.none();
};
return o(e.dom);
}, ge = (e, n, o) => dr(e, (r) => $c(r, n), o), It = (e, n) => vp(n, e), Wn = (e, n, o) => Vf((c, u) => $c(c, u), ge, e, n, o), lo = (e) => Wn(e, "[contenteditable]"), Io = (e, n = !1) => Rl(e) ? e.dom.isContentEditable : lo(e).fold(be(n), (o) => $t(o) === "true"), $t = (e) => e.dom.contentEditable, Ps = (e) => e.style !== void 0 && de(e.style.getPropertyValue), Ra = (e, n, o) => {
if (!q(o))
throw console.error("Invalid call to CSS.set. Property ", n, ":: Value ", o, ":: Element ", e), new Error("CSS value must be a string: " + o);
Ps(e) && e.style.setProperty(n, o);
}, Ci = (e, n) => {
Ps(e) && e.style.removeProperty(n);
}, cm = (e, n, o) => {
const r = e.dom;
Ra(r, n, o);
}, zf = (e, n) => {
const o = e.dom;
At(n, (r, c) => {
Ra(o, c, r);
});
}, gl = (e, n) => {
const o = e.dom, c = window.getComputedStyle(o).getPropertyValue(n);
return c === "" && !Rl(e) ? wi(o, n) : c;
}, wi = (e, n) => Ps(e) ? e.style.getPropertyValue(n) : "", Fc = (e, n) => {
const o = e.dom, r = wi(o, n);
return H.from(r).filter((c) => c.length > 0);
}, Pi = (e) => {
const n = {}, o = e.dom;
if (Ps(o))
for (let r = 0; r < o.style.length; r++) {
const c = o.style.item(r);
n[c] = o.style[c];
}
return n;
}, Ya = (e, n) => {
const o = e.dom;
Ci(o, n), jr(ni(e, "style").map(Aa), "") && Fr(e, "style");
}, pb = (e) => e.dom.offsetWidth, Ms = (e, n) => {
yi(e).each((r) => {
r.dom.insertBefore(n.dom, e.dom);
});
}, Ru = (e, n) => {
Cd(e).fold(() => {
yi(e).each((c) => {
qr(c, n);
});
}, (r) => {
Ms(r, n);
});
}, xd = (e, n) => {
Sd(e).fold(() => {
qr(e, n);
}, (r) => {
e.dom.insertBefore(n.dom, r.dom);
});
}, qr = (e, n) => {
e.dom.appendChild(n.dom);
}, bb = (e, n) => {
Ms(e, n), qr(n, e);
}, H0 = (e, n) => {
Se(n, (o, r) => {
const c = r === 0 ? e : n[r - 1];
Ru(c, o);
});
}, Mu = (e, n) => {
Se(n, (o) => {
qr(e, o);
});
}, nr = (e) => {
e.dom.textContent = "", Se(La(e), (n) => {
rr(n);
});
}, rr = (e) => {
const n = e.dom;
n.parentNode !== null && n.parentNode.removeChild(n);
}, Sa = (e) => {
const n = La(e);
n.length > 0 && H0(e, n), rr(e);
}, Td = (e, n) => {
const r = (n || document).createElement("div");
return r.innerHTML = e, La(ce.fromDom(r));
}, kd = (e) => Ke(e, ce.fromDom), im = (e) => e.dom.innerHTML, Ed = (e, n) => {
const r = kc(e).dom, c = ce.fromDom(r.createDocumentFragment()), u = Td(n, r);
Mu(c, u), nr(e), qr(e, c);
}, Go = (e) => {
const n = ce.fromTag("div"), o = ce.fromDom(e.dom.cloneNode(!0));
return qr(n, o), im(n);
}, Kg = (e, n, o, r, c, u, f) => ({
target: e,
x: n,
y: o,
stop: r,
prevent: c,
kill: u,
raw: f
}), yp = (e) => {
const n = ce.fromDom(am(e).getOr(e.target)), o = () => e.stopPropagation(), r = () => e.preventDefault(), c = A(r, o);
return Kg(n, e.clientX, e.clientY, o, r, c, e);
}, V0 = (e, n) => (o) => {
e(o) && n(yp(o));
}, z0 = (e, n, o, r, c) => {
const u = V0(o, r);
return e.dom.addEventListener(n, u, c), { unbind: $e(vb, e, n, u, c) };
}, Uf = (e, n, o, r) => z0(e, n, o, r, !1), vb = (e, n, o, r) => {
e.dom.removeEventListener(n, o, r);
}, Wf = (e, n) => ({
left: e,
top: n,
translate: (r, c) => Wf(e + r, n + c)
}), hl = Wf, yb = (e) => {
const n = e.getBoundingClientRect();
return hl(n.left, n.top);
}, Yg = (e, n) => e !== void 0 ? e : n !== void 0 ? n : 0, Cb = (e) => {
const n = e.dom.ownerDocument, o = n.body, r = n.defaultView, c = n.documentElement;
if (o === e.dom)
return hl(o.offsetLeft, o.offsetTop);
const u = Yg(r == null ? void 0 : r.pageYOffset, c.scrollTop), f = Yg(r == null ? void 0 : r.pageXOffset, c.scrollLeft), b = Yg(c.clientTop, o.clientTop), C = Yg(c.clientLeft, o.clientLeft);
return Ml(e).translate(f - C, u - b);
}, Ml = (e) => {
const n = e.dom, r = n.ownerDocument.body;
return r === n ? hl(r.offsetLeft, r.offsetTop) : Rl(e) ? yb(n) : hl(0, 0);
}, Cp = (e) => {
const n = e !== void 0 ? e.dom : document, o = n.body.scrollLeft || n.documentElement.scrollLeft, r = n.body.scrollTop || n.documentElement.scrollTop;
return hl(o, r);
}, Nl = (e, n) => {
jo().browser.isSafari() && de(e.dom.scrollIntoViewIfNeeded) ? e.dom.scrollIntoViewIfNeeded(!1) : e.dom.scrollIntoView(n);
}, Jm = (e) => {
const n = e === void 0 ? window : e;
return jo().browser.isFirefox() ? H.none() : H.from(n.visualViewport);
}, wb = (e, n, o, r) => ({
x: e,
y: n,
width: o,
height: r,
right: e + o,
bottom: n + r
}), Xg = (e) => {
const n = e === void 0 ? window : e, o = n.document, r = Cp(ce.fromDom(o));
return Jm(n).fold(() => {
const c = n.document.documentElement, u = c.clientWidth, f = c.clientHeight;
return wb(r.left, r.top, u, f);
}, (c) => wb(Math.max(c.pageLeft, r.left), Math.max(c.pageTop, r.top), c.width, c.height));
}, wp = (e, n) => tn(La(e), n), Sp = (e, n) => {
let o = [];
return Se(La(e), (r) => {
n(r) && (o = o.concat([r])), o = o.concat(Sp(r, n));
}), o;
}, ic = (e, n) => bp(n, e), xp = (e, n, o) => ge(e, n, o).isSome();
class xa {
constructor(n, o) {
this.node = n, this.rootNode = o, this.current = this.current.bind(this), this.next = this.next.bind(this), this.prev = this.prev.bind(this), this.prev2 = this.prev2.bind(this);
}
current() {
return this.node;
}
next(n) {
return this.node = this.findSibling(this.node, "firstChild", "nextSibling", n), this.node;
}
prev(n) {
return this.node = this.findSibling(this.node, "lastChild", "previousSibling", n), this.node;
}
prev2(n) {
return this.node = this.findPreviousNode(this.node, n), this.node;
}
findSibling(n, o, r, c) {
if (n) {
if (!c && n[o])
return n[o];
if (n !== this.rootNode) {
let u = n[r];
if (u)
return u;
for (let f = n.parentNode; f && f !== this.rootNode; f = f.parentNode)
if (u = f[r], u)
return u;
}
}
}
findPreviousNode(n, o) {
if (n) {
const r = n.previousSibling;
if (this.rootNode && r === this.rootNode)
return;
if (r) {
if (!o) {
for (let u = r.lastChild; u; u = u.lastChild)
if (!u.lastChild)
return u;
}
return r;
}
const c = n.parentNode;
if (c && c !== this.rootNode)
return c;
}
}
}
const _d = (e) => (n) => !!n && n.nodeType === e, ri = (e) => !!e && !Object.getPrototypeOf(e), tt = _d(1), Bl = (e) => {
const n = e.toLowerCase();
return (o) => Ge(o) && o.nodeName.toLowerCase() === n;
}, qi = (e) => {
const n = e.map((o) => o.toLowerCase());
return (o) => {
if (o && o.nodeName) {
const r = o.nodeName.toLowerCase();
return ye(n, r);
}
return !1;
};
}, Nu = (e, n) => {
const o = n.toLowerCase().split(" ");
return (r) => {
if (tt(r)) {
const c = r.ownerDocument.defaultView;
if (c)
for (let u = 0; u < o.length; u++) {
const f = c.getComputedStyle(r, null);
if ((f ? f.getPropertyValue(e) : null) === o[u])
return !0;
}
}
return !1;
};
}, Tp = (e) => (n) => tt(n) && n.hasAttribute(e), kp = (e, n) => (o) => tt(o) && o.getAttribute(e) === n, lc = (e) => tt(e) && e.hasAttribute("data-mce-bogus"), Bu = (e) => tt(e) && e.getAttribute("data-mce-bogus") === "all", pl = (e) => tt(e) && e.tagName === "TABLE", Xa = (e) => (n) => !!(tt(n) && (n.contentEditable === e || n.getAttribute("data-mce-contenteditable") === e)), lm = qi([
"textarea",
"input"
]), Ot = _d(3), Ep = _d(4), U0 = _d(7), Pu = _d(8), Pl = _d(9), Jg = _d(11), Dr = Bl("br"), Qm = Bl("img"), $l = Xa("true"), _o = Xa("false"), $i = qi([
"td",
"th"
]), ai = qi([
"td",
"th",
"caption"
]), Si = qi([
"video",
"audio",
"object",
"embed"
]), ci = Bl("li"), Ki = "\uFEFF", Fs = " ", Lc = (e) => e === Ki, Qg = (e) => e.replace(/\uFEFF/g, ""), ii = ((e, n) => {
const o = (u) => {
if (!e(u))
throw new Error("Can only get " + n + " value of a " + n + " node");
return r(u).getOr("");
}, r = (u) => e(u) ? H.from(u.dom.nodeValue) : H.none();
return {
get: o,
getOption: r,
set: (u, f) => {
if (!e(u))
throw new Error("Can only set raw " + n + " value of a " + n + " node");
u.dom.nodeValue = f;
}
};
})(Tc, "text"), Zf = (e) => ii.get(e), ma = (e) => ii.getOption(e), ou = (e, n) => ii.set(e, n), _p = [
"article",
"aside",
"details",
"div",
"dt",
"figcaption",
"footer",
"form",
"fieldset",
"header",
"hgroup",
"html",
"main",
"nav",
"section",
"summary",
"body",
"p",
"dl",
"multicol",
"dd",
"figure",
"address",
"center",
"blockquote",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"listing",
"xmp",
"pre",
"plaintext",
"menu",
"dir",
"ul",
"ol",
"li",
"hr",
"table",
"tbody",
"thead",
"tfoot",
"th",
"tr",
"td",
"caption"
], bl = [
"td",
"th"
], W0 = [
"thead",
"tbody",
"tfoot"
], $u = [
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"p",
"div",
"address",
"pre",
"form",
"blockquote",
"center",
"dir",
"fieldset",
"header",
"footer",
"article",
"section",
"hgroup",
"aside",
"nav",
"figure"
], Sb = [
"h1",
"h2",
"h3",
"h4",
"h5",
"h6"
], xi = [
"li",
"dd",
"dt"
], As = [
"ul",
"ol",
"dl"
], su = [
"pre",
"script",
"textarea",
"style"
], jf = ["pre"].concat(Sb), fa = (e) => {
let n;
return (o) => (n = n || Ho(e, ct), Nn(n, Is(o)));
}, li = fa(_p), um = (e) => Is(e) === "table", Gf = (e) => Ks(e) && !li(e), Ja = (e) => Ks(e) && Is(e) === "br", eh = fa($u), Re = fa(As), Hc = fa(xi), ef = fa(W0), Ec = fa(bl), Yi = fa(su), Vc = fa(jf), Ma = (e) => Vc(e) || Gf(e), Z0 = (e) => {
const n = [];
let o = e.dom;
for (; o; )
n.push(ce.fromDom(o)), o = o.lastChild;
return n;
}, th = (e) => {
const n = ic(e, "br"), o = tn(Z0(e).slice(-1), Ja);
n.length === o.length && Se(o, rr);
}, w = () => {
const e = ce.fromTag("br");
return ea(e, "data-mce-bogus", "1"), e;
}, S = (e) => {
nr(e), qr(e, w());
}, F = (e) => {
Bi(e).each((n) => {
Kc(n).each((o) => {
li(e) && Ja(n) && li(o) && rr(n);
});
});
}, W = Ki, he = Lc, Ye = Qg, Dt = tt, cn = Ot, ho = (e) => (cn(e) && (e = e.parentNode), Dt(e) && e.hasAttribute("data-mce-caret")), po = (e) => cn(e) && he(e.data), Ts = (e) => ho(e) || po(e), js = (e) => e.firstChild !== e.lastChild || !Dr(e.firstChild), Er = (e, n) => {
var o;
const c = ((o = e.ownerDocument) !== null && o !== void 0 ? o : document).createTextNode(W), u = e.parentNode;
if (n) {
const f = e.previousSibling;
if (cn(f)) {
if (Ts(f))
return f;
if (dm(f))
return f.splitText(f.data.length - 1);
}
u == null || u.insertBefore(c, e);
} else {
const f = e.nextSibling;
if (cn(f)) {
if (Ts(f))
return f;
if (Xi(f))
return f.splitText(1), f;
}
e.nextSibling ? u == null || u.insertBefore(c, e.nextSibling) : u == null || u.appendChild(c);
}
return c;
}, ui = (e) => {
const n = e.container();
return Ot(n) ? n.data.charAt(e.offset()) === W || e.isAtStart() && po(n.previousSibling) : !1;
}, uc = (e) => {
const n = e.container();
return Ot(n) ? n.data.charAt(e.offset() - 1) === W || e.isAtEnd() && po(n.nextSibling) : !1;
}, Iu = (e, n, o) => {
var r;
const u = ((r = n.ownerDocument) !== null && r !== void 0 ? r : document).createElement(e);
u.setAttribute("data-mce-caret", o ? "before" : "after"), u.setAttribute("data-mce-bogus", "all"), u.appendChild(w().dom);
const f = n.parentNode;
return o ? f == null || f.insertBefore(u, n) : n.nextSibling ? f == null || f.insertBefore(u, n.nextSibling) : f == null || f.appendChild(u), u;
}, Xi = (e) => cn(e) && e.data[0] === W, dm = (e) => cn(e) && e.data[e.data.length - 1] === W, qf = (e) => {
var n;
const o = e.getElementsByTagName("br"), r = o[o.length - 1];
lc(r) && ((n = r.parentNode) === null || n === void 0 || n.removeChild(r));
}, Ji = (e) => e && e.hasAttribute("data-mce-caret") ? (qf(e), e.removeAttribute("data-mce-caret"), e.removeAttribute("data-mce-bogus"), e.removeAttribute("style"), e.removeAttribute("data-mce-style"), e.removeAttribute("_moz_abspos"), e) : null, mm = (e) => ho(e.startContainer), nh = $l, oh = _o, tf = Dr, Ha = Ot, ru = qi([
"script",
"style",
"textarea"
]), es = qi([
"img",
"input",
"textarea",
"hr",
"iframe",
"video",
"audio",
"object",
"embed"
]), ar = qi(["table"]), Yc = Ts, Ys = (e) => Yc(e) ? !1 : Ha(e) ? !ru(e.parentNode) : es(e) || tf(e) || ar(e) || fm(e), sh = (e) => tt(e) && e.getAttribute("unselectable") === "true", fm = (e) => !sh(e) && oh(e), gm = (e, n) => {
for (let o = e.parentNode; o && o !== n; o = o.parentNode) {
if (fm(o))
return !1;
if (nh(o))
return !0;
}
return !0;
}, vl = (e) => fm(e) ? !eo(or(e.getElementsByTagName("*")), (n, o) => n || nh(o), !1) : !1, nf = (e) => es(e) || vl(e), xb = (e, n) => Ys(e) && gm(e, n), Qi = /^[ \t\r\n]*$/, of = (e) => Qi.test(e), Ad = (e) => " \f \v".indexOf(e) !== -1, au = (e) => e === `
` || e === "\r", Il = (e, n) => n < e.length && n >= 0 ? au(e[n]) : !1, Ap = (e, n = 4, o = !0, r = !0) => {
const c = Ss(" ", n), u = e.replace(/\t/g, c);
return eo(u, (b, C) => Ad(C) || C === Fs ? b.pcIsSpace || b.str === "" && o || b.str.length === u.length - 1 && r || Il(u, b.str.length + 1) ? {
pcIsSpace: !1,
str: b.str + Fs
} : {
pcIsSpace: !0,
str: b.str + " "
} : {
pcIsSpace: au(C),
str: b.str + C
}, {
pcIsSpace: !1,
str: ""
}).str;
}, rh = (e, n) => {
const o = ce.fromDom(n), r = ce.fromDom(e);
return xp(r, "pre,code", $e(_s, o));
}, Zw = (e, n) => Ot(e) && of(e.data) && !rh(e, n), Ik = (e) => tt(e) && e.nodeName === "A" && !e.hasAttribute("href") && (e.hasAttribute("name") || e.hasAttribute("id")), ta = (e, n) => Ys(e) && !Zw(e, n) || Ik(e) || Fk(e), Fk = Tp("data-mce-bookmark"), Od = Tp("data-mce-bogus"), j0 = kp("data-mce-bogus", "all"), G0 = (e, n) => {
let o = 0;
if (ta(e, e))
return !1;
{
let r = e.firstChild;
if (!r)
return !0;
const c = new xa(r, e);
do {
if (n) {
if (j0(r)) {
r = c.next(!0);
continue;
}
if (Od(r)) {
r = c.next();
continue;
}
}
if (Dr(r)) {
o++, r = c.next();
continue;
}
if (ta(r, e))
return !1;
r = c.next();
} while (r);
return o <= 1;
}
}, Kr = (e, n = !0) => G0(e.dom, n), di = "data-mce-block", ah = (e) => tn(Rs(e), (n) => !/[A-Z]/.test(n)), Kf = (e) => ah(e).join(","), jw = (e, n) => Ge(n.querySelector(e)) ? (n.setAttribute(di, "true"), n.getAttribute("data-mce-selected") === "inline-boundary" && n.removeAttribute("data-mce-selected"), !0) : (n.removeAttribute(di), !1), ch = (e, n) => {
const o = Kf(e.getTransparentElements()), r = Kf(e.getBlockElements());
return tn(n.querySelectorAll(o), (c) => jw(r, c));
}, Op = (e, n) => {
var o;
const r = n ? "lastChild" : "firstChild";
for (let c = e[r]; c; c = c[r])
if (Kr(ce.fromDom(c))) {
(o = c.parentNode) === null || o === void 0 || o.removeChild(c);
return;
}
}, Tb = (e, n) => {
const o = document.createRange(), r = e.parentNode;
if (r) {
o.setStartBefore(e), o.setEndBefore(n);
const c = o.extractContents();
Op(c, !0), o.setStartAfter(n), o.setEndAfter(e);
const u = o.extractContents();
Op(u, !1), Kr(ce.fromDom(c)) || r.insertBefore(c, e), Kr(ce.fromDom(n)) || r.insertBefore(n, e), Kr(ce.fromDom(u)) || r.insertBefore(u, e), r.removeChild(e);
}
}, Lk = (e, n, o) => {
const r = e.getBlockElements(), c = ce.fromDom(n), u = (b) => Is(b) in r, f = (b) => _s(b, c);
Se(kd(o), (b) => {
dr(b, u, f).each((C) => {
const k = wp(b, (N) => u(N) && !e.isValidChild(Is(C), Is(N)));
if (k.length > 0) {
const N = sm(C);
Se(k, (R) => {
dr(R, u, f).each((L) => {
Tb(L.dom, R.dom);
});
}), N.each((R) => ch(e, R.dom));
}
});
});
}, q0 = (e, n, o) => {
Se([
...o,
...sf(e, n) ? [n] : []
], (r) => Se(ic(ce.fromDom(r), r.nodeName.toLowerCase()), (c) => {
K0(e, c.dom) && Sa(c);
}));
}, Dp = (e, n) => {
const o = ch(e, n);
Lk(e, n, o), q0(e, n, o);
}, Yf = (e, n) => {
if (kb(e, n)) {
const o = Kf(e.getBlockElements());
jw(o, n);
}
}, Dd = (e, n, o) => {
const r = (u) => _s(u, ce.fromDom(n)), c = Lf(ce.fromDom(o), r);
ls(c, c.length - 2).filter(Ks).fold(() => Dp(e, n), (u) => Dp(e, u.dom));
}, Fu = (e) => e.hasAttribute(di), hm = (e, n) => Nn(e.getTransparentElements(), n), kb = (e, n) => tt(n) && hm(e, n.nodeName), sf = (e, n) => kb(e, n) && Fu(n), K0 = (e, n) => kb(e, n) && !Fu(n), Gw = (e, n) => n.type === 1 && hm(e, n.name) && q(n.attr(di)), Y0 = (e, n) => n.type === 1 && hm(e, n.name) && hn(n.attr(di)), qw = jo().browser, X0 = (e) => Uo(e, Ks), Eb = (e) => qw.isFirefox() && Is(e) === "table" ? X0(La(e)).filter((n) => Is(n) === "caption").bind((n) => X0(si(n)).map((o) => {
const r = o.dom.offsetTop, c = n.dom.offsetTop, u = n.dom.offsetHeight;
return r <= c ? -u : 0;
})).getOr(0) : 0, bs = (e, n) => e.children && ye(e.children, n), Fn = (e, n, o) => {
let r = 0, c = 0;
const u = e.ownerDocument;
if (o = o || e, n) {
if (o === e && n.getBoundingClientRect && gl(ce.fromDom(e), "position") === "static") {
const b = n.getBoundingClientRect();
return r = b.left + (u.documentElement.scrollLeft || e.scrollLeft) - u.documentElement.clientLeft, c = b.top + (u.documentElement.scrollTop || e.scrollTop) - u.documentElement.clientTop, {
x: r,
y: c
};
}
let f = n;
for (; f && f !== o && f.nodeType && !bs(f, o); ) {
const b = f;
r += b.offsetLeft || 0, c += b.offsetTop || 0, f = b.offsetParent;
}
for (f = n.parentNode; f && f !== o && f.nodeType && !bs(f, o); )
r -= f.scrollLeft || 0, c -= f.scrollTop || 0, f = f.parentNode;
c += Eb(ce.fromDom(n));
}
return {
x: r,
y: c
};
}, Rd = (e, n = {}) => {
let o = 0;
const r = {}, c = ce.fromDom(e), u = oi(c), f = (G) => {
n.referrerPolicy = G;
}, b = (G) => {
n.contentCssCors = G;
}, C = (G) => {
qr(rm(c), G);
}, k = (G) => {
const ee = rm(c);
It(ee, "#" + G).each(rr);
}, N = (G) => Zo(r, G).getOrThunk(() => ({