// # Source: https://gitee.com/jdqlscript/toulu/blob/main/%E5%B9%BF%E6%B1%BD%E5%9F%83%E5%AE%89.js
// # Raw: https://gitee.com/jdqlscript/toulu/raw/main/%E5%B9%BF%E6%B1%BD%E5%9F%83%E5%AE%89.js
// # Repo: jdqlscript/toulu
// # Path: 广汽埃安.js
// # UploadedAt: 2025-06-28T11:18:42+08:00
// # SHA256: d765e765b7ca3dc06d021f6976d185f9ff299510be351238783213b618e7399b
// # Category: web版/账密
// # Evidence: web/H5关键词 + username/password/login
// 

/*
广汽埃安 v1.02
扫码下载注册: https://raw.githubusercontent.com/leafTheFish/DeathNote/main/gqaa.jpg

每天签到和开连签盲盒, 车主有额外的点赞积分任务
积分可以换充电卡等, 毛不大, 自己决定要不要玩

捉 www.gacne.com.cn 域名请求的Cookie, 把PHPSESSID的值(如PHPSESSID=xxxxxxxx;)填到变量 gqaaCookie 里面
嫌麻烦的也可以把整个cookie扔进去
多账号换行或&或@隔开
export PHPSESSID="xxxxxxxx"


 有问题联系3288588344
 频道：https://pd.qq.com/s/672fku8ge
 
 
 
cron: 51 6,16 * * *
const $ = new Env("广汽埃安");
*/
const _0x57726e = _0xafb67f("广汽埃安"),
      _0x157252 = require("got"),
      {
  CookieJar: _0x39b841
} = require("tough-cookie"),
      _0x12a3af = "gqaa",
      _0x27935e = /[\n\&\@]/,
      _0x570313 = [_0x12a3af + "Cookie"],
      _0x1f66ac = 8000,
      _0x41a616 = 3;

const _0x620eeb = 1.02,
      _0x5cb507 = "gqaa",
      _0xd58e67 = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/code.json",
      _0x571d42 = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 StatusHeight/20 BundleId/com.gacne.www Version/3.3.9",
      _0x3a15c9 = "https://www.gacne.com.cn",
      _0x223773 = "https://www.gacne.com.cn/web/app/sign_in.html",
      _0x79e5b9 = 5,
      _0x1a60e5 = 13,
      _0x149fb5 = 1000,
      _0x5a59fa = 3600000,
      _0x2aa689 = 0,
      _0x327956 = 3,
      _0x3dd66a = ["顶一下", "打卡", "每日打打卡", "嘿嘿", "哈哈", "积分积分", "顶顶顶"];

class _0x1e527a {
  constructor() {
    this.index = _0x57726e.userIdx++;
    this.name = "";
    this.valid = false;
    const _0x627300 = {
      limit: 0
    };
    const _0x2f158b = {
      Connection: "keep-alive"
    };
    const _0x3d9864 = {
      retry: _0x627300,
      timeout: _0x1f66ac,
      followRedirect: false,
      headers: _0x2f158b
    };
    this.got = _0x157252.extend(_0x3d9864);
  }

  log(_0x4ff667, _0x55786f = {}) {
    let _0x1f3278 = "",
        _0x49dff4 = _0x57726e.userCount.toString().length;

    if (this.index) {
      _0x1f3278 += "账号[" + _0x57726e.padStr(this.index, _0x49dff4) + "]";
    }

    if (this.name) {
      _0x1f3278 += "[" + this.name + "]";
    }

    _0x57726e.log(_0x1f3278 + _0x4ff667, _0x55786f);
  }

