您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
F-L Drag&Drop for CustomFetishes & SubFetishes
// ==UserScript== // @name F-L Drag&Drop 1.0 // @namespace http://tampermonkey.net/ // @version 1.0.3 // @description // @author ZyLyXy // @match https://www.f-list.net/character_edit.php* // @grant none // @run-at document-idle // @description F-L Drag&Drop for CustomFetishes & SubFetishes // ==/UserScript== "use strict"; (function () { function la(a) { a = typeof a; return "string" === a || "number" === a; } function t(a) { return void 0 === a || null === a; } function Z(a) { return null === a || !1 === a || !0 === a || void 0 === a; } function w(a) { return "function" === typeof a; } function aa(a) { return "string" === typeof a; } function L(a, b) { var c = {}; if (a) for (var d in a) c[d] = a[d]; if (b) for (var e in b) c[e] = b[e]; return c; } function za(a) { return null !== a && "object" === typeof a; } function ma(a, b, c) { null === c ? a.appendChild(b) : a.insertBefore(b, c); } function Ra(a) { for (var b = 0; b < a.length; b++) a[b](); } function G(a, b) { for (var c; a; ) { c = a.flags; if (c & 2033) return a.dom; var d = a.children; a = c & 4 ? d.$LI : c & 8192 ? (2 === a.childFlags ? d : d[b ? 0 : d.length - 1]) : d; } return null; } function ba(a, b) { do { var c = a.flags; if (c & 2033) { b.removeChild(a.dom); break; } var d = a.children; c & 4 && (a = d.$LI); c & 8 && (a = d); if (c & 8192) if (2 === a.childFlags) a = d; else { a = 0; for (c = d.length; a < c; ++a) ba(d[a], b); break; } } while (a); } function Sa(a, b, c) { do { var d = a.flags; if (d & 2033) { ma(b, a.dom, c); break; } var e = a.children; d & 4 && (a = e.$LI); d & 8 && (a = e); if (d & 8192) if (2 === a.childFlags) a = e; else { a = 0; for (d = e.length; a < d; ++a) Sa(e[a], b, c); break; } } while (a); } function Ta(a, b, c) { return a.constructor.getDerivedStateFromProps ? L(c, a.constructor.getDerivedStateFromProps(b, c)) : c; } function Ua(a, b) { return za(a) && a.event === b.event && a.data === b.data; } function Va(a, b) { for (var c in b) void 0 === a[c] && (a[c] = b[c]); return a; } function Aa(a, b) { return !!w(a) && (a(b), !0); } function na(a, b, c, d, e, f, g, h) { this.childFlags = a; this.children = b; this.className = c; this.dom = null; this.flags = d; this.key = void 0 === e ? null : e; this.props = void 0 === f ? null : f; this.ref = void 0 === g ? null : g; this.type = h; } function r(a, b, c, d, e, f, g, h) { e = void 0 === e ? 1 : e; a = new na(e, d, c, a, g, f, h, b); W.createVNode && W.createVNode(a); 0 === e && Wa(a, a.children); return a; } function l(a, b, c, d, e) { var f = (a = a & 12 ? a : b.prototype && b.prototype.render ? 4 : b.render ? 32776 : 8); var g = (a & 32768 ? b.render : b).defaultProps; c = t(g) ? c : t(c) ? L(g, null) : Va(c, g); a & 4 || ((a = (a & 32768 ? b.render : b).defaultHooks), (e = t(a) ? e : t(e) ? a : Va(e, a))); b = new na(1, null, null, f, d, c, e, b); W.createVNode && W.createVNode(b); return b; } function M(a, b) { return new na(1, t(a) || !0 === a || !1 === a ? "" : a, null, 16, b, null, null, null); } function oa(a, b, c) { b = r(8192, 8192, null, a, b, null, c, null); switch (b.childFlags) { case 1: b.children = M("", null); b.childFlags = 2; break; case 16: (b.children = [M(a)]), (b.childFlags = 4); } return b; } function Ba(a) { var b = a.props; if (b) { var c = a.flags; c & 481 && (void 0 !== b.children && t(a.children) && Wa(a, b.children), void 0 !== b.className && ((a.className = b.className || null), (b.className = void 0))); void 0 !== b.key && ((a.key = b.key), (b.key = void 0)); void 0 !== b.ref && ((a.ref = c & 8 ? L(a.ref, b.ref) : b.ref), (b.ref = void 0)); } return a; } function B(a) { var b = a.flags & -16385, c = a.props; if (b & 14 && null !== c) { var d = c; c = {}; for (var e in d) c[e] = d[e]; } if (0 === (b & 8192)) return new na(a.childFlags, a.children, a.className, b, a.key, c, a.ref, a.type); b = a.children; c = a.childFlags; if (2 === c) var f = B(b); else if (c & 12) for (f = [], d = 0, e = b.length; d < e; ++d) f.push(B(b[d])); return oa(f, c, a.key); } function Xa(a, b, c, d) { for (var e = a.length; c < e; c++) { var f = a[c]; if (!Z(f)) { var g = d + "$" + c; if (ca(f)) Xa(f, b, 0, g); else { if (la(f)) f = M(f, g); else { var h = f.key, q = aa(h) && "$" === h[0]; if (f.flags & 81920 || q) f = B(f); f.flags |= 65536; q ? h.substring(0, d.length) !== d && (f.key = d + h) : (f.key = null === h ? g : d + h); } b.push(f); } } } } function Wa(a, b) { var c = 1; if (Z(b)) var d = b; else if (la(b)) (c = 16), (d = b); else if (ca(b)) { c = b.length; for (var e = 0; e < c; ++e) { var f = b[e]; if (Z(f) || ca(f)) { d = d || b.slice(0, e); Xa(b, d, e, ""); break; } else if (la(f)) (d = d || b.slice(0, e)), d.push(M(f, "$" + e)); else { var g = f.key, h = 0 < (f.flags & 81920), q = null === g; g = aa(g) && "$" === g[0]; if (h || q || g) { d = d || b.slice(0, e); if (h || g) f = B(f); if (q || g) f.key = "$" + e; d.push(f); } else d && d.push(f); f.flags |= 65536; } } d = d || b; c = 0 === d.length ? 1 : 8; } else (d = b), (d.flags |= 65536), b.flags & 81920 && (d = B(b)), (c = 2); a.children = d; a.childFlags = c; return a; } function Ca(a) { return Z(a) || la(a) ? M(a, null) : ca(a) ? oa(a, 0, null) : a.flags & 16384 ? B(a) : a; } function pa(a) { return { onClick: a, onDblClick: a, onFocusIn: a, onFocusOut: a, onKeyDown: a, onKeyPress: a, onKeyUp: a, onMouseDown: a, onMouseMove: a, onMouseUp: a, onTouchEnd: a, onTouchMove: a, onTouchStart: a }; } function Ya(a, b) { var c = b.$EV; c || (c = b.$EV = pa(null)); c[a] || 1 !== ++Za[a] || ((b = "onClick" === a || "onDblClick" === a ? Hb(a) : Ib(a)), document.addEventListener(a.substr(2).toLowerCase(), b), (Da[a] = b)); return c; } function $a(a, b) { (b = b.$EV) && b[a] && (0 === --Za[a] && (document.removeEventListener(a.substr(2).toLowerCase(), Da[a]), (Da[a] = null)), (b[a] = null)); } function ab(a, b, c, d) { var e = w(a.composedPath) ? a.composedPath()[0] : a.target; do { if (b && e.disabled) break; var f = e.$EV; if (f && (f = f[c]) && ((d.dom = e), f.event ? f.event(f.data, a) : f(a), a.cancelBubble)) break; e = e.parentNode; } while (null !== e); } function Jb() { this.cancelBubble = !0; this.immediatePropagationStopped || this.stopImmediatePropagation(); } function Kb() { return this.defaultPrevented; } function Lb() { return this.cancelBubble; } function bb(a) { var b = { dom: document }; a.isDefaultPrevented = Kb; a.isPropagationStopped = Lb; a.stopPropagation = Jb; Object.defineProperty(a, "currentTarget", { configurable: !0, get: function () { return b.dom; }, }); return b; } function Hb(a) { return function (b) { 0 !== b.button ? b.stopPropagation() : ab(b, !0, a, bb(b)); }; } function Ib(a) { return function (b) { ab(b, !1, a, bb(b)); }; } function cb(a, b, c) { if (a[b]) (a = a[b]), a.event ? a.event(a.data, c) : a(c); else if (((b = b.toLowerCase()), a[b])) a[b](c); } function da(a, b) { var c = function (c) { var d = this.$V; if (d) { var f = d.props || x; d = d.dom; if (aa(a)) cb(f, a, c); else for (var g = 0; g < a.length; ++g) cb(f, a[g], c); w(b) && ((c = this.$V), b(c.props || x, d, !1, c)); } }; Object.defineProperty(c, "wrapped", { configurable: !1, enumerable: !1, value: !0, writable: !1 }); return c; } function P(a, b, c) { var d = "$" + b, e = a[d]; if (e) { if (e[1].wrapped) return; a.removeEventListener(e[0], e[1]); a[d] = null; } w(c) && (a.addEventListener(b, c), (a[d] = [b, c])); } function Ea(a) { return "checkbox" === a || "radio" === a; } function db(a) { a.stopPropagation(); } function qa(a, b) { var c = a.type, d = a.value, e = a.checked, f = a.multiple; a = a.defaultValue; var g = !t(d); c && c !== b.type && b.setAttribute("type", c); t(f) || f === b.multiple || (b.multiple = f); t(a) || g || (b.defaultValue = a + ""); Ea(c) ? (g && (b.value = d), t(e) || (b.checked = e)) : g && b.value !== d ? ((b.defaultValue = d), (b.value = d)) : t(e) || (b.checked = e); } function ea(a, b) { if ("option" === a.type) { var c = a.props || x; a = a.dom; a.value = c.value; c.value === b || (ca(b) && -1 !== b.indexOf(c.value)) ? (a.selected = !0) : (t(b) && t(c.selected)) || (a.selected = c.selected || !1); } else { c = a.children; var d = a.flags; if (d & 4) ea(c.$LI, b); else if (d & 8) ea(c, b); else if (2 === a.childFlags) ea(c, b); else if (a.childFlags & 12) for (a = 0, d = c.length; a < d; ++a) ea(c[a], b); } } function Fa(a, b, c, d) { var e = !!a.multiple; t(a.multiple) || e === b.multiple || (b.multiple = e); e = a.selectedIndex; -1 === e && (b.selectedIndex = -1); if (1 !== d.childFlags) { var f = a.value; "number" === typeof e && -1 < e && b.options[e] && (f = b.options[e].value); c && t(f) && (f = a.defaultValue); ea(d, f); } } function Ga(a, b, c) { var d = a.value, e = b.value; t(d) ? c && ((a = a.defaultValue), t(a) || a === e || ((b.defaultValue = a), (b.value = a))) : e !== d && ((b.defaultValue = d), (b.value = d)); } function eb(a) { return a.type && Ea(a.type) ? !t(a.checked) : !t(a.value); } function ra(a) { a && !Aa(a, null) && a.current && (a.current = null); } function sa(a, b, c) { a && (w(a) || void 0 !== a.current) && c.push(function () { Aa(a, b) || void 0 === a.current || (a.current = b); }); } function F(a, b) { I(a); ba(a, b); } function I(a) { var b = a.flags, c = a.children; if (b & 481) { b = a.ref; var d = a.props; ra(b); b = a.childFlags; if (null !== d) { d = Object.keys(d); for (var e = 0, f = d.length; e < f; e++) { var g = d[e]; fb[g] && $a(g, a.dom); } } b & 12 ? fa(c) : 2 === b && I(c); } else if (c) if (b & 4) w(c.componentWillUnmount) && c.componentWillUnmount(), ra(a.ref), (c.$UN = !0), I(c.$LI); else if (b & 8) { b = a.ref; if (!t(b) && w(b.onComponentWillUnmount)) b.onComponentWillUnmount(G(a, !0), a.props || x); I(c); } else b & 1024 ? F(c, a.ref) : b & 8192 && a.childFlags & 12 && fa(c); } function fa(a) { for (var b = 0, c = a.length; b < c; ++b) I(a[b]); } function ta(a, b, c) { fa(c); b.flags & 8192 ? ba(b, a) : (a.textContent = ""); } function Mb(a) { var b = a.event; return function (c) { b(a.data, c); }; } function Ha(a, b, c, d, e, f, g) { switch (a) { case "children": case "childrenType": case "className": case "defaultValue": case "key": case "multiple": case "ref": case "selectedIndex": break; case "autoFocus": d.autofocus = !!c; break; case "allowfullscreen": case "autoplay": case "capture": case "checked": case "controls": case "default": case "disabled": case "hidden": case "indeterminate": case "loop": case "muted": case "novalidate": case "open": case "readOnly": case "required": case "reversed": case "scoped": case "seamless": case "selected": d[a] = !!c; break; case "defaultChecked": case "value": case "volume": if (f && "value" === a) break; b = t(c) ? "" : c; d[a] !== b && (d[a] = b); break; case "style": if (t(c)) d.removeAttribute("style"); else { d = d.style; var h; if (aa(c)) d.cssText = c; else if (t(b) || aa(b)) for (h in c) (g = c[h]), d.setProperty(h, g); else { for (h in c) (g = c[h]), g !== b[h] && d.setProperty(h, g); for (h in b) t(c[h]) && d.removeProperty(h); } } break; case "dangerouslySetInnerHTML": a = (c && c.__html) || ""; if ((b = ((b && b.__html) || "") !== a)) if ((b = !t(a))) (b = document.createElement("i")), (b.innerHTML = a), (b = b.innerHTML !== d.innerHTML); b && (null !== g && (g.childFlags & 12 ? fa(g.children) : 2 === g.childFlags && I(g.children), (g.children = null), (g.childFlags = 1)), (d.innerHTML = a)); break; default: if (fb[a]) w(c) ? (Ya(a, d)[a] = c) : za(c) ? Ua(b, c) || (Ya(a, d)[a] = c) : $a(a, d); else if (111 === a.charCodeAt(0) && 110 === a.charCodeAt(1)) a: { g = c; if (za(g)) { if (Ua(b, g)) break a; g = Mb(g); } P(d, a.substr(2).toLowerCase(), g); } else t(c) ? d.removeAttribute(a) : e && gb[a] ? d.setAttributeNS(gb[a], a, c) : d.setAttribute(a, c); } } function hb(a, b, c) { b = Ca(a.render(b, a.state, c)); var d = c; w(a.getChildContext) && (d = L(c, a.getChildContext())); a.$CX = d; return b; } function D(a, b, c, d, e, f) { var g = (a.flags |= 16384); if (g & 481) { var h = d; d = a.flags; var q = a.props, k = a.className, n = a.children, v = a.childFlags; g = a.type; g = (h = h || 0 < (d & 32)) ? document.createElementNS("http://www.w3.org/2000/svg", g) : document.createElement(g); g = a.dom = g; t(k) || "" === k || (h ? g.setAttribute("class", k) : (g.className = k)); 16 === v ? (g.textContent = n) : 1 !== v && ((k = h && "foreignObject" !== a.type), 2 === v ? (n.flags & 16384 && (a.children = n = B(n)), D(n, g, c, k, null, f)) : (8 !== v && 4 !== v) || Q(n, g, c, k, null, f)); null === b || ma(b, g, e); if (null !== q) { b = h; e = !1; if ((c = 0 < (d & 448))) if ((e = eb(q))) d & 64 ? (Ea(q.type) ? (P(g, "change", Nb), P(g, "click", db)) : P(g, "input", Ob)) : d & 256 ? P(g, "change", Pb) : d & 128 && (P(g, "input", Qb), q.onChange && P(g, "change", Rb)); for (var p in q) Ha(p, null, q[p], g, b, e, null); c && ((b = e), d & 64 ? qa(q, g) : d & 256 ? Fa(q, g, !0, a) : d & 128 && Ga(q, g, !0), b && (g.$V = a)); } sa(a.ref, g, f); } else if (g & 4) { h = a.type; p = a.props || x; g = new h(p, c); h = g.$N = !(!h.getDerivedStateFromProps && !g.getSnapshotBeforeUpdate); g.$SVG = d; g.$L = f; a.children = g; g.$BS = !1; g.context = c; g.props === x && (g.props = p); if (h) g.state = Ta(g, p, g.state); else if (w(g.componentWillMount)) { g.$BR = !0; g.componentWillMount(); h = g.$PS; if (null !== h) { n = g.state; if (null === n) g.state = h; else for (q in h) n[q] = h[q]; g.$PS = null; } g.$BR = !1; } g.$LI = hb(g, p, c); D(g.$LI, b, g.$CX, d, e, f); sa(a.ref, g, f); w(g.componentDidMount) && f.push(Sb(g)); } else g & 8 ? ((p = a.flags & 32768 ? a.type.render(a.props || x, a.ref, c) : a.type(a.props || x, c)), D((a.children = Ca(p)), b, c, d, e, f), (b = a.ref), t(b) || (Aa(b.onComponentWillMount, a.props || x), w(b.onComponentDidMount) && f.push(Tb(b, a)))) : g & 512 || g & 16 ? ((a = a.dom = document.createTextNode(a.children)), null !== b && ma(b, a, e)) : g & 8192 ? ((p = a.children), (q = a.childFlags), q & 12 && 0 === p.length && ((q = a.childFlags = 2), (p = a.children = M("", null))), 2 === q ? D(p, b, e, d, e, f) : Q(p, b, c, d, e, f)) : g & 1024 && (D(a.children, a.ref, c, !1, null, f), (f = M("", null)), (c = f.dom = document.createTextNode(f.children)), null !== b && ma(b, c, e), (a.dom = f.dom)); } function Q(a, b, c, d, e, f) { for (var g = 0; g < a.length; ++g) { var h = a[g]; h.flags & 16384 && (a[g] = h = B(h)); D(h, b, c, d, e, f); } } function Sb(a) { return function () { a.componentDidMount(); }; } function Tb(a, b) { return function () { a.onComponentDidMount(G(b, !0), b.props || x); }; } function J(a, b, c, d, e, f, g) { var h = (b.flags |= 16384); if (a.flags !== h || a.type !== b.type || a.key !== b.key || h & 2048) a.flags & 16384 ? (I(a), 0 !== (b.flags & a.flags & 2033) ? (D(b, null, d, e, null, g), c.replaceChild(b.dom, a.dom)) : (D(b, c, d, e, G(a, !0), g), ba(a, c))) : D(b, c, d, e, f, g); else if (h & 481) { c = b.dom = a.dom; var q = a.props, k = b.props, n = !1; f = !1; e = e || 0 < (h & 32); if (q !== k) { q = q || x; var v = k || x; if (v !== x) { (n = 0 < (h & 448)) && (f = eb(v)); for (var p in v) { k = q[p]; var u = v[p]; k !== u && Ha(p, k, u, c, e, f, a); } } if (q !== x) for (var m in q) t(v[m]) && !t(q[m]) && Ha(m, q[m], null, c, e, f, a); } p = b.children; m = b.className; a.className !== m && (t(m) ? c.removeAttribute("class") : e ? c.setAttribute("class", m) : (c.className = m)); h & 4096 ? c.textContent !== p && (c.textContent = p) : Ia(a.childFlags, b.childFlags, a.children, p, c, d, e && "foreignObject" !== b.type, null, a, g); n && ((d = v), (e = f), h & 64 ? qa(d, c) : h & 256 ? Fa(d, c, !1, b) : h & 128 && Ga(d, c, !1), e && (c.$V = b)); d = b.ref; a = a.ref; a !== d && (ra(a), sa(d, c, g)); } else if (h & 4) a: { if (((h = b.children = a.children), null !== h)) { h.$L = g; v = b.props || x; b = b.ref; a = a.ref; n = h.state; if (!h.$N) { if (w(h.componentWillReceiveProps)) { h.$BR = !0; h.componentWillReceiveProps(v, d); if (h.$UN) break a; h.$BR = !1; } null !== h.$PS && ((n = L(n, h.$PS)), (h.$PS = null)); } ib(h, n, v, c, d, e, !1, f, g); a !== b && (ra(a), sa(b, h, g)); } } else if (h & 8) if (((m = !0), (h = b.props || x), (v = b.ref), (n = a.props), (p = !t(v)), (a = a.children), p && w(v.onComponentShouldUpdate) && (m = v.onComponentShouldUpdate(n, h)), !1 !== m)) { if (p && w(v.onComponentWillUpdate)) v.onComponentWillUpdate(n, h); m = b.type; m = Ca(b.flags & 32768 ? m.render(h, v, d) : m(h, d)); J(a, m, c, d, e, f, g); b.children = m; if (p && w(v.onComponentDidUpdate)) v.onComponentDidUpdate(n, h); } else b.children = a; else h & 16 ? ((g = b.children), (d = b.dom = a.dom), g !== a.children && (d.nodeValue = g)) : h & 512 ? (b.dom = a.dom) : h & 8192 ? ((f = a.children), (h = b.children), (v = a.childFlags), (n = b.childFlags), (p = null), n & 12 && 0 === h.length && ((n = b.childFlags = 2), (h = b.children = M("", null))), (b = 0 !== (n & 2)), v & 12 && ((m = f.length), (v & 8 && n & 8) || b || (!b && h.length > m)) && (p = G(f[m - 1], !1).nextSibling), Ia(v, n, f, h, c, d, e, p, a, g)) : ((e = a.ref), (c = b.ref), (f = b.children), Ia(a.childFlags, b.childFlags, a.children, f, e, d, !1, null, a, g), (b.dom = a.dom), e === c || Z(f) || ((g = f.dom), e.removeChild(g), c.appendChild(g))); } function Ia(a, b, c, d, e, f, g, h, q, k) { switch (a) { case 2: switch (b) { case 2: J(c, d, e, f, g, h, k); break; case 1: F(c, e); break; case 16: I(c); e.textContent = d; break; default: I(c), Q(d, e, f, g, G(c, !0), k), ba(c, e); } break; case 1: switch (b) { case 2: D(d, e, f, g, h, k); break; case 1: break; case 16: e.textContent = d; break; default: Q(d, e, f, g, h, k); } break; case 16: switch (b) { case 16: c !== d && ("" !== c ? (e.firstChild.nodeValue = d) : (e.textContent = d)); break; case 2: e.textContent = ""; D(d, e, f, g, h, k); break; case 1: e.textContent = ""; break; default: (e.textContent = ""), Q(d, e, f, g, h, k); } break; default: switch (b) { case 16: fa(c); e.textContent = d; break; case 2: ta(e, q, c); D(d, e, f, g, h, k); break; case 1: ta(e, q, c); break; default: var n = c.length | 0, v = d.length | 0; if (0 === n) 0 < v && Q(d, e, f, g, h, k); else if (0 === v) ta(e, q, c); else if (8 === b && 8 === a) { var p = n - 1; b = v - 1; a = 0; var u = c[a], m = d[a]; a: { for (; u.key === m.key; ) { m.flags & 16384 && (d[a] = m = B(m)); J(u, m, e, f, g, h, k); c[a] = m; ++a; if (a > p || a > b) break a; u = c[a]; m = d[a]; } u = c[p]; for (m = d[b]; u.key === m.key; ) { m.flags & 16384 && (d[b] = m = B(m)); J(u, m, e, f, g, h, k); c[p] = m; p--; b--; if (a > p || a > b) break a; u = c[p]; m = d[b]; } } if (a > p) { if (a <= b) for (c = b + 1, h = c < v ? G(d[c], !0) : h; a <= b; ) (m = d[a]), m.flags & 16384 && (d[a] = m = B(m)), ++a, D(m, e, f, g, h, k); } else if (a > b) for (; a <= p; ) F(c[a++], e); else { var r = b; u = a; var t = u; a = u; var l = p - u + 1; m = r - u + 1; b = new Int32Array(m + 1); var w = l === n, z = !1, x = 0, A = 0; if (4 > v || 32 > (l | m)) for (l = t; l <= p; ++l) { var y = c[l]; if (A < m) { for (u = a; u <= r; u++) if (((n = d[u]), y.key === n.key)) { b[u - a] = l + 1; if (w) for (w = !1; t < l; ) F(c[t++], e); x > u ? (z = !0) : (x = u); n.flags & 16384 && (d[u] = n = B(n)); J(y, n, e, f, g, h, k); ++A; break; } !w && u > r && F(y, e); } else w || F(y, e); } else { var C = {}; for (l = a; l <= r; ++l) C[d[l].key] = l; for (l = t; l <= p; ++l) if (((y = c[l]), A < m)) if (((u = C[y.key]), void 0 !== u)) { if (w) for (w = !1; l > t; ) F(c[t++], e); b[u - a] = l + 1; x > u ? (z = !0) : (x = u); n = d[u]; n.flags & 16384 && (d[u] = n = B(n)); J(y, n, e, f, g, h, k); ++A; } else w || F(y, e); else w || F(y, e); } if (w) ta(e, q, c), Q(d, e, f, g, h, k); else if (z) { n = q = 0; r = b.length; r > jb && ((jb = r), (K = new Int32Array(r)), (ua = new Int32Array(r))); for (; q < r; ++q) if (((c = b[q]), 0 !== c)) if (((p = K[n]), b[p] < c)) (ua[q] = p), (K[++n] = q); else { p = 0; for (u = n; p < u; ) (l = (p + u) >> 1), b[K[l]] < c ? (p = l + 1) : (u = l); c < b[K[p]] && (0 < p && (ua[q] = K[p - 1]), (K[p] = q)); } p = n + 1; c = new Int32Array(p); for (u = K[p - 1]; 0 < p--; ) (c[p] = u), (u = ua[u]), (K[p] = 0); u = c.length - 1; for (l = m - 1; 0 <= l; l--) 0 === b[l] ? ((x = l + a), (n = d[x]), n.flags & 16384 && (d[x] = n = B(n)), (m = x + 1), D(n, e, f, g, m < v ? G(d[m], !0) : h, k)) : 0 > u || l !== c[u] ? ((x = l + a), (n = d[x]), (m = x + 1), Sa(n, e, m < v ? G(d[m], !0) : h)) : u--; } else if (A !== m) for (l = m - 1; 0 <= l; l--) 0 === b[l] && ((x = l + a), (n = d[x]), n.flags & 16384 && (d[x] = n = B(n)), (m = x + 1), D(n, e, f, g, m < v ? G(d[m], !0) : h, k)); } } else { a = n > v ? v : n; for (b = 0; b < a; ++b) (m = d[b]), (q = c[b]), m.flags & 16384 && (m = d[b] = B(m)), J(q, m, e, f, g, h, k), (c[b] = m); if (n < v) for (b = a; b < v; ++b) (m = d[b]), m.flags & 16384 && (m = d[b] = B(m)), D(m, e, f, g, h, k); else if (n > v) for (b = a; b < n; ++b) F(c[b], e); } } } } function Ub(a, b, c, d, e) { e.push(function () { a.componentDidUpdate(b, c, d); }); } function ib(a, b, c, d, e, f, g, h, k) { var l = a.state, n = a.props, q = !!a.$N, p = w(a.shouldComponentUpdate); q && (b = Ta(a, c, b !== l ? L(l, b) : b)); g || !p || (p && a.shouldComponentUpdate(c, b, e)) ? (!q && w(a.componentWillUpdate) && a.componentWillUpdate(c, b, e), (a.props = c), (a.state = b), (a.context = e), (b = null), (c = hb(a, c, e)), q && w(a.getSnapshotBeforeUpdate) && (b = a.getSnapshotBeforeUpdate(n, l)), J(a.$LI, c, d, a.$CX, f, h, k), (a.$LI = c), w(a.componentDidUpdate) && Ub(a, n, l, b, k)) : ((a.props = c), (a.state = b), (a.context = e)); } function kb(a, b, c, d) { void 0 === c && (c = null); void 0 === d && (d = x); var e = [], f = b.$V; ha = !0; t(f) ? t(a) || (a.flags & 16384 && (a = B(a)), D(a, b, d, !1, null, e), (f = b.$V = a)) : t(a) ? (F(f, b), (b.$V = null)) : (a.flags & 16384 && (a = B(a)), J(f, a, b, d, !1, null, e), (f = b.$V = a)); Ra(e); ha = !1; w(c) && c(); w(W.renderComplete) && W.renderComplete(f, b); } function lb(a, b, c, d) { var e = a.$PS; w(b) && (b = b(e ? L(a.state, e) : a.state, a.props, a.context)); if (t(e)) a.$PS = b; else for (var f in b) e[f] = b[f]; a.$BR ? w(c) && a.$L.push(c.bind(a)) : ha || 0 !== va.length ? (-1 === va.indexOf(a) && va.push(a), Ja || ((Ja = !0), Vb(Wb)), w(c) && ((b = a.$QU), b || (b = a.$QU = []), b.push(c))) : (mb(a, d), w(c) && c.call(a)); } function Wb() { var a; for (Ja = !1; (a = va.shift()); ) if (!a.$UN && (mb(a, !1), a.$QU)) { for (var b = a.$QU, c = 0; c < b.length; ++c) b[c].call(a); a.$QU = null; } } function mb(a, b) { if (b || !a.$BR) { var c = a.$PS; a.$PS = null; var d = []; ha = !0; ib(a, L(a.state, c), a.props, G(a.$LI, !0).parentNode, a.context, a.$SVG, b, null, d); Ra(d); ha = !1; } else (a.state = a.$PS), (a.$PS = null); } function wa(a) { let b = []; for (let d = 0, e = a.length; d < e; d++) { var c = d + 1; if (c < e) { c = a[c]; let e = !!c; e && c.constructor === String ? b.push(a[d]) : (e && b.push(a[d]), d++); } else b.push(a[d]); } return b.join(" "); } function Xb(a, b, c, d, e) { let f = new XMLHttpRequest(); e && (f.onreadystatechange = function () { 4 === f.readyState && e(200 !== f.status, f); }); if (d) { let a = d.type; a && (f.responseType = a); } f.open(a, b, d ? !d.sync : !0); if (d && (a = d.headers)) for (let b = 0, c = a.length; b < c; b += 2) f.setRequestHeader(a[b], a[b + 1]); f.send(c); } function Ka(a, b, c) { if (a === b) return !0; if (!a || "object" !== typeof a || !b || "object" !== typeof b) return !1; var d = a.constructor; if (d !== b.constructor) return !1; if (d === Date) return a.getTime() === b.getTime(); if (d === RegExp) return a.source === b.source; var e = R.get(a); if (!e) if ((R.set(a, b), d === Array)) { d = a.length; if (d !== b.length) return c || R.clear(), !1; for (e = 0; e < d; e++) if (!Ka(a[e], b[e], !0)) return c || R.clear(), !1; } else { d = Object.keys(a); var f = Object.keys(b); e = d.length; if (e !== f.length) return c || R.clear(), !1; for (f = 0; f < e; f++) { let e = d[f]; if (!Ka(a[e], b[e], !0)) return c || R.clear(), !1; } } else if (c) return b === e; c || R.clear(); return !0; } function H(a, b, c, d) { void 0 === d ? a.addEventListener(b, c) : a.addEventListener(b, c, d); } function La(a, b) { for (let c = 0, d = a.length; c < d; c++) if (a[c].id === b) return c; return -1; } function xa(a, b) { var c = b._c; if (a._c !== c) return c ? 1 : -1; c = a.choice; var d = b.choice; if (c !== d) return Ma[c] - Ma[d]; a = a.name; b = b.name; for (let e = 0, f = a.length; e < f; e++) { c = a.codePointAt(e); d = b.codePointAt(e); if (void 0 === d) return 1; if (c !== d) return c - d; } return a.length - b.length; } function nb(a) { let b = document.getElementById("FetishItem" + a.id); a = a.choice; if (b.previousElementSibling.value !== a) { var c = Ma[a]; let d = b.children[2].children; if (4 > c) d[2 * c].onclick(); else (c = d[0]), c.onclick(), c.onclick(); b.previousElementSibling.value = a; } } function Yb() { A.clear(); let a = C.b, b = N.b; for (let d in S) { let e = a[d]; if (e) { var c = S[d]; c = c ? c.map((a) => b[a]) : []; A.set(e, c); } else delete S[d]; } } function Na() { S = {}; for (let b in A.a) { var a = A.a[b]; a = a ? a.map((a) => a.id) : []; S[b] = a; } } function ob(a) { A.a[a.id] && (T = !0); C.rem(a); A.remK(a.id); } function pb(a) { a && a._c && (ob(a), (a = k.Sels.indexOf(a)), 0 <= a && k.Sels.splice(a, 1)); } function Zb() { let a = document.getElementById("character-button-save"); if (!a._i) { a._i = !0; var b = a.onclick; a.onclick = function () { if (T) { var a = JSON.stringify(S), d = new URLSearchParams(); d.append("csrf_token", document.getElementById("flcsrf-token").content); d.append("subfetish_json", a); d.append("charid", qb.CharacterLists.characterId); Xb("POST", "https://www.f-list.net/experimental/subfetish_save.php", d, { headers: ["Content-Type", "application/x-www-form-urlencoded"] }, (a, c) => { a ? qb.Common_displayError("Error posting CustomFetishes: " + c.responseText) : b(); }); } else b(); }; } } function rb() { if (!sb) { var a = document.getElementById("characterListsTemplate"); a && (a = a.previousElementSibling); a && (a = a.textContent); if (a) { var b = a.indexOf("\n //FList.Subfetish.Data.SubfetishesByCustom = "); if (0 > b) a = ""; else { b += 58; var c = a.indexOf(";\n", b); a = 0 > c ? "" : a.substring(b, c); } } S = a ? JSON.parse(a) : {}; sb = !0; Zb(); tb.inject(); } C.clear(); a = document.querySelectorAll(".CustomKink"); for (let d = 0, e = a.length - 1; d < e; d++) { b = a[d].children; c = b[6].value; let e = 500 < parseInt(c); C.fset({ _o: !0, _c: !0, _p: e, id: e ? c : "N" + c, name: b[2].value, description: b[4].value, choice: b[5].value }); } N.clear(); a = document.querySelectorAll(".FetishItem"); for (let d = 0, e = a.length; d < e; d++) (b = a[d]), (c = b.children), (b = { _o: !1, _c: !1, _p: !0, id: b.id.substring(10), name: c[0].innerText.trim(), description: c[3].innerText.trim(), choice: b.previousElementSibling.value }), N.fset(b); Yb(); } function z(a, b) { return { data: b, event: a }; } function $b(a, b) { (a = a.opClick) && (a.event ? a.event(a.data, b) : a(b)); return !1; } function E(a) { let b = a.isDisabled; return r(1, "a", wa([a.clazz || "x-btn", "x-dis", b]), a.children, 0, { onClick: !b && z($b, a) }); } function ac(a) { return a && a._p; } function ub() { var a = C.a.filter(ac).sort(xa), b = O && O.length === a.length; if (b) for (let c = 0, d = O.length; c < d; c++) if (a[c].id !== O[c].id) { b = !1; break; } if (b) return U; O = a; a = Array(O.length + 1); a[0] = r(1, "option", "opt-kink", "None", 16, { value: "X" }, "X"); for (let c = 0, d = O.length; c < d; c++) (b = O[c]), (a[c + 1] = r(1, "option", "opt-kink " + b.choice, b.name, 16, { value: b.id }, b.id)); return a; } function vb() { U = ub(); let a = A.b; for (let b = 0, c = ia.length; b < c; b++) { let c = ia[b], e = a[c.props.kink.id]; c.children.setState({ sel: e ? e.id : "X", opts: U }); } } function bc(a, b) { b = b.target.value; if ("X" === b) { var c = a.props.kink.id; T = !0; A.remV(c); } else if ((c = C.b[b])) { var d = a.props.kink; d.choice = c.choice; nb(d); T = !0; A.add(c, d); } Na(); a.setState({ sel: b }); } function cc(a) { var b = a.props.kink.id; T = !0; A.remV(b); Na(); a.setState({ sel: "X" }); } function wb(a) { return r( 1, "div", "Dialog", r( 1, "div", wa(["bp", "bp-s" + (a.size || 0)]), [ r(1, "div", "bp-h", [r(1, "h3", "bp-hh", a.title, 16), r(1, "img", "bp-hi", null, 1, { onClick: a.opClose, src: "https://static.f-list.net/images/icons/cross-circle-frame.png", alt: "Close Preview" })], 4), r(1, "div", "bp-c", a.children, 0), ], 4 ), 2 ); } function dc(a) { (a = X(a)) && a.removeAttribute("draggable"); } function ec(a) { let b = X(a); if (b) return a.preventDefault(), k.initEditDialog(b._k.state.kink), !1; } function fc(a) { xb(); let b = k.Sels; if (!(1 > b.length)) { var c = b[0]._c; a: { var d = !c; for (a = a.target; a && a !== ja; ) { let b = a.className; var e = d && a._k; e = d && e && e.state.kink; if (d && e && e._c) { d = { k: e }; break a; } else if ("box" === b) { d = { c: a.firstElementChild.textContent.toLowerCase() }; break a; } a = a.parentElement; } d = null; } if (d) { if (d.c) for (let e = 0, g = b.length; e < g; e++) if (((a = b[e]), (a.choice = d.c), c)) { if ((a = A.a[a.id])) for (let b = 0, c = a.length; b < c; b++) a[b].choice = d.c; } else (a = a.id), (T = !0), A.remV(a); else if (((d = d.k), d._p)) { for (let e = 0, g = b.length; e < g; e++) (a = b[e]), (a.choice = d.choice), (c = d), (T = !0), A.add(c, a); d._o = !0; } k.UpdateUi(); } } } function gc(a) { let b = a.target; for (; b; ) { let c = b.className; if ("box" === c || "kinks" === c || "subkinks" === c) { a.preventDefault(); break; } b = b.parentElement; } } function xb() { ja.classList.remove("drag"); } function hc(a) { ja.classList.add("drag"); k.ToolTip.clearTip(); let b = X(a)._k.state.kink; 0 > k.Sels.indexOf(b) && yb(a, !0); } function ic(a) { if ((a = X(a))) a.draggable = !0; } function jc(a) { if ((a = X(a))) { let b = a._k.state.kink; k.ToolTip.showTip(b.id, b.name, b.description, a, 18); } else k.ToolTip.clearTip(); } function kc() { k.ToolTip.clearTip(); } function yb(a, b) { var c = X(a); if (c) { var d = c._k; c = d.state.kink; var e = A, f = e.a[c.id], g = f && 0 < f.length; f = e.b[c.id]; if (!b && a.offsetX <= (f ? 46 : 32)) g && 16 >= a.offsetX ? ((c._o = !c._o), d.forceUpdate()) : k.initEditDialog(c); else { (b = k.Sels[0]) && b._c !== c._c && ((k.Sels = []), (V = c)); if (!a.shiftKey || null === V || (V._c && !C.b[V.id])) V = c; if (a.shiftKey && 0 < k.Sels.length) { if (c.choice === V.choice) { k.Sels = []; a = f ? e.a[f.id] : c._c ? C.a : N.a; c = a.indexOf(c); b = a.indexOf(V); for (let d = c < b ? c : b, e = c < b ? b : c; d <= e; d++) k.Sels.push(a[d]); } } else a.ctrlKey ? ((a = k.Sels.indexOf(c)), 0 <= a ? k.Sels.splice(a, 1) : k.Sels.push(c)) : (k.Sels = [c]); k.UpdateUi(); } } } function X(a) { for (a = a.target; a && a !== ja; ) { if (a._k) return a; a = a.parentElement; } } function lc(a) { if (a && !a._i) { var b = "ontouchstart" in window; a._i = !0; ja = a; k.Sels = []; H(a, "mouseover", jc); H(a, "mouseleave", kc); H(a, "click", yb); H(a, "contextmenu", ec); H(a, b ? "touchend" : "mouseup", dc); H(a, b ? "touchstart" : "mousedown", ic); H(a, "dragover", gc); H(a, "dragstart", hc); H(a, "dragend", xb); H(a, "drop", fc); } } function Oa(a, b) { let c = a.props; var d = c.state; let e = b.target.value, f = c.prop.split("."), g = f.length - 1; for (let a = 0; a < g; a++) d = d[f[a]]; d[f[g]] = 1 === c.ilk ? parseFloat(e) : e; a.forceUpdate(); c.opChange && (a = c.opChange) && (a.event ? a.event(a.data, b) : a(b)); } function Pa(a) { let b = a.prop.split("."), c = b.length; a = a.state; for (let d = 0; d < c; d++) a = a ? a[b[d]] : null; return a; } function Qa(a) { let b = {}; for (let c in a) mc[c] || (b[c] = a[c]); return b; } function zb(a) { a.clear(); } function nc(a) { let b = a.state, c = b.kink; b.oldKink ? Object.assign(b.oldKink, c) : ((c.id = "_" + oc++), C.fset(c)); k.UpdateUi(); a.clear(); } function pc(a) { let b = a.state.oldKink; b && (pb(b), k.UpdateUi()); a.clear(); } function qc(a) { if (!a) return ["", 3]; let b = a.indexOf("\u3010"), c; if (0 <= b && ((c = a.indexOf("\u3011", b)), 0 <= c)) return [a.substring(b + 1, c), 0]; b = a.indexOf("\u2502"); if (0 <= b) return [a.substring(b + 1), 1]; b = a.indexOf("\u3014", b); return 0 <= b ? ((c = a.indexOf("\u3015", b)), [a.substring(b + 1, c), 2]) : a.endsWith("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518") ? ["", 2] : a.charCodeAt(1) === Y[0] ? [a.substring(2), 3] : 0 <= Y.indexOf(a.charCodeAt(0)) ? [a.substring(1), 3] : [a, 3]; } function ya(a, b) { let c = k.Sels; if (c && !(1 > c.length) && c[0]._c) { var d = 0 > b ? "" : String.fromCharCode(b); b = 0 > b ? "" : String.fromCharCode(Y[0]); for (let e = 0, f = c.length; e < f; e++) { let f = c[e], h = qc(f.name), k = h[0]; switch (3 > a ? a : h[1]) { case 0: f.name = d + b + "\u250c\u3010" + k + "\u3011\u2510"; break; case 1: f.name = d + "\u2502" + k; break; case 2: f.name = d + (k ? "\u2514\u3014" + k + "\u3015\u2518" : "\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"); break; case 3: f.name = d + k; } } k.UpdateUi(); } } function rc(a) { ya(0, a.state.num); } function sc(a) { ya(1, a.state.num); } function tc(a) { ya(2, a.state.num); } function uc(a) { ya(3, a.state.num); } function Ab(a) { let b = C.a; for (let c = 0, d = b.length; c < d; c++) b[c]._o = a; k.UpdateUi(); } function vc() { Ab(!1); } function wc() { Ab(!0); } function xc() { k.initEditDialog(null, !0); } function yc() { { let a = k.Sels, b = a[0]; if (b && b._c) { for (let b = 0, d = a.length; b < d; b++) ob(a[b]); a.length = 0; } } k.UpdateUi(); } function zc() { var a = C.b, b = C.a; for (let e = 0, f = b.length; e < f; e++) { var c = b[e], d = void 0; d = c.id; "_" === d[0] ? (document.getElementById("customs-button-add").onclick(), (d = document.getElementById("CustomKinksList").lastElementChild.children), (a["N" + d[6].value] = c)) : (d = document.getElementById("kinkName" + ("N" === d[0] ? d.substring(1) : d)).parentElement.children); d[2].value = c.name; d[4].value = c.description; d[5].value = c.choice; } b = document.querySelectorAll(".CustomKink"); for (let e = 0, f = b.length - 1; e < f; e++) { c = b[e]; d = c.children[6].value; let f = 500 < parseInt(d); if (!a[f ? d : "N" + d]) c.children[0].onclick(); } a = N.a; for (let b = 0, c = a.length; b < c; b++) nb(a[b]); Na(); k.togMainDialog(!1); vb(); } function Ac(a) { rb(); a.setState({ show: !0 }); } function Bc(a) { a.setState({ show: !1 }); } var ca = Array.isArray, x = {}; var ha = !1; var W = { componentComparator: null, createVNode: null, renderComplete: null }, gb = { "xlink:actuate": "http://www.w3.org/1999/xlink", "xlink:arcrole": "http://www.w3.org/1999/xlink", "xlink:href": "http://www.w3.org/1999/xlink", "xlink:role": "http://www.w3.org/1999/xlink", "xlink:show": "http://www.w3.org/1999/xlink", "xlink:title": "http://www.w3.org/1999/xlink", "xlink:type": "http://www.w3.org/1999/xlink", "xml:base": "http://www.w3.org/XML/1998/namespace", "xml:lang": "http://www.w3.org/XML/1998/namespace", "xml:space": "http://www.w3.org/XML/1998/namespace", }, Za = pa(0), Da = pa(null), fb = pa(!0), Ob = da("onInput", qa), Nb = da(["onClick", "onChange"], qa); db.wrapped = !0; var Pb = da("onChange", Fa), Qb = da("onInput", Ga), Rb = da("onChange"), K, ua, jb = 0; "undefined" !== typeof document && window.Node && ((Node.prototype.$EV = null), (Node.prototype.$V = null)); var va = [], Vb = "undefined" !== typeof Promise ? Promise.resolve().then.bind(Promise.resolve()) : function (a) { window.setTimeout(a, 0); }, Ja = !1, y = function (a, b) { this.state = null; this.$BR = !1; this.$BS = !0; this.$LI = this.$PS = null; this.$UN = !1; this.$QU = this.$CX = null; this.$N = !1; this.$L = null; this.$SVG = !1; this.props = a || x; this.context = b || x; }; y.prototype.forceUpdate = function (a) { this.$UN || lb(this, {}, a, !0); }; y.prototype.setState = function (a, b) { this.$UN || this.$BS || lb(this, a, b, !1); }; y.prototype.render = function (a, b, c) { return null; }; let k = { Sels: [], UpdateUi: function () { for (let a in k.Updates) k.Updates[a].forceUpdate(); }, Updates: {}, }, Ma = { fave: 0, yes: 1, maybe: 2, no: 3, undecided: 4 }; class tb { static inject() { document.getElementsByName("image_file")[0].multiple = !0; let a = document.getElementById("addimagebutton"); a.onclick = this.uploadBatchImages; a.value = "Add All Images"; } static uploadBatchImages() { let a = document.getElementsByName("image_file")[0].files; for (var b = 0; b < a.length; b++) { let c = a[b]; setTimeout(function () { tb.originalUploadImage(c); }, 1e3 * b); } } static originalUploadImage(a) { let b = window; b.imageUploading = !0; b.$("#addimagebutton").prop("value", "Uploading Image..."); b.$("#addimagebutton").prop("disabled", !0); var c = new FormData(); c.append("csrf_token", b.FList.csrf_token()); c.append("character_id", b.editCharacterId); c.append("image_file", a); b.$.ajax({ type: "POST", url: b.domain + "json/image-add.json", data: c, dataType: "json", processData: !1, contentType: !1, timeout: 12e4, success: function (a) { b.imageUploading = !1; b.$("#addimagebutton").prop("disabled", !1); b.$("#addimagebutton").prop("value", "Add All Images"); "" == a.error ? (b.FList.Common_displayNotice("Image added successfully."), b.loadImages(b.editCharacterId)) : b.FList.Common_displayError("Error while uploading image: " + a.error); }, error: function (a, c, f) { b.imageUploading = !1; b.$("#addimagebutton").prop("disabled", !1); b.$("#addimagebutton").prop("value", "Add Image"); b.FList.Common_displayError("Error while uploading image: " + c + ", " + f); }, }); return !1; } } let R = new Map(); class Bb { constructor() { this.b = {}; this.a = []; } set(a, b) { let c = this.a, d = a.id, e = La(c, d); this.b[d] = a; 0 <= e ? (c[e] = a) : b ? c.unshift(a) : c.push(a); } fset(a) { this.b[a.id] = a; this.a.push(a); } rem(a) { let b = this.a; a = a.id; let c = La(b, a); delete this.b[a]; 0 <= c && b.splice(c, 1); } clear() { this.a.length = 0; this.b = {}; } } class Cc { constructor() { this.a = {}; this.b = {}; } set(a, b) { let c = this.b, d = a.id; this.remK(d); this.a[d] = b; for (let d = 0, f = b.length; d < f; d++) c[b[d].id] = a; } add(a, b) { let c = this.b, d = a.id; this.remV(b.id); let e = this.a[d]; e ? e.push(b) : (this.a[d] = [b]); c[b.id] = a; } remV(a) { let b = this.b; var c = b[a]; if (c && (c = this.a[c.id])) { let b = La(c, a); 0 <= b && c.splice(b, 1); } delete b[a]; } remK(a) { let b = this.a[a]; if (b) { let c = this.b; for (let a = 0, e = b.length; a < e; a++) delete c[b[a].id]; delete this.a[a]; } } clear() { this.a = {}; this.b = {}; } } let C = new Bb(), N = new Bb(), A = new Cc(), S, qb = window.FList, sb = !1, T = !1, O, U, ia, Cb = window.FList, Dc = Cb.Subfetish.Data.removeCustom; Cb.Subfetish.Data.removeCustom = function (a) { let b = 500 < parseInt(a) ? a : "N" + a; pb(C.b[b]); vb(); Dc(a); }; class Ec extends y { constructor(...a) { super(...a); this.state = {}; } render(a, b) { a = b.sel; return r( 1, "div", "sel-kink-div", [r(256, "select", wa(["sel-kink", "none", "X" === a]), b.opts, 0, { value: a, onChange: z(bc, this) }), l(2, E, { clazz: "sel-kink-x x-btn btn-l", isDisabled: "X" === a, opClick: z(cc, this), children: "\u00d7" })], 4 ); } shouldComponentUpdate(a, b) { a = this.state; return a.sel !== b.sel || a.opts !== b.opts; } static getDerivedStateFromProps(a, b) { let c; b.sel || (c = { sel: a.sel }); b.opts || (c ? (c.opts = U) : (c = { opts: U })); return c; } } class Fc extends y { constructor(...a) { super(...a); this.state = {}; this.ref = { current: null }; } render(a, b) { a = b.kink; let c = b.subs && 0 < b.subs.length, d = a._o; return r(1, "li", wa([a.choice, "kink", "multi", c, "open", c && d, "closed", c && !d, "sel", b.sel, "custom", a._c, "reg", !a._c, "new", !a._p]), [a.name, l(2, Db, { kinks: b.subs })], 0, null, null, this.ref); } componentDidMount() { this.ref.current._k = this; } componentDidUpdate() { this.ref.current._k = this; } static getDerivedStateFromProps(a, b) { var c = null; for (var d in a) { let e = a[d]; Ka(e, b[d]) || (c || (c = {}), (c[d] = e)); } d = a.kink || b.kink; (a.kink && b.kink && a.kink.id === b.kink.id) || (c.subs = d._c ? A.a[d.id] : null); a = 0 <= k.Sels.indexOf(d); a !== b.sel && (c || (c = {}), (c.sel = a)); return c; } } class Db extends y { render(a) { let b = a.kinks; return b ? r( 1, "ul", a.clazz || "subkinks", b.map((a) => l(2, Fc, { kink: a }, a.id)), 8 ) : null; } } class ka extends y { render(a, b) { a = a.name; a = a[0].toUpperCase() + a.substring(1); return r(1, "div", "box", [r(1, "div", null, a, 16), l(2, Db, { clazz: "kinks", kinks: b.kinks })], 4); } static getDerivedStateFromProps(a, b) { b = []; var c = C.a; a = a.name; for (let e = 0, f = c.length; e < f; e++) { var d = c[e]; d.choice === a && b.push(d); } c = N.a; d = A.b; for (let e = 0, f = c.length; e < f; e++) { let f = c[e]; d[f.id] || (f.choice === a && b.push(f)); } return { kinks: b }; } } let ja, V = null, mc = { prop: !0, state: !0, opChange: !0, children: !0 }; class Gc extends y { render(a) { let b = Qa(a); return Ba(r(64, "input", null, null, 1, { ...b, value: Pa(a), onInput: z(Oa, this) })); } } class Hc extends y { render(a) { let b = Qa(a); return Ba(r(128, "textarea", null, null, 1, { ...b, value: Pa(a), onInput: z(Oa, this) })); } } class Eb extends y { render(a) { let b = Qa(a); return Ba(r(256, "select", null, a.children, 0, { ...b, value: Pa(a), onChange: z(Oa, this) })); } } let oc = 0; class Ic extends y { constructor(...a) { super(...a); this.state = {}; } componentDidMount() { k.initEditDialog = (a, b) => { b ? this.setState({ kink: { _o: !1, _p: !1, _c: !0, id: "", name: "", description: "", choice: "fave" }, oldKink: null }) : a ? ((b = Object.assign({}, a)), this.setState({ kink: b, oldKink: a })) : this.clear(); }; } clear() { this.setState({ kink: null, oldKink: null }); } render(a, b) { var c = b.kink; c = (a = !!c) && !c._c; return ( a && l(2, wb, { size: 1, title: c ? "Info" : b.oldKink ? "Edit" : "Create", opClose: z(zb, this), children: [ r( 1, "div", "kinkBtns edt-btns", [ l(2, E, { opClick: z(zb, this), children: "Cancel" }), l(2, E, { isDisabled: c, clazz: "x-btn red", opClick: z(pc, this), children: "\u00d7 Remove" }), l(2, E, { opClick: z(nc, this), children: "\u2399 Apply" }), ], 4 ), r(1, "label", "edt-lbl", "Name", 16), l(2, Gc, { disabled: c, class: "edt-inp", type: "text", maxLength: 30, prop: "kink.name", state: b }), r(1, "label", "edt-lbl", "Choice", 16), l(2, Eb, { class: "edt-sel", prop: "kink.choice", state: b, children: [ r(1, "option", null, "Favorite", 16, { value: "fave" }), r(1, "option", null, "Yes", 16, { value: "yes" }), r(1, "option", null, "Maybe", 16, { value: "maybe" }), r(1, "option", null, "No", 16, { value: "no" }), r(1, "option", null, "Undecided", 16, { value: "undecided" }), ], }), r(1, "label", "edt-lbl", "Description", 16), l(2, Hc, { disabled: c, class: "edt-txt", maxLength: 1024, prop: "kink.description", state: b }), ], }) ); } } let Y = [173, 847, 1564, 6068, 6069, 6155, 6156, 6157, 6158, 8203, 8204, 8205, 8206, 8207, 8234, 8236, 8237, 8288, 8289, 8290, 8291, 8292, 8293, 8294, 8296, 8297, 8298, 8299, 8300, 8301, 8302, 8303]; class Jc extends y { constructor(...a) { super(...a); this.state = { num: -1 }; } componentDidMount() { k.Updates.HB = this; } render(a, b) { a = (a = k.Sels[k.Sels.length - 1]) ? Y.indexOf(a.name.charCodeAt(0)) : -1; b.num = 0 <= a ? Y[a] : -1; return oa( [ l(2, E, { clazz: "x-btn btn-f", opClick: z(rc, this), children: "\u25ce Header" }), l(2, E, { clazz: "x-btn btn-n", opClick: z(sc, this), children: "\u25ce Content" }), l(2, E, { clazz: "x-btn btn-n", opClick: z(tc, this), children: "\u25ce Footer" }), l(2, Eb, { class: "x-sel", prop: "num", state: b, ilk: 1, opChange: z(uc, this), children: [r(1, "option", null, "X", 16, { value: -1 }, -1), Y.map((a, b) => r(1, "option", null, b + ": " + a, 16, { value: a }, a))] }), ], 4 ); } } class Kc extends y { render() { return r( 1, "div", "kinkBtns", [ l(2, E, { clazz: "x-btn btn-f btn-sm", opClick: z(vc), children: "\u2296" }), l(2, E, { clazz: "x-btn btn-l btn-sm", opClick: z(wc), children: "\u2295" }), l(2, Jc), l(2, E, { clazz: "x-btn btn-f green", opClick: z(xc), children: "\uff0b Custom Kink" }), l(2, E, { clazz: "x-btn btn-l red", opClick: z(yc), children: "\u00d7 Custom Kink" }), l(2, E, { opClick: z(zc), children: "Apply Changes To Page" }), ], 4 ); } } class Lc extends y { componentDidMount() { k.Updates.MB = this; } render() { { C.a.sort(xa); N.a.sort(xa); let a = C.a, b = A.a; for (let c = 0, d = a.length; c < d; c++) { let d = b[a[c].id]; d && d.sort(xa); } } return r(1, "div", "boxes", [l(2, ka, { name: "fave" }), l(2, ka, { name: "yes" }), l(2, ka, { name: "maybe" }), l(2, ka, { name: "no" }), l(2, ka, { name: "undecided" })], 4, null, null, lc); } } class Mc extends y { constructor(...a) { super(...a); this.state = {}; this.div = { current: null }; } componentDidMount() { k.ToolTip = this; } componentDidUpdate() { var a = this.div.current; let b = this.state; if (a && b.id) { var c = a.style; a = Math.round(b.y - a.clientHeight - b.ft - 5); 0 > a && (a = Math.round(b.y + b.eh - b.ft + 5)); c.top = a + "px"; c.left = Math.round(b.x - b.fl) + "px"; } } render(a, b) { return r( 1, "div", "x-tt ui-tooltip qtip ui-helper-reset ui-tooltip-shadow ui-tooltip-pos-tc ui-widfget ui-tfooltip-focus", [ r(1, "div", "ui-tooltip-titlebar ui-widget-header", r(1, "div", "ui-tooltip-title", b.title || "", 16, { id: "ui-tooltip-4-title" }), 2), r(1, "div", "ui-tooltip-content ui-widget-content", b.body || "", 16, { id: "ui-tooltip-4-content" }), ], 4, { style: b.id ? "" : "display: none" }, null, this.div ); } showTip(a, b, c, d, e, f) { if (this.state.id !== a) { let g = d.getBoundingClientRect(); this.setState({ id: a, title: b, body: c, x: g.x, y: g.y, eh: e || d.offsetHeight, fl: f ? f.offsetLeft : 0, ft: f ? f.offsetTop : 0 }); } } clearTip() { this.setState({ id: null }); } } class Nc extends y { render() { return r(1, "div", "kinkInf", [l(2, Kc), l(2, Lc), l(2, Mc), l(2, Ic)], 4); } } class Oc extends y { constructor(...a) { super(...a); this.state = { show: !1 }; } componentDidMount() { k.togMainDialog = (a) => this.setState({ show: a }); } componentDidUpdate() { document.body.style.overflow = this.state.show ? "hidden" : ""; } render(a, b) { return oa([l(2, E, { opClick: z(Ac, this), children: "Show Table" }), b.show && l(2, wb, { title: "Kinks", opClose: z(Bc, this), children: l(2, Nc) })], 0); } } (function (a) { let b = document.head, c = document.createElement("style"); c.type = "text/css"; c.styleSheet ? (c.styleSheet.cssText = a) : ((a = document.createTextNode(a)), c.appendChild(a)); b.appendChild(c); })( ".Dialog{width:100%;height:100vh;left:0;top:0;padding:0;margin:0;background:rgba(0,0,0,.5);position:fixed;z-index:100;text-align:center}.bp{text-align:left;border:2px solid #0b345f;color:#ccc;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#134478),color-stop(1,#2468af));height:96%;margin-top:calc(2% - 10px);width:96%;margin-left:calc(2% - 10px);padding:10px}.bp.bp-s1{height:auto;width:auto;display:inline-block;margin-top:calc(10% - 10px)}.x-tt{opacity:1;display:block;width:280px;z-index:15007}.bp-s0>.bp-c{height:calc(96vh - 37px)}.bp-h{margin-bottom:10px;text-align:right}.bp-hh{margin:0;float:left}.bp-hi{cursor:pointer}.bp-c{overflow:auto;padding:5px}.boxes{outline:0;height:calc(100% - 250px)}.box,.boxes{text-align:center}.box{vertical-align:top;margin:5px;max-width:19%;color:#fff;height:100%}.box,.box>.kinks{display:inline-block}.box>.kinks{cursor:default;padding:6px 4px;border:2px solid #4f94cd;border-radius:4px;text-align:left;vertical-align:middle;max-height:100%;overflow:auto;width:300px;max-width:100%;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#000;overflow-x:hidden}.kink{font-size:13.5px;line-height:15px;margin-top:-1px;white-space:nowrap;cursor:pointer}ul{list-style:none}.subkinks{padding-left:0;cursor:default}.kink:hover{font-weight:700}.fave{background-color:#ccf}.fave:before{content:url(https://static.f-list.net/images/icons/heart.png)}.yes{background-color:#cfc}.yes:before{content:url(https://static.f-list.net/images/icons/heart-half.png)}.maybe{background-color:#ffc}.maybe:before{content:url(https://static.f-list.net/images/icons/heart-empty.png)}.no{background-color:#fcc}.no:before{content:url(https://static.f-list.net/images/icons/minus-circle.png)}.undecided{background-color:#ffdfcc}.undecided:before{content:url(https://static.f-list.net/images/icons/question.png)}.custom{background-image:url(https://static.f-list.net/images/icons/target.png)}.closed,.custom{background-repeat:no-repeat;background-position:0 1px}.closed{background-image:url(https://static.f-list.net/images/icons/plus-white.png)}.open{background-image:url(https://static.f-list.net/images/icons/minus-white.png)}.new,.open{background-repeat:no-repeat;background-position:0 1px}.new{background-image:url(https://static.f-list.net/images/icons/new.png)}.reg{background-image:url(https://static.f-list.net/images/icons/blue-document-tag.png);background-repeat:no-repeat;background-position:0 1px;font-weight:400;color:#000}.subkinks>.kink{padding-left:18px;background-position:18px 0}.kink:before{margin-left:14px}.sel{background-color:rgb(30 144 255);color:#fff}.drag .sel{background-color:rgb(134 192 249)}.closed>ul{display:none}.x-sel{border-radius:0 6px 6px 0;height:27px;width:40px}.x-btn{display:inline-block;padding:.4em 1em;margin:10px 0 0 10px;border:1px solid #04194f;background:#04396f url(https://static.f-list.net/images/jquery/default/ui-bg_highlight-soft_20_04396f_1x100.png) 50% 50% repeat-x;font-weight:400;color:#dde;cursor:pointer;border-radius:6px}.x-btn:focus,.x-btn:hover{border:1px solid #04194f;background:#04396f url(https://static.f-list.net/images/jquery/default/ui-bg_glass_40_04396f_1x400.png) 50% 50% repeat-x}.x-btn:active{border:1px solid #0b244f;background:#bf1213 url(https://static.f-list.net/images/jquery/default/ui-bg_highlight-hard_30_bf1213_1x100.png) 50% 50% repeat-x}.x-btn.red{background:-webkit-linear-gradient(top,#e62012,#9a1710)}.x-btn.red:hover{background:-webkit-linear-gradient(top,#f33729,#cb190f)}.x-btn.green{background:-webkit-linear-gradient(top,#1fe612,#139a10)}.x-btn.green:hover{background:-webkit-linear-gradient(top,#2cf329,#2ecb0f)}.x-btn.x-dis.x-dis{cursor:default;color:#ccc;background:#04396f url(https://static.f-list.net/images/jquery/default/ui-bg_highlight-soft_20_04396f_1x100.png) 50% 50% repeat-x}.btn-sm{padding:.4em .8em}.btn-l,.btn-n{margin:0}.btn-f{border-radius:6px 0 0 6px}.btn-l{border-radius:0 6px 6px 0}.btn-n{border-radius:0}.kinkBtns{text-align:right;margin-bottom:4px;margin-top:-15px}.kinkInf{height:100%}.edt-inp{font-size:13.67px}.edt-inp:disabled,.edt-sel:disabled,.edt-txt:disabled{background-color:#b1c7dd;border-radius:5px}.edt-inp,.edt-sel,.edt-txt{opacity:1;margin-bottom:4px;width:99%;color:#000;border:1px solid rgb(103 136 171)}.edt-sel{width:calc(99% + 6px)}.edt-lbl{color:#fff;font-weight:700;text-decoration:none;display:block;cursor:default}.edt-btn{float:right}.edt-btns{min-width:350px}.Characterdata_FetishChoiceBox{margin-top:-5px;padding:0}.sel-kink-div{position:absolute;right:0;display:block;margin-top:-2px}.sel-kink{border-radius:5px 0 0 5px;margin-left:8px;height:15px;font-size:11.33px!important;border:1px solid #000}.sel-kink-x{display:inline-block;padding:0 3px 2px 1px;vertical-align:top;text-decoration:none!important;height:11px;margin:0 0 0 -1px}.opt-kink{color:#000}.opt-kink:before{content:normal}.sel-kink.none{background:transparent;color:#fff;border:1px solid #07203a}" ); let Fb = document.querySelectorAll("[name='customkinkchoice[]'"); for (let a = 0, b = Fb.length; a < b; a++) { let b = Fb[a]; if (5 <= b.childElementCount) continue; let d = document.createElement("option"); d.value = "undecided"; d.textContent = "Undecided"; b.appendChild(d); if (0 === b.selectedIndex && null === b.firstElementChild.getAttribute("selected")) { let a = !1; for (let c = 0, d = b.options, e = d.length; c < e; c++) if (null !== d[c].getAttribute("selected")) { a = !0; b.selectedIndex = c; break; } a || (b.selectedIndex = 4); } } rb(); let Gb = new DocumentFragment(); kb(l(2, Oc), Gb); let Pc = Gb.firstElementChild; (function (a, b) { let c = a.parentElement; if (c) return c.insertBefore(b, a); })(document.getElementById("CustomKinksList"), Pc); (function () { U = ub(); var a = N.a, b = A.b, c = Array(a.length); for (let f = 0, g = a.length; f < g; f++) { var d = a[f], e = b[d.id]; c[f] = l(2, Ec, { kink: d, sel: e ? e.id : "X", opts: U }, d.id); } ia = c; a = {}; for (let c = 0, d = ia.length; c < d; c++) (b = ia[c]), (a[b.props.kink.id] = b); b = document.querySelectorAll(".FetishItem"); for (let f = 0, g = b.length; f < g; f++) if (((c = b[f]), (d = c.id.substring(10)), (d = a[d]))) (e = new DocumentFragment()), kb(d, e), c.children[2].appendChild(e.firstElementChild); })(); })();