MediaWiki:Common.js

来自红砖维基

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */

/* <pre> */

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (g && (g = 0, op[0] && (_ = 0)), _) try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
var __read = (this && this.__read) || function (o, n) {
    var m = typeof Symbol === "function" && o[Symbol.iterator];
    if (!m) return o;
    var i = m.call(o), r, ar = [], e;
    try {
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
    }
    catch (error) { e = { error: error }; }
    finally {
        try {
            if (r && !r.done && (m = i["return"])) m.call(i);
        }
        finally { if (e) throw e.error; }
    }
    return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
};
(function () { return __awaiter(void 0, void 0, void 0, function () {
    function tabs() {
        var defaultStyle = {
            purple: {
                labelColor: " ",
                labelBackgroundColor: "#9070c0",
                labelBorderColor: "#b090e0 #7050a0 #9070c0 #b090e0",
                labelPadding: ".2em .3em .2em .3em",
                textBorderColor: "#9070c0",
                textBackgroundColor: "#f0edf5",
                textPadding: "1em"
            },
            green: {
                labelColor: " ",
                labelBackgroundColor: "#75c045",
                labelBorderColor: "#90d060 #60b030 #75c045 #90d060",
                labelPadding: ".2em .3em .2em .3em",
                textBorderColor: "#75c045 #60b030 #60b030 #75c045",
                textBackgroundColor: "#f5fffa",
                textPadding: "1em"
            },
            red: {
                labelColor: " ",
                labelBackgroundColor: "#FF0000",
                labelBorderColor: "#FF8888 #CC0000 #FF0000 #FF8888",
                labelPadding: ".2em .3em .2em .3em",
                textBorderColor: "#FF0000 #CC0000 #CC0000 #FF0000",
                textBackgroundColor: "#fffafa",
                textPadding: "1em"
            },
            blue: {
                labelColor: " ",
                labelBackgroundColor: "#5b8dd6",
                labelBorderColor: "#88abde #3379de #5b8dd6 #88abde",
                labelPadding: ".2em .3em .2em .3em",
                textBackgroundColor: "#f0f8ff",
                textBorderColor: "#5b8dd6 #3379de #3379de #5b8dd6",
                textPadding: "1em"
            },
            yellow: {
                labelColor: " ",
                labelBackgroundColor: "#ffe147",
                labelBorderColor: "#ffe977 #ffd813 #ffe147 #ffe977",
                labelPadding: ".2em .3em .2em .3em",
                textBackgroundColor: "#fffce8",
                textBorderColor: "#ffe147 #ffd813 #ffd813 #ffe147",
                textPadding: "1em"
            },
            orange: {
                labelColor: " ",
                labelBackgroundColor: "#ff9d42",
                labelBorderColor: "#ffac5d #ff820e #ff9d42 #ffac5d",
                labelPadding: ".2em .3em .2em .3em",
                textBackgroundColor: "#ffeedd",
                textBorderColor: "#ff9d42 #ff820e #ff820e #ff9d42",
                textPadding: "1em"
            },
            black: {
                labelColor: " ",
                labelBackgroundColor: "#7f7f7f",
                labelBorderColor: "#999999 #4c4c4c #7f7f7f #999999",
                labelPadding: ".2em .3em .2em .3em",
                textBackgroundColor: "#e5e5e5",
                textBorderColor: "#7f7f7f #4c4c4c #4c4c4c #7f7f7f",
                textPadding: "1em"
            }
        };
        var sides = {
            top: {
                className: "tabLabelTop",
                labelColorSide: "top",
                labelBorderSide: ["left", "right"],
                labelColorSideReverse: "bottom",
                dividerSizeType: "height"
            },
            bottom: {
                className: "tabLabelBottom",
                labelColorSide: "bottom",
                labelBorderSide: ["left", "right"],
                labelColorSideReverse: "top",
                dividerSizeType: "height"
            },
            left: {
                className: "tabLabelLeft",
                labelColorSide: "left",
                labelBorderSide: ["top", "bottom"],
                labelColorSideReverse: "right",
                dividerSizeType: "width"
            },
            right: {
                className: "tabLabelRight",
                labelColorSide: "right",
                labelBorderSide: ["top", "bottom"],
                labelColorSideReverse: "left",
                dividerSizeType: "width"
            }
        };
        var truthy = ["1", "on", "true", "yes"];
        $body.addClass("tab");
        function getOwnPropertyNamesLength(obj) {
            return Reflect.ownKeys(obj).length;
        }
        function toLowerFirstCase(str) {
            return str.substring(0, 1).toLowerCase() + str.substring(1);
        }
        function toUpperFirstCase(str) {
            return str.substring(0, 1).toUpperCase() + str.substring(1);
        }
        mw.hook("wikipage.content").add(function (content) {
            content.find(".Tabs").each(function () {
                var self = $(this);
                if (self.children(".TabLabel")[0]) {
                    return true;
                }
                var classList = Array.from(this.classList).filter(function (n) { return Reflect.has(defaultStyle, n); });
                var data = $.extend({
                    labelPadding: "2px",
                    labelBorderColor: "#aaa",
                    labelColor: "green",
                    labelBackgroundColor: $("#content").css("background-color") || "rgba(247,251,255,0.8)",
                    textPadding: "20px 30px",
                    textBorderColor: "#aaa",
                    textBackgroundColor: "white",
                    defaultTab: 1
                }, classList[0] ? defaultStyle[classList[0]] || {} : {}, this.dataset || {});
                var styleSheet = {
                    label: {},
                    text: {}
                };
                var tabLabel = self.append('<div class="TabLabel"></div>').children(".TabLabel"), tabDivider = self.append('<div class="TabDivider"></div>').children(".TabDivider"), tabContent = self.append('<div class="TabContent"></div>').children(".TabContent"), labelPadding = data.labelPadding, labelColor = data.labelColor, labelSide = Reflect.has(sides, data.labelSide) ? data.labelSide : "top", side = sides[labelSide], labelColorSideReverse = truthy.includes(data.labelColorSideReverse), dividerSize = parseInt(data.dividerSize);
                var defaultTab = parseInt(data.defaultTab);
                if (labelSide === "top") {
                    tabLabel.after(tabDivider);
                    tabDivider.after(tabContent);
                }
                else if (labelSide === "bottom") {
                    tabContent.after(tabDivider);
                    tabDivider.after(tabLabel);
                }
                if (!isNaN(dividerSize) && dividerSize > 0) {
                    self.find(".TabDivider")[side.dividerSizeType](dividerSize);
                }
                var labelColorName = toUpperFirstCase(labelColorSideReverse ? side.labelColorSideReverse : side.labelColorSide);
                self.addClass(side.className);
                if (labelColorSideReverse) {
                    self.addClass("reverse");
                }
                self.children(".Tab").each(function () {
                    if ($(this).children(".TabLabelText").text().replace(/\s/g, "").length || $(this).children(".TabLabelText").children().length) {
                        $(this).children(".TabLabelText").appendTo(tabLabel);
                        $(this).children(".TabContentText").appendTo(self.children(".TabContent"));
                    }
                    $(this).remove();
                });
                if (isNaN(defaultTab) || defaultTab <= 0 || defaultTab > tabLabel.children(".TabLabelText").length) {
                    defaultTab = 1;
                }
                tabLabel.children(".TabLabelText").on("click", function () {
                    var label = $(this);
                    label.addClass("selected").siblings().removeClass("selected").css({
                        "border-color": "transparent",
                        "background-color": "inherit"
                    });
                    tabContent.children(".TabContentText").eq(tabLabel.children(".TabLabelText").index(label)).addClass("selected").siblings().removeClass("selected").removeAttr("style");
                    if (getOwnPropertyNamesLength(styleSheet.label) > 0) {
                        label.css(styleSheet.label);
                    }
                    setTimeout(function () {
                        $window.triggerHandler("scroll");
                    }, 1);
                }).eq(defaultTab - 1).trigger("click");
                if (labelPadding) {
                    tabLabel.children(".TabLabelText").css("padding", labelPadding);
                }
                ["labelBorderColor", "labelBackgroundColor", "textPadding", "textBorderColor", "textBackgroundColor"].forEach(function (n) {
                    var target = /^label/.test(n) ? "label" : "text", key = toLowerFirstCase(n.replace(target, ""));
                    styleSheet[target][key] = data[n];
                });
                if (labelColor) {
                    styleSheet.label["border".concat(labelColorName, "Color")] = labelColor;
                }
                else if (styleSheet.label.borderColor) {
                    styleSheet.label["border".concat(labelColorName, "Color")] = "green";
                }
                tabLabel.find(".selected").trigger("click");
                if (getOwnPropertyNamesLength(styleSheet.text) > 0) {
                    tabContent.css(styleSheet.text);
                }
                if (data.autoWidth === "yes") {
                    self.addClass("AutoWidth");
                }
                if (data.float === "left") {
                    self.addClass("FloatLeft");
                }
                if (data.float === "right") {
                    self.addClass("FloatRight");
                }
            });
        });
    }
    function templateFix($content) {
        var target = $();
        $content.find(templateStr).each(function (_, ele) {
            if (ele.isTemplateFixed === "true") {
                return;
            }
            ele.isTemplateFixed = true;
            var subElements = Array.from(ele.querySelectorAll(templateStr));
            if (subElements.length > 0) {
                target.push(ele);
                subElements.forEach(function (subElement) {
                    subElement.isTemplateFixed = true;
                    templateClasses.forEach(function (cls) {
                        if (!isMGPMGUser) {
                            subElement.classList.remove(cls.substring(1));
                        }
                    });
                });
                console.info("TemplateFix", ele, subElements);
            }
        });
        if (wgNamespaceNumber >= 0 && wgNamespaceNumber % 2 === 0 && target.length > 0) {
            if (+mw.user.options.get("gadget-enable-nest-highlight", 0) === 1 || isMGPMGUser && !wgUserGroups.includes("staff")) {
                target.css("border", "3px dashed red");
            }
            if (isMGPMGUser && !wgUserGroups.includes("staff") && +mw.user.options.get("gadget-disable-nest-alert", 0) !== 1) {
                oouiDialog.alert("\u672C\u9875\u9762\u542B\u6709\u5D4C\u5957\u4F7F\u7528\uFF08\u6DF7\u7528\uFF09\u4EE5\u4E0B\u6807\u7B7E\u6216\u6A21\u677F\u7684\u5185\u5BB9\uFF08\u5DF2\u7528\u7EA2\u8272\u865A\u7EBF\u8FB9\u6846\u6807\u8BC6\uFF09\uFF0C\u8BF7\u68C0\u67E5\u6E90\u7801\u5E76\u4FEE\u6539\u4E4B\uFF1A<ul><li>\u5220\u9664\u7EBF\uFF1A<code>".concat(oouiDialog.sanitize("<s>"), "</code>\u3001<code>").concat(oouiDialog.sanitize("<del>"), "</code>\uFF1B</li><li>\u9ED1\u5E55\uFF1A<code>{{\u9ED1\u5E55}}</code>\u3001<code>{{Block}}</code>\u3001<code>{{Heimu}}</code>\uFF1B</li><li>\u5F69\u8272\u5E55\uFF1A<code>{{\u5F69\u8272\u5E55}}</code>\uFF1B</li><li>\u80E1\u8BDD\uFF1A<code>{{\u80E1\u8BDD}}</code>\u3001<code>{{jk}}</code>\uFF0C\u5927\u5C0F\u5199\u4E0D\u9650\u3002</li></ul>"), {
                    title: "萌娘百科提醒您",
                    size: "medium"
                });
            }
        }
    }
    function tcc() {
        return __awaiter(this, void 0, void 0, function () {
            var tcBtn, originText, wpCaptchaWord_1, wpCaptchaId_1;
            return __generator(this, function (_a) {
                switch (_a.label) {
                    case 0:
                        tcBtn = document.getElementById("TencentCaptchaBtn");
                        if (!(tcBtn && !tcBtn.disabled)) return [3, 4];
                        originText = tcBtn.innerText;
                        tcBtn.innerText = "正在加载验证码,请稍候……";
                        wpCaptchaWord_1 = document.getElementById("wpCaptchaWord");
                        wpCaptchaId_1 = document.getElementById("wpCaptchaId");
                        _a.label = 1;
                    case 1:
                        if (!(typeof window.TencentCaptcha !== "function")) return [3, 3];
                        return [4, sleep(100)];
                    case 2:
                        _a.sent();
                        return [3, 1];
                    case 3:
                        if (!tcBtn.disabled) {
                            new window.TencentCaptcha(tcBtn);
                            tcBtn.innerText = originText;
                        }
                        document.getElementById("wpSave").addEventListener("click", function (e) {
                            if (!tcBtn.disabled && (!wpCaptchaWord_1.value || !wpCaptchaId_1.value)) {
                                oouiDialog.alert("请点击验证按钮,完成验证后再提交");
                                e.preventDefault();
                                e.stopImmediatePropagation();
                                e.stopPropagation();
                            }
                        }, {
                            capture: true
                        });
                        _a.label = 4;
                    case 4: return [2];
                }
            });
        });
    }
    function domainChangedAlert() {
        $body.before('<div style="background: #3366CC; color: white; text-align: center; padding: .5rem; position: static;" id="domainChangedAlert"><p>萌娘百科已将域名替换为 <code>*.moegirl.org<b><u>.cn</u></b></code>,原有域名可能访问困难,请更换您的书签等的页面地址。</p></div>');
        $body.css({
            "background-position-y": $("#domainChangedAlert").outerHeight(),
            position: "relative"
        });
    }
    function unescapeString(string) {
        var str = "".concat(string);
        var result = "";
        var length = str.length;
        var index = 0;
        var chr, part;
        while (index < length) {
            chr = str.charAt(index++);
            if (chr === "%") {
                if (str.charAt(index) === "u") {
                    part = str.slice(index + 1, index + 5);
                    if (hex4.exec(part)) {
                        result += String.fromCharCode(parseInt(part, 16));
                        index += 5;
                        continue;
                    }
                }
                else {
                    part = str.slice(index, index + 2);
                    if (hex2.exec(part)) {
                        result += String.fromCharCode(parseInt(part, 16));
                        index += 2;
                        continue;
                    }
                }
            }
            result += chr;
        }
        return result;
    }
    function getNamespacePrefixRegex(namespaceNumber) {
        return RegExp("^(?:".concat(Object.entries(mw.config.get("wgNamespaceIds")).filter(function (config) { return config[1] === namespaceNumber; }).map(function (config) { return config[0].toLowerCase(); }).join("|"), "):"), "i");
    }
    function listMarginLeft() {
        $(".mw-parser-output ul:not(.margin-left-set), .mw-parser-output ol:not(.margin-left-set), #mw-content-text > pre.prettyprint ul:not(.margin-left-set), #mw-content-text > pre.prettyprint ol:not(.margin-left-set)").each(function (_, ele) {
            var $ele = $(ele);
            if (/none.+none/i.test($ele.css("list-style")) || $ele.is(".gallery")) {
                if ($ele.parent().is("li") && $ele.parent().parent().is("ul, ol")) {
                    $ele.css("margin-left", "1.2em");
                }
                else {
                    $ele.css("margin-left", "0.2em");
                }
            }
            else if ($ele.is("ol")) {
                var li = $ele.children("li");
                var start = $ele.attr("start");
                var max_1 = /^\d+$/.test(start) ? +start : 0;
                li.each(function (_, e) {
                    var value = $(e).attr("value");
                    if (/^\d+$/.test(value)) {
                        max_1 = Math.max(max_1, +value);
                    }
                    else {
                        max_1++;
                    }
                });
                $ele.attr("data-last-margin-left-max-length", max_1).css("margin-left", "".concat("".concat(max_1).length * 0.5 + 1.2, "em"));
            }
            else {
                $ele.css("margin-left", "1.2em");
            }
            $ele.addClass("margin-left-set");
        });
    }
    function historyForm() {
        var form = $("#mw-history-compare");
        form.find('[name="editchangetags"], [name="revisiondelete"]').on("click", function () {
            form.attr("method", "post");
            setTimeout(function () {
                form.removeAttr("method");
            }, 16);
        });
    }
    var wgUserGroups, isMGPMGUser, wgNamespaceNumber, wgAction, body, html, $body, $window, sleep, url, forbiddenScroll, templateTags, templateClasses, templateStr, hex2, hex4, substHost, currentHostFlag, reverseProxyhostAlerted, detectedHost, now, needHashChange, originHash, wgCurRevisionId, wgRevisionId, wgPageName, namespacePrefixRegex_1, displayedTitle_1, result, matchTitles;
    return __generator(this, function (_a) {
        switch (_a.label) {
            case 0:
                wgUserGroups = mw.config.get("wgUserGroups");
                isMGPMGUser = wgUserGroups.includes("patroller") || wgUserGroups.includes("sysop");
                wgNamespaceNumber = mw.config.get("wgNamespaceNumber");
                wgAction = mw.config.get("wgAction");
                body = document.body;
                html = document.documentElement;
                $body = $(body);
                $window = $(window);
                sleep = function (ms) {
                    if (ms === void 0) { ms = 1000; }
                    return new Promise(function (res) { return setTimeout(res, ms); });
                };
                if (["ViewAvatar", "Listfiles", "ListDuplicatedFiles", "Unusedimages", "Uncategorizedimages", "MediaStatistics", "TimedMediaHandler"].includes(mw.config.get("wgCanonicalSpecialPageName"))) {
                    url = new mw.Uri();
                    url.host = url.host.replace(/^[^.]+/g, "commons");
                    url.path = mw.config.get("wgScript");
                    url.query.title = "".concat(mw.config.get("wgCanonicalNamespace"), ":").concat(mw.config.get("wgCanonicalSpecialPageName"));
                    location.replace(url);
                }
                forbiddenScroll = ["hidden", "clip"];
                $window.on("resize", function () {
                    var innerWidth = window.innerWidth;
                    var scrollbarWidth;
                    if (!forbiddenScroll.includes(getComputedStyle(body).overflowY)) {
                        scrollbarWidth = innerWidth - body.clientWidth;
                    }
                    else if (!forbiddenScroll.includes(getComputedStyle(html).overflowY)) {
                        scrollbarWidth = innerWidth - html.clientWidth;
                    }
                    else {
                        var backup = body.style.overflowY;
                        body.style.overflowY = "scroll";
                        scrollbarWidth = innerWidth - body.clientWidth;
                        body.style.overflowY = backup;
                    }
                    $body[scrollbarWidth <= 0 ? "addClass" : "removeClass"]("overlay-scrollbars");
                }).trigger("resize");
                templateTags = ["s", "del"];
                templateClasses = [".heimu", ".colormu", ".just-kidding-text"];
                templateStr = __spreadArray(__spreadArray([], __read(templateTags), false), __read(templateClasses), false).join(", ");
                hex2 = /^[\da-f]{2}$/i;
                hex4 = /^[\da-f]{4}$/i;
                return [4, $.ready];
            case 1:
                _a.sent();
                try {
                    substHost = void 0;
                    try {
                        substHost = top.location.host;
                    }
                    catch (_b) {
                        substHost = "";
                    }
                    currentHostFlag = !/\.moegirl\.org(?:\.cn)?$/i.test(location.host);
                    if (top !== window || currentHostFlag) {
                        reverseProxyhostAlerted = [];
                        if (localStorage.getItem("reverse proxy alerted") !== null) {
                            try {
                                reverseProxyhostAlerted = JSON.parse(localStorage.getItem("reverse proxy alerted"));
                                if (!$.isPlainObject(reverseProxyhostAlerted)) {
                                    reverseProxyhostAlerted = {};
                                }
                            }
                            catch (e) {
                                reverseProxyhostAlerted = {};
                            }
                        }
                        detectedHost = currentHostFlag ? location.host : substHost;
                        now = new Date().getTime();
                        localStorage.setItem("reverse proxy alerted", JSON.stringify(reverseProxyhostAlerted));
                    }
                }
                catch (e) {
                    console.debug(e);
                }
                tabs();
                mw.hook("wikipage.content").add(templateFix);
                if (wgAction === "history") {
                    historyForm();
                }
                needHashChange = /[)]$/.test(location.pathname + location.search);
                if (needHashChange) {
                    originHash = location.hash;
                    location.hash = "%";
                    location.hash = originHash;
                }
                $window.on("hashchange.hashchange", function () {
                    var hash = decodeURIComponent(location.hash.replace(/^#/, ""));
                    if (hash.length > 0) {
                        var target = document.getElementById(hash);
                        if (target) {
                            var $target_1 = $(target);
                            var needScroll = true;
                            var mwCollapsible = $target_1.closest(".mw-collapsible.mw-collapsed");
                            if (mwCollapsible.length > 0) {
                                mwCollapsible.find(".mw-collapsible-toggle").first().triggerHandler("click");
                            }
                            var tabContentTextUnselected = $target_1.closest(".TabContentText:not(.selected)");
                            if (tabContentTextUnselected.length > 0) {
                                tabContentTextUnselected.closest(".Tabs").children(".TabLabel").children().eq(tabContentTextUnselected.index()).trigger("click");
                            }
                            if (needScroll) {
                                setTimeout(function () {
                                    $("html, body").scrollTop($target_1.offset().top - window.innerHeight / 8);
                                }, 50);
                            }
                        }
                    }
                });
                $window.triggerHandler("hashchange.hashchange");
                setInterval(listMarginLeft, 200);
                ["copy", "keydown", "scroll", "mousemove"].forEach(function (type) {
                    document.addEventListener(type, function () {
                        $(".mailSymbol").replaceWith('<span title="Template:Mail@">@</span>');
                    }, {
                        capture: true,
                        passive: true
                    });
                });
                if (![0, 2].includes(mw.config.get("wgNamespaceNumber")) || mw.config.get("wgNamespaceNumber") === 2 && !mw.config.get("wgPageName").includes("/")) {
                    $("#multiboilerplateform").remove();
                }
                wgCurRevisionId = mw.config.get("wgCurRevisionId") || -1;
                wgRevisionId = mw.config.get("wgRevisionId") || -1;
                if (!!wgUserGroups.includes("autoconfirmed")) return [3, 4];
                if (!(wgCurRevisionId > 0 && wgRevisionId > 0 && wgCurRevisionId !== wgRevisionId)) return [3, 2];
                return [3, 4];
            case 2:
                if (![2, 3].includes(wgNamespaceNumber)) return [3, 4];
                wgPageName = mw.config.get("wgPageName");
                namespacePrefixRegex_1 = getNamespacePrefixRegex(wgNamespaceNumber);
                displayedTitle_1 = $("#firstHeading, #section_0").first().text().replace(/ /g, "_").replace(namespacePrefixRegex_1, "").trim();
                if (!(mw.config.get("wgAction") === "view" && mw.config.get("wgArticleId") > 0 && displayedTitle_1 !== wgPageName.replace(/ /g, "_").replace(namespacePrefixRegex_1, "").trim())) return [3, 4];
                return [4, new mw.Api().post({
                        action: "query",
                        prop: "info",
                        inprop: "varianttitles",
                        titles: wgPageName
                    })];
            case 3:
                $window.triggerHandler("resize");
                $window.on("load", function () {
                    $window.triggerHandler("resize");
                });
                return [2];
        }
    });
}); })();

/* </pre> */