  async request(_0x43dfdb) {
    let _0x463e9e = null,
        _0x35402b = 0,
        _0x44adfc = _0x43dfdb.fn || _0x43dfdb.url;

    _0x43dfdb.method = _0x43dfdb?.["method"]?.["toUpperCase"]() || "GET";

    while (_0x35402b++ < _0x41a616) {
      try {
        await this.got(_0x43dfdb).then(_0x4f51f0 => {
          _0x463e9e = _0x4f51f0;
        }, _0x2322a7 => {
          _0x463e9e = _0x2322a7.response;
        });

        if ((_0x463e9e?.["statusCode"] / 100 | 0) <= 4) {
          break;
        }
      } catch (_0x4633ef) {
        _0x4633ef.name == "TimeoutError" ? this.log("[" + _0x44adfc + "]请求超时，重试第" + _0x35402b + "次") : this.log("[" + _0x44adfc + "]请求错误(" + _0x4633ef.message + ")，重试第" + _0x35402b + "次");
      }
    }

    const _0x4beaf6 = {
      statusCode: -1,
      headers: null,
      result: null
    };

    if (_0x463e9e == null) {
      return Promise.resolve(_0x4beaf6);
    }

    let {
      statusCode: _0x21acad,
      headers: _0x20212f,
      body: _0x5aae68
    } = _0x463e9e;

    if (_0x5aae68) {
      try {
        _0x5aae68 = JSON.parse(_0x5aae68);
      } catch {}
    }

    const _0x274316 = {
      statusCode: _0x21acad,
      headers: _0x20212f,
      result: _0x5aae68
    };
    return Promise.resolve(_0x274316);
  }

}

let _0x1c4970 = new _0x1e527a();

class _0x61a68c extends _0x1e527a {
  constructor(_0x2e700e) {
    super();
    this.cookieJar = new _0x39b841();

    let _0x2753be = _0x2e700e?.["match"](/PHPSESSID=(\w+)/);

    this.PHPSESSID = _0x2753be ? _0x2753be[1] : _0x2e700e;
    this.set_cookie("PHPSESSID", this.PHPSESSID);
    const _0x1937af = {
      "User-Agent": _0x571d42,
      Origin: _0x3a15c9,
      Referer: _0x223773
    };
    this.got = this.got.extend({
      cookieJar: this.cookieJar,
      headers: _0x1937af
    });
  }

  set_cookie(_0x280e6f, _0x2a073f, _0x2cf8a7 = {}) {
    let _0x33c9fb = _0x2cf8a7.domain || "gacne.com.cn",
        _0x980b19 = _0x2cf8a7.url || "https://www.gacne.com.cn";

    this.cookieJar.setCookieSync(_0x280e6f + "=" + _0x2a073f + "; Domain=" + _0x33c9fb + ";", "" + _0x980b19);
  }

  async checkLogin(_0x2e5a5a = {}) {
    let _0x2aa514 = false;

    try {
      const _0x41dd56 = {
        fn: "checkLogin",
        method: "post",
        url: "https://www.gacne.com.cn/index/Madepost/checkLogin"
      };

      let {
        result: _0x5564ff
      } = await this.request(_0x57726e.copy(_0x41dd56)),
          _0x3adeb3 = _0x57726e.get(_0x5564ff, "code", -1);

      if (_0x3adeb3 == 200) {
        this.valid = true;
        let {
          device_id: _0x5e0723,
          tel: _0x1d8c34,
          token: _0x3df494
        } = _0x5564ff?.["data"];
        this.deviceId = _0x5e0723;
        this.deviceId && this.set_cookie("deviceId", this.deviceId);
        this.name = _0x1d8c34;
        this.token = _0x3df494;
        _0x2aa514 = await this.refresh();
      } else {
        let _0x4d294d = _0x57726e.get(_0x5564ff, "msg", "");

        this.log("登录失败[" + _0x3adeb3 + "]: " + _0x4d294d);
      }
    } catch (_0x56cd2f) {
      console.log(_0x56cd2f);
    } finally {
      return _0x2aa514;
    }
  }

  async refresh(_0x37f45f = {}) {
    let _0x446dd1 = false;

    try {
      const _0x3c91b7 = {
        fn: "refresh",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/lifemain/insurance-mapi/order/had-insurance-order"
      };

      let {
        result: _0x58b7f2
      } = await this.request(_0x57726e.copy(_0x3c91b7)),
          _0x5050a9 = _0x57726e.get(_0x58b7f2, "code", -1);

      if (_0x5050a9 == "0000") {
        _0x446dd1 = true;
      } else {
        let _0x1222de = _0x57726e.get(_0x58b7f2, "msg", "");

        this.log("刷新CK失败[" + _0x5050a9 + "]: " + _0x1222de);
      }
    } catch (_0xcde42a) {
      console.log(_0xcde42a);
    } finally {
      return _0x446dd1;
    }
  }

