【💯💯💯2024】网络教育、专业技术、继续教育等视频学习伴侣

后台继续播放📺高倍数🤖自动挂机无人值守🔥继续教育🎗️远程教育,🚩专业技术人员,江西专技学习网,🦄安徽专技网,建投学堂、雨课堂、温州继续教育网、山东青年政治学院,🛎河南教师培训网,宁夏专业技术人员,黑龙江省网络助学平台,青岛市,🌈浙里学习、山东干部网络学院,河北教师教育网、隆泰达培训、🎊东营市继续教育网、百年树人、会计人员🥇深i学、济宁市高级职业学校、基础教育进修网、高等学历继续教育、🐱‍🚀河南专技在线、青岛大学、和学在线、湖南农民大学生⏩全国煤炭行业现代❤️浙江文化干部🤖新营造MOOC❤️贵州省建设行业职业技能管理中心、广州市干部培训❤️长春工业大学🎉西安工业大学168网校🥇在线壹佰分🎉一点通🎉上海开放大学📺卫生健康人才职业技能培养学习平台✅株洲教师教育1️⃣安徽专业技术人员🔥广东省教师继续教育信息管理平台🎗️河北干部网络学院↗️西安工业大学🔛江西科技学院、河南华夏基础😉九江学院继续教育🎉国家开放大学,🧠青书学堂、云南省执业药师、马鞍山市专业技术人员、湖南师范大学、云南省执业药师协会、教师专业发展培训网,贵州省党员干部网络学院,河南省专业技术人员,江西专技在线,企安全、夏邑县小学教师

// ==UserScript==
// @name         【💯💯💯2024】网络教育、专业技术、继续教育等视频学习伴侣
// @namespace    http://tampermonkey.net/
// @version      6.7.1.3
// @description  后台继续播放📺高倍数🤖自动挂机无人值守🔥继续教育🎗️远程教育,🚩专业技术人员,江西专技学习网,🦄安徽专技网,建投学堂、雨课堂、温州继续教育网、山东青年政治学院,🛎河南教师培训网,宁夏专业技术人员,黑龙江省网络助学平台,青岛市,🌈浙里学习、山东干部网络学院,河北教师教育网、隆泰达培训、🎊东营市继续教育网、百年树人、会计人员🥇深i学、济宁市高级职业学校、基础教育进修网、高等学历继续教育、🐱‍🚀河南专技在线、青岛大学、和学在线、湖南农民大学生⏩全国煤炭行业现代❤️浙江文化干部🤖新营造MOOC❤️贵州省建设行业职业技能管理中心、广州市干部培训❤️长春工业大学🎉西安工业大学168网校🥇在线壹佰分🎉一点通🎉上海开放大学📺卫生健康人才职业技能培养学习平台✅株洲教师教育1️⃣安徽专业技术人员🔥广东省教师继续教育信息管理平台🎗️河北干部网络学院↗️西安工业大学🔛江西科技学院、河南华夏基础😉九江学院继续教育🎉国家开放大学,🧠青书学堂、云南省执业药师、马鞍山市专业技术人员、湖南师范大学、云南省执业药师协会、教师专业发展培训网,贵州省党员干部网络学院,河南省专业技术人员,江西专技在线,企安全、夏邑县小学教师
// @author
// @match        *://*/*
// @grant        GM_xmlhttpRequest
// @grant        GM_openInTab
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_deleteValue
// @grant        GM_addValueChangeListener
// @grant        window.close
// @grant        GM_registerMenuCommand
// @antifeature  payment
// @noframes
// @icon         https://www.zhihuishu.com/favicon.ico
// @connect      www.gaozhiwang.top
// @connect      47.115.205.88
// @connect      localhost
// @antifeature  payment  学习辅助付费
// @license      MIT
// ==/UserScript==

