// ==UserScript== // @name Circle 阅读助手脚本版 // @namespace https://ranhe.xyz/ // @version 0.0.1 // @description 让网页赏心悦目、让阅读回归初心。Circle 阅读助手提供更隐私、更轻松、更舒适的阅读体验。 // @author wenguang.fe@gmail.com // @match https://*/* // @match http://*/* // @license MIT // @noframes // @downloadURL none // ==/UserScript== (() => { "use strict"; function e(e) { return e && e.nodeType && 1 === e.nodeType } function t(e) { if (!c(e)) return !1; var t = e.nodeValue.trim(); return t.length <= 0 || /^[\s\xA0]+$/.test(t) } function n(e, t) { return Object.prototype.toString.call(e) === "[object ".concat(t, "]") } function r(e) { return n(e, "Undefined") } function i(e) { return n(e, "Number") } function a(e) { return n(e, "String") } function o(e) { return n(e, "Function") } function l(e) { return n(e, "Array") } function c(e) { return n(e, "Text") } function u(e, t) { return e && e.tagName && e.tagName.toLowerCase() === t } function s(e) { e && e.parentElement && e.parentElement.removeChild(e) } function d(e) { return a(e) ? e.toLowerCase() : "" } function f(e, t) { var n = document.createElement(e); return h(t, (function(e, t) { g(n, t, e) })), n } function h(e, t) { if (!r(e) && o(t)) { var n = 0; if (e.forEach) { var i = e.length; if (i <= 0) return; for (; n < i && !t(e[n], n);) n++ } else { var a = Object.keys(e), l = a.length; if (l <= 0) return; for (; n < l && !t(e[a[n]], a[n]);) n++ } } } function v(e, t) { return e[t] ? e[t] : e.style && e.style[t] ? e.style[t] : window.getComputedStyle ? window.getComputedStyle(e, null)[t] : e.currentStyle ? e.currentStyle[t] : void 0 } function m(e, t, n) { if (e && a(t) && !r(n)) { var o = i(n) && !["zIndex", "opacity"].includes(t) ? "".concat(n, "px") : n; e.style[t] = o } } function p(e, t) { if (e) return a(t) ? e.getAttribute(t) : Array.prototype.slice.call(e.attributes) .reduce((function(e, t) { return "".concat(e, " ") .concat(t.nodeValue) }), "") } function g(e, t, n) { if (e && e.setAttribute && a(t) && !r(n)) { var o = i(n) && !["zIndex", "opacity"].includes(t) ? "".concat(n, "px") : n; switch (t) { case "innerHTML": case "innerText": case "className": case "textContent": e[t] = o; break; case "style": h(n, (function(t, n) { m(e, n, t) })); break; default: e.setAttribute(t, o) } } } function y(e, t) { if (e) if (a(t)) e.removeAttribute(t); else { var n = []; h(e.attributes, (function(e) { var r = e.nodeName; o(t) && t(r) && n.push(r) })), h(n, (function(t) { e.removeAttribute(t) })) } } function b(e) { var t = e.getElementsByTagName("a"), n = 0; h(t, (function(e) { n += S(e) .length })); var r = S(e) .length; return n / (r <= 0 ? 1 : r) } function E(t) { if (!e(t)) return !1; if (["br", "hr", "img", "body"].includes(d(t.tagName))) return !0; var n = t.getBoundingClientRect(); return !(n.height <= 0 || n.width <= 0) && ("0" !== v(t, "opacity") && "hidden" !== v(t, "visibility")) } function S(t) { if (!t) return ""; var n = ""; a(t) ? n = t : c(t) ? n = t.nodeValue : e(t) && (n = t.textContent); var r = (n || "") .trim(); return r.length > 0 ? r.replace(/^ +| +$/g, "") : "" } function w(e) { if (e && e.getBoundingClientRect) { if (e._rect) return e._rect; var t = window.scrollX, n = window.scrollY, r = e.getBoundingClientRect(); return t <= 0 && n <= 0 ? (e._rect = r, e._rect) : (e._rect = { top: r.top + n, right: r.right - t, bottom: r.bottom - n, left: r.left + t, width: r.width, height: r.height }, e._rect) } } function C(e, t, n) { for (var r, i = document.createNodeIterator(e, NodeFilter.SHOW_TEXT, { acceptNode: function(e) { return t(e) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT } }); r = i.nextNode();) n(r) } function x(e) { return !a(e) || e.trim() .length <= 0 ? 0 : /[\u4e00-\u9fa5]/.test(e) ? e.length : e.split(" ") .length } function N(e) { var t = ""; h(e.attributes, (function(e) { var n = e.nodeName; if (!["class", "role", "src", "alt"].includes(n) && !/thumbnail/i.test(n)) { var r = "".concat(e.nodeValue); return (r.startsWith("http") || /src|url|origin/i.test(n)) && r.split("/") .length > 1 && r.length > 10 ? (t = r.split(/\s/) .shift(), !0) : void 0 } })); var n = t || e.src; if (n && !n.endsWith("svg")) return n; var r = "".concat(window.getComputedStyle(e) .backgroundImage) .replace(/url\("(.*?)"\)/, "$1"); return a(r) && "none" !== r && r.split("/") .length > 1 ? r : "" } function L(e) { for (var t = []; e;) { var n = e.id; if (n) { t.unshift("#".concat(n)); break } var r = e.tagName.toLocaleLowerCase(); if ("body" === r || "html" === r) { t.unshift(r); break } for (var i = 1, a = e.previousElementSibling; a;) i++, a = a.previousElementSibling; t.unshift("".concat(r, ":nth-child(") .concat(i, ")")), e = e.parentElement } return t.join(" > ") } function k(n) { var r = 0; return h(n.childNodes, (function(n) { !e(n) && t(n) || r++ })), r } var A = ["div"], T = ["div", "span", "p"], q = ["i", "em"], j = /^on|^data|^id$|^style$|placeholder|spellcheck|contenteditable/, O = ["size", "face", "color"], _ = ['[id*="comment"]', '[class*="comment"]'], B = ['[id*="Modal"]', '[class*="Modal"]', '[id*="modal"]', '[class*="modal"]'], W = ["h1", "h2", "h3", "h4", "h5", "h6"], z = ["border", "hspace", "vspace", "align"], P = ["noscript", "form", "input", "textarea", "button", "style", "script", "link", "ins", "iframe", "canvas", "footer", "aside"], M = ["b", "strong", "h1", "h2", "h3", "h4", "h5", "h6", "th"]; function V(e, t, n) { var r = f(t), i = e.mirrorElement; for (i && (r.mirrorElement = i); e.firstChild;) r.appendChild(e.firstChild); return !n && h(e.attributes, (function(e) { var t = e.nodeName, n = e.nodeValue; n && g(r, t, n) })), e.parentElement.replaceChild(r, e), r } function R(e) { var t = f("dom"); t.innerHTML = e.innerHTML; var n = t.children; if (1 === n.length && u(n[0], "img")) return n[0].src } function I(t, n) { for (var r = t; r && (c(r) || e(r) && ["a", "span"].includes(r.nodeName.toLowerCase()));) r = n(r) } function F(e, t, n) { h(t, (function(t) { var r = n[t]; r && "normal" !== r && m(e, t, r) })) } function H(e) { var t = e.src; t && t.startsWith("data") && e.classList.add("base64"); var n = e.naturalWidth, r = e.naturalHeight; n <= 0 || r <= 0 || (e.classList.remove("tiny", "large"), n < 78 && r < 78 ? e.classList.add("tiny") : e.classList.add("large")) } function $(e) { h(e.querySelectorAll("div, ol, ul, li, section"), (function(e) { k(e) <= 0 && s(e) })), h(e.querySelectorAll("ul, ol"), (function(e) { e.querySelectorAll("*") .length > e.innerText.replace(/\n/gi, "") .length && s(e) })); for (var n = e.firstChild, r = function() { if (!c(n)) return n = n.nextSibling, "continue"; var e = S(n); if (x(e) <= 0) return n = n.nextSibling, "continue"; var t = f("p"), r = f("span"); return r.textContent = e, t.appendChild(r), I(n.previousSibling, (function(e) { return t.insertBefore(e, r), e.previousSibling })), n.parentElement.replaceChild(t, n), (n = t.nextSibling) ? (I(n, (function(e) { return t.appendChild(e), n = t.nextSibling })), n ? void(n = n.nextSibling) : "break") : "break" }; n;) { var i = r(); if ("continue" !== i && "break" === i) break } var a = e.querySelectorAll("br"); a.length >= 2 && h(a, (function(e) { var n = function(e) { for (var n = e.nextSibling; n && c(n) && t(n);) n = n.nextSibling; return n }(e), r = function(e) { for (var n = e.previousSibling; n && c(n) && t(n);) n = n.previousSibling; return n }(e); (n || r) && (c(r) || c(n)) || s(e) })), h(e.querySelectorAll("p"), (function(e) { var t = e.getElementsByTagName("br"); if (!(t.length <= 1)) { var n = [], r = e.parentElement, i = e.nextSibling; h(t, (function(e) { if (e) { var t = e.nextSibling; if (t) { for (var a, o = f("p"); t && !u(t, "br");) a = t.nextSibling, o.appendChild(t), t = a; i ? r.insertBefore(o, i) : r.appendChild(o), n.push(e) } } })), h(n, s) } })), h(e.querySelectorAll("p, span, li"), (function(e) { var t = e.childNodes; if (t.length <= 0) s(e); else if (1 === t.length && u(t[0], "br")) s(e); else { var n = t[0]; if (c(n)) { var r = n.nodeValue; r.length > 0 && /^\s+/.test(r) && (n.nodeValue = r.trim()) } } })), h(e.querySelectorAll("pre"), (function(e) { var t = e.parentElement; if (t && u(t, "td") && !t.classList.contains("gutter")) { var n = t.closest("table"); if (n) { var r = n.querySelectorAll("tr"); if (1 === r.length) if (!(r[0].querySelectorAll("td") .length > 2)) { var i = n.parentElement; i && i.replaceChild(e, n) } } } })), h(e.querySelectorAll(".flex"), (function(e) { var t = e.querySelectorAll("pre"); t.length <= 0 || h(t, (function(e) { var t = e.parentElement; t.classList.contains("zone-width") || t.classList.add("zone-width") })) })), T.forEach((function(t) { h(e.querySelectorAll(t), (function(e) { e.childNodes.length <= 0 && s(e) })) })) } function D(t, n, r) { ! function(t) { h(t.querySelectorAll(P.join(",")), s), h(t.querySelectorAll(B.join(",")), (function(e) { e.mirrorElement && !E(e) && s(e) })); var n = []; if (h(t.querySelectorAll(_.join(",")), (function(e) { if (u(e, "div")) { var t = e.mirrorElement; if (t) { var r = t.getBoundingClientRect(); r.width <= 0 || r.height <= 200 || n.push(e) } } })), n.length > 0) { for (var r = n[0]; r.parentElement !== t;) r = r.parentElement; r !== t && s(r) } h(t.querySelectorAll("li"), (function(e) { var t = e.querySelectorAll("div"), n = e.querySelectorAll("img"); t.length > 0 && n.length > 0 && b(e) > .8 && s(e) })), h(t.querySelectorAll("font"), (function(e) { y(e, (function(e) { return O.includes(e) })) })), h(t.querySelectorAll("img"), (function(t) { if (y(t, (function(e) { return z.includes(e) })), t.addEventListener("error", (function() { s(t) })), t.complete && H(t), t.addEventListener("load", (function() { H(t) })), t && t.mirrorElement) { var n = t.mirrorElement, r = n.nextSibling, i = n.previousSibling, a = ""; if (i && u(i, "noscript")) { var o = R(i); o && (a = o) } else if (r && u(r, "noscript")) { var l = R(r); l && (a = l) } else { var c = n.closest("figure"); if (c && e(c)) { var d = c.querySelectorAll("noscript"); if (1 === d.length) { var f = R(d[0]); f && (a = f) } } }!a && (a = N(n)), a && p(t, "src") !== a ? g(t, "src", a) : n.addEventListener("load", (function() { g(t, "src", n.src) })), !p(t, "src") && s(t) } })) }(t), function(e, t, n) { var r = 0, i = 0, o = 0, l = 0; function c(e) { r && (r += e), i && (i += e), o && (o += e), l && (l += e) } for (var u = e, d = [], f = w(e.mirrorElement || e); u;) { var v = void 0, g = u.mirrorElement; if (g) { var E = u.nodeName.toLowerCase(), C = window.getComputedStyle(g), x = C.float, N = C.display; if ("none" !== N && "0" !== C.opacity || "img" !== E && "hidden" === C.visibility && (v = u), !v) { var L = S(u), k = ["目录", "大纲"]; n && k.push(n), t && k.push(t), k.includes(L) && (v = u) } if (u !== e) { if (!v) { y(u, (function(e) { return j.test(e) })); var T = u.className; T && (a(T) && ("td" === E && "gutter" === T || T.indexOf("crayon-") >= 0) || u.removeAttribute("class")) } if (!v) { var O = C.clear; O && "both" === O && u.classList.add("both"); var _ = window.getComputedStyle(g, ":after") .clear; _ && "both" === _ && u.classList.add("both") } } if (!v && u !== e) { if ("div" === E) { var B = g.querySelectorAll("blockquote, dl, div, ol, p, pre, table, ul"); if (!(r || x && "none" !== x) && B.length <= 0) { var z = V(u, "p"); E = "p", u = z, g = z.mirrorElement } else "inline-block" === N && u.classList.add("inline-block") } else E.includes("-") && E.indexOf("inner") <= -1 && ["block", "inline-block", "flex", "inline-flex"].includes(N) && u.classList.add(N); A.includes(E) && g.querySelectorAll("img") .length > 0 && ["flex", "inline-flex"].includes(N) && (u.classList.add(N), F(u, ["align-items", "justify-content"], C)) } if (!v) { var P = w(g); "img" !== E && u !== e && (!r && x && "none" !== x && (P.height >= 130 || g.childElementCount > 0) && (r = 1), !o && C.fontStyle && "normal" !== C.fontStyle && (u !== e && !q.includes(E) && (u.style.fontStyle = C.fontStyle), o = 1), !l && C.fontWeight && "normal" !== C.fontWeight && C.fontWeight > 400 && (u !== e && !M.includes(E) && (u.style.fontWeight = C.fontWeight), l = 1)); var R = C.width || P.width; r && 1 === r && (P.width === f.width ? u.classList.add("full-width") : g.querySelectorAll("img") .length > 0 && (x && "none" !== x && !W.includes(E) && u.classList.add(x), !W.includes(E) && R && "auto" !== R && parseFloat(R) > 10 && m(u, "maxWidth", R))); var I = void 0; switch (E) { case "svg": "absolute" === C.position && R && "auto" !== R && parseFloat(R) < 80 && (v = u); break; case "table": !i && (i = 1); break; case "img": r && x && "none" !== x && m(u, "float", x), !i && R && "auto" !== R && parseFloat(R) > 10 && !g.classList.contains("lazy") && m(u, "maxWidth", R), F(u, ["border-radius"], C); break; case "a": if ((I = p(u, "href")) && I.length && ("#" === I[0] || "javascript:" === I.substring(0, 11))) if (b(u.parentElement) > .8) v = u; else { var H = u.mirrorElement, $ = V(u, "span", !0); $.mirrorElement = H, E = "span", u = $ } } } } var D = u.firstElementChild; if (D) u = D, c(1); else { for (var K = void 0; u !== e && !(K = u.nextElementSibling);) u = u.parentElement, c(-1); if (u === e) { v && s(v); break } u = K, 1 === r && (r = 0), 1 === i && (i = 0), 1 === o && (o = 0), 1 === l && (l = 0) } v && d.push(v) } h(d, s) }(t, n, r), $(t) } function K(e) { for (var t = e, n = e.cloneNode(!0); t;) { n.mirrorElement = t; var r = t.firstElementChild; if (r) t = r, n = n.firstElementChild; else { for (var i = void 0; t !== e && !(i = t.nextElementSibling);) t = t.parentElement, n = n.parentElement; if (t === e) break; t = i, n = n.nextElementSibling } } return n } function U(t) { var n = t.url, r = t.cover, i = t.time, o = t.title, l = t.article; h(l.querySelectorAll("div,p"), (function(e) { e.childNodes.length <= 0 && s(e) })); for (var d, v = l; e(d = v) && 1 === k(d);) { var m = v.firstElementChild; e(m) && (v = m) } if (u(v, "div")) y(v); else { var p = f("div"); p.mirrorElement = v.mirrorElement, function(e, t) { for (var n, r = e.firstChild; r;) n = r.nextSibling, r = t(r) ? null : n }(v, (function(e) { p.appendChild(e) })), v = p } y(v, (function() { return !0 })); var g = v.firstChild; if (e(r)) { var b = N(r); if (a(b) && !b.startsWith("data:")) { var E = f("div", { className: "cover" }), w = f("img", { src: N(r) }); w.addEventListener("load", (function() { this.naturalWidth / this.naturalHeight > 4 && s(E) })), w.addEventListener("error", (function() { s(E) })), E.appendChild(w), v.insertBefore(E, g) } } var C = f("h1", { className: "title" }), x = f("a", { href: n, target: "_blank" }); C.appendChild(x), v.insertBefore(C, g); var L = o || document.title; return a(L) && L.length > 0 ? x.innerText = L : function(e, t, n) { var r = e.ownerDocument; if (r) { var i = r.querySelector("head > title"); if (i) { var a = new MutationObserver((function(e) { if (e && !(e.length < 1)) { var n = e[0].addedNodes; if (n && !(n.length < 1)) { var r = n[0]; if (r && c(r)) { var i = S(r); i && i.length > 0 && (a.disconnect(), t && t(i)) } } } })); a.observe(i, { childList: !0 }), setTimeout((function() { a.disconnect(), n && n() }), 3e3) } } }(v, (function(e) { x.innerText = e }), (function() { S(x) <= 0 && s(C) })), a(i) && i.length > 0 && v.insertBefore(f("p", { className: "time", innerText: i }), g), v } function X(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); t && (r = r.filter((function(t) { return Object.getOwnPropertyDescriptor(e, t) .enumerable }))), n.push.apply(n, r) } return n } function Y(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? X(Object(n), !0) .forEach((function(t) { J(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : X(Object(n)) .forEach((function(t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } function J(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } function Z(e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) } } var G = function() { function e(t) { ! function(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e); var n = this; n.node = t, n.scrollTop = 0, n.running = !1, n._render = !1, n.timer = null, n.count = 0, n.keys = []; var r = f("div"); r.appendChild(f("style", { textContent: "\n html.circle-html{\n --circle-track-width:8px;\n --circle-track:#e2e2e2;\n --circle-thumb: #9e9e9e;\n --circle-radius: 4px;\n\n margin: 0px !important;\n padding: 0px !important;\n overflow: auto !important;\n background: #fff !important;\n max-width: initial !important;\n }\n html.circle-html>body.circle-hidden{\n width:100% !important;\n height:100% !important;\n opacity:0 !important;\n pointer-events:none !important;\n position:fixed !important;\n top:0px !important;\n left:0px !important;\n }import { maxZindex } from '../../../circle/core/dom';\n\n " })); var i = r.attachShadow({ mode: "open" }); n.stylesheet = f("style", { textContent: `[class*=ant-]::-ms-clear,[class*=ant-] input::-ms-clear,[class*=ant-] input::-ms-reveal,[class^=ant-]::-ms-clear,[class^=ant-] input::-ms-clear,[class^=ant-] input::-ms-reveal{display:none}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0;color:rgba(0,0,0,.85);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variant:tabular-nums;line-height:1.5715;background-color:#fff;font-feature-settings:"tnum"}[tabindex="-1"]:focus{outline:none!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;color:rgba(0,0,0,.85);font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#1890ff;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#40a9ff}a:active{color:#096dd9}a:active,a:focus,a:hover{text-decoration:none;outline:0}a[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(0,0,0,.45);text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}::selection{color:#fff;background:#1890ff}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}.root{--font:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--size:20px;--width:800px;--space:0;--lineheight:1.8;--weight:400;--blockspace:32px;--indent:0em;--titlealign:left;--align:left;--imageleft:auto;--imageright:auto;--imagehide:block;--margin:80px;--padding:80px;--columncount:2;--columngap:60px;--title1:2em;--title1weight:500;--title2:1.6em;--title2weight:500;--title3:1.2em;--title3weight:500;--title4:1em;--title4weight:500;--title5:1em;--title5weight:500;--title6:1em;--title6weight:500;--color:#1b1b1b;--link:#416ed2;--hover:#305ab7;--visited:#305ab7;--select:#1b1b1b;--selectbg:#bbd6fc;--bg-r:237;--bg-g:237;--bg-b:237;--bg:#ededed;--canvas:#fff}.root code,.root tt{border-radius:3px;padding:0 5px;margin:0 5px}.root pre{padding:.6em .8em;word-wrap:break-word;border-radius:3px}.root pre code{display:inline;margin:0;padding:0;background:0 0;border:0}.root kbd{margin:0 .2em;padding:.15em .4em .1em;font-size:90%;border-bottom-width:2px;border-radius:3px}.root blockquote{padding:.1em 1em;opacity:.85}.root blockquote>:first-child{margin-top:0}.root blockquote>:last-child{margin-bottom:0}.root blockquote p{margin:0}.root hr{clear:both;margin:15px 0;height:0;overflow:hidden;border:none;background:transparent;padding:0}.root table{width:100%;max-width:100%;border:1px solid transparent;border-collapse:collapse}.root figure{overflow:auto}.root figure>figcaption,.root figure>img,.root figure>pre,.root figure>table{margin:0!important}.root tr td,.root tr th{padding:6px 13px}.root tr td p,.root tr th p{margin:0}.root img,.root video{max-width:100%;height:auto}.root embed{max-width:100%}.root li div,.root li p{margin:0}.root mark{padding:0;margin:0;color:initial;background-color:initial}.root svg{width:20px;height:20px}.root :focus{outline:none}.root [role=separator]:after{content:"";display:block;clear:both;margin:25px 0;height:0;overflow:hidden;border:none;background:transparent;padding:0}.root [role=separator]:last-child:after{display:none}.root .line{display:block}.root .left{float:left;margin-right:12px}.root .right{float:right;margin-left:12px}.root .both{clear:both}.root .full-width{width:100%;max-width:100%!important}.root .noise{display:none}.root .block{display:block}.root .inline-block{display:inline-block}.root .flex{display:flex}.root .inline-flex{display:inline-flex}.root .zone-width{min-width:0}.root{color:var(--color);background:var(--bg)}.root code,.root tt{border:1px solid rgba(var(--bg-r),var(--bg-g),var(--bg-b),.6);background:rgba(var(--bg-r),var(--bg-g),var(--bg-b),.4)}.root pre{background:rgba(var(--bg-r),var(--bg-g),var(--bg-b),.5)}.root kbd{border:1px solid rgba(var(--bg-r),var(--bg-g),var(--bg-b),1)}.root blockquote{border-left:4px solid rgba(var(--bg-r),var(--bg-g),var(--bg-b),1)}.root hr{border-bottom:1px solid rgba(var(--bg-r),var(--bg-g),var(--bg-b),1)}.root table th:hover,.root table tr:hover{background:rgba(var(--bg-r),var(--bg-g),var(--bg-b),.6)}.root table tr{border-bottom:1px solid rgba(var(--bg-r),var(--bg-g),var(--bg-b),.6)}.root table thead tr:first-child{background:rgba(var(--bg-r),var(--bg-g),var(--bg-b),.4)}.root h1,.root h2,.root h3,.root h4,.root h5,.root h6{color:var(--color)}.root a{color:var(--link)}.root a:hover{color:var(--hover)}.root a:active,.root a:visited{color:var(--visited)}.root .hightlight-block,.root ::selection{color:var(--select);background-color:var(--selectbg)}.root .hightlight-block a{color:var(--select)}.root .hightlight{text-decoration:underline}.root .title a{color:var(--color)}.root .title a:hover{color:var(--link)}.root .footer{color:var(--color)}.root.paper .page,.root.solid{background:var(--canvas)}.root{margin:0;padding:1px;display:none;text-shadow:none;font-weight:400;line-height:1.5715;font-size:var(--size);font-variant:tabular-nums;font-feature-settings:"tnum";font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.root h1{font-size:var(--title1);font-weight:var(--title1weight)}.root h2{font-size:var(--title2);font-weight:var(--title2weight)}.root h3{font-size:var(--title3);font-weight:var(--title3weight)}.root h4{font-size:var(--title4);font-weight:var(--title4weight)}.root h5{font-size:var(--title5);font-weight:var(--title5weight)}.root h6{font-size:var(--title6);font-weight:var(--title6weight)}.root blockquote,.root code,.root h1,.root h2,.root h3,.root h4,.root h5,.root h6,.root ol,.root pre,.root ul{text-indent:0}.root .block,.root blockquote,.root dl,.root figcaption,.root li,.root ol,.root p,.root pre,.root section,.root table,.root ul{margin:var(--blockspace) 0}.root .flex .block,.root .flex blockquote,.root .flex dl,.root .flex figcaption,.root .flex ol,.root .flex p,.root .flex pre,.root .flex section,.root .flex table,.root .flex ul,.root .inline-flex .block,.root .inline-flex blockquote,.root .inline-flex dl,.root .inline-flex figcaption,.root .inline-flex ol,.root .inline-flex p,.root .inline-flex pre,.root .inline-flex section,.root .inline-flex table,.root .inline-flex ul{margin:0}.root .flex>*,.root .inline-flex>*{margin-left:10px!important;margin-right:10px!important}.root .flex>:first-child,.root .inline-flex>:first-child{margin-left:0!important}.root .flex>:last-child,.root .inline-flex>:last-child{margin-right:0!important}.root .container{min-height:610px;max-width:var(--width);margin:var(--margin) auto}.root .page{margin-bottom:20px;word-break:break-word;font-size:var(--size);font-family:var(--font);line-height:var(--lineheight);text-indent:var(--indent);letter-spacing:var(--space);font-weight:var(--weight);text-align:var(--align);border-bottom:1px solid var(--color)}.root .page>:first-child{margin-top:0}.root .page>:last-child{margin-bottom:0}.root .page:last-child{margin-bottom:0;border-bottom-width:0}.root .page:after,.root .page:before{content:"";display:block;clear:both;height:0}.root .page img{width:100%;display:var(--imagehide)}.root .page img.large{margin:var(--blockspace) var(--imageright) var(--blockspace) var(--imageleft)!important}.root .page img.base64,.root .page img.tiny{width:auto}.root .page .cover{margin-bottom:16px}.root .page .cover img{margin:0!important;width:100%}.root .page .title{text-indent:0;text-align:var(--titlealign);margin-bottom:var(--blockspace)}.root .page .time{opacity:.6;margin-top:-2%}.root .footer{text-align:center;opacity:.4;font-size:15px;padding:0 0 20px}.root .footer .link{list-style:none;display:flex;justify-content:center;margin:6px 0;padding:0}.root .footer .link li{margin:0 5px}.root .footer .link li a{color:var(--color)}.root.paper .page{padding:var(--padding);border-bottom-width:0;box-shadow:0 0 6px rgba(0,0,0,.15)}.root.paper .page .cover{max-width:calc(100% + 160px);margin:-80px -80px 16px}@media screen and (max-width:600px){.root .container{margin:20px 16px}.root.paper .page{padding:20px}.root.paper .cover{max-width:calc(100% + 40px);margin:-20px -20px 20px}}.entry{opacity:.8;top:10px;right:20px;width:25px;height:25px;cursor:pointer;z-index:99999;position:fixed;border:4px solid #63ab67;border-radius:50%;transition:all .2s}.entry:hover{opacity:1}.entry-close{border:0;opacity:.5}.entry-close:after,.entry-close:before{top:12px;left:0;position:absolute;content:"";width:24px;height:3px;background:#020202}.entry-close:before{transform:rotate(45deg)}.entry-close:after{transform:rotate(-45deg)}` }), i.appendChild(n.stylesheet), n.root = f("div", { className: "root paper" }), n.container = f("div", { className: "container" }), n.root.appendChild(n.container); var a, o = ((a = f("div", { className: "footer notranslate" })) .appendChild(f("ul", { className: "link", innerHTML: '\n