  async sign_in(_0x3918cf = {}) {
    try {
      const _0x4c2257 = {
        taskTypeCode: "TASK-INTEGRAL-SIGN-IN"
      };
      const _0xa4570a = {
        fn: "sign_in",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/lifemain/task-mapi/sign-in",
        json: _0x4c2257
      };
      {
        let {
          result: _0x2765ad
        } = await this.request(_0x57726e.copy(_0xa4570a)),
            _0x43ae24 = _0x57726e.get(_0x2765ad, "code", -1);

        if (_0x43ae24 == "0000") {
          let {
            isFirstSign: _0xada6da
          } = _0x2765ad?.["data"];
          _0xada6da ? this.log("签到成功") : this.log("今天已签到");
        } else {
          let _0x405d4e = _0x57726e.get(_0x2765ad, "msg", "");

          this.log("查询签到失败[" + _0x43ae24 + "]: " + _0x405d4e);
        }
      }
      {
        let {
          result: _0x436816
        } = await this.request(_0x57726e.copy(_0xa4570a)),
            _0x2412e4 = _0x57726e.get(_0x436816, "code", -1);

        if (_0x2412e4 == "0000") {
          let {
            days: _0x2cb92f,
            nextBoxTotalDay: _0x5644ae,
            boxList: _0x249f7a
          } = _0x436816?.["data"];
          this.log("盲盒进度: " + _0x2cb92f + "/" + _0x5644ae);

          for (let _0x14c86c of (_0x249f7a || []).filter(_0x8bef3 => _0x8bef3.status == 1)) {
            for (let _0x4b5bcf = 0; _0x4b5bcf < _0x14c86c.openAmount; _0x4b5bcf++) {
              await this.box_draw(_0x14c86c);
            }
          }
        } else {
          let _0x3639bf = _0x57726e.get(_0x436816, "msg", "");

          this.log("查询盲盒进度失败[" + _0x2412e4 + "]: " + _0x3639bf);
        }
      }
    } catch (_0x578aae) {
      console.log(_0x578aae);
    }
  }

  async box_draw(_0x3e3b3c, _0x2ca7ed = {}) {
    try {
      const _0x16465b = {
        boxId: _0x3e3b3c.boxId,
        type: 0
      };
      const _0x1f5e4c = {
        fn: "box_draw",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/lifemain/frontend/box/draw",
        json: _0x16465b
      };

      let {
        result: _0x2cb490
      } = await this.request(_0x57726e.copy(_0x1f5e4c)),
          _0x5f56d2 = _0x57726e.get(_0x2cb490, "code", -1);

      if (_0x5f56d2 == "0000") {
        let {
          prizeName: _0x5c4c9d,
          boxName: _0x477b46
        } = _0x2cb490?.["data"];
        const _0x5805b9 = {
          notify: true
        };
        this.log("开启[" + _0x477b46 + "]: " + _0x5c4c9d, _0x5805b9);
      } else {
        let _0x1aad43 = _0x57726e.get(_0x2cb490, "msg", "");

        this.log("开启[" + _0x3e3b3c.boxName + "]失败[" + _0x5f56d2 + "]: " + _0x1aad43);
      }
    } catch (_0x3a3ced) {
      console.log(_0x3a3ced);
    }
  }

