//#region ../../node_modules/dompurify/dist/purify.es.mjs
var { entries: e, setPrototypeOf: t, isFrozen: n, getPrototypeOf: r, getOwnPropertyDescriptor: i } = Object, { freeze: a, seal: o, create: s } = Object, { apply: c, construct: l } = typeof Reflect < "u" && Reflect;
a ||= function(e) {
	return e;
}, o ||= function(e) {
	return e;
}, c ||= function(e, t) {
	var n = [...arguments].slice(2);
	return e.apply(t, n);
}, l ||= function(e) {
	return new e(...[...arguments].slice(1));
};
var u = v(Array.prototype.forEach), d = v(Array.prototype.lastIndexOf), ee = v(Array.prototype.pop), f = v(Array.prototype.push), te = v(Array.prototype.splice), p = v(String.prototype.toLowerCase), ne = v(String.prototype.toString), re = v(String.prototype.match), m = v(String.prototype.replace), ie = v(String.prototype.indexOf), ae = v(String.prototype.trim), h = v(Object.prototype.hasOwnProperty), g = v(RegExp.prototype.test), _ = oe(TypeError);
function v(e) {
	return function(t) {
		t instanceof RegExp && (t.lastIndex = 0);
		var n = [...arguments].slice(1);
		return c(e, t, n);
	};
}
function oe(e) {
	return function() {
		return l(e, [...arguments]);
	};
}
function y(e, r) {
	let i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : p;
	t && t(e, null);
	let a = r.length;
	for (; a--;) {
		let t = r[a];
		if (typeof t == "string") {
			let e = i(t);
			e !== t && (n(r) || (r[a] = e), t = e);
		}
		e[t] = !0;
	}
	return e;
}
function b(e) {
	for (let t = 0; t < e.length; t++) h(e, t) || (e[t] = null);
	return e;
}
function x(t) {
	let n = s(null);
	for (let [r, i] of e(t)) h(t, r) && (Array.isArray(i) ? n[r] = b(i) : i && typeof i == "object" && i.constructor === Object ? n[r] = x(i) : n[r] = i);
	return n;
}
function S(e, t) {
	for (; e !== null;) {
		let n = i(e, t);
		if (n) {
			if (n.get) return v(n.get);
			if (typeof n.value == "function") return v(n.value);
		}
		e = r(e);
	}
	function n() {
		return null;
	}
	return n;
}
var se = a(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr".split(".")), ce = a(/* @__PURE__ */ "svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern".split(".")), le = a([
	"feBlend",
	"feColorMatrix",
	"feComponentTransfer",
	"feComposite",
	"feConvolveMatrix",
	"feDiffuseLighting",
	"feDisplacementMap",
	"feDistantLight",
	"feDropShadow",
	"feFlood",
	"feFuncA",
	"feFuncB",
	"feFuncG",
	"feFuncR",
	"feGaussianBlur",
	"feImage",
	"feMerge",
	"feMergeNode",
	"feMorphology",
	"feOffset",
	"fePointLight",
	"feSpecularLighting",
	"feSpotLight",
	"feTile",
	"feTurbulence"
]), ue = a([
	"animate",
	"color-profile",
	"cursor",
	"discard",
	"font-face",
	"font-face-format",
	"font-face-name",
	"font-face-src",
	"font-face-uri",
	"foreignobject",
	"hatch",
	"hatchpath",
	"mesh",
	"meshgradient",
	"meshpatch",
	"meshrow",
	"missing-glyph",
	"script",
	"set",
	"solidcolor",
	"unknown",
	"use"
]), de = a(/* @__PURE__ */ "math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts".split(".")), fe = a([
	"maction",
	"maligngroup",
	"malignmark",
	"mlongdiv",
	"mscarries",
	"mscarry",
	"msgroup",
	"mstack",
	"msline",
	"msrow",
	"semantics",
	"annotation",
	"annotation-xml",
	"mprescripts",
	"none"
]), pe = a(["#text"]), me = a(/* @__PURE__ */ "accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot".split(".")), he = a(/* @__PURE__ */ "accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan".split(".")), ge = a(/* @__PURE__ */ "accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns".split(".")), _e = a([
	"xlink:href",
	"xml:id",
	"xlink:title",
	"xml:space",
	"xmlns:xlink"
]), ve = o(/\{\{[\w\W]*|[\w\W]*\}\}/gm), ye = o(/<%[\w\W]*|[\w\W]*%>/gm), be = o(/\$\{[\w\W]*/gm), C = o(/^data-[\-\w.\u00B7-\uFFFF]+$/), w = o(/^aria-[\-\w]+$/), xe = o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), Se = o(/^(?:\w+script|data):/i), Ce = o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), we = o(/^html$/i), Te = o(/^[a-z][.\w]*(-[.\w]+)+$/i), Ee = /* @__PURE__ */ Object.freeze({
	__proto__: null,
	ARIA_ATTR: w,
	ATTR_WHITESPACE: Ce,
	CUSTOM_ELEMENT: Te,
	DATA_ATTR: C,
	DOCTYPE_NAME: we,
	ERB_EXPR: ye,
	IS_ALLOWED_URI: xe,
	IS_SCRIPT_OR_DATA: Se,
	MUSTACHE_EXPR: ve,
	TMPLIT_EXPR: be
}), T = {
	element: 1,
	attribute: 2,
	text: 3,
	cdataSection: 4,
	entityReference: 5,
	entityNode: 6,
	progressingInstruction: 7,
	comment: 8,
	document: 9,
	documentType: 10,
	documentFragment: 11,
	notation: 12
}, De = function() {
	return typeof window > "u" ? null : window;
}, Oe = function(e, t) {
	if (typeof e != "object" || typeof e.createPolicy != "function") return null;
	let n = null, r = "data-tt-policy-suffix";
	t && t.hasAttribute(r) && (n = t.getAttribute(r));
	let i = "dompurify" + (n ? "#" + n : "");
	try {
		return e.createPolicy(i, {
			createHTML(e) {
				return e;
			},
			createScriptURL(e) {
				return e;
			}
		});
	} catch {
		return console.warn("TrustedTypes policy " + i + " could not be created."), null;
	}
}, ke = function() {
	return {
		afterSanitizeAttributes: [],
		afterSanitizeElements: [],
		afterSanitizeShadowDOM: [],
		beforeSanitizeAttributes: [],
		beforeSanitizeElements: [],
		beforeSanitizeShadowDOM: [],
		uponSanitizeAttribute: [],
		uponSanitizeElement: [],
		uponSanitizeShadowNode: []
	};
};
function Ae() {
	let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : De(), n = (e) => Ae(e);
	if (n.version = "3.3.1", n.removed = [], !t || !t.document || t.document.nodeType !== T.document || !t.Element) return n.isSupported = !1, n;
	let { document: r } = t, i = r, o = i.currentScript, { DocumentFragment: c, HTMLTemplateElement: l, Node: v, Element: oe, NodeFilter: b, NamedNodeMap: ve = t.NamedNodeMap || t.MozNamedAttrMap, HTMLFormElement: ye, DOMParser: be, trustedTypes: C } = t, w = oe.prototype, Se = S(w, "cloneNode"), Ce = S(w, "remove"), Te = S(w, "nextSibling"), je = S(w, "childNodes"), E = S(w, "parentNode");
	if (typeof l == "function") {
		let e = r.createElement("template");
		e.content && e.content.ownerDocument && (r = e.content.ownerDocument);
	}
	let D, O = "", { implementation: Me, createNodeIterator: Ne, createDocumentFragment: Pe, getElementsByTagName: Fe } = r, { importNode: Ie } = i, k = ke();
	n.isSupported = typeof e == "function" && typeof E == "function" && Me && Me.createHTMLDocument !== void 0;
	let { MUSTACHE_EXPR: Le, ERB_EXPR: Re, TMPLIT_EXPR: ze, DATA_ATTR: Be, ARIA_ATTR: Ve, IS_SCRIPT_OR_DATA: He, ATTR_WHITESPACE: Ue, CUSTOM_ELEMENT: We } = Ee, { IS_ALLOWED_URI: Ge } = Ee, A = null, Ke = y({}, [
		...se,
		...ce,
		...le,
		...de,
		...pe
	]), j = null, qe = y({}, [
		...me,
		...he,
		...ge,
		..._e
	]), M = Object.seal(s(null, {
		tagNameCheck: {
			writable: !0,
			configurable: !1,
			enumerable: !0,
			value: null
		},
		attributeNameCheck: {
			writable: !0,
			configurable: !1,
			enumerable: !0,
			value: null
		},
		allowCustomizedBuiltInElements: {
			writable: !0,
			configurable: !1,
			enumerable: !0,
			value: !1
		}
	})), N = null, Je = null, P = Object.seal(s(null, {
		tagCheck: {
			writable: !0,
			configurable: !1,
			enumerable: !0,
			value: null
		},
		attributeCheck: {
			writable: !0,
			configurable: !1,
			enumerable: !0,
			value: null
		}
	})), Ye = !0, Xe = !0, Ze = !1, Qe = !0, F = !1, I = !0, L = !1, $e = !1, et = !1, R = !1, z = !1, B = !1, tt = !0, nt = !1, rt = !0, V = !1, H = {}, U = null, it = y({}, [
		"annotation-xml",
		"audio",
		"colgroup",
		"desc",
		"foreignobject",
		"head",
		"iframe",
		"math",
		"mi",
		"mn",
		"mo",
		"ms",
		"mtext",
		"noembed",
		"noframes",
		"noscript",
		"plaintext",
		"script",
		"style",
		"svg",
		"template",
		"thead",
		"title",
		"video",
		"xmp"
	]), at = null, ot = y({}, [
		"audio",
		"video",
		"img",
		"source",
		"image",
		"track"
	]), st = null, ct = y({}, [
		"alt",
		"class",
		"for",
		"id",
		"label",
		"name",
		"pattern",
		"placeholder",
		"role",
		"summary",
		"title",
		"value",
		"style",
		"xmlns"
	]), W = "http://www.w3.org/1998/Math/MathML", G = "http://www.w3.org/2000/svg", K = "http://www.w3.org/1999/xhtml", q = K, lt = !1, ut = null, dt = y({}, [
		W,
		G,
		K
	], ne), ft = y({}, [
		"mi",
		"mo",
		"mn",
		"ms",
		"mtext"
	]), pt = y({}, ["annotation-xml"]), mt = y({}, [
		"title",
		"style",
		"font",
		"a",
		"script"
	]), J = null, ht = ["application/xhtml+xml", "text/html"], Y = null, X = null, gt = r.createElement("form"), _t = function(e) {
		return e instanceof RegExp || e instanceof Function;
	}, vt = function() {
		let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
		if (!(X && X === e)) {
			if ((!e || typeof e != "object") && (e = {}), e = x(e), J = ht.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Y = J === "application/xhtml+xml" ? ne : p, A = h(e, "ALLOWED_TAGS") ? y({}, e.ALLOWED_TAGS, Y) : Ke, j = h(e, "ALLOWED_ATTR") ? y({}, e.ALLOWED_ATTR, Y) : qe, ut = h(e, "ALLOWED_NAMESPACES") ? y({}, e.ALLOWED_NAMESPACES, ne) : dt, st = h(e, "ADD_URI_SAFE_ATTR") ? y(x(ct), e.ADD_URI_SAFE_ATTR, Y) : ct, at = h(e, "ADD_DATA_URI_TAGS") ? y(x(ot), e.ADD_DATA_URI_TAGS, Y) : ot, U = h(e, "FORBID_CONTENTS") ? y({}, e.FORBID_CONTENTS, Y) : it, N = h(e, "FORBID_TAGS") ? y({}, e.FORBID_TAGS, Y) : x({}), Je = h(e, "FORBID_ATTR") ? y({}, e.FORBID_ATTR, Y) : x({}), H = h(e, "USE_PROFILES") ? e.USE_PROFILES : !1, Ye = e.ALLOW_ARIA_ATTR !== !1, Xe = e.ALLOW_DATA_ATTR !== !1, Ze = e.ALLOW_UNKNOWN_PROTOCOLS || !1, Qe = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, F = e.SAFE_FOR_TEMPLATES || !1, I = e.SAFE_FOR_XML !== !1, L = e.WHOLE_DOCUMENT || !1, R = e.RETURN_DOM || !1, z = e.RETURN_DOM_FRAGMENT || !1, B = e.RETURN_TRUSTED_TYPE || !1, et = e.FORCE_BODY || !1, tt = e.SANITIZE_DOM !== !1, nt = e.SANITIZE_NAMED_PROPS || !1, rt = e.KEEP_CONTENT !== !1, V = e.IN_PLACE || !1, Ge = e.ALLOWED_URI_REGEXP || xe, q = e.NAMESPACE || K, ft = e.MATHML_TEXT_INTEGRATION_POINTS || ft, pt = e.HTML_INTEGRATION_POINTS || pt, M = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && _t(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (M.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && _t(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (M.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (M.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), F && (Xe = !1), z && (R = !0), H && (A = y({}, pe), j = [], H.html === !0 && (y(A, se), y(j, me)), H.svg === !0 && (y(A, ce), y(j, he), y(j, _e)), H.svgFilters === !0 && (y(A, le), y(j, he), y(j, _e)), H.mathMl === !0 && (y(A, de), y(j, ge), y(j, _e))), e.ADD_TAGS && (typeof e.ADD_TAGS == "function" ? P.tagCheck = e.ADD_TAGS : (A === Ke && (A = x(A)), y(A, e.ADD_TAGS, Y))), e.ADD_ATTR && (typeof e.ADD_ATTR == "function" ? P.attributeCheck = e.ADD_ATTR : (j === qe && (j = x(j)), y(j, e.ADD_ATTR, Y))), e.ADD_URI_SAFE_ATTR && y(st, e.ADD_URI_SAFE_ATTR, Y), e.FORBID_CONTENTS && (U === it && (U = x(U)), y(U, e.FORBID_CONTENTS, Y)), e.ADD_FORBID_CONTENTS && (U === it && (U = x(U)), y(U, e.ADD_FORBID_CONTENTS, Y)), rt && (A["#text"] = !0), L && y(A, [
				"html",
				"head",
				"body"
			]), A.table && (y(A, ["tbody"]), delete N.tbody), e.TRUSTED_TYPES_POLICY) {
				if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw _("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
				if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw _("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
				D = e.TRUSTED_TYPES_POLICY, O = D.createHTML("");
			} else D === void 0 && (D = Oe(C, o)), D !== null && typeof O == "string" && (O = D.createHTML(""));
			a && a(e), X = e;
		}
	}, yt = y({}, [
		...ce,
		...le,
		...ue
	]), bt = y({}, [...de, ...fe]), xt = function(e) {
		let t = E(e);
		(!t || !t.tagName) && (t = {
			namespaceURI: q,
			tagName: "template"
		});
		let n = p(e.tagName), r = p(t.tagName);
		return ut[e.namespaceURI] ? e.namespaceURI === G ? t.namespaceURI === K ? n === "svg" : t.namespaceURI === W ? n === "svg" && (r === "annotation-xml" || ft[r]) : !!yt[n] : e.namespaceURI === W ? t.namespaceURI === K ? n === "math" : t.namespaceURI === G ? n === "math" && pt[r] : !!bt[n] : e.namespaceURI === K ? t.namespaceURI === G && !pt[r] || t.namespaceURI === W && !ft[r] ? !1 : !bt[n] && (mt[n] || !yt[n]) : !!(J === "application/xhtml+xml" && ut[e.namespaceURI]) : !1;
	}, Z = function(e) {
		f(n.removed, { element: e });
		try {
			E(e).removeChild(e);
		} catch {
			Ce(e);
		}
	}, Q = function(e, t) {
		try {
			f(n.removed, {
				attribute: t.getAttributeNode(e),
				from: t
			});
		} catch {
			f(n.removed, {
				attribute: null,
				from: t
			});
		}
		if (t.removeAttribute(e), e === "is") if (R || z) try {
			Z(t);
		} catch {}
		else try {
			t.setAttribute(e, "");
		} catch {}
	}, St = function(e) {
		let t = null, n = null;
		if (et) e = "<remove></remove>" + e;
		else {
			let t = re(e, /^[\r\n\t ]+/);
			n = t && t[0];
		}
		J === "application/xhtml+xml" && q === K && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
		let i = D ? D.createHTML(e) : e;
		if (q === K) try {
			t = new be().parseFromString(i, J);
		} catch {}
		if (!t || !t.documentElement) {
			t = Me.createDocument(q, "template", null);
			try {
				t.documentElement.innerHTML = lt ? O : i;
			} catch {}
		}
		let a = t.body || t.documentElement;
		return e && n && a.insertBefore(r.createTextNode(n), a.childNodes[0] || null), q === K ? Fe.call(t, L ? "html" : "body")[0] : L ? t.documentElement : a;
	}, Ct = function(e) {
		return Ne.call(e.ownerDocument || e, e, b.SHOW_ELEMENT | b.SHOW_COMMENT | b.SHOW_TEXT | b.SHOW_PROCESSING_INSTRUCTION | b.SHOW_CDATA_SECTION, null);
	}, wt = function(e) {
		return e instanceof ye && (typeof e.nodeName != "string" || typeof e.textContent != "string" || typeof e.removeChild != "function" || !(e.attributes instanceof ve) || typeof e.removeAttribute != "function" || typeof e.setAttribute != "function" || typeof e.namespaceURI != "string" || typeof e.insertBefore != "function" || typeof e.hasChildNodes != "function");
	}, Tt = function(e) {
		return typeof v == "function" && e instanceof v;
	};
	function $(e, t, r) {
		u(e, (e) => {
			e.call(n, t, r, X);
		});
	}
	let Et = function(e) {
		let t = null;
		if ($(k.beforeSanitizeElements, e, null), wt(e)) return Z(e), !0;
		let r = Y(e.nodeName);
		if ($(k.uponSanitizeElement, e, {
			tagName: r,
			allowedTags: A
		}), I && e.hasChildNodes() && !Tt(e.firstElementChild) && g(/<[/\w!]/g, e.innerHTML) && g(/<[/\w!]/g, e.textContent) || e.nodeType === T.progressingInstruction || I && e.nodeType === T.comment && g(/<[/\w]/g, e.data)) return Z(e), !0;
		if (!(P.tagCheck instanceof Function && P.tagCheck(r)) && (!A[r] || N[r])) {
			if (!N[r] && Ot(r) && (M.tagNameCheck instanceof RegExp && g(M.tagNameCheck, r) || M.tagNameCheck instanceof Function && M.tagNameCheck(r))) return !1;
			if (rt && !U[r]) {
				let t = E(e) || e.parentNode, n = je(e) || e.childNodes;
				if (n && t) {
					let r = n.length;
					for (let i = r - 1; i >= 0; --i) {
						let r = Se(n[i], !0);
						r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r, Te(e));
					}
				}
			}
			return Z(e), !0;
		}
		return e instanceof oe && !xt(e) || (r === "noscript" || r === "noembed" || r === "noframes") && g(/<\/no(script|embed|frames)/i, e.innerHTML) ? (Z(e), !0) : (F && e.nodeType === T.text && (t = e.textContent, u([
			Le,
			Re,
			ze
		], (e) => {
			t = m(t, e, " ");
		}), e.textContent !== t && (f(n.removed, { element: e.cloneNode() }), e.textContent = t)), $(k.afterSanitizeElements, e, null), !1);
	}, Dt = function(e, t, n) {
		if (tt && (t === "id" || t === "name") && (n in r || n in gt)) return !1;
		if (!(Xe && !Je[t] && g(Be, t)) && !(Ye && g(Ve, t)) && !(P.attributeCheck instanceof Function && P.attributeCheck(t, e))) {
			if (!j[t] || Je[t]) {
				if (!(Ot(e) && (M.tagNameCheck instanceof RegExp && g(M.tagNameCheck, e) || M.tagNameCheck instanceof Function && M.tagNameCheck(e)) && (M.attributeNameCheck instanceof RegExp && g(M.attributeNameCheck, t) || M.attributeNameCheck instanceof Function && M.attributeNameCheck(t, e)) || t === "is" && M.allowCustomizedBuiltInElements && (M.tagNameCheck instanceof RegExp && g(M.tagNameCheck, n) || M.tagNameCheck instanceof Function && M.tagNameCheck(n)))) return !1;
			} else if (!st[t] && !g(Ge, m(n, Ue, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && ie(n, "data:") === 0 && at[e]) && !(Ze && !g(He, m(n, Ue, ""))) && n) return !1;
		}
		return !0;
	}, Ot = function(e) {
		return e !== "annotation-xml" && re(e, We);
	}, kt = function(e) {
		$(k.beforeSanitizeAttributes, e, null);
		let { attributes: t } = e;
		if (!t || wt(e)) return;
		let r = {
			attrName: "",
			attrValue: "",
			keepAttr: !0,
			allowedAttributes: j,
			forceKeepAttr: void 0
		}, i = t.length;
		for (; i--;) {
			let { name: a, namespaceURI: o, value: s } = t[i], c = Y(a), l = s, d = a === "value" ? l : ae(l);
			if (r.attrName = c, r.attrValue = d, r.keepAttr = !0, r.forceKeepAttr = void 0, $(k.uponSanitizeAttribute, e, r), d = r.attrValue, nt && (c === "id" || c === "name") && (Q(a, e), d = "user-content-" + d), I && g(/((--!?|])>)|<\/(style|title|textarea)/i, d)) {
				Q(a, e);
				continue;
			}
			if (c === "attributename" && re(d, "href")) {
				Q(a, e);
				continue;
			}
			if (r.forceKeepAttr) continue;
			if (!r.keepAttr) {
				Q(a, e);
				continue;
			}
			if (!Qe && g(/\/>/i, d)) {
				Q(a, e);
				continue;
			}
			F && u([
				Le,
				Re,
				ze
			], (e) => {
				d = m(d, e, " ");
			});
			let f = Y(e.nodeName);
			if (!Dt(f, c, d)) {
				Q(a, e);
				continue;
			}
			if (D && typeof C == "object" && typeof C.getAttributeType == "function" && !o) switch (C.getAttributeType(f, c)) {
				case "TrustedHTML":
					d = D.createHTML(d);
					break;
				case "TrustedScriptURL":
					d = D.createScriptURL(d);
					break;
			}
			if (d !== l) try {
				o ? e.setAttributeNS(o, a, d) : e.setAttribute(a, d), wt(e) ? Z(e) : ee(n.removed);
			} catch {
				Q(a, e);
			}
		}
		$(k.afterSanitizeAttributes, e, null);
	}, At = function e(t) {
		let n = null, r = Ct(t);
		for ($(k.beforeSanitizeShadowDOM, t, null); n = r.nextNode();) $(k.uponSanitizeShadowNode, n, null), Et(n), kt(n), n.content instanceof c && e(n.content);
		$(k.afterSanitizeShadowDOM, t, null);
	};
	return n.sanitize = function(e) {
		let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = null, a = null, o = null, s = null;
		if (lt = !e, lt && (e = "<!-->"), typeof e != "string" && !Tt(e)) if (typeof e.toString == "function") {
			if (e = e.toString(), typeof e != "string") throw _("dirty is not a string, aborting");
		} else throw _("toString is not a function");
		if (!n.isSupported) return e;
		if ($e || vt(t), n.removed = [], typeof e == "string" && (V = !1), V) {
			if (e.nodeName) {
				let t = Y(e.nodeName);
				if (!A[t] || N[t]) throw _("root node is forbidden and cannot be sanitized in-place");
			}
		} else if (e instanceof v) r = St("<!---->"), a = r.ownerDocument.importNode(e, !0), a.nodeType === T.element && a.nodeName === "BODY" || a.nodeName === "HTML" ? r = a : r.appendChild(a);
		else {
			if (!R && !F && !L && e.indexOf("<") === -1) return D && B ? D.createHTML(e) : e;
			if (r = St(e), !r) return R ? null : B ? O : "";
		}
		r && et && Z(r.firstChild);
		let l = Ct(V ? e : r);
		for (; o = l.nextNode();) Et(o), kt(o), o.content instanceof c && At(o.content);
		if (V) return e;
		if (R) {
			if (z) for (s = Pe.call(r.ownerDocument); r.firstChild;) s.appendChild(r.firstChild);
			else s = r;
			return (j.shadowroot || j.shadowrootmode) && (s = Ie.call(i, s, !0)), s;
		}
		let d = L ? r.outerHTML : r.innerHTML;
		return L && A["!doctype"] && r.ownerDocument && r.ownerDocument.doctype && r.ownerDocument.doctype.name && g(we, r.ownerDocument.doctype.name) && (d = "<!DOCTYPE " + r.ownerDocument.doctype.name + ">\n" + d), F && u([
			Le,
			Re,
			ze
		], (e) => {
			d = m(d, e, " ");
		}), D && B ? D.createHTML(d) : d;
	}, n.setConfig = function() {
		vt(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), $e = !0;
	}, n.clearConfig = function() {
		X = null, $e = !1;
	}, n.isValidAttribute = function(e, t, n) {
		return X || vt({}), Dt(Y(e), Y(t), n);
	}, n.addHook = function(e, t) {
		typeof t == "function" && f(k[e], t);
	}, n.removeHook = function(e, t) {
		if (t !== void 0) {
			let n = d(k[e], t);
			return n === -1 ? void 0 : te(k[e], n, 1)[0];
		}
		return ee(k[e]);
	}, n.removeHooks = function(e) {
		k[e] = [];
	}, n.removeAllHooks = function() {
		k = ke();
	}, n;
}
var je = Ae();
//#endregion
export { je as purify };