"use strict";
var __awaiter = this && this.__awaiter || function (e, a, r, s) {
    return new (r = r || Promise)(function (n, t) {
        function i(e) {
            try {
                o(s.next(e))
            } catch (e) {
                t(e)
            }
        }        function l(e) {
            try {
                o(s.throw(e))
            } catch (e) {
                t(e)
            }
        }        function o(e) {
            var t;
            e.done ? n(e.value) : ((t = e.value) instanceof r ? t : new r(function (e) {
                e(t)
            })).then(i, l)
        }        o((s = s.apply(e, a || [])).next())
    })
};
!function () {
    const version = "6.6.5";
    let basehost = "http://www.gaozhiwang.top", bserUrl = "http://47.115.205.88:7001";
    const panelcss = `
        .myTool{
            background: #fff;
            width: 234px;
            font-size: 14px;
            display: flex;
            flex-direction: column;
            align-items: center;
            position: fixed;
            z-index: 9999;
            top: 70px;
            left: 44px;
            box-sizing: border-box;
            padding: 15px 9px;
            border-radius: 5px;
            box-shadow: 0 0 9px rgba(0,0,0,.5);
        }
        .controls{
            position: absolute;
            right: 12px;
            font-size: 27px;
            top: 9px;
            cursor: pointer;
            transition: all 0.4s;
        }
        .controls:hover{
            color: #1f74c;
            transform: rotate(360deg);
        }
        
        .myTool-content{
            transition: all 0.4s;
            overflow: hidden;
        }
        .mytoolkeyipt{
            width: 130px;
            height: 22px !important;
            outline: none;
            padding: 0px 3px;
            border: 1px solid #757575FF;
            border-radius: 3px;
            font-size: 13px;
            padding: 0px 3px;
            margin-right: 5px;
            margin-top: 2px;
        }
        .addkey-btn{
            color: #fff;
            background: #1f74ca;
        }
        .removkey-btn{
            color: #000;
            display: none;
            background: #eee;
        }
        .handleKeyBtn{
            width: 54px;
            height: 24px;
            margin-top: 2px;
            border: none;
            font-size: 12px;
            border-radius: 2px;
            cursor: pointer;
        }
        
        .handleSpeedUp{
            background: orange;
            font-size: 12px;
            color: #fff;
            padding: 4px 15px;
            border-radius: 5px;
            margin: 0 auto;
            max-width: 80px;
            margin-top: 10px;
            cursor: pointer;
            text-align: center;
        }
        .ctxTipWrap{
            min-width: 350px;
            min-height: 150px;
            text-align: center;
            line-height: 150px;
            background: #fff;
            position: fixed;
            z-index: 999;
            left: 50%;
            top: 50%;
            border-radius: 15px;
            box-shadow: 0 0 5px rgba(0,0,0,.6);
            display:none;
        }
        .cxtsection{
          width: 100%;
          box-sizing: border-box;
          padding: 0 5px;
          margin-bottom: 2px;
        }
        .cxtsection .ctx-title{
          text-align: left;
          margin-top: 12px;
          font-size: 12px;
          color: #4e5969;
          border-left: 2px solid #1f74ca;
          border-radius: 2px;
          padding-left: 3px;
          line-height: 16px;
        }
        .ctxsection2{
          display: flex;
          justify-content: space-between;
        }
        .ctxsection2 .speed-select{
          width: 50%;
          height: 22px !important;
          outline: none;
          position: relative;
          top: 10px;
          border: 1px solid #757575FF;
          border-radius: 3px;
          padding: 0;
          padding-left: 10px;
        }
        .ctxsection3{
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .feedbackBtn{
            font-size: 13px;
            position: relative;
            top: 5px;
            cursor: pointer;
            color: #000;
        }
        a{
            text-decoration: none;
        }
    `;    class GMTool {
        constructor() {
        }        getValue(e) {
            return GM_getValue(e, null)
        }        setValue(e, t) {
            GM_setValue(e, t)
        }        deleteValue(e) {
            GM_deleteValue(e)
        }        registerMenuCommand(e, t, n) {
            GM_registerMenuCommand(e, () => {
                "function" == typeof n && n()
            }, t)
        }        openInTab(e) {
            GM_openInTab(e, {active: !0})
        }        isDateGreaterThanSevenDays(e) {
            e = new Date(e).getTime();
            return 7 < ((new Date).getTime() - e) / 864e5
        }        fetchData(e) {
            return new Promise(t => {
                GM_xmlhttpRequest(Object.assign(Object.assign({}, e), {
                    onload: function (e) {
                        200 == e.status && t(JSON.parse(e.response))
                    }
                }))
            })
        }        sleep(t) {
            return new Promise(e => setTimeout(e, t))
        }
    }    const MyTool = new GMTool;
    let ElementObj = {}, Internetcourse = {
        zhihuishu: {id: 1, mainClass: "zhihuishu", name: "\u667a\u6167\u6811", host: ["zhihuishu.com"]},
        uxueyuan: {
            id: 2,
            mainClass: "CTXCommon",
            name: "U\u5b66\u9662",
            host: ["ua.ulearning.cn"],
            option: {nodeListClass: ".page-name", activeClass: "active"}
        },
        ningmengwencai: {
            id: 3,
            mainClass: "ningmengwencai",
            name: "\u67e0\u6aac\u6587\u624d",
            host: ["www.wencaischool.net", "study.wencaischool.net", "learning.wencaischool.net"]
        },
        xuexitong: {id: 4, mainClass: "xuexitong", name: "\u5b66\u4e60\u901a", host: []},
        henanxinxueyuan: {
            id: 5,
            mainClass: "CTXCommon",
            name: "\u6cb3\u5357\u65b0\u95fb\u51fa\u7248\u5b66\u6821",
            host: ["218.29.91.122:81"],
            option: {
                nodeListClass: ".collapseCont", activeClass: "", getCurrentIndexByOption() {
                    return new Promise(t => {
                        for (let e = 0; e < ElementObj.$allTask.length; e++) "[\u5b8c\u6210]" == ElementObj.$allTask[e].childNodes[0].childNodes[0].childNodes[2].firstChild.innerText && t(e)
                    })
                }
            }
        },
        fujianshifan: {
            id: 6,
            mainClass: "fujianshifan",
            name: "\u798f\u5efa\u5e08\u8303\u7ee7\u7eed\u6559\u80b2",
            host: ["neo.fjnu.cn"]
        },
        gxcic: {
            id: 7,
            mainClass: "gxcic",
            name: "\u5e7f\u897f\u4f4f\u623f\u57ce\u4e61\u5efa\u8bbe\u884c\u4e1a\u4e13\u4e1a\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u5e73\u53f0",
            host: ["jxjy.gxcic.net:9092"]
        },
        luohexueyuan: {
            id: 8,
            mainClass: "CTXCommon",
            name: "\u6f2f\u6cb3\u5b66\u9662",
            host: ["xxpt1.cloudwis.tech", "lhycjy.cloudwis.tech", "ycjy.cloudwis.tech", "hnlg.crjxjy.net"],
            option: {
                nodeListClass: "li.catalog-box", activeClass: "activeCss", videoEle: () => new Promise(e => {
                    let t = 0, n = setInterval(() => {
                        t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                    }, 1e3)
                }), _init: l => new Promise(e => {
                    let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        if (ElementObj.$allTask = document.querySelectorAll("li.catalog-box .play-c"), ElementObj.$allTask.length) {
                            clearInterval(i), ElementObj.$handleSpeedUp.style.display = "none";
                            for (let e = 0; e < ElementObj.$allTask.length; e++) {
                                var t = ElementObj.$allTask[e];
                                if ("\u5df2\u5b66\u4e60" != t.parentElement.querySelector(".c-999").getAttribute("data-original-title")) {
                                    var n = t.parentElement.querySelector(".activeCss");
                                    showTip("\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e"), n || (t.click(), yield MyTool.sleep(2e3)), l.currentIndex = e, l.handleClickSpeedUp();
                                    break
                                }
                            }
                        }
                    }), 1e3)
                })
            }
        },
        mengxiangzaixian: {
            id: 9,
            mainClass: "CTXCommon",
            name: "\u68a6\u60f3\u5728\u7ebf",
            host: ["www.mxdxedu.com"],
            option: {
                nodeListClass: "", _init: () => new Promise(e => {
                    let t = setInterval(() => {
                        ElementObj.$allTask = document.querySelectorAll(".el-card__body button i"), ElementObj.$allTask.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", toolOption.CtxMain.getCurrentIndex())
                    }, 1e3)
                }), getCurrentIndexByOption: () => new Promise(t => {
                    var n = document.querySelectorAll(".el-progress");
                    for (let e = 0; e < n.length; e++) {
                        var i = n[e], l = i.getAttribute("aria-valuenow");
                        if (parseInt(l) <= 99) {
                            i.click(), t(e);
                            break
                        }
                    }
                })
            }
        },
        fjsf2: {id: 6, mainClass: "fjsf2", name: "fjnu", host: ["nto.fjnu.cn"]},
        liangyijiaoyu: {
            id: 11,
            mainClass: "liangyijiaoyu",
            name: "\u826f\u533b\u6559\u80b2",
            host: ["www.sclyedu.com"]
        },
        zjzx: {
            id: 12,
            mainClass: "zjzx",
            name: "\u5b89\u5fbd\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u5728\u7ebf",
            host: ["www.zjzx.ah.cn"]
        },
        zxpxmr: {
            id: 13,
            mainClass: "zxpxmr",
            name: "\u5168\u56fd\u6587\u5316\u548c\u65c5\u6e38\u5e02\u573a\u5728\u7ebf\u57f9\u8bad\u7cfb\u7edf",
            host: ["zxpx.mr.mct.gov.cn"]
        },
        ggfw: {
            id: 14,
            mainClass: "ggfw",
            name: "\u5e7f\u4e1c\u8fdc\u7a0b\u804c\u4e1a\u57f9\u8bad\u5e73\u53f0",
            host: ["ggfw.hrss.gd.gov.cn"]
        },
        liangshizaixian: {id: 15, mainClass: "liangshizaixian", name: "\u826f\u5e08\u5728\u7ebf", host: []},
        gzjxjy: {
            id: 16,
            mainClass: "gzjxjy",
            name: "\u8d35\u5dde\u7701\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u5e73\u53f0",
            host: ["gzjxjy.gzsrs.cn", "www.gzjxjy.gzsrs.cn"],
            runtype: -1
        },
        mingshiclass: {
            id: 17,
            mainClass: "mingshiclass",
            name: "\u540d\u5e08\u8bfe\u5802",
            host: ["saas.mingshiclass.com"]
        },
        qiangshi: {
            id: 18,
            mainClass: "qiangshi",
            name: "\u5f3a\u5e08",
            host: ["zjdx-kfkc.webtrn.cn/", "zjdx-kfkc.webtrn.cn"]
        },
        lanzhgoulgjs: {
            id: 19,
            mainClass: "lanzhgoulgjs",
            name: "\u5170\u5dde\u7406\u5de5\u5927\u5b66\u6559\u5e08",
            host: ["gs.chinamde.cn", "gansu.chinamde.cn", "jilin.chinamde.cn", "ahptc.chinamde.cn", "gc.chinamde.cn"]
        },
        beijingjiaoshi: {
            id: 20,
            mainClass: "beijingjiaoshi",
            name: "\u5317\u4eac\u6559\u5e08\u5b66\u4e60\u7f51",
            host: []
        },
        qingyangzgzjzj: {
            id: 21,
            mainClass: "qingyangzgzjzj",
            name: "\u7518\u8083\u5e86\u9633\u7ee7\u7eed\u6559\u80b2",
            host: ["xjaks.zgzjzj.com", "xjbz.zgzjzj.com", "jyrcjypt.zgzjzj.com", "wws.zgzjzj.com", "gsmtdzj.zgzjzj.com", "qingyang.zgzjzj.com", "lzksj.zgzjzj.com", "pl.zgzjzj.com", "www.zgzjzj.com", "bys.zgzjzj.com", "www.zgzjzj.com"]
        },
        lanzhouwenli: {
            id: 22,
            mainClass: "lanzhouwenli",
            name: "\u5170\u5dde\u6587\u7406\u5b66\u9662\u7ee7\u7eed\u6559\u80b2",
            host: ["jxjypt.luas.edu.cn"]
        },
        xuexituqiang: {
            id: 23,
            mainClass: "CTXCommon",
            name: "\u5b66\u4e60\u56fe\u5f3a",
            host: ["user.hzboolan.cn"],
            option: {
                activeClass: "lesson-in",
                nodeListClass: ".lesson",
                playNext: t => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    yield sleep(1500), t.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u7ae0\u8282\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c\u4e86") : (t.currentIndex += 1, yield sleep(2e3), null != (e = document.querySelector(".el-message-box__btns button")) && e.click(), setTimeout(() => {
                        t.handleClickSpeedUp()
                    }, 5e3))
                })
            }
        },
        guojiazhihuijiaoyu: {
            id: 24,
            mainClass: "guojiazhihuijiaoyu",
            name: "\u56fd\u5bb6\u667a\u6167\u6559\u80b2\u516c\u5171\u670d\u52a1\u5e73\u53f0",
            host: ["teacher.vocational.smartedu.cn", "core.teacher.vocational.smartedu.cn"]
        },
        lanzhouchengren: {
            id: 25,
            mainClass: "lanzhouchengren",
            name: "\u5170\u5dde\u5927\u5b66\u6210\u4eba\u6559\u80b2",
            host: ["lms.hactcm.edu.cn", "lzjtujxjyxylms.sccchina.net", "zgkydxlms.sccchina.net", "courseresource.zhihuishu.com", "lzulms.chinaedu.net", "cjlzulms.sccchina.net", "cjlzu.sccchina.net"]
        },
        tsbtchinamde: {
            id: 26,
            mainClass: "tsbtchinamde",
            name: "\u5929\u6c34\u535a\u901a\u804c\u4e1a\u6280\u672f\u57f9\u8bad\u5b66\u6821",
            host: ["btln.tsbtgs.cn", "tsbt.chinamde.cn", "btzjc.tsbtgs.cn", "www.tsbtgs.cn"]
        },
        henangongshe: {
            id: 27,
            mainClass: "henangongshe",
            name: "\u6cb3\u5357\u7701\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u5b66\u4e60\u516c\u793e",
            host: [],
            remark: "\u548c\u5317\u4eac\u6559\u5e08\u4e00\u6837\u7684"
        },
        zjzjsrc: {
            id: 28,
            mainClass: "zjzjsrc",
            name: "\u6d59\u6c5f\u7701\u4f4f\u623f\u548c\u57ce\u4e61\u5efa\u8bbe\u884c\u4e1a\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u7cfb\u7edf",
            host: ["zj.zjjsrc.cn", "2j.zjjsrc.cn"]
        },
        lzrejxjy: {
            id: 29,
            mainClass: "lzrejxjy",
            name: "\u5170\u5dde\u8d44\u6e90\u73af\u5883\u804c\u4e1a\u6280\u672f\u5927\u5b66",
            host: ["zjyxzhpx-kfkc.webtrn.cn", "ddwh-kfkc.webtrn.cn", "learn.courshare.cn", "sfrz.cug.edu.cn", "lzrejxjy.webtrn.cn", "zjyxldpx-kfkc.webtrn.cn", "ttedu-kfkc.webtrn.cn", "hnssydw-kfkc.webtrn.cn", "ptucjrc-kfkc.cep.webtrn.cn"]
        },
        xuzhouyikedaxue: {
            id: 30,
            mainClass: "xuzhouyikedaxue",
            name: "\u5f90\u5dde\u533b\u79d1\u5927\u5b66",
            host: ["cjyxljy.xzhmu.edu.cn", "cj1047-kfkc.webtrn.cn"]
        },
        xibeisfzyjy: {
            id: 31,
            mainClass: "xibeisfzyjy",
            name: "\u897f\u5317\u5e08\u8303\u5927\u5b66\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u57fa\u5730",
            host: ["sdzj.nweduline.com", "xbsd.lt-edu.net", "preview.dccloud.com.cn"]
        },
        zgrtvu: {
            id: 32,
            mainClass: "zgrtvu",
            name: "\u81ea\u8d21\u5f00\u53d1\u5927\u5b66",
            host: ["zgrtvu.peixunyun.cn", "ua.peixunyun.cn"]
        },
        henandikuang: {
            id: 33,
            mainClass: "henandikuang",
            name: "\u90d1\u5dde\u5e02\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u4e13",
            host: ["dkgc.zyk.ghlearning.com", "zzszyk.user.hnhhlearning.com"]
        },
        tazhuanjipx: {
            id: 34,
            mainClass: "tazhuanjipx",
            name: "\u6cf0\u5b89\u5e02\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7eed\u6559\u80b2\u57f9\u8bad\u5e73\u53f0",
            host: ["ta.zhuanjipx.com", "sdta-zyk.yxlearning.com", "sdta-gxk.yxlearning.com"]
        },
        henanzhuanjipeixun: {
            id: 35,
            mainClass: "CTXCommon",
            name: "\u6cb3\u5357\u4e13\u6280\u57f9\u8bad",
            host: ["www.jxjyedu.org.cn"],
            apis: {
                getID(e) {
                    return new Promise(t => {
                        fetch(location.origin + "/student/single_video.jsp?" + e, {
                            headers: {
                                accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
                                "accept-language": "zh-CN,zh;q=0.9",
                                "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
                                "sec-ch-ua-mobile": "?0",
                                "sec-ch-ua-platform": '"Windows"',
                                "sec-fetch-dest": "iframe",
                                "sec-fetch-mode": "navigate",
                                "sec-fetch-site": "same-origin",
                                "upgrade-insecure-requests": "1"
                            },
                            referrerPolicy: "strict-origin-when-cross-origin",
                            body: null,
                            method: "GET",
                            mode: "cors",
                            credentials: "include"
                        }).then(e => e.text()).then(e => {
                            e = /"single_video_save.jsp", {id:([0-9]+), duration:total, studylong:studylong, position:current}/.exec(e)[1];
                            t(e)
                        })
                    })
                }, savejsp(e, n) {
                    return new Promise(t => {
                        fetch(location.origin + "/student/single_video_save.jsp", {
                            headers: {
                                accept: "*/*",
                                "accept-language": "zh-CN,zh;q=0.9",
                                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                                "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
                                "sec-ch-ua-mobile": "?0",
                                "sec-ch-ua-platform": '"Windows"',
                                "sec-fetch-dest": "empty",
                                "sec-fetch-mode": "cors",
                                "sec-fetch-site": "same-origin",
                                "x-requested-with": "XMLHttpRequest"
                            },
                            referrerPolicy: "strict-origin-when-cross-origin",
                            body: `id=${e}&duration=${n}&studylong=${n}&position=` + n,
                            method: "POST",
                            mode: "cors",
                            credentials: "include"
                        }).then(e => e.text()).then(e => t(e))
                    })
                }
            },
            option: {
                nodeListClass: "", openListenPlayStatus: !1, _init(o) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            var e, t, n, i;
                            try {
                                ElementObj.$allTask = document.querySelectorAll("tbody tr"), ElementObj.$allTask.length ? (clearInterval(l), showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 1500), ElementObj.$allTask.forEach((e, t) => {
                                    1 < t && (e = e.querySelectorAll("td")[2].innerText, 100 != parseInt(e)) && -1 == o.currentIndex && (o.currentIndex = t)
                                }), t = location.href, GM_setValue("homeUrl", t), showTip("⚠️⚠\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), n = ElementObj.$allTask[o.currentIndex].querySelectorAll("td")[3].querySelector("a"), yield sleep(200), n.click(), yield sleep(1500), document.querySelector("input.textbtn").click(), setTimeout(() => {
                                    window.close()
                                }, 4500)) : (i = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument, ElementObj.$video = null == i ? void 0 : i.querySelector("video"), ElementObj.$video && (clearInterval(l), o.handleClickSpeedUp()), ElementObj.$handleSpeedUp.style.display = "none")
                            } catch (e) {
                            }
                        }), 500)
                    })
                }, videoEle() {
                    return new Promise(t => {
                        let n = 0, i = setInterval(() => {
                            n += 1;
                            var e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument;
                            ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && ElementObj.$video.duration ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
                        }, 1e3)
                    })
                }, playFn(l) {
                    return __awaiter(this, void 0, void 0, function* () {
                        showTip("\u89c6\u9891\u52a0\u8f7d\u4e2d..."), yield l.getVideoDom();
                        var e = Math.trunc(ElementObj.$video.duration), t = ElementObj.$video.src,
                            n = new URLSearchParams(location.href), i = n.get("cid"), n = n.get("sid"),
                            t = (showTip("🔊🔊🔊\u6b63\u5728\u8bf7\u6c42\u6570\u636e...."), yield Internetcourse.henanzhuanjipeixun.apis.getID(`video=${t}&cid=${i}&sid=` + n));
                        if (!t || !e) return alert("\u53c2\u6570\u9519\u8bef");
                        yield Internetcourse.henanzhuanjipeixun.apis.savejsp(t, e);
                        showTip("🔊🔊🔊\u5b66\u4e60\u5b8c\u6210,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a...."), setTimeout(() => {
                            window.close()
                        }, 2500), MyTool.openInTab(MyTool.getValue("homeUrl"))
                    })
                }
            }
        },
        zhejiangtjj: {
            id: 32,
            mainClass: "zhejiangtjj",
            name: "\u6d59\u6c5f\u7edf\u8ba1\u6559\u80b2\u57f9\u8bad\u5728\u7ebf\u5b66\u4e60\u4e2d\u5fc3",
            host: ["edu.tjj.zj.gov.cn"]
        },
        guizhouzxjxjy: {
            id: 37,
            mainClass: "CTXCommon",
            name: "\u8d35\u5dde\u7ee7\u7eed\u6559\u80b2\u7f51",
            host: ["guizhou.zxjxjy.com"],
            option: {
                nodeListClass: ".lcml_djj_list li",
                activeClass: "on",
                playFn: t => __awaiter(this, void 0, void 0, function* () {
                    clearInterval(t.timer), clearInterval(t.listenVidoeStatusTimer), clearInterval(t.listenRebortTime);
                    yield t.getVideoDom();
                    var e = document.querySelector(".xgplayer-icon-play");
                    null != e && e.click(), showTip("\u6b63\u5728\u52a0\u8f7d\u89c6\u9891", 2e3), yield sleep(2e3), yield t.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                        ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                        showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), t.playNext(t)
                    })), ElementObj.$video.addEventListener("pause", () => {
                        setTimeout(() => {
                            ElementObj.$video.volume = 0, ElementObj.$video.play()
                        }, 1500)
                    })
                })
            }
        },
        jiangxizhipeizaixian: {
            id: 38,
            mainClass: "jiangxizhipeizaixian",
            name: " \u6c5f\u897f\u804c\u4e1a\u57f9\u8bad",
            host: ["jiangxi.zhipeizaixian.com"]
        },
        anhuijixujyzx: {
            id: 39,
            mainClass: "anhuijixujyzx",
            name: " \u5b89\u5fbd\u7ee7\u7eed\u6559\u80b2\u5728\u7ebf",
            host: ["main.ahjxjy.cn"]
        },
        lanzhoudxgs: {
            id: 40,
            mainClass: "lanzhoudxgs",
            name: " \u5170\u5dde\u5927\u5b66\u6559\u80b2\u57f9\u8bad",
            host: ["gsjzlzu.sccchina.net"]
        },
        jidianshejijiaoyu: {
            id: 41,
            mainClass: "jidianshejijiaoyu",
            name: "\u7ee7\u7eed\u6559\u80b2\u5b66\u4e60\u5e73\u53f0",
            host: ["sdjj.ct-edu.com.cn", "scjylearning.o-learn.cn", "gzmtulearning.o-learn.cn", "xueyastu.o-learn.cn"]
        },
        henanzhujianjy: {
            id: 42,
            mainClass: "henanzhujianjy",
            name: "\u6cb3\u5357\u7701\u4f4f\u5efa\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2",
            host: ["zjpx.icitpower.com:8080"]
        },
        sipingnengcun: {
            id: 43,
            mainClass: "CTXCommon",
            name: "\u56db\u5e73\u519c\u6751\u6210\u4eba\u9ad8\u7b49\u4e13\u79d1\u5b66\u6821",
            host: ["www.jxuxue.com"],
            option: {
                nodeListClass: ".videolist_item", openListenPlayTime: !1, getCurrentIndexByOption() {
                    return new Promise(e => {
                        for (var t = 0; t < ElementObj.$allTask.length; t++) if (!ElementObj.$allTask[t].querySelector(".el-progress").classList.contains("is-success")) {
                            e(t);
                            break
                        }
                        alert("\u5f53\u524d\u8bfe\u7a0b\u89c6\u9891\u5df2\u5168\u90e8\u64ad\u653e\u5b8c")
                    })
                }
            }
        },
        ycjyluteducn: {
            id: 44,
            mainClass: "ycjyluteducn",
            name: "\u5170\u5dde\u7406\u5de5\u5927\u5b66\u73b0\u4ee3\u8fdc\u7a0b\u6559\u80b2\u5b66\u4e60\u5e73\u53f0",
            host: ["ycjy.lut.edu.cn", "gdou.scnu.edu.cn", "bjtudx-kfkc.webtrn.cn"]
        },
        gdrcjxjyw: {
            id: 45,
            mainClass: "gdrcjxjyw",
            name: "\u5e7f\u4e1c\u4eba\u624d\u7ee7\u7eed\u6559\u80b2\u7f51",
            host: ["gdjyw.ahsjxjy.com", "www.rcjxjy.com"]
        },
        shandongqlteacher: {
            id: 46,
            mainClass: "CTXCommon",
            name: "\u5c71\u4e1c\u7701\u6559\u5e08\u6559\u80b2\u7f51",
            host: ["player.qlteacher.com"],
            option: {
                nodeListClass: "app-course-catalogue.ng-star-inserted .ant-list-items li",
                getCurrentIndexByOption() {
                    return new Promise(t => {
                        for (let e = 0; e < ElementObj.$allTask.length; e++) ElementObj.$allTask[e].querySelector("div.align-items-center") || t(e)
                    })
                }
            }
        },
        shixuetong: {
            id: 47,
            mainClass: "shixuetong",
            name: "\u5e08\u5b66\u901a",
            host: ["cn202451010.stu.teacher.com.cn", "cn202432064.stu.teacher.com.cn", "pn202461048.stu.teacher.com.cn", "cas.study.yanxiu.jsyxsq.com", "cn202443051.stu.teacher.com.cn", "cn202446001.stu.teacher.com.cn", "cr202434029.stu.teacher.com.cn", "cn202434010.stu.teacher.com.cn", "cn202434009.stu.teacher.com.cn", "cn202423008.stu.teacher.com.cn", "cr202434006.stu.teacher.com.cn", "pn202433016.stu.teacher.com.cn", "cn202443009.stu.teacher.com.cn", "tr202364028.stu.teacher.com.cn", "pn202313066.stu.teacher.com.cn", "tn202361055.stu.teacher.com.cn", "cn202334050.stu.teacher.com.cn", "pr202341083.stu.teacher.com.cn", "cr202353008.stu.teacher.com.cn", "cn202321002.stu.teacher.com.cn", "pn202333116.stu.teacher.com.cn", "cn202343141.stu.teacher.com.cn", "cr202343116.stu.teacher.com.cn", "cn202343132.stu.teacher.com.cn", "cn202337049.stu.teacher.com.cn", "tn202346009.stu.teacher.com.cn", "tn202343108.stu.teacher.com.cn", "qr202310001.stu.teacher.com.cn"]
        },
        shandongenhualvyou: {
            id: 48,
            mainClass: "shandongenhualvyou",
            name: "\u5c71\u4e1c\u7701\u6587\u5316\u548c\u65c5\u6e38\u5385\u7ee7\u7eed\u6559\u80b2\u516c\u5171\u670d\u52a1\u5e73\u53f0",
            host: ["123.232.43.194:8088"]
        },
        gansugongwuyuan: {
            id: 49,
            mainClass: "gansugongwuyuan",
            name: "\u7518\u8083\u7701\u516c\u52a1\u5458\u7f51\u7edc\u57f9\u8bad\u7f51",
            host: ["gwypx.gsdj.gov.cn", "gsgwypx.com.cn", "www.gsgwypx.com.cn:83", "www.gsgwypx.com.cn:86", "www.gsgwypx.com.cn:89", "www.gsgwypx.com.cn:90", "www.gsgwypx.com.cn:92", "www.gsgwypx.com.cn:91"]
        },
        wlmqcol: {
            id: 50,
            mainClass: "wlmqcol",
            name: "\u4e4c\u9c81\u6728\u9f50\u5efa\u8bbe\u804c\u4e1a\u57f9\u8bad\u4e2d\u5fc3",
            host: ["www.wlmqcol.com"]
        },
        shandongzhuanyejisu: {
            id: 51,
            mainClass: "shandongzhuanyejisu",
            name: "\u5c71\u4e1c\u7701\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u516c\u9700\u8bfe\u5e73\u53f0",
            host: ["zjshpx-kfkc.webtrn.cn", "sdsz.train.yxlearning.com"]
        },
        chongqingzhuanye: {
            id: 52,
            mainClass: "chongqingzhuanye",
            name: "\u91cd\u5e86\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2",
            host: ["mooc1.cqrspx.cn", "cqrl.21tb.com"]
        },
        jiaoyuganbuwang: {
            id: 53,
            mainClass: "jiaoyuganbuwang",
            name: "\u4e2d\u56fd\u6559\u80b2\u5e72\u90e8\u7f51\u7edc\u5b66\u9662",
            host: ["study.enaea.edu.cn"]
        },
        zhijiaoyun: {
            id: 54,
            mainClass: "shandongzhuanyejisu",
            name: "\u804c\u6559\u4e91",
            host: ["course.icve.com.cn"]
        },
        zhijiaoyun2: {
            id: 54,
            mainClass: "zhijiaoyun2",
            name: "\u804c\u6559\u4e91 \u7248\u672c2",
            host: ["zjy2.icve.com.cn"]
        },
        zaixianxuexi: {
            id: 55,
            mainClass: "zaixianxuexi",
            name: "\u5728\u7ebf\u5b66\u4e60",
            host: ["rsjapp.mianyang.cn"]
        },
        anquanshengchanzx: {
            id: 56,
            mainClass: "CTXCommon",
            name: "\u5317\u4eac\u5e02\u5e94\u7528\u804c\u4e1a\u6280\u80fd\u57f9\u8bad",
            host: ["www.zaixian100f.com1111111111111111"],
            option: {
                nodeListClass: "", activeClass: "", videoEle: () => new Promise(e => {
                    let t = 0, n = setInterval(() => {
                        t += 1, ElementObj.$video = document.querySelector("#vjs_video_3_html5_api"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                    }, 1e3)
                }), _init(a) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            var e;
                            try {
                                var t = document.querySelectorAll(".chapter_j>span"),
                                    n = document.querySelectorAll(".first-box");
                                if (ElementObj.$allTask = t.length ? t : n, ElementObj.$allTask.length) {
                                    clearInterval(o), showTip("\u6b63\u5728\u521d\u59cb\u5316"), ElementObj.$handleSpeedUp.style.display = "none";
                                    for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
                                        var l = ElementObj.$allTask[i].querySelector("li");
                                        if (l && l.classList.contains("currse")) {
                                            a.currentIndex = i;
                                            break
                                        }
                                        if (ElementObj.$allTask[i].classList.contains("text-color")) {
                                            a.currentIndex = i;
                                            break
                                        }
                                    }
                                    -1 == a.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c") : ("/course/lesson" != location.pathname && null != (e = ElementObj.$allTask[a.currentIndex].querySelector("li")) && e.click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), a.handleClickSpeedUp())
                                }
                            } catch (e) {
                            }
                        }), 500)
                    })
                }, listenRebortFn(e) {
                    if ("none" != document.querySelector(".mask.mask_bg").style.display) e.playNext(e); else {
                        var t = ElementObj.$video.currentTime / 60, n = ElementObj.$video.duration / 60,
                            i = document.querySelector(".vjs-remaining-time-display");
                        if (i) if ("0:00" == i.innerText) return void e.playNext(e);
                        n <= t && e.playNext(e)
                    }
                }, playNext(t) {
                    return __awaiter(this, void 0, void 0, function* () {
                        if (yield sleep(2e3), t.currentIndex >= ElementObj.$allTask.length - 1) alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c"); else {
                            t.currentIndex += 1;
                            let e = ElementObj.$allTask[t.currentIndex].querySelector("li");
                            null !== (e = "/course/lesson" == location.pathname ? ElementObj.$allTask[t.currentIndex] : e) && void 0 !== e && e.click(), setTimeout(() => {
                                t.handleClickSpeedUp()
                            }, 2e3)
                        }
                    })
                }
            }
        },
        guojiakaifangdaxue: {
            id: 57,
            mainClass: "guojiakaifangdaxue",
            name: "\u56fd\u5bb6\u5f00\u653e\u5927\u5b66",
            host: ["lms.ouchn.cn", "xczxzdbf.moodle.qwbx.ouchn.cn", "moodle.syxy.ouchn.cn"]
        },
        jjjxjy: {
            id: 58,
            mainClass: "jjjxjy",
            name: "\u4e5d\u6c5f\u5b66\u9662\u7ee7\u7eed\u6559\u80b2\u5b66\u9662\u6210\u6559\u5e73\u53f0",
            host: ["hunau.web2.superchutou.com", "jjxy.web2.superchutou.com", "fskjxy.web2.superchutou.com"]
        },
        csustcj: {
            id: 59,
            mainClass: "CTXCommon",
            name: "\u6c5f\u897f\u79d1\u6280\u5b66\u9662,\u957f\u6c99\u7406\u5de5\u5927\u5b66\u9ad8\u7b49\u5b66\u5386\u7ee7\u7eed\u6559\u80b2\u6559\u5b66\u7ba1\u7406\u5e73\u53f0",
            host: ["csustcj.edu-edu.com.cn", "cws.edu-edu.com"],
            option: {nodeListClass: ".ivu-tree-children .render-content__video", activeClass: "activeVideo"}
        },
        xiangongyedx: {
            id: 60,
            mainClass: "xiangongyedx",
            name: "\u897f\u5b89\u5de5\u4e1a\u5927\u5b66",
            host: ["nwu.168wangxiao.com", "xatu.168wangxiao.com", "md.168wangxiao.com", "xawl.168wangxiao.com"]
        },
        hebeiganbu: {
            id: 62,
            mainClass: "hebeiganbu",
            name: "\u6cb3\u5317\u5e72\u90e8\u7f51\u7edc\u5b66\u9662",
            host: ["hebgb.gwypx.com.cn", "www.hebgb.gov.cn"]
        },
        gdedujsxx: {
            id: 63,
            mainClass: "gdedujsxx",
            name: "\u5e7f\u4e1c\u7701\u6559\u5e08\u7ee7\u7eed\u6559\u80b2\u4fe1\u606f\u7ba1\u7406\u5e73\u53f0",
            host: ["jsglpt.gdedu.gov.cn", "jsxx.gdedu.gov.cn"]
        },
        wsjkrczyjn: {
            id: 57,
            mainClass: "CTXCommon",
            name: "\u536b\u751f\u5065\u5eb7\u4eba\u624d\u804c\u4e1a\u6280\u80fd\u57f9\u517b\u5b66\u4e60\u5e73\u53f0",
            host: ["learn.wjrc.shjy.ouchn.edu.cn"],
            option: {nodeListClass: ".setionItem", activeClass: "active"}
        },
        zhuzhouteacher: {
            id: 64,
            mainClass: "zhuzhouteacher",
            name: "\u682a\u6d32\u6559\u5e08\u6559\u80b2\u7f51\u7edc\u5b66\u9662",
            host: ["www.zhuzhouteacher.com"]
        },
        zhuanyejishuryjxjy: {
            id: 65,
            mainClass: "zhuanyejishuryjxjy",
            name: "\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u7f51",
            host: ["gp.chinahrt.com"]
        },
        yinghuaxuetang: {
            id: 65,
            mainClass: "yinghuaxuetang",
            name: "\u82f1\u534e\u5b66\u5802",
            host: ["mooc.ycust.com", "mooc.wuhues.com"]
        },
        yidiantong: {
            id: 66,
            mainClass: "CTXCommon",
            name: "\u4e00\u70b9\u901a",
            host: ["www.yidiankai.net"],
            option: {
                nodeListClass: ".keshi", openListenPlayTime: !1, getCurrentIndexByOption() {
                    return new Promise(e => {
                        for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].classList.contains("active")) {
                            e(t);
                            break
                        }
                    })
                }, nextClass: "a"
            }
        },
        shanghaikaifangdx: {
            id: 67,
            mainClass: "shanghaikaifangdx",
            name: "\u4e0a\u6d77\u5f00\u653e\u5927\u5b66",
            host: ["l.shou.org.cn"]
        },
        gzgbjy: {
            id: 68,
            mainClass: "gzgbjy",
            name: "\u5e7f\u5dde\u5e02\u5e72\u90e8\u57f9\u8bad\u7f51\u7edc\u5b66\u9662",
            host: ["gzgbjy.gzswdx.gov.cn"]
        },
        jixujiaoyuzaixian: {
            id: 69,
            mainClass: "jixujiaoyuzaixian",
            name: "\u7ee7\u7eed\u6559\u80b2\u5728\u7ebf",
            host: ["ce.jllpa.cn"]
        },
        guizhoujianshezyjs: {
            id: 70,
            mainClass: "guizhoujianshezyjs",
            name: "\u8d35\u5dde\u7701\u5efa\u8bbe\u884c\u4e1a\u804c\u4e1a\u6280\u80fd\u7ba1\u7406\u4e2d\u5fc3\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u57fa\u5730",
            host: ["ware.cdeledu.com"]
        },
        zaixian100f: {
            id: 71,
            mainClass: "CTXCommon",
            name: "\u5728\u7ebf\u58f9\u4f70\u5206",
            host: ["www.zaixian100f.com"],
            option: {
                nodeListClass: "", activeClass: "", videoEle: () => new Promise(e => {
                    let t = 0, n = setInterval(() => {
                        t += 1, ElementObj.$video = document.querySelector("#vjs_video_3_html5_api"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                    }, 1e3)
                }), _init(a) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            var e;
                            try {
                                var t = document.querySelectorAll(".chapter_j>span"),
                                    n = document.querySelectorAll(".first-box");
                                if (ElementObj.$allTask = t.length ? t : n, ElementObj.$allTask.length) {
                                    clearInterval(o), showTip("\u6b63\u5728\u521d\u59cb\u5316"), ElementObj.$handleSpeedUp.style.display = "none";
                                    for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
                                        var l = ElementObj.$allTask[i].querySelector("li");
                                        if (l && l.classList.contains("currse")) {
                                            a.currentIndex = i;
                                            break
                                        }
                                        if (ElementObj.$allTask[i].classList.contains("text-color")) {
                                            a.currentIndex = i;
                                            break
                                        }
                                    }
                                    -1 == a.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c") : ("/course/lesson" != location.pathname && null != (e = ElementObj.$allTask[a.currentIndex].querySelector("li")) && e.click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), a.handleClickSpeedUp())
                                }
                            } catch (e) {
                            }
                        }), 500)
                    })
                }, listenRebortFn(e) {
                    if ("none" != document.querySelector(".mask.mask_bg").style.display) e.playNext(e); else {
                        var t = ElementObj.$video.currentTime / 60, n = ElementObj.$video.duration / 60,
                            i = document.querySelector(".vjs-remaining-time-display");
                        if (i) if ("0:00" == i.innerText) return void e.playNext(e);
                        n <= t && e.playNext(e)
                    }
                }, playNext(t) {
                    return __awaiter(this, void 0, void 0, function* () {
                        if (yield sleep(2e3), t.currentIndex >= ElementObj.$allTask.length - 1) alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c"); else {
                            t.currentIndex += 1;
                            let e = ElementObj.$allTask[t.currentIndex].querySelector("li");
                            null !== (e = "/course/lesson" == location.pathname ? ElementObj.$allTask[t.currentIndex] : e) && void 0 !== e && e.click(), setTimeout(() => {
                                t.handleClickSpeedUp()
                            }, 2e3)
                        }
                    })
                }
            }
        },
        gzteacher: {
            id: 72,
            mainClass: "gzteacher",
            name: "\u5e7f\u5dde\u5e02\u4e2d\u5c0f\u5b66\u6559\u5e08\u7ee7\u7eed\u6559\u80b2\u7f51",
            host: ["study.gzteacher.com", "gdipx.yanxiu.com"]
        },
        moocxinyingzao: {id: 73, mainClass: "moocxinyingzao", name: "\u65b0\u8425\u9020", host: ["mooc.xinyingzao.cn"]},
        zhejiangzjelib: {
            id: 74,
            mainClass: "zhejiangzjelib",
            name: "\u6d59\u6c5f\u6587\u5316\u5e72\u90e8\u7f51\u7edc\u5b66\u9662",
            host: ["train.wht.zjelib.cn"]
        },
        jlnkylllnet: {
            id: 77,
            mainClass: "jlnkylllnet",
            name: "\u5409\u6797\u7701\u519c\u79d1\u9662\u4e13\u4e1a\u6280\u672f\u4eba\u5458",
            host: ["jlnky.lllnet.cn"]
        },
        dongbeishifandaxue: {
            id: 76,
            mainClass: "dongbeishifandaxue",
            name: "\u4e1c\u5317\u5e08\u8303\u5927\u5b66\u4e2d\u5c0f\u5b66\u6559\u5e08\u7f51\u7edc\u57f9\u8bad\u5e73\u53f0",
            host: ["cn202341126.stu.t-px.cn", "cn202341125.stu.t-px.cn"]
        },
        quanguomeotan: {
            id: 78,
            mainClass: "CTXCommon",
            name: "\u5168\u56fd\u7164\u70ad\u884c\u4e1a\u73b0\u4ee3\u8fdc\u7a0b\u6559\u80b2\u57f9\u8bad\u7f51",
            host: ["www.coaledu.net"],
            option: {nodeListClass: ".row1 a.subset-class", activeClass: "on"}
        },
        qzjystudy: {
            id: 79,
            mainClass: "qzjystudy",
            name: "\u6d4e\u5b81\u5e02\u9ad8\u7ea7\u804c\u4e1a\u5b66\u6821(\u7701\u7ea7\u7ee7\u7eed\u6559\u80b2\u57fa\u5730)",
            host: ["jnrcpx.qzjystudy.com", "jnzjpx.qzjystudy.com"]
        },
        jsjxjypt: {
            id: 80,
            mainClass: "CTXCommon",
            name: "\u57fa\u7840\u6559\u80b2\u8fdb\u4fee\u7f51",
            host: ["www.jsjxjypt.com"],
            option: {nodeListClass: ".videoRight ul li", activeClass: "li1"}
        },
        GlivePro: {
            id: 81,
            mainClass: "GlivePro",
            name: "\u57fa\u7840\u6559\u80b2\u8fdb\u4fee\u7f51",
            host: ["glivepro.gaodun.com", "cloud.gaodun.com"]
        },
        gaodengxueli: {
            id: 82,
            mainClass: "gaodengxueli",
            name: "\u9ad8\u7b49\u5b66\u5386\u7ee7\u7eed\u6559\u80b2\u7f51\u7edc\u5b66\u4e60\u5e73\u53f0",
            host: ["kc.jxjypt.cn"],
            option: {nodeListClass: ".course-list-txt dd i", activeClass: "fa-youtube-play"}
        },
        henanzhuanjizaixian: {
            id: 83,
            mainClass: "henanzhuanjizaixian",
            name: "\u6cb3\u5357\u4e13\u6280\u5728\u7ebf",
            host: ["hnzj.user.ghlearning.com"]
        },
        hunannmdxs: {
            id: 84,
            mainClass: "hunannmdxs",
            name: "\u6e56\u5357\u519c\u6c11\u5927\u5b66\u751f",
            host: ["study.ouchn.cn"]
        },
        hexuezaixianjxjyzx: {
            id: 85,
            mainClass: "CTXCommon",
            name: "\u548c\u5b66\u5728\u7ebf,\u9752\u5c9b\u5927\u5b66",
            host: ["student.jxjyzx.qdu.edu.cn", "student.hexuezx.cn"],
            option: {
                nodeListClass: ".list_text:not(.color_catalog)",
                activeClass: "bai_color_text_icon",
                afterPlayEnd: () => new Promise(t => {
                    setTimeout(() => {
                        var e = document.querySelector(".el-message-box .el-button--primary");
                        null != e && e.click(), t(!0)
                    }, 3e3)
                })
            }
        },
        shenixue: {
            id: 86,
            mainClass: "CTXCommon",
            name: "\u6df1i\u5b66",
            host: ["www.zhi-niao.com", "szxy.szzhdj.gov.cn"],
            option: {
                nodeListClass: ".jss299", activeClass: "jss300", playNext: () => new Promise(e => {
                    setTimeout(() => {
                        ElementObj.$allTask = document.querySelectorAll(".jss299");
                        for (var e of ElementObj.$allTask) if (!e.querySelector(".jss303")) {
                            e.click(), setTimeout(() => {
                                toolOption.CtxMain.handleClickSpeedUp()
                            }, 3e3);
                            break
                        }
                    }, 3e3)
                })
            }
        },
        dongaokauji: {
            id: 87,
            mainClass: "dongaokauji",
            name: "\u4e1c\u5965\u4f1a\u8ba1\u7ee7\u7eed\u6559\u80b2",
            host: ["jxjycwweb.dongao.cn", "study.dongao.cn"]
        },
        btzjpx: {
            id: 88,
            mainClass: "CTXCommon",
            name: "\u5305\u5934\u5e02\u4f4f\u5efa\u884c\u4e1a\u4ece\u4e1a\u4eba\u5458\u5728\u7ebf\u5b66\u4e60\u7cfb\u7edf",
            host: ["www.btzjpx.com"],
            option: {
                nodeListClass: ".classBox",
                openListenPlayStatus: !1,
                getCurrentIndexByOption: () => new Promise(e => {
                    for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) "rgb(240, 247, 254)" == ElementObj.$allTask[t].style.background && e(t)
                })
            }
        },
        bainianshuren: {id: 89, name: "\u767e\u5e74\u6811\u4eba", mainClass: "bainianshuren", host: ["js.cc-edu.cn"]},
        dyyxlearning: {
            id: 90,
            name: "\u4e1c\u8425\u5e02\u7ee7\u7eed\u6559\u80b2\u7f51\u4e13\u4e1a\u79d1\u76ee\u57f9\u8bad\u5e73\u53f0",
            mainClass: "dyyxlearning",
            host: ["sddy.zyk.yxlearning.com"]
        },
        hebeijiaoshijiaoyuwang: {
            id: 91,
            name: "\u6cb3\u5317\u6559\u5e08\u6559\u80b2\u7f51",
            mainClass: "hebeijiaoshijiaoyuwang",
            host: ["qy18.gpa.enetedu.com"]
        },
        shangdongganbu: {
            id: 92,
            name: "\u5c71\u4e1c\u5e72\u90e8\u7f51\u7edc\u5b66\u9662",
            mainClass: "shangdongganbu",
            host: ["gbwlxy.dtdjzx.gov.cn"]
        },
        yunketang: {
            id: 93,
            name: "\u4e91\u8bfe\u5802",
            mainClass: "yunketang",
            host: ["01wx.net", "www.01wx.net"],
            option: {nodeListClass: ".el-collapse-item__content div.file-item", activeClass: "file-item-active"}
        },
        guojiazhongxiaoxue: {
            id: 94,
            name: "\u56fd\u5bb6\u4e2d\u5c0f\u5b66\u667a\u6167\u6559\u80b2\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["basic.smartedu.cn"],
            option: {
                nodeListClass: "", activeClass: "", _init(o) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            try {
                                if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll(".fish-collapse-item"), ElementObj.$allTask = document.querySelectorAll(".resource-item"), ElementObj.$parentNodes.length || ElementObj.$allTask.length) {
                                    if (clearInterval(l), 1 == (ElementObj.$parentNodes.length ? 1 : 2)) {
                                        showTip("\u5b66\u4e60\u51c6\u5907\u4e2d~", 1e4);
                                        for (var t of ElementObj.$parentNodes) {
                                            t.querySelector(".fish-collapse-header").click();
                                            var n = t.querySelectorAll(".fish-collapse-header");
                                            let e = 0;
                                            if (1 < n.length) {
                                                for (var i of n) 0 != e && (i.click(), e += 1, yield sleep(250));
                                                e = 0
                                            }
                                            yield sleep(300)
                                        }
                                        ElementObj.$allTask = document.querySelectorAll(".resource-item");
                                        for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("\u5df2\u5b66\u5b8c" != ElementObj.$allTask[e].querySelector("i").title) {
                                            o.currentIndex = e;
                                            break
                                        }
                                    } else for (e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("resource-item-active")) {
                                        o.currentIndex = e;
                                        break
                                    }
                                    -1 == o.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[o.currentIndex].click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                                        o.handleClickSpeedUp()
                                    }, 3e3))
                                }
                            } catch (e) {
                            }
                        }), 1e3)
                    })
                }, playNext(e) {
                    return __awaiter(this, void 0, void 0, function* () {
                        e.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), e.currentIndex += 1, ElementObj.$allTask[e.currentIndex].click(), setTimeout(() => {
                            e.handleClickSpeedUp()
                        }, 3e3))
                    })
                }, listenRebortFn() {
                    var e, t = document.querySelectorAll(".fish-btn.fish-btn-primary")[1],
                        t = (null != t && t.click(), document.querySelector(".fish-modal-root"));
                    null != (e = null == t ? void 0 : t.parentElement) && e.removeChild(t)
                }
            }
        },
        huaxiajiaoshiyanpei: {
            id: 95,
            name: "\u6cb3\u5357\u534e\u590f\u57fa\u7840\u6559\u80b2\u5b66\u9662",
            mainClass: "huaxiajiaoshiyanpei",
            host: ["dc.huaxiajiaoshiyanpei.com", "dz.huaxiajiaoshiyanpei.com"]
        },
        zhelixuexi: {id: 96, name: "\u6d59\u91cc\u5b66\u4e60", mainClass: "zhelixuexi", host: ["www.zjce.gov.cn"]},
        fhswifer: {id: 97, name: "S\u4e91\u8bfe\u5802\u7f51\u6821", mainClass: "fhswifer", host: ["msykt.begowx.com"]},
        shdfuruuwsor: {
            id: 98,
            name: "\u9752\u5c9b\u5e02\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["www.qdjxjy.com.cn", "www.qdjxjy.org.cn"],
            option: {
                nodeListClass: ".simple-list li",
                openListenPlayStatus: !1,
                openListenPlayTime: !0,
                _init: () => new Promise(n => {
                    let i = setInterval(() => {
                        var e = document.querySelector(".el-message-box__wrapper");
                        if (e && "none" != e.style.display && document.querySelector(".el-message-box__btns .el-button--primary").click(), ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".simple-list li"), 0 < ElementObj.$allTask.length) {
                            clearInterval(i);
                            for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if ("\u5b8c\u6210" != ElementObj.$allTask[t].querySelectorAll("div div")[2].innerText) {
                                "rgb(255, 165, 0)" != ElementObj.$allTask[t].querySelector(".el-tooltip").style.color && ElementObj.$allTask[t].click(), toolOption.CtxMain.pdPlayFn(location.href), n(t);
                                break
                            }
                        }
                    })
                }),
                playNext: () => new Promise(e => {
                    for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if ("rgb(255, 165, 0)" == ElementObj.$allTask[t].querySelector(".el-tooltip").style.color) {
                        if ("\u5b8c\u6210" != ElementObj.$allTask[t].querySelectorAll("div div")[2].innerText) return toolOption.CtxMain.pdPlayFn(location.href), !1;
                        ElementObj.$allTask[t + 1].click(), e(!0);
                        break
                    }
                }),
                listenRebortFn: () => {
                    "\u5b8c\u6210" == document.querySelector(".el-tooltip[style]").parentElement.querySelectorAll("div div")[1].innerText && location.reload()
                }
            }
        },
        cnjiewhr34iuiehs: {
            id: 99,
            name: "\u9ed1\u9f99\u6c5f\u7701\u7f51\u7edc\u52a9\u5b66\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["hljzhuxue.zikao.com.cn", "xh.hljzhuxue.com"],
            option: {
                nodeListClass: ".menu ul>li dl",
                openListenPlayStatus: !1,
                getCurrentIndexByOption: () => new Promise(e => {
                    e(1)
                }),
                playNext: () => new Promise(e => {
                    var t = MyTool.getValue("preVideoSrc");
                    ElementObj.$video.src == t ? toolOption.CtxMain.play() : (MyTool.setValue("preVideoSrc", ElementObj.$video.src), setTimeout(() => {
                        location.reload()
                    }, 3e3))
                })
            }
        },
        rrhisdgf283y7jvdf: {
            id: 100,
            name: "\u5b81\u590f\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u5728\u7ebf\u57f9\u8bad\u5e73\u53f0",
            mainClass: "rrhisdgf283y7jvdf",
            host: ["gp.chinahrt.com", "videoadmin.chinahrt.com"]
        },
        f6872: {
            id: 101,
            name: "\u9686\u6cf0\u8fbe\u57f9\u8bad",
            mainClass: "f6872",
            host: ["study.tjtcact.com", "www.tjtcact.com"]
        },
        a782: {
            id: 102,
            name: "\u6cb3\u5317\u7701\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u7ba1\u7406\u7cfb\u7edf",
            mainClass: "rrhisdgf283y7jvdf",
            host: ["webzyjs.heb12333.cn", "contentzyjs.heb12333.cn", "edu.chinahrt.com"]
        },
        su862v: {
            id: 103,
            name: "\u4e2d\u5c71\u6559\u5e08\u7814\u4fee\u7f51",
            mainClass: "CTXCommon",
            host: ["m.zsjsjy.com"],
            option: {
                nodeListClass: "#m-chapter-ul li a",
                openListenPlayStatus: !1,
                openListenPlayTime: !0,
                activeClass: "z-crt"
            }
        },
        bfuew28: {
            id: 105,
            name: "\u82cf\u5dde\u4e13\u4e1a\u6280\u672f\u4eba\u624d\u6559\u80b2\u7f51",
            mainClass: "CTXCommon",
            host: ["zjjspx-kfkc.webtrn.cn"],
            option: {
                nodeListClass: "", openListenPlayStatus: !1, videoEle: () => new Promise(e => {
                    let t = 0, n = setInterval(() => {
                        t += 1, ElementObj.$video = document.querySelectorAll("iframe")[2].contentDocument.querySelector("iframe").contentDocument.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                    }, 1e3)
                }), _init: () => new Promise(e => {
                    let t = setInterval(() => {
                        var e = document.querySelectorAll("iframe")[2];
                        e && (ElementObj.$allTask = e.contentDocument.querySelectorAll(".s_point"), 0 < ElementObj.$allTask.length) && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", toolOption.CtxMain.getCurrentIndex())
                    })
                }), getCurrentIndexByOption: () => new Promise(e => {
                    for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].classList.contains("s_pointerct")) {
                        e(t);
                        break
                    }
                }), listenRebortFn: () => {
                    var e = document.querySelector(".layui-layer-btn0");
                    null != e && e.click(), ElementObj.$video.play()
                }
            }
        },
        sd199: {
            id: 104,
            name: "\u6c88\u9633\u5efa\u7b51\u5927\u5b66,\u9752\u4e66\u5b66\u5802",
            mainClass: "CTXCommon",
            host: ["degree.qingshuxuetang.com"],
            option: {
                nodeListClass: "", openListenPlayStatus: !1, videoEle: () => new Promise(e => {
                    let t = 0, n = setInterval(() => {
                        t += 1, ElementObj.$video = document.querySelectorAll("video")[1], ElementObj.$video && ElementObj.$video.src ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                    }, 1e3)
                }), _init: i => new Promise(e => {
                    let t = 10, n = setInterval(() => {
                        t < 0 && (showTip("🔊\u672a\u627e\u5230\u76ee\u5f55,\u8bf7\u5728\u6b64\u754c\u9762\u624b\u52a8\u66f4\u6362\u4e00\u4e2a\u89c6\u9891", 4e3), clearInterval(n)), ElementObj.$allTask = document.querySelectorAll("ul a[id]"), 0 < ElementObj.$allTask.length && (clearInterval(n), ElementObj.$handleSpeedUp.style.display = "none", i.getCurrentIndex()), t += 1
                    }, 500)
                }), getCurrentIndexByOption: () => new Promise(e => {
                    for (var t = document.querySelector(".learn-title").innerText.replace(/ /g, ""), n = 0; n <= ElementObj.$allTask.length - 1; n++) if (ElementObj.$allTask[n].innerText.replace(/ /g, "") == t) {
                        e(n);
                        break
                    }
                })
            }
        },
        f13v: {
            id: 106,
            mainClass: "CTXCommon",
            name: "\u6cb3\u5317\u673a\u7535\u804c\u4e1a\u6280\u672f\u5b66\u9662",
            host: ["hbjd.cj-edu.com"],
            option: {nodeListClass: ".el-menu li", activeClass: "is-active", openListenPlayStatus: !1}
        },
        g32f: {
            id: 107,
            mainClass: "CTXCommon",
            name: "\u534e\u5317\u7535\u529b\u5927\u5b66",
            host: ["hbdldxpx.sccchina.net"],
            option: {
                nodeListClass: ".bb_e8edf0_dash div[id]",
                activeClass: "cur",
                openListenPlayStatus: !1,
                _init: () => new Promise(e => {
                    let t = setInterval(() => {
                        ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", toolOption.CtxMain.handleClickSpeedUp())
                    })
                }),
                playNext: () => new Promise(e => {
                    document.querySelector("a.btItem.Next").click()
                })
            }
        },
        ss10: {
            id: 107,
            mainClass: "CTXCommon",
            name: "\u77f3\u5bb6\u5e84\u94c1\u9053\u5927\u5b66\u7ee7\u7eed\u6559\u80b2",
            host: ["jxjy.stdu.edu.cn"],
            option: {
                nodeListClass: ".menu_body span>a.chapter", _init: () => new Promise(n => {
                    let i = setInterval(() => {
                        var e;
                        if (ElementObj.$parentNodes = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelectorAll(".class-wrapper"), ElementObj.$parentNodes && ElementObj.$parentNodes.length) {
                            clearInterval(i);
                            var t = localStorage.getItem("curClassName");
                            for (let e = 0; e < ElementObj.$parentNodes.length; e++) if (ElementObj.$parentNodes[e].querySelector(".kcmc").innerText.trim() == t) {
                                ElementObj.$parentNodes[e + 1].querySelector("input.btn").click();
                                break
                            }
                            n(!0)
                        }
                        "/student/IndexWlkc_BootStrap.aspx" == location.pathname && (clearInterval(i), ElementObj.$parentNodes = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelectorAll(".menu_body span>a[title]"), ElementObj.$parentNodes && ElementObj.$parentNodes.length && ElementObj.$parentNodes[0].click(), n(!0)), ElementObj.$allTask = document.querySelectorAll(".menu_body span>a.chapter"), ElementObj.$allTask.length && (clearInterval(i), e = document.querySelector(".glyphicon-home").innerText.trim(), localStorage.setItem("curClassName", e), toolOption.CtxMain.getCurrentIndex(), n(!0))
                    }, 1e3)
                }), getCurrentIndexByOption: () => new Promise(t => {
                    for (let e = 0; e < ElementObj.$allTask.length; e++) if ("rgb(51, 122, 183)" == ElementObj.$allTask[e].style.color) {
                        t(e);
                        break
                    }
                }), playFn: r => __awaiter(this, void 0, void 0, function* () {
                    var e = /wlkcID=(.+)&wlk/.exec(location.search)[1], t = /wlkckkID=(.+)&/.exec(location.search)[1],
                        n = /zjid=(.+)/.exec(location.search)[1],
                        i = document.querySelector("#lbl_videoTime").innerText.trim(),
                        l = unsafeWindow.__VIEWSTATE.value, o = unsafeWindow.__VIEWSTATEGENERATOR.value,
                        a = unsafeWindow.__EVENTVALIDATION.value;
                    e && t && n && i && l && o && a ? (yield fetch(`http://jxjy.stdu.edu.cn/student/BootStrap_Video.aspx?wlkcID=${e}&wlkckkID=${t}&zjid=` + n, {
                        credentials: "include",
                        headers: {
                            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",
                            Accept: "*/*",
                            "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
                            "X-Requested-With": "XMLHttpRequest",
                            "X-MicrosoftAjax": "Delta=true",
                            "Cache-Control": "no-cache",
                            "Content-Type": "application/x-www-form-urlencoded; charset=utf-8"
                        },
                        body: `ScriptManager1=UpdatePanel%7CbtnYXXXSJ&__EVENTTARGET=&__EVENTARGUMENT=&postLearnTime=${Number(i)}&shijiLearnTime=${Number(i)}&learnTime=${Number(i)}&videoState=pause&__VIEWSTATE=${encodeURIComponent(l)}&__VIEWSTATEGENERATOR=${o}&__EVENTVALIDATION=${encodeURIComponent(a)}&__ASYNCPOST=true&btnYXXXSJ=`,
                        method: "POST",
                        mode: "cors"
                    }), toolOption.CtxMain.playNext(r)) : alert("\u53c2\u6570\u9519\u8bef")
                }), playNext: t => new Promise(e => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    t.currentIndex >= ElementObj.$allTask.length - 1 ? location.href = "http://jxjy.stdu.edu.cn/student/IndexTemplate_BootStrap.aspx" : (yield sleep(2e3), t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
                        t.handleClickSpeedUp()
                    }, 2e3))
                }))
            }
        },
        rs01: {
            id: 108, mainClass: "CTXCommon", name: "\u4f18\u8bfe\u5728\u7ebf", host: ["www.uooc.net.cn"], option: {
                activeClass: "", nodeListClass: "", _init(n) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            var e;
                            ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".rank-3>li"), -1 != location.pathname.indexOf("/home/course/") && 0 < ElementObj.$allTask.length ? (clearInterval(t), n.getCurrentIndex()) : (e = document.querySelector(".navBtn2"), -1 != location.pathname.indexOf("/home/course/") && e && (clearInterval(t), setTimeout(() => {
                                n._init()
                            }, 2e3), e.click()), "/home/learn/index" == location.pathname && (e = document.querySelector(".basic.active")) && (clearInterval(t), e.nextElementSibling.querySelector(".basic").click(), setTimeout(() => {
                                n.pdPlayFn(location.href)
                            }, 3e3)))
                        }), 1e3)
                    })
                }, getCurrentIndexByOption() {
                    return new Promise(e => {
                        for (var t of ElementObj.$allTask) {
                            var n = t.querySelector("a");
                            if (-1 == n.innerText.indexOf("\u6d4b\u8bd5")) if (!t.querySelector(".basic").classList.contains("looked")) {
                                MyTool.setValue("homeUrl", location.href), n.click();
                                break
                            }
                        }
                        e(0)
                    })
                }, playNext() {
                    return __awaiter(this, void 0, void 0, function* () {
                        location.href = MyTool.getValue("homeUrl")
                    })
                }, listenRebortFn() {
                    var e = document.querySelector(".vjs-big-play-button");
                    null != e && e.click(), ElementObj.$video.volume = 0, ElementObj.$video.play()
                }
            }
        },
        das01: {
            id: 109,
            name: "\u534e\u4e2d\u5e08\u8303\u5927\u5b66\u6559\u5e08\u7814\u4fee\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["hzsdadmin.zhihuiteacher.com"],
            option: {
                nodeListClass: "ul>li:first-child",
                activeClass: "list",
                openListenPlayStatus: !1,
                _init: () => new Promise(t => {
                    let n = setInterval(() => {
                        if (ElementObj.$handleSpeedUp.style.display = "none", "/online/learn" == location.pathname) {
                            var e = document.querySelector(".toStudy");
                            if (e) return clearInterval(n), setTimeout(() => {
                                window.close()
                            }, 1e4), e.click(), void t(!0)
                        }
                        "/admin/lock/Study" == location.pathname && (ElementObj.$allTask = document.querySelectorAll("ul>li"), ElementObj.$allTask.length) && (clearInterval(n), toolOption.CtxMain.getCurrentIndex(), t(!0))
                    }, 500)
                }),
                listenRebortFn: () => {
                    var e, t = document.querySelector(".layui-input");
                    t && (e = t.getAttribute("data-num3"), t.value = e, document.querySelector(".layui-layer-btn0").click())
                },
                playNext: t => new Promise(e => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    t.currentIndex >= ElementObj.$allTask.length - 1 ? location.href = "http://hzsdadmin.zhihuiteacher.com/online/learn" : (yield sleep(2500), t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
                        t.handleClickSpeedUp()
                    }, 5e3))
                }))
            }
        },
        aa101: {
            id: 110,
            name: "\u798f\u5efa\u5e08\u8303\u5927\u5b66\u9ad8\u7b49\u6559\u80b2\u81ea\u5b66\u8003\u8bd5\u7f51\u7edc\u52a9\u5b66\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["xuexi.zikao365.com"],
            option: {nodeListClass: ".level2>a", activeClass: "cur"}
        },
        sdf1: {
            id: 111,
            name: "\u6cb3\u5357\u79d1\u6280\u804c\u4e1a\u5927\u5b66",
            mainClass: "CTXCommon",
            host: ["havust.jijiaox.com"],
            option: {
                nodeListClass: ".ml_2 li",
                activeClass: "cur",
                nextClass: ".littletit",
                openListenPlayTime: !1,
                getCurrentIndexByOption: () => new Promise(t => {
                    for (let e = 0; e < ElementObj.$allTask.length; e++) {
                        var n = ElementObj.$allTask[e].querySelector(".littlebot").querySelector(".el-progress"),
                            i = ElementObj.$allTask[e].querySelector(".elli").innerText.trim();
                        if (n && -1 == i.indexOf("\u5728\u7ebf\u4f5c\u4e1a") && -1 == i.indexOf("\u4e60\u9898\u6d4b\u9a8c") && -1 == i.indexOf("Test")) {
                            t(e);
                            break
                        }
                    }
                }),
                listenRebortFn: () => {
                    var e = document.querySelector("._active.elli"),
                        t = (null == (t = null == e ? void 0 : e.parentElement) ? void 0 : t.parentElement).querySelector(".el-icon-circle-check"),
                        e = e.innerText.trim();
                    !t && "\u5728\u7ebf\u4f5c\u4e1a" != e && -1 == e.indexOf("\u4e60\u9898\u6d4b\u9a8c") && -1 == e.indexOf("Test") || toolOption.CtxMain.playNext()
                }
            }
        },
        sdf3: {
            id: 112,
            name: "\u5409\u6797\u7701\u4e13\u4e1a\u6280\u672f\u4eba\u5458",
            mainClass: "CTXCommon",
            host: ["jlzj.ylxue.net"],
            option: {nodeListClass: "#classes li", activeClass: "li_current_index", openListenPlayTime: !1}
        },
        dsfs: {
            id: 112,
            name: "\u5317\u534e\u5927\u5b66\u515a\u6821\u6559\u80b2\u57f9\u8bad\u7cfb\u7edf",
            mainClass: "CTXCommon",
            host: ["wldx.beihua.edu.cn"],
            option: {
                nodeListClass: "#content a", _init() {
                    return new Promise(n => {
                        let i = setInterval(() => {
                            if (ElementObj.$allTask = document.querySelectorAll("#content a"), ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask.length) {
                                clearInterval(i);
                                var t = MyTool.getValue("preClassName");
                                if (t) {
                                    for (let e = 0; e < ElementObj.$allTask.length; e++) if (t == ElementObj.$allTask[e].innerText.trim()) {
                                        MyTool.setValue("homeUrl", location.href), ElementObj.$allTask[e + 1].click();
                                        break
                                    }
                                } else MyTool.setValue("homeUrl", location.href), ElementObj.$allTask[0].click();
                                n(!0)
                            }
                            var e = document.querySelector(".item-title.label h1 a");
                            e && "/m/Exam/Student/startStudy" == location.pathname && (clearInterval(i), e.click(), n(!0)), "/m/Exam/Student/startStudy" == location.pathname && (clearInterval(i), toolOption.CtxMain.pdPlayFn(location.href), n(!0))
                        }, 500)
                    })
                }, playNext(e) {
                    return new Promise((e, t) => __awaiter(this, void 0, void 0, function* () {
                        var e = document.querySelector(".startStudy-title>p"),
                            e = null == e ? void 0 : e.innerText.trim();
                        MyTool.setValue("preClassName", e), document.querySelector(".bottom-pc-btn button").click(), yield sleep(2e3), setTimeout(() => {
                            location.reload()
                        }, 3e3), document.querySelector(".modal-button.modal-button-bold").click()
                    }))
                }
            }
        },
        bsd11: {
            id: 114,
            name: "\u6cb3\u5357\u6559\u5e08\u57f9\u8bad\u7f51",
            mainClass: "CTXCommon",
            host: ["www.teachersedu.cn"],
            option: {
                nodeListClass: "a.title", getCurrentIndexByOption() {
                    return new Promise((t, e) => {
                        for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].parentElement.classList.contains("active")) {
                            t(e);
                            break
                        }
                    })
                }
            }
        },
        s221s: {
            id: 115,
            name: "\u5e7f\u5dde\u5e02\u4e8b\u4e1a\u5355\u4f4d\u5de5\u4f5c\u4eba\u5458\u7f51\u4e0a\u5b66\u4e60\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["www.gzrspx.cn"],
            option: {
                nodeListClass: ".tab-content-desc",
                activeClass: "desc-item-sel",
                playFn: e => __awaiter(this, void 0, void 0, function* () {
                    yield e.getVideoDom();
                    ElementObj.$video.volume = 0, ElementObj.$video.play(), yield sleep(1e3), ElementObj.$video.currentTime += 7200, yield sleep(1e3), ElementObj.$video.currentTime += 7200, yield sleep(1e3), e.playNext()
                })
            }
        },
        ifsbds: {
            id: 116,
            name: "\u5c71\u4e1c\u9752\u5e74\u653f\u6cbb\u5b66\u9662",
            mainClass: "CTXCommon",
            host: ["testonline.bjxtwlkj.com"],
            option: {
                nodeListClass: ".tab-content-desc",
                activeClass: "desc-item-sel",
                _init: () => __awaiter(this, void 0, void 0, function* () {
                    let t = setInterval(() => {
                        if (ElementObj.$handleSpeedUp.style.display = "none", "/kaoshi_qnzzxy/majorlist.html" == location.pathname) clearInterval(t), alert("\u8bf7\u9009\u62e9\u4e00\u4e2a\u8bfe\u7a0b,\u70b9\u51fb\u8fdb\u53bb"); else {
                            if (ElementObj.$allTask = document.querySelectorAll(".list-group-item"), 0 < ElementObj.$allTask.length) {
                                clearInterval(t);
                                for (var e of ElementObj.$allTask) if ("\u5b66\u4e60\u8fdb\u5ea6:100.00%" != e.querySelector(".list-group-item-text.text-muted").innerText) {
                                    MyTool.setValue("homeUrl", location.href), e.click();
                                    break
                                }
                            }
                            "/kaoshi_qnzzxy/test.html" == location.pathname && (clearInterval(t), toolOption.CtxMain.pdPlayFn(location.href))
                        }
                    }, 500)
                }),
                playNext: e => __awaiter(this, void 0, void 0, function* () {
                    location.href = MyTool.getValue("homeUrl")
                })
            }
        },
        sfps: {
            id: 117,
            name: "\u6e29\u5dde\u7ee7\u7eed\u6559\u80b2\u7f51",
            mainClass: "CTXCommon",
            host: ["www.wzjxjy.cn"],
            option: {
                nodeListClass: "",
                activeClass: "",
                openListenPlayStatus: !0,
                _init: n => __awaiter(this, void 0, void 0, function* () {
                    let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".lesson li"), ElementObj.$allTask.length) {
                            clearInterval(t);
                            for (var e of ElementObj.$allTask) if (!e.classList.contains("history")) {
                                MyTool.setValue("homeUrl", location.href), e.querySelector("a").click();
                                break
                            }
                        }
                        "/course-section-video-play" == location.pathname && (clearInterval(t), window.alert = () => {
                        }, n.handleClickSpeedUp())
                    }), 200)
                }),
                playNext: e => __awaiter(this, void 0, void 0, function* () {
                    window.alert = () => {
                    }, location.href = MyTool.getValue("homeUrl")
                }),
                listenRebortFn: () => __awaiter(this, void 0, void 0, function* () {
                    var e = document.querySelector("#checkCode");
                    e.innerText && (document.querySelector("#inputCode").value = e.innerText, yield sleep(1500), document.querySelector(".Button1.Button").click()), window.alert = () => !1, ElementObj.$video && ElementObj.$video.currentTime >= ElementObj.$video.duration && toolOption.CtxMain.playNext()
                })
            }
        },
        sf1101: {
            id: 118, name: "\u5efa\u6295\u5b66\u5802", mainClass: "CTXCommon", host: ["jgxt.zflclass.com"], option: {
                nodeListClass: "span.studiedLesson", activeClass: "RED", openListenPlayStatus: !0, getCurrentIndex(n) {
                    return __awaiter(this, void 0, void 0, function* () {
                        for (let e = 0; e < ElementObj.$allTask.length; e++) {
                            var t = ElementObj.$allTask[e];
                            if (!t.classList.contains("studiedLessonMark")) {
                                n.currentIndex = e, showTip("\u521d\u59cb\u5316\u5b8c\u6210,3\u79d2\u540e\u5f00\u59cb\u81ea\u52a8\u64ad\u653e", 3e3), t.click(), setTimeout(() => {
                                    n.pdPlayFn(location.href)
                                }, 2e3);
                                break
                            }
                        }
                        -1 === n.currentIndex && alert("\u5f53\u524d\u7ae0\u8282\u6240\u6709\u89c6\u9891\u5df2\u7ecf\u5b66\u4e60\u5b8c")
                    })
                }, videoEle: () => new Promise(t => {
                    let n = 0, i = setInterval(() => {
                        var e;
                        n += 1, ElementObj.$video = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelector("video"), ElementObj.$video ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
                    }, 1e3)
                }), listenRebortFn(t) {
                    var n;
                    return __awaiter(this, void 0, void 0, function* () {
                        var e = null == (n = null == (n = document.querySelector("iframe")) ? void 0 : n.contentDocument) ? void 0 : n.querySelector("#popup_panel input");
                        e && (e.click(), t.play())
                    })
                }, playNext() {
                    return __awaiter(this, void 0, void 0, function* () {
                        location.reload()
                    })
                }
            }
        },
        usd01: {
            id: 119, name: "\u96e8\u8bfe\u5802", mainClass: "CTXCommon", host: ["www.yuketang.cn"], option: {
                nodeListClass: "", activeClass: "", _init: s => __awaiter(this, void 0, void 0, function* () {
                    let r = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        if (ElementObj.$handleSpeedUp.style.display = "none", document.querySelector(".iconfont.icon-fujian")) clearInterval(r), showTip("\u5224\u65ad\u6b64\u89c6\u9891\u7ae0\u8282\u4e3a\u975e\u89c6\u9891,\u5373\u5c06\u81ea\u52a8\u8df3\u8fc7", 3e3), yield sleep(2500), s.playNext(); else if (ElementObj.$video = document.querySelector("video"), ElementObj.$video) clearInterval(r), document.querySelector(".xt_video_player_common_icon").click(), s.handleClickSpeedUp(); else if (-1 != location.pathname.indexOf("/v2/web/studentLog")) {
                            clearInterval(r);
                            var e = location.pathname.replace("/v2/web/studentLog/", "");
                            e:for (var t of new Array(100)) {
                                var n = yield function (e) {
                                    let n = document.cookie.split(";")[0].replace("csrftoken=", "");
                                    return new Promise(t => {
                                        fetch(e, {
                                            headers: {
                                                accept: "application/json, text/plain, */*",
                                                "accept-language": "zh-CN,zh;q=0.9",
                                                "classroom-id": "19933500",
                                                priority: "u=1, i",
                                                "sec-ch-ua": '"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"',
                                                "sec-ch-ua-mobile": "?0",
                                                "sec-ch-ua-platform": '"Windows"',
                                                "sec-fetch-dest": "empty",
                                                "sec-fetch-mode": "cors",
                                                "sec-fetch-site": "same-origin",
                                                "university-id": "2760",
                                                "uv-id": "2760",
                                                "x-client": "web",
                                                "x-csrftoken": n,
                                                "xt-agent": "web",
                                                xtbz: "ykt"
                                            },
                                            referrerPolicy: "strict-origin-when-cross-origin",
                                            body: null,
                                            method: "GET",
                                            mode: "cors",
                                            credentials: "include"
                                        }).then(e => e.json()).then(e => t(e))
                                    })
                                }(`https://www.yuketang.cn/v2/api/web/logs/learn/${e}?actype=15&page=0&offset=20&sort=-1`);
                                if (!n.data.activities) break;
                                var i, l = n.data.activities.map(e => e.courseware_id), o = yield function (e) {
                                    let n = document.cookie.split(";")[0].replace("csrftoken=", "");
                                    return new Promise(t => {
                                        fetch("https://www.yuketang.cn/mooc-api/v1/lms/learn/course/pub_new_pro", {
                                            headers: {
                                                accept: "application/json, text/plain, */*",
                                                "accept-language": "zh-CN,zh;q=0.9",
                                                "classroom-id": "19933500",
                                                "content-type": "application/json;charset=UTF-8",
                                                priority: "u=1, i",
                                                "sec-ch-ua": '"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"',
                                                "sec-ch-ua-mobile": "?0",
                                                "sec-ch-ua-platform": '"Windows"',
                                                "sec-fetch-dest": "empty",
                                                "sec-fetch-mode": "cors",
                                                "sec-fetch-site": "same-origin",
                                                "university-id": "2760",
                                                "uv-id": "2760",
                                                "x-csrftoken": n,
                                                "xt-agent": "web",
                                                xtbz: "ykt"
                                            },
                                            referrerPolicy: "strict-origin-when-cross-origin",
                                            body: e,
                                            method: "POST",
                                            mode: "cors",
                                            credentials: "include"
                                        }).then(e => e.json()).then(e => t(e))
                                    })
                                }(JSON.stringify({cid: e, new_id: l}));
                                for (i of n.data.activities) {
                                    var a = i.courseware_id;
                                    if (o.data[a] && 1 != o.data[a].total_done) {
                                        a = `https://www.yuketang.cn/v2/web/xcloud/video-student/${e}/` + i.content.leaf_id;
                                        MyTool.setValue("homeUrl", location.href), location.href = a;
                                        break e
                                    }
                                }
                                0
                            }
                        }
                    }), 500)
                }), playNext: () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5373\u5c06\u5207\u6362\u4e0b\u4e00\u4e2a\u7ae0\u8282"), yield sleep(2e3), location.href = MyTool.getValue("homeUrl")
                })
            }
        },
        sdhfks01: {
            id: 120,
            name: "\u9a6c\u978d\u5c71\u5e02\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ecf\u6d4e、\u5de5\u7a0b\u7c7b\u7ee7\u7eed\u6559\u80b2\u57f9\u8bad\u7f51",
            mainClass: "CTXCommon",
            host: ["px.mastc.edu.cn"],
            option: {
                nodeListClass: ".video .chapterhead.chapterhead1 li",
                activeClass: "current",
                getCurrentIndexByOption: () => new Promise(e => {
                    var t = document.querySelector(".video_header .video_number").innerText.replace(/\u7b2c|\u8bb2/g, "");
                    e(Number(t) - 1)
                }),
                playNext(n) {
                    return new Promise(e => {
                        if (n.currentIndex >= ElementObj.$allTask.length - 1) alert("\u5df2\u5168\u90e8\u64ad\u653e\u5b8c"); else {
                            showTip("✅✅✅\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u8282");
                            let t = setInterval(() => {
                                var e = document.querySelector(".el-message-box__btns button");
                                e && (n.currentIndex += 1, clearInterval(t), setTimeout(() => {
                                    n.handleClickSpeedUp()
                                }, 4e3), e.click())
                            }, 500)
                        }
                    })
                }
            }
        },
        s01r: {
            id: 121,
            name: "\u5b89\u5fbd\u4e13\u6280\u7f51",
            mainClass: "CTXCommon",
            host: ["ah.peixun.city", "ah.zhuanjipx.com", "ahzj.59iedu.com", "jxjy.ahhjsoft.com"],
            option: {
                nodeListClass: ".video .chapterhead.chapterhead1 li",
                activeClass: "current",
                openListenPlayTime: !0,
                _init: i => __awaiter(this, void 0, void 0, function* () {
                    let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".ul-course li"), "jxjy.ahhjsoft.com" === location.host && ElementObj.$allTask) clearInterval(n), showTip("🔊🔊🔊\u4ec5\u652f\u6301\u516c\u9700\u8bfe4、\u516c\u9700\u8bfe3", 4e3); else if (ElementObj.$allTask = document.querySelectorAll(".zdBox"), "ah.zhuanjipx.com" === location.host && ElementObj.$allTask.length) {
                            clearInterval(n), showTip("🔊🔊🔊\u6b63\u5728\u521d\u59cb\u5316", 4e3), i.classType = 3;
                            for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("childBox_item_on")) {
                                i.currentIndex = e, showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5f00\u59cb\u64ad\u653e", 2e3), i.handleClickSpeedUp();
                                break
                            }
                        } else {
                            var e = document.querySelectorAll(".ant-collapse-item");
                            if (0 < e.length) {
                                clearInterval(n), showTip("🔊🔊🔊\u6b63\u5728\u521d\u59cb\u5316", 4e3), i.classType = 4;
                                for (var t of e) t.classList.contains("ant-collapse-item-active") || (t.querySelector(".ant-collapse-header").click(), yield sleep(100));
                                ElementObj.$allTask = document.querySelectorAll(".video_box_k_t_lx");
                                for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("video_box_k_active")) {
                                    i.currentIndex = e, showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5f00\u59cb\u64ad\u653e", 2e3), i.handleClickSpeedUp();
                                    break
                                }
                            }
                        }
                    }), 300)
                }),
                playFn: i => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    yield i.getVideoDom(), 2 !== i.classType && 3 !== i.classType || (clearInterval(i.timer), clearInterval(i.listenVidoeStatusTimer), clearInterval(i.listenRebortTime), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                        ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                        showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), i.playNext(i)
                    })), ElementObj.$video.addEventListener("pause", () => {
                        setTimeout(() => {
                            ElementObj.$video.volume = 0, ElementObj.$video.play()
                        }, 1500)
                    })), 4 === i.classType && (yield i.changeHtml($el("#video-content-box")), yield i.getVideoDom(), i.addInfo("✅✅✅✅✅✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e✅✅✅✅✅✅✅✅✅"), yield sleep(1e3), showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf"), ElementObj.$video.volume = 0, null != (e = document.querySelector(".vjs-big-play-button")) && e.click(), ElementObj.$video.play(), setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                        var t = Math.ceil(ElementObj.$video.duration);
                        if (t) {
                            let e = 0;
                            for (var n of new Array(1e4)) {
                                if (e >= t) {
                                    ElementObj.$video.currentTime = t - 10, yield sleep(1e3), ElementObj.$video.currentTime = t, i.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉\u5df2\u6210\u529f\u5b66\u5b8c🎉🎉🎉🎉🎉🎉🎉🎉"), yield sleep(3e3), i.playNext();
                                    break
                                }
                                n % 60 == 0 && 0 < n && (ElementObj.$video.currentTime = e), e += +toolOption.accelerator > t ? t : +toolOption.accelerator, i.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${toolOption.accelerator}\u500d\u901f\u5b66\u4e60\u4e2d,\u5df2\u5b66\u4e60${e}\u79d2,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`), yield sleep(1e3)
                            }
                        } else alert("\u89c6\u9891\u65f6\u95f4\u9519\u8bef,\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u8bd5")
                    }), 2e3))
                }),
                playNext(e) {
                    return __awaiter(this, void 0, void 0, function* () {
                        location.reload()
                    })
                }
            }
        },
        hsduf: {
            id: 122,
            name: "\u6e56\u5357\u5e08\u8303\u5927\u5b66",
            mainClass: "CTXCommon",
            host: ["www.ejxjy.com"],
            option: {
                nodeListClass: ".menu_body dd",
                activeClass: "active",
                _init: o => __awaiter(this, void 0, void 0, function* () {
                    let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = document.querySelector("#a2");
                        if (e) {
                            clearInterval(l), e.click(), yield MyTool.sleep(2500);
                            var t = document.querySelectorAll("li[data-trainid]");
                            for (let e = 0; e < t.length; e++) {
                                var n = t[e];
                                MyTool.setValue("homeUrl", location.href), setTimeout(() => {
                                    window.close()
                                }, 2e4), n.querySelector("a").click()
                            }
                        }
                        if (ElementObj.$allTask = document.querySelectorAll(".menu_body dd"), 0 < ElementObj.$allTask.length) {
                            clearInterval(l);
                            let t = !0;
                            for (let e = 0; e < ElementObj.$allTask.length; e++) {
                                var i = ElementObj.$allTask[e];
                                if (!i.classList.contains("active")) {
                                    t = !1, o.currentIndex = e, i.classList.contains("hover") || i.querySelector("a").click(), showTip("✅✅✅\u6b63\u5728\u521d\u59cb\u5316", 3e3), o.handleClickSpeedUp();
                                    break
                                }
                            }
                            t && (e = MyTool.getValue("homeUrl") || "https://www.ejxjy.com/a/sys/portal/person", location.href = e)
                        }
                    }), 300)
                }),
                openListenPlayTime: !0,
                playNext() {
                    return __awaiter(this, void 0, void 0, function* () {
                        location.reload()
                    })
                },
                playFn: a => __awaiter(this, void 0, void 0, function* () {
                    yield a.getVideoDom(), yield a.changeHtml(ElementObj.$video.parentElement);
                    var e = Math.ceil(ElementObj.$video.duration);
                    let t = 0;
                    var n = yield new Promise(t => {
                        fetch(location.href, {
                            headers: {
                                accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
                                "accept-language": "zh-CN,zh;q=0.9",
                                priority: "u=0, i",
                                "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
                                "sec-ch-ua-mobile": "?0",
                                "sec-ch-ua-platform": '"Windows"',
                                "sec-fetch-dest": "document",
                                "sec-fetch-mode": "navigate",
                                "sec-fetch-site": "same-origin",
                                "sec-fetch-user": "?1",
                                "upgrade-insecure-requests": "1"
                            },
                            referrerPolicy: "strict-origin-when-cross-origin",
                            body: null,
                            method: "GET",
                            mode: "cors",
                            credentials: "include"
                        }).then(e => e.text()).then(e => {
                            e = null == (e = e.match(/saveVideo\?id=(.+)"/)) ? void 0 : e[1];
                            t(e)
                        })
                    });
                    if (n && e) {
                        setInterval(() => {
                            var e = document.querySelector(".jbox-button-focus");
                            null != e && e.click()
                        }, 300);
                        var i, l = ElementObj.$video.duration;
                        for (i of new Array(1e4)) {
                            var o = yield function (e, n, i) {
                                return new Promise(t => {
                                    try {
                                        fetch("https://www.ejxjy.com/a/onlinelearn/stuCourse/saveVideo?id=" + i, {
                                            headers: {
                                                accept: "*/*",
                                                "accept-language": "zh-CN,zh;q=0.9",
                                                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                                                priority: "u=0, i",
                                                "sec-ch-ua": '"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"',
                                                "sec-ch-ua-mobile": "?0",
                                                "sec-ch-ua-platform": '"Windows"',
                                                "sec-fetch-dest": "empty",
                                                "sec-fetch-mode": "cors",
                                                "sec-fetch-site": "same-origin",
                                                "x-requested-with": "XMLHttpRequest"
                                            },
                                            referrerPolicy: "strict-origin-when-cross-origin",
                                            body: `nowTime=${e}&videoTime=` + n,
                                            method: "POST",
                                            mode: "cors",
                                            credentials: "include"
                                        }).then(e => e.json()).then(e => t(e))
                                    } catch (e) {
                                        t(!1)
                                    }
                                })
                            }(t, l, n);
                            if (0 != o && t >= e) {
                                a.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉\u5df2\u6210\u529f\u5b66\u5b8c🎉🎉🎉🎉🎉🎉🎉🎉"), yield sleep(3e3), a.playNext(a);
                                break
                            }
                            "success" == o.data && (t += +toolOption.accelerator > e ? e : +toolOption.accelerator), a.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${toolOption.accelerator}\u500d\u901f\u5b66\u4e60\u4e2d,\u5df2\u5b66\u4e60${t}\u79d2,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${e / 60}\u5206\u949f`), yield sleep(500)
                        }
                    } else showTip("\u89c6\u9891\u65f6\u95f4\u9519\u8bef,\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u8bd5"), location.reload()
                })
            }
        },
        pa1: {
            id: 123,
            name: "\u536b\u751f\u5065\u5eb7\u7cfb\u7edf\u5b89\u5168\u751f\u4ea7\u57f9\u8bad\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["aqscpx.91huayi.com"],
            option: {
                activeClass: "", nodeListClass: "", _init: o => __awaiter(this, void 0, void 0, function* () {
                    let l = setInterval(() => {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e, t = document.querySelectorAll(".navItem");
                        if (0 < t.length && (null != (e = t[1].querySelector("span")) && e.classList.contains("active") || t[1].click()), ElementObj.$parentNodes = null == (t = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : t.querySelectorAll(".itemList .contentItem"), 0 < ElementObj.$parentNodes.length) {
                            clearInterval(l);
                            for (var n of ElementObj.$parentNodes) if (n.querySelector(".ready")) {
                                MyTool.setValue("homeUrl", location.href), n.querySelector("a").click();
                                break
                            }
                        } else if (ElementObj.$allTask = document.querySelectorAll(".listGroup .listItem"), 0 < ElementObj.$allTask.length) {
                            clearInterval(l);
                            let e = !0;
                            for (var i of ElementObj.$allTask) {
                                i = i.querySelector("button");
                                if ("\u672a\u5b66\u4e60" === i.innerText) {
                                    e = !1, setTimeout(() => {
                                        o.handleClickSpeedUp()
                                    }, 3e3), i.querySelector(".text").click();
                                    break
                                }
                            }
                            e && (location.href = MyTool.getValue("homeUrl") || "https://aqscpx.91huayi.com/Exercise/ExerciseHome/index")
                        }
                    }, 500)
                })
            }
        },
        bj1: {
            id: 124,
            name: "\u5317\u4eac\u5e72\u90e8\u7f51\u7edc\u5b66\u9662",
            mainClass: "CTXCommon",
            host: ["bjce.bjdj.gov.cn"],
            option: {
                nodeListClass: "", activeClass: "", _init: r => __awaiter(this, void 0, void 0, function* () {
                    let a = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        var e;
                        if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll(".iv-personal-course-content li"), ElementObj.$parentNodes.length) {
                            clearInterval(a);
                            e:for (var t of new Array(2)) {
                                for (let e = 0; e < ElementObj.$parentNodes.length; e++) {
                                    var n = ElementObj.$parentNodes[e],
                                        i = n.querySelector(".ivu-progress-text span").innerText;
                                    if (100 != parseInt(i)) {
                                        MyTool.setValue("homeUrl", location.href), n.querySelectorAll(".iv-course-myClass span")[1].click();
                                        break e
                                    }
                                }
                                document.querySelector(".iv-page-next").click(), showTip("🔊\u6b63\u5728\u5207\u6362\u4e0b\u4e00\u9875...", 3e3), yield sleep(3e3)
                            }
                        } else if (ElementObj.$allTask = null == (e = document.querySelector(".iv-course-play-detail-menu-item")) ? void 0 : e.querySelectorAll("li"), 0 < ElementObj.$allTask.length) {
                            clearInterval(a);
                            for (let e = 0; e < ElementObj.$allTask.length; e++) {
                                var l = ElementObj.$allTask[e], o = l.querySelector(".iv-fs-12").innerText;
                                if (100 != parseInt(o)) {
                                    r.currentIndex = e, l.click(), showTip("✅✅✅\u6b63\u5728\u521d\u59cb\u5316", 3e3), setTimeout(() => {
                                        r.handleClickSpeedUp()
                                    }, 3e3);
                                    break
                                }
                            }
                        }
                    }), 300)
                }), playNext(t) {
                    return __awaiter(this, void 0, void 0, function* () {
                        var e;
                        t.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl") || "https://bjce.bjdj.gov.cn/#/personalSpace/MyCourse", window.open(e), window.close()) : (t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
                            t.handleClickSpeedUp()
                        }, 2e3))
                    })
                }
            }
        },
        sd2: {
            id: 125,
            name: "\u4e91\u5357\u7701\u6267\u4e1a\u836f\u5e08\u534f\u4f1a",
            mainClass: "CTXCommon",
            host: ["ynysw.ynysw.org"],
            option: {nodeListClass: ".numCHapter", activeClass: "active"}
        },
        sfd9: {
            id: 126,
            name: "\u6c5f\u897f\u7701\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u7f51\u7edc\u5b66\u4e60\u5e73\u53f0,\u6c5f\u897f\u4e13\u6280\u5b66\u4e60\u7f51",
            mainClass: "CTXCommon",
            host: ["jxzjstu.zpwedu.com", "jxzj.zpwedu.com"],
            option: {
                nodeListClass: ".videoList .item",
                activeClass: "active",
                _init: n => __awaiter(this, void 0, void 0, function* () {
                    let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = document.querySelector("iframe");
                        if ("jxzj.zpwedu.com" === location.host && e && (location.href = e.src), ElementObj.$allTask = document.querySelectorAll(".videoList .item"), 0 < ElementObj.$allTask.length && "jxzjstu.zpwedu.com" === location.host) {
                            clearInterval(t);
                            for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
                                n.currentIndex = e, showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,3\u79d2\u540e\u81ea\u52a8\u64ad\u653e", 3e3), setTimeout(() => {
                                    n.handleClickSpeedUp()
                                }, 2e3);
                                break
                            }
                        }
                    }), 300)
                }),
                beforePlayVideo() {
                    var e = document.querySelector(".pv-icon-volumeon");
                    null != e && e.click()
                }
            }
        },
        hds1: {
            id: 127,
            name: "\u6559\u5e08\u4e13\u4e1a\u53d1\u5c55\u57f9\u8bad\u7f51",
            mainClass: "CTXCommon",
            host: ["www.edueva.org", "video.edueva.org", "xjnu.edueva.org", "xjnuvideo.edueva.org"],
            option: {
                nodeListClass: ".ml.tab-info a",
                activeClass: "dd_active",
                _init: s => __awaiter(this, void 0, void 0, function* () {
                    let r = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = document.querySelectorAll(".content_unit");
                        if (e.length) {
                            clearInterval(r);
                            e:for (var t of e) {
                                t.click(), yield MyTool.sleep(2e3);
                                var n, t = document.querySelector(".note>p").innerText;
                                if (!(-1 < t.indexOf("\u606d\u559c\u60a8\u5df2\u5b8c\u6210"))) for (n of document.querySelectorAll("#watchcourseTable tbody tr")) {
                                    var i, l = n.querySelectorAll("td")[5], o = n.querySelectorAll("td")[6];
                                    if (l.innerText.trim() != o.innerText.trim() && "\u5df2\u5b8c\u6210" != o.innerText.trim()) {
                                        n.querySelector(".studyBegin").click(), yield MyTool.sleep(2e3), null != (l = document.querySelector(".layui-layer-btn1")) && l.click(), yield MyTool.sleep(1e3), ElementObj.$allTask = document.querySelectorAll("#Div_CourseProgress tr:not([style])");
                                        for (i of ElementObj.$allTask) if ("100%" != i.querySelector(".fa6").innerText) {
                                            MyTool.deleteValue("learnStatus");
                                            var a = i.querySelector(".star").href;
                                            MyTool.openInTab(a), GM_addValueChangeListener("learnStatus", (e, t, n, i) => {
                                                "done" === n && (MyTool.deleteValue("learnStatus"), location.reload())
                                            });
                                            break e
                                        }
                                    }
                                }
                            }
                        } else ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(r), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,3\u79d2\u540e\u81ea\u52a8\u64ad\u653e", 3e3), s.pdPlayFn(location.href))
                    }), 300)
                }),
                playNext() {
                    return __awaiter(this, void 0, void 0, function* () {
                        MyTool.setValue("learnStatus", "done"), yield sleep(1e3), window.close()
                    })
                },
                listenRebortFn() {
                    var e = document.querySelector("a.btn-ProofOk");
                    null != e && e.click()
                }
            }
        },
        asds1: {
            id: 128,
            name: "\u8d35\u5dde\u7701\u515a\u5458\u5e72\u90e8\u7f51\u7edc\u5b66\u9662",
            mainClass: "CTXCommon",
            host: ["gzwy.gov.cn"],
            option: {
                nodeListClass: "", activeClass: "", _init: m => __awaiter(this, void 0, void 0, function* () {
                    let c = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$video = document.querySelector("video"), ElementObj.$video) {
                            clearInterval(c);
                            var t = document.querySelector(".rightcontent") || ElementObj.$video.parentElement,
                                n = (yield m.changeHtml(t), m.addInfo("\u6b63\u5728\u83b7\u53d6token..."), dsf.getToken());
                            m.addInfo("✅✅✅token:" + n), m.addInfo("\u6b63\u5728\u83b7\u53d6\u8bfe\u7a0b\u5217\u8868...");
                            let e = location.href.match(/id=(.+)/)[1];
                            var i, l = [];
                            if (-1 != location.href.indexOf("commonpage/classcolumn")) {
                                m.addInfo("\u6b63\u5728\u83b7\u53d6parents"), s = e, d = n;
                                e:for (var o of (yield new Promise((t, e) => {
                                    location.origin;
                                    var n = location.origin + "/nc/pack/channel/course/list";
                                    fetch(n + "?id=" + s, {
                                        headers: {
                                            accept: "application/json, text/plain, */*",
                                            "accept-language": "zh-CN,zh;q=0.9",
                                            authorization_token: d,
                                            client: "pc",
                                            "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
                                            "sec-ch-ua-mobile": "?0",
                                            "sec-ch-ua-platform": '"Windows"',
                                            "sec-fetch-dest": "empty",
                                            "sec-fetch-mode": "cors",
                                            "sec-fetch-site": "same-origin"
                                        },
                                        referrer: location.origin + "/page.html",
                                        referrerPolicy: "strict-origin-when-cross-origin",
                                        body: null,
                                        method: "GET",
                                        mode: "cors",
                                        credentials: "include"
                                    }).then(e => e.json()).then(e => t(e))
                                })).data) {
                                    m.addInfo(`【${o.name}】`);
                                    for (let t of o.subList) if (m.addInfo(`\u6b63\u5728\u83b7\u53d6${t.name}\u7684\u8bfe\u7a0b,\u5df2\u5b8c\u6210\u8fdb\u5ea6` + t.progress), !(95 < t.progress)) {
                                        var a = (yield u(t.businessId, n)).data.playTree.children.map(e => Object.assign(Object.assign({}, e), {businessId: t.businessId}));
                                        l.push(...a);
                                        break e
                                    }
                                }
                            } else {
                                t = yield u(e, n);
                                l.push(...t.data.playTree.children)
                            }
                            m.addInfo("✅✅✅\u8bfe\u7a0b\u5217\u8868\u83b7\u53d6\u6210\u529f");
                            for (i of l) if (!(100 <= i.finishedRate)) {
                                m.addInfo("\u5373\u5c06\u5f00\u59cb\u5b66\u4e60" + i.title);
                                var r = {
                                    courseId: e = -1 != location.href.indexOf("commonpage/classcolumn") ? i.businessId : e,
                                    coursewareId: i.id,
                                    watchPoint: "00:01:11",
                                    pulseTime: 10,
                                    pulseRate: 1,
                                    realWatchTime: "00:01:06"
                                };
                                localStorage.setItem("fetchOption", JSON.stringify(r)), localStorage.setItem("token", n), yield m.handleClickSpeedUp();
                                break
                            }
                        }
                        var s, d
                    }), 900);                    function u(i, l) {
                        return new Promise((t, e) => {
                            location.origin;
                            var n = location.origin + "/inc/nc/course/play/getPlayTrend";
                            fetch(n + "?courseId=" + i, {
                                headers: {
                                    accept: "application/json, text/plain, */*",
                                    "accept-language": "zh-CN,zh;q=0.9",
                                    authorization_token: l,
                                    client: "pc",
                                    "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
                                    "sec-ch-ua-mobile": "?0",
                                    "sec-ch-ua-platform": '"Windows"',
                                    "sec-fetch-dest": "empty",
                                    "sec-fetch-mode": "cors",
                                    "sec-fetch-site": "same-origin"
                                },
                                referrerPolicy: "strict-origin-when-cross-origin",
                                body: null,
                                method: "GET",
                                mode: "cors",
                                credentials: "include"
                            }).then(e => e.json()).then(e => t(e))
                        })
                    }
                }), playFn: l => __awaiter(this, void 0, void 0, function* () {
                    let n = localStorage.getItem("fetchOption"), i = (n = JSON.parse(n), localStorage.getItem("token"));
                    for (var e of new Array(1e4)) {
                        l.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${toolOption.accelerator}\u500d\u901f\u5b66\u4e60\u4e2d,(\u4e2d\u9014\u5173\u95ed\u8fdb\u5ea6\u4e0d\u4fdd\u5b58)`);
                        var t = yield function () {
                            let e = location.origin + "/inc/nc/course/play/pulseSaveRecord";
                            return new Promise(t => {
                                fetch(e, {
                                    headers: {
                                        accept: "application/json, text/plain, */*",
                                        "accept-language": "zh-CN,zh;q=0.9",
                                        authorization_token: i,
                                        client: "pc",
                                        "content-type": "application/x-www-form-urlencoded;charset=UTF-8",
                                        "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
                                        "sec-ch-ua-mobile": "?0",
                                        "sec-ch-ua-platform": '"Windows"',
                                        "sec-fetch-dest": "empty",
                                        "sec-fetch-mode": "cors",
                                        "sec-fetch-site": "same-origin"
                                    },
                                    referrer: location.origin + "/page.html",
                                    referrerPolicy: "strict-origin-when-cross-origin",
                                    body: `courseId=${n.courseId}&coursewareId=${n.coursewareId}&watchPoint=00%3A06%3A19&pulseTime=10&pulseRate=2&realWatchTime=00%3A02%3A33`,
                                    method: "POST",
                                    mode: "cors",
                                    credentials: "include"
                                }).then(e => e.json()).then(e => t(e))
                            })
                        }();
                        if (l.addInfo(`\u5df2\u5b66\u4e60${t.data.finishedRate}%`), 100 <= t.data.finishedRate) {
                            location.reload();
                            break
                        }
                        yield sleep(1e3)
                    }
                })
            }
        },
        sdfs: {
            id: 129,
            name: "\u4e91\u5357\u7701\u5efa\u8bbe\u6ce8\u518c\u8003\u8bd5\u4e2d\u5fc3\u7efc\u5408\u670d\u52a1\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["gwd.ynjspx.cn"],
            option: {
                nodeListClass: ".n-collapse-transition .cursor-pointer",
                activeClass: "bg-[#1C2630]",
                openListenPlayStatus: !1,
                openListenPlayTime: !1,
                _init: n => __awaiter(this, void 0, void 0, function* () {
                    let t = setInterval(() => {
                        if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll(".items-center.justify-between.border-solid"), 0 < ElementObj.$parentNodes.length) {
                            clearInterval(t), showTip("\u6b63\u5728\u521d\u59cb\u5316");
                            for (var e of ElementObj.$parentNodes) e.nextSibling.childNodes.length || e.click();
                            ElementObj.$allTask = document.querySelectorAll(".n-collapse-transition .cursor-pointer"), n.getCurrentIndex()
                        }
                    }, 500)
                })
            }
        },
        yrt5: {
            id: 130,
            name: "\u7518\u8083\u7701\u4e13\u4e1a\u6280\u672f\u4eba\u5458\u7ee7\u7eed\u6559\u80b2\u57f9\u8bad",
            mainClass: "CTXCommon",
            host: ["training.gszj.edufe.cn"],
            option: {
                nodeListClass: ".n-collapse-transition .cursor-pointer",
                activeClass: "bg-[#1C2630]",
                openListenPlayStatus: !1,
                openListenPlayTime: !1,
                _init: i => __awaiter(this, void 0, void 0, function* () {
                    let n = setInterval(() => {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = document.querySelectorAll("ul>li");
                        if (e.length && -1 != location.pathname.indexOf("/plan/courses")) {
                            clearInterval(n);
                            for (var t of e) if ("100%" != t.querySelector(".CourseList_per_1kb87BEO").innerText) {
                                MyTool.setValue("homeUrl", location.href), t.querySelectorAll("button")[1].click();
                                break
                            }
                        }
                        if (ElementObj.$allTask = document.querySelectorAll(".AsideChapter_Item_2dfPMpnP"), ElementObj.$allTask.length) {
                            clearInterval(n);
                            for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].querySelector(".AsideChapter_ItemState_2nxPLU4r")) {
                                i.currentIndex = e, i.handleClickSpeedUp();
                                break
                            }
                        }
                    }, 500)
                }),
                playNext(t) {
                    return __awaiter(this, void 0, void 0, function* () {
                        var e;
                        t.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl"), window.open(e)) : (t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
                            t.handleClickSpeedUp()
                        }, 2e3))
                    })
                }
            }
        },
        wgsf: {
            id: 131,
            name: "\u6c5f\u897f\u4e13\u6280\u5728\u7ebf",
            mainClass: "CTXCommon",
            host: ["jxzj-kfkc.webtrn.cn"],
            option: {
                nodeListClass: "",
                activeClass: "",
                openListenPlayStatus: !1,
                openListenPlayTime: !1,
                _init: n => __awaiter(this, void 0, void 0, function* () {
                    let t = setInterval(() => {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = null == (e = document.querySelectorAll("iframe")[4].contentDocument) ? void 0 : e.querySelector(".btn.btn-solid-primary.btn-sm");
                        if (e && e.click(), ElementObj.$allTask = null == (e = document.querySelectorAll("iframe")[2].contentDocument) ? void 0 : e.querySelectorAll(".s_point"), ElementObj.$allTask.length) {
                            clearInterval(t);
                            for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("s_pointerct")) {
                                n.currentIndex = e, n.handleClickSpeedUp();
                                break
                            }
                        }
                    }, 500)
                }),
                videoEle() {
                    return new Promise(t => {
                        let n = 0, i = setInterval(() => {
                            try {
                                6 <= n && (clearInterval(i), t(2)), n += 1;
                                var e = document.querySelectorAll("iframe")[2].contentDocument.querySelectorAll("iframe")[0].contentDocument;
                                ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && (clearInterval(i), t(1))
                            } catch (e) {
                            }
                        }, 1e3)
                    })
                }
            }
        },
        hf01: {
            id: 132, name: "\u4f01\u5b89\u5168", mainClass: "CTXCommon", host: ["www.secxm.com"], apis: {
                coursefind: e => new Promise(t => {
                    fetch(`https://www.secxm.com/api/student/course/find/${e}?page=1&size=10000`, {
                        headers: {
                            accept: "application/json, text/plain, */*",
                            "accept-language": "zh-CN,zh;q=0.9",
                            authorization: "Bearer 12fe24bac5d14dcf8a5509b979a21eaa",
                            "sec-ch-ua": '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"',
                            "sec-ch-ua-mobile": "?0",
                            "sec-ch-ua-platform": '"Windows"',
                            "sec-fetch-dest": "empty",
                            "sec-fetch-mode": "cors",
                            "sec-fetch-site": "same-origin"
                        },
                        referrerPolicy: "strict-origin-when-cross-origin",
                        body: null,
                        method: "GET",
                        mode: "cors",
                        credentials: "include"
                    }).then(e => e.json()).then(e => t(e))
                }), appendHours: e => new Promise(t => {
                    fetch("https://www.secxm.com/api/student/appendHours", {
                        headers: {
                            accept: "application/json, text/plain, */*",
                            "accept-language": "zh-CN,zh;q=0.9",
                            authorization: "Bearer 12fe24bac5d14dcf8a5509b979a21eaa",
                            "content-type": "application/json",
                            "sec-ch-ua": '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"',
                            "sec-ch-ua-mobile": "?0",
                            "sec-ch-ua-platform": '"Windows"',
                            "sec-fetch-dest": "empty",
                            "sec-fetch-mode": "cors",
                            "sec-fetch-site": "same-origin"
                        },
                        referrerPolicy: "strict-origin-when-cross-origin",
                        body: e,
                        method: "POST",
                        mode: "cors",
                        credentials: "include"
                    }).then(e => e.json()).then(e => t(e))
                })
            }, option: {
                nodeListClass: "",
                activeClass: "",
                openListenPlayStatus: !1,
                openListenPlayTime: !1,
                _init: o => __awaiter(this, void 0, void 0, function* () {
                    let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = document.querySelector(".video-lt");
                        if ("/courseintroduction" === location.pathname && e) {
                            clearInterval(l);
                            var t = /id=(.+)&loopPlay/.exec(location.href)[1],
                                n = yield Internetcourse.hf01.apis.coursefind(t);
                            e.style.position = "relative", yield o.changeHtml(e);
                            for (let e = 0; e < n.result.elements.length; e++) for (var i of n.result.elements[e].subContentTemplate) i.totalClassHours < i.duration && (o.addInfo("\u5373\u5c06\u8fdb\u884c\u672a\u5b8c\u6210\u8bfe\u7a0b", i.title), localStorage.setItem("itemdata", JSON.stringify(i)), yield o.handleClickSpeedUp(o)), yield MyTool.sleep(1e3)
                        }
                    }), 500)
                }),
                playFn(l) {
                    return __awaiter(this, void 0, void 0, function* () {
                        var e = localStorage.getItem("itemdata");
                        if (!e) return alert("\u53c2\u6570\u9519\u8bef #1");
                        let t = (e = JSON.parse(e)).totalClassHours || 0;
                        var n, i = {studentCourseId: "", contentId: e.id, duration: 180};
                        i.studentCourseId = /id=(.+)&loopPlay/.exec(location.href)[1];
                        for (n of new Array(1e3)) {
                            if (l.addInfo(`\u5df2\u6210\u529f\u5b66\u4e60${t}\u79d2,\u5f53\u524d\u4efb\u52a1\u9700\u5b8c\u6210${e.duration}\u79d2`), t >= e.duration) {
                                l.addInfo(`🎉🎉🎉【${e.title}】,\u5b66\u4e60\u5b8c\u6210🎉🎉🎉`);
                                break
                            }
                            yield Internetcourse.hf01.apis.appendHours(JSON.stringify(i));
                            t += 180, yield MyTool.sleep(1e3)
                        }
                    })
                }
            }
        },
        qf01: {
            id: 133,
            name: "\u7518\u8083\u5e72\u90e8\u7f51\u7edc\u5b66\u9662",
            mainClass: "CTXCommon",
            host: ["www.gsgbpx.cn"],
            apis: {
                appendHours: e => new Promise(t => {
                    MyTool.fetchData({
                        method: "GET",
                        url: "https://www.gsgbpx.cn/course/saveCoursewareRecord.do?" + e,
                        headers: {
                            accept: "*/*",
                            "accept-language": "zh-CN,zh;q=0.9",
                            "sec-ch-ua": '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"',
                            "sec-ch-ua-mobile": "?0",
                            "sec-ch-ua-platform": '"Windows"',
                            "sec-fetch-dest": "empty",
                            "sec-fetch-mode": "cors",
                            "sec-fetch-site": "same-origin",
                            "x-requested-with": "XMLHttpRequest"
                        }
                    }).then(e => t(e))
                })
            },
            option: {
                nodeListClass: "",
                activeClass: "",
                openListenPlayStatus: !1,
                openListenPlayTime: !1,
                _init: i => __awaiter(this, void 0, void 0, function* () {
                    let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll("#courseResouse ul li>div"), ElementObj.$parentNodes.length) {
                            clearInterval(n);
                            for (var e of ElementObj.$parentNodes) if ("100.00%" != e.querySelector(".learned-section-num").innerText) {
                                MyTool.setValue("homeUrl", location.href), e.querySelector("button").click();
                                break
                            }
                        }
                        var t = document.querySelector(".coursePanelRight");
                        "/course/studycourseware.do" === location.pathname && t && (clearInterval(n), t.style.position = "relative", yield i.changeHtml(t), yield i.handleClickSpeedUp(i))
                    }), 500)
                }),
                playFn(a) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let e = 0;
                        var t, n = /COURSEWAREID=(.+)&FILENAME/.exec(location.href)[1],
                            i = /TCID=(.+)/.exec(location.href)[1],
                            l = `ID=${n}&studyTime=60&TIMEPOINT=${e}&jsp=true&LENGTH=1&CHAPTER=1&STUDYSTATUS=incomplete&task=continuestudy&TCID=` + i;
                        for (t of new Array(1e3)) {
                            e += 60;
                            var o = yield Internetcourse.qf01.apis.appendHours(l);
                            if (a.addInfo(`\u5df2\u6210\u529f\u5b66\u4e6060\u79d2,\u5f53\u524d\u4efb\u52a1\u5df2\u5b8c\u6210${o.msg}%`), 100 <= parseInt(o.msg)) {
                                a.addInfo("🎉🎉🎉\u5f53\u524d\u89c6\u9891\u5b66\u4e60\u5b8c\u6210🎉🎉🎉"), yield MyTool.sleep(1e3), a.playNext();
                                break
                            }
                            yield MyTool.sleep(1e3)
                        }
                    })
                },
                playNext() {
                    return __awaiter(this, void 0, void 0, function* () {
                        location.href = MyTool.getValue("homeUrl")
                    })
                }
            }
        },
        sf93: {
            id: 134,
            name: "\u8d35\u5dde\u5730\u77ff\u4e13\u6280\u5b66\u65f6\u5728\u7ebf",
            mainClass: "CTXCommon",
            host: ["gzdk.lllnet.cn", "media.lllnet.cn"],
            apis: {
                reportCourseStudyProgress: e => new Promise(t => {
                    fetch("http://media.lllnet.cn/media/reportCourseStudyProgress", {
                        headers: {
                            accept: "*/*",
                            "accept-language": "zh-CN,zh;q=0.9",
                            "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                            "x-requested-with": "XMLHttpRequest"
                        },
                        referrer: "http://media.lllnet.cn/media/accessCourseInfo",
                        referrerPolicy: "strict-origin-when-cross-origin",
                        body: e,
                        method: "POST",
                        mode: "cors",
                        credentials: "include"
                    }).then(e => e.json()).then(e => t(e))
                })
            },
            option: {
                nodeListClass: "", activeClass: "", openListenPlayStatus: !1, openListenPlayTime: !1, _init(t) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll("#contents_list a"), ElementObj.$allTask.length) {
                                window.alert = () => {
                                }, clearInterval(e);
                                for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("current")) {
                                    t.currentIndex = e, yield t.handleClickSpeedUp(t);
                                    break
                                }
                            }
                        }), 500)
                    })
                }, playFn(o) {
                    return __awaiter(this, void 0, void 0, function* () {
                        yield o.getVideoDom();
                        var e = ElementObj.$video.parentElement;
                        yield o.changeHtml(e), ElementObj.$video.pause(), o.addInfo("\u521d\u59cb\u5316\u5df2\u5b8c\u6210,5\u79d2\u540e \u5373\u5c06\u5f00\u59cb\u5b66\u4e60"), yield MyTool.sleep(5e3);
                        let t = 0;
                        var n, i = ElementObj.$video.duration;
                        for (n of new Array(1e3)) {
                            (t += 6) >= i && (t = i);
                            var l = `courseId=${courseId}&gradeId=${gradeId}&userId=${userId}&coursewareId=${coursewareId}&unameSN=${unameSN}&orgName=gclc-gzdk&position=${t}&sessionTime=6`;
                            if (200 == (yield Internetcourse.sf93.apis.reportCourseStudyProgress(l)).code ? o.addInfo(`\u672c\u6b21\u4fdd\u5b586\u79d2, \u7d2f\u8ba1\u5df2\u5b8c\u6210${t / 60}\u5206\u949f,\u9700\u7d2f\u8ba1\u5b8c\u6210${i}\u79d2`) : (o.addInfo("\u672c\u6b21\u672a\u80fd\u6210\u529f\u4fdd\u5b58,\u5c06\u81ea\u52a8\u518d\u6b21\u4fdd\u5b58"), t -= 6), t >= i) {
                                o.addInfo("🎉🎉🎉\u5f53\u524d\u89c6\u9891\u5b66\u4e60\u5b8c\u6210🎉🎉🎉"), yield MyTool.sleep(1e3), o.playNext();
                                break
                            }
                            yield MyTool.sleep(3e3)
                        }
                    })
                }
            }
        },
        wsre: {
            id: 135,
            name: "\u6559\u5e08\u7814\u4fee\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["course.teacheredu.cn", "www.bcvet.cn"],
            option: {
                nodeListClass: "", activeClass: "", openListenPlayStatus: !1, openListenPlayTime: !1, _init(n) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            ElementObj.$handleSpeedUp.style.display = "none";
                            var e = document.querySelector("iframe");
                            if (e && (clearInterval(t), location.href = e.src), ElementObj.$allTask = document.querySelectorAll("#li_menu_1_0_id dd span"), ElementObj.$allTask.length) {
                                clearInterval(t);
                                for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("b_sel")) {
                                    n.currentIndex = e, yield n.handleClickSpeedUp(n);
                                    break
                                }
                            }
                        }), 500)
                    })
                }
            }
        },
        tskf: {
            id: 136,
            name: "\u590f\u9091\u53bf\u5c0f\u5b66\u6559\u5e08\u5c97\u4f4d\u57f9\u8bad\u5e73\u53f0",
            mainClass: "CTXCommon",
            host: ["xy.chinabett.com"],
            option: {
                nodeListClass: ".course_li",
                activeClass: "videoListCur",
                openListenPlayStatus: !1,
                openListenPlayTime: !1,
                nextClass: "a",
                _init(n) {
                    return __awaiter(this, void 0, void 0, function* () {
                        let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                            if (ElementObj.$allTask = document.querySelectorAll(".course_li"), ElementObj.$allTask.length) if (clearInterval(e), -1 == location.href.indexOf("coursewareid")) ElementObj.$allTask[0].querySelector("a").click(); else for (let e = 0; e < ElementObj.$allTask.length; e++) {
                                var t = ElementObj.$allTask[e];
                                if (!t.querySelector(".study")) {
                                    if (n.currentIndex = e, !t.classList.contains("videoListCur")) {
                                        t.querySelector("a").click();
                                        break
                                    }
                                    yield n.handleClickSpeedUp(n);
                                    break
                                }
                            }
                        }), 500)
                    })
                },
                playFn(o) {
                    return __awaiter(this, void 0, void 0, function* () {
                        var e = yield o.getVideoDom();
                        if (yield o.changeHtml(ElementObj.$video.parentElement), 1 == e) {
                            var t, e = Math.trunc(ElementObj.$video.duration),
                                n = (o.addInfo("🔊🔊🔊\u6b63\u5728\u83b7\u53d6\u53c2\u6570"), /courseID=(.+)&coursewareid/.exec(location.href)[1]),
                                i = /coursewareid=(.+)&MyView/.exec(location.href)[1],
                                l = /[0-9]+/.exec(document.cookie.split(",")[1].split(";")[3].split("&")[0])[0];
                            o.addInfo("🔊🔊🔊\u6b63\u5728\u8bf7\u6c42\u6570\u636e"), yield fetch(location.origin + "/VideoPlay/StudySurvey", {
                                headers: {
                                    accept: "*/*",
                                    "content-type": "application/x-www-form-urlencoded; charset=UTF-8"
                                },
                                referrerPolicy: "strict-origin-when-cross-origin",
                                body: `course_id=${n}&courseware_id=${i}&start=0&end=${e}&student_id=${l}&project_id=&course_type=1`,
                                method: "POST",
                                mode: "cors",
                                credentials: "include"
                            }), o.addInfo("✅✅✅StudySurvey\u8bf7\u6c42\u5b8c\u6210"), o.addInfo("🔊🔊🔊\u6b63\u5728\u7b49\u5f85\u54cd\u5e94");
                            for (t of new Array(26)) yield MyTool.sleep(1e3), o.addInfo("⚠⚠⚠\u6b63\u5728\u7b49\u5f85\u7cfb\u7edf\u8bf7\u6c42updateStudyStatue2,\u8bf7\u52ff\u5173\u95ed\u6b64\u9875\u9762, \u9884\u8ba125\u79d2")
                        }
                        o.playNext()
                    })
                }
            }
        }
    }, speedArr = [1, 2, 3, 5, 10, 16], toolOption = {accelerator: 1, CtxMain: null, SchoolType: -1};    class Main {
        constructor() {
            this.studentType = 1, this.speedStatus = 0, this.isAdaptive = 1, this.listenVidoeStatusTimer = null, this.fingerprint = null, this.toolkey = null, this.init()
        }        init() {
            setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                this.toolkey = localStorage.getItem("mytoolkey") || MyTool.getValue("mytoolkey");
                var e = MyTool.getValue("schoolInfoColletion"),
                    e = ((!e || (e = new Date(e)).getDate() < (new Date).getDate()) && this.colletionSchoolData(`/colletionschool?schoolType=${toolOption.SchoolType}&toolkey=${this.toolkey}&host=` + location.origin), localStorage.getItem("fingerprint"));
                !e && this.toolkey && (yield import("https://openfpcdn.io/fingerprintjs/v4").then(e => e.load()).then(e => e.get()).then(e => {
                    this.fingerprint = e.visitorId
                }), localStorage.setItem("fingerprint", this.fingerprint), this.colletionSchoolData(`/colletionschool?schoolType=${toolOption.SchoolType}&toolkey=${this.toolkey}&fingerprint=${this.fingerprint}&host=` + location.origin))
            }), 2500)
        }        updateSpeedElement(e) {
            0 != this.speedStatus && (ElementObj.$video.playbackRate = e)
        }        handleClickSpeedUp(e, t = !0) {
            return __awaiter(this, void 0, void 0, function* () {
                var e = localStorage.getItem("mytoolkey") || MyTool.getValue("mytoolkey");
                e ? (this.speedStatus = 1, 200 != (e = yield fetchData({
                    method: "GET",
                    url: bserUrl + (`/speedup?toolkey=${e}&canuse=${toolOption.SchoolType}&fingerprint=` + this.fingerprint)
                })).code ? (this.isAdaptive = 0, showTip("🔉🔉🔉" + e.message, 5e3, !0)) : (this.speedStatus = 1, this.isAdaptive = 1, toolOption.CtxMain.play(), t && this.randomListen())) : (alert("\u8bf7\u5148\u8d2d\u4e70key"), window.open(basehost))
            })
        }        handleAddKey(t) {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                ElementObj.$ipt.value ? (e = yield fetchData({
                    method: "GET",
                    url: bserUrl + "/vertifykey?toolkey=" + ElementObj.$ipt.value
                })).data ? (localStorage.setItem("mytoolkey", ElementObj.$ipt.value), localStorage.setItem("_localSpeed", toolOption.accelerator.toString()), MyTool.setValue("mytoolkey", ElementObj.$ipt.value), MyTool.setValue("mytoolkeyInfo", e.data), t(ElementObj.$ipt.value)) : alert("\u8f93\u5165\u7684key\u4e0d\u5b58\u5728") : window.open(basehost)
            })
        }        handleRemoveKey() {
            MyTool.setValue("mytoolkey", null), localStorage.removeItem("mytoolkey"), localStorage.removeItem("_localSpeed"), ElementObj.$title3.innerText = "\u7ed1\u5b9akey:", ElementObj.$mytoolkey.style.display = "none", ElementObj.$ctxsection2.style.display = "none", ElementObj.$nokey.style.display = "block", ElementObj.$ipt.style.display = "block", ElementObj.$addKey.style.display = "block", ElementObj.$removeKey.style.display = "none", ElementObj.$handleSpeedUp.style.background = "orange", ElementObj.$handleSpeedUp.innerText = "\u70b9\u51fb\u52a0\u901f", this.updateSpeedElement(1)
        }        stopSpeedUp() {
            this.speedStatus = 0, toolOption.CtxMain.updateSpeedElement(1), ElementObj.$handleSpeedUp.style.background = "orange", ElementObj.$handleSpeedUp.innerText = "\u70b9\u51fb\u52a0\u901f", showTip("🔉\u505c\u6b62\u52a0\u901f\u6210\u529f")
        }        handleChangeCtxSpeed(e) {
            var t, n = localStorage.getItem("mytoolkey") || MyTool.getValue("mytoolkey");
            n ? 0 == this.isAdaptive ? alert("Key\u4e0d\u9002\u914d") : (n = speedArr, t = Number(e), e && n.includes(t) && (toolOption.accelerator = t, localStorage.setItem("_localSpeed", t.toString()), MyTool.setValue("_localSpeed", t), ElementObj.$video) && (ElementObj.$video.playbackRate = t)) : (alert("\u8bf7\u5148\u8d2d\u4e70key"), window.open(basehost))
        }        colletionSchoolData(e) {
            return __awaiter(this, void 0, void 0, function* () {
                200 == (yield fetchData({
                    method: "GET",
                    url: bserUrl + e
                })).code && MyTool.setValue("schoolInfoColletion", "" + new Date)
            })
        }        randomListen() {
            setTimeout(() => {
                var e = localStorage.getItem("mytoolkey");
                !ElementObj.$video || ElementObj.$video.paused || e || ElementObj.$video.pause()
            }, 5e3)
        }        listenVidoeStatus(t, n) {
            if (t) {
                let e = 0;
                this.listenVidoeStatusTimer = setInterval(() => {
                    t.readyState < 4 && 20 <= (e += 1) && location.reload(), t.paused && (e += 1, "function" == typeof n) && (20 <= e ? location.reload() : n())
                }, 5e3)
            }
        }        changeHtml(t) {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                ElementObj.$ctxstatsbox = document.querySelector(".ctxstatsbox"), ElementObj.$ctxstatsbox || ((e = document.createElement("div")).setAttribute("class", "ctxstatsbox"), e.setAttribute("style", `
                width: 100%;
                height: 100%;
                background: #eae9e9;
                position: absolute;
                z-index: 999;
                overflow: scroll;
                top: 0;
                padding-left: 10px;
                z-index: 9999;
            `), t.appendChild(e), yield sleep(300), ElementObj.$ctxstatsbox = document.querySelector(".ctxstatsbox")), this.addInfo("🔉\u521d\u59cb\u5316\u5df2\u5b8c\u6210,\u6b63\u5728\u64ad\u653e")
            })
        }        addInfo(e, t) {
            15 <= document.querySelectorAll(".ctxstatsbox_li").length && (ElementObj.$ctxstatsbox.innerHTML = "");
            t = `<li class="ctxstatsbox_li" style="color: ${0 == t ? "#f01414" : "#000"};line-height: 30px;font-size: 16px;list-style: none;">${e}</li>`;
            ElementObj.$ctxstatsbox.innerHTML += t
        }        listenPageHide() {
            let t;
            document.addEventListener("visibilitychange", () => {
                if (document.hidden) {
                    let e = 0;
                    t = setInterval(() => {
                        5 <= (e += 1) && this.addInfo("⚠️⚠️⚠️\u8bf7\u52ff\u957f\u65f6\u95f4\u9690\u85cf\u8be5\u5b66\u4e60\u9875\u9762", 0)
                    }, 5e3)
                } else clearInterval(t)
            })
        }        pdPlayFn(e) {
            var t = MyTool.getValue("spanClassName") || [];
            -1 == t.indexOf(e) && (t.push(e), MyTool.setValue("spanClassName", t)), this.handleClickSpeedUp()
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }
    }    class Answer {
        constructor() {
            this.EleObj = {}, this.init()
        }        init() {
            this.EleObj.$numbers = document.querySelectorAll(".number"), this.EleObj.$close = document.querySelectorAll(".el-dialog__header>button")[4], this.EleObj.$numbers.length && this.eachTopic()
        }        eachTopic() {
            return __awaiter(this, void 0, void 0, function* () {
                document.querySelectorAll(".topic-item")[1].click(), sleep(1100), 1 < this.EleObj.$numbers.length ? (this.EleObj.$numbers[1].click(), setTimeout(() => {
                    document.querySelectorAll(".topic-item")[1].click(), this.EleObj.$close.click(), ElementObj.$video.play()
                }, 1e3)) : (this.EleObj.$close.click(), ElementObj.$video.play())
            })
        }
    }    class CTXCommon extends Main {
        constructor(e) {
            super(), this.taskLength = 0, this.currentIndex = -1, this.nodeListClass = e.nodeListClass, this.activeClass = e.activeClass || "", this.nextClass = e.nextClass || "", this.openListenPlayStatus = "boolean" != typeof e.openListenPlayStatus || e.openListenPlayStatus, this.openListenPlayTime = "boolean" == typeof e.openListenPlayTime && e.openListenPlayTime, this.afterPlayEnd = e.afterPlayEnd, this.getCurrentIndexByOption = e.getCurrentIndexByOption, this.playNext = e.playNext || this.playNext, this.listenRebortFn = e.listenRebortFn, this.getVideoDom = "function" == typeof e.videoEle ? e.videoEle : this.getVideoDom, this.playFn = e.playFn, this.beforePlayVideo = e.beforePlayVideo, this.getCurrentIndex = e.getCurrentIndex ? e.getCurrentIndex.bind(this, this) : this.getCurrentIndex, e._init ? e._init(this) : this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(this.nodeListClass), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                if (this.getCurrentIndexByOption) this.currentIndex = yield this.getCurrentIndexByOption(); else for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains(this.activeClass)) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 2e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video && (ElementObj.$video.src || ElementObj.$video.querySelector("source")) ? (clearInterval(n), e(1)) : 6 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                this.playFn ? this.playFn(this) : (1 == e && (this.beforePlayVideo && "function" == typeof this.beforePlayVideo && this.beforePlayVideo(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.openListenPlayStatus && this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.openListenPlayTime && (yield this.changeHtml(ElementObj.$video.parentElement), this.listenPlayTime()), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext(this)
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext(this)))
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                this.listenRebortFn && "function" == typeof this.listenRebortFn && this.listenRebortFn(this)
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                if (this.currentIndex >= ElementObj.$allTask.length - 1) alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c"); else {
                    yield sleep(2500), this.currentIndex += 1;
                    let e = ElementObj.$allTask[this.currentIndex];
                    null !== (e = this.nextClass ? ElementObj.$allTask[this.currentIndex].querySelector(this.nextClass) : e) && void 0 !== e && e.click(), this.afterPlayEnd && (yield this.afterPlayEnd()), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 5e3)
                }
            })
        }        listenPlayTime() {
            let n = 0;
            this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                n += 1;
                var e = null == (e = ElementObj.$video) ? void 0 : e.currentTime, e = (e / 60).toFixed(2),
                    t = null == (t = ElementObj.$video) ? void 0 : t.duration;
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`)
            }), 5e3)
        }
    }    class fujianshifan extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = 0, this.currentMidiaType = "video", this._init()
        }        _init() {
            let i = document.querySelectorAll(".section");
            new Promise(n => {
                i.forEach((e, t) => {
                    e.childNodes[0].click(), sleep(20), t == i.length - 1 && n(!0)
                })
            }).then(e => {
                setTimeout(() => {
                    ElementObj.$allStudyTask = document.querySelectorAll(".section li"), this.getCurrentIndex()
                }, 2e3)
            })
        }        getCurrentIndex() {
            let n = document.querySelector(".active").id;
            ElementObj.$allStudyTask.forEach((e, t) => {
                e.id == n && (this.currentIndex = t)
            })
        }        play() {
            ElementObj.$allStudyTask[this.currentIndex].click(), setTimeout(() => {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (this.currentMidiaType = "video", this.handlePlayVideo()) : (this.currentMidiaType = "doc", this.handlePlayDoc())
            }, 2e3)
        }        nextPlay() {
            sleep(1e3), this.currentIndex += 1, this.handleClickSpeedUp()
        }        handlePlayVideo() {
            this.updateSpeedElement(toolOption.accelerator), ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", ElementObj.$video.addEventListener("ended", () => {
                this.nextPlay()
            }, !1)
        }        handlePlayDoc() {
            ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f";
            var e = null == (e = document.querySelector("#lg-counter-all")) ? void 0 : e.innerHTML;
            let t = document.querySelector(".lg-actions>.lg-next"), n = Number(e), i = setInterval(() => {
                n <= 0 || !t ? (clearInterval(i), this.nextPlay()) : (t.click(), --n)
            }, 1e3)
        }
    }    class gxcic extends Main {
        constructor() {
            super(), this.parentIndex = 0, this.currentIndex = 0, this.currentTaskEle = null, this.taskLength = 0, this.timer = null, this._init()
        }        _init() {
            let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTaskParentNodes = null === document || void 0 === document ? void 0 : document.querySelectorAll(".ant-collapse-item"), ElementObj.$allTask = null === document || void 0 === document ? void 0 : document.querySelectorAll(".course-detail-content-section-info-text"), ElementObj.$allTask.length && ElementObj.$allTaskParentNodes.length && (clearInterval(e), this.getCurrentIndex())
            }), 1e3)
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTaskParentNodes.forEach((e, t) => {
                    e.className.includes("ant-collapse-item-active") && (this.parentIndex = t)
                }), ElementObj.$allTask.forEach((e, t) => {
                    e.className.includes("course-detail-current") && (this.currentIndex = t, this.currentTaskEle = e)
                }), this.currentTaskEle && showTip("\u521d\u59cb\u5316\u5b8c\u6210,\u53ef\u70b9\u51fb\u52a0\u901f")
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.play(), this.updateSpeedElement(toolOption.accelerator), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.lisRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e = this.currentTaskEle.parentElement.parentElement.nextSibling;
                    e ? (this.currentIndex += 1, this.currentTaskEle = e) : (this.parentIndex += 1, this.currentIndex += 1, ElementObj.$allTaskParentNodes[this.parentIndex].lastChild.firstChild.firstChild.click(), yield sleep(1500), ElementObj.$allTask = null === document || void 0 === document ? void 0 : document.querySelectorAll(".course-detail-content-section-info-text"), this.currentTaskEle = ElementObj.$allTask[this.currentIndex]), this.currentTaskEle.click(), yield sleep(5e3), this.handleClickSpeedUp()
                }), !1), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.play()
                    }, 1500)
                })
            })
        }        lisRebort() {
            this.timer = setInterval(() => {
                var e = document.querySelector(".sdk-ia-message-confirm"),
                    e = (null != e && e.click(), document.querySelector(".sdk-ia-number-verify-image"));
                e && (document.querySelector(".sdk-ia-number-input input").value = e.innerText, document.querySelector(".sdk-ia-number-button").click())
            }, 5e3)
        }
    }    class fjsf2 extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = 0, this.currentIndex = 0, this.currentMidiaType = "video", this._init()
        }        _init() {
            ElementObj.$allTaskParentNodes = null === document || void 0 === document ? void 0 : document.querySelectorAll(".section");
            document.querySelectorAll(".section");
            this.getCurrentIndex()
        }        getCurrentIndex() {
            ElementObj.$allTaskParentNodes.forEach((e, n) => {
                let i = e.querySelectorAll("li");
                null !== i && void 0 !== i && i.forEach((e, t) => {
                    e.className.includes("active") && (this.parentIndex = n, this.currentIndex = t, ElementObj.$allTask = i)
                })
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask[this.currentIndex].click(), yield sleep(2e3), document.querySelector(".lg-close") ? (this.currentMidiaType = "doc", this.handlePlayDoc()) : (this.currentMidiaType = "video", this.handlePlayVideo())
            })
        }        nextPlay() {
            return __awaiter(this, void 0, void 0, function* () {
                if (yield sleep(1e3), this.currentIndex >= ElementObj.$allTask.length - 1) {
                    if (this.parentIndex += 1, this.currentIndex = 0, this.parentIndex >= ElementObj.$allTaskParentNodes.length) return void alert("\u5df2\u5168\u90e8\u64ad\u653e\u5b8c");
                    var e = ElementObj.$allTaskParentNodes[this.parentIndex].querySelectorAll("li");
                    e.length ? ElementObj.$allTask = e : (ElementObj.$allTaskParentNodes[this.parentIndex].childNodes[0].click(), yield sleep(300), ElementObj.$allTask = ElementObj.$allTaskParentNodes[this.parentIndex].querySelectorAll("li"))
                } else this.currentIndex += 1;
                this.handleClickSpeedUp()
            })
        }        handlePlayVideo() {
            ElementObj.$video = document.querySelector("video"), this.updateSpeedElement(toolOption.accelerator), ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", ElementObj.$video.addEventListener("ended", () => {
                this.nextPlay()
            }, !1)
        }        handlePlayDoc() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", yield sleep(1500);
                var e = document.querySelector(".lg-toggle-thumb");
                e && (e.click(), document.querySelectorAll(".lg-thumb-item").length), yield sleep(2e3), document.querySelector(".lg-close").click(), this.nextPlay()
            })
        }
    }    class zjzx extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = 0, this._init()
        }        _init() {
            ElementObj.$allTask = document.querySelectorAll(".nLi"), this.getCurrentIndex()
        }        getCurrentIndex() {
            ElementObj.$allTask.forEach((e, t) => {
                e.querySelector("li").classList.contains("active") && (this.currentIndex = t)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", ElementObj.$video.addEventListener("ended", () => {
                    setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 5e3)
                })
            })
        }
    }    class zxpxmr extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = 0, this._init()
        }        _init() {
            window.alert = function () {
                return !1
            };
            let e = setInterval(() => {
                ElementObj.$allTask = document.querySelectorAll(".kecheng_play_mian_list_item"), ElementObj.$allTask.length && (showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,\u53ef\u70b9\u51fb\u52a0\u901f", 3e3), clearInterval(e), this.getCurrentIndex())
            }, 1e3)
        }        getCurrentIndex() {
            ElementObj.$allTask.forEach((e, t) => {
                e.classList.contains("kecheng_play_mian_list_item_progress_playing") && (this.currentIndex = t)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.simulationClick(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    clearInterval(this.timer), this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u8bfe\u7a0b\u5df2\u5168\u90e8\u90e8\u5206\u5b8c") : (this.currentIndex += 1, e = document.querySelector("#btn-sure"), yield sleep(2e3), null != e && e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 5e3))
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.play()
                    }, 1e3)
                })
            })
        }        simulationClick() {
            var e = new KeyboardEvent("keydown", {keyCode: 8, which: 8});
            this.timer = setInterval(() => {
                try {
                    document.dispatchEvent(e)
                } catch (e) {
                }
            }, 3e3)
        }
    }    class ggfw extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = 0, this._init()
        }        _init() {
            ElementObj.$parentNodes = document.querySelectorAll(".learnList"), ElementObj.$parentNodes.length && this.selectOneClass(), new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$allTask = document.querySelectorAll(".courseItem"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex(), e(!0))
                }, 1e3)
            }).then(e => {
                ElementObj.$handleSpeedUp.style.display = "none";
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.setAttribute("autoplay", "autoplay");
                    var e = document.querySelector(".volume-icon");
                    e.click(), yield sleep(500), e.click(), ElementObj.$video && (clearInterval(t), showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u81ea\u52a8\u64ad\u653e", 3e3), yield sleep(300), document.querySelector(".prism-big-play-btn").click(), yield this.handleClickSpeedUp())
                }), 1e3)
            })
        }        getCurrentIndex() {
            ElementObj.$allTask.forEach((e, t) => {
                e.classList.contains("active") && (this.currentIndex = t)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(3e3), localStorage.setItem("ctx-status", ""), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f"
                }, 1500), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    clearInterval(this.timer), ElementObj.$allTask = document.querySelectorAll(".courseItem"), yield sleep(300), this.currentIndex >= ElementObj.$allTask.length - 1 ? (localStorage.setItem("ctx-status", "done"), document.querySelector(".sc-box").click(), yield sleep(1500), document.querySelectorAll(".menu-box ul li")[3].click(), yield sleep(2e3), window.location.reload()) : (this.currentIndex += 1, this.handleClickSpeedUp(), yield sleep(2500), ElementObj.$allTask[this.currentIndex].click())
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.play()
                    }, 1e3)
                })
            })
        }        selectOneClass() {
            let e = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                clearInterval(e), document.querySelector("#tab-second").click(), yield sleep(2500), ElementObj.$parentNodes = document.querySelectorAll(".course_item"), yield sleep(200), ElementObj.$parentNodes[0].click()
            }), 3e3)
        }
    }    class mingshiclass extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = 0, this.parentIndex = -1, this._init()
        }        _init() {
            document.querySelector(".title-box .setMealName") ? this.selectOneClass() : this.initPlayPage()
        }        initPlayPage() {
            new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$allTask = document.querySelectorAll(".course-list .course-item"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex(), e(!0))
                }, 1e3)
            }).then(e => new Promise(e => __awaiter(this, void 0, void 0, function* () {
                ElementObj.$video = document.querySelector("video"), yield sleep(3e3), ElementObj.$video && (showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,\u64ad\u653e\u5f00\u59cb", 3e3), e(!0))
            }))).then(e => {
                this.handleClickSpeedUp()
            })
        }        getCurrentIndex() {
            ElementObj.$allTask.forEach((e, t) => {
                e.querySelector(".course-name").classList.contains("play-status") && (this.currentIndex = t)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.setAttribute("autoplay", "autoplay"), ElementObj.$video.volume = 0, yield sleep(3500), document.querySelector(".play_btn").click(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = document.querySelector(".back-img"), sleep(200), e.click(), setTimeout(() => {
                        location.reload()
                    }, 3e3)) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(5e3), null != e && e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 2e3))
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.play()
                    }, 3e3)
                })
            })
        }        selectOneClass() {
            let e = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                clearInterval(e), ElementObj.$parentNodes = document.querySelectorAll(".content-box>.course-list>div"), yield sleep(200), ElementObj.$parentNodes.forEach((e, t) => {
                    if ("\u672a\u5b8c\u6210" == e.querySelector(".course_item_brief").lastChild.innerText && -1 == this.parentIndex) return this.parentIndex = t, !0
                }), yield sleep(200), ElementObj.$parentNodes[this.parentIndex].click(), setTimeout(() => {
                    this.initPlayPage()
                }, 2500)
            }), 1e3)
        }
    }    mingshiclass.ctxid = 17;    class qiangshi extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            try {
                var e = document.querySelectorAll("iframe")[2].contentWindow.document.querySelectorAll("iframe")[0].contentWindow;
                this._document = e.document
            } catch (e) {
            }
            let t = setInterval(() => {
                try {
                    var e = document.querySelector(".contentIframe").contentWindow;
                    ElementObj.$allTask = e.document.querySelectorAll(".s_point"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex())
                } catch (e) {
                }
            }, 1e3)
        }        getCurrentIndex() {
            ElementObj.$allTask.forEach((e, t) => {
                e.querySelector(".item_done_icon").classList.contains("done_icon_show") || -1 != this.currentIndex || (this.currentIndex = t)
            }), -1 == this.currentIndex ? alert("\u5f53\u524d\u7ae0\u8282\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c") : (showTip("⚠️⚠️⚠️\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                this.handleClickSpeedUp()
            }, 4500), ElementObj.$handleSpeedUp.style.display = "none")
        }        getVideoDom() {
            return new Promise(t => {
                let n = setInterval(() => {
                    try {
                        var e = document.querySelectorAll("iframe")[2].contentDocument.querySelectorAll("iframe")[0].contentDocument;
                        ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && (clearInterval(n), t(!0))
                    } catch (e) {
                    }
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask[this.currentIndex].click(), yield sleep(3500), yield this.getVideoDom(), ElementObj.$video.volume = 0;
                var e = this._document.querySelector("#player_pause");
                null != e && e.click(), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = localStorage.getItem("_localSpeed") || toolOption.accelerator
                }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u8bfe\u7a0b\u5df2\u5168\u90e8\u90e8\u5206\u5b8c") : (this.currentIndex += 1, showTip("⚠️⚠️⚠️\u6b63\u5728\u5207\u6362\u8bfe\u7a0b", 3500), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4e3))
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = localStorage.getItem("_localSpeed") || toolOption.accelerator
                    }, 1500)
                })
            })
        }
    }    qiangshi.ctxid = 18;    class lanzhgoulgjs extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelectorAll(".chapterlist .drop p"),
                    t = document.querySelectorAll(".chapterlist .videoList p");
                (e.length || t.length) && (clearInterval(n), ElementObj.$allTask = e.length ? e : t, this.getCurrentIndex())
            }), 1e3)
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                let n = [];
                ElementObj.$allTask.forEach((e, t) => {
                    var e = e.querySelector(".class_percent");
                    e ? (e = e.innerText, n.push(parseInt(e))) : n.push(0)
                }), n.reverse();
                for (var e = 0; e <= n.length - 1; e++) if (n[e] < 98) {
                    this.currentIndex = n.length - e - 1;
                    break
                }
                if (0 == this.currentIndex) {
                    ElementObj.$allTask[1].querySelector("a").click(), yield sleep(4e3), ElementObj.$allTask = document.querySelectorAll(".chapterlist .drop p"), yield sleep(200);
                    var t = ElementObj.$allTask[0].querySelector(".class_percent").innerText;
                    if (!(parseInt(t) < 98)) return void alert("\u5f53\u524d\u79d1\u76ee\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c");
                    this.currentIndex = 0
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u79d1\u76ee\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉🔉🔉\u521d\u59cb\u5316\u5b8c\u6210,5s\u540e\u5f00\u59cb\u64ad\u653e", 3e3), this.pdPlayFn(location.href))
            })
        }        getVideoDom() {
            return new Promise(n => {
                let i = setInterval(() => {
                    ElementObj.$video = document.querySelector("video");
                    var e = ElementObj.$video.src, t = document.querySelector("iframe");
                    e && (clearInterval(i), n(1)), t && (clearInterval(i), n(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                var e, t = ElementObj.$allTask[this.currentIndex].querySelector("a"),
                    t = (yield sleep(300), t.click(), yield sleep(3e3), yield this.getVideoDom());
                1 == t && (clearInterval(this.listenVidoeStatusTimer), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), e = document.querySelector(".ckplayer-ckplayer"), this.changeHtml(e), this.reloadPage(), this.listenPageHide(), this.listenAbnormal(1), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    location.reload()
                }))), 2 == t && (e = document.querySelector("#thirdplayer"), this.changeHtml(e), this.reloadPage(), this.listenPageHide(), this.listenAbnormal(0))
            })
        }        reloadPage() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = 180, t = setInterval(() => {
                    e <= 0 && (clearInterval(t), location.reload()), --e
                }, 1e3)
            })
        }        listenAbnormal(t) {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            setInterval(() => {
                n += 1, 0 == t ? this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60`) : (e = (ElementObj.$video.currentTime / 60).toFixed(2), this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f`));
                var e = document.querySelector(".layui-layer-btn0");
                e && location.reload()
            }, 5e3)
        }        changeHtml(t) {
            return __awaiter(this, void 0, void 0, function* () {
                var e = document.createElement("div");
                e.setAttribute("class", "ctxstatsbox"), e.setAttribute("style", `
                width: 796px;
                height: 545px;
                background: #eae9e9;
                position: absolute;
                z-index: 10;
                overflow: scroll;
                top: 0;
                padding-left: 10px;
            `), t.appendChild(e), yield sleep(300), ElementObj.$ctxstatsbox = document.querySelector(".ctxstatsbox"), this.addInfo("🔉\u521d\u59cb\u5316\u5df2\u5b8c\u6210,\u6b63\u5728\u64ad\u653e"), this.addInfo("⚠️⚠️⚠️\u8bfe\u7a0b\u91c7\u7528\u5012\u7740\u64ad\u653e,\u8bf7\u52ff\u624b\u52a8\u66f4\u6362\u8bfe\u7a0b", 0)
            })
        }        addInfo(e, t) {
            15 <= document.querySelectorAll(".ctxstatsbox_li").length && (ElementObj.$ctxstatsbox.innerHTML = "");
            t = `<li class="ctxstatsbox_li" style="color: ${0 == t ? "#f01414" : "#000"};line-height: 30px;font-size: 16px;">${e}</li>`;
            ElementObj.$ctxstatsbox.innerHTML += t
        }        listenPageHide() {
            let t;
            document.addEventListener("visibilitychange", () => {
                if (document.hidden) {
                    let e = 0;
                    t = setInterval(() => {
                        5 <= (e += 1) && this.addInfo("⚠️⚠️⚠️\u8bf7\u52ff\u957f\u65f6\u95f4\u9690\u85cf\u8be5\u5b66\u4e60\u9875\u9762", 0)
                    }, 5e3)
                } else clearInterval(t)
            })
        }
    }    class beijingjiaoshi extends Main {
        constructor() {
            super(), this.taskLength = 0, this.topIndex = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                var e, t = document.querySelector(".item_btn");
                if (ElementObj.$topNode = document.querySelectorAll(".el-collapse-item__header"), t) yield sleep(2e3), t.click(), setTimeout(() => {
                    window.close()
                }, 1500); else if (ElementObj.$topNode.length) e:for (var n of ElementObj.$topNode) {
                    n.classList.contains("is-active") || (n.click(), yield sleep(1500));
                    for (e of n.parentElement.nextSibling.querySelectorAll("tr.el-table__row")) if ("100%" != e.querySelector(".el-progress-bar__inner").style.width) {
                        MyTool.setValue("homeUrl", location.href), e.querySelector(".btn.to-study").click();
                        break e
                    }
                } else {
                    let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        ElementObj.$allTask = document.querySelectorAll(".course-info .video-title"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
                    }), 1e3)
                }
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$topNode = document.querySelectorAll(".el-collapse-item"), yield sleep(200);
                let t = ElementObj.$topNode.length, i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    this.topIndex >= t - 1 && clearInterval(i), yield sleep(2e3);
                    var e = ElementObj.$topNode[this.topIndex];
                    0 != this.topIndex && e.querySelector(".item-title-col").click(), yield sleep(300), ElementObj.$parentNodes = e.querySelectorAll(".el-table__row"), yield sleep(300), ElementObj.$parentNodes.forEach((t, n) => __awaiter(this, void 0, void 0, function* () {
                        var e;
                        "\u8bfe\u7a0b:100%" != t.querySelector(".course_num").innerText && -1 == this.parentIndex && (clearInterval(i), this.parentIndex = n, e = t.querySelector(".to-study"), yield sleep(200), e.click(), setTimeout(() => {
                            window.close()
                        }, 1500))
                    })), this.topIndex += 1
                }), 3e3)
            })
        }        getDoing() {
            return new Promise(n => {
                let i = !1;
                ElementObj.statusEles = document.querySelectorAll(".li-item .el-progress-bar__inner"), ElementObj.statusEles.forEach((e, t) => {
                    e = e.style.width;
                    parseInt(e) <= 98 && 0 == i && (i = !0, n(t))
                }), i || n(0)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask.forEach((e, t) => {
                    "100%" != e.querySelector(".four").innerText && -1 == this.currentIndex && (this.currentIndex = t)
                }), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3);
                var e = ElementObj.$allTask[this.currentIndex];
                yield sleep(200), e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
                var e = document.querySelector(".xgplayer-start");
                yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, this.punchCard(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenVidoeStatus(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
                        window.close()
                    }, 1500), e = MyTool.getValue("homeUrl"), location.replace(e)) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500))
                })), ElementObj.$video.addEventListener("pause", () => {
                }), ElementObj.$video.addEventListener("playing", () => {
                }), ElementObj.$video.addEventListener("waiting", () => {
                })
            })
        }        listenVidoeStatus() {
            this.timer = setInterval(() => {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video && ElementObj.$video.paused && (ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play())
            }, 3e3)
        }        punchCard() {
            setInterval(() => {
                var e = document.querySelector("#comfirmClock");
                e && e.click()
            }, 5e3)
        }
    }    class qingyangzgzjzj extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this._init()
        }        _init() {
            let e = setInterval(() => {
                ElementObj.$parentNodes = document.querySelectorAll(".swiper-slide"), ElementObj.$parentNodes.length && (clearInterval(e), this.getParentIndex())
            }, 1e3)
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("\u6b63\u5728\u521d\u59cb\u5316", 1500), ElementObj.$parentNodes.forEach((e, t) => {
                    e = e.querySelector(".progresstext").innerText;
                    parseInt(e) < 97 && -1 == this.parentIndex && (this.parentIndex = t, ElementObj.$parentNodes[this.parentIndex].querySelector(".left-img").click())
                }), -1 == this.parentIndex ? alert("\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : this.getCurrentIndex()
            })
        }        _getParentIndex() {
            let e = 0;
            for (var t = 0; t <= ElementObj.$parentNodes.length - 1; t++) {
                var n = ElementObj.$parentNodes[t].querySelector(".progresstext").innerText;
                if (parseInt(n) < 95) {
                    e = t;
                    break
                }
            }
            return e
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask = document.querySelectorAll(".class-catlog ul li ul li"), yield sleep(2e3), ElementObj.$allTask[0].click(), this.currentIndex = 0, ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u81ea\u52a8\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 3e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), clearInterval(this.timer2), yield this.getVideoDom(), ElementObj.$video = document.querySelector("video"), ElementObj.$video.volume = 0, ElementObj.$video.currentTime = 0, ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenVidoeStatus(), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                }))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        listenVidoeStatus() {
            this.timer = setInterval(() => {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video && ElementObj.$video.paused && (ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play())
            }, 3e3)
        }        listenRebort() {
            this.timer2 = setInterval(() => {
                var e;
                "100%" == (null == (e = document.querySelector(".progress")) ? void 0 : e.querySelectorAll("span")[1].innerText.trim()) && location.reload()
            }, 3e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask = document.querySelectorAll(".class-catlog ul li ul li"), yield sleep(1500), this.currentIndex >= ElementObj.$allTask.length - 1 && location.reload()
            })
        }
    }    class lanzhouwenli extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this._init()
        }        _init() {
            let e = setInterval(() => {
                ElementObj.$allTask = document.querySelectorAll(".video"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
            }, 1e3)
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask.forEach((e, t) => {
                    e = e.querySelector(".el-progress__text").innerText;
                    parseInt(e) < 96 && -1 == this.currentIndex && (this.currentIndex = t)
                }), -1 == this.currentIndex ? alert("\u5f53\u524d\u7ae0\u8282\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (showTip("🔉🔉🔉\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e", 3e3), yield sleep(2e3), ElementObj.$allTask[this.currentIndex].click(), yield sleep(2500), this.handleClickSpeedUp())
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                yield this.getVideoDom(), document.querySelector(".volume-icon").classList.add("mute"), ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    yield sleep(1500), this.currentIndex >= ElementObj.$allTask.length - 1 && (this.parentIndex += 1, yield sleep(200), ElementObj.$parentNodes[this.parentIndex].querySelector(".left-img").click(), this.parentIndex >= ElementObj.$parentNodes.length - 1) ? alert("\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c\u4e86") : (e = document.querySelector(".videoleft img"), yield sleep(200), e.click(), showTip("\u6b63\u5728\u5207\u6362\u8bfe\u7a0b", 3e3), setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                        this.currentIndex += 1;
                        var e = ElementObj.$allTask[this.currentIndex];
                        yield sleep(2e3), null != e && e.click(), setTimeout(() => {
                            this.handleClickSpeedUp()
                        }, 5e3)
                    }), 5500))
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.play()
                    }, 4e3)
                })
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }
    }    class guojiazhihuijiaoyu extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelectorAll(".video-title .four");
                e.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = e, this.getCurrentIndex())
            }), 1e3)
        }        getCurrentIndex() {
            ElementObj.$allTask.forEach((e, t) => {
                "100%" != e.innerText && -1 == this.currentIndex && (this.currentIndex = t)
            }), -1 == this.currentIndex && (this.currentIndex = 0), showTip("🔉🔉🔉\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u81ea\u52a8\u64ad\u653e", 3e3), this.handleClickSpeedUp()
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = ElementObj.$allTask[this.currentIndex];
                yield sleep(300), e.click(), yield sleep(3e3), document.querySelector("video").volume = 0;
                document.querySelector(".xgplayer-icon-play").click(), yield this.getVideoDom(), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, this.listenVidoeStatus();
                e = document.querySelector(".layui-layer-btn0");
                e && e.click(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenTopic(), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e = document.querySelector(".layui-layer-btn0");
                    yield sleep(3e3), e && e.click(), this.currentIndex += 1, setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 5e3)
                }))
            })
        }        listenTopic() {
            setInterval(() => {
                try {
                    document.querySelector("#submit") && this.answerTopic()
                } catch (e) {
                }
            }, 5e3)
        }        answerTopic() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelectorAll(".choice li")[0];
                yield sleep(200), e.click();
                let t = document.querySelector("#submit");
                yield sleep(1e3), t.click(), yield sleep(2e3), t = document.querySelector("#submit"), yield sleep(200), t.click(), yield sleep(4500);
                e = document.querySelector(".layui-layer-btn0");
                yield sleep(200), e.click()
            })
        }        listenVidoeStatus() {
            this.timer = setInterval(() => {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video && ElementObj.$video.paused && (ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play())
            }, 1e4)
        }
    }    class lanzhouchengren extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = 3, this.loadedCount = 0, this.type = 1, this._init()
        }        _init() {
            let e = setInterval(() => {
                "/courseVideo/index" == location.pathname ? ElementObj.$allTask = document.querySelectorAll(".ant-tree-node-content-wrapper-normal .chapter-tree-level2") : ElementObj.$allTask = document.querySelectorAll(".activity li"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
            }, 1e3)
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                if ("/courseVideo/index" == location.pathname) {
                    for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                        var t = ElementObj.$allTask[e].querySelector(".right");
                        if (!t) {
                            this.currentIndex = e;
                            break
                        }
                        if ("\u5df2\u5b8c\u6210" != t.querySelector(".percent-text").innerText) {
                            this.currentIndex = e;
                            break
                        }
                    }
                    if (-1 == this.currentIndex) return void alert("\u6240\u6709\u8bfe\u7a0b\u5df2\u64ad\u653e\u5b8c");
                    ElementObj.$allTask[e].click()
                } else ElementObj.$allTask.forEach((e, t) => {
                    e.classList.contains("cur") && (this.currentIndex = t)
                }), -1 == this.currentIndex && (this.currentIndex = 0);
                ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), yield sleep(3e3), this.handleClickSpeedUp()
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer);
                var e = yield this.getVideoDom();
                yield sleep(200), 1 == e && setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                    this.currentIndex += 1;
                    var e = ElementObj.$allTask[this.currentIndex], e = null == e ? void 0 : e.querySelector("h3");
                    yield sleep(2e3), null != e && e.click()
                }), 3e3), 2 == e && (ElementObj.$video.volume = 0, ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", "/venus/study/activity/video/study.do" == location.pathname && (this.listenVidoeStatus(ElementObj.$video, () => {
                    var e = ElementObj.$allTask[this.currentIndex], e = null == e ? void 0 : e.querySelector("h3");
                    null != e && e.click()
                }), this.reloadPage()), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    this.videoplaying = 1, setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1e3)
                }), ElementObj.$video.addEventListener("playing", () => {
                    this.videoplaying = 2
                }))
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                if (this.videoplaying = 3, yield sleep(1500), this.currentIndex >= ElementObj.$allTask.length - 1) alert("\u5f53\u524d\u7ae0\u8282\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c\u4e86"); else {
                    this.currentIndex += 1;
                    var t = ElementObj.$allTask[this.currentIndex];
                    let e;
                    "/courseVideo/index" == location.pathname ? (null !== (e = t) && void 0 !== e && e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 3e3)) : (e = null == t ? void 0 : t.querySelector("h3"), yield sleep(2e3), null !== e && void 0 !== e && e.click())
                }
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$myFrame = document.querySelector("#myFrame"), ElementObj.$video && (clearInterval(t), this.type = 2, e(2)), ElementObj.$myFrame && (clearInterval(t), this.type = 1, e(1))
                }, 1e3)
            })
        }        reloadPage() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = 600, t = 0, n = setInterval(() => {
                    (t += 1) % 15 == 0 && console.clear(), t, e <= 0 && (clearInterval(n), location.reload()), --e
                }, 1e3)
            })
        }
    }    class tsbtchinamde extends Main {
        constructor() {
            super(), this.taskLength = 0, this.studyType = 1, this.currentIndex = -1, this._init()
        }        _init() {
            let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelectorAll(".chapterlist .item p"),
                    t = document.querySelectorAll(".chapterlist .chapter-li .drop p");
                (e.length || t.length) && (clearInterval(n), ElementObj.$allTask = t.length ? t : e, this.getCurrentIndex(), ElementObj.$handleSpeedUp.style.display = "none")
            }), 1e3)
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                let n = [];
                ElementObj.$allTask.forEach((e, t) => {
                    var e = e.querySelector(".class_percent");
                    e ? (e = e.innerText, n.push(parseInt(e))) : n.push(0)
                }), n.reverse();
                for (var e = 0; e <= n.length - 1; e++) if (n[e] < 98) {
                    this.currentIndex = n.length - e - 1;
                    break
                }
                if (0 == this.currentIndex) {
                    ElementObj.$allTask[1].querySelector("a").click(), yield sleep(4e3), ElementObj.$allTask = document.querySelectorAll(".chapterlist .drop p"), yield sleep(200);
                    var t = ElementObj.$allTask[0].querySelector(".class_percent").innerText;
                    if (!(parseInt(t) < 98)) return void alert("\u5f53\u524d\u79d1\u76ee\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c");
                    this.currentIndex = 0
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u79d1\u76ee\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉🔉🔉\u521d\u59cb\u5316\u5b8c\u6210,5s\u540e\u5f00\u59cb\u64ad\u653e", 3e3), this.handleClickSpeedUp())
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video.src ? (clearInterval(t), e(1)) : (clearInterval(t), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer);
                var e = ElementObj.$allTask[this.currentIndex].querySelector("a"),
                    e = (yield sleep(300), e.click(), this.studyType = yield this.getVideoDom(), 1 == this.studyType && (ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenVidoeStatus(ElementObj.$video, () => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    })), 1 == this.studyType ? $el("#player") : $el("#thirdplayer"));
                this.changeHtml(e), this.reloadPage(), this.listenPageHide(), 1 == this.studyType ? this.listenAbnormal(1) : this.listenAbnormal(0), setTimeout(() => {
                    this.addInfo("⚠️⚠️⚠️\u8bfe\u7a0b\u91c7\u7528\u5012\u7740\u64ad\u653e,\u8bf7\u52ff\u624b\u52a8\u66f4\u6362\u8bfe\u7a0b", 0)
                }, 1e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    location.reload()
                }))
            })
        }        reloadPage() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = 360, t = setInterval(() => {
                    e <= 0 && (clearInterval(t), location.reload()), --e
                }, 1e3)
            })
        }        listenAbnormal(t) {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            setInterval(() => {
                n += 1, 0 == t && this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60`), 1 == t && (e = (ElementObj.$video.currentTime / 60).toFixed(2), this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f`));
                var e = document.querySelector(".layui-layer-btn0");
                e && location.reload()
            }, 5e3)
        }
    }    tsbtchinamde.ctxid = 26;    class zjzjsrc extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this.wrapParentIndex = 0, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    "/member/project_toMyCourseList.page" == location.pathname && (clearInterval(t), document.querySelectorAll("td .btn-xs")[this.wrapParentIndex].click(), yield sleep(2e3), e = yield this.getParentIndex(), null != (e = document.querySelectorAll(".panel-body")[0].querySelectorAll("tbody tr")[e].querySelector(".btn-xs[name='btn1']")) && e.click(), yield sleep(2e3), ElementObj.$allTask = document.querySelectorAll(".btn-xs[name='btn1']"), this.step2()), ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
                }), 1e3)
            })
        }        getParentIndex() {
            var a;
            return __awaiter(this, void 0, void 0, function* () {
                let e = -1;
                for (var t = document.querySelectorAll(".panel-body")[0].querySelectorAll("tbody tr"), n = 0; n <= t.length - 1; n++) {
                    var i = "2j.zjjsrc.cn" === location.host ? 4 : 6;
                    if ("\u672a\u5f00\u59cb\u5b66\u4e60" == t[n].querySelectorAll("td")[i].innerText) {
                        e = n;
                        break
                    }
                }
                if (-1 == e) {
                    var l = document.querySelector("#option1").lastChild,
                        o = null == (a = document.querySelector("#option1")) ? void 0 : a.querySelector("a[title='Go to next page']");
                    if (l.classList.contains("active")) return e;
                    o.click(), yield sleep(2e3), e = yield this.getParentIndex()
                }
                return e
            })
        }        getCurrentIndex() {
            showTip("\u6b63\u5728\u521d\u59cb\u5316"), ElementObj.$handleSpeedUp.style.display = "none";
            var e = document.querySelectorAll(".progress-bar");
            let t = -1;
            for (var n = 0; n <= e.length - 1; n++) {
                var i = e[n].style.width;
                if (100 != parseInt(i)) {
                    t = n;
                    break
                }
            }
            return t
        }        step2() {
            var e;
            return __awaiter(this, void 0, void 0, function* () {
                let t = 0,
                    n = null == (e = document.querySelector("#myModal .panel-body")) ? void 0 : e.querySelectorAll("tbody tr"),
                    i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        var e = n[t].querySelector(".btn-xs[name='btn2']"),
                            e = (null != e && e.click(), yield sleep(500), this.getCurrentIndex());
                        -1 != e && (clearInterval(i), e = document.querySelectorAll("#myModal1 tbody tr")[e].querySelector("a"), GM_openInTab(e.href, {active: !0}), localStorage.setItem("learnStatus", "-1"), "2j.zjjsrc.cn" === location.host && window.addEventListener("storage", e => {
                            "learnStatus" === e.key && "done" === e.newValue && location.reload()
                        }), "2j.zjjsrc.cn" !== location.host) && setTimeout(() => {
                            window.close()
                        }, 15e3), t++
                    }), 2e3)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, this.changeHtml($el("#example_video_1")), this.listenPlayTime(), this.listenPageHide(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.videoplaying = -1, "2j.zjjsrc.cn" === location.host ? localStorage.setItem("learnStatus", "done") : GM_openInTab("https://zj.zjjsrc.cn/member/project_toMyCourseList.page", {active: !0}), setTimeout(() => {
                        window.close()
                    }, 15e3)
                })), ElementObj.$video.addEventListener("pause", () => {
                    clearInterval(void 0), setTimeout(() => {
                        document.querySelector(".vjs-play-control").click()
                    }, 100)
                })
            })
        }        listenPlayTime() {
            let n = 0;
            this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                n += 1;
                var e = null == (e = ElementObj.$video) ? void 0 : e.currentTime, e = (e / 60).toFixed(2),
                    t = null == (t = ElementObj.$video) ? void 0 : t.duration;
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`)
            }), 5e3)
        }
    }    zjzjsrc.ctxid = 26;    class gzjxjy extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            let e = setInterval(() => {
                ElementObj.$allTask = document.querySelectorAll(".el-step"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
            }, 1e3)
        }        getCurrentIndex() {
            let n = -1;
            ElementObj.$allTask.forEach((e, t) => {
                e.querySelector(".status-tip") || -1 != this.currentIndex || (this.currentIndex = t), e.classList.contains("active") && (n = t)
            }), n != this.currentIndex && ElementObj.$allTask[this.currentIndex].querySelector(".step-title").click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u81ea\u52a8\u64ad\u653e"), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f"
                }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    clearInterval(this.timer), this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u8bfe\u7a0b\u5df2\u5168\u90e8\u90e8\u5206\u5b8c") : (this.currentIndex += 1, yield sleep(500), ElementObj.$allTask[this.currentIndex].querySelector(".step-title").click(), showTip("✅✅✅5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 4500), setTimeout(() => {
                        location.reload()
                    }, 5e3))
                })), ElementObj.$video.addEventListener("pause", () => __awaiter(this, void 0, void 0, function* () {
                    yield sleep(1e3);
                    var e = document.querySelector(".dialog-footer button");
                    e ? e.click() : setTimeout(() => {
                        ElementObj.$video.play()
                    }, 1e3)
                }))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }
    }    class gzjxjy_Answer {
        constructor() {
            this.currentIndex = 0, this.$allTask = document.querySelectorAll(".question-title"), this.currentTask = {
                type: 1,
                topicName: "",
                option: []
            }, this.timer = 0, this._init()
        }        _init() {
            let e = setInterval(() => {
                this.timer += 1, 1920 < this.timer && (this.submit(), clearInterval(e))
            }, 1e3), t = setInterval(() => {
                this.$allTask = document.querySelectorAll(".question-title"), this.$allTask.length && (clearInterval(t), showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,\u53ef\u70b9\u51fb\u52a0\u901f", 3e3), this.play())
            }, 1e3)
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(2e3);
                var e = this.$allTask[this.currentIndex], t = e.querySelector(".show-text");
                this.currentTask.topicName = t.innerText, ElementObj.$ctxTopicName = document.querySelector(".cxtsection3 .ctxtopic-name"), ElementObj.$ctxTopicName.innerText = this.currentTask.topicName, this.currentTask.option = [];
                let n = e.querySelectorAll(".el-radio__label"),
                    i = (n.length ? this.currentTask.type = 1 : (this.currentTask.type = 2, n = e.querySelectorAll(".el-checkbox__label")), n.forEach((e, t) => {
                        this.currentTask.option.push(e.innerText)
                    }), yield this.searchDate(this.currentTask)), l = 0,
                    o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        if (l >= n.length) {
                            if (clearInterval(o), yield sleep(2e3), this.currentIndex >= this.$allTask.length - 1) return;
                            this.currentIndex += 1, this.play()
                        }
                        -1 != i.indexOf("" + l) && n[l].click(), l += 1
                    }), 500)
            })
        }        searchDate(n) {
            return __awaiter(this, void 0, void 0, function* () {
                var e = yield fetchData({url: bserUrl + ("/searchtopic?topicname=" + n.topicName), method: "GET"});
                let t = ["0"];
                return e.result.topickey ? t = e.result.topickey.split(",") : (2 == n.type && (t = ["0", "1", "2"]), e = `
                <div class="cxtsection cxtsection4">
                      <div class="tag">\u672a\u641c\u7d22\u5230</div>
                      <div class="ctxtopic-name">${n.topicName}</div>
                    </div>
                `, ElementObj.$myTool.innerHTML += e), t
            })
        }        saveTopic() {
            new Promise(t => __awaiter(this, void 0, void 0, function* () {
                var e = yield fetchData({
                    method: "GET",
                    url: bserUrl + ("/savetopic?topic=" + JSON.stringify(this.currentTask))
                });
                t(e)
            }))
        }        submit() {
            document.querySelector(".btn-submit").click()
        }
    }    class lzrejxjy extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = document.querySelectorAll(".my-center2RM .pull-left a.trans")[1];
                        e ? (clearInterval(t), GM_setValue("homeUrl", location.href), null != e && e.click(), showTip("🔉\u6b63\u5728\u521d\u59cb\u5316"), yield sleep(2e3), ElementObj.$parentNodes = document.querySelectorAll(".class2Li"), this.findParentIndex()) : document.querySelectorAll(".learn-menu-cell").length && (clearInterval(t), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            var n;
            return __awaiter(this, void 0, void 0, function* () {
                "zjdx-kfkc.webtrn.cn" != location.host && ((e = document.querySelectorAll(".learn-menu-cell")[1]).classList.contains("learn-menu-cur") || e.querySelector("a").click(), yield sleep(3e3));
                for (var e = document.querySelector(".contentIframe"), t = (ElementObj._document = e.contentWindow.document, ElementObj.$allTask = ElementObj._document.querySelectorAll(".s_point"), showTip("\u6b63\u5728\u521d\u59cb\u5316"), ElementObj.$handleSpeedUp.style.display = "none", 0); t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector(".item_done_icon").classList.contains("done_icon_show")) {
                    this.currentIndex = t;
                    break
                }
                -1 == this.currentIndex ? (e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0}), setTimeout(() => {
                    window.close()
                }, 1500)) : (null != (n = ElementObj.$allTask[this.currentIndex]) && n.click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), this.handleClickSpeedUp())
            })
        }        findParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$handleSpeedUp.style.display = "none";
                let i;
                ElementObj.$parentNodes.forEach((e, t) => {
                    var n = e.querySelector(".color-theme").innerText;
                    parseInt(n) <= 98 && -1 == this.currentIndex && (this.currentIndex = t, i = e.querySelector("a.btn-theme"))
                }), -1 == this.currentIndex ? alert("\u5168\u90e8\u8bfe\u7a0b\u5df2\u5b66\u5b8c") : (i.click(), setTimeout(() => {
                    window.close()
                }, 1500))
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = 0, i = setInterval(() => {
                    7 < n && (clearInterval(i), t(2));
                    var e = null == (e = ElementObj._document.querySelector("#mainFrame")) ? void 0 : e.contentWindow.document;
                    ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && (clearInterval(i), t(1)), n += 1
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                2 == e && this.playNext(), 1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }))
            })
        }        updateSpeedElement(e) {
            localStorage.setItem("_localSpeed", e.toString()), ElementObj.$video.playbackRate = e
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                let e = document.querySelector(".layui-layer-btn0");
                e && setTimeout(() => {
                    e.click(), ElementObj.$video.play()
                }, 3e3)
            }, 1e4)
        }        playNext() {
            var e;
            this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0}), setTimeout(() => {
                window.close()
            }, 1500)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), showTip("🔉\u6b63\u5728\u5207\u6362\u8bfe\u7a0b"), setTimeout(() => {
                this.handleClickSpeedUp()
            }, 5e3))
        }
    }    lzrejxjy.ctxid = 29;    class xuzhouyikedaxue extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this.parentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelector("#courseware_main_menu").querySelector("a");
                        e && (clearInterval(t), e.click(), this.findParentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        findParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("🔉\u6b63\u5728\u521d\u59cb\u5316", 2500), yield sleep(4500), ElementObj.$handleSpeedUp.style.display = "none";
                var e = document.querySelector(".contentIframe").contentWindow.document;
                ElementObj.$parentNodes = e.querySelectorAll(".vcon li"), ElementObj.$parentNodes.forEach((e, t) => {
                    e = e.querySelector("span");
                    (e.classList.contains("undo") || e.classList.contains("doing")) && -1 == this.parentIndex && (this.parentIndex = t)
                }), -1 == this.parentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u53d1\u5b8c") : (ElementObj.$parentNodes[this.parentIndex].querySelector("a").click(), this.getCurrentIndex())
            })
        }        getCurrentIndex() {
            var t;
            return __awaiter(this, void 0, void 0, function* () {
                showTip("\u6b63\u5728\u521d\u59cb\u5316", 2500), yield sleep(4500);
                var e = document.querySelector(".contentIframe");
                ElementObj._document = e.contentWindow.document, ElementObj.$allTask = ElementObj._document.querySelectorAll(".menub"), this.currentIndex = 0, null != (t = ElementObj.$allTask[this.currentIndex]) && t.click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), this.handleClickSpeedUp()
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = setInterval(() => {
                    var e = document.querySelector(".contentIframe"),
                        e = (ElementObj._document = e.contentWindow.document, ElementObj._document.querySelector("#mainFrame").contentDocument);
                    ElementObj.$video = e.querySelector("video"), ElementObj.$video ? (clearInterval(n), t(1)) : (e.querySelector("#content_frame"), clearInterval(n), t(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer2), unsafeWindow.alert = () => {
                };
                var e = yield this.getVideoDom();
                this.listenRebort(), 1 == e && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                        ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 3e3)
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    yield sleep(3e3), this.playNext()
                }))), 2 == e && (this.timer2 = setTimeout(() => {
                    this.playNext()
                }, 7e3))
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".layui-layer-btn a");
                e && (e.click(), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3))
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("✅✅✅\u64ad\u653e\u5b8c\u6210,\u6b63\u5728\u5207\u6362\u8bfe\u7a0b", 3500), this.currentIndex >= ElementObj.$allTask.length - 1 ? (this.parentIndex += 1, ElementObj.$parentNodes[this.parentIndex].querySelector("a").click(), setTimeout(() => {
                    this.getCurrentIndex()
                }, 4500)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    xuzhouyikedaxue.ctxid = 26;    class xibeisfzyjy extends Main {
        constructor() {
            super(), this.studyType = 2, this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.swiperIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelectorAll(".el-tree-node"),
                            t = document.querySelectorAll(".m-chapterList .section"),
                            n = ((e.length || t.length) && (this.studyType = e.length ? 2 : 1, ElementObj.$allTask = e.length ? e : t, clearInterval(i), this.getCurrentIndex()), ElementObj.$parentNodes = document.querySelectorAll(".project-courseBottom"), ElementObj.$parentNodes.length && (clearInterval(i), this.getParentIndex()), location.host);
                        "preview.dccloud.com.cn" == n && (clearInterval(i), yield sleep(1500), window.close())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) if ("\u5df2\u5b66\u4e60" != ElementObj.$parentNodes[e].querySelector("span")) {
                this.parentIndex = e;
                break
            }
            -1 == this.parentIndex && alert("\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c"), ElementObj.$parentNodes[e].querySelector(".project-courseButton").click()
        }        getSwiperIndex() {
            var n;
            return __awaiter(this, void 0, void 0, function* () {
                if (ElementObj.$video = document.querySelector("video"), yield sleep(200), ElementObj.$video) if (ElementObj.$swiperItem = document.querySelectorAll(".public-articleSlideList"), ElementObj.$swiperItem.length) {
                    for (var e, t = 0; t <= ElementObj.$swiperItem.length - 1; t++) if ("\u5df2\u5b66\u4e60" != ElementObj.$swiperItem[t].querySelector(".video-status").innerText) {
                        this.swiperIndex = t;
                        break
                    }
                    -1 == this.swiperIndex ? this.playNext() : 0 == this.swiperIndex ? this.handleClickSpeedUp() : (ElementObj.$swiperItem[this.swiperIndex].querySelector(".el-icon-video-play").click(), showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 3500), e = null == (n = document.querySelector(".el-message-box__btns")) ? void 0 : n.lastChild, yield sleep(2e3), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 5e3))
                } else this.handleClickSpeedUp(); else ElementObj.$docs = document.querySelectorAll(".abcd"), ElementObj.$docs.length && this.playDoc()
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$handleSpeedUp.style.display = "none", showTip("\u6b63\u5728\u521d\u59cb\u5316", 2500), yield sleep(3500);
                let n = 1 == this.studyType ? "section-cur" : "study";
                ElementObj.$allTask.forEach((e, t) => {
                    1 == this.studyType && e.classList.contains(n) && (this.currentIndex = t), 2 == this.studyType && "\u5df2\u5b66\u4e60" != e.querySelector("i").title && -1 == this.currentIndex && (this.currentIndex = t)
                }), -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u7ae0\u8282\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (2 == this.studyType && -1 != this.currentIndex && this.playNext(this.currentIndex - 1), showTip("⚠️⚠️⚠️\u521d\u59cb\u5316,\u8bf7\u7a0d\u540e", 3e3), 1 == this.studyType && this.handleClickSpeedUp(), 2 == this.studyType && this.getSwiperIndex())
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                if (clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), 2 == this.studyType) {
                    let e = yield this.getDocIndex();
                    setTimeout(() => {
                        this.eachPlayDoc(e)
                    }, 3e3), this.changeHtml($el("#video")), this.listenPageHide(), this.listenPlayTime(), this.reloadPage()
                }
                this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                        ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 3e3)
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    showTip("🔉\u6b63\u5728\u5207\u6362\u8bfe\u7a0b", 2500), 2 == this.studyType && (this.swiperIndex >= ElementObj.$swiperItem.length - 1 ? location.reload() : (this.swiperIndex += 1, ElementObj.$swiperItem[this.swiperIndex].querySelector(".el-icon-video-play").click(), showTip("⚠️⚠️⚠️\u6b63\u5728\u5207\u6362\u89c6\u9891", 5e3), e = null == (e = document.querySelector(".el-message-box__btns")) ? void 0 : e.lastChild, yield sleep(2e3), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 5e3))), 1 == this.studyType && (this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u7ae0\u8282\u8bfe\u7a0b\u5df2\u5b66\u5b8c") : (this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].querySelector("a")) && e.click()))
                }))
            })
        }        getDocIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$docs = document.querySelectorAll(".abcd .file-box"), yield sleep(200);
                let e = -1;
                for (var t = 0; t <= ElementObj.$docs.length - 1; t++) if ("( \u5df2\u5b8c\u6210 )" != ElementObj.$docs[t].querySelector(".fs12").innerText) {
                    e = t;
                    break
                }
                return e
            })
        }        playDoc(e) {
            return __awaiter(this, void 0, void 0, function* () {
                var e = yield this.getDocIndex();
                -1 == e ? this.playNext() : this.eachPlayDoc(e, () => {
                    setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                        this.playNext()
                    }), 2e3)
                })
            })
        }        eachPlayDoc(t = 0, n) {
            if (-1 != t) {
                let e = setInterval(() => {
                    t >= ElementObj.$docs.length - 1 && (clearInterval(e), "function" == typeof n) && n(), ElementObj.$docs[t].querySelector("button").click(), t += 1
                }, 2e3)
            }
        }        playNext(t) {
            var n;
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                null != t && (this.currentIndex = t), this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u7ae0\u8282\u8bfe\u7a0b\u5df2\u5b66\u5b8c") : (this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].querySelectorAll("span")[1]) && e.click(), yield sleep(2e3), (e = null == (n = document.querySelector(".el-message-box__btns")) ? void 0 : n.lastChild) && e.click(), showTip("⚠️⚠️⚠️\u6b63\u5728\u5207\u6362\u4e0b\u4e00\u8282", 4e3), setTimeout(() => {
                    this.getSwiperIndex()
                }, 4500))
            })
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let t = 0;
            this.timer = setInterval(() => {
                t += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${t}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f`)
            }, 5e3)
        }        reloadPage() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = 360, t = setInterval(() => {
                    e <= 0 && (clearInterval(t), location.reload()), --e
                }, 1e3)
            })
        }
    }    xibeisfzyjy.ctxid = 26;    class henangongshe extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e = document.querySelectorAll("#bxkBtudyDiv a");
                    e.length && (clearInterval(t), this.getParentIndex(e)), ElementObj.$allTask = document.querySelectorAll(".course-info .video-title"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
                }), 1e3)
            })
        }        getParentIndex(i) {
            return __awaiter(this, void 0, void 0, function* () {
                i[0].click(), showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 3e3), yield sleep(3e3), ElementObj.$parentNodes = document.querySelectorAll("tbody tr");
                for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
                    var t = ElementObj.$parentNodes[e].querySelector("span").innerText;
                    if (parseInt(t) <= 98) {
                        this.parentIndex = e;
                        break
                    }
                }
                if (-1 == this.parentIndex) {
                    i[1].click(), yield sleep(3e3), ElementObj.$parentNodes = document.querySelectorAll("tbody tr");
                    for (e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
                        var n = ElementObj.$parentNodes[e].querySelector("span").innerText;
                        if (parseInt(n) <= 98) {
                            this.parentIndex = e;
                            break
                        }
                    }
                }
                -1 == this.parentIndex ? alert("\u5168\u90e8\u8bfe\u7a0b\u5df2\u5b66\u5b8c") : (GM_setValue("homeUrl", location.href), ElementObj.$parentNodes[this.parentIndex].querySelector("button").click(), setTimeout(() => {
                    window.close()
                }, 5500))
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 3500), ElementObj.$allTask.forEach((e, t) => {
                    "100%" != e.querySelector(".four").innerText && -1 == this.currentIndex && (this.currentIndex = t)
                }), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3);
                var e = ElementObj.$allTask[this.currentIndex];
                yield sleep(200), e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
                var e = document.querySelector(".xgplayer-start");
                yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.punchCard(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
                        window.close()
                    }, 1500), e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0})) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500))
                }))
            })
        }        punchCard() {
            setInterval(() => {
                var e = document.querySelector("#comfirmClock");
                e && e.click()
            }, 5e3)
        }        updateSpeedElement(e) {
            localStorage.setItem("_localSpeed", e.toString()), ElementObj.$video.playbackRate = e
        }
    }    class zgrtvu extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e = document.querySelector(".head_right button");
                    e && (clearInterval(t), e.click()), ElementObj.$allTask = document.querySelectorAll(".page-name"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 3500), ElementObj.$allTask.forEach((e, t) => {
                    e.classList.contains("complete") || -1 != this.currentIndex || (this.currentIndex = t)
                }), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3);
                var e = ElementObj.$allTask[this.currentIndex];
                yield sleep(200), e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
                var e = document.querySelector(".mejs__overlay-button");
                yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.punchCard(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
                        window.close()
                    }, 1500), e = document.querySelector(".back-btn"), yield sleep(200), e.click()) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500))
                }))
            })
        }        punchCard() {
            setInterval(() => {
                var e = document.querySelector(".btn-submit");
                e && e.click()
            }, 5e3)
        }
    }    class henandikuang extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    ElementObj.$parentNodes = document.querySelectorAll(".state-l"), ElementObj.$parentNodes.length ? (clearInterval(e), ElementObj.$parentNodes[0].querySelector(".btn span").click()) : (ElementObj.$parentNodes = document.querySelectorAll(".course-card-item"), ElementObj.$parentNodes.length && (clearInterval(e), this.getParentIndex()), ElementObj.$allTask = document.querySelectorAll(".pt5 li"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none")
                }), 1e3)
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = -1;
                for (var t = 0; t < ElementObj.$parentNodes.length - 1; t++) {
                    var n = ElementObj.$parentNodes[t].querySelector(".progress-bar").style.width;
                    if (parseInt(n) < 98) {
                        e = t;
                        break
                    }
                }
                -1 == e ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c,\u8bf7\u66f4\u6362\u5176\u5b83\u8bfe\u7a0b") : ElementObj.$parentNodes[t].querySelector("a").click()
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 1500), ElementObj.$allTask.forEach((e, t) => {
                    e = e.querySelector(".badge").innerText;
                    100 != parseInt(e) && -1 == this.currentIndex && (this.currentIndex = t)
                }), showTip("⚠️⚠\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3);
                var e = ElementObj.$allTask[this.currentIndex];
                yield sleep(200), e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelectorAll("video")[1], ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = document.querySelector("a.back"), yield sleep(200), e.click()) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500))
                }))
            })
        }
    }    class tazhuanjipx extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                this.handleClickSpeedUp()
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                this.handleClickSpeedUp()
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 1500), ElementObj.$allTask.forEach((e, t) => {
                    e = e.querySelector(".badge").innerText;
                    100 != parseInt(e) && -1 == this.currentIndex && (this.currentIndex = t)
                }), showTip("⚠️⚠\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3);
                var e = ElementObj.$allTask[this.currentIndex];
                yield sleep(200), e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelectorAll("video")[1] || document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenTopic(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5168\u90e8\u8bfe\u7a0b\u5df2\u64ad\u653e\u5b8c") : setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500)
                }))
            })
        }        listenTopic() {
            this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelectorAll(".ccQuestionList li");
                e.length && (clearInterval(this.timer), (MyTool.getValue("isRight") ? e[1] : e[0]).click(), yield sleep(3e3), (e = document.querySelector("#rightBtn")) ? (MyTool.setValue("isRight", !0), e.click()) : (MyTool.setValue("isRight", !1), null != (e = $el("#wrongBtn")) && e.click()))
            }), 1e4)
        }
    }    class zhejiangtjj extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e, t = document.querySelectorAll(".course_2"),
                            n = document.querySelectorAll("tbody tr.el-table__row");
                        (t.length || n.length) && (clearInterval(i), ElementObj.$parentNodes = t.length ? t : n, e = t.length ? 1 : 2, this.getParentIndex(e)), ElementObj.$allTask = document.querySelectorAll(".page-name"), ElementObj.$allTask.length && (clearInterval(i), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex(t) {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 1500);
                let n = 1 == t ? 0 : -1;
                var e;
                ElementObj.$parentNodes.forEach((e, t) => {
                    t > n && (e = e.querySelector(".el-progress__text").innerText, 100 != parseInt(e)) && -1 == this.currentIndex && (this.currentIndex = t)
                }), -1 == this.currentIndex && 2 == t ? (GM_openInTab("https://edu.tjj.zj.gov.cn/#/personal?componentId=ClassList&type=classlist", {active: !0}), setTimeout(() => {
                    window.close()
                }, 3500)) : (showTip("⚠️⚠\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), e = ElementObj.$parentNodes[this.currentIndex].querySelector("button"), yield sleep(200), e.click(), setTimeout(() => {
                    location.reload()
                }, 3e3))
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 3500), ElementObj.$allTask.forEach((e, t) => {
                    e.classList.contains("complete") || -1 != this.currentIndex || (this.currentIndex = t)
                }), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3);
                var e = ElementObj.$allTask[this.currentIndex];
                yield sleep(200), e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = setInterval(() => {
                    var e = null == (e = document.querySelector("#playerFrame")) ? void 0 : e.contentDocument;
                    ElementObj.$video = e.querySelector("video"), ElementObj.$video && (clearInterval(n), t(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
                var e = document.querySelector(".mejs__overlay-button");
                yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.punchCard(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
                        window.close()
                    }, 3500), e = document.querySelector(".back-btn"), yield sleep(200), e.click()) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500))
                }))
            })
        }        punchCard() {
            setInterval(() => {
                var e = document.querySelector(".btn-submit");
                e && e.click()
            }, 5e3)
        }
    }    class jiangxizhipeizaixian extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".units_wrap_box___1ncip"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 1500), ElementObj.$allTask.forEach((e, t) => {
                    var n = e.querySelector(".progress_get_on___3TDga"), e = e.querySelector(".not_start___3dAwS");
                    (n || e) && -1 == this.currentIndex && (this.currentIndex = t)
                }), -1 == this.currentIndex && (this.currentIndex = 0), showTip("⚠️⚠\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), ElementObj.$allTask[this.currentIndex].click(), showTip("⚠️⚠\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3500), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u89c6\u9891\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500))
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }
    }    class anhuijixujyzx extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    try {
                        ElementObj.$btn_dropdown = document.querySelector(".btn_dropdown"), null != (e = ElementObj.$btn_dropdown) && e.click();
                        var t = document.querySelector(".btn.btn-green");
                        t && (clearInterval(n), yield sleep(300), t.click()), ElementObj.$allTask = document.querySelectorAll(".list-order ul li a:not(.toggle_lesson)"), ElementObj.$allTask.length && (clearInterval(n), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            var e;
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 1500), yield sleep(1500), "none" != $el("#sectionlist").style.display && null != (e = ElementObj.$btn_dropdown) && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getIndex() {
            let e = 0;
            for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].parentElement.classList.contains("current")) {
                e = t;
                break
            }
            return e
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelectorAll("video"), 1 < ElementObj.$video.length ? ElementObj.$video = document.querySelectorAll("video")[1] : ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(t), e(1)) : (clearInterval(t), e(2))
                }, 3e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3500), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", this.listenPlayTime(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("🔉\u68c0\u6d4b\u5230\u6ca1\u6709\u89c6\u9891,3\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), e = this.getIndex(), (document.querySelector(".preNext.next") || (e = ElementObj.$allTask[e + 1], yield sleep(200), e)).click())
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
            })
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let t = 0;
            this.timer = setInterval(() => {
                t += 1;
                let e = document.querySelector(".btn.btn-green");
                e && (clearInterval(this.timer), showTip("🔉\u68c0\u6d4b\u5230\u89c6\u9891\u5df2\u5b66\u5b8c,3\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a"), setTimeout(() => {
                    e.click()
                }, 3e3))
            }, 3e3)
        }
    }    class lanzhoudxgs extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this.listenVidoeStatusTimer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    try {
                        ElementObj.$btn_dropdown = document.querySelector("#catalogA"), null != (e = ElementObj.$btn_dropdown) && e.click(), ElementObj.$allTask = document.querySelectorAll("li.activity-node"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            var e;
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 1500), yield sleep(1500), "none" != $el("#toolsContentDiv").style.display && null != (e = ElementObj.$btn_dropdown) && e.click();
                let n = [];
                ElementObj.$allTask.forEach((e, t) => {
                    e.querySelector(".cedu-file-video") && n.push(e)
                }), ElementObj.$allTask = n, this.currentIndex = 0, setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = setInterval(() => {
                    var e = document.querySelector(".vjs-big-play-button");
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && e && (clearInterval(n), t(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
                var e = document.querySelector(".vjs-big-play-button");
                yield sleep(200), null != e && e.click(), yield sleep(2500), ElementObj.$video.pause(), setTimeout(() => {
                    ElementObj.$video.currentTime -= 30, ElementObj.$video.play()
                }, 2500), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3500), this.changeHtml($el("#video_div")), this.listenPlayTime(), this.listenPageHide(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })
            })
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let t = 0;
            this.timer = setInterval(() => {
                t += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${t}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f`), ElementObj.$video.currentTime >= ElementObj.$video.duration - 4 && this.playNext()
            }, 5e3)
        }        listenVidoeStatus(t, n) {
            if (t) {
                let e = 0;
                this.timer2 = setInterval(() => {
                    t.readyState < 4 && (this.addInfo(`\u68c0\u6d4b\u5230${e}\u6b21,\u89c6\u9891\u6b63\u5728\u52a0\u8f7d`, 0), 20 <= (e += 1)) && location.reload(), t.paused && (e += 1, "function" == typeof n) && (20 <= e ? location.reload() : n())
                }, 3e3)
            }
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u68c0\u6d4b\u5230\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a\u89c6\u9891", 4500), yield sleep(5e3), this.currentIndex += 1;
                var e = ElementObj.$allTask[this.currentIndex],
                    t = (yield sleep(300), e.querySelector(".cedu-file-video"));
                t ? e.click() : alert("\u5f53\u524d\u8bfe\u7a0b\u89c6\u9891\u5df2\u5168\u90e8\u64ad\u653e\u5b8c")
            })
        }
    }    class jidianshejijiaoyu extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.swiperIndex = -1, this.timer = null, this.listenVidoeStatusTimer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        document.querySelector(".layui-layer-btn0") ? (clearInterval(e), this.playNext()) : (ElementObj.$allTask = document.querySelectorAll(".course_chapter_item"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none")
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 1500), yield sleep(1500), ElementObj.$allTask.forEach((e, t) => {
                    e.querySelector("i.fa-circle") || -1 != this.currentIndex || (this.currentIndex = t)
                }), -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].querySelector(".section_title").click(), showTip("⚠️⚠️⚠️\u6b63\u5728\u521d\u59cb\u5316", 3500), setTimeout(() => {
                    this.getSwiperIndex()
                }, 4500))
            })
        }        getSwiperIndex() {
            ElementObj.$swiperItem = document.querySelectorAll("#menu_tarr_content .courseware_menu_item"), this.swiperIndex = -1;
            for (var e = 0; e <= ElementObj.$swiperItem.length - 1; e++) {
                var t = ElementObj.$swiperItem[e];
                if (t.querySelector(".icon-note-video-learning")) {
                    this.swiperIndex = e, t.click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 3500);
                    break
                }
            }
            -1 == this.swiperIndex && location.reload()
        }        getVideoDom() {
            return new Promise(t => {
                let n = setInterval(() => {
                    var e = document.querySelector(".vjs-big-play-button");
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && e && (clearInterval(n), t(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, yield sleep(2500), ElementObj.$video.play(), this.changeHtml($el(".video-play")), this.listenPlayTime(), this.listenPageHide(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })
            })
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let t = 0;
            this.timer = setInterval(() => {
                t += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2),
                    e = (this.addInfo(`\u540e\u53f0\u5b66\u4e60${t}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f`), document.querySelector(".complete"));
                e && (this.addInfo("✅✅✅,\u5f53\u524d\u89c6\u9891\u64ad\u653e\u5b8c\u6210,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a\u89c6\u9891"), this.swiperIndex >= ElementObj.$swiperItem.length - 1 ? location.reload() : (this.swiperIndex += 1, $el("#right_tarr").click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 3500))), ElementObj.$video.currentTime >= ElementObj.$video.duration - 4 && this.playNext()
            }, 5e3)
        }        listenVidoeStatus(t, n) {
            if (t) {
                let e = 0;
                this.timer2 = setInterval(() => {
                    t.readyState < 4 && (this.addInfo(`\u68c0\u6d4b\u5230${e}\u6b21,\u89c6\u9891\u6b63\u5728\u52a0\u8f7d`, 0), 20 <= (e += 1)) && location.reload(), t.paused && (e += 1, "function" == typeof n) && (20 <= e ? location.reload() : n())
                }, 3e3)
            }
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("⚠️⚠️⚠️\u68c0\u6d4b\u5230\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a\u89c6\u9891", 4500), yield sleep(5e3);
                var e = document.querySelector(".layui-layer-btn0");
                e && (e.click(), yield sleep(2e3), location.reload())
            })
        }
    }    class ycjyluteducn extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this.parentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                window.alert = function () {
                };
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    ["/learnspace/learn/homework/blue/student/homework_complete.action", "/learnspace/course/test/coursewareTest_intoTestPage.action", "/learnspace/learn/learn/blue/content_video.action"].includes(location.pathname) ? (clearInterval(t), window.close()) : (e = document.querySelector("#courseware_main_menu").querySelector("a")) && (clearInterval(t), e.click(), yield this.findParentIndex())
                }), 500)
            })
        }        findParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("🔉\u6b63\u5728\u521d\u59cb\u5316", 2500), yield sleep(4500), unsafeWindow.alert = () => {
                }, ElementObj.$handleSpeedUp.style.display = "none";
                var e = document.querySelector(".contentIframe"), t = e.contentWindow.document;
                e.contentWindow.alert = () => {
                }, ElementObj.$parentNodes = t.querySelectorAll(".vcon li");
                for (let e = 0; e < ElementObj.$parentNodes.length; e++) {
                    var n = ElementObj.$parentNodes[e], i = n.querySelector("span"),
                        l = n.innerText.indexOf("\u7ec3\u4e60"), n = n.innerText.indexOf("\u8bfe\u7a0b\u4f5c\u4e1a");
                    if ((i.classList.contains("undo") || i.classList.contains("doing")) && -1 == this.parentIndex && -1 == l && -1 == n) {
                        this.parentIndex = e, ElementObj.$parentNodes[e].querySelector("a").click();
                        break
                    }
                }
                -1 == this.parentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u53d1\u5b8c") : yield this.getCurrentIndex()
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("\u6b63\u5728\u521d\u59cb\u5316", 2500);
                let t = setInterval(() => {
                    var e = document.querySelector(".contentIframe");
                    ElementObj._document = e.contentWindow.document, ElementObj.$allTask = ElementObj._document.querySelectorAll(".menub"), ElementObj.$allTask.length && (clearInterval(t), this.currentIndex = 0, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), this.handleClickSpeedUp())
                }, 1e3)
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = setInterval(() => {
                    var e = ElementObj._document.querySelector("#mainFrame").contentDocument;
                    ElementObj.$video = e.querySelector("video"), ElementObj.$video ? (clearInterval(n), t(1)) : (e.querySelector("#content_frame"), clearInterval(n), t(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer2), unsafeWindow.alert = () => {
                };
                var e = yield this.getVideoDom();
                this.listenRebort(), 1 == e && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                        ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 3e3)
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    yield sleep(3e3), this.playNext()
                }))), 2 == e && (this.timer2 = setTimeout(() => {
                    this.playNext()
                }, 7e3))
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                unsafeWindow.alert = function () {
                };
                var e = document.querySelector(".layui-layer-btn a");
                e && (e.click(), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3))
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                unsafeWindow.alert = () => {
                }, showTip("✅✅✅\u64ad\u653e\u5b8c\u6210,\u6b63\u5728\u5207\u6362\u8bfe\u7a0b", 3500), this.currentIndex >= ElementObj.$allTask.length - 1 ? (this.parentIndex += 1, -1 != ElementObj.$parentNodes[this.parentIndex].innerText.indexOf("\u7ec3\u4e60") && (this.parentIndex += 1), ElementObj.$parentNodes[this.parentIndex].querySelector("a").click(), setTimeout(() => {
                    this.getCurrentIndex()
                }, 4500)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), yield sleep(5e3), this.handleClickSpeedUp())
            })
        }
    }    ycjyluteducn.ctxid = 26;    class gdrcjxjyw extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e;
                        ElementObj.$parentNodes = document.querySelectorAll(".m-list .item"), ElementObj.$parentNodes.length ? (clearInterval(t), this.getParentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && "www.rcjxjy.com" == location.host ? (clearInterval(t), this.handleClickSpeedUp()) : (e = document.querySelectorAll(".player-table")[2], ElementObj.$allTask = e.querySelectorAll("td"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("✅✅✅\u6b63\u5728\u521d\u59cb\u5316,\u8bf7\u52ff\u70b9\u51fb", 3e3);
                let t = 0, n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    ElementObj.$parentNodes[t].querySelector(".btn-continue-study").click(), yield sleep(500), ElementObj.$allTask = document.querySelectorAll(".video-item .f-cb");
                    for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("\u64ad\u653e\u5b8c\u6210" != ElementObj.$allTask[e].querySelector(".videoName").innerText) {
                        clearInterval(n), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210"), ElementObj.$allTask[e].querySelector("a.u-btn").click();
                        break
                    }
                    t += 1
                }), 3e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                let i = -1;
                ElementObj.$allTask.forEach((e, t) => {
                    var n = e.querySelector(".playLine").innerText;
                    100 != parseInt(n) && -1 == this.currentIndex && (this.currentIndex = t), e.classList.contains("couBg") && (i = t)
                }), -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u89c6\u9891\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (this.currentIndex != i && ElementObj.$allTask[this.currentIndex].querySelector("a").click(), showTip("⚠️⚠️⚠️\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3500), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500))
            })
        }        getVideoDom() {
            return ElementObj.$handleSpeedUp.style.display = "none", new Promise(t => {
                let n = setInterval(() => {
                    var e;
                    ElementObj.$video = document.querySelector("video"), (ElementObj.$video || (e = document.querySelector("#c_frame").contentDocument, ElementObj.$video = e.querySelector("video"), ElementObj.$video)) && (clearInterval(n), t(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3500), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("⚠️⚠️⚠️\u68c0\u6d4b\u5230\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a\u89c6\u9891", 4500), yield sleep(3e3), "www.rcjxjy.com" == location.host ? document.querySelector("a.u-btn.normal").click() : location.reload()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 1500)
                })
            })
        }
    }    class shixuetong extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".Nvideo-item li"), ElementObj.$allTask.length && (clearInterval(e), $el(".Nvideo-playbox").style.position = "relative", this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex = 0, showTip("⚠️⚠️⚠️\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3500), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(n), e(1)), 10 < t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), clearInterval(this.timer2);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3500), this.changeHtml($el(".video")), this.listenPageHide(), this.listenPlayTime(), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("⚠️⚠️⚠️\u68c0\u6d4b\u5230\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a\u89c6\u9891", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 1500)
                })), 2 == e && (showTip("⚠️⚠️⚠️\u68c0\u6d4b\u5230\u5f53\u524d\u4e0d\u662f\u89c6\u9891,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a\u89c6\u9891", 4500), this.playNext())
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e, t;
                yield sleep(2e3), this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = document.querySelector("#courseStudyBestMinutesNumber").innerText, t = document.querySelector("#courseStudyMinutesNumber").innerText, parseFloat(e) > parseFloat(t) && location.reload()) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    var e = document.querySelector(".layui-layer-btn- a");
                    null != e && e.click(), this.handleClickSpeedUp()
                }, 4500))
            })
        }        listenPlayTime() {
            showTip("⚠️⚠️⚠️\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                n += 1;
                var e, t = (ElementObj.$video.currentTime / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${t}\u5206\u949f`), n % 30 == 0 && (t = $el("#courseStudyBestMinutesNumber").innerText, null != (e = document.querySelector(".studyCourseTimeRefresh")) && e.click(), yield sleep(2e3), e = $el("#courseStudyMinutesNumber").innerText, this.addInfo(`✅✅✅\u672c\u8bfe\u7a0b\u6700\u957f\u53ef\u7d2f\u8ba1\u65f6\u95f4:${t}\u5206\u949f,\u60a8\u5df2\u6210\u529f\u5b66\u4e60${e}\u5206\u949f`, 0))
            }), 5e3)
        }        listenRebort() {
            this.timer2 = setInterval(() => {
                var e, t = document.querySelector("#codespan");
                t && (clearInterval(this.timer2), e = document.querySelector("#code"), t = t.innerText, e.value = t, document.querySelector(".layui-layer-btn0").click(), this.listenRebort())
            }, 8e3)
        }
    }    class shandongenhualvyou extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelector("#dashboard-toolbar-nav li");
                null != e && e.click();
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll("li.task-item"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (let e = 0; e < ElementObj.$allTask.length; e++) if (!ElementObj.$allTask[e].querySelector(".es-icon-iccheckcircleblack24px")) {
                    this.currentIndex = e;
                    break
                }
                showTip("⚠️⚠️⚠️\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3500), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = setInterval(() => {
                    var e = document.querySelector("#task-content-iframe");
                    e.contentDocument;
                    ElementObj.$video = e.querySelector("video"), ElementObj.$video && (clearInterval(n), t(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3500), ElementObj.$ctxstatsbox || this.changeHtml($el(".video")), this.listenPageHide(), this.listenPlayTime(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("⚠️⚠️⚠️\u68c0\u6d4b\u5230\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a\u89c6\u9891", 4500), yield sleep(3e3), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 4500)
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 1500)
                })
            })
        }        listenPlayTime() {
            showTip("⚠️⚠️⚠️\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                n += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2),
                    t = (ElementObj.$video.duration / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a` + t)
            }), 5e3)
        }
    }    class gansugongwuyuan extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e, t, n = $el(".min_le_1 a");
                        n ? (clearInterval(i), e = localStorage.getItem("mytoolkey"), MyTool.setValue("mytoolkey", e), n.click(), yield sleep(2e3), $el(".xuxi_1").click(), yield sleep(2e3), this.getParentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(i), t = MyTool.getValue("mytoolkey"), this.deleteDom(), this.handleClickSpeedUp2(t)), ElementObj.$handleSpeedUp.style.display = "none")
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                $el("a.my").click(), yield sleep(2e3);
                let e = Number($el("#pagenumtext").value);
                for (var t, n = [], i = e; 0 < i; i--) n.push(i);
                let l = !1;
                for (t of n) {
                    if (l) break;
                    yield sleep(1500), ElementObj.$allTask = document.querySelectorAll(".main_r_dd2");
                    for (var o = 0; o <= ElementObj.$allTask.length - 1; o++) {
                        var a = ElementObj.$allTask[o].querySelector(".hqjd_btn"),
                            a = (a && (a.click(), yield sleep(2500)), ElementObj.$allTask[o].querySelector(".jindu div"));
                        if (parseInt(a.style.width) < 100) {
                            l = !0, MyTool.setValue("pageNum", t), MyTool.setValue("homeUrl", location.href);
                            a = ElementObj.$allTask[o].querySelector("#playVideo");
                            null != a && a.click(), setTimeout(() => {
                                window.close()
                            }, 1e4);
                            break
                        }
                        --e;
                        a = $el(".syy");
                        null != a && a.click()
                    }
                }
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = MyTool.getValue("accelerator")
                }, 3500), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e = MyTool.getValue("homeUrl");
                    MyTool.openInTab(e), setTimeout(() => {
                        window.close()
                    }, 1e4)
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                        var e = document.querySelector("#dvMsgBtns input");
                        null != e && e.click(), yield sleep(2e3), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
                    }), 2500)
                })
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                document.querySelector("#dvMsgBtns input") && (this.deleteDom(), setTimeout(() => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }, 1500))
            }, 3e3)
        }        deleteDom() {
            var e = document.querySelector("body"), t = document.getElementById("dvMsgBox"),
                n = document.getElementById("ShowBolightBox"), i = document.createElement("div");
            i.innerHTML = "<div></div>", e.replaceChild(i, t), e.replaceChild(i, n)
        }        handleClickSpeedUp2(t, e) {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                t ? (this.speedStatus = 1, 200 != (e = yield fetchData({
                    method: "GET",
                    url: bserUrl + (`/speedup?toolkey=${t}&canuse=` + toolOption.SchoolType)
                })).code ? showTip("🔉🔉🔉" + e.message, 5e3, !0) : (this.speedStatus = 1, toolOption.CtxMain.play(), this.randomListen())) : (alert("\u8bf7\u5148\u8d2d\u4e70key"), window.open(basehost))
            })
        }        handleChangeCtxSpeed(e) {
            var t = speedArr, n = Number(e);
            e && t.includes(n) && (toolOption.accelerator = n, MyTool.setValue("accelerator", n.toString()), ElementObj.$video) && (ElementObj.$video.playbackRate = n)
        }
    }    class wlmqcol extends Main {
        constructor() {
            super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$handleSpeedUp.style.display = "none";
                        var e = document.querySelector("#tab-second");
                        e ? (clearInterval(t), e.click(), this.getCurrentIndex()) : document.querySelector("video") && (clearInterval(t), this.pdPlayFn(location.href))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(1e3), ElementObj.$allTask = document.querySelectorAll(".task-list");
                for (var e, t = 0; t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector(".icon-yiwancheng")) {
                    this.currentIndex = t;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u64ad\u653e\u5b8c") : (null != (e = document.querySelectorAll(".task-list")[this.currentIndex].querySelector("span")) && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 3e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3500), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => __awaiter(this, void 0, void 0, function* () {
                        ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
                    }), 2500)
                })
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelectorAll(".el-breadcrumb__inner.is-link")[1];
                null != e && e.click(), setTimeout(() => {
                    location.reload()
                }, 3500)
            })
        }
    }    class shandongzhuanyejisu extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        document.querySelectorAll(".learn-menu-cell").length && (clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            var n;
            return __awaiter(this, void 0, void 0, function* () {
                showTip("\u6b63\u5728\u521d\u59cb\u5316");
                for (var e = document.querySelector(".contentIframe"), t = (ElementObj._document = e.contentWindow.document, "/learnspace/learn/learn/templateeight/index.action" == location.pathname ? ElementObj.$allTask = ElementObj._document.querySelectorAll(".s_sectionwrap .s_point") : ElementObj.$allTask = ElementObj._document.querySelectorAll(".s_pointwrap .s_point"), ElementObj.$handleSpeedUp.style.display = "none", 0); t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector(".item_done_icon").classList.contains("done_icon_show")) {
                    this.currentIndex = t;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c") : (null != (n = ElementObj.$allTask[this.currentIndex]) && n.click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), this.handleClickSpeedUp())
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = 0, i = setInterval(() => {
                    var e = ElementObj._document.querySelector("#mainFrame").contentWindow.document;
                    ElementObj.$video = e.querySelector("video"), ElementObj.$video && (clearInterval(i), t(1)), 10 <= n && (clearInterval(i), t(2)), n++
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                })), 2 == e && (showTip("✅✅✅\u68c0\u6d4b\u5230\u8be5\u7ae0\u8282\u4e0d\u662f\u89c6\u9891,\u5373\u5c06\u5207\u6362\u4e0b\u4e00\u8282", 2e3), yield sleep(2e3), this.playNext())
            })
        }        updateSpeedElement(e) {
            localStorage.setItem("_localSpeed", e.toString()), ElementObj.$video.playbackRate = e
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                let e = document.querySelector(".layui-layer-btn0");
                e && setTimeout(() => {
                    e.click(), ElementObj.$video.play()
                }, 3e3)
            }, 1e4)
        }        playNext() {
            this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c") : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), showTip("🔉\u6b63\u5728\u5207\u6362\u8bfe\u7a0b"), setTimeout(() => {
                this.handleClickSpeedUp()
            }, 5e3))
        }
    }    shandongzhuanyejisu.ctxid = 26;    class zhijiaoyun2 extends Main {
        constructor() {
            super(), this.taskLength = 0, this.topIndex = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.authorization = null, this.classList = [], this.selectData = [], this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    document.querySelector(".r.rFu");
                    "/study/coursePreview/spoccourseIndex/courseware" == location.pathname && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()), "/study/coursePreview/spoccourseIndex" == location.pathname && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", yield this.getCurrentIndex())
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    if (ElementObj.$allTask = document.querySelectorAll(".listItem"), ElementObj.$allTask.length) {
                        clearInterval(i);
                        let t = !1;
                        for (var n of ElementObj.$allTask) {
                            var e = n.querySelector(".el-progress-bar__inner").style.width;
                            if (parseInt(e) < 99) {
                                t = !0, n.click(), yield sleep(3e3), n.querySelector(".items.iChild").click(), yield sleep(3e3), setTimeout(() => {
                                    location.reload()
                                }, 2e3);
                                let e = n.querySelector(".fItem");
                                (e = e || n.querySelector(".fIteml")).click();
                                break
                            }
                        }
                        t || (location.href = "https://zjy2.icve.com.cn/study/course")
                    }
                }), 2e3)
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 7, n = setInterval(() => {
                    t < 0 && (clearInterval(n), e(2)), ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : document.querySelectorAll(".el-carousel__item").length ? (clearInterval(n), e(2)) : --t
                }, 1e3)
            })
        }        play() {
            var i;
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer);
                var e = yield this.getVideoDom();
                if (null != (i = document.querySelector(".el-message-box__btns button")) && i.click(), yield this.changeHtml(document.querySelector(".video")), 1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 2500), this.listenVidoeStatus(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    yield this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 3e3)
                })), 2 == e) {
                    this.addInfo("🔊🔊🔊\u5373\u5c06\u5f00\u59cb\u64ad\u653e\u6587\u6863");
                    var t, e = document.querySelectorAll(".el-carousel__item"),
                        n = document.querySelector(".page>.next");
                    for (t of e) n.click(), yield sleep(500);
                    this.addInfo("🎉🎉🎉🎉🎉🎉\u6587\u6863\u64ad\u653e\u5b8c\u6210🎉🎉🎉🎉🎉🎉"), yield this.playNext()
                }
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelector(".next>a");
                "\u6682\u65e0" == (null == e ? void 0 : e.innerText) ? (setTimeout(() => {
                    location.reload()
                }, 2e3), document.querySelector(".location .r").click()) : (yield sleep(300), null != e && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 2500))
            })
        }        listenVidoeStatus() {
            let e = 0;
            this.timer = setInterval(() => {
                ElementObj.$video = document.querySelector("video"), ElementObj.$video && (this.addInfo(`🔉🔉🔉\u5df2\u6210\u529f\u76d1\u6d4b${e}\u6b21,\u7a0b\u5e8f\u540e\u53f0\u4ee5${toolOption.accelerator}\u500d\u901f\u6b63\u5e38\u5b66\u4e60\u4e2d`), e += 1)
            }, 3e3)
        }        render(t) {
            var n = 1 == t ? this.classList : this.selectData;
            let i = "";
            for (let e = 0; e < n.length; e++) {
                var l = n[e];
                i += `
                <div class="item">
                    <div class="content">
                        <div class="name1">${l.courseInfoName}</div>
                        <div class="name2">\u73ed\u7ea7:${l.className}</div>
                        <div class="name2">\u5b66\u671f:${l.termName}</div>
                        <div class="name2">\u5b8c\u6210\u8fdb\u5ea6:${l.studySpeed}%</div>
                    </div>
                    <div class="item-controls">
                        <button style='background: ${1 == t ? "#409eff" : "red"}'>${1 == t ? "\u9009\u62e9" : "\u79fb\u9664"}</button>
                    </div>
                </div>
                `
            }
            var o = 1 == t ? document.querySelector(".leftPannel") : document.querySelector(".rightPannel");
            o.innerHTML = i;
            for (let e = 0; e < o.children.length; e++) o.children[e].querySelector("button").onclick = () => {
                1 == t ? this.moveDataToSelectData(e) : this.moveDataToClassList(e)
            }
        }        moveDataToSelectData(e) {
            this.selectData.push(this.classList[e]), this.classList.splice(e, 1), this.handleTemplekeyData(), this.render(1), this.render(2)
        }        moveDataToClassList(e) {
            this.classList.push(this.selectData[e]), this.selectData.splice(e, 1), this.handleTemplekeyData(), this.render(1), this.render(2)
        }        handleTemplekeyData() {
            MyTool.setValue("selectData", this.selectData)
        }
    }    class chongqingzhuanye extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let a = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e, t, n, i, l, o;
                    try {
                        ElementObj.$parentNodes = document.querySelectorAll(".course__list--content .course__item"), ElementObj.$parentNodes.length ? (clearInterval(a), this.getParentIndex()) : document.querySelector(".btn-next") && "/nms-frontend/index.html" == location.pathname ? (clearInterval(a), MyTool.setValue("homeUrl", location.href), this.getParentIndex2()) : (ElementObj.$allTask = document.querySelectorAll("ul li ul li .posCatalog_select"), ElementObj.$allTask.length && (clearInterval(a), this.getCurrentIndex()), (n = document.querySelector("#iframe_aliplayer")) ? (clearInterval(a), ElementObj.$video = null == (e = null == n ? void 0 : n.contentDocument) ? void 0 : e.querySelector("video"), this.handleClickSpeedUp2()) : (i = document.querySelector("#aliPlayerFrame")) && (ElementObj.$allTask = null == (t = i.contentDocument) ? void 0 : t.querySelectorAll(".section .section-item"), ElementObj.$allTask.length) ? (clearInterval(a), this.getCurrentIndex2()) : (l = document.querySelectorAll(".complete-status .btn-item")[2]) && (clearInterval(a), l.click(), yield sleep(1500), 0 === (o = document.querySelectorAll("#pane-MUST .text-item")).length ? alert("\u5168\u90e8\u516c\u9700\u8bfe\u5df2\u5b66\u5b8c") : (MyTool.setValue("homeUrl", location.href), o[0].click(), setTimeout(() => {
                            window.close()
                        }, 2e4))))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            ElementObj.$parentNodes.forEach(e => {
                var t = e.querySelector("span.num");
                t && parseInt(t.innerText) <= 95 && (e.querySelector(".enter-btn").click(), setTimeout(() => {
                    location.reload()
                }, 3e3))
            })
        }        getParentIndex2() {
            return __awaiter(this, void 0, void 0, function* () {
                document.querySelectorAll(".btn-box .btn-item")[2].click(), yield sleep(3500), document.querySelectorAll("#pane-MUST .text-item")[0].click()
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("✅✅✅\u6b63\u5728\u521d\u59cb\u5316"), ElementObj.$handleSpeedUp.style.display = "none";
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].querySelector(".icon_Completed")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c") : (ElementObj.$allTask[this.currentIndex].querySelector(".posCatalog_name").click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), this.handleClickSpeedUp())
            })
        }        getCurrentIndex2() {
            return __awaiter(this, void 0, void 0, function* () {
                showTip("✅✅✅\u6b63\u5728\u521d\u59cb\u5316"), ElementObj.$handleSpeedUp.style.display = "none";
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].classList.contains("finish")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex && (location.href = MyTool.getValue("homeUrl")), ElementObj.$allTask[e].click(), showTip("✅✅✅\u5b8c\u6210\u521d\u59cb\u5316,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), setTimeout(() => {
                    this.handleClickSpeedUp2(() => {
                    }, 3)
                }, 4500)
            })
        }        getVideoDom(e) {
            return new Promise(i => {
                if (e) {
                    let t = 0, n = setInterval(() => {
                        var e = document.querySelector("#aliPlayerFrame").contentDocument;
                        ElementObj.$video = e.querySelector("video"), t += 1, ElementObj.$video && (clearInterval(n), i(!0)), 10 < t && (clearInterval(n), i(!1))
                    }, 1e3)
                } else {
                    let t = 0, n = setInterval(() => {
                        var e = null == (e = null == (e = document.querySelector("#iframe").contentDocument) ? void 0 : e.querySelector("iframe")) ? void 0 : e.contentDocument;
                        ElementObj.$video = e.querySelector("video"), t += 1, ElementObj.$video && (clearInterval(n), i(!0)), 10 < t && (clearInterval(n), i(!1))
                    }, 1e3)
                }
            })
        }        play() {
            var n;
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
                var e, t = yield this.getVideoDom();
                t && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), e = null == (n = $el("#iframe").contentDocument.querySelector("iframe")) ? void 0 : n.contentDocument.querySelector("#reader"), this.changeHtml(e), this.listenPageHide(), this.listenPlayTime(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                })), t || (showTip("⚠️⚠️⚠️\u672a\u68c0\u6d4b\u5230\u89c6\u9891,5\u79d2\u540e\u5207\u6362\u4e0b\u4e00\u8282", 4500), setTimeout(() => {
                    this.playNext()
                }, 3e3))
            })
        }        play2() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$video ? (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e = MyTool.getValue("homeUrl");
                    yield sleep(2500), MyTool.openInTab(e), setTimeout(() => {
                        window.close()
                    }, 5e3)
                }))) : location.reload()
            })
        }        play3() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
                yield this.getVideoDom("#aliPlayerFrame");
                ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl"), yield sleep(2500), MyTool.openInTab(e), setTimeout(() => {
                        window.close()
                    }, 15e3)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), showTip("⚠️⚠️⚠️\u6b63\u5728\u5207\u6362\u8bfe\u7a0b", 4500), setTimeout(() => {
                        this.handleClickSpeedUp2(() => {
                        }, 3)
                    }, 4500))
                })), ElementObj.$video.addEventListener("pause", () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebortTime = setInterval(() => {
                    var e = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelector(".next-button");
                    e && e.click()
                }, 13e3)
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(3e3), this.currentIndex >= ElementObj.$allTask.length - 1 ? location.href = MyTool.getValue("homeUrl") : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].querySelector(".posCatalog_name").click(), showTip("⚠️⚠️⚠️\u6b63\u5728\u5207\u6362\u8bfe\u7a0b", 4500), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 5e3))
            })
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            this.timer = setInterval(() => {
                n += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2),
                    t = (ElementObj.$video.duration / 60).toFixed(2),
                    e = (this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t}\u5206\u949f`), document.querySelector("#iframe")),
                    e = null == (t = e.contentDocument) ? void 0 : t.querySelector(".ans-job-icon");
                "\u4efb\u52a1\u70b9\u5df2\u5b8c\u6210" == (null == e ? void 0 : e.getAttribute("aria-label")) && (clearInterval(this.timer), this.addInfo("✅✅✅\u76d1\u6d4b\u5230\u5f53\u524d\u4efb\u52a1\u5df2\u5b8c\u6210,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u8282", 1), setTimeout(() => {
                    this.playNext()
                }, 3e3))
            }, 3e3)
        }        addInfo(e, t) {
            ElementObj.$ctxstatsbox = null == (n = $el("#iframe").contentDocument.querySelector("iframe")) ? void 0 : n.contentDocument.querySelector(".ctxstatsbox");
            var n = null == (n = $el("#iframe").contentDocument.querySelector("iframe")) ? void 0 : n.contentDocument.querySelectorAll(".ctxstatsbox_li"),
                n = (15 <= n.length && (ElementObj.$ctxstatsbox.innerHTML = ""), `<li class="ctxstatsbox_li" style="color: ${0 == t ? "#f01414" : "#000"};line-height: 30px;font-size: 16px;list-style: none;">${e}</li>`);
            ElementObj.$ctxstatsbox.innerHTML += n
        }        handleClickSpeedUp2(e, t) {
            return __awaiter(this, void 0, void 0, function* () {
                var e = localStorage.getItem("mytoolkey");
                e ? (this.speedStatus = 1, 200 != (e = yield fetchData({
                    method: "GET",
                    url: bserUrl + (`/speedup?toolkey=${e}&canuse=` + toolOption.SchoolType)
                })).code ? showTip("🔉🔉🔉" + e.message, 5e3, !0) : (this.speedStatus = 1, 3 == t ? this.play3() : this.play2(), this.randomListen())) : (alert("\u8bf7\u5148\u8d2d\u4e70key"), window.open(basehost))
            })
        }
    }    chongqingzhuanye.ctxid = 26;    class jiaoyuganbuwang extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelectorAll(".customcur-tabs-wrapper li")[1];
                        e ? (clearInterval(t), e.click(), this.getParentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), this.getCurrentIndex()))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            var t;
            return __awaiter(this, void 0, void 0, function* () {
                showTip("✅✅✅\u6b63\u5728\u521d\u59cb\u5316", 3e3), ElementObj.$handleSpeedUp.style.display = "none", yield sleep(3e3), GM_setValue("homeUrl", location.href), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), yield sleep(3e3);
                var e = document.querySelectorAll("tr")[2].lastChild;
                null != (t = e.querySelector("a")) && t.click(), this.handleClickSpeedUp(), setTimeout(() => {
                    window.close()
                }, 5e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask = document.querySelectorAll(".cvtb-MCK-course-content"), yield sleep(100);
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                    var t = ElementObj.$allTask[e].querySelector(".cvtb-MCK-CsCt-studyProgress");
                    if (100 != parseInt(t.innerText)) {
                        this.currentIndex = e;
                        break
                    }
                }
                ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 3e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$handleSpeedUp.style.display = "none", clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
                yield this.getVideoDom();
                ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                })
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                yield sleep(2e3), this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0}), setTimeout(() => {
                    window.close()
                }, 3e3)) : (this.currentIndex += 1, setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 5e3))
            })
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            this.timer = setInterval(() => {
                n += 1;
                var e = ElementObj.$allTask[this.currentIndex].querySelector(".cvtb-MCK-CsCt-studyProgress"),
                    e = parseInt(e.innerText), t = (ElementObj.$video.duration / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5f53\u524d\u64ad\u653e\u8fdb\u5ea6\u4e3a${e}%,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t}\u5206\u949f`), 100 == e && (clearInterval(this.timer), this.addInfo("✅✅✅\u76d1\u6d4b\u5230\u5f53\u524d\u4efb\u52a1\u5df2\u5b8c\u6210,5\u79d2\u540e\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u8282", 1), setTimeout(() => {
                    this.playNext()
                }, 3e3))
            }, 3e3)
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".dialog-button-container button");
                e && e.click()
            }, 1e4)
        }
    }    jiaoyuganbuwang.ctxid = 26;    class zaixianxuexi extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelector("#jAlertButton2");
                        e ? (clearInterval(t), e.click(), yield sleep(2e3), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()) : (ElementObj.$allTask = document.querySelectorAll(".videoList li"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            var t;
            return __awaiter(this, void 0, void 0, function* () {
                showTip("\u6b63\u5728\u521d\u59cb\u5316"), ElementObj.$handleSpeedUp.style.display = "none";
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("【\u5df2\u5b8c\u6210】" != ElementObj.$allTask[e].querySelector(".overTitle").innerText) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u5df2\u5168\u90e8\u5b66\u5b8c") : (null != (t = ElementObj.$allTask[this.currentIndex]) && t.click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e"), this.handleClickSpeedUp())
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = setInterval(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), yield this.getVideoDom(), ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.getCurrentIndex()
                })), ElementObj.$video.addEventListener("pause", () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                })
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }
    }    zaixianxuexi.ctxid = 26;    class guojiakaifangdaxue extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll("li[id]"), "xczxzdbf.moodle.qwbx.ouchn.cn" == location.host && ElementObj.$allTask.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex()) : (document.querySelector("button.next-btn") || document.querySelector(".newgk-prenext.newgk-next")) && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), showTip("♥♥♥\u521d\u59cb\u5316\u5b8c\u6210"), this.pdPlayFn(location.href))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("current")) {
                    this.currentIndex = e;
                    break
                }
                showTip("♥♥♥\u521d\u59cb\u5316\u5b8c\u6210"), this.pdPlayFn(location.href)
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = 0, i = setInterval(() => {
                    var e;
                    n += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video || (e = document.querySelector("#previewContentInIframe"), ElementObj.$video = null == (e = null == e ? void 0 : e.contentDocument) ? void 0 : e.querySelector("video"), ElementObj.$video) ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e, t = yield this.getVideoDom();
                1 == t && (ElementObj.$video.volume = 0, yield sleep(200), (e = document.querySelector(".mvp-toggle-play")) ? e.click() : ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), yield sleep(4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        var e = document.querySelector(".mvp-toggle-play");
                        ElementObj.$video.volume = 0, null != e && e.click(), ElementObj.$video.play()
                    }, 1500)
                })), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }        playNext() {
            this.currentIndex += 1;
            let e = document.querySelector("button.next-btn");
            "xczxzdbf.moodle.qwbx.ouchn.cn" == location.host ? (e = ElementObj.$allTask[this.currentIndex].querySelector(".aalink"), this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (null !== e && void 0 !== e && e.click(), setTimeout(() => {
                this.pdPlayFn(location.href)
            }, 5e3))) : "moodle.syxy.ouchn.cn" == location.host ? (e = document.querySelector(".newgk-prenext.newgk-next")) && (e.click(), setTimeout(() => {
                this.pdPlayFn(location.href)
            }, 5e3)) : (e = document.querySelector("button.next-btn")) && (e.click(), setTimeout(() => {
                this.pdPlayFn(location.href)
            }, 5e3))
        }
    }    guojiakaifangdaxue.ctxid = 26;    class jjjxjy extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                if ("hunau.web2.superchutou.com" == location.host) {
                    let t = setInterval(() => {
                        var e;
                        ElementObj.$handleSpeedUp.style.display = "none", "https://hunau.web2.superchutou.com/#/" == location.href && (clearInterval(t), setTimeout(() => {
                            this._init()
                        }, 5e3), location.href = MyTool.getValue("homeUrl")), -1 != location.href.indexOf("/#/onlineclass/curriculum") && (e = document.querySelector(".ant-row.catalog_child_line")) && (clearInterval(t), MyTool.setValue("homeUrl", location.href), setTimeout(() => {
                            this._init()
                        }, 5e3), e.click()), ElementObj.$allTask = document.querySelectorAll(".ant-list-items div a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex())
                    }, 1e3)
                } else {
                    window.addEventListener("urlchange", e => {
                        setTimeout(() => {
                            ElementObj.$allTask = document.querySelectorAll(".ant-list-items div a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex());
                            var e = document.querySelector(".ant-row.catalog_child_line");
                            e && (clearInterval(t), null != e) && e.click(), "https://jjxy.web2.superchutou.com/#/" == location.href && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getParentIndex())
                        }, 5e3)
                    });
                    let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                        try {
                            ElementObj.$allTask = document.querySelectorAll(".ant-list-items div a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex());
                            var e = document.querySelector(".ant-row.catalog_child_line");
                            e && (clearInterval(t), setTimeout(() => {
                                this._init()
                            }, 5e3), null != e) && e.click(), "https://jjxy.web2.superchutou.com/#/" == location.href && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getParentIndex())
                        } catch (e) {
                        }
                    }), 1e3)
                }
            })
        }        getParentIndex() {
            for (var e = $el(".ant-table-tbody").querySelectorAll(".ant-table-tbody tr"), t = 0; t <= e.length - 1; t++) {
                var n = e[t].querySelector(".ant-progress-bg");
                if (parseInt(n.style.width) < 99) {
                    setTimeout(() => {
                        this._init()
                    }, 5e3), e[t].querySelector(".anticon-play-circle").click();
                    break
                }
            }
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = -1;
                for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].classList.contains("catalog_playing___3PDRN")) {
                    e = t;
                    break
                }
                for (t = 0; t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector("i.anticon-check-circle")) {
                    this.currentIndex = t;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (e != this.currentIndex && ElementObj.$allTask[this.currentIndex].click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.pdPlayFn(location.href)
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer2), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e, t = yield this.getVideoDom();
                1 == t && (ElementObj.$video.volume = 0, yield sleep(200), (e = document.querySelector(".mvp-toggle-play")) ? e.click() : ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".ant-modal-body button"),
                    t = document.querySelector(".ant-btn.ant-btn-primary");
                null != e && e.click(), null != t && t.click()
            }, 1e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(4500), this.currentIndex += 1, (e = ElementObj.$allTask[this.currentIndex]) && (e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3)))
            })
        }
    }    jjjxjy.ctxid = 26;    class xiangongyedx extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelectorAll(".el-tree-node__children .el-tree-node"),
                            t = document.querySelectorAll(".ant-tree-child-tree>li[role='treeitem']");
                        ElementObj.$allTask = e.length ? e : t, ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(n), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            var i;
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                    var t = ElementObj.$allTask[e],
                        n = null == (i = null == t ? void 0 : t.querySelector(".svg-icon use")) ? void 0 : i.getAttribute("xlink:href");
                    if ("#icon-VideoUncomplete" == n) if ("\u7ae0\u8282\u6d4b\u8bc4" != (null == t ? void 0 : t.querySelector(".node-title")).innerText) {
                        this.currentIndex = e;
                        break
                    }
                    if (null != t && t.classList.contains("ant-tree-treenode-selected")) {
                        this.currentIndex = e;
                        break
                    }
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[e].click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = 0, i = setInterval(() => {
                    n += 1;
                    var e = document.querySelector(".vjs-button-icon");
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video && e ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, yield sleep(200), document.querySelector(".vjs-button-icon").click(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".ant-modal-confirm-btns button");
                e ? (clearInterval(this.listenRebortTime), e.click(), this.playNext()) : "#icon-VideoComplete" == (null == (e = null == (e = ElementObj.$allTask[this.currentIndex]) ? void 0 : e.querySelector(".svg-icon use")) ? void 0 : e.getAttribute("xlink:href")) && (clearInterval(this.listenRebortTime), this.playNext())
            }, 3e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                if (this.currentIndex >= ElementObj.$allTask.length - 1) alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c"); else {
                    yield sleep(4500), this.currentIndex += 1;
                    let e = ElementObj.$allTask[this.currentIndex];
                    (e = ElementObj.$allTask[this.currentIndex].querySelector(".ant-tree-node-content-wrapper") ? ElementObj.$allTask[this.currentIndex].querySelector(".ant-tree-node-content-wrapper") : e) && (e.click(), setTimeout(() => {
                        this.pdPlayFn(location.href)
                    }, 4e3))
                }
            })
        }
    }    xiangongyedx.ctxid = 60;    class hebeiganbu extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e;
                    try {
                        if (ElementObj.$parentNodes = document.querySelectorAll(".hoz_course_row"), ElementObj.$parentNodes.length) {
                            clearInterval(o);
                            for (var t of ElementObj.$parentNodes) {
                                var n = null == (e = t.querySelector(".h_pro_percent")) ? void 0 : e.innerText;
                                if (parseFloat(n) < 100) {
                                    setTimeout(() => {
                                        window.close()
                                    }, 45e3), MyTool.setValue("homeUrl", location.href), t.querySelector("input").click();
                                    break
                                }
                            }
                        }
                        var i, l = document.querySelector(".user_choise");
                        l && l.click(), "/student/class_detail_course.do" == location.pathname && (i = document.querySelector(".hoz_course_row input")) && (clearInterval(o), setTimeout(() => {
                            window.close()
                        }, 45e3), MyTool.setValue("homeUrl", location.href), i.click()), "/portal/study_play.do" == location.pathname && (ElementObj.$video = document.querySelector("video"), ElementObj.$video) && (clearInterval(o), this.handleClickSpeedUp())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e, t = yield this.getVideoDom();
                1 == t && (setTimeout(() => {
                    ElementObj.$video = document.querySelector("video"), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                        ElementObj.$video.playbackRate = toolOption.accelerator
                    }, 3e3), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "\u52a0\u901f\u6210\u529f", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                        this.playNext()
                    })), ElementObj.$video.addEventListener("pause", () => {
                        setTimeout(() => {
                            ElementObj.$video.volume = 0, ElementObj.$video.play()
                        }, 1500)
                    })
                }, 4500), null != (e = document.querySelector(".user_choise"))) && e.click(), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(2500), location.href = MyTool.getValue("homeUrl")
            })
        }
    }    class gdedujsxx extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                this.handleClickSpeedUp()
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                ElementObj.$handleSpeedUp.style.display = "none", 1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                let e = document.querySelectorAll(".m-question-lst label");
                e.length && (clearInterval(this.listenRebortTime), e[0].click(), document.querySelector(".btn.u-main-btn").click(), yield sleep(3e3), (e = document.querySelectorAll(".m-question-lst label")).length && (e[1].click(), document.querySelector(".btn.u-main-btn").click()), yield sleep(3e3), this.listenRebort())
            }), 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(4500), this.currentIndex += 1;
                var e = document.querySelector("a.btn.next.crt");
                e && (e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    gdedujsxx.ctxid = 60;    class zhuzhouteacher extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelectorAll(".antd-pro-pages-my-center-my-center-menuItem")[2];
                        e ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), e.click(), yield sleep(1e3), this.getCurrentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(2500), ElementObj.$allTask = document.querySelectorAll(".antd-pro-pages-my-center-course-learning-courseWrap>.ant-row");
                for (var e, t = 0; t <= ElementObj.$allTask.length - 1; t++) {
                    var n = ElementObj.$allTask[t].querySelector(".ant-progress-text").innerHTML;
                    if (parseInt(n) < 99) {
                        this.currentIndex = t;
                        break
                    }
                }
                -1 != this.currentIndex ? (ElementObj.$allTask[this.currentIndex].querySelector(".ant-btn.ant-btn-primary").click(), setTimeout(() => {
                }, 15e3)) : (e = document.querySelector(".ant-pagination-next")).classList.contains("ant-pagination-disabled") ? alert("\u5168\u90e8\u8bfe\u7a0b\u5df2\u5b66\u5b8c") : (e.click(), this.getCurrentIndex())
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                MyTool.openInTab("http://www.zhuzhouteacher.com/teacheredu/main/mycenter/course-learning"), setTimeout(() => {
                    window.close()
                }, 5e3)
            })
        }
    }    zhuzhouteacher.ctxid = 60;    class zhuanyejishuryjxjy extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".catalog-list p"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].querySelector("a").click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    zhuanyejishuryjxjy.ctxid = 60;    class yinghuaxuetang extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".detmain .list .item a "), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("on")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e, t, n = yield this.getVideoDom();
                1 == n && (e = document.querySelector(".promptchmqylqsxtfb"), t = document.querySelector(".mutechtkfjgkqelf"), e && e.click(), t && t.click(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == n && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    yinghuaxuetang.ctxid = 60;    class shanghaikaifangdx extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".cell_info1 a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    shanghaikaifangdx.ctxid = 60;    class gzgbjy extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".tab-content-desc"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("desc-item-sel")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    gzgbjy.ctxid = 60;    class guizhoujianshezyjs extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".catalog div>a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("cur")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e, t = yield this.getVideoDom();
                1 == t && (ElementObj.$video.volume = 0, (e = document.querySelector(".vplay")).classList.contains("vmPause") || e.click(), ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    guizhoujianshezyjs.ctxid = 60;    class jixujiaoyuzaixian extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".video-list-item-span"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (-1 == ElementObj.$allTask[e].innerText.indexOf("\u5df2\u5b66\u5b8c")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".el-message-box__btns .el-button--primary");
                null != e && e.click()
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }
    }    jixujiaoyuzaixian.ctxid = 60;    class gzteacher extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelectorAll(".collapseactivityName2"),
                            t = document.querySelectorAll(".resource-list .res-item");
                        ElementObj.$allTask = e.length ? e : t, ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(n), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                    var t = ElementObj.$allTask[e];
                    if (t.classList.contains("isActive") || t.classList.contains("active")) {
                        this.currentIndex = e;
                        break
                    }
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e, t = document.querySelector(".ant-modal-root");
                t && null != (e = t.parentNode) && e.removeChild(t)
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                if (this.currentIndex += 1, "gdipx.yanxiu.com" == location.host) {
                    yield sleep(3e3);
                    var e = document.querySelector(".btns .next");
                    if (!e) return void alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c");
                    e.click()
                } else {
                    if (this.currentIndex >= ElementObj.$allTask.length - 1) return void alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c");
                    yield sleep(2500);
                    e = document.querySelectorAll(".ant-modal-body button")[2], e = (null != e && e.click(), document.querySelectorAll(".studycontentBottom button")[2]);
                    null != e && e.click()
                }
                setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3)
            })
        }
    }    gzteacher.ctxid = 60;    class moocxinyingzao extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll("#pane-category .resource-list-item"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                    var t = ElementObj.$allTask[e].querySelector(".resource-action span").innerText;
                    if (!["\u5df2\u5b8c\u6210", "\u6b63\u5728\u5b66"].includes(t)) {
                        this.currentIndex = e;
                        break
                    }
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, document.querySelector("iframe") ? (clearInterval(n), e(2)) : (ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2)))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e, t = document.querySelector(".ant-modal-root");
                t && null != (e = t.parentNode) && e.removeChild(t)
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.getCurrentIndex()
            })
        }
    }    moocxinyingzao.ctxid = 60;    class zhejiangzjelib extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelector("#iframepage").contentDocument.querySelectorAll(".ncells");
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].querySelector(".roundpointStudent.blue")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].querySelector("a").click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.spanKeyCount()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("#iframepage").contentDocument.querySelector("#iframe").contentDocument.querySelector("iframe").contentDocument.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        handleClickSpeedUp(e) {
            return __awaiter(this, void 0, void 0, function* () {
                this.getCurrentIndex()
            })
        }        spanKeyCount() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = localStorage.getItem("mytoolkey");
                e ? 200 == (e = yield fetchData({
                    method: "GET",
                    url: bserUrl + (`/speedup?toolkey=${e}&canuse=` + toolOption.SchoolType)
                })).code ? this.play() : showTip("🔉🔉🔉" + e.message, 5e3, !0) : (alert("\u8bf7\u5148\u8d2d\u4e70key"), window.open(basehost))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                document.querySelector("#iframepage").contentDocument.querySelector(".ncells .currents").querySelector(".roundpointStudent.blue") && this.playNext()
            }, 1e4)
        }        playNext() {
            var t;
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (this.currentIndex += 1, null != (e = document.querySelector("#iframepage").contentDocument.querySelector(".orientationright ")) && e.click(), e = document.querySelector("#iframepage").contentDocument, yield sleep(2e3), null != (t = e.querySelector(".wconter a")) && t.click(), setTimeout(() => {
                    this.spanKeyCount()
                }, 4e3))
            })
        }
    }    zhejiangzjelib.ctxid = 60;    class dongbeishifandaxue extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".course-list-con .ovd"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("cur")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e, t = document.querySelector(".ant-modal-root");
                t && null != (e = t.parentNode) && e.removeChild(t)
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].querySelector("a")) && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 6e3))
            })
        }
    }    dongbeishifandaxue.ctxid = 60;    class qzjystudy extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e;
                        ElementObj.$allTask = document.querySelectorAll(".videoList .item"), ElementObj.$allTask.length ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex()) : (e = document.querySelector("iframe")) ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), location.href = e.src) : (ElementObj.$allTask = document.querySelectorAll(".videoList .item"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex()))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            var i;
            return __awaiter(this, void 0, void 0, function* () {
                for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) {
                    var n = ElementObj.$allTask[t];
                    let e;
                    if (e = "jnrcpx.qzjystudy.com" == location.host ? (e = (null == (i = n.querySelector(".text")) ? void 0 : i.nextSibling).innerText).match(/\((.+)\)/)[1] : n.querySelectorAll("span")[1].innerText, parseInt(e) < 99) {
                        this.currentIndex = t;
                        break
                    }
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e, t = document.querySelector(".ant-modal-root");
                t && null != (e = t.parentNode) && e.removeChild(t)
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 6e3))
            })
        }
    }    qzjystudy.ctxid = 60;    class GlivePro extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        var e = document.querySelectorAll(".animated .syllabus-tree-node-title"),
                            t = document.querySelectorAll(".aside-node-child-inner .aside-node-child-inner li");
                        (e.length || t.length) && (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = e.length ? e : t, clearInterval(n), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e, t = 0; t <= ElementObj.$allTask.length - 1; t++) {
                    var n = ElementObj.$allTask[t];
                    if ("cloud.gaodun.com" == location.host) {
                        if (!n.querySelector("i").classList.contains("aside-resource-progress2")) {
                            this.currentIndex = t;
                            break
                        }
                    } else if (n.classList.contains("is-active")) {
                        this.currentIndex = t;
                        break
                    }
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : ("cloud.gaodun.com" == location.host && null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                parseInt(ElementObj.$video.duration) <= Math.ceil(ElementObj.$video.currentTime) && (showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext())
            }, 3e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), "cloud.gaodun.com" == location.host ? location.reload() : (this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4500)))
            })
        }
    }    GlivePro.ctxid = 60;    class gaodengxueli extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".course-list-txt dd i"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("fa-youtube-play")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].parentElement.click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e, t = document.querySelector(".ant-modal-root");
                t && null != (e = t.parentNode) && e.removeChild(t)
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].parentElement) && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 6e3))
            })
        }
    }    gaodengxueli.ctxid = 60;    class henanzhuanjizaixian extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this.timer = null, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".videoLi"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 5e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 5500))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video.pv-video"), ElementObj.$video ? (clearInterval(n), e(1)) : (ElementObj.$canvas = document.querySelector("#bplayer-ffplayer"), ElementObj.$canvas ? (clearInterval(n), e(3)) : 7 <= t && (clearInterval(n), e(2)))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer), ElementObj.$allTask[this.currentIndex].click();
                var e, t = yield this.getVideoDom();
                1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenRebort(), this.listenPlayTime(1)), 3 == t && ("0" == (e = document.querySelector(".bplayer-volume-control")).getAttribute("data-show") && e.querySelector(".icon").click(), yield sleep(3e3), "stop" != (e = document.querySelector(".pv-iconfont") || document.querySelector(".bplayer-play-btn")).querySelector("svg").id && e.click(), this.listenPlayTime(3)), 1 != t && 3 != t || (e = document.querySelector(".live.left"), this.changeHtml(e)), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        play2() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
                yield this.getVideoDom();
                var e = document.querySelector("button.pv-volumebtn");
                e.classList.contains("pv-icon-volumenone") || e.click(), yield sleep(500), document.querySelector(".pv-iconfont").click(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                }))
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }        listenPlayTime(i) {
            this.timer = setInterval(() => {
                var n = ElementObj.$allTask[this.currentIndex].querySelector(".progress-bar").style.width;
                if (99 <= parseInt(n)) showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext(); else {
                    let e, t;
                    if (1 == i && (e = document.querySelector(".pv-time-current").innerText, t = document.querySelector(".pv-time-duration").innerText), 3 == i) {
                        n = document.querySelector(".played-time");
                        if (!n) return void this.play2();
                        e = n.innerText, t = document.querySelector(".total-time").innerText
                    }
                    this.addInfo(`🔊🔊🔊\u76d1\u6d4b\u5230\u89c6\u9891\u6b63\u5728\u5b66\u4e60\u4e2d,\u5df2\u6210\u529f\u5b66\u4e60${e},\u9700\u5b66\u4e60` + t), t == e && (showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext())
                }
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), setTimeout(() => {
                    location.reload()
                }, 3e3), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click())
            })
        }
    }    henanzhuanjizaixian.ctxid = 60;    class hunannmdxs extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        document.querySelector(".pull-right>a") && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.handleClickSpeedUp())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("fa-youtube-play")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].parentElement.click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$sigleBtn = document.querySelector(".forumaddnew form button.btn.btn-secondary"), ElementObj.$sigleBtn ? (clearInterval(n), e(3)) : (ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2)))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 3 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext()), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e, t = document.querySelector(".ant-modal-root");
                t && null != (e = t.parentNode) && e.removeChild(t)
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelector(".pull-right>a");
                e ? (yield sleep(2500), null != e && e.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 5e3)) : alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c")
            })
        }
    }    hunannmdxs.ctxid = 60;    class dongaokauji extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$parentNodes = document.querySelectorAll("tbody>tr"), -1 != ["/cwweb/lecture/lectureList", "/study/u/myCourse"].indexOf(location.pathname) && ElementObj.$parentNodes.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getParentIndex(location.pathname)) : -1 != location.pathname.indexOf("/cwweb/videoShow/video/videoPlay") && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.handleClickSpeedUp())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex(i) {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
                    var t = ElementObj.$parentNodes[e];
                    if ("/cwweb/lecture/lectureList" == i) {
                        var n = t.querySelectorAll("td")[1].querySelectorAll("span");
                        if (n[0].innerText != n[1].innerText.replace("/", "")) {
                            MyTool.setValue("homeUrl", location.href), t.querySelector(".study-a").click(), setTimeout(() => {
                                window.close()
                            }, 2e4);
                            break
                        }
                    } else if ("\u5df2\u5b8c\u6210" != t.querySelectorAll("td")[6].innerText.trim()) {
                        MyTool.setValue("homeUrl", location.href), t.querySelector("a.operate-a.active").click();
                        break
                    }
                }
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("fa-youtube-play")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].parentElement.click(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e, t = yield this.getVideoDom();
                1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), (e = ElementObj.$video.parentElement).style.position = "relative", yield this.changeHtml(e), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), this.listenRebort(), this.listenPlayTime(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e, t = document.querySelector("#vjs-overlay");
                t && (null != (e = t.parentElement) && e.removeChild(t), setTimeout(() => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }, 2e3))
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = MyTool.getValue("homeUrl");
                location.href = e, setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 5e3)
            })
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            this.timer = setInterval(() => {
                n += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2),
                    t = (ElementObj.$video.duration / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t}\u5206\u949f`)
            }, 3e3)
        }
    }    class bainianshuren extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this.swiperIndex = 0, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$parentNodes = document.querySelectorAll(".project-course li"), ElementObj.$parentNodes.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getParentIndex()) : (ElementObj.$allTask = document.querySelectorAll(".el-tree-node"), ElementObj.$allTask.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex()))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
                    var t = ElementObj.$parentNodes[e], n = t.querySelector(".project-courseTitle span").innerText;
                    if ("\u5b66\u4e60\u4e2d" == n || "\u672a\u5b66\u4e60" == n) {
                        MyTool.setValue("homeUrl", location.href), t.querySelector("span.project-courseButton").click();
                        break
                    }
                }
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(2500);
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("\u5df2\u5b66\u4e60" != ElementObj.$allTask[e].querySelector("i").title.trim()) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? (location.href = "https://v3.dconline.net.cn/student.html#/project/index?project_id=13844", setTimeout(() => {
                    location.reload()
                }, 3e3)) : (ElementObj.$allTask[e].querySelector(".nav_menu").click(), yield sleep(2500), 1 == (yield this.getSwiperItem()) ? this.getSwiperIndex() : this.handleClickSpeedUp(), showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3))
            })
        }        getSwiperIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$swiperItem.length - 1; e++) if ("\u5df2\u5b66\u4e60" != ElementObj.$swiperItem[e].querySelector(".video-status").innerText.trim()) {
                    this.swiperIndex = e;
                    break
                }
                ElementObj.$swiperItem[this.swiperIndex].querySelector("i.el-icon-video-play").click(), yield sleep(2500);
                var t = document.querySelector(".el-message-box__btns .el-button--primary");
                null != t && t.click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3)
            })
        }        getSwiperItem() {
            return __awaiter(this, void 0, void 0, function* () {
                return new Promise(e => {
                    let t = 0, n = setInterval(() => {
                        t += 1, ElementObj.$swiperItem = document.querySelectorAll(".public-articleSlideList"), ElementObj.$swiperItem.length ? (clearInterval(n), e(1)) : 3 <= t && (clearInterval(n), e(2))
                    }, 1e3)
                })
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e, t = yield this.getVideoDom();
                1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = 1
                }, 3e3), e = document.querySelector("#video"), this.changeHtml(e), this.listenPlayTime(), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 1500)
                })), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e;
                this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl"), location.href = e, setTimeout(() => {
                    location.reload()
                }, 3e3)) : (setTimeout(() => {
                    location.reload()
                }, 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".el-dialog__body");
                e && (e.style.display = "none")
            }, 3e3)
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            this.timer = setInterval(() => {
                n += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2),
                    t = (ElementObj.$video.duration / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t}\u5206\u949f`)
            }, 3e3)
        }
    }    bainianshuren.ctxid = 60;    class dyyxlearning extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".course-list ul ul .videoLi"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(e => {
                let t = 0, n = setInterval(() => {
                    t += 1, ElementObj.$video = document.querySelectorAll("video")[1], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom(), t = location.href.match("myClassId=(.+)")[1],
                    n = (yield this.getClassList(t)).attribute.data.myClassCourseRPList[0].videoRPs[this.currentIndex],
                    n = `videoId=${n.videoId}&isUse=1&startSecond=&myClassCourseVideoId=` + n.myClassCourseVideoId,
                    t = yield this.getVideoTopic(t, n);
                1 == e && (ElementObj.$video.volume = 0, (n = document.querySelector(".ccToggleBtn")).classList.contains("ccH5TogglePause") || n.click(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenRebort(t.attribute.data), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0;
                        var e = document.querySelector(".ccToggleBtn");
                        e.classList.contains("ccH5TogglePause") || e.click()
                    }, 3500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort(o) {
            this.listenRebortTime = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelector("#ccJumpOver"), t = document.querySelector(".pv-ask-modal-wrap");
                if (e || t) {
                    let t = document.querySelector(".ccProblem .text").innerText;
                    var i = o.find(e => e.videoQuestionEntitySet[0].questionName == t);
                    let n = -1;
                    for (let e = 0; e <= i.videoQuestionEntitySet[0].videoAnswerEntitySet.length - 1; e++) {
                        var l = i.videoQuestionEntitySet[0].videoAnswerEntitySet[e];
                        -1 != i.videoQuestionEntitySet[0].standardId.indexOf(l.videoAnswerId) && (n = e)
                    }
                    -1 == n && location.reload(), null != (e = document.querySelectorAll(".ccQuestionList li")[n]) && e.click(), document.querySelector("#ccQuestionSubmit").click(), setTimeout(() => {
                        document.querySelector("#rightBtn").click()
                    }, 2e3)
                }
            }), 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        getVideoTopic(e, n) {
            return __awaiter(this, void 0, void 0, function* () {
                return new Promise(t => {
                    fetch("https://sddy.zyk.yxlearning.com/train/cms/study/query-video-random-popup-list.gson?" + n, {
                        headers: {
                            accept: "*/*",
                            "accept-language": "zh-CN,zh;q=0.9",
                            accountid: "33f3dd30-1e79-420b-9fe6-bf298fa1d550",
                            "sec-ch-ua": '"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"',
                            "sec-ch-ua-mobile": "?0",
                            "sec-ch-ua-platform": '"Windows"',
                            "sec-fetch-dest": "empty",
                            "sec-fetch-mode": "cors",
                            "sec-fetch-site": "same-origin",
                            "x-requested-with": "XMLHttpRequest"
                        },
                        referrer: "https://sddy.zyk.yxlearning.com/learning/index?myClassId=" + e,
                        referrerPolicy: "strict-origin-when-cross-origin",
                        body: null,
                        method: "GET",
                        mode: "cors",
                        credentials: "include"
                    }).then(e => e.json()).then(e => t(e))
                })
            })
        }        getClassList(e) {
            return __awaiter(this, void 0, void 0, function* () {
                return new Promise(t => {
                    fetch("https://sddy.zyk.yxlearning.com/train/class/my-class.gson?myClassId=" + e, {
                        headers: {
                            accept: "*/*",
                            "accept-language": "zh-CN,zh;q=0.9",
                            "sec-ch-ua": '"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"',
                            "sec-ch-ua-mobile": "?0",
                            "sec-ch-ua-platform": '"Windows"',
                            "sec-fetch-dest": "empty",
                            "sec-fetch-mode": "cors",
                            "sec-fetch-site": "same-origin",
                            "x-requested-with": "XMLHttpRequest"
                        },
                        referrer: "https://sddy.zyk.yxlearning.com/learning/index?myClassId=" + e,
                        referrerPolicy: "strict-origin-when-cross-origin",
                        body: null,
                        method: "GET",
                        mode: "cors",
                        credentials: "include"
                    }).then(e => e.json()).then(e => t(e))
                })
            })
        }
    }    class hebeijiaoshijiaoyuwang extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let a = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    var e, t;
                    try {
                        if ("/MyCourse/MyEventList" == location.pathname && (ElementObj.$parentNodes = document.querySelectorAll("#mainList dd ul li"), 0 < ElementObj.$parentNodes.length)) {
                            clearInterval(a), ElementObj.$handleSpeedUp.style.display = "none";
                            for (var n of ElementObj.$parentNodes) if ("[\u5df2\u5b8c\u6210]" != n.querySelector("i").innerText) {
                                MyTool.setValue("homeUrl", location.href), n.querySelector("a").click();
                                break
                            }
                        }
                        if ("/Event/MyjoinEvent" == location.pathname && (ElementObj.$parentNodes = document.querySelectorAll("tr[class]"), 0 < ElementObj.$parentNodes.length) && (clearInterval(a), ElementObj.$handleSpeedUp.style.display = "none", 0 < ElementObj.$parentNodes.length)) for (var i of ElementObj.$parentNodes) {
                            var l = i.querySelectorAll("td")[2].querySelector("span").innerText.trim();
                            if ("\u5df2\u5b66\u5b8c" != l && "\u5df2\u5b8c\u6210" != l) {
                                i.querySelector("a").click();
                                break
                            }
                        }
                        if ("/Event/CourseWare" == location.pathname && (ElementObj.$parentNodes = document.querySelectorAll("tr[class]"), 0 < ElementObj.$parentNodes.length) && (clearInterval(a), ElementObj.$handleSpeedUp.style.display = "none", 0 < ElementObj.$parentNodes.length)) for (var o of ElementObj.$parentNodes) if ("\u5df2\u5b66\u5b8c" != o.querySelectorAll("td")[2].querySelector("span").innerText.trim()) {
                            o.querySelector("a").click();
                            break
                        }
                        ElementObj.$video = null == (t = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : t.querySelector("video"), ElementObj.$video && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(a), this.handleClickSpeedUp())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.pdPlayFn(location.href)
                }, 4e3))
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = 0, i = setInterval(() => {
                    var e;
                    n += 1, ElementObj.$video = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelector("video"), ElementObj.$video ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
                var e, t = yield this.getVideoDom();
                1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), (e = document.querySelector("#mian")).style.position = "relative", yield this.changeHtml(e), this.listenPlayTime(), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 3500)
                })), 2 == t && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".school-sate button");
                e && e.click()
            }, 1e4)
        }        listenPlayTime() {
            showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
            let n = 0;
            this.timer = setInterval(() => {
                n += 1;
                var e = (ElementObj.$video.currentTime / 60).toFixed(2),
                    t = (ElementObj.$video.duration / 60).toFixed(2);
                this.addInfo(`\u540e\u53f0\u5b66\u4e60${n}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t}\u5206\u949f`)
            }, 3e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                var e = document.querySelectorAll(".tishivalhui")[2], t = document.querySelectorAll(".tishivalhui")[1];
                "\u4e0b\u4e00\u7bc7:\u6ca1\u6709\u4e86;" == (e || t).innerText ? location.href = MyTool.getValue("homeUrl") : (yield sleep(2500), (1 < (e = document.querySelectorAll(".tishivalju")).length ? e[1] : e[0]).click())
            })
        }
    }    class shangdongganbu extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".class"), -1 != location.href.indexOf("/content#/personalCenter") && ElementObj.$allTask.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex()) : -1 != location.href.indexOf("/content#/commend/coursedetail/?courseId=") && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                    var t = ElementObj.$allTask[e].querySelectorAll(".pro-t>div")[1].innerText;
                    if (100 != parseInt(t)) {
                        this.currentIndex = e;
                        break
                    }
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), ElementObj.$allTask[this.currentIndex].querySelector(".class-img>img").click(), setTimeout(() => {
                    window.close()
                }, 12e4))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
                var e = yield this.getVideoDom();
                if (1 == e) {
                    var t = document.querySelector(".video-player-box"),
                        t = (t.style.position = "relative", yield this.changeHtml(t), {courseId: "", idCardHash: ""});
                    if (t.courseId = /courseId=(.*)/.exec(location.href)[1], t.idCardHash = JSON.parse(sessionStorage.getItem("userInfo")).data.idCardHash, !t.idCardHash) return void alert("\u767b\u5f55\u8fc7\u671f\u4e86,\u8bf7\u91cd\u65b0\u767b\u5f55");
                    yield this.fetchStart(t);
                    this.listenPlayTime(t), this.listenRebort()
                }
                2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".school-sate button");
                e && e.click()
            }, 1e4)
        }        listenPlayTime(i) {
            return __awaiter(this, void 0, void 0, function* () {
                this.addInfo("✅✅✅✅✅✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e✅✅✅✅✅✅✅✅✅"), yield sleep(3e3), showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
                var t = Math.ceil(ElementObj.$video.duration);
                if (t) {
                    let e = 0;
                    for (var n of new Array(1e3)) {
                        if (e >= t) {
                            yield this.saveProgress(i), yield this.saveProgress(i), yield this.saveEnd(i), this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉\u5df2\u6210\u529f\u5b66\u5b8c🎉🎉🎉🎉🎉🎉🎉🎉");
                            break
                        }
                        e += +toolOption.accelerator > t ? t : +toolOption.accelerator, i.studyTimes = e;
                        yield this.saveProgress(i);
                        this.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${toolOption.accelerator}\u500d\u901f\u5b66\u4e60\u4e2d,\u5df2\u5b66\u4e60${e}\u79d2,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`), yield sleep(1e3)
                    }
                    this.playNext()
                } else alert("\u89c6\u9891\u65f6\u95f4\u9519\u8bef,\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u8bd5")
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                yield sleep(2500), setTimeout(() => {
                    location.reload()
                }, 3e3), location.href = "https://gbwlxy.dtdjzx.gov.cn/content#/personalCenter"
            })
        }        fetchStart(n) {
            return new Promise(t => __awaiter(this, void 0, void 0, function* () {
                var e = yield fetch("https://gbwlxy.dtdjzx.gov.cn/__api/api/study/start", {
                    headers: {
                        accept: "application/json, text/plain, */*",
                        "accept-language": "zh-CN,zh;q=0.9",
                        "content-type": "application/json;",
                        "sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
                        "sec-ch-ua-mobile": "?0",
                        "sec-ch-ua-platform": '"Windows"',
                        "sec-fetch-dest": "empty",
                        "sec-fetch-mode": "cors",
                        "sec-fetch-site": "same-origin",
                        "x-requested-with": "XMLHttpRequest"
                    },
                    referrer: "https://gbwlxy.dtdjzx.gov.cn/content",
                    referrerPolicy: "strict-origin-when-cross-origin",
                    body: `{"courseId":"${n.courseId}","idCardHash":"${n.idCardHash}","studyType":"VIDEO"}`,
                    method: "POST",
                    mode: "cors",
                    credentials: "include"
                });
                t(e)
            }))
        }        saveProgress(e) {
            return new Promise(t => __awaiter(this, void 0, void 0, function* () {
                fetch(location.origin + "/__api/api/study/progress", {
                    headers: {
                        accept: "application/json, text/plain, */*",
                        "accept-language": "zh-CN,zh;q=0.9",
                        "content-type": "application/json;",
                        "sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
                        "sec-ch-ua-mobile": "?0",
                        "sec-ch-ua-platform": '"Windows"',
                        "sec-fetch-dest": "empty",
                        "sec-fetch-mode": "cors",
                        "sec-fetch-site": "same-origin",
                        "x-requested-with": "XMLHttpRequest"
                    },
                    referrer: location.origin + "/content",
                    referrerPolicy: "strict-origin-when-cross-origin",
                    body: `{"courseId":"${e.courseId}","idCardHash":"${e.idCardHash}","studyTimes":${e.studyTimes}}`,
                    method: "POST",
                    mode: "cors",
                    credentials: "include"
                }).then(e => e.json()).then(e => t(e))
            }))
        }        saveProgress2(n) {
            return new Promise(t => __awaiter(this, void 0, void 0, function* () {
                var e = yield fetch(location.origin + "/apiStudy/gwapi/us/api/study/progress2", {
                    headers: {
                        accept: "application/json, text/plain, */*",
                        "accept-language": "zh-CN,zh;q=0.9",
                        "content-type": "application/json;",
                        "sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
                        "sec-ch-ua-mobile": "?0",
                        "sec-ch-ua-platform": '"Windows"',
                        "sec-fetch-dest": "empty",
                        "sec-fetch-mode": "cors",
                        "sec-fetch-site": "same-origin",
                        "x-ca-key": "ac620187e5b8d7af",
                        "x-ca-nonce": "e12f60e3-df8f-349f-55d0-626d597f5eaf",
                        "x-ca-signature": "V16026136F33B05F06F275BE6CECF4A2F1",
                        "x-ca-timestamp": "1706683430971",
                        "x-requested-with": "XMLHttpRequest"
                    },
                    referrer: location.origin + "/content",
                    referrerPolicy: "strict-origin-when-cross-origin",
                    body: `{"userId":"${n.idCardHash}","courseCode":"${n.courseId}","studyTimes":${n.studyTimes}}`,
                    method: "POST",
                    mode: "cors",
                    credentials: "include"
                });
                t(e)
            }))
        }        saveEnd(n) {
            return new Promise(t => __awaiter(this, void 0, void 0, function* () {
                var e = yield fetch(location.origin + "/__api/api/study/v2/end", {
                    headers: {
                        accept: "application/json, text/plain, */*",
                        "accept-language": "zh-CN,zh;q=0.9",
                        "content-type": "application/json;",
                        "sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
                        "sec-ch-ua-mobile": "?0",
                        "sec-ch-ua-platform": '"Windows"',
                        "sec-fetch-dest": "empty",
                        "sec-fetch-mode": "cors",
                        "sec-fetch-site": "same-origin",
                        "x-requested-with": "XMLHttpRequest"
                    },
                    referrer: location.origin + "/content",
                    referrerPolicy: "strict-origin-when-cross-origin",
                    body: `{"courseId":"${n.courseId}","idCardHash":"${n.idCardHash}"}`,
                    method: "POST",
                    mode: "cors",
                    credentials: "include"
                });
                t(e)
            }))
        }
    }    class yunketang extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".el-collapse-item__content div.file-item"), ElementObj.$allTask.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("file-item-active")) {
                    this.currentIndex = e;
                    break
                }
                if (-1 == this.currentIndex) alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c"); else {
                    showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3);
                    let t = ElementObj.$allTask[this.currentIndex];
                    setTimeout(() => {
                        var e = t.querySelector("div").innerHTML.replace(/ <.+>/, "");
                        this.pdPlayFn(e)
                    }, 3e3)
                }
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = 0, i = setInterval(() => {
                    n += 1, ElementObj.$video = document.querySelector("video");
                    var e = document.querySelector(".vjs-big-play-button");
                    ElementObj.$video && e ? (clearInterval(i), e.click(), t(1)) : 7 <= n && (clearInterval(i), t(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (this.changeHtml($el("#vjs_video_3")), this.listenPlayTime(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
                    ElementObj.$video.volume = 0, ElementObj.$video.play()
                }), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        var e = document.querySelector(".vjs-big-play-button");
                        null != e && e.click(), ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 3500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenPlayTime() {
            let t = 0;
            setInterval(() => {
                t += 1;
                var e = ElementObj.$allTask[this.currentIndex].querySelector(".el-progress__text").innerText;
                "100%" == e && location.reload(), this.addInfo(`\u5df2\u6210\u529f\u76d1\u6d4b${t}\u6b21,\u89c6\u9891\u6b63\u5728\u64ad\u653e\u4e2d,\u5f53\u524d\u8fdb\u5ea6\u5b8c\u6210` + e)
            }, 3e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                location.reload()
            })
        }        pdPlayFn(e) {
            var t = MyTool.getValue("spanClassName") || [];
            -1 != t.indexOf(e) ? this.play() : (t.push(e), MyTool.setValue("spanClassName", t), this.handleClickSpeedUp())
        }
    }    class huaxiajiaoshiyanpei extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll(".cou1-title>li"), ElementObj.$allTask.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("list_active")) {
                    this.currentIndex = e, showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                        this.handleClickSpeedUp()
                    }, 3e3);
                    break
                }
                -1 == this.currentIndex && alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c")
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
                var e = yield this.getVideoDom();
                if (this.listenRebort(), 1 == e) {
                    yield this.changeHtml($el("video").parentElement);
                    let e = null;
                    e = (-1 < location.href.indexOf("/sort/") ? /\/id\/(.+)\/sort/ : /\/id\/(.+)/).exec(location.href)[1];
                    var t = unsafeWindow.goods_id, n = unsafeWindow.user_id || $("#uid").val();
                    yield this.listenPlayTime({
                        user_id: n,
                        goods_id: t,
                        video_id: Number(e),
                        status: 1,
                        times: 0,
                        play_time: 0
                    })
                }
                2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenPlayTime(i) {
            return __awaiter(this, void 0, void 0, function* () {
                this.addInfo("✅✅✅✅✅✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e✅✅✅✅✅✅✅✅✅"), yield sleep(3e3), showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
                var t = Math.ceil(ElementObj.$video.duration);
                if (t) {
                    if (!i.user_id || !i.goods_id || !i.video_id) return alert("\u53c2\u6570\u4e0d\u6b63\u786e");
                    let e = 0;
                    for (var n of new Array(1e4)) {
                        if (e >= t) {
                            i.status = 2, yield this.saveProgress(i), this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉\u5df2\u6210\u529f\u5b66\u5b8c🎉🎉🎉🎉🎉🎉🎉🎉"), this.playNext();
                            break
                        }
                        e += +toolOption.accelerator > t ? t : +toolOption.accelerator, i.times = e, i.play_time = e;
                        yield this.saveProgress(i);
                        this.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${toolOption.accelerator}\u500d\u901f\u5b66\u4e60\u4e2d,\u5df2\u5b66\u4e60${e}\u79d2,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`), yield sleep(850)
                    }
                } else location.reload()
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                var e = document.querySelector(".layui-layer-btn0");
                null != e && e.click()
            }, 2e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = 3, t = (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].querySelector("a")),
                    n = setInterval(() => {
                        this.addInfo("🐱‍🚀🐱‍🚀🐱‍🚀\u8bf7\u7a0d\u540e,\u6b63\u5728\u4fdd\u5b58\u6570\u636e......"), e <= 0 && (clearInterval(n), t.click()), --e
                    }, 1e3)
            })
        }        saveProgress(n) {
            return new Promise(t => __awaiter(this, void 0, void 0, function* () {
                var e = yield fetch(location.origin + "/portal/lesson/update_study", {
                    headers: {
                        accept: "application/json, text/javascript, */*; q=0.01",
                        "accept-language": "zh-CN,zh;q=0.9",
                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                        "x-requested-with": "XMLHttpRequest"
                    },
                    referrerPolicy: "strict-origin-when-cross-origin",
                    body: `user_id=${n.user_id}&goods_id=${n.goods_id}&video_id=${n.video_id}&status=${n.status}&times=${n.times}&play_time=` + n.play_time,
                    method: "POST",
                    mode: "cors",
                    credentials: "include"
                });
                t(e)
            }))
        }
    }    class zhelixuexi extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        if (ElementObj.$parentNodes = document.querySelectorAll(".vi-item"), ElementObj.$parentNodes.length) {
                            ElementObj.$handleSpeedUp.style.display = "none", clearInterval(i);
                            for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
                                var t = ElementObj.$parentNodes[e],
                                    n = t.querySelector(".v-prosss").innerText.replace("\u5df2\u5b66\u4e60", "");
                                if (parseInt(n) < 99) {
                                    this.currentIndex = e, MyTool.setValue("homeUrl", location.href), t.click();
                                    break
                                }
                            }
                        } else ElementObj.$allTask = document.querySelectorAll(".set-content"), ElementObj.$allTask.length ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(i), this.getCurrentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(i), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()))
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 4e3))
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                var e = yield this.getVideoDom();
                1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 3500)
                })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), yield sleep(3e3), this.playNext())
            })
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
            }, 1e4)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                if (this.currentIndex >= ElementObj.$allTask.length - 1) {
                    let e = MyTool.getValue("homeUrl");
                    void setTimeout(() => {
                        location.href = e
                    }, 3e3)
                } else yield sleep(2e3), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp()
                }, 3e3)
            })
        }
    }    class fhswifer extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$parentNodes = document.querySelectorAll(".c-directory-item"), ElementObj.$parentNodes.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", showTip("\u6b63\u5728\u5bfb\u627e\u5168\u90e8\u8bfe\u7a0b,\u9884\u8ba110-20\u79d2,\u8bf7\u7a0d\u7b49..."), this.getParentIndex())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e of ElementObj.$parentNodes) e.click(), yield sleep(500);
                this.getCurrentIndex()
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                ElementObj.$allTask = document.querySelectorAll(".c-directory-box .cc-directory-item");
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].querySelector(".cc-audition")) {
                    this.currentIndex = e;
                    break
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (ElementObj.$allTask[this.currentIndex].click(), showTip("\u521d\u59cb\u5316\u5b8c\u6210,\u7b2c\u4e00\u6b21\u8bf7\u624b\u52a8\u64ad\u653e\u89c6\u9891", 1e4), this.play())
            })
        }        getVideoDom() {
            return new Promise(t => {
                let n = 0, i = setInterval(() => {
                    n += 1;
                    var e = document.querySelector(".icon.bplayer-play-btn");
                    e ? (clearInterval(i), t(e)) : 7 <= n && (clearInterval(i), t(2))
                }, 1e3)
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), (yield this.getVideoDom()).click(), this.listenPlayTime(), this.listenRebort()
            })
        }        listenPlayTime() {
            let n = 0;
            this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                n += 1;
                var e = document.querySelector(".played-time").innerText,
                    t = document.querySelector(".total-time").innerText;
                e.trim() >= t.trim() && (clearInterval(this.timer), this.playNext())
            }), 5e3)
        }        listenRebort() {
            this.listenRebortTime = setInterval(() => {
                document.querySelector(".bplayer-wrap").classList.contains("bplayer-playing") || document.querySelector(".icon.bplayer-play-btn").click()
            }, 1e3)
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                this.currentIndex >= ElementObj.$allTask.length - 1 ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
                    this.handleClickSpeedUp(() => {
                    }, !1)
                }, 3e3))
            })
        }
    }    class rrhisdgf283y7jvdf extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$allTask = document.querySelectorAll("ul.cb.oh li"), ElementObj.$allTask.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex(1)), ElementObj.$allTask = document.querySelectorAll(".section-item"), ElementObj.$allTask.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex(2));
                        var e = document.querySelector("iframe");
                        -1 == location.href.indexOf("v_video?platformId=") && -1 == location.href.indexOf("/play_video/") || !e || (clearInterval(t), location.href = e.src), -1 != ["/videoPlay/play", "/videoPlay/playEncrypt"].indexOf(location.pathname) && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getCurrentIndex(n) {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                    var t = ElementObj.$allTask[e];
                    if (1 == n) if (-1 == t.querySelector(".button.titlecolor").innerText.indexOf("\u5df2\u5b66\u5b8c")) {
                        this.currentIndex = e;
                        break
                    }
                    if (2 == n) if ("\u5df2\u5b66\u5b8c" != t.querySelectorAll(".n-text.__text-q8o5bu-d")[2].innerText.trim()) {
                        this.currentIndex = e;
                        break
                    }
                }
                -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (setTimeout(() => {
                    window.close()
                }, 12e4), MyTool.setValue("homeUrl", location.href), 1 == n && ElementObj.$allTask[this.currentIndex].querySelector(".button.titlecolor").click(), 2 == n && ElementObj.$allTask[this.currentIndex].click())
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                yield this.getVideoDom();
                ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
                    ElementObj.$video.playbackRate = toolOption.accelerator
                }, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
                    showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext()
                })), ElementObj.$video.addEventListener("pause", () => {
                    setTimeout(() => {
                        ElementObj.$video.volume = 0, ElementObj.$video.play()
                    }, 3500)
                })
            })
        }        listenPlayTime() {
            return __awaiter(this, void 0, void 0, function* () {
                this.addInfo("✅✅✅✅✅✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e✅✅✅✅✅✅✅✅✅"), yield sleep(1e3), showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
                var t = Math.ceil(ElementObj.$video.duration);
                if (t) {
                    let e = 0;
                    for (var n of new Array(1e3)) {
                        if (e >= t) {
                            ElementObj.$video.currentTime = ElementObj.$video.duration - 10, yield sleep(1e3), ElementObj.$video.currentTime = ElementObj.$video.duration, this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉\u5df2\u6210\u529f\u5b66\u5b8c🎉🎉🎉🎉🎉🎉🎉🎉"), this.playNext();
                            break
                        }
                        e += +toolOption.accelerator > t ? t : +toolOption.accelerator, this.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${toolOption.accelerator}\u500d\u901f\u5b66\u4e60\u4e2d,\u5df2\u5b66\u4e60${e}\u79d2,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`), yield sleep(1e3)
                    }
                    this.playNext()
                } else alert("\u89c6\u9891\u65f6\u95f4\u9519\u8bef,\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u8bd5")
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = MyTool.getValue("homeUrl");
                e ? setTimeout(() => {
                    location.href = e
                }, 1e4) : (showTip("\u5b98\u7f51\u8be5\u5e73\u53f0\u5e95\u90e8\u6709\u6ce8\u610f\u4e8b\u9879,\u8bf7\u6309\u7167\u8be5\u6307\u793a\u9875\u9762\u6267\u884c\u7a0b\u5e8f,\u5426\u5219\u65e0\u6cd5\u81ea\u52a8\u8fde\u64ad", 1e4), alert("\u5b98\u7f51\u8be5\u5e73\u53f0\u5e95\u90e8\u6709\u6ce8\u610f\u4e8b\u9879,\u8bf7\u6309\u7167\u8be5\u6307\u793a\u9875\u9762\u6267\u884c\u7a0b\u5e8f,\u5426\u5219\u65e0\u6cd5\u81ea\u52a8\u8fde\u64ad"))
            })
        }
    }    class f6872 extends Main {
        constructor() {
            super(), this.taskLength = 0, this.currentIndex = -1, this._init()
        }        _init() {
            return __awaiter(this, void 0, void 0, function* () {
                let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                    try {
                        ElementObj.$parentNodes = document.querySelectorAll(".ant-table-tbody")[0].querySelectorAll("tr"), ElementObj.$parentNodes.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getParentIndex()), ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
                    } catch (e) {
                    }
                }), 1e3)
            })
        }        getParentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                for (var e of ElementObj.$parentNodes) {
                    var t = e.querySelector(".ant-progress-text").innerText;
                    if (parseInt(t) < 97) {
                        e.click(), yield sleep(2e3), this.getCurrentIndex();
                        break
                    }
                }
            })
        }        getCurrentIndex() {
            return __awaiter(this, void 0, void 0, function* () {
                e:for (var e of document.querySelectorAll(".ant-pagination")[1].querySelectorAll("li.ant-pagination-item")) {
                    ElementObj.$allTask = document.querySelectorAll(".ant-table-tbody")[1].querySelectorAll("tr");
                    for (let e = 0; e <= ElementObj.$allTask.length - 1; e++) {
                        var t = ElementObj.$allTask[e];
                        if (!t.querySelector("i")) {
                            this.currentIndex = e, t.querySelectorAll(".ant-table-row-cell-break-word a")[1].click(), yield sleep(2e3), this.handleClickSpeedUp();
                            break e
                        }
                    }
                    e.click(), yield sleep(2e3)
                }
                -1 == this.currentIndex && alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c")
            })
        }        play() {
            return __awaiter(this, void 0, void 0, function* () {
                clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
                yield this.getVideoDom();
                yield this.changeHtml($el(".input_video")), this.listenPlayTime()
            })
        }        listenPlayTime() {
            return __awaiter(this, void 0, void 0, function* () {
                this.addInfo("✅✅✅✅✅✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u5373\u5c06\u5f00\u59cb\u64ad\u653e✅✅✅✅✅✅✅✅✅"), yield sleep(1e3), showTip("🔉\u8bfe\u4ef6\u6b63\u5728\u5b66\u4e60,\u8bf7\u52a1\u70b9\u51fb\u6216\u957f\u65f6\u95f4\u9690\u85cf");
                var t = Math.ceil(ElementObj.$video.duration);
                if (t) {
                    let e = 0;
                    for (var n of new Array(1e3)) {
                        if (e >= t) {
                            ElementObj.$video.currentTime = ElementObj.$video.duration, yield sleep(1e3), ElementObj.$video.currentTime = ElementObj.$video.duration, this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉\u5df2\u6210\u529f\u5b66\u5b8c🎉🎉🎉🎉🎉🎉🎉🎉"), this.playNext();
                            break
                        }
                        e += +toolOption.accelerator > t ? t : +toolOption.accelerator, this.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${toolOption.accelerator}\u500d\u901f\u5b66\u4e60\u4e2d,\u5df2\u5b66\u4e60${e}\u79d2,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`), yield sleep(3e3)
                    }
                    this.playNext()
                } else alert("\u89c6\u9891\u65f6\u95f4\u9519\u8bef,\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u8bd5")
            })
        }        playNext() {
            return __awaiter(this, void 0, void 0, function* () {
                setTimeout(() => {
                    location.reload()
                }, 1e3)
            })
        }
    }    class Addpanel {
        constructor() {
            this.$panelWrap = document.createElement("div"), this.$panelStyle = document.createElement("style"), this._init()
        }        _init() {
            var n;
            return __awaiter(this, void 0, void 0, function* () {
                this.$panelWrap.innerHTML = this.getCTXHTML(), this.$panelStyle.innerHTML = panelcss, null != (n = document.querySelector("head")) && n.appendChild(this.$panelStyle), 3 == toolOption.SchoolType ? null != (n = document.querySelector("#bigContainer")) && n.appendChild(this.$panelWrap) : 7 == toolOption.SchoolType ? null != (n = document.querySelector(".layout-content")) && n.appendChild(this.$panelWrap) : 11 == toolOption.SchoolType ? null != (n = document.querySelector(".task-dashboard-page")) && n.appendChild(this.$panelWrap) : 18 == toolOption.SchoolType ? null != (n = document.querySelector(".screen_wide_1")) && n.appendChild(this.$panelWrap) : null != (n = document.querySelector("body")) && n.appendChild(this.$panelWrap), ElementObj.$title3 = document.querySelector(".title3"), ElementObj.$mytoolkey = document.querySelector(".mytoolkey"), ElementObj.$nokey = document.querySelector(".nokey"), ElementObj.$addKey = document.getElementById("addKey"), ElementObj.$removeKey = document.getElementById("removeKey"), ElementObj.$ipt = document.querySelector(".mytoolkeyipt"), ElementObj.$handleSpeedUp = document.querySelector(".handleSpeedUp"), ElementObj.$ctxTipWrap = document.querySelector("#ctxTipWrap"), ElementObj.$ctxsection2 = document.querySelector(".ctxsection2"), ElementObj.$ctxcontrols = document.querySelector(".ctxcontrols");
                var e = localStorage.getItem("mytoolkey") || MyTool.getValue("mytoolkey"),
                    t = (e && ((t = MyTool.getValue("mytoolkeyInfo")) && "2" == t.canuse && MyTool.isDateGreaterThanSevenDays(t.createtime) ? (localStorage.removeItem("mytoolkey"), MyTool.deleteValue("mytoolkey")) : this.handleSetHtml(e)), this.optimizePannel(), this.setSpeedOption(), this.addEvent(), this.getSlogan(), MyTool.getValue("hideCtx"));
                t && ($el(".myTool").style.left = "-99999px"), MyTool.registerMenuCommand("\u9690\u85cf\u811a\u672c", "h", () => {
                    MyTool.setValue("hideCtx", !0), location.reload()
                }), MyTool.registerMenuCommand("\u663e\u793a\u811a\u672c", "s", () => {
                    MyTool.setValue("hideCtx", !1), location.reload()
                })
            })
        }        optimizePannel() {
            2 == toolOption.SchoolType && ($el(".myTool").style.left = "unset", $el(".myTool").style.right = "44px", $el(".ipt-wrap").style.marginTop = "3px", ElementObj.$ipt.style.padding = "11px 3px"), 9 == toolOption.SchoolType && ($el(".handleKeyBtn").style.lineHeight = "16px"), 16 == toolOption.SchoolType && ($el(".cxtsection3").style.display = "block", ElementObj.$myTool = document.querySelector(".myTool")), -1 != [14, 24, 63, 65].indexOf(toolOption.SchoolType) && (toolOption.accelerator = 1, speedArr = [1]), -1 != [40, 52, 54, 67, 80].indexOf(toolOption.SchoolType) && (speedArr = [1, 2]), -1 != [7, 12, 22, 53].indexOf(toolOption.SchoolType) && (speedArr = [1, 2, 3], toolOption.accelerator = 3), -1 != [38, 45, 46, 52, 57, 58, 61, 64, 67, 97, 103].indexOf(toolOption.SchoolType) && ($el(".myTool").style.left = "unset", $el(".myTool").style.right = "44px"), 18 == toolOption.SchoolType && ($el(".btn1").style.width = "74%", $el(".btn1").style.paddingTop = "0", $el(".btn1").style.paddingBottom = "0", $el("#slogan").style.position = "relative", $el("#slogan").style.left = "-40px", speedArr = [1, 2, 3, 5]), 19 == toolOption.SchoolType && (toolOption.accelerator = 1, $el(".myTool").style.width = "202px"), 23 == toolOption.SchoolType && ($el(".myTool").style.top = "176px", toolOption.accelerator = 1), 25 == toolOption.SchoolType && (toolOption.accelerator = 2, speedArr = [1, 1.25, 1.5, 2]), 26 == toolOption.SchoolType && ($el(".myTool").style.width = "202px"), 29 == toolOption.SchoolType && (speedArr = [1, 1.5, 2, 3, 5, 10]), 16 == toolOption.SchoolType && (2 == Internetcourse.gzjxjy.runtype && (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$speedSelect = document.querySelector(".ctxsection2"), ElementObj.$speedSelect.style.display = "none"), 1 == Internetcourse.gzjxjy.runtype) && (ElementObj.$ctxsection3 = document.querySelector(".cxtsection3"), ElementObj.$ctxsection3.style.display = "none"), 30 == toolOption.SchoolType && (speedArr = [1, 2, 3, 5, 10, 15], toolOption.accelerator = 2), 32 != toolOption.SchoolType && 36 != toolOption.SchoolType || ($el(".myTool").style.left = "unset", $el(".myTool").style.right = "44px", speedArr = [1, 1.1]), -1 != [37, 38, 41, 44, 54, 66, 71].indexOf(toolOption.SchoolType) && (speedArr = [1, 1.5, 2, 3, 5, 10]), -1 != [51, 52].indexOf(toolOption.SchoolType) && ($el(".myTool").style.left = "76px", speedArr = [1, 2, 3, 10], toolOption.accelerator = 2), 60 == toolOption.SchoolType && (speedArr = [1, 1.5, 1.8, 2], toolOption.accelerator = 2), -1 != [91, 96, 118, 122].indexOf(toolOption.SchoolType) && (speedArr = [1, 1.5, 2, 3, 10], toolOption.accelerator = 1)
        }        setSpeedOption() {
            ElementObj.$speedSelect = document.querySelector("#ctxspeed");
            let e = "";
            for (var t = 0; t < speedArr.length; t++) {
                var n = `
                <option value="${1.1 == speedArr[t] ? 1 : speedArr[t]}" class="option">
                  × ${1.1 == speedArr[t] ? 1.2 : speedArr[t]}.0
                </option>
                `;
                e += n
            }
            ElementObj.$speedSelect.innerHTML = e;
            var i = localStorage.getItem("_localSpeed") || MyTool.getValue("_localSpeed");
            i && (ElementObj.$speedSelect.value = i, toolOption.accelerator = Number(i))
        }        handleSetHtml(e) {
            try {
                ElementObj.$ipt.style.display = "none", ElementObj.$title3.innerText = "\u5f53\u524dkey:", ElementObj.$mytoolkey.innerText = e, ElementObj.$mytoolkey.style.display = "block", ElementObj.$nokey.style.display = "none", ElementObj.$removeKey.style.display = "block", ElementObj.$addKey.style.display = "none", ElementObj.userKey = e
            } catch (e) {
            }
        }        addEvent() {
            ElementObj.$addKey.addEventListener("click", () => {
                toolOption.CtxMain.handleAddKey(e => {
                    this.handleSetHtml(e)
                })
            }), ElementObj.$removeKey.addEventListener("click", () => {
                toolOption.CtxMain.handleRemoveKey()
            }), ElementObj.$handleSpeedUp.addEventListener("click", () => {
                toolOption.CtxMain.handleClickSpeedUp()
            }), ElementObj.$ctxsection2.addEventListener("change", e => {
                toolOption.CtxMain.handleChangeCtxSpeed(e.target.value)
            }), ElementObj.$ctxcontrols.addEventListener("click", () => {
                var e = document.querySelector(".myTool-content"), t = GM_getValue("hideCtx", null);
                t ? (e.style.height = "auto", ElementObj.$ctxcontrols.innerText = "×") : (e.style.height = "0px", ElementObj.$ctxcontrols.innerText = "🔛", $el(".myTool").style.left = "-99999px"), MyTool.setValue("hideCtx", !t)
            }), document.querySelectorAll(".targetHome").forEach(e => {
                e.addEventListener("click", () => {
                    location.href = basehost
                })
            })
        }        getSlogan() {
            fetchData({url: bserUrl + "/getslogan", method: "GET"}).then(e => {
                ElementObj.$slogan = document.querySelector("#slogan"), ElementObj.$slogan.innerHTML = e.result.text1
            })
        }        getCTXHTML() {
            return `
<div class="myTool">
    <div class="controls ctxcontrols">×</div>
    <div class=''><a style="color: black;" href="${basehost}" target="_blank">📺\u9ad8\u667aAi\u8f85\u52a9\u5b66\u4e60\u7a0b\u5e8f</a></div>
    
    <div class="myTool-content">
        <div class="nokey">
            <div class="btns">
                <div class="btn1"
                     style="text-align: center;color: #1776FDFF;text-decoration: underline;margin: 5px 0;cursor: pointer;">
                    <a href="${basehost}" target="_blank">\u70b9\u51fb\u83b7\u53d6Key</a>
                </div>
                <a href="${basehost}" target="_blank" id="slogan" style="text-decoration: none;">
                
                </a>
            </div>
        </div>
    
        <div class="cxtsection ctxsection1">
          <div class="ctx-title title3">
            \u8f93\u5165Key:
          </div>
          <div class="ipt-wrap" style="display: flex;align-items: center;justify-content: space-between;">
            <input class="mytoolkeyipt" />
            <div style="width: 120px;height: 18px;margin-right: 5px;display: none;" class="mytoolkey"></div>
            <button class="handleKeyBtn addkey-btn" id="addKey">\u7ed1\u5b9a</button>
            <button class="handleKeyBtn removkey-btn" id="removeKey">\u89e3\u7ed1</button>
          </div>
        </div>        <div class="cxtsection ctxsection2">
          <div class="ctx-title">
            \u8bbe\u7f6e\u500d\u901f:
          </div>
          <select name="" id="ctxspeed" class="speed-select" style="min-width: 130px">
            <option value="1" class="option">
              × 1.0
            </option>
            <option value="5" class="option">
              × 5.00
            </option>
            <option value="10" class="option" selected="selected">
              × 10.00
            </option>
            <option value="16" class="option">
              × 16.00
            </option>
          </select>
        </div>
        
        <div class="cxtsection ctxsection3">
          <div class="ctx-title">
            \u610f\u89c1\u53cd\u9988:
          </div>
          <a href="${basehost}"><div class="feedbackBtn">\u53bb\u53cd\u9988</div></a>
        </div>
        
        <div class="scriptTip" style="display: none;border-radius: 4px;margin-top: 9px;font-size: 12px;background: rgba(108,201,255,0.5);box-sizing: border-box;padding: 5px;">
            <div class="title">\u63d0\u793a:</div>
            <p style="margin: 6px 0;">1.\u5174\u8da3\u8bfe\u5168\u7f51\u76ee\u524d\u4ec5\u652f\u6301\u6700\u9ad81.5\u500d\u901f</p>
        </div>
        <div class="cxtsection cxtsection3" style="display: none"> 
          <div class="ctx-title">
            \u5f53\u524d\u4f5c\u7b54\u9898\u76ee:
          </div>
          <div class="ctxtopic-name">\u8d35\u5dde\u7701\u8d35\u9633\u5e02\u6bd3\u79c0\u8def27\u53f7\u8d35\u5dde\u7701\u4eba\u624d\u5927\u5e02\u573a4\u697c</div>
        </div>
        
        <div class="handleSpeedUp">\u70b9\u51fb\u52a0\u901f</div>
    </div>
    
    <div id="ctxTipWrap" class="ctxTipWrap"></div>
</div>
    `
        }
    }    function $el(e, t = window.document) {
        t = t.querySelector(e);
        return null === t ? void 0 : t
    }    function sleep(t) {
        return new Promise(e => setTimeout(e, t))
    }    function fetchData(n) {
        return new Promise(t => {
            try {
                GM_xmlhttpRequest(Object.assign(Object.assign({}, n), {
                    onload: function (e) {
                        200 == e.status && t(JSON.parse(e.response))
                    }
                }))
            } catch (e) {
                fetch(n.url, {method: n.method}).then(e => e.json()).then(e => {
                    t(e)
                })
            }
        })
    }    function showTip(e, t = 3500, n) {
        t = t || 3500, ElementObj.$ctxTipWrap.style.display = "block", ElementObj.$ctxTipWrap.innerText = e;
        setTimeout(() => {
            ElementObj.$ctxTipWrap.style.display = "none"
        }, t);
        n && alert(e)
    }    function recognitionType() {
        let current_host = location.host;
        if (!/www.gaozhiwang.top/.test(current_host)) {
            if (-1 == current_host.indexOf("www.gsgwypx.com.cn")) {
                let result = {type: 0, option: null};
                for (var key in Internetcourse) {
                    if (Internetcourse[key].host.includes(current_host)) {
                        if (result.type = 2, "CTXCommon" == Internetcourse[key].mainClass) {
                            result.type = 1, result.option = Internetcourse[key].option, toolOption.CtxMain = CTXCommon, toolOption.SchoolType = Internetcourse[key].id;
                            break
                        }
                        toolOption.CtxMain = eval(Internetcourse[key].mainClass), toolOption.SchoolType = Internetcourse[key].id
                    }
                    if (/www.ttcdw.cn/.test(current_host)) {
                        let _$paramsUn = document.querySelector("#paramsUn");
                        _$paramsUn, toolOption.SchoolType = Internetcourse.beijingjiaoshi.id, toolOption.CtxMain = beijingjiaoshi
                    }
                    if (/gzjxjy.gzsrs.cn/.test(current_host)) {
                        let $survey = document.querySelector(".survey-header-subtitle");
                        $survey ? (toolOption.CtxMain = gzjxjy_Answer, Internetcourse.gzjxjy.runtype = 2) : (toolOption.CtxMain = gzjxjy, Internetcourse.gzjxjy.runtype = 1), toolOption.SchoolType = Internetcourse.gzjxjy.id
                    }
                }
                return toolOption.CtxMain || (result.type = 0, toolOption.CtxMain = zjzjsrc, toolOption.SchoolType = Internetcourse.zjzjsrc.id), result
            }
            toolOption.SchoolType = Internetcourse.gansugongwuyuan.id, toolOption.CtxMain = gansugongwuyuan
        }
    }    setTimeout(() => {
        var e = recognitionType(),
            e = (basehost += "/?ctxid=" + (null != e && e.type ? toolOption.SchoolType : 2), 1 == (null == e ? void 0 : e.type) ? toolOption.CtxMain = new CTXCommon(e.option) : toolOption.CtxMain = new toolOption.CtxMain, new Addpanel, Math.floor(9 * Math.random()) + 2);
        setTimeout(() => {
            1 < document.querySelectorAll(".myTool").length && alert("\u53d1\u73b0\u811a\u672c\u5b89\u88c5\u7a81\u51fa,\u8bf7\u5220\u9664\u591a\u4f59\u811a\u672c")
        }, 1e3 * e)
    }, 2e3)
}();