  async check_integral(_0x26a1ff = {}) {
    try {
      const _0x5bb117 = {
        fn: "check_integral",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/lifemain/task-mapi/sign-in",
        json: {}
      };
      _0x5bb117.json.taskTypeCode = "TASK-INTEGRAL-SIGN-IN";

      let {
        result: _0x15f240
      } = await this.request(_0x57726e.copy(_0x5bb117)),
          _0x348985 = _0x57726e.get(_0x15f240, "code", -1);

      if (_0x348985 == "0000") {
        this.integral = _0x15f240?.["data"]?.["totalIntegral"] || 0;
        const _0x5967f7 = {
          notify: true
        };
        this.log("积分: " + this.integral, _0x5967f7);
      } else {
        let _0x4449e3 = _0x57726e.get(_0x15f240, "msg", "");

        this.log("查询积分失败[" + _0x348985 + "]: " + _0x4449e3);
      }
    } catch (_0xb1012) {
      console.log(_0xb1012);
    }
  }

  async detail_new(_0x28fa51 = {}) {
    try {
      const _0x3cf3e2 = {
        fn: "detail_new",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/lifemain/task-mapi/sign-in/detail-new",
        json: {}
      };
      _0x3cf3e2.json.taskTypeCode = "TASK-INTEGRAL-SIGN-IN";

      let {
        result: _0xfcaa2d
      } = await this.request(_0x57726e.copy(_0x3cf3e2)),
          _0x5086a5 = _0x57726e.get(_0xfcaa2d, "code", -1);

      if (_0x5086a5 == "0000") {
        for (let _0x1b6428 of _0xfcaa2d?.["data"]?.["banners"] || []) {
          for (let _0x1d600a of _0x1b6428?.["contents"] || []) {
            for (let _0x2fb095 of (_0x1d600a?.["tasks"] || []).filter(_0x1aba03 => _0x1aba03.buttonStatus === 0)) {
              await this.process_task(_0x2fb095);
            }
          }
        }
      } else {
        let _0x1e19c9 = _0x57726e.get(_0xfcaa2d, "msg", "");

        this.log("查询任务失败[" + _0x5086a5 + "]: " + _0x1e19c9);
      }
    } catch (_0x37e189) {
      console.log(_0x37e189);
    }
  }

  async process_task(_0x2181b7, _0x543497 = {}) {
    try {
      switch (_0x2181b7.taskId) {
        case 62:
          {
            let _0x2d9cbd = Math.floor(Math.random() * 10000) + 45000;

            for (let _0x19f914 = 0; _0x19f914 < 5; _0x19f914++) {
              await this.article_like(_0x2d9cbd + _0x19f914);
            }

            break;
          }
      }
    } catch (_0x4cd91a) {
      console.log(_0x4cd91a);
    }
  }

  async comment_add(_0x4bea91, _0x1ef972 = {}) {
    try {
      let _0x340015 = _0x57726e.randomList(_0x3dd66a),
          _0x2b9f20 = {
        fn: "comment_add",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/cms/frontend/comment/add",
        json: {
          sourceId: _0x4bea91.toString(),
          type: "104",
          content: _0x340015,
          contentExt: _0x340015,
          atFriendsList: []
        }
      },
          {
        result: _0x24af06
      } = await this.request(_0x57726e.copy(_0x2b9f20)),
          _0x377dcc = _0x57726e.get(_0x24af06, "code", -1);

      if (_0x377dcc == "0000") {
        let _0x376cad = _0x24af06?.["data"]?.["id"] || 0;

        this.log("评论文章[" + _0x4bea91 + "]成功: 评论id=" + _0x376cad);
        _0x376cad && (await this.comment_delete(_0x376cad));
      } else {
        let _0x4dd834 = _0x57726e.get(_0x24af06, "msg", "");

        this.log("评论失败[" + _0x377dcc + "]: " + _0x4dd834);
      }
    } catch (_0x33db3f) {
      console.log(_0x33db3f);
    }
  }

  async comment_delete(_0x2d86d7, _0x3148a6 = {}) {
    try {
      let _0x1100b5 = {
        fn: "comment_add",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/cms/frontend/comment/delete",
        json: {
          commentId: _0x2d86d7.toString(),
          version: "3.3.9"
        }
      },
          {
        result: _0x47dabf
      } = await this.request(_0x57726e.copy(_0x1100b5)),
          _0x50c004 = _0x57726e.get(_0x47dabf, "code", -1);

      if (_0x50c004 == "0000") {
        this.log("删除评论[" + _0x2d86d7 + "]成功");
      } else {
        let _0x1c1b85 = _0x57726e.get(_0x47dabf, "msg", "");

        this.log("删除评论[" + _0x2d86d7 + "]失败[" + _0x50c004 + "]: " + _0x1c1b85);
      }
    } catch (_0x283137) {
      console.log(_0x283137);
    }
  }

  async article_like(_0x3f7a7b, _0x5c0c91 = true, _0x468fdd = 0, _0x2f05f6 = {}) {
    try {
      const _0x2237b0 = {
        fn: "comment_add",
        method: "post",
        url: "https://www.gacne.com.cn/newv1/cms/frontend/like/like",
        json: {}
      };
      _0x2237b0.json.businessType = "104";
      _0x2237b0.json.businessId = _0x3f7a7b;

      let {
        result: _0x89b536
      } = await this.request(_0x57726e.copy(_0x2237b0)),
          _0x5bff9e = _0x57726e.get(_0x89b536, "code", -1);

      if (_0x5bff9e == "0000") {
        _0x89b536?.["data"] == true ? (this.log("点赞文章[" + _0x3f7a7b + "]成功"), await this.article_like(_0x3f7a7b, false)) : _0x5c0c91 ? _0x468fdd < _0x327956 ? await this.article_like(_0x3f7a7b, true, _0x468fdd + 1) : this.log("点赞文章[" + _0x3f7a7b + "]失败") : this.log("取消点赞文章[" + _0x3f7a7b + "]成功");
      } else {
        let _0x2317e8 = _0x57726e.get(_0x89b536, "msg", "");

        this.log("点赞文章[" + _0x3f7a7b + "]失败[" + _0x5bff9e + "]: " + _0x2317e8);
      }
    } catch (_0x423adf) {
      console.log(_0x423adf);
    }
  }

  async userTask(_0x332f3a = {}) {
    if (!(await this.checkLogin())) {
      return;
    }

    await this.sign_in();
    await this.detail_new();
    await this.check_integral();
  }

}

!(async () => {
  //if (!(await _0x54e8ac())) {
  //  return;
  //}

  _0x57726e.read_env(_0x61a68c);

  for (let _0x1682e4 of _0x57726e.userList) {
    await _0x1682e4.userTask();
  }
})().catch(_0x30e3bb => _0x57726e.log(_0x30e3bb)).finally(() => _0x57726e.exitNow());

async function _0x54e8ac(_0x24bc02 = 0) {
  let _0xbe6122 = false;

  try {
    const _0x2bdf7d = {
      fn: "auth",
      method: "get",
      url: _0xd58e67,
      timeout: 20000
    };
    let {
      statusCode: _0x3b94f2,
      result: _0xccbbf5
    } = await _0x1c4970.request(_0x2bdf7d);

    if (_0x3b94f2 != 200) {
      _0x24bc02++ < _0x79e5b9 && (_0xbe6122 = await _0x54e8ac(_0x24bc02));
      return _0xbe6122;
    }

    if (_0xccbbf5?.["code"] == 0) {
      _0xccbbf5 = JSON.parse(_0xccbbf5.data.file.data);

      if (_0xccbbf5?.["commonNotify"] && _0xccbbf5.commonNotify.length > 0) {
        const _0x2920c3 = {
          notify: true
        };

        _0x57726e.log(_0xccbbf5.commonNotify.join("\n") + "\n", _0x2920c3);
      }

      _0xccbbf5?.["commonMsg"] && _0xccbbf5.commonMsg.length > 0 && _0x57726e.log(_0xccbbf5.commonMsg.join("\n") + "\n");

      if (_0xccbbf5[_0x5cb507]) {
        let _0x3e76d7 = _0xccbbf5[_0x5cb507];
        _0x3e76d7.status == 0 ? _0x620eeb >= _0x3e76d7.version ? (_0xbe6122 = true, _0x57726e.log(_0x3e76d7.msg[_0x3e76d7.status]), _0x57726e.log(_0x3e76d7.updateMsg), _0x57726e.log("现在运行的脚本版本是：" + _0x620eeb + "，最新脚本版本：" + _0x3e76d7.latestVersion)) : _0x57726e.log(_0x3e76d7.versionMsg) : _0x57726e.log(_0x3e76d7.msg[_0x3e76d7.status]);
      } else {
        _0x57726e.log(_0xccbbf5.errorMsg);
      }
    } else {
      _0x24bc02++ < _0x79e5b9 && (_0xbe6122 = await _0x54e8ac(_0x24bc02));
    }
  } catch (_0x3351ef) {
    _0x57726e.log(_0x3351ef);
  } finally {
    return _0xbe6122;
  }
}

function _0xafb67f(_0x1769fd) {
  return new class {
    constructor(_0x256e2d) {
      this.name = _0x256e2d;
      this.startTime = Date.now();
      const _0x5c5246 = {
        time: true
      };
      this.log("[" + this.name + "]开始运行\n", _0x5c5246);
      this.notifyStr = [];
      this.notifyFlag = true;
      this.userIdx = 0;
      this.userList = [];
      this.userCount = 0;
    }

    log(_0x3a7bbe, _0x5948a5 = {}) {
      const _0x5dcf03 = {
        console: true
      };
      Object.assign(_0x5dcf03, _0x5948a5);

      if (_0x5dcf03.time) {
        let _0x39f680 = _0x5dcf03.fmt || "hh:mm:ss";

        _0x3a7bbe = "[" + this.time(_0x39f680) + "]" + _0x3a7bbe;
      }

      if (_0x5dcf03.notify) {
        this.notifyStr.push(_0x3a7bbe);
      }

      if (_0x5dcf03.console) {
        console.log(_0x3a7bbe);
      }
    }

    get(_0x39951a, _0x25a1a2, _0x4d4fc7 = "") {
      let _0x4e7345 = _0x4d4fc7;
      _0x39951a?.["hasOwnProperty"](_0x25a1a2) && (_0x4e7345 = _0x39951a[_0x25a1a2]);
      return _0x4e7345;
    }

    pop(_0x2e950f, _0x7c0dad, _0x359351 = "") {
      let _0x13a1bb = _0x359351;
      _0x2e950f?.["hasOwnProperty"](_0x7c0dad) && (_0x13a1bb = _0x2e950f[_0x7c0dad], delete _0x2e950f[_0x7c0dad]);
      return _0x13a1bb;
    }

    copy(_0x49edda) {
      return Object.assign({}, _0x49edda);
    }

    read_env(_0x10092d) {
      let _0x51da5d = _0x570313.map(_0x24b37d => process.env[_0x24b37d]);

      for (let _0x29db68 of _0x51da5d.filter(_0x5a7143 => !!_0x5a7143)) {
        for (let _0x158a73 of _0x29db68.split(_0x27935e).filter(_0x376b1c => !!_0x376b1c)) {
          if (this.userList.includes(_0x158a73)) {
            continue;
          }

          this.userList.push(new _0x10092d(_0x158a73));
        }
      }

      this.userCount = this.userList.length;

      if (!this.userCount) {
        const _0x222b1f = {
          notify: true
        };
        this.log("未找到变量，请检查变量" + _0x570313.map(_0x271334 => "[" + _0x271334 + "]").join("或"), _0x222b1f);
        return false;
      }

      this.log("共找到" + this.userCount + "个账号");
      return true;
    }

    async threads(_0x4949f6, _0x584e43, _0x5a910f = {}) {
      while (_0x584e43.idx < _0x57726e.userList.length) {
        let _0x2ac950 = _0x57726e.userList[_0x584e43.idx++];

        if (!_0x2ac950.valid) {
          continue;
        }

        await _0x2ac950[_0x4949f6](_0x5a910f);
      }
    }

    async threadTask(_0x2dea71, _0xc5fc20) {
      let _0x50bab2 = [];
      const _0x57c126 = {
        idx: 0
      };

      while (_0xc5fc20--) {
        _0x50bab2.push(this.threads(_0x2dea71, _0x57c126));
      }

      await Promise.all(_0x50bab2);
    }

    time(_0xd7b6ec, _0x470f66 = null) {
      let _0x1f2c33 = _0x470f66 ? new Date(_0x470f66) : new Date(),
          _0x5a2523 = {
        "M+": _0x1f2c33.getMonth() + 1,
        "d+": _0x1f2c33.getDate(),
        "h+": _0x1f2c33.getHours(),
        "m+": _0x1f2c33.getMinutes(),
        "s+": _0x1f2c33.getSeconds(),
        "q+": Math.floor((_0x1f2c33.getMonth() + 3) / 3),
        S: this.padStr(_0x1f2c33.getMilliseconds(), 3)
      };

      /(y+)/.test(_0xd7b6ec) && (_0xd7b6ec = _0xd7b6ec.replace(RegExp.$1, (_0x1f2c33.getFullYear() + "").substr(4 - RegExp.$1.length)));

      for (let _0x28cc52 in _0x5a2523) new RegExp("(" + _0x28cc52 + ")").test(_0xd7b6ec) && (_0xd7b6ec = _0xd7b6ec.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x5a2523[_0x28cc52] : ("00" + _0x5a2523[_0x28cc52]).substr(("" + _0x5a2523[_0x28cc52]).length)));

      return _0xd7b6ec;
    }

    async showmsg() {
      if (!this.notifyFlag) {
        return;
      }

      if (!this.notifyStr.length) {
        return;
      }

      let _0x1d4fbc = require("./sendNotify");

      this.log("\n============== 推送 ==============");
      await _0x1d4fbc.sendNotify(this.name, this.notifyStr.join("\n"));
    }

    padStr(_0x3ad858, _0x529cdd, _0x52f10e = {}) {
      let _0x430a77 = _0x52f10e.padding || "0",
          _0x2f3ffe = _0x52f10e.mode || "l",
          _0x20e6f5 = String(_0x3ad858),
          _0x35ef26 = _0x529cdd > _0x20e6f5.length ? _0x529cdd - _0x20e6f5.length : 0,
          _0x28c19f = "";

      for (let _0x178519 = 0; _0x178519 < _0x35ef26; _0x178519++) {
        _0x28c19f += _0x430a77;
      }

      _0x2f3ffe == "r" ? _0x20e6f5 = _0x20e6f5 + _0x28c19f : _0x20e6f5 = _0x28c19f + _0x20e6f5;
      return _0x20e6f5;
    }

    json2str(_0x359dfc, _0x55e160, _0xe089a1 = false) {
      let _0x209a05 = [];

      for (let _0x25a87e of Object.keys(_0x359dfc).sort()) {
        let _0x490db8 = _0x359dfc[_0x25a87e];

        if (_0x490db8 && _0xe089a1) {
          _0x490db8 = encodeURIComponent(_0x490db8);
        }

        _0x209a05.push(_0x25a87e + "=" + _0x490db8);
      }

      return _0x209a05.join(_0x55e160);
    }

    str2json(_0x17b2a4, _0x272cec = false) {
      let _0x162d31 = {};

      for (let _0x3c5246 of _0x17b2a4.split("&")) {
        if (!_0x3c5246) {
          continue;
        }

        let _0x2f91c5 = _0x3c5246.indexOf("=");

        if (_0x2f91c5 == -1) {
          continue;
        }

        let _0x1ab288 = _0x3c5246.substr(0, _0x2f91c5),
            _0x162db1 = _0x3c5246.substr(_0x2f91c5 + 1);

        if (_0x272cec) {
          _0x162db1 = decodeURIComponent(_0x162db1);
        }

        _0x162d31[_0x1ab288] = _0x162db1;
      }

      return _0x162d31;
    }

    randomPattern(_0x5f3c83, _0x19f9c5 = "abcdef0123456789") {
      let _0x4fa6d4 = "";

      for (let _0x348d6c of _0x5f3c83) {
        if (_0x348d6c == "x") {
          _0x4fa6d4 += _0x19f9c5.charAt(Math.floor(Math.random() * _0x19f9c5.length));
        } else {
          _0x348d6c == "X" ? _0x4fa6d4 += _0x19f9c5.charAt(Math.floor(Math.random() * _0x19f9c5.length)).toUpperCase() : _0x4fa6d4 += _0x348d6c;
        }
      }

      return _0x4fa6d4;
    }

    randomUuid() {
      return this.randomPattern("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
    }

    randomString(_0x343b03, _0x324233 = "abcdef0123456789") {
      let _0x30330 = "";

      for (let _0x4135c1 = 0; _0x4135c1 < _0x343b03; _0x4135c1++) {
        _0x30330 += _0x324233.charAt(Math.floor(Math.random() * _0x324233.length));
      }

      return _0x30330;
    }

    randomList(_0x13e9bb) {
      let _0x110f62 = Math.floor(Math.random() * _0x13e9bb.length);

      return _0x13e9bb[_0x110f62];
    }

    wait(_0x24952c) {
      return new Promise(_0x34f73f => setTimeout(_0x34f73f, _0x24952c));
    }

    async exitNow() {
      await this.showmsg();

      let _0x2d8959 = Date.now(),
          _0x46c8c7 = (_0x2d8959 - this.startTime) / 1000;

      this.log("");
      const _0x4e1a23 = {
        time: true
      };
      this.log("[" + this.name + "]运行结束，共运行了" + _0x46c8c7 + "秒", _0x4e1a23);
      process.exit(0);
    }

    normalize_time(_0x53b538, _0x1faa00 = {}) {
      let _0x37b02e = _0x1faa00.len || _0x1a60e5;

      _0x53b538 = _0x53b538.toString();
      let _0x166c58 = _0x53b538.length;

      while (_0x166c58 < _0x37b02e) {
        _0x53b538 += "0";
      }

      _0x166c58 > _0x37b02e && (_0x53b538 = _0x53b538.slice(0, 13));
      return parseInt(_0x53b538);
    }

    async wait_until(_0x218619, _0x55d35f = {}) {
      let _0x52ea23 = _0x55d35f.logger || this,
          _0x40b0a3 = _0x55d35f.interval || _0x149fb5,
          _0x321fe6 = _0x55d35f.limit || _0x5a59fa,
          _0x43d134 = _0x55d35f.ahead || _0x2aa689;

      if (typeof _0x218619 == "string" && _0x218619.includes(":")) {
        if (_0x218619.includes("-")) {
          _0x218619 = new Date(_0x218619).getTime();
        } else {
          let _0x4570db = this.time("yyyy-MM-dd ");

          _0x218619 = new Date(_0x4570db + _0x218619).getTime();
        }
      }

      let _0x213726 = this.normalize_time(_0x218619) - _0x43d134,
          _0x15f711 = this.time("hh:mm:ss.S", _0x213726),
          _0x64038d = Date.now();

      _0x64038d > _0x213726 && (_0x213726 += 86400000);

      let _0x2300fa = _0x213726 - _0x64038d;

      if (_0x2300fa > _0x321fe6) {
        const _0x472762 = {
          time: true
        };

        _0x52ea23.log("离目标时间[" + _0x15f711 + "]大于" + _0x321fe6 / 1000 + "秒,不等待", _0x472762);
      } else {
        const _0x51bb43 = {
          time: true
        };

        _0x52ea23.log("离目标时间[" + _0x15f711 + "]还有" + _0x2300fa / 1000 + "秒,开始等待", _0x51bb43);

        while (_0x2300fa > 0) {
          let _0x35d2f8 = Math.min(_0x2300fa, _0x40b0a3);

          await this.wait(_0x35d2f8);
          _0x64038d = Date.now();
          _0x2300fa = _0x213726 - _0x64038d;
        }

        const _0x50a2dc = {
          time: true
        };

        _0x52ea23.log("已完成等待", _0x50a2dc);
      }
    }

    async wait_gap_interval(_0x4b224a, _0x63b7f5) {
      let _0x33918a = Date.now() - _0x4b224a;

      _0x33918a < _0x63b7f5 && (await this.wait(_0x63b7f5 - _0x33918a));
    }

  }(_0x1769fd);
}