Greasy Fork is available in English.

115不大助手 (full)

Make 115 taerg again!

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Greasemonkey lub Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana będzie instalacja rozszerzenia Tampermonkey lub Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, musisz zainstalować rozszerzenie menedżera skryptów użytkownika.

(Mam już menedżera skryptów użytkownika, pozwól mi to zainstalować!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Musisz zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

(Mam już menedżera stylów użytkownika, pozwól mi to zainstalować!)

// ==UserScript==
// @name         115不大助手 (full)
// @namespace    com.cloud115.enhancer
// @version      0.8.16
// @author       生瓜太保
// @description  Make 115 taerg again!
// @license      GPLv3
// @icon         https://cdnres.115.com/site/static/style_v11.2/frame/images/logo.svg
// @homepage     https://greasyfork.org/zh-CN/scripts/474231-115不大助手?locale_override=1
// @supportURL   https://greasyfork.org/zh-CN/scripts/474231-115不大助手?locale_override=1
// @match        https://*.115.com/*
// @match        https://115.com/*
// @match        https://v.anxia.com/*
// @match        https://anxia.com/*
// @match        https://115cdn.com/*
// @match        https://115vod.com/*
// @exclude      https://q.115.com/*
// @exclude      https://cdnassets.115.com/*
// @connect      *
// @grant        GM_addStyle
// @grant        GM_deleteValue
// @grant        GM_getValue
// @grant        GM_info
// @grant        GM_openInTab
// @grant        GM_registerMenuCommand
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @run-at       document-body
// ==/UserScript==

(function () {
  'use strict';

  const d$1=new Set;const At = async e=>{d$1.has(e)||(d$1.add(e),(t=>{typeof GM_addStyle=="function"?GM_addStyle(t):document.head.appendChild(document.createElement("style")).append(t);})(e));};

  At(' @charset "UTF-8";.ce-custom-url-help{position:fixed;top:0;left:0;z-index:10000;width:430px;height:100%;background:#fff;font-size:12px}.ce-custom-url-help .ce-custom-url-help-body{height:80%;overflow-y:auto;padding:20px 20px 300px}.ce-custom-url-help h1 a{float:right;color:#1e87f0;font-size:14px}.ce-custom-url-help h1 a:hover{color:#1e87f0;text-decoration:underline}.ce-custom-url-help table{width:100%;margin-bottom:20px}.ce-custom-url-help .ce-variable{cursor:pointer;color:#1e87f0;font-size:14px}.ce-custom-url-help .ce-variable:hover{color:#093d71}.ce-config.ce-offline-config{max-height:70vh;overflow-y:auto}.ce-config.ce-offline-config .pure-control-group label{width:160px;text-align:left}.ce-config.ce-offline-config .ce-tips{margin-top:20px}.ce-offline-exporter{position:absolute;left:140px;top:62px;background:#f4f2ff;padding:6px 10px;border-radius:4px}.ce-offline-exporter button{margin-right:6px}.offline-exporter-config-form{width:550px;padding:10px}.swal2-input#swalDeleteFile{width:20px;padding:0;height:20px;margin:0;vertical-align:sub;cursor:pointer}body.ce-list-s #js-main{padding-top:40px}body.ce-list-s .ce-offline-exporter{top:92px}.ce-offline-searcher{position:absolute;left:140px;top:58px;background:#f4f2ff;padding:4px 10px;border-radius:4px}.ce-offline-searcher.loading form{opacity:.5;pointer-events:none;cursor:wait}.ce-offline-searcher fieldset{padding:0!important}.ce-offline-searcher .clearable-wrap{position:relative;width:320px}.ce-offline-searcher .clearable-wrap.is-empty .btn-clear{display:none}.ce-offline-searcher .clearable-wrap input{width:300px;padding-right:35px!important}.ce-offline-searcher .clearable-wrap .btn-clear{position:absolute;right:30px;top:4px;display:block}.ce-offline-searcher .form-item{display:inline-block;margin-right:10px;vertical-align:middle}.ce-offline-searcher .form-item input{padding:.3em}.ce-offline-searcher .form-item select{height:2em;padding:.1em .3em}.ce-offline-searcher .form-item label{margin-right:5px}.ce-offline-searcher .help-trigger{font-size:12px}.ce-offline-searcher .list{display:none}.ce-offline-searcher .stop-on-found{width:16px;height:16px;vertical-align:middle;cursor:pointer}.ce-offline-searcher .search-tips{position:fixed;top:146px;bottom:30px;left:0;width:100%;background:#fff;z-index:9999}.ce-offline-searcher .search-tips .tips-body{padding:20px;position:absolute;top:70px;left:50%;transform:translate(-50%,-50%);background:#f4f2ff;width:80%;border-radius:6px}.cloud115-eh-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-drawer{visibility:hidden}.ce-drawer.is-visible{visibility:visible}.ce-drawer.is-open .ce-drawer__overlay{opacity:.5}.ce-drawer.is-open .ce-drawer__content{transform:translate(0)}.ce-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:200;opacity:0;transition-property:opacity;background-color:#000;user-select:none}.ce-drawer__content{position:fixed;top:0;right:0;bottom:0;height:100%;width:100%;z-index:9999;overflow:auto;transition-property:transform;display:flex;flex-direction:column;transform:translate(100%);box-shadow:0 2px 6px #777}.k-p-e{font-size:12px}.v-popper.v-popper--theme-dropdown{display:inline-block}.group-manager{width:750px;padding-top:8px}.group-manager a{font-size:12px;padding:4px 6px;margin-right:8px}.group-manager .group-label{color:#fff;font-size:12px;margin-right:10px;border-radius:4px;padding:2px 8px;background:#66acf9}.group-manager .label-readonly{color:#f40;padding:0 4px;border-radius:4px;vertical-align:middle;margin-right:6px;border:2px dashed #f40}.append-form{background:#fff;width:350px;padding:10px;border-radius:4px}.append-form input,.append-form textarea{width:100%}.group-form{background:#fff;padding:10px;border-radius:4px}.group-form .pure-control-group{margin-bottom:10px}.group-form input,.group-form textarea{width:80%}.group-form .filter-label{cursor:pointer;padding:0 4px;text-decoration:underline}.group-form input#groupLabel,.group-form input#groupUrl{display:inline-block}.group-form #groupValues{resize:vertical}.group-form .values{display:flex}.group-form .values textarea{width:98%;font-size:12px;line-height:22px}.group-form .values .v-input{flex:6}.group-form .values .v-help{flex:4}.groups-list{background:#fff;width:565px;padding:10px;border-radius:4px;box-shadow:0 0 4px #d8d8d8}.groups-list table th,.groups-list table td{padding:4px 6px}.groups-list ul li{border-bottom:1px solid #eee;padding:4px}.groups-list ul li:nth-last-child(1){border-bottom:none}.groups-list span{display:inline-block}.groups-list .p-index{width:30px}.groups-list .p-label{width:120px}.groups-list .p-actions button{margin-right:8px}.group-confirm-delete{padding:20px}.cloud115-eh-cleaner-help{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.cloud115-eh-cleaner-help ul{list-style:decimal}.pagination-container{margin:8px 0}.pagination-container li{margin-right:10px}.pagination-container li .paginate-buttons{padding:4px 8px;width:46px;text-align:center}.pagination-container li .paginate-buttons.active-page{color:#411cc8;font-weight:700}ul#componentContainer{padding-inline-start:0;list-style-type:none;display:inline-flex}ul#componentContainer a{text-decoration:none;display:flex;justify-content:center;align-items:center}.ce-file-list[data-v-db0ac01f]{padding:20px 10px 50px 20px}.ce-file-list table[data-v-db0ac01f]{font-size:12px}.ce-file-list table td[data-v-db0ac01f]{word-break:break-all}.ce-button-group button{border:none;padding:2px 6px;border-radius:0;vertical-align:baseline}.ce-button-group button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.ce-button-group button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.ce-button-group button:not(:last-child){border-right:1px solid #f6f6f6}.ce-cleaner-config{max-height:500px;width:600px;overflow-y:auto;padding:14px}.ce-cleaner-config .pure-control-group label{width:230px!important}.ce-cleaner-config .ce-tips{margin-top:20px;margin-left:56px}.ce-cleaner-config .pure-form-message{margin-left:56px}.ce-empty-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-empty-cleaner-help[data-v-ce900ab5]{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.ce-empty-cleaner-help ul[data-v-ce900ab5]{list-style:decimal}#cloud115EmptyCleaner{margin-left:10px}.ce-empty-cleaner{position:relative}.ce-empty-cleaner .top-actions .pure-control-group label{width:auto;text-align:left}.ce-empty-cleaner .ec-logs{max-height:250px;overflow-y:auto;max-width:72%;background:#f4f4f4;padding:10px;line-height:22px;font-size:12px;margin-bottom:20px}.ce-empty-cleaner .ec-items{margin-bottom:30px}.ce-empty-cleaner .ec-items table{font-size:12px;width:72%}.ce-empty-cleaner .ec-items table .tr-deleted>td:not(:last-child){text-decoration:line-through}.ce-empty-cleaner .btn-global-clear{float:right}.ce-empty-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.ce-empty-cleaner-drawer.loading{cursor:wait}.ce-empty-cleaner-drawer.loading button,.ce-empty-cleaner-drawer.loading input{cursor:no-drop;pointer-events:none}.input-small[data-v-0eae9efb]{padding:2px 4px;width:auto}.ce-basic-config .pure-form-message{margin-left:82px}.ce-basic-config .avatar-preview{display:inline-block;vertical-align:middle;margin-left:10px}.ce-basic-config .pure-control-group input.input-small{padding:2px 4px;width:auto}.ce-clouddrive-config-item{margin-bottom:20px;border:1px solid #cbcbcb;border-radius:0;padding:4px}.ce-clouddrive-config-item.active{background:#fefcea}.ce-clouddrive-config-item input:not([type]){font-size:12px}.ce-clouddrive-config-item .button-error{float:right}.ce-clouddrive-config .cd-tips a{text-decoration:underline}.ce-clouddrive-config .cd-code{font-size:110%;cursor:pointer;user-select:none}.ce-list-config .pure-control-group label{width:16em!important}.ce-list-config .pure-form-message{margin-left:3em}.ce-search-config .pure-control-group label{width:15em!important}.ce-search-config .pure-form-message{margin-left:3em}.ce-tools-config{padding-bottom:100px}.ce-tools-config .pure-control-group label{width:15em!important}.ce-tools-config .pure-form-message{margin-left:3em}.menu-basic-config .pure-control-group label,.official-menu-config .pure-form label{width:170px!important;display:inline-block!important}.official-menu-config .pure-form label small{color:#999}.official-menu-config .pure-form legend .ce-label{cursor:pointer;font-size:12px;float:right}.official-menu-config .pure-form .ce-toggle{font-size:12px;cursor:pointer;color:#909399}.official-menu-config .pure-form .menu-key{opacity:0}.official-menu-config .pure-form .menu-item:hover .menu-key{opacity:1}.official-menu-config .pure-form .hidden .ce-toggle{color:#1890ff}.ce-field{background:#fff;margin-bottom:1px;padding:4px}.ce-field:hover{background:#fefcea}.ce-field label{display:inline-block!important}.ce-field input[type=checkbox],.ce-field input[type=radio]{width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.menu-name-path-block{width:250px;max-height:405px;overflow-y:auto}.menu-name-path-block legend{text-align:center}.menu-name-path-block .ce-field label{width:180px}.menu-config-block .ce-search-sub{padding-left:20px;color:#909399}.menu-config-block span.btn-toggle-top{margin-left:8px;cursor:pointer;opacity:.3}.menu-config-block span.btn-toggle-top.active{opacity:1}.ce-menu-config input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-menu-config .btn-view-info{display:inline-block;margin-right:6px;vertical-align:middle;cursor:help}.menu-config-block{display:inline-block;border-radius:6px;margin:4px;vertical-align:top;padding:0 6px;background:#f9f9f9}.menu-config-block>form>legend{border:none;text-align:center;font-size:14px;color:#5092ff;padding:4px;margin-bottom:0}.menu-config-block>form>fieldset>div{background:#fff;margin-bottom:1px;padding:4px}.menu-config-block>form>fieldset>div:hover{background:#fefcea}.menu-config-block label{display:inline-block;width:120px;font-size:12px;line-height:20px;vertical-align:middle;cursor:pointer}.ce-custom-url{border-radius:4px;box-shadow:0 0 5px #eee;border:1px solid #eee;margin-bottom:20px;padding:0 10px;background:#fff}.ce-custom-url label{cursor:pointer}.ce-custom-url input:not([type]){font-size:12px}.ce-custom-url textarea{font-size:12px;resize:vertical}.ce-custom-url input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-custom-url .ce-custom-url-index{font-size:14px;font-weight:700;margin-right:20px}.ce-custom-url legend .button-error{float:right}.ce-custom-url fieldset>div{margin-bottom:1px;padding:4px}.ce-custom-url fieldset>div:hover{background:#fefcea}.ce-custom-urls{padding-bottom:100px}.ce-custom-urls .item-icon img{vertical-align:middle}.ce-custom-urls .item-memo{display:inline-block;width:320px}.ce-play-urls{padding-bottom:100px}.ce-play-urls .item-icon img{vertical-align:middle}.ce-play-urls .item-memo{display:inline-block;width:350px}.ce-play-urls .extra-memo{font-size:12px;margin-left:10px}.ce-play-urls .extra-memo a{text-decoration:underline;color:#337ab7}.ce-anxia-config .pure-control-group label{width:9em}.ce-anxia-config .pure-form-message{margin-left:3em}.ce-share-config .pure-control-group label{width:15em!important}.ce-share-config .pure-form-message,.ce-share-config .ce-share-tool .pure-control-group{margin-left:3em}.ce-config-main .ce-intro{margin-left:35%;color:#7676ff}.ce-config-main .ce-intro small{color:#999}.ce-config-main .ce-config-main-body{padding:10px}.ce-config-main .ce-config-main-header{padding:10px;position:sticky;top:0;background:#fff;z-index:100000;box-shadow:0 1px 2px #e9e9e9}.ce-config-main .ce-config-main-header h1{display:inline;font-size:18px}.ce-config-main .ce-config-main-header .ce-config-main-close{float:right;vertical-align:top;color:#89929b;cursor:pointer;padding:2px 20px;border-radius:6px}.ce-config-main .ce-config-main-header .ce-config-main-close:hover{background:#fefcea;color:#0275ff}.ce-config-main .ce-offline-config{max-height:unset}.ce-goto-main{position:relative;margin-right:5px}.ce-goto-main.ce-goto-sug-shown .ce-goto-input-wrap{border-radius:6px 6px 0 0}.ce-goto-main.ce-goto-sug-shown .ce-goto-sug{display:block}.ce-goto-main .ce-goto-input-wrap{position:relative;overflow:hidden;border:1px solid #cfcccc;border-radius:6px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input{border-radius:6px 6px 0 0;border:none;padding:4px 10px;width:100%;box-sizing:border-box;color:#2877f8;border-bottom:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn{position:absolute;border:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn:hover{color:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]{top:5px;font-size:12px;background:#aeaeae;color:#fff;padding:0 4px;border-radius:4px;cursor:pointer}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]:hover{background:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd][disabled]{background:#d7d7d7;cursor:not-allowed}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=clear]{right:10px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=toggle]{right:50px}.ce-goto-main .ce-goto-sug{display:none;position:absolute;background:#fff;width:100%;padding:10px 10px 10px 8px;max-height:250px;z-index:999999;overflow-y:auto;box-shadow:0 5px 8px #ededed;border-radius:0 0 6px 6px;border:1px solid #cfcccc;box-sizing:border-box;border-top:none}.ce-goto-main .ce-goto-sug .ce-goto-sug-item{padding:4px 10px;background:#f4f6fc;margin-bottom:4px;cursor:pointer;border-radius:4px;font-size:12px;color:#353535}.ce-goto-main .ce-goto-sug .ce-goto-sug-item:hover{background:#d7d7d7}.ce-goto-main .ce-goto-sug .ce-goto-sug-item.active{background:#f4e1cf;color:#2877f8}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-prefix,.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sep{color:#a4a4a4}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-index{display:inline-block;background:#6ab2ff;font-size:10px;min-width:20px;color:#fff;border-radius:4px;text-align:center;padding:0 2px;margin-right:4px} ');

  const Vy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#000c;border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:linear-gradient(transparent,#0000000d 40%,#0000001a)}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px #00000026 inset,0 0 6px #0003 inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}`;At(Vy);const qy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}`;At(qy);const Wy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}`;At(Wy);const Ky=".resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}";At(Ky);const Gy=".text-center{text-align:center}.text-bold{font-weight:700}.text-cross{text-decoration:line-through}.text-ul{text-decoration:underline}.text-ul-dot{text-decoration:underline dotted}.text-primary{color:#1890ff}.text-success{color:#13ce66}.text-warning{color:#ffba00}.text-danger{color:#ff4949}.text-info{color:#909399}.ce-label{padding:2px 4px;background:#909399;color:#fff;border-radius:4px}.ce-label.ce-label-primary{background:#1890ff}.ce-label.ce-label-warning{background:#ffba00}.ce-label.ce-label-danger{background:#ff4949}.ce-label.ce-label-success{background:#13ce66}.ce-label.ce-label-primary-plain{color:#409eff;background:#ecf5ff}.ce-tag-plain{padding:1px 4px;border:1px solid #1890ff;border-radius:4px}input.ce-checkbox{width:20px;height:20px;cursor:pointer}.ce-hidden{display:none!important}";At(Gy);const Jy='@charset "UTF-8";.tabs-component .tabs-component-tabs{border:solid 1px #ddd;border-radius:6px;margin-bottom:5px}@media (min-width: 700px){.tabs-component .tabs-component-tabs{border:0;align-items:stretch;display:flex;justify-content:flex-start;margin-bottom:1px}}.tabs-component .tabs-component-tabs .tabs-component-tab{color:#999;font-size:14px;font-weight:600;margin-right:0;list-style:none;border-bottom:dotted 1px #ddd}.tabs-component .tabs-component-tabs .tabs-component-tab:hover{color:#666}.tabs-component .tabs-component-tabs .tabs-component-tab.is-disabled *{color:#cdcdcd;cursor:not-allowed!important}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{color:#000}.tabs-component .tabs-component-tabs .tabs-component-tab .tabs-component-tab-a{align-items:center;color:inherit;display:flex;padding:.75em 1em;text-decoration:none}@media (min-width: 700px){.tabs-component .tabs-component-tabs .tabs-component-tab{background-color:#fff;border:solid 1px #ddd;border-radius:3px 3px 0 0;margin-right:.5em;transform:translateY(2px);transition:transform .3s ease}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{border-bottom:solid 1px #fff;z-index:2;transform:translateY(2px)}}.tabs-component .tabs-component-panels{padding:1em 0}@media (min-width: 700px){.tabs-component .tabs-component-panels{background-color:#fff;border:solid 1px #ddd;border-radius:0 6px 6px;box-shadow:0 0 10px #0000000d;padding:1em}}.tabs-component .tabs-component-btn{cursor:pointer;background:#e1ecf4;border-radius:3px;border:1px solid #7aa7c7;padding:4px 8px;color:#39739d}.tabs-component .tabs-component-btn:hover{background-color:#b3d3ea;color:#2c5777}.tabs-component .tabs-component-btn:active{background-color:#a0c7e4;box-shadow:none;color:#2c5777}.ce-tips{background:#eee;border-radius:4px;padding:4px;font-size:12px;color:#595959;margin-bottom:10px}.ce-hr{border:0;height:1px;background-image:linear-gradient(to right,#0000,#ccc,#0000)}.ce-config input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-config legend{font-size:16px;color:#1890ff}.ce-config-help{font-size:11px;cursor:pointer}.ce-ec-detail{text-align:left;font-size:14px}.ce-ec-detail span{color:#1890ff;display:inline-block;width:90px;text-align:right}.ce-textarea-trans{color:#7d7d7d;border:none;margin:0;padding:0}.swal2-container{z-index:99999999!important}.ce-swal-text-left .swal2-html-container{text-align:left!important}.swal2-checkbox input{width:20px;height:20px;cursor:pointer}';At(Jy);const Yy='@charset "UTF-8";div[class^=fp-].hidden-watermark{display:none!important}div.list-header[rel=list_header]{display:flex!important}div#exsame_list_content>ul{border-bottom:2px dashed #2778f8;padding-bottom:6px}';At(Yy);var Qy=typeof GM_addStyle<"u"?GM_addStyle:void 0,Xy=typeof GM_deleteValue<"u"?GM_deleteValue:void 0,lc=typeof GM_getValue<"u"?GM_getValue:void 0,Zy=typeof GM_info<"u"?GM_info:void 0,Jr=typeof GM_openInTab<"u"?GM_openInTab:void 0,ks=typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0,eb=typeof GM_setClipboard<"u"?GM_setClipboard:void 0,lu=typeof GM_setValue<"u"?GM_setValue:void 0,Ta=typeof GM_xmlhttpRequest<"u"?GM_xmlhttpRequest:void 0,tb={name:"115不大助手",version:"0.8.16"},gt=(e=>(e.basic="basic_config",e.anxia="anxia_config",e.clouddrive="clouddrive_configs",e.list="list_config",e.enabledCustomUrlsForSearch="enabled_custom_urls_for_search",e.enabledCustomUrlsForPlay="enabled_custom_urls_for_play",e.menuCustomUrlsForSearch="menu_custom_urls_for_search",e.menuCustomUrlsForPlay="menu_custom_urls_for_play",e.menu="ce_menu_config",e.hiddenOfficialMenuKeys="hidden_official_menu_keys",e.offline="offlineExporterConfig",e.search="search_config",e.tools="tools_config",e.cleanerConfig="cleanerConfig",e.cleanerSuffixGroups="suffixGroups",e.cleanerKeywordGroups="keywordGroups",e.emptyCleanerConfig="emptyCleanerConfig",e.share="share",e))(gt||{});const uc=Object.values(gt),Gp=async(e,t)=>lc(e,t),nb=async(e,t)=>lu(e,t),Jp=async e=>Xy(e),ob=async()=>{for(const e of uc)await Jp(e);},Yp=async()=>{const e={};for(const t of uc)e[t]=await Gp(t,{});return e};async function ib(){const e=await Yp(),t=tb;e._meta={name:t.name,version:t.version,time:new Date().toLocaleString(),browser:navigator.userAgent},e._schema="pan115_enhancer_configs";const n=document.createElement("a");n.href=URL.createObjectURL(new Blob([JSON.stringify(e,null,2)],{type:"application/json"})),n.download=`${t.name}-v${t.version}-配置.json`,n.click();}async function sb(){return new Promise((e,t)=>{const n=document.createElement("input");n.type="file",n.accept="application/json",n.oncancel=()=>{t("取消选择文件!");},n.onchange=async()=>{const o=n.files&&n.files[0];if(!o){t("未选择文件!");return}const i=await new Promise((r,a)=>{const l=new FileReader;l.onload=()=>{try{r(JSON.parse(l.result));}catch(c){a(c);}},l.onerror=()=>{a(l.error);},l.readAsText(o);});if(i._schema!=="pan115_enhancer_configs"){t("这不是一个脚本配置文件!");return}const s=[];for(const r of uc)s.push(r),i[r]&&await Xe.set(r,i[r]);e({data:i,importedKeys:s});},n.click();})}const Xe={get:Gp,set:nb,remove:Jp,clear:ob,getAll:Yp};function La(e,...t){return new e(t[0])}async function Wo(e,t,n){return new Promise(async(o,i)=>{if(typeof e!="function"){i("提供的参数`fulfill`不是一个Function!");return}let s=false;e(l=>{s=true,o(l);});let r=setInterval(async()=>{if(s){clearTimeout(a),clearInterval(r);return}e(l=>{clearTimeout(a),clearInterval(r),o(l);});},t),a=setTimeout(()=>{clearInterval(r),i("超时");},n);})}async function kt(e){return new Promise(t=>{setTimeout(t,e);})}function lt(e,t,n){let o;return function(...i){const s=()=>{o=void 0,e.apply(this,i);};clearTimeout(o),o=setTimeout(s,t);}}function ci(e,t){t=t||window,t.postMessage(e);}function es(e,t=location.href){const n=new RegExp("(\\?|#|&)"+e+"=([^&#]*)(&|#|$)"),o=t.match(n);return o?o[2]:""}function di(){return Math.floor(Date.now()/1e3)}async function rb(e){const t=Symbol("pending");return await Promise.race([e.then(()=>true,()=>true),new Promise(o=>setTimeout(()=>o(t),0))])!==t}function Qp(e){const t=e.target;e.key==="a"&&(e.ctrlKey||e.metaKey)&&t.select();}function Xp(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function ab(e){e.addEventListener("keydown",t=>{const n=t.target;Xp(n)&&Qp(t);});}function Zp(e,t=.2,n=.5){e.style.transition=`opacity ${n}s`,e.style.opacity=t.toString(),setTimeout(()=>{e.remove();},500);}function eh(e,t){let n=document.querySelector(e);return n||(n=Ue(t)),n}function Ue(e){const t=document.createElement("div");if(t.innerHTML=e.trim(),t.childNodes.length!==1||!(t.firstChild instanceof HTMLElement))throw new Error("Invalid HTML string. It must contain exactly one root element.");return t.firstChild}function th(e,t=document,n=XPathResult.ORDERED_NODE_SNAPSHOT_TYPE){const o=[],i=document.evaluate(e,t,null,n,null);for(let s=0;s<i.snapshotLength;s++){const r=i.snapshotItem(s);r&&o.push(r);}return o}async function qe(e,t=100,n=12e4,o=document){const i=await cc(e,t,n,o);if(i.length)return i[0];throw new Error(`未找到元素:${e}`)}async function cc(e,t=100,n=12e4,o=document){const i=e.indexOf("//")===0;function s(r){if(i){const a=th(e);a.length>0&&r(a);}else {const a=o.querySelectorAll(e);a.length&&r(Array.from(a));}}try{return await Wo(s,t,n)}catch(r){throw console.warn("[find]",r),new Error(`查找元素超时:${e}`)}}async function Gn(e,t=100,n=12e4){const o=e.indexOf("//")===0;function i(s){if(o){const r=th(e);r.length>0&&s(unsafeWindow.$(r));}else {const r=unsafeWindow.$(e);r.length&&s(r);}}try{return await Wo(i,t,n)}catch(s){throw console.warn("[findWithJQuery]",s),new Error(`查找元素超时:${e}`)}}async function lb(e,t,n){const o=await qe(e),i=new MutationObserver(t);return n={attributes:false,childList:true,subtree:false,...n},i.observe(o,n),i}function Ne(e){return document.querySelector(e)}function ub(e){return Array.from(document.querySelectorAll(e))}const cb=["ts","wmv","3pg","mp4","mpg","m4v","iso","mkv","avi","dvd","wmv","i00","i01","i02","i03","i04","i05","i06","i07","i08","i09","i10","i11","i12","mpeg","mov","m2ts","bup","vob","rmvb","md0","md1","md2","md3","md4","md5","mdf","mds","nrg","flv","asf"],db=["jpg","jpeg","png","gif","bmp","svg","webp","tiff","tif","ico","heic","heif","avif","jfif","pjpeg","pjp","apng","raw","cr2","nef","orf","sr2","dng"],fb=["mp3","wav","wma","ogg","ape","flac","aac","m4a","opus","mp2","ra","ram","au","3gp","amr","alac","dsd","dsf","dff","aiff","aif","caf","ac3","dts","tta","wv","mid","midi","kar"];var uu=(e=>(e.video="video",e.audio="audio",e.image="image",e.other="other",e))(uu||{});function Yr(e,t,n="text/plain"){const o=document.createElement("a");document.body.appendChild(o),o.setAttribute("style","display:none");const i=new Blob([e],{type:n}),s=window.URL.createObjectURL(i);o.href=s,o.download=t,o.click(),window.URL.revokeObjectURL(s);}function Wi(e,t=2){if(Number.isNaN(e)||(e=typeof e=="string"?parseInt(e):e,!e))return "0";const n=1024,o=t,i=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,s)).toFixed(o))+" "+i[s]}function Td(e){const t=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=new RegExp(`^(\\d+(?:\\.\\d+)?)(${t.join("|")})$`,"i"),o=e.match(n);if(!o)throw new Error(`无效的文件大小!${e}`);const i=parseFloat(o[1]),s=o[2].toUpperCase(),r=t.indexOf(s);if(r<0)throw new Error(`无效的文件大小!${e}`);return i*Math.pow(1024,r)}function nh(e){return e?cb.indexOf(e.toLowerCase())>-1:false}function oh(e){return e?db.indexOf(e.toLowerCase())>-1:false}function ih(e){return e?fb.indexOf(e.toLowerCase())>-1:false}function pb(e){const t=e.lastIndexOf(".");if(t===-1)return {base:e,ext:""};const n=e.substring(0,t),o=e.substring(t+1);return {base:n,ext:o}}function hb(e){const{ext:t}=pb(e);return nh(t)?"video":ih(t)?"audio":oh(t)?"image":"other"}var ot=(e=>(e.openConfig="openConfig",e.closeConfig="closeConfig",e.basicConfigChange="basicConfigChange",e.listConfigChange="listConfigChange",e.searchConfigChange="searchConfigChange",e.toolsConfigChange="toolsConfigChange",e.listRendered="listRendered",e.shareConfigChange="shareConfigChange",e.topDomChanged="topDomChange",e.officialMenuStyleChange="officialMenuStyleChange",e.renderMenus="renderMenus",e))(ot||{}),yt=(e=>(e.basic="basic",e.clouddrive="clouddrive",e.list="list",e.search="search",e.menus="menus",e.searchMenus="searchMenus",e.playMenus="playMenus",e.offline="offline",e.tools="tools",e.anxia="anxia",e.share="share",e.about="about",e))(yt||{});const Cn={basic:"基础设置",clouddrive:"CloudDrive",list:"列表增强",search:"搜索增强",menus:"菜单设置",searchMenus:"搜索菜单",playMenus:"播放菜单",offline:"离线管理",tools:"工具",anxia:"在线播放",share:"分享增强",about:"关于"};class yn{static EVENT_CLOSE_MENU="__closeMenu";menuType=Pe.listItemHover;injectDecider;keyAttributeName="id";key="";label="";icon="";showIcon=true;title="";onClick=async(t,n)=>{};onMouseOver;onMouseOut;subItems=[];subItemsLocator;isDivider=false;menuItemTemplates={[Pe.dirContext]:{body:`<li id="{key}" class="ce-menu dir-context-menu">
        <a href="javascript:;">{icon}<span>{label}</span></a>
      </li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent dir-context-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<li class="ce-menu-divider"></li>'},[Pe.dirContextSub]:{body:`<span id="{key}" class="ce-menu dir-context-menu-sub sub-item">
        {icon}<span>{label}</span>
      </span>`,divider:'<span class="ce-menu-divider"></span>'},[Pe.listItemContext]:{body:`<li id="{key}" class="ce-menu list-item-context-menu">
        <a href="javascript:;">{icon}<span>{label}</span></a>
      </li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent list-item-context-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<li class="ce-menu-divider"></li>'},[Pe.listItemContextSub]:{body:'<span id="{key}" class="ce-menu list-item-context-menu-sub sub-item">{label}</span>',divider:'<span class="ce-menu-divider"></span>'},[Pe.listItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu" style="">
        {icon}<span>{label}</span>
      </a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent list-item-hover-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.listItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.selection]:{body:'<li id="{key}" class="ce-menu selection-menu">{icon}<span>{label}</span></li>',bodyForMulti:`<li class="ce-menu ce-menu-parent selection-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </li>`,divider:'<li class="ce-menu-divider"></li>'},[Pe.selectionSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu selection-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.shareListItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu list-item-hover-menu" style="">
        {icon}<span>{label}</span>
      </a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent share-list-item-hover-menu list-item-hover-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<a class="ce-menu-divider"></a>'},[Pe.shareListItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu-sub list-item-hover-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'}};constructor(t){Object.assign(this,t);}async decideInject(t){return this.injectDecider?await this.injectDecider(this,t):true}async render(){if(!this.menuType)throw new Error("未指定菜单类型");const t=this.menuItemTemplates[this.menuType];if(!t)throw new Error(`未找到菜单模板:${this.menuType}`);if(this.isDivider){if(!t.divider)throw new Error("未定义模版的divider内容!");const r=document.createElement("div");return r.innerHTML=t.divider,r.firstElementChild}let n=t.body;if(this.subItems&&this.subItems.length>0){if(!t.bodyForMulti)throw new Error("未找到 bodyFormMulti 模版");n=t.bodyForMulti;}const o=document.createElement("div");let i="";this.icon&&this.showIcon&&(this.icon.match(/^(http|https|data:image)/)?i=`<img class="ce-menu-icon" src="${this.icon}" referrerpolicy="no-referrer" />`:this.icon.match(/^data-text:/)?i=`<i class="ce-menu-icon">${this.icon.replace(/^data-text:/,"")}</i>`:i=`<i class="ce-menu-icon ${this.icon}"></i>`),o.innerHTML=n.replace(/{key}/g,this.key).replace(/{label}/g,this.label).replace(/{icon}/g,i);const s=o.firstElementChild;if(i&&s.classList.add("ce-menu-has-icon"),s.setAttribute("title",this.title||""),this.onClick&&(s.addEventListener("click",async r=>{this.onClick&&this.onClick(this,r);}),s.addEventListener("auxclick",async r=>{this.onClick&&this.onClick(this,r);}),s.addEventListener("mousedown",r=>{r.stopPropagation();})),this.onMouseOver&&s.addEventListener("mouseover",async r=>{this.onMouseOver&&this.onMouseOver(this,r);}),this.onMouseOut&&s.addEventListener("mouseout",async r=>{this.onMouseOut&&this.onMouseOut(this,r);}),this.subItems&&this.subItems.length>0){const r=s.querySelector(".sub-items"),a=[];for(const l of this.subItems){const c=await l.render();a.push(c);}r?.append(...a);}return s}async closeMenu(){try{unsafeWindow.Core.FileMenu.HideRight();}catch(t){console.warn('[MenuItem.closeMenu] Failed to call "unsafeWindow.Core.FileMenu.HideRight()"',t);}document.dispatchEvent(new CustomEvent(yn.EVENT_CLOSE_MENU,{detail:{menu:this}}));}async decorateContainer(t){t.setAttribute("ce-done","");}}async function Ma(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),i=o.find(".ce-menu-dropdown");o.addClass("ce-menu-dropdown-opened"),i.addClass("ce-menu-dropdown-active");}async function Oa(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),i=o.find(".ce-menu-dropdown");o.removeClass("ce-menu-dropdown-opened"),i.removeClass("ce-menu-dropdown-active");}class mb extends yn{isDivider=true}class tr{items=[];siblingSelector="";position=bo.after;useObserver=true;observeTarget=document.body;disposeObserverAfterInjection=true;menuType=void 0;_observer;injectDecider;constructor(t){Object.assign(this,t),this.handleMessage();}async createObserver(){return new MutationObserver(async([n])=>{n.type==="childList"&&await this.handleChildListMutation(n);})}handleMessage(){window.addEventListener("message",async t=>{const{event:n,body:o={}}=t.data;if(n===ot.renderMenus&&o.type===this.menuType){const i=[];document.querySelectorAll("#js_data_list .list-contents > ul > li .file-opr:not([ce-done])").forEach(s=>{i.push(s);}),i.length&&await this.perform(i);}},false);}async observe(){if(this._observer=await this.createObserver(),!this._observer)return;const t=await this.getObserveTarget();t&&this.startObserver(t);}async startObserver(t){this._observer&&this._observer.observe(t,{childList:true});}async disposeObserver(){this.disposeObserverAfterInjection&&this._observer&&this._observer.disconnect();}async getObserveTarget(){return typeof this.observeTarget=="string"?await qe(this.observeTarget,800,864e5*7):this.observeTarget}async isMutationMatch(t){const n=t.addedNodes[0];if(n&&n.nodeType!==Node.ELEMENT_NODE)return  false;switch(this.menuType,Pe.dirContext,this.menuType){case Pe.listItemHover:case Pe.shareListItemHover:return  true;case Pe.listItemContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="report"]');case Pe.selection:return  true;case Pe.dirContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="upload"]');default:return  false}}async handleChildListMutation(t){if(!await this.isMutationMatch(t))return;const n=await this.getContainersByMutation(t);await this.perform(n);}async perform(t){for(const n of t)await this.injectToContainer(n);}async getSibling(t){return t.querySelector(this.siblingSelector)}async getContainersByMutation(t){const n=t.addedNodes[0];return await this.getContainersByElement(n)}async getContainersByElement(t){let n=[];switch(this.menuType){case Pe.listItemHover:document.querySelectorAll("#js_data_list .list-contents > ul:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Pe.shareListItemHover:document.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Pe.listItemContext:n=[t];break;case Pe.selection:document.querySelectorAll("#js_top_panel_box #js_operate_box").forEach(o=>{n.push(o);});break;case Pe.dirContext:n=[t];break}return n}async shouldInjectMenuItem(t,n){return await n.decideInject(t)?await this.decideInject(n,t):false}async decideInject(t,n){return this.injectDecider?await this.injectDecider(t,n):true}async injectToContainer(t){const n=await this.getSibling(t);if(!n)return;let o=this.items.slice();this.position===bo.after&&(o=o.reverse());for(let i=0;i<o.length;i++){const s=o[i];if(!await this.shouldInjectMenuItem(t,s))continue;const r=await s.render();this.position===bo.before?n.insertAdjacentElement("beforebegin",r):n.insertAdjacentElement("afterend",r),await s.decorateContainer(t);}}async isFileContainer(t){return !!t.getAttribute("file_id")}async isDirContainer(t){return !!t.getAttribute("cate_id")}async inject(){if(!(!this.menuType||!this.items.length||!this.siblingSelector))if(this.useObserver)await this.observe();else {const t=await this.getObserveTarget();if(!t)return;await this.injectToContainer(t);}}}async function gb(e,t){return !!$(t).closest("li").attr("file_id")}async function sh(e,t){return !!$(t).closest("li").attr("cate_id")}async function wb(e,t){const n=$(t).closest("li");if(n.attr("cate_id")||n.attr("iv")==="1")return  true;const o=n.attr("ico");return o?nh(o)||ih(o)||oh(o):false}function nr(e){return {copyFullName:true,copyPureName:true,copyId:true,copyPickCode:false,copySha1:true,copySha1WithName:true,copyUnixPath:true,copyWinPath:true,copyParentUnixPath:true,copyParentWinPath:true,viewInCloudDrive:true,...e}}function yb(e){return {enabled:true,rename:true,delete:true,play:true,copyNames:true,namePathConfig:nr(),search:false,flattenSubfolders:false,move:true,copy:true,copyTo:true,viewProp:true,showSubFolderSize:true,showSubFolderSizeAndSort:false,exportList:false,viewInCloudDrive:true,topLevelMenus:["rename","delete","play"],...e}}class zt extends yn{menuType=Pe.dirContext;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Oa;}}class dc extends yn{menuType=Pe.dirContextSub}class bb extends tr{menuType=Pe.dirContext;useObserver=true;observeTarget=document.body;disposeObserverAfterInjection=true}function vb(e){return {enabled:true,copyNames:true,namePathConfig:nr(),flattenSubfolders:false,viewInCloudDrive:true,...e}}class ts extends yn{menuType=Pe.listItemContext;constructor(t){super(t);let n;const o=(r,a)=>{a.stopPropagation(),a.preventDefault(),clearTimeout(n);const l=a.target,c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown");c.addClass("ce-menu-dropdown-opened"),u.addClass("ce-menu-dropdown-active"),r.subItems&&r.subItemsLocator&&r.subItemsLocator(r,a);},i=(r,a)=>{a.stopPropagation(),a.preventDefault();const l=a.target;n=setTimeout(()=>{const c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown");c.removeClass("ce-menu-dropdown-opened"),u.removeClass("ce-menu-dropdown-active");},350);},s=(r,a)=>{const l=a.target;if(l.classList.contains("ce-menu-dropdown"))return;const c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown"),f=c[0].getBoundingClientRect();u.css({position:"fixed",left:f.right,top:f.top});};this.subItems?.length&&(this.onMouseOver=o,this.onMouseOut=i,this.subItemsLocator=s);}}class xb extends tr{menuType=Pe.listItemContext}/*!
  * sweetalert2 v11.22.4
  * Released under the MIT License.
  */function rh(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function _b(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ld(e,t){return e.get(rh(e,t))}function Cb(e,t,n){_b(e,t),t.set(e,n);}function kb(e,t,n){return e.set(rh(e,t),n),n}const $b=100,Ie={},Sb=()=>{Ie.previousActiveElement instanceof HTMLElement?(Ie.previousActiveElement.focus(),Ie.previousActiveElement=null):document.body&&document.body.focus();},Eb=e=>new Promise(t=>{if(!e)return t();const n=window.scrollX,o=window.scrollY;Ie.restoreFocusTimeout=setTimeout(()=>{Sb(),t();},$b),window.scrollTo(n,o);}),ah="swal2-",Ab=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error","draggable","dragging"],W=Ab.reduce((e,t)=>(e[t]=ah+t,e),{}),Pb=["success","warning","info","question","error"],Qr=Pb.reduce((e,t)=>(e[t]=ah+t,e),{}),lh="SweetAlert2:",fc=e=>e.charAt(0).toUpperCase()+e.slice(1),Yt=e=>{console.warn(`${lh} ${typeof e=="object"?e.join(" "):e}`);},vi=e=>{console.error(`${lh} ${e}`);},Md=[],Ib=e=>{Md.includes(e)||(Md.push(e),Yt(e));},uh=(e,t=null)=>{Ib(`"${e}" is deprecated and will be removed in the next major release.${t?` Use "${t}" instead.`:""}`);},Ba=e=>typeof e=="function"?e():e,pc=e=>e&&typeof e.toPromise=="function",or=e=>pc(e)?e.toPromise():Promise.resolve(e),hc=e=>e&&Promise.resolve(e)===e,Qt=()=>document.body.querySelector(`.${W.container}`),ir=e=>{const t=Qt();return t?t.querySelector(e):null},bn=e=>ir(`.${e}`),Je=()=>bn(W.popup),ns=()=>bn(W.icon),Db=()=>bn(W["icon-content"]),ch=()=>bn(W.title),mc=()=>bn(W["html-container"]),dh=()=>bn(W.image),gc=()=>bn(W["progress-steps"]),Ra=()=>bn(W["validation-message"]),no=()=>ir(`.${W.actions} .${W.confirm}`),os=()=>ir(`.${W.actions} .${W.cancel}`),xi=()=>ir(`.${W.actions} .${W.deny}`),Tb=()=>bn(W["input-label"]),is=()=>ir(`.${W.loader}`),sr=()=>bn(W.actions),fh=()=>bn(W.footer),Fa=()=>bn(W["timer-progress-bar"]),wc=()=>bn(W.close),Lb=`
  a[href],
  area[href],
  input:not([disabled]),
  select:not([disabled]),
  textarea:not([disabled]),
  button:not([disabled]),
  iframe,
  object,
  embed,
  [tabindex="0"],
  [contenteditable],
  audio[controls],
  video[controls],
  summary
`,yc=()=>{const e=Je();if(!e)return [];const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'),n=Array.from(t).sort((s,r)=>{const a=parseInt(s.getAttribute("tabindex")||"0"),l=parseInt(r.getAttribute("tabindex")||"0");return a>l?1:a<l?-1:0}),o=e.querySelectorAll(Lb),i=Array.from(o).filter(s=>s.getAttribute("tabindex")!=="-1");return [...new Set(n.concat(i))].filter(s=>an(s))},bc=()=>yo(document.body,W.shown)&&!yo(document.body,W["toast-shown"])&&!yo(document.body,W["no-backdrop"]),Na=()=>{const e=Je();return e?yo(e,W.toast):false},Mb=()=>{const e=Je();return e?e.hasAttribute("data-loading"):false},vn=(e,t)=>{if(e.textContent="",t){const o=new DOMParser().parseFromString(t,"text/html"),i=o.querySelector("head");i&&Array.from(i.childNodes).forEach(r=>{e.appendChild(r);});const s=o.querySelector("body");s&&Array.from(s.childNodes).forEach(r=>{r instanceof HTMLVideoElement||r instanceof HTMLAudioElement?e.appendChild(r.cloneNode(true)):e.appendChild(r);});}},yo=(e,t)=>{if(!t)return  false;const n=t.split(/\s+/);for(let o=0;o<n.length;o++)if(!e.classList.contains(n[o]))return  false;return  true},Ob=(e,t)=>{Array.from(e.classList).forEach(n=>{!Object.values(W).includes(n)&&!Object.values(Qr).includes(n)&&!Object.values(t.showClass||{}).includes(n)&&e.classList.remove(n);});},gn=(e,t,n)=>{if(Ob(e,t),!t.customClass)return;const o=t.customClass[n];if(o){if(typeof o!="string"&&!o.forEach){Yt(`Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"`);return}Qe(e,o);}},Ua=(e,t)=>{if(!t)return null;switch(t){case "select":case "textarea":case "file":return e.querySelector(`.${W.popup} > .${W[t]}`);case "checkbox":return e.querySelector(`.${W.popup} > .${W.checkbox} input`);case "radio":return e.querySelector(`.${W.popup} > .${W.radio} input:checked`)||e.querySelector(`.${W.popup} > .${W.radio} input:first-child`);case "range":return e.querySelector(`.${W.popup} > .${W.range} input`);default:return e.querySelector(`.${W.popup} > .${W.input}`)}},ph=e=>{if(e.focus(),e.type!=="file"){const t=e.value;e.value="",e.value=t;}},hh=(e,t,n)=>{!e||!t||(typeof t=="string"&&(t=t.split(/\s+/).filter(Boolean)),t.forEach(o=>{Array.isArray(e)?e.forEach(i=>{n?i.classList.add(o):i.classList.remove(o);}):n?e.classList.add(o):e.classList.remove(o);}));},Qe=(e,t)=>{hh(e,t,true);},An=(e,t)=>{hh(e,t,false);},To=(e,t)=>{const n=Array.from(e.children);for(let o=0;o<n.length;o++){const i=n[o];if(i instanceof HTMLElement&&yo(i,t))return i}},ri=(e,t,n)=>{n===`${parseInt(n)}`&&(n=parseInt(n)),n||parseInt(n)===0?e.style.setProperty(t,typeof n=="number"?`${n}px`:n):e.style.removeProperty(t);},It=(e,t="flex")=>{e&&(e.style.display=t);},Nt=e=>{e&&(e.style.display="none");},vc=(e,t="block")=>{e&&new MutationObserver(()=>{rr(e,e.innerHTML,t);}).observe(e,{childList:true,subtree:true});},Od=(e,t,n,o)=>{const i=e.querySelector(t);i&&i.style.setProperty(n,o);},rr=(e,t,n="flex")=>{t?It(e,n):Nt(e);},an=e=>!!(e&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),Bb=()=>!an(no())&&!an(xi())&&!an(os()),cu=e=>e.scrollHeight>e.clientHeight,Rb=(e,t)=>{let n=e;for(;n&&n!==t;){if(cu(n))return  true;n=n.parentElement;}return  false},mh=e=>{const t=window.getComputedStyle(e),n=parseFloat(t.getPropertyValue("animation-duration")||"0"),o=parseFloat(t.getPropertyValue("transition-duration")||"0");return n>0||o>0},xc=(e,t=false)=>{const n=Fa();n&&an(n)&&(t&&(n.style.transition="none",n.style.width="100%"),setTimeout(()=>{n.style.transition=`width ${e/1e3}s linear`,n.style.width="0%";},10));},Fb=()=>{const e=Fa();if(!e)return;const t=parseInt(window.getComputedStyle(e).width);e.style.removeProperty("transition"),e.style.width="100%";const n=parseInt(window.getComputedStyle(e).width),o=t/n*100;e.style.width=`${o}%`;},Nb=()=>typeof window>"u"||typeof document>"u",Ub=`
 <div aria-labelledby="${W.title}" aria-describedby="${W["html-container"]}" class="${W.popup}" tabindex="-1">
   <button type="button" class="${W.close}"></button>
   <ul class="${W["progress-steps"]}"></ul>
   <div class="${W.icon}"></div>
   <img class="${W.image}" />
   <h2 class="${W.title}" id="${W.title}"></h2>
   <div class="${W["html-container"]}" id="${W["html-container"]}"></div>
   <input class="${W.input}" id="${W.input}" />
   <input type="file" class="${W.file}" />
   <div class="${W.range}">
     <input type="range" />
     <output></output>
   </div>
   <select class="${W.select}" id="${W.select}"></select>
   <div class="${W.radio}"></div>
   <label class="${W.checkbox}">
     <input type="checkbox" id="${W.checkbox}" />
     <span class="${W.label}"></span>
   </label>
   <textarea class="${W.textarea}" id="${W.textarea}"></textarea>
   <div class="${W["validation-message"]}" id="${W["validation-message"]}"></div>
   <div class="${W.actions}">
     <div class="${W.loader}"></div>
     <button type="button" class="${W.confirm}"></button>
     <button type="button" class="${W.deny}"></button>
     <button type="button" class="${W.cancel}"></button>
   </div>
   <div class="${W.footer}"></div>
   <div class="${W["timer-progress-bar-container"]}">
     <div class="${W["timer-progress-bar"]}"></div>
   </div>
 </div>
`.replace(/(^|\n)\s*/g,""),jb=()=>{const e=Qt();return e?(e.remove(),An([document.documentElement,document.body],[W["no-backdrop"],W["toast-shown"],W["has-column"]]),true):false},Yo=()=>{Ie.currentInstance.resetValidationMessage();},zb=()=>{const e=Je(),t=To(e,W.input),n=To(e,W.file),o=e.querySelector(`.${W.range} input`),i=e.querySelector(`.${W.range} output`),s=To(e,W.select),r=e.querySelector(`.${W.checkbox} input`),a=To(e,W.textarea);t.oninput=Yo,n.onchange=Yo,s.onchange=Yo,r.onchange=Yo,a.oninput=Yo,o.oninput=()=>{Yo(),i.value=o.value;},o.onchange=()=>{Yo(),i.value=o.value;};},Hb=e=>typeof e=="string"?document.querySelector(e):e,Vb=e=>{const t=Je();t.setAttribute("role",e.toast?"alert":"dialog"),t.setAttribute("aria-live",e.toast?"polite":"assertive"),e.toast||t.setAttribute("aria-modal","true");},qb=e=>{window.getComputedStyle(e).direction==="rtl"&&Qe(Qt(),W.rtl);},Wb=e=>{const t=jb();if(Nb()){vi("SweetAlert2 requires document to initialize");return}const n=document.createElement("div");n.className=W.container,t&&Qe(n,W["no-transition"]),vn(n,Ub),n.dataset.swal2Theme=e.theme;const o=Hb(e.target);o.appendChild(n),e.topLayer&&(n.setAttribute("popover",""),n.showPopover()),Vb(e),qb(o),zb();},_c=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):typeof e=="object"?Kb(e,t):e&&vn(t,e);},Kb=(e,t)=>{e.jquery?Gb(t,e):vn(t,e.toString());},Gb=(e,t)=>{if(e.textContent="",0 in t)for(let n=0;n in t;n++)e.appendChild(t[n].cloneNode(true));else e.appendChild(t.cloneNode(true));},Jb=(e,t)=>{const n=sr(),o=is();!n||!o||(!t.showConfirmButton&&!t.showDenyButton&&!t.showCancelButton?Nt(n):It(n),gn(n,t,"actions"),Yb(n,o,t),vn(o,t.loaderHtml||""),gn(o,t,"loader"));};function Yb(e,t,n){const o=no(),i=xi(),s=os();!o||!i||!s||(El(o,"confirm",n),El(i,"deny",n),El(s,"cancel",n),Qb(o,i,s,n),n.reverseButtons&&(n.toast?(e.insertBefore(s,o),e.insertBefore(i,o)):(e.insertBefore(s,t),e.insertBefore(i,t),e.insertBefore(o,t))));}function Qb(e,t,n,o){if(!o.buttonsStyling){An([e,t,n],W.styled);return}Qe([e,t,n],W.styled),o.confirmButtonColor&&e.style.setProperty("--swal2-confirm-button-background-color",o.confirmButtonColor),o.denyButtonColor&&t.style.setProperty("--swal2-deny-button-background-color",o.denyButtonColor),o.cancelButtonColor&&n.style.setProperty("--swal2-cancel-button-background-color",o.cancelButtonColor),Sl(e),Sl(t),Sl(n);}function Sl(e){const t=window.getComputedStyle(e);if(t.getPropertyValue("--swal2-action-button-focus-box-shadow"))return;const n=t.backgroundColor.replace(/rgba?\((\d+), (\d+), (\d+).*/,"rgba($1, $2, $3, 0.5)");e.style.setProperty("--swal2-action-button-focus-box-shadow",t.getPropertyValue("--swal2-outline").replace(/ rgba\(.*/,` ${n}`));}function El(e,t,n){const o=fc(t);rr(e,n[`show${o}Button`],"inline-block"),vn(e,n[`${t}ButtonText`]||""),e.setAttribute("aria-label",n[`${t}ButtonAriaLabel`]||""),e.className=W[t],gn(e,n,`${t}Button`);}const Xb=(e,t)=>{const n=wc();n&&(vn(n,t.closeButtonHtml||""),gn(n,t,"closeButton"),rr(n,t.showCloseButton),n.setAttribute("aria-label",t.closeButtonAriaLabel||""));},Zb=(e,t)=>{const n=Qt();n&&(ev(n,t.backdrop),tv(n,t.position),nv(n,t.grow),gn(n,t,"container"));};function ev(e,t){typeof t=="string"?e.style.background=t:t||Qe([document.documentElement,document.body],W["no-backdrop"]);}function tv(e,t){t&&(t in W?Qe(e,W[t]):(Yt('The "position" parameter is not valid, defaulting to "center"'),Qe(e,W.center)));}function nv(e,t){t&&Qe(e,W[`grow-${t}`]);}var ct={innerParams:new WeakMap,domCache:new WeakMap};const ov=["input","file","range","select","radio","checkbox","textarea"],iv=(e,t)=>{const n=Je();if(!n)return;const o=ct.innerParams.get(e),i=!o||t.input!==o.input;ov.forEach(s=>{const r=To(n,W[s]);r&&(av(s,t.inputAttributes),r.className=W[s],i&&Nt(r));}),t.input&&(i&&sv(t),lv(t));},sv=e=>{if(!e.input)return;if(!bt[e.input]){vi(`Unexpected type of input! Expected ${Object.keys(bt).join(" | ")}, got "${e.input}"`);return}const t=gh(e.input);if(!t)return;const n=bt[e.input](t,e);It(t),e.inputAutoFocus&&setTimeout(()=>{ph(n);});},rv=e=>{for(let t=0;t<e.attributes.length;t++){const n=e.attributes[t].name;["id","type","value","style"].includes(n)||e.removeAttribute(n);}},av=(e,t)=>{const n=Je();if(!n)return;const o=Ua(n,e);if(o){rv(o);for(const i in t)o.setAttribute(i,t[i]);}},lv=e=>{if(!e.input)return;const t=gh(e.input);t&&gn(t,e,"input");},Cc=(e,t)=>{!e.placeholder&&t.inputPlaceholder&&(e.placeholder=t.inputPlaceholder);},ar=(e,t,n)=>{if(n.inputLabel){const o=document.createElement("label"),i=W["input-label"];o.setAttribute("for",e.id),o.className=i,typeof n.customClass=="object"&&Qe(o,n.customClass.inputLabel),o.innerText=n.inputLabel,t.insertAdjacentElement("beforebegin",o);}},gh=e=>{const t=Je();if(t)return To(t,W[e]||W.input)},Xr=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:hc(t)||Yt(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`);},bt={};bt.text=bt.email=bt.password=bt.number=bt.tel=bt.url=bt.search=bt.date=bt["datetime-local"]=bt.time=bt.week=bt.month=(e,t)=>(Xr(e,t.inputValue),ar(e,e,t),Cc(e,t),e.type=t.input,e);bt.file=(e,t)=>(ar(e,e,t),Cc(e,t),e);bt.range=(e,t)=>{const n=e.querySelector("input"),o=e.querySelector("output");return Xr(n,t.inputValue),n.type=t.input,Xr(o,t.inputValue),ar(n,e,t),e};bt.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const n=document.createElement("option");vn(n,t.inputPlaceholder),n.value="",n.disabled=true,n.selected=true,e.appendChild(n);}return ar(e,e,t),e};bt.radio=e=>(e.textContent="",e);bt.checkbox=(e,t)=>{const n=Ua(Je(),"checkbox");n.value="1",n.checked=!!t.inputValue;const o=e.querySelector("span");return vn(o,t.inputPlaceholder||t.inputLabel),n};bt.textarea=(e,t)=>{Xr(e,t.inputValue),Cc(e,t),ar(e,e,t);const n=o=>parseInt(window.getComputedStyle(o).marginLeft)+parseInt(window.getComputedStyle(o).marginRight);return setTimeout(()=>{if("MutationObserver"in window){const o=parseInt(window.getComputedStyle(Je()).width),i=()=>{if(!document.body.contains(e))return;const s=e.offsetWidth+n(e);s>o?Je().style.width=`${s}px`:ri(Je(),"width",t.width);};new MutationObserver(i).observe(e,{attributes:true,attributeFilter:["style"]});}}),e};const uv=(e,t)=>{const n=mc();n&&(vc(n),gn(n,t,"htmlContainer"),t.html?(_c(t.html,n),It(n,"block")):t.text?(n.textContent=t.text,It(n,"block")):Nt(n),iv(e,t));},cv=(e,t)=>{const n=fh();n&&(vc(n),rr(n,t.footer,"block"),t.footer&&_c(t.footer,n),gn(n,t,"footer"));},dv=(e,t)=>{const n=ct.innerParams.get(e),o=ns();if(!o)return;if(n&&t.icon===n.icon){Rd(o,t),Bd(o,t);return}if(!t.icon&&!t.iconHtml){Nt(o);return}if(t.icon&&Object.keys(Qr).indexOf(t.icon)===-1){vi(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"`),Nt(o);return}It(o),Rd(o,t),Bd(o,t),Qe(o,t.showClass&&t.showClass.icon),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",wh);},Bd=(e,t)=>{for(const[n,o]of Object.entries(Qr))t.icon!==n&&An(e,o);Qe(e,t.icon&&Qr[t.icon]),hv(e,t),wh(),gn(e,t,"icon");},wh=()=>{const e=Je();if(!e)return;const t=window.getComputedStyle(e).getPropertyValue("background-color"),n=e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let o=0;o<n.length;o++)n[o].style.backgroundColor=t;},fv=e=>`
  ${e.animation?'<div class="swal2-success-circular-line-left"></div>':""}
  <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>
  <div class="swal2-success-ring"></div>
  ${e.animation?'<div class="swal2-success-fix"></div>':""}
  ${e.animation?'<div class="swal2-success-circular-line-right"></div>':""}
`,pv=`
  <span class="swal2-x-mark">
    <span class="swal2-x-mark-line-left"></span>
    <span class="swal2-x-mark-line-right"></span>
  </span>
`,Rd=(e,t)=>{if(!t.icon&&!t.iconHtml)return;let n=e.innerHTML,o="";t.iconHtml?o=Fd(t.iconHtml):t.icon==="success"?(o=fv(t),n=n.replace(/ style=".*?"/g,"")):t.icon==="error"?o=pv:t.icon&&(o=Fd({question:"?",warning:"!",info:"i"}[t.icon])),n.trim()!==o.trim()&&vn(e,o);},hv=(e,t)=>{if(t.iconColor){e.style.color=t.iconColor,e.style.borderColor=t.iconColor;for(const n of [".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])Od(e,n,"background-color",t.iconColor);Od(e,".swal2-success-ring","border-color",t.iconColor);}},Fd=e=>`<div class="${W["icon-content"]}">${e}</div>`,mv=(e,t)=>{const n=dh();if(n){if(!t.imageUrl){Nt(n);return}It(n,""),n.setAttribute("src",t.imageUrl),n.setAttribute("alt",t.imageAlt||""),ri(n,"width",t.imageWidth),ri(n,"height",t.imageHeight),n.className=W.image,gn(n,t,"image");}};let kc=false,yh=0,bh=0,vh=0,xh=0;const gv=e=>{e.addEventListener("mousedown",Zr),document.body.addEventListener("mousemove",ea),e.addEventListener("mouseup",ta),e.addEventListener("touchstart",Zr),document.body.addEventListener("touchmove",ea),e.addEventListener("touchend",ta);},wv=e=>{e.removeEventListener("mousedown",Zr),document.body.removeEventListener("mousemove",ea),e.removeEventListener("mouseup",ta),e.removeEventListener("touchstart",Zr),document.body.removeEventListener("touchmove",ea),e.removeEventListener("touchend",ta);},Zr=e=>{const t=Je();if(e.target===t||ns().contains(e.target)){kc=true;const n=_h(e);yh=n.clientX,bh=n.clientY,vh=parseInt(t.style.insetInlineStart)||0,xh=parseInt(t.style.insetBlockStart)||0,Qe(t,"swal2-dragging");}},ea=e=>{const t=Je();if(kc){let{clientX:n,clientY:o}=_h(e);t.style.insetInlineStart=`${vh+(n-yh)}px`,t.style.insetBlockStart=`${xh+(o-bh)}px`;}},ta=()=>{const e=Je();kc=false,An(e,"swal2-dragging");},_h=e=>{let t=0,n=0;return e.type.startsWith("mouse")?(t=e.clientX,n=e.clientY):e.type.startsWith("touch")&&(t=e.touches[0].clientX,n=e.touches[0].clientY),{clientX:t,clientY:n}},yv=(e,t)=>{const n=Qt(),o=Je();if(!(!n||!o)){if(t.toast){ri(n,"width",t.width),o.style.width="100%";const i=is();i&&o.insertBefore(i,ns());}else ri(o,"width",t.width);ri(o,"padding",t.padding),t.color&&(o.style.color=t.color),t.background&&(o.style.background=t.background),Nt(Ra()),bv(o,t),t.draggable&&!t.toast?(Qe(o,W.draggable),gv(o)):(An(o,W.draggable),wv(o));}},bv=(e,t)=>{const n=t.showClass||{};e.className=`${W.popup} ${an(e)?n.popup:""}`,t.toast?(Qe([document.documentElement,document.body],W["toast-shown"]),Qe(e,W.toast)):Qe(e,W.modal),gn(e,t,"popup"),typeof t.customClass=="string"&&Qe(e,t.customClass),t.icon&&Qe(e,W[`icon-${t.icon}`]);},vv=(e,t)=>{const n=gc();if(!n)return;const{progressSteps:o,currentProgressStep:i}=t;if(!o||o.length===0||i===void 0){Nt(n);return}It(n),n.textContent="",i>=o.length&&Yt("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((s,r)=>{const a=xv(s);if(n.appendChild(a),r===i&&Qe(a,W["active-progress-step"]),r!==o.length-1){const l=_v(t);n.appendChild(l);}});},xv=e=>{const t=document.createElement("li");return Qe(t,W["progress-step"]),vn(t,e),t},_v=e=>{const t=document.createElement("li");return Qe(t,W["progress-step-line"]),e.progressStepsDistance&&ri(t,"width",e.progressStepsDistance),t},Cv=(e,t)=>{const n=ch();n&&(vc(n),rr(n,t.title||t.titleText,"block"),t.title&&_c(t.title,n),t.titleText&&(n.innerText=t.titleText),gn(n,t,"title"));},Ch=(e,t)=>{yv(e,t),Zb(e,t),vv(e,t),dv(e,t),mv(e,t),Cv(e,t),Xb(e,t),uv(e,t),Jb(e,t),cv(e,t);const n=Je();typeof t.didRender=="function"&&n&&t.didRender(n),Ie.eventEmitter.emit("didRender",n);},kv=()=>an(Je()),kh=()=>{var e;return (e=no())===null||e===void 0?void 0:e.click()},$v=()=>{var e;return (e=xi())===null||e===void 0?void 0:e.click()},Sv=()=>{var e;return (e=os())===null||e===void 0?void 0:e.click()},ss=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),$h=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=false);},Ev=(e,t,n)=>{$h(e),t.toast||(e.keydownHandler=o=>Pv(t,o,n),e.keydownTarget=t.keydownListenerCapture?window:Je(),e.keydownListenerCapture=t.keydownListenerCapture,e.keydownTarget.addEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=true);},du=(e,t)=>{var n;const o=yc();if(o.length){e=e+t,e===-2&&(e=o.length-1),e===o.length?e=0:e===-1&&(e=o.length-1),o[e].focus();return}(n=Je())===null||n===void 0||n.focus();},Sh=["ArrowRight","ArrowDown"],Av=["ArrowLeft","ArrowUp"],Pv=(e,t,n)=>{e&&(t.isComposing||t.keyCode===229||(e.stopKeydownPropagation&&t.stopPropagation(),t.key==="Enter"?Iv(t,e):t.key==="Tab"?Dv(t):[...Sh,...Av].includes(t.key)?Tv(t.key):t.key==="Escape"&&Lv(t,e,n)));},Iv=(e,t)=>{if(!Ba(t.allowEnterKey))return;const n=Ua(Je(),t.input);if(e.target&&n&&e.target instanceof HTMLElement&&e.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(t.input))return;kh(),e.preventDefault();}},Dv=e=>{const t=e.target,n=yc();let o=-1;for(let i=0;i<n.length;i++)if(t===n[i]){o=i;break}e.shiftKey?du(o,-1):du(o,1),e.stopPropagation(),e.preventDefault();},Tv=e=>{const t=sr(),n=no(),o=xi(),i=os();if(!t||!n||!o||!i)return;const s=[n,o,i];if(document.activeElement instanceof HTMLElement&&!s.includes(document.activeElement))return;const r=Sh.includes(e)?"nextElementSibling":"previousElementSibling";let a=document.activeElement;if(a){for(let l=0;l<t.children.length;l++){if(a=a[r],!a)return;if(a instanceof HTMLButtonElement&&an(a))break}a instanceof HTMLButtonElement&&a.focus();}},Lv=(e,t,n)=>{e.preventDefault(),Ba(t.allowEscapeKey)&&n(ss.esc);};var Ki={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const Mv=()=>{const e=Qt();Array.from(document.body.children).forEach(n=>{n.contains(e)||(n.hasAttribute("aria-hidden")&&n.setAttribute("data-previous-aria-hidden",n.getAttribute("aria-hidden")||""),n.setAttribute("aria-hidden","true"));});},Eh=()=>{Array.from(document.body.children).forEach(t=>{t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")||""),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden");});},Ah=typeof window<"u"&&!!window.GestureEvent,Ov=()=>{if(Ah&&!yo(document.body,W.iosfix)){const e=document.body.scrollTop;document.body.style.top=`${e*-1}px`,Qe(document.body,W.iosfix),Bv();}},Bv=()=>{const e=Qt();if(!e)return;let t;e.ontouchstart=n=>{t=Rv(n);},e.ontouchmove=n=>{t&&(n.preventDefault(),n.stopPropagation());};},Rv=e=>{const t=e.target,n=Qt(),o=mc();return !n||!o||Fv(e)||Nv(e)?false:t===n||!cu(n)&&t instanceof HTMLElement&&!Rb(t,o)&&t.tagName!=="INPUT"&&t.tagName!=="TEXTAREA"&&!(cu(o)&&o.contains(t))},Fv=e=>e.touches&&e.touches.length&&e.touches[0].touchType==="stylus",Nv=e=>e.touches&&e.touches.length>1,Uv=()=>{if(yo(document.body,W.iosfix)){const e=parseInt(document.body.style.top,10);An(document.body,W.iosfix),document.body.style.top="",document.body.scrollTop=e*-1;}},jv=()=>{const e=document.createElement("div");e.className=W["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t};let Mi=null;const zv=e=>{Mi===null&&(document.body.scrollHeight>window.innerHeight||e==="scroll")&&(Mi=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${Mi+jv()}px`);},Hv=()=>{Mi!==null&&(document.body.style.paddingRight=`${Mi}px`,Mi=null);};function Ph(e,t,n,o){Na()?Nd(e,o):(Eb(n).then(()=>Nd(e,o)),$h(Ie)),Ah?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),bc()&&(Hv(),Uv(),Eh()),Vv();}function Vv(){An([document.documentElement,document.body],[W.shown,W["height-auto"],W["no-backdrop"],W["toast-shown"]]);}function Lo(e){e=Wv(e);const t=Ki.swalPromiseResolve.get(this),n=qv(this);this.isAwaitingPromise?e.isDismissed||(lr(this),t(e)):n&&t(e);}const qv=e=>{const t=Je();if(!t)return  false;const n=ct.innerParams.get(e);if(!n||yo(t,n.hideClass.popup))return  false;An(t,n.showClass.popup),Qe(t,n.hideClass.popup);const o=Qt();return An(o,n.showClass.backdrop),Qe(o,n.hideClass.backdrop),Kv(e,t,n),true};function Ih(e){const t=Ki.swalPromiseReject.get(this);lr(this),t&&t(e);}const lr=e=>{e.isAwaitingPromise&&(delete e.isAwaitingPromise,ct.innerParams.get(e)||e._destroy());},Wv=e=>typeof e>"u"?{isConfirmed:false,isDenied:false,isDismissed:true}:Object.assign({isConfirmed:false,isDenied:false,isDismissed:false},e),Kv=(e,t,n)=>{var o;const i=Qt(),s=mh(t);typeof n.willClose=="function"&&n.willClose(t),(o=Ie.eventEmitter)===null||o===void 0||o.emit("willClose",t),s?Gv(e,t,i,n.returnFocus,n.didClose):Ph(e,i,n.returnFocus,n.didClose);},Gv=(e,t,n,o,i)=>{Ie.swalCloseEventFinishedCallback=Ph.bind(null,e,n,o,i);const s=function(r){if(r.target===t){var a;(a=Ie.swalCloseEventFinishedCallback)===null||a===void 0||a.call(Ie),delete Ie.swalCloseEventFinishedCallback,t.removeEventListener("animationend",s),t.removeEventListener("transitionend",s);}};t.addEventListener("animationend",s),t.addEventListener("transitionend",s);},Nd=(e,t)=>{setTimeout(()=>{var n;typeof t=="function"&&t.bind(e.params)(),(n=Ie.eventEmitter)===null||n===void 0||n.emit("didClose"),e._destroy&&e._destroy();});},Gi=e=>{let t=Je();if(t||new q,t=Je(),!t)return;const n=is();Na()?Nt(ns()):Jv(t,e),It(n),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus();},Jv=(e,t)=>{const n=sr(),o=is();!n||!o||(!t&&an(no())&&(t=no()),It(n),t&&(Nt(t),o.setAttribute("data-button-to-replace",t.className),n.insertBefore(o,t)),Qe([e,n],W.loading));},Yv=(e,t)=>{t.input==="select"||t.input==="radio"?t1(e,t):["text","email","number","tel","textarea"].some(n=>n===t.input)&&(pc(t.inputValue)||hc(t.inputValue))&&(Gi(no()),n1(e,t));},Qv=(e,t)=>{const n=e.getInput();if(!n)return null;switch(t.input){case "checkbox":return Xv(n);case "radio":return Zv(n);case "file":return e1(n);default:return t.inputAutoTrim?n.value.trim():n.value}},Xv=e=>e.checked?1:0,Zv=e=>e.checked?e.value:null,e1=e=>e.files&&e.files.length?e.getAttribute("multiple")!==null?e.files:e.files[0]:null,t1=(e,t)=>{const n=Je();if(!n)return;const o=i=>{t.input==="select"?o1(n,na(i),t):t.input==="radio"&&i1(n,na(i),t);};pc(t.inputOptions)||hc(t.inputOptions)?(Gi(no()),or(t.inputOptions).then(i=>{e.hideLoading(),o(i);})):typeof t.inputOptions=="object"?o(t.inputOptions):vi(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof t.inputOptions}`);},n1=(e,t)=>{const n=e.getInput();n&&(Nt(n),or(t.inputValue).then(o=>{n.value=t.input==="number"?`${parseFloat(o)||0}`:`${o}`,It(n),n.focus(),e.hideLoading();}).catch(o=>{vi(`Error in inputValue promise: ${o}`),n.value="",It(n),n.focus(),e.hideLoading();}));};function o1(e,t,n){const o=To(e,W.select);if(!o)return;const i=(s,r,a)=>{const l=document.createElement("option");l.value=a,vn(l,r),l.selected=Dh(a,n.inputValue),s.appendChild(l);};t.forEach(s=>{const r=s[0],a=s[1];if(Array.isArray(a)){const l=document.createElement("optgroup");l.label=r,l.disabled=false,o.appendChild(l),a.forEach(c=>i(l,c[1],c[0]));}else i(o,a,r);}),o.focus();}function i1(e,t,n){const o=To(e,W.radio);if(!o)return;t.forEach(s=>{const r=s[0],a=s[1],l=document.createElement("input"),c=document.createElement("label");l.type="radio",l.name=W.radio,l.value=r,Dh(r,n.inputValue)&&(l.checked=true);const u=document.createElement("span");vn(u,a),u.className=W.label,c.appendChild(l),c.appendChild(u),o.appendChild(c);});const i=o.querySelectorAll("input");i.length&&i[0].focus();}const na=e=>{const t=[];return e instanceof Map?e.forEach((n,o)=>{let i=n;typeof i=="object"&&(i=na(i)),t.push([o,i]);}):Object.keys(e).forEach(n=>{let o=e[n];typeof o=="object"&&(o=na(o)),t.push([n,o]);}),t},Dh=(e,t)=>!!t&&t.toString()===e.toString(),s1=e=>{const t=ct.innerParams.get(e);e.disableButtons(),t.input?Th(e,"confirm"):Sc(e,true);},r1=e=>{const t=ct.innerParams.get(e);e.disableButtons(),t.returnInputValueOnDeny?Th(e,"deny"):$c(e,false);},a1=(e,t)=>{e.disableButtons(),t(ss.cancel);},Th=(e,t)=>{const n=ct.innerParams.get(e);if(!n.input){vi(`The "input" parameter is needed to be set when using returnInputValueOn${fc(t)}`);return}const o=e.getInput(),i=Qv(e,n);n.inputValidator?l1(e,i,t):o&&!o.checkValidity()?(e.enableButtons(),e.showValidationMessage(n.validationMessage||o.validationMessage)):t==="deny"?$c(e,i):Sc(e,i);},l1=(e,t,n)=>{const o=ct.innerParams.get(e);e.disableInput(),Promise.resolve().then(()=>or(o.inputValidator(t,o.validationMessage))).then(s=>{e.enableButtons(),e.enableInput(),s?e.showValidationMessage(s):n==="deny"?$c(e,t):Sc(e,t);});},$c=(e,t)=>{const n=ct.innerParams.get(e||void 0);n.showLoaderOnDeny&&Gi(xi()),n.preDeny?(e.isAwaitingPromise=true,Promise.resolve().then(()=>or(n.preDeny(t,n.validationMessage))).then(i=>{i===false?(e.hideLoading(),lr(e)):e.close({isDenied:true,value:typeof i>"u"?t:i});}).catch(i=>Lh(e||void 0,i))):e.close({isDenied:true,value:t});},Ud=(e,t)=>{e.close({isConfirmed:true,value:t});},Lh=(e,t)=>{e.rejectPromise(t);},Sc=(e,t)=>{const n=ct.innerParams.get(e||void 0);n.showLoaderOnConfirm&&Gi(),n.preConfirm?(e.resetValidationMessage(),e.isAwaitingPromise=true,Promise.resolve().then(()=>or(n.preConfirm(t,n.validationMessage))).then(i=>{an(Ra())||i===false?(e.hideLoading(),lr(e)):Ud(e,typeof i>"u"?t:i);}).catch(i=>Lh(e||void 0,i))):Ud(e,t);};function oa(){const e=ct.innerParams.get(this);if(!e)return;const t=ct.domCache.get(this);Nt(t.loader),Na()?e.icon&&It(ns()):u1(t),An([t.popup,t.actions],W.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=false,t.denyButton.disabled=false,t.cancelButton.disabled=false;}const u1=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?It(t[0],"inline-block"):Bb()&&Nt(e.actions);};function Mh(){const e=ct.innerParams.get(this),t=ct.domCache.get(this);return t?Ua(t.popup,e.input):null}function Oh(e,t,n){const o=ct.domCache.get(e);t.forEach(i=>{o[i].disabled=n;});}function Bh(e,t){const n=Je();if(!(!n||!e))if(e.type==="radio"){const o=n.querySelectorAll(`[name="${W.radio}"]`);for(let i=0;i<o.length;i++)o[i].disabled=t;}else e.disabled=t;}function Rh(){Oh(this,["confirmButton","denyButton","cancelButton"],false);}function Fh(){Oh(this,["confirmButton","denyButton","cancelButton"],true);}function Nh(){Bh(this.getInput(),false);}function Uh(){Bh(this.getInput(),true);}function jh(e){const t=ct.domCache.get(this),n=ct.innerParams.get(this);vn(t.validationMessage,e),t.validationMessage.className=W["validation-message"],n.customClass&&n.customClass.validationMessage&&Qe(t.validationMessage,n.customClass.validationMessage),It(t.validationMessage);const o=this.getInput();o&&(o.setAttribute("aria-invalid","true"),o.setAttribute("aria-describedby",W["validation-message"]),ph(o),Qe(o,W.inputerror));}function zh(){const e=ct.domCache.get(this);e.validationMessage&&Nt(e.validationMessage);const t=this.getInput();t&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedby"),An(t,W.inputerror));}const Oi={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:false,draggable:false,animation:true,theme:"light",showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:{},target:"body",color:void 0,backdrop:true,heightAuto:true,allowOutsideClick:true,allowEscapeKey:true,allowEnterKey:true,stopKeydownPropagation:true,keydownListenerCapture:false,showConfirmButton:true,showDenyButton:false,showCancelButton:false,preConfirm:void 0,preDeny:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:true,reverseButtons:false,focusConfirm:true,focusDeny:false,focusCancel:false,returnFocus:true,showCloseButton:false,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:false,showLoaderOnDeny:false,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:false,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoFocus:true,inputAutoTrim:true,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:false,validationMessage:void 0,grow:false,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,willOpen:void 0,didOpen:void 0,didRender:void 0,willClose:void 0,didClose:void 0,didDestroy:void 0,scrollbarPadding:true,topLayer:false},c1=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","color","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","draggable","footer","hideClass","html","icon","iconColor","iconHtml","imageAlt","imageHeight","imageUrl","imageWidth","preConfirm","preDeny","progressSteps","returnFocus","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","theme","willClose"],d1={allowEnterKey:void 0},f1=["allowOutsideClick","allowEnterKey","backdrop","draggable","focusConfirm","focusDeny","focusCancel","returnFocus","heightAuto","keydownListenerCapture"],Hh=e=>Object.prototype.hasOwnProperty.call(Oi,e),Vh=e=>c1.indexOf(e)!==-1,qh=e=>d1[e],p1=e=>{Hh(e)||Yt(`Unknown parameter "${e}"`);},h1=e=>{f1.includes(e)&&Yt(`The parameter "${e}" is incompatible with toasts`);},m1=e=>{const t=qh(e);t&&uh(e,t);},Wh=e=>{e.backdrop===false&&e.allowOutsideClick&&Yt('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),e.theme&&!["light","dark","auto","minimal","borderless","embed-iframe","bulma","bulma-light","bulma-dark"].includes(e.theme)&&Yt(`Invalid theme "${e.theme}"`);for(const t in e)p1(t),e.toast&&h1(t),m1(t);};function Kh(e){const t=Qt(),n=Je(),o=ct.innerParams.get(this);if(!n||yo(n,o.hideClass.popup)){Yt("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");return}const i=g1(e),s=Object.assign({},o,i);Wh(s),t.dataset.swal2Theme=s.theme,Ch(this,s),ct.innerParams.set(this,s),Object.defineProperties(this,{params:{value:Object.assign({},this.params,e),writable:false,enumerable:true}});}const g1=e=>{const t={};return Object.keys(e).forEach(n=>{Vh(n)?t[n]=e[n]:Yt(`Invalid parameter to update: ${n}`);}),t};function Gh(){const e=ct.domCache.get(this),t=ct.innerParams.get(this);if(!t){Jh(this);return}e.popup&&Ie.swalCloseEventFinishedCallback&&(Ie.swalCloseEventFinishedCallback(),delete Ie.swalCloseEventFinishedCallback),typeof t.didDestroy=="function"&&t.didDestroy(),Ie.eventEmitter.emit("didDestroy"),w1(this);}const w1=e=>{Jh(e),delete e.params,delete Ie.keydownHandler,delete Ie.keydownTarget,delete Ie.currentInstance;},Jh=e=>{e.isAwaitingPromise?(Al(ct,e),e.isAwaitingPromise=true):(Al(Ki,e),Al(ct,e),delete e.isAwaitingPromise,delete e.disableButtons,delete e.enableButtons,delete e.getInput,delete e.disableInput,delete e.enableInput,delete e.hideLoading,delete e.disableLoading,delete e.showValidationMessage,delete e.resetValidationMessage,delete e.close,delete e.closePopup,delete e.closeModal,delete e.closeToast,delete e.rejectPromise,delete e.update,delete e._destroy);},Al=(e,t)=>{for(const n in e)e[n].delete(t);};var y1=Object.freeze({__proto__:null,_destroy:Gh,close:Lo,closeModal:Lo,closePopup:Lo,closeToast:Lo,disableButtons:Fh,disableInput:Uh,disableLoading:oa,enableButtons:Rh,enableInput:Nh,getInput:Mh,handleAwaitingPromise:lr,hideLoading:oa,rejectPromise:Ih,resetValidationMessage:zh,showValidationMessage:jh,update:Kh});const b1=(e,t,n)=>{e.toast?v1(e,t,n):(_1(t),C1(t),k1(e,t,n));},v1=(e,t,n)=>{t.popup.onclick=()=>{e&&(x1(e)||e.timer||e.input)||n(ss.close);};},x1=e=>!!(e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton);let ia=false;const _1=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=()=>{},t.target===e.container&&(ia=true);};};},C1=e=>{e.container.onmousedown=t=>{t.target===e.container&&t.preventDefault(),e.popup.onmouseup=function(n){e.popup.onmouseup=()=>{},(n.target===e.popup||n.target instanceof HTMLElement&&e.popup.contains(n.target))&&(ia=true);};};},k1=(e,t,n)=>{t.container.onclick=o=>{if(ia){ia=false;return}o.target===t.container&&Ba(e.allowOutsideClick)&&n(ss.backdrop);};},$1=e=>typeof e=="object"&&e.jquery,jd=e=>e instanceof Element||$1(e),S1=e=>{const t={};return typeof e[0]=="object"&&!jd(e[0])?Object.assign(t,e[0]):["title","html","icon"].forEach((n,o)=>{const i=e[o];typeof i=="string"||jd(i)?t[n]=i:i!==void 0&&vi(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`);}),t};function E1(...e){return new this(...e)}function A1(e){class t extends this{_main(o,i){return super._main(o,Object.assign({},e,i))}}return t}const P1=()=>Ie.timeout&&Ie.timeout.getTimerLeft(),Yh=()=>{if(Ie.timeout)return Fb(),Ie.timeout.stop()},Qh=()=>{if(Ie.timeout){const e=Ie.timeout.start();return xc(e),e}},I1=()=>{const e=Ie.timeout;return e&&(e.running?Yh():Qh())},D1=e=>{if(Ie.timeout){const t=Ie.timeout.increase(e);return xc(t,true),t}},T1=()=>!!(Ie.timeout&&Ie.timeout.isRunning());let zd=false;const fu={};function L1(e="data-swal-template"){fu[e]=this,zd||(document.body.addEventListener("click",M1),zd=true);}const M1=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const n in fu){const o=t.getAttribute(n);if(o){fu[n].fire({template:o});return}}};class O1{constructor(){this.events={};}_getHandlersByEventName(t){return typeof this.events[t]>"u"&&(this.events[t]=[]),this.events[t]}on(t,n){const o=this._getHandlersByEventName(t);o.includes(n)||o.push(n);}once(t,n){const o=(...i)=>{this.removeListener(t,o),n.apply(this,i);};this.on(t,o);}emit(t,...n){this._getHandlersByEventName(t).forEach(o=>{try{o.apply(this,n);}catch(i){console.error(i);}});}removeListener(t,n){const o=this._getHandlersByEventName(t),i=o.indexOf(n);i>-1&&o.splice(i,1);}removeAllListeners(t){this.events[t]!==void 0&&(this.events[t].length=0);}reset(){this.events={};}}Ie.eventEmitter=new O1;const B1=(e,t)=>{Ie.eventEmitter.on(e,t);},R1=(e,t)=>{Ie.eventEmitter.once(e,t);},F1=(e,t)=>{if(!e){Ie.eventEmitter.reset();return}t?Ie.eventEmitter.removeListener(e,t):Ie.eventEmitter.removeAllListeners(e);};var N1=Object.freeze({__proto__:null,argsToParams:S1,bindClickHandler:L1,clickCancel:Sv,clickConfirm:kh,clickDeny:$v,enableLoading:Gi,fire:E1,getActions:sr,getCancelButton:os,getCloseButton:wc,getConfirmButton:no,getContainer:Qt,getDenyButton:xi,getFocusableElements:yc,getFooter:fh,getHtmlContainer:mc,getIcon:ns,getIconContent:Db,getImage:dh,getInputLabel:Tb,getLoader:is,getPopup:Je,getProgressSteps:gc,getTimerLeft:P1,getTimerProgressBar:Fa,getTitle:ch,getValidationMessage:Ra,increaseTimer:D1,isDeprecatedParameter:qh,isLoading:Mb,isTimerRunning:T1,isUpdatableParameter:Vh,isValidParameter:Hh,isVisible:kv,mixin:A1,off:F1,on:B1,once:R1,resumeTimer:Qh,showLoading:Gi,stopTimer:Yh,toggleTimer:I1});class U1{constructor(t,n){this.callback=t,this.remaining=n,this.running=false,this.start();}start(){return this.running||(this.running=true,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.started&&this.running&&(this.running=false,clearTimeout(this.id),this.remaining-=new Date().getTime()-this.started.getTime()),this.remaining}increase(t){const n=this.running;return n&&this.stop(),this.remaining+=t,n&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const Xh=["swal-title","swal-html","swal-footer"],j1=e=>{const t=typeof e.template=="string"?document.querySelector(e.template):e.template;if(!t)return {};const n=t.content;return J1(n),Object.assign(z1(n),H1(n),V1(n),q1(n),W1(n),K1(n),G1(n,Xh))},z1=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach(o=>{fi(o,["name","value"]);const i=o.getAttribute("name"),s=o.getAttribute("value");!i||!s||(typeof Oi[i]=="boolean"?t[i]=s!=="false":typeof Oi[i]=="object"?t[i]=JSON.parse(s):t[i]=s);}),t},H1=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach(o=>{const i=o.getAttribute("name"),s=o.getAttribute("value");!i||!s||(t[i]=new Function(`return ${s}`)());}),t},V1=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach(o=>{fi(o,["type","color","aria-label"]);const i=o.getAttribute("type");!i||!["confirm","cancel","deny"].includes(i)||(t[`${i}ButtonText`]=o.innerHTML,t[`show${fc(i)}Button`]=true,o.hasAttribute("color")&&(t[`${i}ButtonColor`]=o.getAttribute("color")),o.hasAttribute("aria-label")&&(t[`${i}ButtonAriaLabel`]=o.getAttribute("aria-label")));}),t},q1=e=>{const t={},n=e.querySelector("swal-image");return n&&(fi(n,["src","width","height","alt"]),n.hasAttribute("src")&&(t.imageUrl=n.getAttribute("src")||void 0),n.hasAttribute("width")&&(t.imageWidth=n.getAttribute("width")||void 0),n.hasAttribute("height")&&(t.imageHeight=n.getAttribute("height")||void 0),n.hasAttribute("alt")&&(t.imageAlt=n.getAttribute("alt")||void 0)),t},W1=e=>{const t={},n=e.querySelector("swal-icon");return n&&(fi(n,["type","color"]),n.hasAttribute("type")&&(t.icon=n.getAttribute("type")),n.hasAttribute("color")&&(t.iconColor=n.getAttribute("color")),t.iconHtml=n.innerHTML),t},K1=e=>{const t={},n=e.querySelector("swal-input");n&&(fi(n,["type","label","placeholder","value"]),t.input=n.getAttribute("type")||"text",n.hasAttribute("label")&&(t.inputLabel=n.getAttribute("label")),n.hasAttribute("placeholder")&&(t.inputPlaceholder=n.getAttribute("placeholder")),n.hasAttribute("value")&&(t.inputValue=n.getAttribute("value")));const o=Array.from(e.querySelectorAll("swal-input-option"));return o.length&&(t.inputOptions={},o.forEach(i=>{fi(i,["value"]);const s=i.getAttribute("value");if(!s)return;const r=i.innerHTML;t.inputOptions[s]=r;})),t},G1=(e,t)=>{const n={};for(const o in t){const i=t[o],s=e.querySelector(i);s&&(fi(s,[]),n[i.replace(/^swal-/,"")]=s.innerHTML.trim());}return n},J1=e=>{const t=Xh.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(e.children).forEach(n=>{const o=n.tagName.toLowerCase();t.includes(o)||Yt(`Unrecognized element <${o}>`);});},fi=(e,t)=>{Array.from(e.attributes).forEach(n=>{t.indexOf(n.name)===-1&&Yt([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`,`${t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element."}`]);});},Zh=10,Y1=e=>{const t=Qt(),n=Je();typeof e.willOpen=="function"&&e.willOpen(n),Ie.eventEmitter.emit("willOpen",n);const i=window.getComputedStyle(document.body).overflowY;Z1(t,n,e),setTimeout(()=>{Q1(t,n);},Zh),bc()&&(X1(t,e.scrollbarPadding,i),Mv()),!Na()&&!Ie.previousActiveElement&&(Ie.previousActiveElement=document.activeElement),typeof e.didOpen=="function"&&setTimeout(()=>e.didOpen(n)),Ie.eventEmitter.emit("didOpen",n),An(t,W["no-transition"]);},sa=e=>{const t=Je();if(e.target!==t)return;const n=Qt();t.removeEventListener("animationend",sa),t.removeEventListener("transitionend",sa),n.style.overflowY="auto";},Q1=(e,t)=>{mh(t)?(e.style.overflowY="hidden",t.addEventListener("animationend",sa),t.addEventListener("transitionend",sa)):e.style.overflowY="auto";},X1=(e,t,n)=>{Ov(),t&&n!=="hidden"&&zv(n),setTimeout(()=>{e.scrollTop=0;});},Z1=(e,t,n)=>{Qe(e,n.showClass.backdrop),n.animation?(t.style.setProperty("opacity","0","important"),It(t,"grid"),setTimeout(()=>{Qe(t,n.showClass.popup),t.style.removeProperty("opacity");},Zh)):It(t,"grid"),Qe([document.documentElement,document.body],W.shown),n.heightAuto&&n.backdrop&&!n.toast&&Qe([document.documentElement,document.body],W["height-auto"]);};var Hd={email:(e,t)=>/^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid email address"),url:(e,t)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid URL")};function e0(e){e.inputValidator||(e.input==="email"&&(e.inputValidator=Hd.email),e.input==="url"&&(e.inputValidator=Hd.url));}function t0(e){(!e.target||typeof e.target=="string"&&!document.querySelector(e.target)||typeof e.target!="string"&&!e.target.appendChild)&&(Yt('Target parameter is not valid, defaulting to "body"'),e.target="body");}function n0(e){e0(e),e.showLoaderOnConfirm&&!e.preConfirm&&Yt(`showLoaderOnConfirm is set to true, but preConfirm is not defined.
showLoaderOnConfirm should be used together with preConfirm, see usage example:
https://sweetalert2.github.io/#ajax-request`),t0(e),typeof e.title=="string"&&(e.title=e.title.split(`
`).join("<br />")),Wb(e);}let Kn;var Sr=new WeakMap;class xt{constructor(...t){if(Cb(this,Sr,void 0),typeof window>"u")return;Kn=this;const n=Object.freeze(this.constructor.argsToParams(t));this.params=n,this.isAwaitingPromise=false,kb(Sr,this,this._main(Kn.params));}_main(t,n={}){if(Wh(Object.assign({},n,t)),Ie.currentInstance){const s=Ki.swalPromiseResolve.get(Ie.currentInstance),{isAwaitingPromise:r}=Ie.currentInstance;Ie.currentInstance._destroy(),r||s({isDismissed:true}),bc()&&Eh();}Ie.currentInstance=Kn;const o=i0(t,n);n0(o),Object.freeze(o),Ie.timeout&&(Ie.timeout.stop(),delete Ie.timeout),clearTimeout(Ie.restoreFocusTimeout);const i=s0(Kn);return Ch(Kn,o),ct.innerParams.set(Kn,o),o0(Kn,i,o)}then(t){return Ld(Sr,this).then(t)}finally(t){return Ld(Sr,this).finally(t)}}const o0=(e,t,n)=>new Promise((o,i)=>{const s=r=>{e.close({isDismissed:true,dismiss:r});};Ki.swalPromiseResolve.set(e,o),Ki.swalPromiseReject.set(e,i),t.confirmButton.onclick=()=>{s1(e);},t.denyButton.onclick=()=>{r1(e);},t.cancelButton.onclick=()=>{a1(e,s);},t.closeButton.onclick=()=>{s(ss.close);},b1(n,t,s),Ev(Ie,n,s),Yv(e,n),Y1(n),r0(Ie,n,s),a0(t,n),setTimeout(()=>{t.container.scrollTop=0;});}),i0=(e,t)=>{const n=j1(e),o=Object.assign({},Oi,t,n,e);return o.showClass=Object.assign({},Oi.showClass,o.showClass),o.hideClass=Object.assign({},Oi.hideClass,o.hideClass),o.animation===false&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},s0=e=>{const t={popup:Je(),container:Qt(),actions:sr(),confirmButton:no(),denyButton:xi(),cancelButton:os(),loader:is(),closeButton:wc(),validationMessage:Ra(),progressSteps:gc()};return ct.domCache.set(e,t),t},r0=(e,t,n)=>{const o=Fa();Nt(o),t.timer&&(e.timeout=new U1(()=>{n("timer"),delete e.timeout;},t.timer),t.timerProgressBar&&(It(o),gn(o,t,"timerProgressBar"),setTimeout(()=>{e.timeout&&e.timeout.running&&xc(t.timer);})));},a0=(e,t)=>{if(!t.toast){if(!Ba(t.allowEnterKey)){uh("allowEnterKey"),c0();return}l0(e)||u0(e,t)||du(-1,1);}},l0=e=>{const t=Array.from(e.popup.querySelectorAll("[autofocus]"));for(const n of t)if(n instanceof HTMLElement&&an(n))return n.focus(),true;return  false},u0=(e,t)=>t.focusDeny&&an(e.denyButton)?(e.denyButton.focus(),true):t.focusCancel&&an(e.cancelButton)?(e.cancelButton.focus(),true):t.focusConfirm&&an(e.confirmButton)?(e.confirmButton.focus(),true):false,c0=()=>{document.activeElement instanceof HTMLElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur();};xt.prototype.disableButtons=Fh;xt.prototype.enableButtons=Rh;xt.prototype.getInput=Mh;xt.prototype.disableInput=Uh;xt.prototype.enableInput=Nh;xt.prototype.hideLoading=oa;xt.prototype.disableLoading=oa;xt.prototype.showValidationMessage=jh;xt.prototype.resetValidationMessage=zh;xt.prototype.close=Lo;xt.prototype.closePopup=Lo;xt.prototype.closeModal=Lo;xt.prototype.closeToast=Lo;xt.prototype.rejectPromise=Ih;xt.prototype.update=Kh;xt.prototype._destroy=Gh;Object.assign(xt,N1);Object.keys(y1).forEach(e=>{xt[e]=function(...t){return Kn&&Kn[e]?Kn[e](...t):null};});xt.DismissReason=ss;xt.version="11.22.4";const q=xt;q.default=q;typeof document<"u"&&(function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t;}catch{n.innerText=t;}})(document,':root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-container-padding: 0.625em;--swal2-backdrop: rgba(0, 0, 0, 0.4);--swal2-backdrop-transition: background-color 0.1s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: 0.3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show 0.3s;--swal2-hide-animation: swal2-hide 0.15s forwards;--swal2-icon-zoom: 1;--swal2-icon-animations: true;--swal2-title-padding: 0.8em 1em 0;--swal2-html-container-padding: 1em 1.6em 0.3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: 0.1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color 0.2s, box-shadow 0.2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px $swal2-outline-color;--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color 0.2s, box-shadow 0.2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: 0.25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: 0.25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: 0.25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show 0.5s;--swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.075), 0 1px 2px hsl(0deg 0% 0% / 0.075), 1px 2px 4px hsl(0deg 0% 0% / 0.075), 1px 3px 8px hsl(0deg 0% 0% / 0.075), 2px 4px 16px hsl(0deg 0% 0% / 0.075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}@media(prefers-color-scheme: dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem;container-name:swal2-popup}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:rgba(0,0,0,0);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:all}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}@container swal2-popup style(--swal2-icon-animations:true){.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}');const em=gt.clouddrive;var Mo=(e=>(e.windows="windows",e.macos="macos",e.linux="linux",e.android="android",e))(Mo||{}),pi=(e=>(e.unknown="unknown",e.classic="classic",e.modern="modern",e))(pi||{}),zo=(e=>(e.play="play",e.download="download",e))(zo||{});function Ec(e){return {active:false,url:"http://localhost:19798",root:"/115",memo:"",platform:void 0,ver_lt_0816:false,...e}}async function tm(){const e=[Ec()],t=await Xe.get(em,e);return t||e}async function Vd(e){e.some(t=>t.active)||(e[0].active=true),await Xe.set(em,e);}async function Xt(){return (await tm()).find(t=>t.active)||Ec()}function d0(e){if(!document.execCommand)return  false;const t=document.createElement("input");t.style.position="fixed",t.style.opacity="0",t.value=e,document.body.appendChild(t),t.select();try{return document.execCommand("Copy")}catch(n){console.warn("[copyViaCmd] execCommand",n);}finally{document.body.removeChild(t);}return  false}function f0(e){prompt("请复制以下内容:",e);}function p0(e=navigator.userAgent){return e.indexOf("Safari")>-1&&e.indexOf("Chrome")<=-1}function ft(e){const t=()=>{d0(e)||(p0()?f0(e):eb(e,"text/plain"));};navigator.clipboard?navigator.clipboard.writeText(e).then(()=>{}).catch(n=>{console.warn("[copyToClipboard] navigator.clipboard",n),t();}):t();}function ja(e="",t=""){return e+Date.now().toString()+Math.random().toString(36).substring(5)+t}function h0(e,t="NFD"){return e.normalize(t)}function m0(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function nm(e,t){return e=e.replace(/^[\/]+/g,""),"/"+e}function om(e){return e.startsWith("file://")}function g0(e){switch(e){case Mo.windows:return ["/","\\",":","*","?",'"',"<",">","|"];case Mo.macos:return ["/",":"];case Mo.linux:case Mo.android:return ["/","\0"];default:return ["/","\0"]}}function cn(e,t,n=true){const o=g0(e.platform||Mo.linux);let i=Array.from(t).map(s=>{if(o.includes(s)){const r=s.charCodeAt(0)+65248;return String.fromCharCode(r)}else return s==="\r"||s===`
`?" ":s}).join("");for(;i.endsWith(".")||i.endsWith(" ");)i.endsWith(".")?i=i.replace(/\.+$/,""):i=i.replace(/\s+$/,"");return n&&(i=Ac(e,i)),i}async function Ji(e,t,n=zo.play,o=true,i=""){Array.isArray(t)?t=[...t].map(f=>cn(e,f,true)).join("/"):t=Ac(e,t);let{url:s,root:r}=e;if(!s)throw new Error("未设置CloudDrive地址!");(s.startsWith("/")||s.startsWith("\\"))&&(s=`file:///${s}`),om(s);const a=/^https?:\/\//.test(s);if(a&&!r)throw new Error("当协议为http/https时,必须设置CloudDrive资源根路径!");r&&(r=r.replace(/^(\/+)?/g,"/")),t=t.replace(/^(\/+)?/g,"/");const l=`${r}${t}`,c=n===zo.play?"True":"False";let u="";return s=s.replace(/\/+$/,""),a?u=`${s}/static/${s.replace("://","/")}/${c}/${encodeURIComponent(l)}`:u=`${s}${l}`,i&&(u+=i),o&&(u+="?check_expire=True"),console.log("[Cloud115 Enhancer] buildCloudDriveUrl",u),u}async function pu(e,t,n=true){let{url:o,root:i}=e;if(!o)throw new Error("未设置CloudDrive地址!");return om(o)?await Ji(e,t,zo.play,n):await Ji(e,t,zo.play,n,".clfsplaylist.m3u")}async function w0(e,t,n=pi.classic){let{url:o}=e;if(!o)throw new Error("未设置CloudDrive地址!");return o.startsWith("http")||(o=`http://${o}`),o=o.replace(/\/+$/,""),t=e.root.replace(/\/+$/,"")+t,t=t.replace(/^(\/+)?/g,"/"),t=Ac(e,t),n===pi.modern?`${o}/?page=files&path=${encodeURIComponent(t)}`:`${o}/#${t}?a=1`}function Ac(e,t){return e.platform===Mo.macos?h0(t,e.ver_lt_0816?"NFD":"NFC"):t}const Bi=q.mixin({toast:true,position:"top-end",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:e=>{e.addEventListener("mouseenter",q.stopTimer),e.addEventListener("mouseleave",q.resumeTimer);},customClass:{popup:"swal-toast"}});async function y0(e,t){e.addEventListener("keydown",n=>{const o=n.target;if(!Xp(o))return;let i=false;n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(i=true),i&&q.clickConfirm();});}async function Y(e){return q.fire({toast:true,position:"top-right",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:t=>{t.addEventListener("mouseenter",q.stopTimer),t.addEventListener("mouseleave",q.resumeTimer);},...e})}async function b0(e,t,n=false){const o=new Map;if(!e.length)return o;t=t||await Xt();let i=new Map;n||(Y({text:"正在获取上级目录路径...",timer:0}),q.showLoading());try{i=await G0(e),n||q.close();}catch(s){return console.error(s),n||Y({text:`获取上级目录路径失败: ${s}`,timer:1200,icon:"error"}),o}finally{n||q.hideLoading();}if(i.size===0)return o;for(let s=0;s<e.length;s++){const r=i.get(e[s].parentId)?.slice(1).join("/"),a=e[s].name,l=nm(r+"/"+a),c=e[s].isFile?await Ji(t,l,zo.play):await pu(t,l);o.set(l,c);}return console.log("[buildCloudDriveUrlsForFileItems] pathToUrl:",o),o}async function v0(e,t,n=false){return new Promise(async(o,i)=>{const s=await Ji(e,t,void 0,n);Ta({method:"HEAD",url:s,onload:r=>o(r.status===200),onerror:r=>i(r)});})}async function x0(e,t,n,o,i){const r=`waitFileExist_${ja()} path: ${t}`;console.time(r);async function a(l){const c=await v0(e,t,n);c&&l(c);}try{await Wo(a,o,i);}catch{throw new Error(`[waitFileExist] 检查文件存在超时!文件路径: ${t}`)}finally{console.timeEnd(r);}}function _0(e){return new Promise((t,n)=>{Ta({method:"HEAD",url:e.url,onload:o=>{parseInt(o.responseHeaders.match(/Content-Length:\s*(\d+)/i)?.[1]||"0")<5e3?t(pi.classic):t(pi.modern);},onerror:o=>{n(new Error(`获取CloudDrive页面版本失败: ${o.statusText}`));}});})}async function C0(e){let t=`#EXTM3U
`;for(const[n,o]of e)t+=`#EXTINF:0,${n}
${o}
`;return t}var Oo=(e=>(e.unix="/",e.windows="\\",e))(Oo||{});function ra(e,t="/"){return e.map((n,o)=>o===0?n:za(n,t)).join(t)}function za(e,t="/"){return e=e.replace(/[\\/]/g,t),t==="/"?e=e.replace(/\/+/g,t):e=e.replace(/\\+/g,t),e.length>1&&e.endsWith(t)&&(e=e.slice(0,-1)),e}function k0(e){return e.startsWith("/")}function $0(e){return e===""||e==="/"||e==="\\"}function hu(e,t,n="/"){if(k0(t))return t;const o=new URL(e,"http://example.com");o.pathname=S0(o.pathname,t);let i=decodeURIComponent(o.pathname);return za(i,n)}function S0(e,t){const n=e.endsWith("/")?e:e+"/",o=t.startsWith("/")?t.slice(1):t;return n+o}function im(e,t=/^\w+$/){const n=e.lastIndexOf(".");if(n===-1)return "";const o=e.slice(n+1);return t&&!t.test(o)?"":o}function Pc(e){return JSON.parse(JSON.stringify(e))}function E0(e){return Object.prototype.toString.call(e)==="[object Object]"}function qd(e){return E0(e)&&!Array.isArray(e)}function Ic(...e){const t={};for(const n of e)for(const o in n)Object.prototype.hasOwnProperty.call(n,o)&&(qd(n[o])&&qd(t[o])?t[o]=Ic(t[o],n[o]):t[o]=n[o]);return t}function A0(e){const t=new Map;for(const[n,o]of e)t.set(o,n);return t}function Ha(e){const t=new URLSearchParams;let n;for(n in e)t.append(n,e[n].toString());return t.toString()}function P0(e,t=false){const n=[];for(const o in e){let i=e[o].toString();i=t?encodeURIComponent(i):i,n.push(`${o}=${i}`);}return n.join("&")}function I0(e){const t=new FormData;let n;for(n in e)t.append(n,e[n].toString());return t}const sm=gt.anxia;var Va=(e=>(e.anxia="v.anxia.com",e.vod="115vod.com",e))(Va||{});const rm={"3G":"标清",SD:"高清",HD:"超清",UD:"1080P",BD:"4K",YH:"原画"};function D0(e){return {defaultWebFull:false,defaultOpenPlayList:false,defaultDefinition:"",...e}}async function am(){const e=D0(),t=await Xe.get(sm,e);return {...e,...t}}async function T0(e){await Xe.set(sm,e);}let lm;function L0(e){lm=e;}function Ot(){return lm}async function Kt(e){const t=new URLSearchParams({cid:e});return (await Ot().get("https://webapi.115.com/category/get?"+t.toString(),{timeout:12e4,withCredentials:true})).data}async function M0(e){const t={path:e};return (await Ot().get("https://webapi.115.com/files/getid?"+Ha(t),{timeout:12e4,withCredentials:true})).data}async function qa(e,t){const n=new URLSearchParams({pid:e,ignore_warn:"1"});return t.forEach((i,s)=>{n.append(`fid[${s}]`,i);}),(await Ot().post("https://webapi.115.com/rb/delete",n,{timeout:12e4,withCredentials:true})).data}async function Pl(e,t,n=1150,o=1e3){let i=0,s=0;for(;;){const r=t.slice(i,i+n);if((await qa(e,r)).state&&(s+=r.length),i+=n,i>=t.length)break;await kt(o);}return s}async function um(e,t){const n=new URLSearchParams({pid:e,cname:t});return (await Ot().post("https://webapi.115.com/files/add",n,{timeout:12e4,withCredentials:true})).data}async function Dc(e,t){const n=new URLSearchParams({pid:e});return t.forEach((i,s)=>{n.append(`fid[${s}]`,i);}),(await Ot().post("https://webapi.115.com/files/move",n,{timeout:12e4,withCredentials:true})).data}var hn=(e=>(e[e.all=0]="all",e[e.video=4]="video",e[e.audio=3]="audio",e[e.image=2]="image",e[e.doc=1]="doc",e[e.app=6]="app",e[e.archive=5]="archive",e[e.file=99]="file",e))(hn||{}),on=(e=>(e.all="全部",e.video="视频",e.audio="音频",e.image="图片",e.doc="文档",e.app="应用",e.archive="压缩包",e.file="仅文件",e))(on||{}),Wa=(e=>(e.userPtime="user_ptime",e.fileName="file_name",e.fileSize="file_size",e.fileType="file_type",e))(Wa||{}),mu=(e=>(e[e.normal=0]="normal",e[e.violation=1]="violation",e[e.auditing=2]="auditing",e))(mu||{}),cm=(e=>(e.file="1",e.folder="0",e))(cm||{});async function O0(e){/^\d+$/.test(e.target)&&(e.target=`U_1_${e.target}`);const t=Ha(e);return (await Ot().post("https://uplb.115.com/3.0/sampleinitupload.php",t,{timeout:12e4,withCredentials:true})).data}async function B0(e,t){const n=await O0(t),o=new FormData;o.append("name",t.filename),o.append("key",n.object),o.append("policy",n.policy),o.append("OSSAccessKeyId",n.accessid),o.append("success_action_status","200"),o.append("callback",n.callback),o.append("signature",n.signature),o.append("file",e);const i=n.host.replace(/^http:/,"https:");return (await Ot().post(i,o,{timeout:18e5})).data}var Bo=(e=>(e[e.true=1]="true",e[e.false=0]="false",e))(Bo||{});class dm extends Error{}class Tc extends dm{constructor(t="搜索失败!"){super(t);}}class fm extends Tc{constructor(t="搜索请求响应内容为空!"){super(t);}}class Lc extends dm{constructor(t="目录不存在!"){super(t);}}var pm=(e=>(e[e.exist=20004]="exist",e))(pm||{});const R0={10013:"超出任务大小限制",10018:"审核中...",10016:"文件内含违规内容"};async function Ut(e=true){const t=$t();let n=t.GetCurWangPanCid?t.GetCurWangPanCid():"";return n===0&&(n="0"),n==="0"&&e?(t.Core.MinMessage.Show({text:'不支持"根目录"!',timeout:1e3}),""):n}function hm(e={}){return {move:true,rename:true,delete:true,more:true,classList:"ce-temp-item",...e}}async function mm(e,t,n={}){const o=!t.sha1,i=o?"":im(t.file_name),s=o?"folder":i.toLowerCase(),r=o?"文件夹":i.toUpperCase()+"文件",a=o?"cate_id":"file_id";let l=$(`li.temp-el[${a}="${e}"]`);if(!l.length){const f=[];f.push(o?`<a class="name" href="javascript:;" cate="1" menu="open" aid="1" cid="${e}" rel="view_folder">
        <span>${t.file_name}</span>
      </a>`:`<a class="name" href="javascript:;" menu="view_file_one" rel="file" field="file_name">
        <span>${t.file_name}</span>
      </a>`),n.star&&f.push(`<a href="javascript:;" class="icon-star ${t.is_mark==="1"?"i-star-active":""}" menu="star" start_point="1" is_star="${t.is_mark}" data_title="星标">星标</a>`),n.remark&&f.push('<a href="javascript:;" class="icon-remarks" style="display: none;" menu="remark"></a>'),n.scores&&f.push('<div class="score-stars" menu="file_score"></div>');const p=n.labels?`<div class="labels-text" style="display: none;" rel="label_box">
      <span style="cursor: pointer; display: none;" class="ic-ellipsis" rel="more_label">...</span>
    </div>`:"",g=[];n.setTop&&g.push(`<a href="javascript:;" menu="setTop" rel="setTop">
        <i class="icon-operate ifo-filesettop" menu="setTop"></i>
        <span menu="setTop">置顶</span>
      </a>`),n.move&&g.push(`<a href="javascript:;" menu="move">
        <i class="icon-operate ifo-move" menu="move"></i>
        <span menu="move">移动</span>
      </a>`),n.rename&&g.push(`<a href="javascript:;" menu="edit_name">
        <i class="icon-operate ifo-rename" menu="edit_name"></i>
        <span menu="edit_name">重命名</span>
      </a>`),n.delete&&g.push(`<a href="javascript:;" menu="delete">
        <i class="icon-operate ifo-remove" menu="delete"></i>
        <span menu="delete">删除</span>
      </a>`);const m=[`<div class="file-name-wrap">
        <i class="file-type tp-${s}" folder-type="shared"></i>
        <span class="file-name" rel="file_name">
          <em>
            ${f.join(`
`)}
          </em>
        </span>
        ${p}
      </div>`,`<div class="file-size"><span>${o?"":t.size}</span></div>`,`<div class="file-typename"><span>${r}</span></div>`,`<div class="file-modified">${new Date(Number(t.utime)*1e3).toLocaleString()}</div>`,'<div class="file-directory"></div>',`<div class="file-opr" rel="menu">
        ${g.join(`
`)}
      </div>`],y=`
      <li rel="item" class="temp-el" file_type="${o?0:1}">
        <s class="drag-flag" data-rel="drag" style="cursor: pointer;"></s>
        <textarea style="display: none;" field="desc"></textarea>
        <textarea style="display: none;" field="ext3"></textarea>
        <input type="checkbox" value="${e}"/>
        <div class="checkbox" menu="file_check_one"></div>
        ${m.join(`
`)}
      </li>
    `;l=$(y);}l.find("a.name > span").text(t.file_name),n.classList&&l.addClass(n.classList);const c=t.paths[t.paths.length-1].file_id;let u={rel:"item",c:"0",hdf:"0",title:t.file_name,file_type:o?0:1,pick_code:t.pick_code,is_share:t.is_share||"0",shared:t.is_share||"0",area_id:"1",p_id:c,score:t.score};o?u={...u,cate_id:e,cate_name:t.file_name}:u={...u,file_id:e,cid:c,iv:t.play_long?"1":"0",ico:i,sha1:t.sha1};for(let f in u)l.attr(f,u[f]);return l}function dn(e){const t=Mc(e);return _i(t)}function Mc(e){(e instanceof HTMLElement||!e.jquery)&&(e=$(e));const t=e.attr("file_size"),n=e.attr("iv")==="1",o=oo(),i=e.attr("file_id")||"",s=!!i,r=e.attr("c")||"",a=e.attr("fvs")||"",l={n:e.attr("title")||"",s:t?parseInt(t):0,pc:e.attr("pick_code")||"",t:e.attr("user_ptime")||"",te:"",tp:"",ico:e.attr("ico")||"",sha:e.attr("sha1")||"",iv:n,c:r?parseInt(r):0,fuuid:e.attr("fuuid"),fvs:a?parseInt(a):0};let c={n:l.n};if(!o)c={fid:i,cid:(s?e.attr("cid"):e.attr("cate_id"))||"",pid:s?"":e.attr("p_id")||"",...l};else if(c={fid:i,cid:(s?e.attr("cid"):e.attr("cate_id"))||"",...l},!s){const u=e.find(".file-directory a[cid]");if(u.length)c.pid=u.attr("cid");else throw console.warn("无法获取上级目录ID!",e),new Error("无法获取上级目录ID!")}return {...c,...l}}async function jn(e){const t=j0(e);return gm(t)}function gm(e){const t=[];for(let n=0;n<e.length;n++){const o=_i(e[n]);t.push(o);}return t}function _i(e){const t=!!e.fid,n=e.iv===true||e.iv?.toString()==="1",o=t?hb(e.n):null,i={id:t?e.fid:e.cid,name:e.n,hash:e.sha,parentId:t?e.cid:e.pid,sizeRaw:e.s,sizeDesc:e.s?.toString(),sizeBytes:0,isFile:t,isDir:!t,transcoded:n,isVideo:n||o===uu.video,isImage:o===uu.image,pickCode:e.pc,playDuration:e.play_long};return typeof e.s=="number"?i.sizeBytes=e.s:typeof e.s=="string"&&/^\d+$/.test(e.s)&&(i.sizeBytes=parseInt(e.s)),i.sizeDesc=Wi(i.sizeBytes||0),i}function $t(){return unsafeWindow.TOP?unsafeWindow.TOP:unsafeWindow}function F0(){return unsafeWindow.top===unsafeWindow?unsafeWindow.Ext:unsafeWindow.top.Ext}async function N0(){const e=await Ut();return U0(e,hm({classList:"ce-temp-cur-dir"}))}async function U0(e,t={}){const n=await Kt(e);return await mm(e,n,t)}function rs(){return window.top!==window?$(document):$('iframe[name="wangpan"], .wrap-view iframe:eq(0)').contents()}function Ci(){return rs().find(".list-contents, .list-thumb")}function Oc(e){const t=Ci();return e?t.find("li.selected:not(.ce-temp-cur-dir)"):t.find("li:not(.ce-temp-cur-dir)")}function j0(e){const t=Oc(e),n=[];for(let o=0;o<t.length;o++){const i=t.eq(o),s=Mc(i);n.push(s);}return n}function gu(e="/"){const t=z0();return e+t.slice(1).join(e)}function z0(){const e=rs(),t=[];return e.find("#js_top_header_file_path_box .top-file-path > .file-path").children().each(function(){t.push($(this).text().trim().replace(/[›]$/,""));}),t}function wm(){return rs().find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last")}async function H0(){const e=await Ut();Ci().find("li.selected").each(function(){const n=$(this);n.attr("cate_id")!==e&&(n.find('input[type="checkbox"]').prop("checked",false),n.removeClass("selected"));});}async function $o(e=false,t=0,n=true){const o=await Ut();if(!o)return null;const i=Ci(),s=await N0();return e||s.hide(),i.find(`li[cate_id="${o}"]`).length||(i.is("ul")?n?i.parent().prepend(s):i.append(s):n?i.prepend(s):i.find("ul").prepend(s)),t>0&&setTimeout(()=>{s.remove();},t),s}async function V0(e,t,n){await H0(),$t().Core.FileMenu.DoEvent([e],t,null);}function q0(e,t=""){return `https://115.com/?ct=preview&ac=location&pickcode=${e}&sha1=${t}`}function On(e){return `https://115.com/?${new URLSearchParams({cid:e}).toString()}&offset=0&mode=wangpan`}function ur(){return document.body.classList.contains("font-sans")}function xn(e=location.href){return e.includes("ac=userfile")}function oo(e=location.href){return e.includes("ac=search")}function wu(e=location.href){return /(115|anxia|115cdn)\.com\/s\/\w+/.test(e)||/share\.115\.com/.test(e)}function ym(e,t=""){const n={aid:"1",cid:e.cid||"0",old_cid:e.cid||"",old_cid_name:t,search_value:encodeURIComponent(e.search_value),ct:"file",ac:"search",is_wl_tpl:"1"};return "https://115.com/?url="+encodeURIComponent(`/?${P0(n)}`)+"&submode=wangpan&mode=search"}function bm(e,t=Va.vod){const n=new URLSearchParams({pickcode:e,share_id:"0"});return `https://${t}/?${n.toString()}`}function Bc(e){return /^https?:\/\//.test(e)&&(e=new URL(e).host),Object.values(Va).includes(e)}async function vm(e){unsafeWindow.Main.ReInstance({type:e.type,offset:0,o:Wa.userPtime,asc:Bo.false,star:e.star,suffix:e.suffix});}function W0(){return Ci().find("li.selected")}function K0(){const e=W0();return e?Mc(e):null}const Il=new Map;async function Ka(e,t=false){const n=e.name;if(t&&e.parentId&&Il.has(e.parentId)){const s=Il.get(e.parentId);if(s)return [...s,n]}const i=(await Kt(e.id)).paths.slice(1).map(s=>s.file_name);return e.parentId&&Il.set(e.parentId,i),[...i,n]}async function G0(e,t=100){const n=new Map;for(const s of e){const r=s.parentId;if(!r)throw new Error(`文件"${s.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(s):n.set(r,[s]);}const o=[];for(const s of n.values())o.push(s[0]);const i=new Map;for(const s of o){const r=await Kt(s.id);await kt(t),i.set(s.parentId,r.paths.map(a=>a.file_name));}return i}async function J0(e,t=100){const n=new Map;for(const s of e){const r=s.parentId;if(!r)throw new Error(`文件"${s.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(s):n.set(r,[s]);}const o=[];for(const s of n.values())o.push(s[0]);const i=new Map;for(const s of o){const r=await Kt(s.id);await kt(t),i.set(s.parentId,r.paths);}return i}async function Y0(e,t){const n=new File([e],t.filename,{type:"text/plain"});return B0(n,t)}async function Q0(e,t,n){const o=await b0(e),i=await C0(o);n=n||ja();let s=t;return /m3u8$/.test(n)||(n+=".m3u8"),await Y0(i,{filename:n,target:s})}const Dl=new Map;async function Ri(e,t=false){if(e=za(e,Oo.unix),e=e.replace(/^[\/]+/,"").replace(/[\/]+$/,""),t&&Dl.has(e))return Dl.get(e);if(e===""||e==="/")return "0";const n=await M0(e);if(!n.state)throw new Error(`根据路径"${e}"获取目录ID失败: ${n.error}`);if(n.id&&n.id.toString()!=="0")return Dl.set(e,n.id.toString()),n.id.toString();throw new Lc(`根据路径"${e}"获取目录ID失败: 目录不存在!`)}async function X0(e){e=e.replace(/^\//,"").replace(/\/$/,"");const t={id:"",created:false,pathToId:new Map};if(e===""||e==="/")return t.id="0",t;const n=e.split("/").filter(s=>s);let o="0",i="";for(const s of n){i+="/"+s;let r="";try{r=await Ri(i,!0),t.pathToId.set(i,r);}catch(a){if(a instanceof Lc){const l=await um(o,s);if(!l.state)throw new Error(`创建目录"${s}"失败: ${l.errno} - ${l.error}`);r=l.cid.toString();}else throw a}o=r,t.pathToId.set(i,r);}return t.id=o,t}async function Z0(e,t,n=true){let o="";const i=await um(t,e);if(i.state)o=i.cid.toString();else {if(i.errno===pm.exist&&n){const s=await Kt(t);if(!s.pick_code)throw new Error(`获取目录"${t}"属性失败: ${s.errno} - ${s.error}`);const r=[...s.paths.slice(1).map(a=>a.file_name),s.file_name,e].join("/");return await Ri(r,true)}throw new Error(`创建目录"${e}"失败: ${i.errno} - ${i.error}`)}return o}const Rc=typeof Buffer=="function";typeof TextDecoder=="function"&&new TextDecoder;const Wd=typeof TextEncoder=="function"?new TextEncoder:void 0,ex="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",xs=Array.prototype.slice.call(ex);(e=>{let t={};return e.forEach((n,o)=>t[n]=o),t})(xs);const qn=String.fromCharCode.bind(String);typeof Uint8Array.from=="function"&&Uint8Array.from.bind(Uint8Array);const tx=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),nx=e=>{let t,n,o,i,s="";const r=e.length%3;for(let a=0;a<e.length;){if((n=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(i=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=n<<16|o<<8|i,s+=xs[t>>18&63]+xs[t>>12&63]+xs[t>>6&63]+xs[t&63];}return r?s.slice(0,r-3)+"===".substring(r):s},xm=typeof btoa=="function"?e=>btoa(e):Rc?e=>Buffer.from(e,"binary").toString("base64"):nx,ox=Rc?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let o=0,i=e.length;o<i;o+=4096)n.push(qn.apply(null,e.subarray(o,o+4096)));return xm(n.join(""))},ix=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?qn(192|t>>>6)+qn(128|t&63):qn(224|t>>>12&15)+qn(128|t>>>6&63)+qn(128|t&63)}else {var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return qn(240|t>>>18&7)+qn(128|t>>>12&63)+qn(128|t>>>6&63)+qn(128|t&63)}},sx=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,rx=e=>e.replace(sx,ix),Kd=Rc?e=>Buffer.from(e,"utf8").toString("base64"):Wd?e=>ox(Wd.encode(e)):e=>xm(rx(e)),Gd=(e,t=false)=>t?tx(Kd(e)):Kd(e);var Fc=(e=>(e.search="search",e.encode="encode",e.base64="base64",e.base64safe="base64safe",e.upper="upper",e.lower="lower",e.number="number",e.manual="manual",e))(Fc||{});const ax=[{label:"文件属性变量",items:[{key:"{dir_id}",label:"文件夹ID"},{key:"{file_id}",label:"文件ID"},{key:"{pick_code}",label:"提取码"},{key:"{pure_name}",label:"不含后缀的文件名"},{key:"{full_name}",label:"完整名称"},{key:"{file_suffix}",label:"文件后缀名"},{key:"{file_hash}",label:"文件hash"},{key:"{file_size}",label:"文件大小"},{key:"{file_path}",label:"文件路径"},{key:"{file_dir}",label:"文件目录路径"}]},{label:"高级变量",items:[{key:"{clouddrive_stream_url}",label:"CloudDrive链接(用于播放,目录链接是m3u)"},{key:"{clouddrive_down_url}",label:"CloudDrive文件链接"},{key:"{clouddrive_playlist_url}",label:"CloudDrive播放列表链接"},{key:"{user_agent}",label:"浏览器UA"}]},{label:"变量函数处理",memo:"支持多个函数,函数之间使用英文冒号分隔,如:{变量名:encode:base64}。调用顺序从左到右。",items:[{key:"{变量名:search}",label:"搜索链接"},{key:"{变量名:encode}",label:"url编码"},{key:"{变量名:base64}",label:"base64编码"},{key:"{变量名:base64safe}",label:"base64安全编码"},{key:"{变量名:upper}",label:"转大写"},{key:"{变量名:lower}",label:"转小写"},{key:"{变量名:number}",label:"转数字"},{key:"{变量名:manual}",label:"手动输入"}]}];var _m=(e=>(e.first="first",e.last="last",e))(_m||{});function lx(e,t,n){const{names:o,position:i}=t;let s=[];return i==="first"?s=[...o,...e]:s=[...e,...o],n?Array.from(new Set(s)):s}async function Fs(e,t,n,o,i=false){let s=t.url;const r={dir_id:"id",file_id:"id",pick_code:"pickCode",full_name:"name",file_suffix:"suffix",file_hash:"hash",file_size:"sizeBytes"},a=e.isFile,l=/{(\w+)(:\w+(:\w+)?)?}/g,c=s.match(l);if(c){const u=["file_path","file_dir","clouddrive_stream_url","clouddrive_down_url","clouddrive_playlist_url"];for(const f of c){const p=f.replace(/[{}]/g,"").split(":")[0],g=f.replace(/[{}]/g,"").replace(/^[^:]+:/,"");let m=e[r[p]]?.toString()||"",y="",x=[];switch(u.includes(p)&&(x=await Ka(e),i&&(x=x.map(k=>cn(n,k,true))),y=x.join("/")),p){case "pure_name":a?m=e.name.replace(/\.[^.]+$/,""):m=e.name;break;case "file_path":m=y;break;case "file_dir":m=y.replace(/\/[^/]+$/,"");break;case "clouddrive_stream_url":a?m=await Ji(n,x,zo.download):m=await pu(n,x);break;case "clouddrive_down_url":m=await Ji(n,x,zo.download);break;case "clouddrive_playlist_url":let k=[];a?k=x.slice(0,-1):k=x,m=await pu(n,k);break;case "user_agent":m=navigator.userAgent;break}if(m=m.toString(),g){let k=g.split(":");o&&(k=lx(k,o,false)),console.log(`[buildCustomUrl] functions: ${g}, after merge: ${k.join(":")}`);for(const I of k)switch(I){case "search":m=ym({search_value:m});break;case "encode":m=encodeURIComponent(m);break;case "base64":m=Gd(m);break;case "base64safe":m=Gd(m,true);break;case "upper":m=m.toUpperCase();break;case "lower":m=m.toLowerCase();break;case "number":m=m.replace(/\D/g,"");break;case "manual":m=await ux(m);break}}s=s.replace(f,m);}}return t.mutation?await cx(s,e,t,n):s}async function ux(e){let{isConfirmed:t,value:n}=await q.fire({title:"手动输入",html:`<div>按下「Ctrl + 回车」或「Command + 回车」确认</div><hr class="ce-hr"/><div><textarea readonly class="ce-textarea-trans" style="width:92%;">原始: ${e}</textarea></div>`,input:"textarea",inputValue:e,showCancelButton:true,inputValidator:o=>o?null:"输入不能为空!",didOpen:o=>{ab(o),y0(o);},customClass:{popup:"ce-swal-text-left"}});if(!t)throw new Error("已取消手动输入。");if(n=n?.trim()||"",n==="")throw new Error("输入不能为空!");return e=n,e}async function cx(e,t,n,o){return await(typeof n.mutation=="function"?n.mutation:new Function("payload",n.mutation))({url:e,file:t,customUrl:n,cloudDriveConfig:o})}var io=(e=>(e.search="search",e.play="play",e))(io||{});const dx=gt.menuCustomUrlsForSearch,fx=gt.menuCustomUrlsForPlay,Cm={search:dx,play:fx};async function ki(e){return await Xe.get(Cm[e],[])}async function km(e,t){await Xe.set(Cm[e],t);}function Ct(e){return {enabled:true,key:"",label:"",icon:"",memo:"",extraMemo:"",url:"",openInBackground:false,...e}}const $m=gt.enabledCustomUrlsForSearch,Sm=gt.enabledCustomUrlsForPlay;async function px(e){await Xe.set($m,e);}async function hx(e){await Xe.set(Sm,e);}async function mx(){const e=bu,t=e.filter(i=>i.enabled).map(i=>i.key),n=await Xe.get($m,t),o=[];return e.forEach(i=>{n.includes(i.key)&&o.push(i.key);}),o}async function gx(){const e=yu,t=e.filter(i=>i.enabled).map(i=>i.key),n=await Xe.get(Sm,t),o=[];return e.forEach(i=>{n.includes(i.key)&&o.push(i.key);}),o}async function cr(){const e=await mx();return bu.forEach(t=>{t.enabled=e.includes(t.key);}),bu}async function Em(){const e=await gx();return yu.forEach(t=>{t.enabled=e.includes(t.key);}),yu}const Jd="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABu0lEQVRYhe2WsVXDMBCG/xNNSrFBmAB3tBEZIJkAmCBog9gbGLNAwgQwQJ5MSecNYASVaayjcBIrEDvye06V/JVs/777fJJOBi666NxFoUapzQiunAJiAmC4uV2AuACJxKbq5yQAUhsJxhzMuj0SpxsQ2xuA1EbCuRyg28B4BQSpLhCi9SljvpeckUOQgqBrm90TBCkAS++NCOzmocmBlgpIbYZw/O3RJDYbxwe9s1UMUJ24qkIeAtBcAVfWyYgWTckBwGbjGIw6oXPTkOTtABB16WmvzId1RUl9QZMeABBtB4HlLLzxsNHVAWAnqY085um6/UIA/MYSNbo2ktqMvMui0RgOwB+7YcnHt5Yrn3Zjoh4AhHivA2IkZ6YRonomHj1/0uT9q/ZOOFulAD3Xbl6AxNKmKt+siwglz0Goy8/I7eu96gdAGwnHBgFr4E/Y2GYqqAqtu8Cmylbtll+ORvIbEThum7JggC2EzcYagm5Q9X1/gf0A/AJBqio7e18dBhH8PxCqf+fCkem46htg/fWWD+4eCKDtwhwN7p6w/lp+HvIHdcKuqg6u/elo8p4E4D8EB/eFiy46P/0C5gmePG6KKVsAAAAASUVORK5CYII=",wx="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACAlJREFUaEPtmWuIXVcVx3/7vt9zJ5NOZ5JGkxQDEZroF7WxYGILGoWmLxXamtG0RUhoLSiW4hdFPxRFSytJLVpNRqTE2qq1WqiFGbWhNiCSIClU1EZj0ySTedz3uY+zZN19bjL3zn1NckcNeODAuTPn7L3/6/Ff/7W34Qq/zBW+fv4P4L/tweV4wAf4vVuf9V7O992wCuB6dw3QW3/3vPpZQODYsWM7t2zZ8nzP0Qb4wvHjx2/eunXri0C127C9AMRFJDfAdS17KGNMAsh3+rAbgKSIZJY94wp8YIxJAdl2Q3cCEBIRZwXWcslDGmPCQLl1gHYAzNTU1O3bt29/pr/ZNP8AEXvXRzRg9KFXhPY3g741PT39iR07djyrMy3+qt0MfVrfW7DU4LVHkX8cAX8QXBfExdxxGEwAfIMjq3ZeaAcgJSIL3W2ji3ehVoGnd0E0idQX6l3672oV3+rNsOMr4At4/7g8jxhjhoCmvGw34qiInOkKQK3uVuEHNyGRmAVSydu/GR8SjEIwDr4wUnHw3/1zC8JcnjeMMVcDZ3uF0DUi8s/OAMQutJSFgzuRWhmK8+DkkIpStoFQBOJpiK9GIkkQg/9j34CRTeDTWnhpnjDGrANO9QLwThF5szMAF6pleOJGyJ1BnBw4WSiVEVeTNwCuQDiEJNOQHoX4MAQimFAM3ycnPW8sP8mNMeuBk70AbBCRv3UEoOFTKcHXNuG8WSJ/tAiOgxEX/5oUiW0pqDgWWNBAMoUMj2CSV0EkAbUa/omfQiC87JAyxmwE/n75AJwCPLyOuRdKmFoVqdYsc0ZjpH/5ErUn7wF9x5kHKSPJGKRXwdAohNOIBPC/93Z877vTS/D+QmqAAPJkP7gWd76AiGA8atan9KtvgJNBfvUY7okjUJxDakWI+pHEECRHkdgI4o+CUyP8hefA31+CDxbADeOQL9TLilaWug0FkkdPWw8XFqCUofrtT9cBUVygpgJTKTc5AhpS4RRSFqJf/CFEV/VM8IECKHx4DMkXl6RK/NVZ8IcstZZykD1L9bE9yPw8bka9UUaCYdxkGpMahdgqYtcFYWgDfORbXUNqoABKH28B4LkhOj0PoZiVFRXH5kL2LPLX1yh//xHcbAa3qLrMhxsbwqRGSNy4GkwIYmvh1ic7ghgoAOe2MShZD9QlkJeH4V8rAC1iPisrlHIrRdBF52YoPHQn5PLUchncSgXxx0nfscqGkOuDPS9bhrpQvS86eaAAKnePQbFog3+RvAo+2wCgBcvTS7WqpV4nD5mzOI8/ROXPr1M7N0voHWWi74lAZBj8Mdj2eXj/HqurWgreQAFU93gAWrIg8HQDgOqfBjKt3lo/HCgXIDMDc6dwf3wXPpm1C/VHLID0RnhgGgIhr2tdIQ/U7hkDpyWEfOCfXAxgkbpTMPWQcmw4PXU95DKQX4CqCkM/KLWuvx4+9zMrR+pt9woBcO8bQ4rFeuw37Gz84DvYBYCG0us/gT9+F7LnYe4MZLJQrIIEIZSCh/8Aw2sguOIAxqFQuLg3obkQMPiemvOSuCGhG9K7Cs/fYjc1ijk4/xbMKACt2KZeoQlH4ctHITa08iHk7rsWk80gbgWMYFS8hQP49r+1CIAX+8UZmLoXVOwVsjD7NszOQEaFoA9CwxBKwt5nYHgdRJTFlARWKoQ0EX/xVeTlw5bnTQ3iUcz6a+GBF0H7AdX+KrtfeRDyp6BagfwczJ2F+TnIFMGNQGgEQgn47CSk19QrdZ2B2vQOg2EhlQPlEuTOIY/stDrGJ+CvYO5/AYbGrfuVdV66FQhCOQ+587BwDhYyUNA9qwSE0rD9Qdh4AwyNQThuv613d83W11QeHABNxlIesqctGL1CYUiOWeufOQInHrdtZ3EBFtTqs5DNQSUEgTQEEnDXJMRHIJq2rKOWv9BDL1WogwOgpbdRnCq60yEQCFpvTH3KVlGly/yMtXpmAXJlkBgEh2F0M3z065BQeR23i9eYv7CT0V5eDwiAmlt3Hjx2UW7XcKkW4JUJ63pVnzlNUg0ZTVQtVEMQTMGuJyA1DonVEIp6smFxr9y5N+gXwHoRaep6lnZnLRU2dxp+fy/4DJTm6/nBwhyoWq1ELEUGE3DbjzwZnbA8r17rYfWWQrYBaGp328Ht0RMvHtK18uC5bVYKaLLmz0M+A44mqoZHGq7bDZt31ZuZulINhm241a/+e+N+e+K1ItLU+Xftj5VSD38AnDKU5mxxcwMQ0pBJwi2TENNE1d9q9QbLNGzXXzvpsdA1wL969cRXiUjT3ktHAMrzCuB3X4KTv4VCHqpirZxYAzc9Cqmr7W+N9z4SteNclkZHgXO9ACREpO1O8JLBGzsUGvN/OgAnf2OF2Ye+CUPrIK5toyaqWn3xflD/Vm/JgSTQtN3fbqTAoUOHPrN79+7vdbOG/Z+qyKqtxsr3yj56aXOi9HgJidppzsnJyfsmJiYOth54tN2dBnR78e3eABpUqjRatmCUVTRBL1h9eYnaaU5jzJi3rdhzd1rHUIp4l4ic6A3CO8rSetBYa9P2+qWFS0vovBv4S7vjpm6j64HCJhE53htEk1EWvT6QxW8B3gDaHrj0mkEb0/H9+/ffvHfv3u/0BjK4Nw4cOHD/vn379GBRN5oqHUOrjykVpLZHaUD35/V5acPax0A9XtEYVGGl6lDPJ+a9507uvRixy5hbwTSESy/vLWPY+qu60MZ5cddFN+XHcmf5X3t/0Fb8j+O74gH8G0lHhV4uXv6RAAAAAElFTkSuQmCC",Yd="https://nplayer.com/assets/img/logo_main.png",yu=[Ct({enabled:true,key:"p_builtin_iina",label:"IINA",icon:"https://iina.io/images/iina-icon-60.png",memo:"调用IINA播放视频(使用CloudDrive链接)",url:"iina://weblink?url={clouddrive_stream_url:encode}"}),Ct({enabled:true,key:"p_builtin_vlc",label:"VLC",icon:"https://images.videolan.org/images/favicon.ico",memo:"调用VLC播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/northsea4/vlc-protocol" target="_blank" rel="noreferer">安装VLC协议</a>',url:"vlc://{clouddrive_stream_url}"}),Ct({enabled:true,key:"p_builtin_mpv",label:"MPV",icon:"https://mpv.io/images/mpv-logo-128-0baae5aa.png",memo:"调用MPV播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/akiirui/mpv-handler/blob/main/README.zh-Hans.md" target="_blank" rel="noreferer">安装MPV协议</a>',url:"mpv://{clouddrive_stream_url}"}),Ct({enabled:true,key:"p_builtin_potplayer",label:"PotPlayer",icon:"https://t1.daumcdn.net/potplayer/main/img/favicon.ico",memo:"调用PotPlayer播放视频(使用CloudDrive链接)",url:"potplayer://{clouddrive_stream_url}"}),Ct({enabled:true,key:"p_builtin_infuse",label:"Infuse",icon:wx,memo:"调用Infuse播放视频(使用CloudDrive链接)",url:"infuse://x-callback-url/play?url={clouddrive_stream_url:encode}"}),Ct({enabled:false,key:"p_builtin_nplayer_mac",label:"nPlayer-mac",icon:Yd,memo:"调用nPlayer(mac版)播放视频(使用CloudDrive链接)",url:"nplayer-mac://weblink?url={clouddrive_stream_url:encode}&new_window=1"}),Ct({enabled:false,key:"p_builtin_nplayer_win",label:"nPlayer-win",icon:Yd,memo:"调用nPlayer(非mac版)播放视频(使用CloudDrive链接)",url:"nplayer-{clouddrive_stream_url:encode}"}),Ct({enabled:true,key:"p_builtin_online",label:"在线播放",icon:"https://115.com/favicon.ico",memo:"115官方在线播放(转码)",url:"https://115vod.com/?pickcode={pick_code}&share_id=0"}),Ct({enabled:false,key:"p_builtin_115plus",label:"115plus",icon:"https://115.com/favicon.ico",memo:'调用"115+"脚本进行播放(Command/Ctrl播放全部层级)',extraMemo:'<a href="https://greasyfork.org/zh-CN/scripts/495474" target="_blank" rel="noreferer">安装"115+"脚本</a>'})],bu=[Ct({enabled:true,key:"s_builtin_115_pure_name",label:"115-不含后缀",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀)",url:"{pure_name:search}"}),Ct({enabled:false,key:"s_builtin_115_full_name",label:"115-完整名称",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(完整名称)",url:"{full_name:search}"}),Ct({enabled:true,key:"s_builtin_115_sha",label:"115-sha1",icon:"https://115.com/favicon.ico",memo:"使用115搜索sha1相同的文件(仅适用于文件)",url:"{file_hash:search}"}),Ct({enabled:true,key:"s_builtin_google_pure_name",label:"Google-不含后缀",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(不含后缀)",url:"https://www.google.com/search?q={pure_name:encode}"}),Ct({enabled:false,key:"s_builtin_google_full_name",label:"Google-完整名称",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(完整名称)",url:"https://www.google.com/search?q={full_name:encode}"}),Ct({enabled:true,key:"s_builtin_bing_pure_name",label:"Bing-不含后缀",icon:Jd,memo:"使用Bing搜索文件名(不含后缀)",url:"https://cn.bing.com/search?q={pure_name:encode}"}),Ct({enabled:false,key:"s_builtin_bing_full_name",label:"Bing-完整名称",icon:Jd,memo:"使用Bing搜索文件名(完整名称)",url:"https://cn.bing.com/search?q={full_name:encode}"}),Ct({enabled:true,key:"s_builtin_115_pure_name_manual",label:"115-不含后缀-手动",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀),手动编辑后搜索",url:"{pure_name:manual:search}"})],yx="p_builtin_online",dr="s_builtin_115_pure_name";function Am(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Tl,Qd;function bx(){return Qd||(Qd=1,Tl=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix;}get points(){return this._points}set points(t){this._points=t>=0?t:4;}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t;}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t;}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?false:!!t;}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t;}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t;}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}),Tl}var Ll,Xd;function vx(){return Xd||(Xd=1,Ll=class{constructor(t,n,o=null){this.value=t,this.expiresAt=n,this.timeoutId=o;}get value(){return this._value}set value(t){this._value=parseInt(t);}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t;}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t;}}),Ll}var Ml,Zd;function Nc(){return Zd||(Zd=1,Ml=class{constructor(t,n,o,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof n>"u"?0:n,this.consumedPoints=typeof o>"u"?0:o,this.isFirstInDuration=typeof i>"u"?false:i;}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t;}_getDecoratedProperties(){return {remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}),Ml}var Ol,ef;function xx(){if(ef)return Ol;ef=1;const e=vx(),t=Nc();return Ol=class{constructor(){this._storage={};}incrby(o,i,s){if(this._storage[o]){const r=this._storage[o].expiresAt?this._storage[o].expiresAt.getTime()-new Date().getTime():-1;return !this._storage[o].expiresAt||r>0?(this._storage[o].value=this._storage[o].value+i,new t(0,r,this._storage[o].value,false)):this.set(o,i,s)}return this.set(o,i,s)}set(o,i,s){const r=s*1e3;return this._storage[o]&&this._storage[o].timeoutId&&clearTimeout(this._storage[o].timeoutId),this._storage[o]=new e(i,r>0?new Date(Date.now()+r):null),r>0&&(this._storage[o].timeoutId=setTimeout(()=>{delete this._storage[o];},r),this._storage[o].timeoutId.unref&&this._storage[o].timeoutId.unref()),new t(0,r===0?-1:r,this._storage[o].value,true)}get(o){if(this._storage[o]){const i=this._storage[o].expiresAt?this._storage[o].expiresAt.getTime()-new Date().getTime():-1;return new t(0,i,this._storage[o].value,false)}return null}delete(o){return this._storage[o]?(this._storage[o].timeoutId&&clearTimeout(this._storage[o].timeoutId),delete this._storage[o],true):false}},Ol}var Bl,tf;function _x(){if(tf)return Bl;tf=1;const e=bx(),t=xx(),n=Nc();class o extends e{constructor(s={}){super(s),this._memoryStorage=new t;}consume(s,r=1,a={}){return new Promise((l,c)=>{const u=this.getKey(s),f=this._getKeySecDuration(a);let p=this._memoryStorage.incrby(u,r,f);if(p.remainingPoints=Math.max(this.points-p.consumedPoints,0),p.consumedPoints>this.points)this.blockDuration>0&&p.consumedPoints<=this.points+r&&(p=this._memoryStorage.set(u,p.consumedPoints,this.blockDuration)),c(p);else if(this.execEvenly&&p.msBeforeNext>0&&!p.isFirstInDuration){let g=Math.ceil(p.msBeforeNext/(p.remainingPoints+2));g<this.execEvenlyMinDelayMs&&(g=p.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(l,g,p);}else l(p);})}penalty(s,r=1,a={}){const l=this.getKey(s);return new Promise(c=>{const u=this._getKeySecDuration(a),f=this._memoryStorage.incrby(l,r,u);f.remainingPoints=Math.max(this.points-f.consumedPoints,0),c(f);})}reward(s,r=1,a={}){const l=this.getKey(s);return new Promise(c=>{const u=this._getKeySecDuration(a),f=this._memoryStorage.incrby(l,-r,u);f.remainingPoints=Math.max(this.points-f.consumedPoints,0),c(f);})}block(s,r){const a=r*1e3,l=this.points+1;return this._memoryStorage.set(this.getKey(s),l,r),Promise.resolve(new n(0,a===0?-1:a,l))}set(s,r,a){const l=(a>=0?a:this.duration)*1e3;return this._memoryStorage.set(this.getKey(s),r,a),Promise.resolve(new n(0,l===0?-1:l,r))}get(s){const r=this._memoryStorage.get(this.getKey(s));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(s){return Promise.resolve(this._memoryStorage.delete(this.getKey(s)))}}return Bl=o,Bl}var Rl,nf;function Cx(){if(nf)return Rl;nf=1;const e=_x(),t=Nc();return Rl={RateLimiterMemory:e,RateLimiterRes:t},Rl}var Ns=Cx();/**
  * @vue/shared v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **//*! #__NO_SIDE_EFFECTS__ */function Uc(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const it={},Fi=[],Qn=()=>{},kx=()=>false,Ga=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),jc=e=>e.startsWith("onUpdate:"),jt=Object.assign,zc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1);},$x=Object.prototype.hasOwnProperty,Ze=(e,t)=>$x.call(e,t),Se=Array.isArray,Ni=e=>fr(e)==="[object Map]",as=e=>fr(e)==="[object Set]",of=e=>fr(e)==="[object Date]",Me=e=>typeof e=="function",wt=e=>typeof e=="string",Nn=e=>typeof e=="symbol",st=e=>e!==null&&typeof e=="object",Hc=e=>(st(e)||Me(e))&&Me(e.then)&&Me(e.catch),Pm=Object.prototype.toString,fr=e=>Pm.call(e),Sx=e=>fr(e).slice(8,-1),Im=e=>fr(e)==="[object Object]",Vc=e=>wt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,$s=Uc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ja=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ex=/-(\w)/g,Pn=Ja(e=>e.replace(Ex,(t,n)=>n?n.toUpperCase():"")),Ax=/\B([A-Z])/g,Ko=Ja(e=>e.replace(Ax,"-$1").toLowerCase()),Ya=Ja(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fl=Ja(e=>e?`on${Ya(e)}`:""),Ro=(e,t)=>!Object.is(e,t),Ur=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t);},vu=(e,t,n,o=false)=>{Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:o,value:n});},aa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Px=e=>{const t=wt(e)?Number(e):NaN;return isNaN(t)?e:t};let sf;const Qa=()=>sf||(sf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xn(e){if(Se(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],i=wt(o)?Lx(o):Xn(o);if(i)for(const s in i)t[s]=i[s];}return t}else if(wt(e)||st(e))return e}const Ix=/;(?![^(]*\))/g,Dx=/:([^]+)/,Tx=/\/\*[^]*?\*\//g;function Lx(e){const t={};return e.replace(Tx,"").split(Ix).forEach(n=>{if(n){const o=n.split(Dx);o.length>1&&(t[o[0].trim()]=o[1].trim());}}),t}function De(e){let t="";if(wt(e))t=e;else if(Se(e))for(let n=0;n<e.length;n++){const o=De(e[n]);o&&(t+=o+" ");}else if(st(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function Mx(e){if(!e)return null;let{class:t,style:n}=e;return t&&!wt(t)&&(e.class=De(t)),n&&(e.style=Xn(n)),e}const Ox="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Bx=Uc(Ox);function Dm(e){return !!e||e===""}function Rx(e,t){if(e.length!==t.length)return  false;let n=true;for(let o=0;n&&o<e.length;o++)n=hi(e[o],t[o]);return n}function hi(e,t){if(e===t)return  true;let n=of(e),o=of(t);if(n||o)return n&&o?e.getTime()===t.getTime():false;if(n=Nn(e),o=Nn(t),n||o)return e===t;if(n=Se(e),o=Se(t),n||o)return n&&o?Rx(e,t):false;if(n=st(e),o=st(t),n||o){if(!n||!o)return  false;const i=Object.keys(e).length,s=Object.keys(t).length;if(i!==s)return  false;for(const r in e){const a=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(a&&!l||!a&&l||!hi(e[r],t[r]))return  false}}return String(e)===String(t)}function qc(e,t){return e.findIndex(n=>hi(n,t))}const Tm=e=>!!(e&&e.__v_isRef===true),U=e=>wt(e)?e:e==null?"":Se(e)||st(e)&&(e.toString===Pm||!Me(e.toString))?Tm(e)?U(e.value):JSON.stringify(e,Lm,2):String(e),Lm=(e,t)=>Tm(t)?Lm(e,t.value):Ni(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,i],s)=>(n[Nl(o,s)+" =>"]=i,n),{})}:as(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Nl(n))}:Nn(t)?Nl(t):st(t)&&!Se(t)&&!Im(t)?String(t):t,Nl=(e,t="")=>{var n;return Nn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
  * @vue/reactivity v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/let nn;class Fx{constructor(t=false){this.detached=t,this._active=true,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=false,this.parent=nn,!t&&nn&&(this.index=(nn.scopes||(nn.scopes=[])).push(this)-1);}get active(){return this._active}pause(){if(this._active){this._isPaused=true;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause();}}resume(){if(this._active&&this._isPaused){this._isPaused=false;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume();}}run(t){if(this._active){const n=nn;try{return nn=this,t()}finally{nn=n;}}}on(){++this._on===1&&(this.prevScope=nn,nn=this);}off(){this._on>0&&--this._on===0&&(nn=this.prevScope,this.prevScope=void 0);}stop(t){if(this._active){this._active=false;let n,o;for(n=0,o=this.effects.length;n<o;n++)this.effects[n].stop();for(this.effects.length=0,n=0,o=this.cleanups.length;n<o;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,o=this.scopes.length;n<o;n++)this.scopes[n].stop(true);this.scopes.length=0;}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index);}this.parent=void 0;}}}function Nx(){return nn}let at;const Ul=new WeakSet;class Mm{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,nn&&nn.active&&nn.effects.push(this);}pause(){this.flags|=64;}resume(){this.flags&64&&(this.flags&=-65,Ul.has(this)&&(Ul.delete(this),this.trigger()));}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Bm(this);}run(){if(!(this.flags&1))return this.fn();this.flags|=2,rf(this),Rm(this);const t=at,n=Bn;at=this,Bn=true;try{return this.fn()}finally{Fm(this),at=t,Bn=n,this.flags&=-3;}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Gc(t);this.deps=this.depsTail=void 0,rf(this),this.onStop&&this.onStop(),this.flags&=-2;}}trigger(){this.flags&64?Ul.add(this):this.scheduler?this.scheduler():this.runIfDirty();}runIfDirty(){xu(this)&&this.run();}get dirty(){return xu(this)}}let Om=0,Ss,Es;function Bm(e,t=false){if(e.flags|=8,t){e.next=Es,Es=e;return}e.next=Ss,Ss=e;}function Wc(){Om++;}function Kc(){if(--Om>0)return;if(Es){let t=Es;for(Es=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n;}}let e;for(;Ss;){let t=Ss;for(Ss=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger();}catch(o){e||(e=o);}t=n;}}if(e)throw e}function Rm(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t;}function Fm(e){let t,n=e.depsTail,o=n;for(;o;){const i=o.prevDep;o.version===-1?(o===n&&(n=i),Gc(o),Ux(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=i;}e.deps=t,e.depsTail=n;}function xu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Nm(t.dep.computed)||t.dep.version!==t.version))return  true;return !!e._dirty}function Nm(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Us)||(e.globalVersion=Us,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!xu(e))))return;e.flags|=2;const t=e.dep,n=at,o=Bn;at=e,Bn=true;try{Rm(e);const i=e.fn(e._value);(t.version===0||Ro(i,e._value))&&(e.flags|=128,e._value=i,t.version++);}catch(i){throw t.version++,i}finally{at=n,Bn=o,Fm(e),e.flags&=-3;}}function Gc(e,t=false){const{dep:n,prevSub:o,nextSub:i}=e;if(o&&(o.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Gc(s,true);}!t&&!--n.sc&&n.map&&n.map.delete(n.key);}function Ux(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0);}let Bn=true;const Um=[];function vo(){Um.push(Bn),Bn=false;}function xo(){const e=Um.pop();Bn=e===void 0?true:e;}function rf(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=at;at=void 0;try{t();}finally{at=n;}}}let Us=0;class jx{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0;}}class Jc{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=true;}track(t){if(!at||!Bn||at===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==at)n=this.activeLink=new jx(at,this),at.deps?(n.prevDep=at.depsTail,at.depsTail.nextDep=n,at.depsTail=n):at.deps=at.depsTail=n,jm(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=at.depsTail,n.nextDep=void 0,at.depsTail.nextDep=n,at.depsTail=n,at.deps===n&&(at.deps=o);}return n}trigger(t){this.version++,Us++,this.notify(t);}notify(t){Wc();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify();}finally{Kc();}}}function jm(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)jm(o);}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e;}}const la=new WeakMap,ai=Symbol(""),_u=Symbol(""),js=Symbol("");function Bt(e,t,n){if(Bn&&at){let o=la.get(e);o||la.set(e,o=new Map);let i=o.get(n);i||(o.set(n,i=new Jc),i.map=o,i.key=n),i.track();}}function po(e,t,n,o,i,s){const r=la.get(e);if(!r){Us++;return}const a=l=>{l&&l.trigger();};if(Wc(),t==="clear")r.forEach(a);else {const l=Se(e),c=l&&Vc(n);if(l&&n==="length"){const u=Number(o);r.forEach((f,p)=>{(p==="length"||p===js||!Nn(p)&&p>=u)&&a(f);});}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),c&&a(r.get(js)),t){case "add":l?c&&a(r.get("length")):(a(r.get(ai)),Ni(e)&&a(r.get(_u)));break;case "delete":l||(a(r.get(ai)),Ni(e)&&a(r.get(_u)));break;case "set":Ni(e)&&a(r.get(ai));break}}Kc();}function zx(e,t){const n=la.get(e);return n&&n.get(t)}function Ii(e){const t=Ye(e);return t===e?t:(Bt(t,"iterate",js),Sn(e)?t:t.map(Tt))}function Xa(e){return Bt(e=Ye(e),"iterate",js),e}const Hx={__proto__:null,[Symbol.iterator](){return jl(this,Symbol.iterator,Tt)},concat(...e){return Ii(this).concat(...e.map(t=>Se(t)?Ii(t):t))},entries(){return jl(this,"entries",e=>(e[1]=Tt(e[1]),e))},every(e,t){return co(this,"every",e,t,void 0,arguments)},filter(e,t){return co(this,"filter",e,t,n=>n.map(Tt),arguments)},find(e,t){return co(this,"find",e,t,Tt,arguments)},findIndex(e,t){return co(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return co(this,"findLast",e,t,Tt,arguments)},findLastIndex(e,t){return co(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return co(this,"forEach",e,t,void 0,arguments)},includes(...e){return zl(this,"includes",e)},indexOf(...e){return zl(this,"indexOf",e)},join(e){return Ii(this).join(e)},lastIndexOf(...e){return zl(this,"lastIndexOf",e)},map(e,t){return co(this,"map",e,t,void 0,arguments)},pop(){return gs(this,"pop")},push(...e){return gs(this,"push",e)},reduce(e,...t){return af(this,"reduce",e,t)},reduceRight(e,...t){return af(this,"reduceRight",e,t)},shift(){return gs(this,"shift")},some(e,t){return co(this,"some",e,t,void 0,arguments)},splice(...e){return gs(this,"splice",e)},toReversed(){return Ii(this).toReversed()},toSorted(e){return Ii(this).toSorted(e)},toSpliced(...e){return Ii(this).toSpliced(...e)},unshift(...e){return gs(this,"unshift",e)},values(){return jl(this,"values",Tt)}};function jl(e,t,n){const o=Xa(e),i=o[t]();return o!==e&&!Sn(e)&&(i._next=i.next,i.next=()=>{const s=i._next();return s.value&&(s.value=n(s.value)),s}),i}const Vx=Array.prototype;function co(e,t,n,o,i,s){const r=Xa(e),a=r!==e&&!Sn(e),l=r[t];if(l!==Vx[t]){const f=l.apply(e,s);return a?Tt(f):f}let c=n;r!==e&&(a?c=function(f,p){return n.call(this,Tt(f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const u=l.call(r,c,o);return a&&i?i(u):u}function af(e,t,n,o){const i=Xa(e);let s=n;return i!==e&&(Sn(e)?n.length>3&&(s=function(r,a,l){return n.call(this,r,a,l,e)}):s=function(r,a,l){return n.call(this,r,Tt(a),l,e)}),i[t](s,...o)}function zl(e,t,n){const o=Ye(e);Bt(o,"iterate",js);const i=o[t](...n);return (i===-1||i===false)&&Xc(n[0])?(n[0]=Ye(n[0]),o[t](...n)):i}function gs(e,t,n=[]){vo(),Wc();const o=Ye(e)[t].apply(e,n);return Kc(),xo(),o}const qx=Uc("__proto__,__v_isRef,__isVue"),zm=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nn));function Wx(e){Nn(e)||(e=String(e));const t=Ye(this);return Bt(t,"has",e),t.hasOwnProperty(e)}class Hm{constructor(t=false,n=false){this._isReadonly=t,this._isShallow=n;}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return !i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(i?s?n_:Km:s?Wm:qm).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=Se(t);if(!i){let l;if(r&&(l=Hx[n]))return l;if(n==="hasOwnProperty")return Wx}const a=Reflect.get(t,n,Pt(t)?t:o);return (Nn(n)?zm.has(n):qx(n))||(i||Bt(t,"get",n),s)?a:Pt(a)?r&&Vc(n)?a:a.value:st(a)?i?Gm(a):Za(a):a}}class Vm extends Hm{constructor(t=false){super(false,t);}set(t,n,o,i){let s=t[n];if(!this._isShallow){const l=Ho(s);if(!Sn(o)&&!Ho(o)&&(s=Ye(s),o=Ye(o)),!Se(t)&&Pt(s)&&!Pt(o))return l?false:(s.value=o,true)}const r=Se(t)&&Vc(n)?Number(n)<t.length:Ze(t,n),a=Reflect.set(t,n,o,Pt(t)?t:i);return t===Ye(i)&&(r?Ro(o,s)&&po(t,"set",n,o):po(t,"add",n,o)),a}deleteProperty(t,n){const o=Ze(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&o&&po(t,"delete",n,void 0),i}has(t,n){const o=Reflect.has(t,n);return (!Nn(n)||!zm.has(n))&&Bt(t,"has",n),o}ownKeys(t){return Bt(t,"iterate",Se(t)?"length":ai),Reflect.ownKeys(t)}}class Kx extends Hm{constructor(t=false){super(true,t);}set(t,n){return  true}deleteProperty(t,n){return  true}}const Gx=new Vm,Jx=new Kx,Yx=new Vm(true);const Cu=e=>e,Er=e=>Reflect.getPrototypeOf(e);function Qx(e,t,n){return function(...o){const i=this.__v_raw,s=Ye(i),r=Ni(s),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...o),u=n?Cu:t?ua:Tt;return !t&&Bt(s,"iterate",l?_u:ai),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:a?[u(f[0]),u(f[1])]:u(f),done:p}},[Symbol.iterator](){return this}}}}function Ar(e){return function(...t){return e==="delete"?false:e==="clear"?void 0:this}}function Xx(e,t){const n={get(i){const s=this.__v_raw,r=Ye(s),a=Ye(i);e||(Ro(i,a)&&Bt(r,"get",i),Bt(r,"get",a));const{has:l}=Er(r),c=t?Cu:e?ua:Tt;if(l.call(r,i))return c(s.get(i));if(l.call(r,a))return c(s.get(a));s!==r&&s.get(i);},get size(){const i=this.__v_raw;return !e&&Bt(Ye(i),"iterate",ai),Reflect.get(i,"size",i)},has(i){const s=this.__v_raw,r=Ye(s),a=Ye(i);return e||(Ro(i,a)&&Bt(r,"has",i),Bt(r,"has",a)),i===a?s.has(i):s.has(i)||s.has(a)},forEach(i,s){const r=this,a=r.__v_raw,l=Ye(a),c=t?Cu:e?ua:Tt;return !e&&Bt(l,"iterate",ai),a.forEach((u,f)=>i.call(s,c(u),c(f),r))}};return jt(n,e?{add:Ar("add"),set:Ar("set"),delete:Ar("delete"),clear:Ar("clear")}:{add(i){!t&&!Sn(i)&&!Ho(i)&&(i=Ye(i));const s=Ye(this);return Er(s).has.call(s,i)||(s.add(i),po(s,"add",i,i)),this},set(i,s){!t&&!Sn(s)&&!Ho(s)&&(s=Ye(s));const r=Ye(this),{has:a,get:l}=Er(r);let c=a.call(r,i);c||(i=Ye(i),c=a.call(r,i));const u=l.call(r,i);return r.set(i,s),c?Ro(s,u)&&po(r,"set",i,s):po(r,"add",i,s),this},delete(i){const s=Ye(this),{has:r,get:a}=Er(s);let l=r.call(s,i);l||(i=Ye(i),l=r.call(s,i)),a&&a.call(s,i);const c=s.delete(i);return l&&po(s,"delete",i,void 0),c},clear(){const i=Ye(this),s=i.size!==0,r=i.clear();return s&&po(i,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=Qx(i,e,t);}),n}function Yc(e,t){const n=Xx(e,t);return (o,i,s)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?o:Reflect.get(Ze(n,i)&&i in o?n:o,i,s)}const Zx={get:Yc(false,false)},e_={get:Yc(false,true)},t_={get:Yc(true,false)};const qm=new WeakMap,Wm=new WeakMap,Km=new WeakMap,n_=new WeakMap;function o_(e){switch(e){case "Object":case "Array":return 1;case "Map":case "Set":case "WeakMap":case "WeakSet":return 2;default:return 0}}function i_(e){return e.__v_skip||!Object.isExtensible(e)?0:o_(Sx(e))}function Za(e){return Ho(e)?e:Qc(e,false,Gx,Zx,qm)}function s_(e){return Qc(e,false,Yx,e_,Wm)}function Gm(e){return Qc(e,true,Jx,t_,Km)}function Qc(e,t,n,o,i){if(!st(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=i_(e);if(s===0)return e;const r=i.get(e);if(r)return r;const a=new Proxy(e,s===2?o:n);return i.set(e,a),a}function Ui(e){return Ho(e)?Ui(e.__v_raw):!!(e&&e.__v_isReactive)}function Ho(e){return !!(e&&e.__v_isReadonly)}function Sn(e){return !!(e&&e.__v_isShallow)}function Xc(e){return e?!!e.__v_raw:false}function Ye(e){const t=e&&e.__v_raw;return t?Ye(t):e}function r_(e){return !Ze(e,"__v_skip")&&Object.isExtensible(e)&&vu(e,"__v_skip",true),e}const Tt=e=>st(e)?Za(e):e,ua=e=>st(e)?Gm(e):e;function Pt(e){return e?e.__v_isRef===true:false}function K(e){return a_(e,false)}function a_(e,t){return Pt(e)?e:new l_(e,t)}class l_{constructor(t,n){this.dep=new Jc,this.__v_isRef=true,this.__v_isShallow=false,this._rawValue=n?t:Ye(t),this._value=n?t:Tt(t),this.__v_isShallow=n;}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Sn(t)||Ho(t);t=o?t:Ye(t),Ro(t,n)&&(this._rawValue=t,this._value=o?t:Tt(t),this.dep.trigger());}}function te(e){return Pt(e)?e.value:e}const u_={get:(e,t,n)=>t==="__v_raw"?e:te(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const i=e[t];return Pt(i)&&!Pt(n)?(i.value=n,true):Reflect.set(e,t,n,o)}};function Jm(e){return Ui(e)?e:new Proxy(e,u_)}function c_(e){const t=Se(e)?new Array(e.length):{};for(const n in e)t[n]=Ym(e,n);return t}class d_{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=true,this._value=void 0;}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t;}get dep(){return zx(Ye(this._object),this._key)}}class f_{constructor(t){this._getter=t,this.__v_isRef=true,this.__v_isReadonly=true,this._value=void 0;}get value(){return this._value=this._getter()}}function p_(e,t,n){return Pt(e)?e:Me(e)?new f_(e):st(e)&&arguments.length>1?Ym(e,t,n):K(e)}function Ym(e,t,n){const o=e[t];return Pt(o)?o:new d_(e,t,n)}class h_{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Jc(this),this.__v_isRef=true,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Us-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o;}notify(){if(this.flags|=16,!(this.flags&8)&&at!==this)return Bm(this,true),true}get value(){const t=this.dep.track();return Nm(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t);}}function m_(e,t,n=false){let o,i;return Me(e)?o=e:(o=e.get,i=e.set),new h_(o,i,n)}const Pr={},ca=new WeakMap;let ei;function g_(e,t=false,n=ei){if(n){let o=ca.get(n);o||ca.set(n,o=[]),o.push(e);}}function w_(e,t,n=it){const{immediate:o,deep:i,once:s,scheduler:r,augmentJob:a,call:l}=n,c=D=>i?D:Sn(D)||i===false||i===0?ho(D,1):ho(D);let u,f,p,g,m=false,y=false;if(Pt(e)?(f=()=>e.value,m=Sn(e)):Ui(e)?(f=()=>c(e),m=true):Se(e)?(y=true,m=e.some(D=>Ui(D)||Sn(D)),f=()=>e.map(D=>{if(Pt(D))return D.value;if(Ui(D))return c(D);if(Me(D))return l?l(D,2):D()})):Me(e)?t?f=l?()=>l(e,2):e:f=()=>{if(p){vo();try{p();}finally{xo();}}const D=ei;ei=u;try{return l?l(e,3,[g]):e(g)}finally{ei=D;}}:f=Qn,t&&i){const D=f,O=i===true?1/0:i;f=()=>ho(D(),O);}const x=Nx(),k=()=>{u.stop(),x&&x.active&&zc(x.effects,u);};if(s&&t){const D=t;t=(...O)=>{D(...O),k();};}let I=y?new Array(e.length).fill(Pr):Pr;const E=D=>{if(!(!(u.flags&1)||!u.dirty&&!D))if(t){const O=u.run();if(i||m||(y?O.some((H,j)=>Ro(H,I[j])):Ro(O,I))){p&&p();const H=ei;ei=u;try{const j=[O,I===Pr?void 0:y&&I[0]===Pr?[]:I,g];I=O,l?l(t,3,j):t(...j);}finally{ei=H;}}}else u.run();};return a&&a(E),u=new Mm(f),u.scheduler=r?()=>r(E,false):E,g=D=>g_(D,false,u),p=u.onStop=()=>{const D=ca.get(u);if(D){if(l)l(D,4);else for(const O of D)O();ca.delete(u);}},t?o?E(true):I=u.run():r?r(E.bind(null,true),true):u.run(),k.pause=u.pause.bind(u),k.resume=u.resume.bind(u),k.stop=k,k}function ho(e,t=1/0,n){if(t<=0||!st(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Pt(e))ho(e.value,t,n);else if(Se(e))for(let o=0;o<e.length;o++)ho(e[o],t,n);else if(as(e)||Ni(e))e.forEach(o=>{ho(o,t,n);});else if(Im(e)){for(const o in e)ho(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&ho(e[o],t,n);}return e}/**
  * @vue/runtime-core v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/function pr(e,t,n,o){try{return o?e(...o):e()}catch(i){hr(i,t,n);}}function so(e,t,n,o){if(Me(e)){const i=pr(e,t,n,o);return i&&Hc(i)&&i.catch(s=>{hr(s,t,n);}),i}if(Se(e)){const i=[];for(let s=0;s<e.length;s++)i.push(so(e[s],t,n,o));return i}}function hr(e,t,n,o=true){const i=t?t.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||it;if(t){let a=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const u=a.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,l,c)===false)return}a=a.parent;}if(s){vo(),pr(s,null,10,[e,l,c]),xo();return}}y_(e,n,i,o,r);}function y_(e,t,n,o=true,i=false){if(i)throw e;console.error(e);}const Wt=[];let Wn=-1;const ji=[];let Po=null,Li=0;const Qm=Promise.resolve();let da=null;function mi(e){const t=da||Qm;return e?t.then(this?e.bind(this):e):t}function b_(e){let t=Wn+1,n=Wt.length;for(;t<n;){const o=t+n>>>1,i=Wt[o],s=zs(i);s<e||s===e&&i.flags&2?t=o+1:n=o;}return t}function Zc(e){if(!(e.flags&1)){const t=zs(e),n=Wt[Wt.length-1];!n||!(e.flags&2)&&t>=zs(n)?Wt.push(e):Wt.splice(b_(t),0,e),e.flags|=1,Xm();}}function Xm(){da||(da=Qm.then(eg));}function ku(e){Se(e)?ji.push(...e):Po&&e.id===-1?Po.splice(Li+1,0,e):e.flags&1||(ji.push(e),e.flags|=1),Xm();}function lf(e,t,n=Wn+1){for(;n<Wt.length;n++){const o=Wt[n];if(o&&o.flags&2){if(e&&o.id!==e.uid)continue;Wt.splice(n,1),n--,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2);}}}function Zm(e){if(ji.length){const t=[...new Set(ji)].sort((n,o)=>zs(n)-zs(o));if(ji.length=0,Po){Po.push(...t);return}for(Po=t,Li=0;Li<Po.length;Li++){const n=Po[Li];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2;}Po=null,Li=0;}}const zs=e=>e.id==null?e.flags&2?-1:1/0:e.id;function eg(e){try{for(Wn=0;Wn<Wt.length;Wn++){const t=Wt[Wn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),pr(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2));}}finally{for(;Wn<Wt.length;Wn++){const t=Wt[Wn];t&&(t.flags&=-2);}Wn=-1,Wt.length=0,Zm(),da=null,(Wt.length||ji.length)&&eg();}}let Lt=null,el=null;function fa(e){const t=Lt;return Lt=e,el=e&&e.type.__scopeId||null,t}function v_(e){el=e;}function x_(){el=null;}const __=e=>me;function me(e,t=Lt,n){if(!t||e._n)return e;const o=(...i)=>{o._d&&bf(-1);const s=fa(t);let r;try{r=e(...i);}finally{fa(s),o._d&&bf(1);}return r};return o._n=true,o._c=true,o._d=true,o}function J(e,t){if(Lt===null)return e;const n=il(Lt),o=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[s,r,a,l=it]=t[i];s&&(Me(s)&&(s={mounted:s,updated:s}),s.deep&&ho(r),o.push({dir:s,instance:n,value:r,oldValue:void 0,arg:a,modifiers:l}));}return e}function Qo(e,t,n,o){const i=e.dirs,s=t&&t.dirs;for(let r=0;r<i.length;r++){const a=i[r];s&&(a.oldValue=s[r].value);let l=a.dir[o];l&&(vo(),so(l,n,8,[e.el,a,e,t]),xo());}}const C_=Symbol("_vte"),k_=e=>e.__isTeleport;function ed(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ed(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t;}/*! #__NO_SIDE_EFFECTS__ */function xe(e,t){return Me(e)?jt({name:e.name},t,{setup:e}):e}function tg(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0];}function As(e,t,n,o,i=false){if(Se(e)){e.forEach((m,y)=>As(m,t&&(Se(t)?t[y]:t),n,o,i));return}if(zi(o)&&!i){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&As(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?il(o.component):o.el,r=i?null:s,{i:a,r:l}=e,c=t&&t.r,u=a.refs===it?a.refs={}:a.refs,f=a.setupState,p=Ye(f),g=f===it?()=>false:m=>Ze(p,m);if(c!=null&&c!==l&&(wt(c)?(u[c]=null,g(c)&&(f[c]=null)):Pt(c)&&(c.value=null)),Me(l))pr(l,a,12,[r,u]);else {const m=wt(l),y=Pt(l);if(m||y){const x=()=>{if(e.f){const k=m?g(l)?f[l]:u[l]:l.value;i?Se(k)&&zc(k,s):Se(k)?k.includes(s)||k.push(s):m?(u[l]=[s],g(l)&&(f[l]=u[l])):(l.value=[s],e.k&&(u[e.k]=l.value));}else m?(u[l]=r,g(l)&&(f[l]=r)):y&&(l.value=r,e.k&&(u[e.k]=r));};r?(x.id=-1,pn(x,n)):x();}}}Qa().requestIdleCallback;Qa().cancelIdleCallback;const zi=e=>!!e.type.__asyncLoader,ng=e=>e.type.__isKeepAlive;function $_(e,t){og(e,"a",t);}function S_(e,t){og(e,"da",t);}function og(e,t,n=Rt){const o=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent;}return e()});if(tl(t,o,n),n){let i=n.parent;for(;i&&i.parent;)ng(i.parent.vnode)&&E_(o,t,n,i),i=i.parent;}}function E_(e,t,n,o){const i=tl(t,e,o,true);$i(()=>{zc(o[t],i);},n);}function tl(e,t,n=Rt,o=false){if(n){const i=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{vo();const a=gi(n),l=so(t,n,e,r);return a(),xo(),l});return o?i.unshift(s):i.push(s),s}}const So=e=>(t,n=Rt)=>{(!Vs||e==="sp")&&tl(e,(...o)=>t(...o),n);},St=So("bm"),Ht=So("m"),A_=So("bu"),P_=So("u"),ig=So("bum"),$i=So("um"),I_=So("sp"),D_=So("rtg"),T_=So("rtc");function L_(e,t=Rt){tl("ec",e,t);}const td="components",M_="directives";function _o(e,t){return nd(td,e,true,t)||e}const sg=Symbol.for("v-ndc");function In(e){return wt(e)?nd(td,e,false)||e:e||sg}function O_(e){return nd(M_,e)}function nd(e,t,n=true,o=false){const i=Lt||Rt;if(i){const s=i.type;if(e===td){const a=$C(s,false);if(a&&(a===t||a===Pn(t)||a===Ya(Pn(t))))return s}const r=uf(i[e]||s[e],t)||uf(i.appContext[e],t);return !r&&o?s:r}}function uf(e,t){return e&&(e[t]||e[Pn(t)]||e[Ya(Pn(t))])}function je(e,t,n,o){let i;const s=n,r=Se(e);if(r||wt(e)){const a=r&&Ui(e);let l=false,c=false;a&&(l=!Sn(e),c=Ho(e),e=Xa(e)),i=new Array(e.length);for(let u=0,f=e.length;u<f;u++)i[u]=t(l?c?ua(Tt(e[u])):Tt(e[u]):e[u],u,void 0,s);}else if(typeof e=="number"){i=new Array(e);for(let a=0;a<e;a++)i[a]=t(a+1,a,void 0,s);}else if(st(e))if(e[Symbol.iterator])i=Array.from(e,(a,l)=>t(a,l,void 0,s));else {const a=Object.keys(e);i=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];i[l]=t(e[u],u,l,s);}}else i=[];return i}function B_(e,t){for(let n=0;n<t.length;n++){const o=t[n];if(Se(o))for(let i=0;i<o.length;i++)e[o[i].name]=o[i].fn;else o&&(e[o.name]=o.key?(...i)=>{const s=o.fn(...i);return s&&(s.key=o.key),s}:o.fn);}return e}function Ge(e,t,n={},o,i){if(Lt.ce||Lt.parent&&zi(Lt.parent)&&Lt.parent.ce)return t!=="default"&&(n.name=t),_(),nt($e,null,[re("slot",n,o&&o())],64);let s=e[t];s&&s._c&&(s._d=false),_();const r=s&&rg(s(n)),a=n.key||r&&r.key,l=nt($e,{key:(a&&!Nn(a)?a:`_${t}`)+(!r&&o?"_fb":"")},r||(o?o():[]),r&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=true),l}function rg(e){return e.some(t=>Qi(t)?!(t.type===Un||t.type===$e&&!rg(t.children)):true)?e:null}const $u=e=>e?Tg(e)?il(e):$u(e.parent):null,Ps=jt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>$u(e.parent),$root:e=>$u(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>lg(e),$forceUpdate:e=>e.f||(e.f=()=>{Zc(e.update);}),$nextTick:e=>e.n||(e.n=mi.bind(e.proxy)),$watch:e=>oC.bind(e)}),Hl=(e,t)=>e!==it&&!e.__isScriptSetup&&Ze(e,t),R_={get({_:e},t){if(t==="__v_skip")return  true;const{ctx:n,setupState:o,data:i,props:s,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return o[t];case 2:return i[t];case 4:return n[t];case 3:return s[t]}else {if(Hl(o,t))return r[t]=1,o[t];if(i!==it&&Ze(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Ze(c,t))return r[t]=3,s[t];if(n!==it&&Ze(n,t))return r[t]=4,n[t];Su&&(r[t]=0);}}const u=Ps[t];let f,p;if(u)return t==="$attrs"&&Bt(e.attrs,"get",""),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==it&&Ze(n,t))return r[t]=4,n[t];if(p=l.config.globalProperties,Ze(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:i,ctx:s}=e;return Hl(i,t)?(i[t]=n,true):o!==it&&Ze(o,t)?(o[t]=n,true):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?false:(s[t]=n,true)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:i,propsOptions:s}},r){let a;return !!n[r]||e!==it&&Ze(e,r)||Hl(t,r)||(a=s[0])&&Ze(a,r)||Ze(o,r)||Ze(Ps,r)||Ze(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Ze(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cf(e){return Se(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Mt(e){const t=Dg();let n=e();return Du(),Hc(n)&&(n=n.catch(o=>{throw gi(t),o})),[n,()=>gi(t)]}let Su=true;function F_(e){const t=lg(e),n=e.proxy,o=e.ctx;Su=false,t.beforeCreate&&df(t.beforeCreate,e,"bc");const{data:i,computed:s,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:g,updated:m,activated:y,deactivated:x,beforeDestroy:k,beforeUnmount:I,destroyed:E,unmounted:D,render:O,renderTracked:H,renderTriggered:j,errorCaptured:ae,serverPrefetch:fe,expose:se,inheritAttrs:B,components:R,directives:G,filters:ce}=t;if(c&&N_(c,o,null),r)for(const _e in r){const ke=r[_e];Me(ke)&&(o[_e]=ke.bind(n));}if(i){const _e=i.call(n,n);st(_e)&&(e.data=Za(_e));}if(Su=true,s)for(const _e in s){const ke=s[_e],Fe=Me(ke)?ke.bind(n,n):Me(ke.get)?ke.get.bind(n,n):Qn,dt=!Me(ke)&&Me(ke.set)?ke.set.bind(n):Qn,ge=Ke({get:Fe,set:dt});Object.defineProperty(o,_e,{enumerable:true,configurable:true,get:()=>ge.value,set:M=>ge.value=M});}if(a)for(const _e in a)ag(a[_e],o,n,_e);if(l){const _e=Me(l)?l.call(n):l;Reflect.ownKeys(_e).forEach(ke=>{Cs(ke,_e[ke]);});}u&&df(u,e,"c");function Ce(_e,ke){Se(ke)?ke.forEach(Fe=>_e(Fe.bind(n))):ke&&_e(ke.bind(n));}if(Ce(St,f),Ce(Ht,p),Ce(A_,g),Ce(P_,m),Ce($_,y),Ce(S_,x),Ce(L_,ae),Ce(T_,H),Ce(D_,j),Ce(ig,I),Ce($i,D),Ce(I_,fe),Se(se))if(se.length){const _e=e.exposed||(e.exposed={});se.forEach(ke=>{Object.defineProperty(_e,ke,{get:()=>n[ke],set:Fe=>n[ke]=Fe,enumerable:true});});}else e.exposed||(e.exposed={});O&&e.render===Qn&&(e.render=O),B!=null&&(e.inheritAttrs=B),R&&(e.components=R),G&&(e.directives=G),fe&&tg(e);}function N_(e,t,n=Qn){Se(e)&&(e=Eu(e));for(const o in e){const i=e[o];let s;st(i)?"default"in i?s=Is(i.from||o,i.default,true):s=Is(i.from||o):s=Is(i),Pt(s)?Object.defineProperty(t,o,{enumerable:true,configurable:true,get:()=>s.value,set:r=>s.value=r}):t[o]=s;}}function df(e,t,n){so(Se(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n);}function ag(e,t,n,o){let i=o.includes(".")?xg(n,o):()=>n[o];if(wt(e)){const s=t[e];Me(s)&&ze(i,s);}else if(Me(e))ze(i,e.bind(n));else if(st(e))if(Se(e))e.forEach(s=>ag(s,t,n,o));else {const s=Me(e.handler)?e.handler.bind(n):t[e.handler];Me(s)&&ze(i,s,e);}}function lg(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:i,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,a=s.get(t);let l;return a?l=a:!i.length&&!n&&!o?l=t:(l={},i.length&&i.forEach(c=>pa(l,c,r,true)),pa(l,t,r)),st(t)&&s.set(t,l),l}function pa(e,t,n,o=false){const{mixins:i,extends:s}=t;s&&pa(e,s,n,true),i&&i.forEach(r=>pa(e,r,n,true));for(const r in t)if(!(o&&r==="expose")){const a=U_[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r];}return e}const U_={data:ff,props:pf,emits:pf,methods:_s,computed:_s,beforeCreate:qt,created:qt,beforeMount:qt,mounted:qt,beforeUpdate:qt,updated:qt,beforeDestroy:qt,beforeUnmount:qt,destroyed:qt,unmounted:qt,activated:qt,deactivated:qt,errorCaptured:qt,serverPrefetch:qt,components:_s,directives:_s,watch:z_,provide:ff,inject:j_};function ff(e,t){return t?e?function(){return jt(Me(e)?e.call(this,this):e,Me(t)?t.call(this,this):t)}:t:e}function j_(e,t){return _s(Eu(e),Eu(t))}function Eu(e){if(Se(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function qt(e,t){return e?[...new Set([].concat(e,t))]:t}function _s(e,t){return e?jt(Object.create(null),e,t):t}function pf(e,t){return e?Se(e)&&Se(t)?[...new Set([...e,...t])]:jt(Object.create(null),cf(e),cf(t??{})):t}function z_(e,t){if(!e)return t;if(!t)return e;const n=jt(Object.create(null),e);for(const o in t)n[o]=qt(e[o],t[o]);return n}function ug(){return {app:null,config:{isNativeTag:kx,performance:false,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let H_=0;function V_(e,t){return function(o,i=null){Me(o)||(o=jt({},o)),i!=null&&!st(i)&&(i=null);const s=ug(),r=new WeakSet,a=[];let l=false;const c=s.app={_uid:H_++,_component:o,_props:i,_container:null,_context:s,_instance:null,version:AC,get config(){return s.config},set config(u){},use(u,...f){return r.has(u)||(u&&Me(u.install)?(r.add(u),u.install(c,...f)):Me(u)&&(r.add(u),u(c,...f))),c},mixin(u){return s.mixins.includes(u)||s.mixins.push(u),c},component(u,f){return f?(s.components[u]=f,c):s.components[u]},directive(u,f){return f?(s.directives[u]=f,c):s.directives[u]},mount(u,f,p){if(!l){const g=c._ceVNode||re(o,i);return g.appContext=s,p===true?p="svg":p===false&&(p=void 0),e(g,u,p),l=true,c._container=u,u.__vue_app__=c,il(g.component)}},onUnmount(u){a.push(u);},unmount(){l&&(so(a,c._instance,16),e(null,c._container),delete c._container.__vue_app__);},provide(u,f){return s.provides[u]=f,c},runWithContext(u){const f=Hi;Hi=c;try{return u()}finally{Hi=f;}}};return c}}let Hi=null;function Cs(e,t){if(Rt){let n=Rt.provides;const o=Rt.parent&&Rt.parent.provides;o===n&&(n=Rt.provides=Object.create(o)),n[e]=t;}}function Is(e,t,n=false){const o=Dg();if(o||Hi){let i=Hi?Hi._context.provides:o?o.parent==null||o.ce?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&Me(t)?t.call(o&&o.proxy):t}}const cg={},dg=()=>Object.create(cg),fg=e=>Object.getPrototypeOf(e)===cg;function q_(e,t,n,o=false){const i={},s=dg();e.propsDefaults=Object.create(null),pg(e,t,i,s);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=o?i:s_(i):e.type.props?e.props=i:e.props=s,e.attrs=s;}function W_(e,t,n,o){const{props:i,attrs:s,vnode:{patchFlag:r}}=e,a=Ye(i),[l]=e.propsOptions;let c=false;if((o||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let f=0;f<u.length;f++){let p=u[f];if(nl(e.emitsOptions,p))continue;const g=t[p];if(l)if(Ze(s,p))g!==s[p]&&(s[p]=g,c=true);else {const m=Pn(p);i[m]=Au(l,a,m,g,e,false);}else g!==s[p]&&(s[p]=g,c=true);}}}else {pg(e,t,i,s)&&(c=true);let u;for(const f in a)(!t||!Ze(t,f)&&((u=Ko(f))===f||!Ze(t,u)))&&(l?n&&(n[f]!==void 0||n[u]!==void 0)&&(i[f]=Au(l,a,f,void 0,e,true)):delete i[f]);if(s!==a)for(const f in s)(!t||!Ze(t,f))&&(delete s[f],c=true);}c&&po(e.attrs,"set","");}function pg(e,t,n,o){const[i,s]=e.propsOptions;let r=false,a;if(t)for(let l in t){if($s(l))continue;const c=t[l];let u;i&&Ze(i,u=Pn(l))?!s||!s.includes(u)?n[u]=c:(a||(a={}))[u]=c:nl(e.emitsOptions,l)||(!(l in o)||c!==o[l])&&(o[l]=c,r=true);}if(s){const l=Ye(n),c=a||it;for(let u=0;u<s.length;u++){const f=s[u];n[f]=Au(i,l,f,c[f],e,!Ze(c,f));}}return r}function Au(e,t,n,o,i,s){const r=e[n];if(r!=null){const a=Ze(r,"default");if(a&&o===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&Me(l)){const{propsDefaults:c}=i;if(n in c)o=c[n];else {const u=gi(i);o=c[n]=l.call(null,t),u();}}else o=l;i.ce&&i.ce._setProp(n,o);}r[0]&&(s&&!a?o=false:r[1]&&(o===""||o===Ko(n))&&(o=true));}return o}const K_=new WeakMap;function hg(e,t,n=false){const o=n?K_:t.propsCache,i=o.get(e);if(i)return i;const s=e.props,r={},a=[];let l=false;if(!Me(e)){const u=f=>{l=true;const[p,g]=hg(f,t,true);jt(r,p),g&&a.push(...g);};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u);}if(!s&&!l)return st(e)&&o.set(e,Fi),Fi;if(Se(s))for(let u=0;u<s.length;u++){const f=Pn(s[u]);hf(f)&&(r[f]=it);}else if(s)for(const u in s){const f=Pn(u);if(hf(f)){const p=s[u],g=r[f]=Se(p)||Me(p)?{type:p}:jt({},p),m=g.type;let y=false,x=true;if(Se(m))for(let k=0;k<m.length;++k){const I=m[k],E=Me(I)&&I.name;if(E==="Boolean"){y=true;break}else E==="String"&&(x=false);}else y=Me(m)&&m.name==="Boolean";g[0]=y,g[1]=x,(y||Ze(g,"default"))&&a.push(f);}}const c=[r,a];return st(e)&&o.set(e,c),c}function hf(e){return e[0]!=="$"&&!$s(e)}const od=e=>e==="_"||e==="__"||e==="_ctx"||e==="$stable",id=e=>Se(e)?e.map(Dn):[Dn(e)],G_=(e,t,n)=>{if(t._n)return t;const o=me((...i)=>id(t(...i)),n);return o._c=false,o},mg=(e,t,n)=>{const o=e._ctx;for(const i in e){if(od(i))continue;const s=e[i];if(Me(s))t[i]=G_(i,s,o);else if(s!=null){const r=id(s);t[i]=()=>r;}}},gg=(e,t)=>{const n=id(t);e.slots.default=()=>n;},wg=(e,t,n)=>{for(const o in t)(n||!od(o))&&(e[o]=t[o]);},J_=(e,t,n)=>{const o=e.slots=dg();if(e.vnode.shapeFlag&32){const i=t.__;i&&vu(o,"__",i,true);const s=t._;s?(wg(o,t,n),n&&vu(o,"_",s,true)):mg(t,o);}else t&&gg(e,t);},Y_=(e,t,n)=>{const{vnode:o,slots:i}=e;let s=true,r=it;if(o.shapeFlag&32){const a=t._;a?n&&a===1?s=false:wg(i,t,n):(s=!t.$stable,mg(t,i)),r=t;}else t&&(gg(e,t),r={default:1});if(s)for(const a in i)!od(a)&&r[a]==null&&delete i[a];},pn=mC;function Q_(e){return X_(e)}function X_(e,t){const n=Qa();n.__VUE__=true;const{insert:o,remove:i,patchProp:s,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:g=Qn,insertStaticContent:m}=e,y=(S,b,v,N=null,P=null,X=null,Z=void 0,ne=null,ue=!!b.dynamicChildren)=>{if(S===b)return;S&&!Do(S,b)&&(N=Vt(S),M(S,P,X,true),S=null),b.patchFlag===-2&&(ue=false,b.dynamicChildren=null);const{type:oe,ref:ve,shapeFlag:he}=b;switch(oe){case ol:x(S,b,v,N);break;case Un:k(S,b,v,N);break;case jr:S==null&&I(b,v,N,Z);break;case $e:R(S,b,v,N,P,X,Z,ne,ue);break;default:he&1?O(S,b,v,N,P,X,Z,ne,ue):he&6?G(S,b,v,N,P,X,Z,ne,ue):(he&64||he&128)&&oe.process(S,b,v,N,P,X,Z,ne,ue,_n);}ve!=null&&P?As(ve,S&&S.ref,X,b||S,!b):ve==null&&S&&S.ref!=null&&As(S.ref,null,X,S,true);},x=(S,b,v,N)=>{if(S==null)o(b.el=a(b.children),v,N);else {const P=b.el=S.el;b.children!==S.children&&c(P,b.children);}},k=(S,b,v,N)=>{S==null?o(b.el=l(b.children||""),v,N):b.el=S.el;},I=(S,b,v,N)=>{[S.el,S.anchor]=m(S.children,b,v,N,S.el,S.anchor);},E=({el:S,anchor:b},v,N)=>{let P;for(;S&&S!==b;)P=p(S),o(S,v,N),S=P;o(b,v,N);},D=({el:S,anchor:b})=>{let v;for(;S&&S!==b;)v=p(S),i(S),S=v;i(b);},O=(S,b,v,N,P,X,Z,ne,ue)=>{b.type==="svg"?Z="svg":b.type==="math"&&(Z="mathml"),S==null?H(b,v,N,P,X,Z,ne,ue):fe(S,b,P,X,Z,ne,ue);},H=(S,b,v,N,P,X,Z,ne)=>{let ue,oe;const{props:ve,shapeFlag:he,transition:ie,dirs:Ee}=S;if(ue=S.el=r(S.type,X,ve&&ve.is,ve),he&8?u(ue,S.children):he&16&&ae(S.children,ue,null,N,P,Vl(S,X),Z,ne),Ee&&Qo(S,null,N,"created"),j(ue,S,S.scopeId,Z,N),ve){for(const w in ve)w!=="value"&&!$s(w)&&s(ue,w,null,ve[w],X,N);"value"in ve&&s(ue,"value",null,ve.value,X),(oe=ve.onVnodeBeforeMount)&&Hn(oe,N,S);}Ee&&Qo(S,null,N,"beforeMount");const h=Z_(P,ie);h&&ie.beforeEnter(ue),o(ue,b,v),((oe=ve&&ve.onVnodeMounted)||h||Ee)&&pn(()=>{oe&&Hn(oe,N,S),h&&ie.enter(ue),Ee&&Qo(S,null,N,"mounted");},P);},j=(S,b,v,N,P)=>{if(v&&g(S,v),N)for(let X=0;X<N.length;X++)g(S,N[X]);if(P){let X=P.subTree;if(b===X||Cg(X.type)&&(X.ssContent===b||X.ssFallback===b)){const Z=P.vnode;j(S,Z,Z.scopeId,Z.slotScopeIds,P.parent);}}},ae=(S,b,v,N,P,X,Z,ne,ue=0)=>{for(let oe=ue;oe<S.length;oe++){const ve=S[oe]=ne?Io(S[oe]):Dn(S[oe]);y(null,ve,b,v,N,P,X,Z,ne);}},fe=(S,b,v,N,P,X,Z)=>{const ne=b.el=S.el;let{patchFlag:ue,dynamicChildren:oe,dirs:ve}=b;ue|=S.patchFlag&16;const he=S.props||it,ie=b.props||it;let Ee;if(v&&Xo(v,false),(Ee=ie.onVnodeBeforeUpdate)&&Hn(Ee,v,b,S),ve&&Qo(b,S,v,"beforeUpdate"),v&&Xo(v,true),(he.innerHTML&&ie.innerHTML==null||he.textContent&&ie.textContent==null)&&u(ne,""),oe?se(S.dynamicChildren,oe,ne,v,N,Vl(b,P),X):Z||ke(S,b,ne,null,v,N,Vl(b,P),X,false),ue>0){if(ue&16)B(ne,he,ie,v,P);else if(ue&2&&he.class!==ie.class&&s(ne,"class",null,ie.class,P),ue&4&&s(ne,"style",he.style,ie.style,P),ue&8){const h=b.dynamicProps;for(let w=0;w<h.length;w++){const C=h[w],T=he[C],z=ie[C];(z!==T||C==="value")&&s(ne,C,T,z,P,v);}}ue&1&&S.children!==b.children&&u(ne,b.children);}else !Z&&oe==null&&B(ne,he,ie,v,P);((Ee=ie.onVnodeUpdated)||ve)&&pn(()=>{Ee&&Hn(Ee,v,b,S),ve&&Qo(b,S,v,"updated");},N);},se=(S,b,v,N,P,X,Z)=>{for(let ne=0;ne<b.length;ne++){const ue=S[ne],oe=b[ne],ve=ue.el&&(ue.type===$e||!Do(ue,oe)||ue.shapeFlag&198)?f(ue.el):v;y(ue,oe,ve,null,N,P,X,Z,true);}},B=(S,b,v,N,P)=>{if(b!==v){if(b!==it)for(const X in b)!$s(X)&&!(X in v)&&s(S,X,b[X],null,P,N);for(const X in v){if($s(X))continue;const Z=v[X],ne=b[X];Z!==ne&&X!=="value"&&s(S,X,ne,Z,P,N);}"value"in v&&s(S,"value",b.value,v.value,P);}},R=(S,b,v,N,P,X,Z,ne,ue)=>{const oe=b.el=S?S.el:a(""),ve=b.anchor=S?S.anchor:a("");let{patchFlag:he,dynamicChildren:ie,slotScopeIds:Ee}=b;Ee&&(ne=ne?ne.concat(Ee):Ee),S==null?(o(oe,v,N),o(ve,v,N),ae(b.children||[],v,ve,P,X,Z,ne,ue)):he>0&&he&64&&ie&&S.dynamicChildren?(se(S.dynamicChildren,ie,v,P,X,Z,ne),(b.key!=null||P&&b===P.subTree)&&yg(S,b,true)):ke(S,b,v,ve,P,X,Z,ne,ue);},G=(S,b,v,N,P,X,Z,ne,ue)=>{b.slotScopeIds=ne,S==null?b.shapeFlag&512?P.ctx.activate(b,v,N,Z,ue):ce(b,v,N,P,X,Z,ue):ye(S,b,ue);},ce=(S,b,v,N,P,X,Z)=>{const ne=S.component=vC(S,N,P);if(ng(S)&&(ne.ctx.renderer=_n),xC(ne,false,Z),ne.asyncDep){if(P&&P.registerDep(ne,Ce,Z),!S.el){const ue=ne.subTree=re(Un);k(null,ue,b,v),S.placeholder=ue.el;}}else Ce(ne,S,b,v,P,X,Z);},ye=(S,b,v)=>{const N=b.component=S.component;if(uC(S,b,v))if(N.asyncDep&&!N.asyncResolved){_e(N,b,v);return}else N.next=b,N.update();else b.el=S.el,N.vnode=b;},Ce=(S,b,v,N,P,X,Z)=>{const ne=()=>{if(S.isMounted){let{next:he,bu:ie,u:Ee,parent:h,vnode:w}=S;{const Q=bg(S);if(Q){he&&(he.el=w.el,_e(S,he,Z)),Q.asyncDep.then(()=>{S.isUnmounted||ne();});return}}let C=he,T;Xo(S,false),he?(he.el=w.el,_e(S,he,Z)):he=w,ie&&Ur(ie),(T=he.props&&he.props.onVnodeBeforeUpdate)&&Hn(T,h,he,w),Xo(S,true);const z=gf(S),F=S.subTree;S.subTree=z,y(F,z,f(F.el),Vt(F),S,P,X),he.el=z.el,C===null&&sd(S,z.el),Ee&&pn(Ee,P),(T=he.props&&he.props.onVnodeUpdated)&&pn(()=>Hn(T,h,he,w),P);}else {let he;const{el:ie,props:Ee}=b,{bm:h,m:w,parent:C,root:T,type:z}=S,F=zi(b);Xo(S,false),h&&Ur(h),!F&&(he=Ee&&Ee.onVnodeBeforeMount)&&Hn(he,C,b),Xo(S,true);{T.ce&&T.ce._def.shadowRoot!==false&&T.ce._injectChildStyle(z);const Q=S.subTree=gf(S);y(null,Q,v,N,S,P,X),b.el=Q.el;}if(w&&pn(w,P),!F&&(he=Ee&&Ee.onVnodeMounted)){const Q=b;pn(()=>Hn(he,C,Q),P);}(b.shapeFlag&256||C&&zi(C.vnode)&&C.vnode.shapeFlag&256)&&S.a&&pn(S.a,P),S.isMounted=true,b=v=N=null;}};S.scope.on();const ue=S.effect=new Mm(ne);S.scope.off();const oe=S.update=ue.run.bind(ue),ve=S.job=ue.runIfDirty.bind(ue);ve.i=S,ve.id=S.uid,ue.scheduler=()=>Zc(ve),Xo(S,true),oe();},_e=(S,b,v)=>{b.component=S;const N=S.vnode.props;S.vnode=b,S.next=null,W_(S,b.props,N,v),Y_(S,b.children,v),vo(),lf(S),xo();},ke=(S,b,v,N,P,X,Z,ne,ue=false)=>{const oe=S&&S.children,ve=S?S.shapeFlag:0,he=b.children,{patchFlag:ie,shapeFlag:Ee}=b;if(ie>0){if(ie&128){dt(oe,he,v,N,P,X,Z,ne,ue);return}else if(ie&256){Fe(oe,he,v,N,P,X,Z,ne,ue);return}}Ee&8?(ve&16&&Zt(oe,P,X),he!==oe&&u(v,he)):ve&16?Ee&16?dt(oe,he,v,N,P,X,Z,ne,ue):Zt(oe,P,X,true):(ve&8&&u(v,""),Ee&16&&ae(he,v,N,P,X,Z,ne,ue));},Fe=(S,b,v,N,P,X,Z,ne,ue)=>{S=S||Fi,b=b||Fi;const oe=S.length,ve=b.length,he=Math.min(oe,ve);let ie;for(ie=0;ie<he;ie++){const Ee=b[ie]=ue?Io(b[ie]):Dn(b[ie]);y(S[ie],Ee,v,null,P,X,Z,ne,ue);}oe>ve?Zt(S,P,X,true,false,he):ae(b,v,N,P,X,Z,ne,ue,he);},dt=(S,b,v,N,P,X,Z,ne,ue)=>{let oe=0;const ve=b.length;let he=S.length-1,ie=ve-1;for(;oe<=he&&oe<=ie;){const Ee=S[oe],h=b[oe]=ue?Io(b[oe]):Dn(b[oe]);if(Do(Ee,h))y(Ee,h,v,null,P,X,Z,ne,ue);else break;oe++;}for(;oe<=he&&oe<=ie;){const Ee=S[he],h=b[ie]=ue?Io(b[ie]):Dn(b[ie]);if(Do(Ee,h))y(Ee,h,v,null,P,X,Z,ne,ue);else break;he--,ie--;}if(oe>he){if(oe<=ie){const Ee=ie+1,h=Ee<ve?b[Ee].el:N;for(;oe<=ie;)y(null,b[oe]=ue?Io(b[oe]):Dn(b[oe]),v,h,P,X,Z,ne,ue),oe++;}}else if(oe>ie)for(;oe<=he;)M(S[oe],P,X,true),oe++;else {const Ee=oe,h=oe,w=new Map;for(oe=h;oe<=ie;oe++){const be=b[oe]=ue?Io(b[oe]):Dn(b[oe]);be.key!=null&&w.set(be.key,oe);}let C,T=0;const z=ie-h+1;let F=false,Q=0;const ee=new Array(z);for(oe=0;oe<z;oe++)ee[oe]=0;for(oe=Ee;oe<=he;oe++){const be=S[oe];if(T>=z){M(be,P,X,true);continue}let Le;if(be.key!=null)Le=w.get(be.key);else for(C=h;C<=ie;C++)if(ee[C-h]===0&&Do(be,b[C])){Le=C;break}Le===void 0?M(be,P,X,true):(ee[Le-h]=oe+1,Le>=Q?Q=Le:F=true,y(be,b[Le],v,null,P,X,Z,ne,ue),T++);}const le=F?eC(ee):Fi;for(C=le.length-1,oe=z-1;oe>=0;oe--){const be=h+oe,Le=b[be],Oe=b[be+1],We=be+1<ve?Oe.el||Oe.placeholder:N;ee[oe]===0?y(null,Le,v,We,P,X,Z,ne,ue):F&&(C<0||oe!==le[C]?ge(Le,v,We,2):C--);}}},ge=(S,b,v,N,P=null)=>{const{el:X,type:Z,transition:ne,children:ue,shapeFlag:oe}=S;if(oe&6){ge(S.component.subTree,b,v,N);return}if(oe&128){S.suspense.move(b,v,N);return}if(oe&64){Z.move(S,b,v,_n);return}if(Z===$e){o(X,b,v);for(let he=0;he<ue.length;he++)ge(ue[he],b,v,N);o(S.anchor,b,v);return}if(Z===jr){E(S,b,v);return}if(N!==2&&oe&1&&ne)if(N===0)ne.beforeEnter(X),o(X,b,v),pn(()=>ne.enter(X),P);else {const{leave:he,delayLeave:ie,afterLeave:Ee}=ne,h=()=>{S.ctx.isUnmounted?i(X):o(X,b,v);},w=()=>{he(X,()=>{h(),Ee&&Ee();});};ie?ie(X,h,w):w();}else o(X,b,v);},M=(S,b,v,N=false,P=false)=>{const{type:X,props:Z,ref:ne,children:ue,dynamicChildren:oe,shapeFlag:ve,patchFlag:he,dirs:ie,cacheIndex:Ee}=S;if(he===-2&&(P=false),ne!=null&&(vo(),As(ne,null,v,S,true),xo()),Ee!=null&&(b.renderCache[Ee]=void 0),ve&256){b.ctx.deactivate(S);return}const h=ve&1&&ie,w=!zi(S);let C;if(w&&(C=Z&&Z.onVnodeBeforeUnmount)&&Hn(C,b,S),ve&6)rt(S.component,v,N);else {if(ve&128){S.suspense.unmount(v,N);return}h&&Qo(S,null,b,"beforeUnmount"),ve&64?S.type.remove(S,b,v,_n,N):oe&&!oe.hasOnce&&(X!==$e||he>0&&he&64)?Zt(oe,b,v,false,true):(X===$e&&he&384||!P&&ve&16)&&Zt(ue,b,v),N&&pe(S);}(w&&(C=Z&&Z.onVnodeUnmounted)||h)&&pn(()=>{C&&Hn(C,b,S),h&&Qo(S,null,b,"unmounted");},v);},pe=S=>{const{type:b,el:v,anchor:N,transition:P}=S;if(b===$e){tt(v,N);return}if(b===jr){D(S);return}const X=()=>{i(v),P&&!P.persisted&&P.afterLeave&&P.afterLeave();};if(S.shapeFlag&1&&P&&!P.persisted){const{leave:Z,delayLeave:ne}=P,ue=()=>Z(v,X);ne?ne(S.el,X,ue):ue();}else X();},tt=(S,b)=>{let v;for(;S!==b;)v=p(S),i(S),S=v;i(b);},rt=(S,b,v)=>{const{bum:N,scope:P,job:X,subTree:Z,um:ne,m:ue,a:oe,parent:ve,slots:{__:he}}=S;mf(ue),mf(oe),N&&Ur(N),ve&&Se(he)&&he.forEach(ie=>{ve.renderCache[ie]=void 0;}),P.stop(),X&&(X.flags|=8,M(Z,S,b,v)),ne&&pn(ne,b),pn(()=>{S.isUnmounted=true;},b),b&&b.pendingBranch&&!b.isUnmounted&&S.asyncDep&&!S.asyncResolved&&S.suspenseId===b.pendingId&&(b.deps--,b.deps===0&&b.resolve());},Zt=(S,b,v,N=false,P=false,X=0)=>{for(let Z=X;Z<S.length;Z++)M(S[Z],b,v,N,P);},Vt=S=>{if(S.shapeFlag&6)return Vt(S.component.subTree);if(S.shapeFlag&128)return S.suspense.next();const b=p(S.anchor||S.el),v=b&&b[C_];return v?p(v):b};let uo=false;const Pi=(S,b,v)=>{S==null?b._vnode&&M(b._vnode,null,null,true):y(b._vnode||null,S,b,null,null,null,v),b._vnode=S,uo||(uo=true,lf(),Zm(),uo=false);},_n={p:y,um:M,m:ge,r:pe,mt:ce,mc:ae,pc:ke,pbc:se,n:Vt,o:e};return {render:Pi,hydrate:void 0,createApp:V_(Pi)}}function Vl({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Xo({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5);}function Z_(e,t){return (!e||e&&!e.pendingBranch)&&t&&!t.persisted}function yg(e,t,n=false){const o=e.children,i=t.children;if(Se(o)&&Se(i))for(let s=0;s<o.length;s++){const r=o[s];let a=i[s];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[s]=Io(i[s]),a.el=r.el),!n&&a.patchFlag!==-2&&yg(r,a)),a.type===ol&&(a.el=r.el),a.type===Un&&!a.el&&(a.el=r.el);}}function eC(e){const t=e.slice(),n=[0];let o,i,s,r,a;const l=e.length;for(o=0;o<l;o++){const c=e[o];if(c!==0){if(i=n[n.length-1],e[i]<c){t[o]=i,n.push(o);continue}for(s=0,r=n.length-1;s<r;)a=s+r>>1,e[n[a]]<c?s=a+1:r=a;c<e[n[s]]&&(s>0&&(t[o]=n[s-1]),n[s]=o);}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function bg(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:bg(t)}function mf(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8;}const tC=Symbol.for("v-scx"),nC=()=>Is(tC);function ze(e,t,n){return vg(e,t,n)}function vg(e,t,n=it){const{immediate:o,deep:i,flush:s,once:r}=n,a=jt({},n),l=t&&o||!t&&s!=="post";let c;if(Vs){if(s==="sync"){const g=nC();c=g.__watcherHandles||(g.__watcherHandles=[]);}else if(!l){const g=()=>{};return g.stop=Qn,g.resume=Qn,g.pause=Qn,g}}const u=Rt;a.call=(g,m,y)=>so(g,u,m,y);let f=false;s==="post"?a.scheduler=g=>{pn(g,u&&u.suspense);}:s!=="sync"&&(f=true,a.scheduler=(g,m)=>{m?g():Zc(g);}),a.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,u&&(g.id=u.uid,g.i=u));};const p=w_(e,t,a);return Vs&&(c?c.push(p):l&&p()),p}function oC(e,t,n){const o=this.proxy,i=wt(e)?e.includes(".")?xg(o,e):()=>o[e]:e.bind(o,o);let s;Me(t)?s=t:(s=t.handler,n=t);const r=gi(this),a=vg(i,s.bind(o),n);return r(),a}function xg(e,t){const n=t.split(".");return ()=>{let o=e;for(let i=0;i<n.length&&o;i++)o=o[n[i]];return o}}const iC=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pn(t)}Modifiers`]||e[`${Ko(t)}Modifiers`];function sC(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||it;let i=n;const s=t.startsWith("update:"),r=s&&iC(o,t.slice(7));r&&(r.trim&&(i=n.map(u=>wt(u)?u.trim():u)),r.number&&(i=n.map(aa)));let a,l=o[a=Fl(t)]||o[a=Fl(Pn(t))];!l&&s&&(l=o[a=Fl(Ko(t))]),l&&so(l,e,6,i);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=true,so(c,e,6,i);}}function _g(e,t,n=false){const o=t.emitsCache,i=o.get(e);if(i!==void 0)return i;const s=e.emits;let r={},a=false;if(!Me(e)){const l=c=>{const u=_g(c,t,true);u&&(a=true,jt(r,u));};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l);}return !s&&!a?(st(e)&&o.set(e,null),null):(Se(s)?s.forEach(l=>r[l]=null):jt(r,s),st(e)&&o.set(e,r),r)}function nl(e,t){return !e||!Ga(t)?false:(t=t.slice(2).replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Ko(t))||Ze(e,t))}function gf(e){const{type:t,vnode:n,proxy:o,withProxy:i,propsOptions:[s],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:f,data:p,setupState:g,ctx:m,inheritAttrs:y}=e,x=fa(e);let k,I;try{if(n.shapeFlag&4){const D=i||o,O=D;k=Dn(c.call(O,D,u,f,g,p,m)),I=a;}else {const D=t;k=Dn(D.length>1?D(f,{attrs:a,slots:r,emit:l}):D(f,null)),I=t.props?a:aC(a);}}catch(D){Ds.length=0,hr(D,e,1),k=re(Un);}let E=k;if(I&&y!==false){const D=Object.keys(I),{shapeFlag:O}=E;D.length&&O&7&&(s&&D.some(jc)&&(I=lC(I,s)),E=Xi(E,I,false,true));}return n.dirs&&(E=Xi(E,null,false,true),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&ed(E,n.transition),k=E,fa(x),k}function rC(e,t=true){let n;for(let o=0;o<e.length;o++){const i=e[o];if(Qi(i)){if(i.type!==Un||i.children==="v-if"){if(n)return;n=i;}}else return}return n}const aC=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ga(n))&&((t||(t={}))[n]=e[n]);return t},lC=(e,t)=>{const n={};for(const o in e)(!jc(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function uC(e,t,n){const{props:o,children:i,component:s}=e,{props:r,children:a,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return  true;if(n&&l>=0){if(l&1024)return  true;if(l&16)return o?wf(o,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let f=0;f<u.length;f++){const p=u[f];if(r[p]!==o[p]&&!nl(c,p))return  true}}}else return (i||a)&&(!a||!a.$stable)?true:o===r?false:o?r?wf(o,r,c):true:!!r;return  false}function wf(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return  true;for(let i=0;i<o.length;i++){const s=o[i];if(t[s]!==e[s]&&!nl(n,s))return  true}return  false}function sd({vnode:e,parent:t},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.el=e.el),o===e)(e=t.vnode).el=n,t=t.parent;else break}}const Cg=e=>e.__isSuspense;let Pu=0;const cC={name:"Suspense",__isSuspense:true,process(e,t,n,o,i,s,r,a,l,c){if(e==null)dC(t,n,o,i,s,r,a,l,c);else {if(s&&s.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}fC(e,t,n,o,i,r,a,l,c);}},hydrate:pC,normalize:hC},kg=cC;function Hs(e,t){const n=e.props&&e.props[t];Me(n)&&n();}function dC(e,t,n,o,i,s,r,a,l){const{p:c,o:{createElement:u}}=l,f=u("div"),p=e.suspense=$g(e,i,o,t,f,n,s,r,a,l);c(null,p.pendingBranch=e.ssContent,f,null,o,p,s,r),p.deps>0?(Hs(e,"onPending"),Hs(e,"onFallback"),c(null,e.ssFallback,t,n,o,null,s,r),Vi(p,e.ssFallback)):p.resolve(false,true);}function fC(e,t,n,o,i,s,r,a,{p:l,um:c,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const p=t.ssContent,g=t.ssFallback,{activeBranch:m,pendingBranch:y,isInFallback:x,isHydrating:k}=f;if(y)f.pendingBranch=p,Do(p,y)?(l(y,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0?f.resolve():x&&(k||(l(m,g,n,o,i,null,s,r,a),Vi(f,g)))):(f.pendingId=Pu++,k?(f.isHydrating=false,f.activeBranch=y):c(y,i,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),x?(l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0?f.resolve():(l(m,g,n,o,i,null,s,r,a),Vi(f,g))):m&&Do(p,m)?(l(m,p,n,o,i,f,s,r,a),f.resolve(true)):(l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0&&f.resolve()));else if(m&&Do(p,m))l(m,p,n,o,i,f,s,r,a),Vi(f,p);else if(Hs(t,"onPending"),f.pendingBranch=p,p.shapeFlag&512?f.pendingId=p.component.suspenseId:f.pendingId=Pu++,l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0)f.resolve();else {const{timeout:I,pendingId:E}=f;I>0?setTimeout(()=>{f.pendingId===E&&f.fallback(g);},I):I===0&&f.fallback(g);}}function $g(e,t,n,o,i,s,r,a,l,c,u=false){const{p:f,m:p,um:g,n:m,o:{parentNode:y,remove:x}}=c;let k;const I=gC(e);I&&t&&t.pendingBranch&&(k=t.pendingId,t.deps++);const E=e.props?Px(e.props.timeout):void 0,D=s,O={vnode:e,parent:t,parentComponent:n,namespace:r,container:o,hiddenContainer:i,deps:0,pendingId:Pu++,timeout:typeof E=="number"?E:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:false,effects:[],resolve(H=false,j=false){const{vnode:ae,activeBranch:fe,pendingBranch:se,pendingId:B,effects:R,parentComponent:G,container:ce}=O;let ye=false;O.isHydrating?O.isHydrating=false:H||(ye=fe&&se.transition&&se.transition.mode==="out-in",ye&&(fe.transition.afterLeave=()=>{B===O.pendingId&&(p(se,ce,s===D?m(fe):s,0),ku(R));}),fe&&(y(fe.el)===ce&&(s=m(fe)),g(fe,G,O,true)),ye||p(se,ce,s,0)),Vi(O,se),O.pendingBranch=null,O.isInFallback=false;let Ce=O.parent,_e=false;for(;Ce;){if(Ce.pendingBranch){Ce.effects.push(...R),_e=true;break}Ce=Ce.parent;}!_e&&!ye&&ku(R),O.effects=[],I&&t&&t.pendingBranch&&k===t.pendingId&&(t.deps--,t.deps===0&&!j&&t.resolve()),Hs(ae,"onResolve");},fallback(H){if(!O.pendingBranch)return;const{vnode:j,activeBranch:ae,parentComponent:fe,container:se,namespace:B}=O;Hs(j,"onFallback");const R=m(ae),G=()=>{O.isInFallback&&(f(null,H,se,R,fe,null,B,a,l),Vi(O,H));},ce=H.transition&&H.transition.mode==="out-in";ce&&(ae.transition.afterLeave=G),O.isInFallback=true,g(ae,fe,null,true),ce||G();},move(H,j,ae){O.activeBranch&&p(O.activeBranch,H,j,ae),O.container=H;},next(){return O.activeBranch&&m(O.activeBranch)},registerDep(H,j,ae){const fe=!!O.pendingBranch;fe&&O.deps++;const se=H.vnode.el;H.asyncDep.catch(B=>{hr(B,H,0);}).then(B=>{if(H.isUnmounted||O.isUnmounted||O.pendingId!==H.suspenseId)return;H.asyncResolved=true;const{vnode:R}=H;Tu(H,B),se&&(R.el=se);const G=!se&&H.subTree.el;j(H,R,y(se||H.subTree.el),se?null:m(H.subTree),O,r,ae),G&&x(G),sd(H,R.el),fe&&--O.deps===0&&O.resolve();});},unmount(H,j){O.isUnmounted=true,O.activeBranch&&g(O.activeBranch,n,H,j),O.pendingBranch&&g(O.pendingBranch,n,H,j);}};return O}function pC(e,t,n,o,i,s,r,a,l){const c=t.suspense=$g(t,o,n,e.parentNode,document.createElement("div"),null,i,s,r,a,true),u=l(e,c.pendingBranch=t.ssContent,n,c,s,r);return c.deps===0&&c.resolve(false,true),u}function hC(e){const{shapeFlag:t,children:n}=e,o=t&32;e.ssContent=yf(o?n.default:n),e.ssFallback=o?yf(n.fallback):re(Un);}function yf(e){let t;if(Me(e)){const n=Yi&&e._c;n&&(e._d=false,_()),e=e(),n&&(e._d=true,t=rn,Sg());}return Se(e)&&(e=rC(e)),e=Dn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function mC(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):ku(e);}function Vi(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,o&&o.subTree===n&&(o.vnode.el=i,sd(o,i));}function gC(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==false}const $e=Symbol.for("v-fgt"),ol=Symbol.for("v-txt"),Un=Symbol.for("v-cmt"),jr=Symbol.for("v-stc"),Ds=[];let rn=null;function _(e=false){Ds.push(rn=e?null:[]);}function Sg(){Ds.pop(),rn=Ds[Ds.length-1]||null;}let Yi=1;function bf(e,t=false){Yi+=e,e<0&&rn&&t&&(rn.hasOnce=true);}function Eg(e){return e.dynamicChildren=Yi>0?rn||Fi:null,Sg(),Yi>0&&rn&&rn.push(e),e}function A(e,t,n,o,i,s){return Eg(d(e,t,n,o,i,s,true))}function nt(e,t,n,o,i){return Eg(re(e,t,n,o,i,true))}function Qi(e){return e?e.__v_isVNode===true:false}function Do(e,t){return e.type===t.type&&e.key===t.key}const Ag=({key:e})=>e??null,zr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?wt(e)||Pt(e)||Me(e)?{i:Lt,r:e,k:t,f:!!n}:e:null);function d(e,t=null,n=null,o=0,i=null,s=e===$e?0:1,r=false,a=false){const l={__v_isVNode:true,__v_skip:true,type:e,props:t,key:t&&Ag(t),ref:t&&zr(t),scopeId:el,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Lt};return a?(rd(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=wt(n)?8:16),Yi>0&&!r&&rn&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&rn.push(l),l}const re=wC;function wC(e,t=null,n=null,o=0,i=null,s=false){if((!e||e===sg)&&(e=Un),Qi(e)){const a=Xi(e,t,true);return n&&rd(a,n),Yi>0&&!s&&rn&&(a.shapeFlag&6?rn[rn.indexOf(e)]=a:rn.push(a)),a.patchFlag=-2,a}if(SC(e)&&(e=e.__vccOpts),t){t=Pg(t);let{class:a,style:l}=t;a&&!wt(a)&&(t.class=De(a)),st(l)&&(Xc(l)&&!Se(l)&&(l=jt({},l)),t.style=Xn(l));}const r=wt(e)?1:Cg(e)?128:k_(e)?64:st(e)?4:Me(e)?2:0;return d(e,t,n,o,i,r,s,true)}function Pg(e){return e?Xc(e)||fg(e)?jt({},e):e:null}function Xi(e,t,n=false,o=false){const{props:i,ref:s,patchFlag:r,children:a,transition:l}=e,c=t?ad(i||{},t):i,u={__v_isVNode:true,__v_skip:true,type:e.type,props:c,key:c&&Ag(c),ref:t&&t.ref?n&&s?Se(s)?s.concat(zr(t)):[s,zr(t)]:zr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==$e?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xi(e.ssContent),ssFallback:e.ssFallback&&Xi(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&ed(u,l.clone(u)),u}function L(e=" ",t=0){return re(ol,null,e,t)}function Ig(e,t){const n=re(jr,null,e);return n.staticCount=t,n}function de(e="",t=false){return t?(_(),nt(Un,null,e)):re(Un,null,e)}function Dn(e){return e==null||typeof e=="boolean"?re(Un):Se(e)?re($e,null,e.slice()):Qi(e)?Io(e):re(ol,null,String(e))}function Io(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xi(e)}function rd(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Se(t))n=16;else if(typeof t=="object")if(o&65){const i=t.default;i&&(i._c&&(i._d=false),rd(e,i()),i._c&&(i._d=true));return}else {n=32;const i=t._;!i&&!fg(t)?t._ctx=Lt:i===3&&Lt&&(Lt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024));}else Me(t)?(t={default:t,_ctx:Lt},n=32):(t=String(t),o&64?(n=16,t=[L(t)]):n=8);e.children=t,e.shapeFlag|=n;}function ad(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const i in o)if(i==="class")t.class!==o.class&&(t.class=De([t.class,o.class]));else if(i==="style")t.style=Xn([t.style,o.style]);else if(Ga(i)){const s=t[i],r=o[i];r&&s!==r&&!(Se(s)&&s.includes(r))&&(t[i]=s?[].concat(s,r):r);}else i!==""&&(t[i]=o[i]);}return t}function Hn(e,t,n,o=null){so(e,t,7,[n,o]);}const yC=ug();let bC=0;function vC(e,t,n){const o=e.type,i=(t?t.appContext:e.appContext)||yC,s={uid:bC++,vnode:e,type:o,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Fx(true),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:hg(o,i),emitsOptions:_g(o,i),emit:null,emitted:null,propsDefaults:it,inheritAttrs:o.inheritAttrs,ctx:it,data:it,props:it,attrs:it,slots:it,refs:it,setupState:it,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:false,isMounted:false,isUnmounted:false,isDeactivated:false,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=t?t.root:s,s.emit=sC.bind(null,s),e.ce&&e.ce(s),s}let Rt=null;const Dg=()=>Rt||Lt;let ha,Iu;{const e=Qa(),t=(n,o)=>{let i;return (i=e[n])||(i=e[n]=[]),i.push(o),s=>{i.length>1?i.forEach(r=>r(s)):i[0](s);}};ha=t("__VUE_INSTANCE_SETTERS__",n=>Rt=n),Iu=t("__VUE_SSR_SETTERS__",n=>Vs=n);}const gi=e=>{const t=Rt;return ha(e),e.scope.on(),()=>{e.scope.off(),ha(t);}},Du=()=>{Rt&&Rt.scope.off(),ha(null);};function Tg(e){return e.vnode.shapeFlag&4}let Vs=false;function xC(e,t=false,n=false){t&&Iu(t);const{props:o,children:i}=e.vnode,s=Tg(e);q_(e,o,s,t),J_(e,i,n||t);const r=s?_C(e,t):void 0;return t&&Iu(false),r}function _C(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,R_);const{setup:o}=n;if(o){vo();const i=e.setupContext=o.length>1?kC(e):null,s=gi(e),r=pr(o,e,0,[e.props,i]),a=Hc(r);if(xo(),s(),(a||e.sp)&&!zi(e)&&tg(e),a){if(r.then(Du,Du),t)return r.then(l=>{Tu(e,l);}).catch(l=>{hr(l,e,0);});e.asyncDep=r;}else Tu(e,r);}else Lg(e);}function Tu(e,t,n){Me(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:st(t)&&(e.setupState=Jm(t)),Lg(e);}function Lg(e,t,n){const o=e.type;e.render||(e.render=o.render||Qn);{const i=gi(e);vo();try{F_(e);}finally{xo(),i();}}}const CC={get(e,t){return Bt(e,"get",""),e[t]}};function kC(e){const t=n=>{e.exposed=n||{};};return {attrs:new Proxy(e.attrs,CC),slots:e.slots,emit:e.emit,expose:t}}function il(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Jm(r_(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ps)return Ps[n](e)},has(t,n){return n in t||n in Ps}})):e.proxy}function $C(e,t=true){return Me(e)?e.displayName||e.name:e.name||t&&e.__name}function SC(e){return Me(e)&&"__vccOpts"in e}const Ke=(e,t)=>m_(e,t,Vs);function EC(e,t,n){const o=arguments.length;return o===2?st(t)&&!Se(t)?Qi(t)?re(e,null,[t]):re(e,t):re(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Qi(n)&&(n=[n]),re(e,t,n))}const AC="3.5.18";/**
  * @vue/runtime-dom v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/let Lu;const vf=typeof window<"u"&&window.trustedTypes;if(vf)try{Lu=vf.createPolicy("vue",{createHTML:e=>e});}catch{}const Mg=Lu?e=>Lu.createHTML(e):e=>e,PC="http://www.w3.org/2000/svg",IC="http://www.w3.org/1998/Math/MathML",fo=typeof document<"u"?document:null,xf=fo&&fo.createElement("template"),DC={insert:(e,t,n)=>{t.insertBefore(e,n||null);},remove:e=>{const t=e.parentNode;t&&t.removeChild(e);},createElement:(e,t,n,o)=>{const i=t==="svg"?fo.createElementNS(PC,e):t==="mathml"?fo.createElementNS(IC,e):n?fo.createElement(e,{is:n}):fo.createElement(e);return e==="select"&&o&&o.multiple!=null&&i.setAttribute("multiple",o.multiple),i},createText:e=>fo.createTextNode(e),createComment:e=>fo.createComment(e),setText:(e,t)=>{e.nodeValue=t;},setElementText:(e,t)=>{e.textContent=t;},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"");},insertStaticContent(e,t,n,o,i,s){const r=n?n.previousSibling:t.lastChild;if(i&&(i===s||i.nextSibling))for(;t.insertBefore(i.cloneNode(true),n),!(i===s||!(i=i.nextSibling)););else {xf.innerHTML=Mg(o==="svg"?`<svg>${e}</svg>`:o==="mathml"?`<math>${e}</math>`:e);const a=xf.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l);}t.insertBefore(a,n);}return [r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},TC=Symbol("_vtc");function LC(e,t,n){const o=e[TC];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t;}const ma=Symbol("_vod"),Og=Symbol("_vsh"),Gt={beforeMount(e,{value:t},{transition:n}){e[ma]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):ws(e,t);},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e);},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),ws(e,true),o.enter(e)):o.leave(e,()=>{ws(e,false);}):ws(e,t));},beforeUnmount(e,{value:t}){ws(e,t);}};function ws(e,t){e.style.display=t?e[ma]:"none",e[Og]=!t;}const MC=Symbol(""),OC=/(^|;)\s*display\s*:/;function BC(e,t,n){const o=e.style,i=wt(n);let s=false;if(n&&!i){if(t)if(wt(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&Hr(o,a,"");}else for(const r in t)n[r]==null&&Hr(o,r,"");for(const r in n)r==="display"&&(s=true),Hr(o,r,n[r]);}else if(i){if(t!==n){const r=o[MC];r&&(n+=";"+r),o.cssText=n,s=OC.test(n);}}else t&&e.removeAttribute("style");ma in e&&(e[ma]=s?o.display:"",e[Og]&&(o.display="none"));}const _f=/\s*!important$/;function Hr(e,t,n){if(Se(n))n.forEach(o=>Hr(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else {const o=RC(e,t);_f.test(n)?e.setProperty(Ko(o),n.replace(_f,""),"important"):e[o]=n;}}const Cf=["Webkit","Moz","ms"],ql={};function RC(e,t){const n=ql[t];if(n)return n;let o=Pn(t);if(o!=="filter"&&o in e)return ql[t]=o;o=Ya(o);for(let i=0;i<Cf.length;i++){const s=Cf[i]+o;if(s in e)return ql[t]=s}return t}const kf="http://www.w3.org/1999/xlink";function $f(e,t,n,o,i,s=Bx(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(kf,t.slice(6,t.length)):e.setAttributeNS(kf,t,n):n==null||s&&!Dm(n)?e.removeAttribute(t):e.setAttribute(t,s?"":Nn(n)?String(n):n);}function Sf(e,t,n,o,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Mg(n):n);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const a=s==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(a!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let r=false;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=Dm(n):n==null&&a==="string"?(n="",r=true):a==="number"&&(n=0,r=true);}try{e[t]=n;}catch{}r&&e.removeAttribute(i||t);}function mo(e,t,n,o){e.addEventListener(t,n,o);}function FC(e,t,n,o){e.removeEventListener(t,n,o);}const Ef=Symbol("_vei");function NC(e,t,n,o,i=null){const s=e[Ef]||(e[Ef]={}),r=s[t];if(o&&r)r.value=o;else {const[a,l]=UC(t);if(o){const c=s[t]=HC(o,i);mo(e,a,c,l);}else r&&(FC(e,a,r,l),s[t]=void 0);}}const Af=/(?:Once|Passive|Capture)$/;function UC(e){let t;if(Af.test(e)){t={};let o;for(;o=e.match(Af);)e=e.slice(0,e.length-o[0].length),t[o[0].toLowerCase()]=true;}return [e[2]===":"?e.slice(3):Ko(e.slice(2)),t]}let Wl=0;const jC=Promise.resolve(),zC=()=>Wl||(jC.then(()=>Wl=0),Wl=Date.now());function HC(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;so(VC(o,n.value),t,5,[o]);};return n.value=e,n.attached=zC(),n}function VC(e,t){if(Se(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=true;},t.map(o=>i=>!i._stopped&&o&&o(i))}else return t}const Pf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,qC=(e,t,n,o,i,s)=>{const r=i==="svg";t==="class"?LC(e,o,r):t==="style"?BC(e,n,o):Ga(t)?jc(t)||NC(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),true):t[0]==="^"?(t=t.slice(1),false):WC(e,t,o,r))?(Sf(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$f(e,t,o,r,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!wt(o))?Sf(e,Pn(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),$f(e,t,o,r));};function WC(e,t,n,o){if(o)return !!(t==="innerHTML"||t==="textContent"||t in e&&Pf(t)&&Me(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return  false;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return  false}return Pf(t)&&wt(n)?false:t in e}const Vo=e=>{const t=e.props["onUpdate:modelValue"]||false;return Se(t)?n=>Ur(t,n):t};function KC(e){e.target.composing=true;}function If(e){const t=e.target;t.composing&&(t.composing=false,t.dispatchEvent(new Event("input")));}const En=Symbol("_assign"),He={created(e,{modifiers:{lazy:t,trim:n,number:o}},i){e[En]=Vo(i);const s=o||i.props&&i.props.type==="number";mo(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=aa(a)),e[En](a);}),n&&mo(e,"change",()=>{e.value=e.value.trim();}),t||(mo(e,"compositionstart",KC),mo(e,"compositionend",If),mo(e,"change",If));},mounted(e,{value:t}){e.value=t??"";},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:i,number:s}},r){if(e[En]=Vo(r),e.composing)return;const a=(s||e.type==="number")&&!/^0\d/.test(e.value)?aa(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||i&&e.value.trim()===l)||(e.value=l));}},we={deep:true,created(e,t,n){e[En]=Vo(n),mo(e,"change",()=>{const o=e._modelValue,i=Zi(e),s=e.checked,r=e[En];if(Se(o)){const a=qc(o,i),l=a!==-1;if(s&&!l)r(o.concat(i));else if(!s&&l){const c=[...o];c.splice(a,1),r(c);}}else if(as(o)){const a=new Set(o);s?a.add(i):a.delete(i),r(a);}else r(Rg(e,s));});},mounted:Df,beforeUpdate(e,t,n){e[En]=Vo(n),Df(e,t,n);}};function Df(e,{value:t,oldValue:n},o){e._modelValue=t;let i;if(Se(t))i=qc(t,o.props.value)>-1;else if(as(t))i=t.has(o.props.value);else {if(t===n)return;i=hi(t,Rg(e,true));}e.checked!==i&&(e.checked=i);}const Bg={created(e,{value:t},n){e.checked=hi(t,n.props.value),e[En]=Vo(n),mo(e,"change",()=>{e[En](Zi(e));});},beforeUpdate(e,{value:t,oldValue:n},o){e[En]=Vo(o),t!==n&&(e.checked=hi(t,o.props.value));}},wn={deep:true,created(e,{value:t,modifiers:{number:n}},o){const i=as(t);mo(e,"change",()=>{const s=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?aa(Zi(r)):Zi(r));e[En](e.multiple?i?new Set(s):s:s[0]),e._assigning=true,mi(()=>{e._assigning=false;});}),e[En]=Vo(o);},mounted(e,{value:t}){Tf(e,t);},beforeUpdate(e,t,n){e[En]=Vo(n);},updated(e,{value:t}){e._assigning||Tf(e,t);}};function Tf(e,t){const n=e.multiple,o=Se(t);if(!(n&&!o&&!as(t))){for(let i=0,s=e.options.length;i<s;i++){const r=e.options[i],a=Zi(r);if(n)if(o){const l=typeof a;l==="string"||l==="number"?r.selected=t.some(c=>String(c)===String(a)):r.selected=qc(t,a)>-1;}else r.selected=t.has(a);else if(hi(Zi(r),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1);}}function Zi(e){return "_value"in e?e._value:e.value}function Rg(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const GC={created(e,t,n){Ir(e,t,n,null,"created");},mounted(e,t,n){Ir(e,t,n,null,"mounted");},beforeUpdate(e,t,n,o){Ir(e,t,n,o,"beforeUpdate");},updated(e,t,n,o){Ir(e,t,n,o,"updated");}};function JC(e,t){switch(e){case "SELECT":return wn;case "TEXTAREA":return He;default:switch(t){case "checkbox":return we;case "radio":return Bg;default:return He}}}function Ir(e,t,n,o,i){const r=JC(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,o);}const YC=["ctrl","shift","alt","meta"],QC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>YC.some(n=>e[`${n}Key`]&&!t.includes(n))},pt=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(i,...s)=>{for(let r=0;r<t.length;r++){const a=QC[t[r]];if(a&&a(i,t))return}return e(i,...s)})},XC={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Fg=(e,t)=>{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=i=>{if(!("key"in i))return;const s=Ko(i.key);if(t.some(r=>r===s||XC[r]===s))return e(i)})},ZC=jt({patchProp:qC},DC);let Lf;function ek(){return Lf||(Lf=Q_(ZC))}const lo=(...e)=>{const t=ek().createApp(...e),{mount:n}=t;return t.mount=o=>{const i=nk(o);if(!i)return;const s=t._component;!Me(s)&&!s.render&&!s.template&&(s.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const r=n(i,false,tk(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function tk(e){if(e instanceof SVGElement)return "svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return "mathml"}function nk(e){return wt(e)?document.querySelector(e):e}var Ng=(e=>(e.VideoPlay="VideoPlay",e))(Ng||{});const ok="https://greasyfork.org/zh-CN/scripts/495474",ik="115Plus";class sk{bc;_isInstalled=void 0;messageHandlers=new Set;constructor(){this.bc=new BroadcastChannel(ik),this.bc.addEventListener("message",this.handleMessage.bind(this));}handleMessage(t){this.messageHandlers.forEach(n=>n(t.data));}checkInstalled(){return $t().$('.top-side .n-button__content:contains("115+")').length>0}async checkInstalledAsync(){return await new Promise(t=>setTimeout(t,100)),this._isInstalled=this.checkInstalled(),this._isInstalled}get isInstalled(){return this._isInstalled}async refreshInstallStatus(){return this.checkInstalledAsync()}defaultHandleNotInstalled(){confirm("检测到未安装 115+ 脚本,是否现在安装?")&&window.open(ok,"_blank");}ensureInstalled(t){return this._isInstalled===void 0&&(this._isInstalled=this.checkInstalled()),[this._isInstalled,t||this.defaultHandleNotInstalled.bind(this)]}sendToPlus(t,n){this.bc.postMessage({type:t,data:JSON.stringify(n),url:window.top?.location.href});}onMessage(t){return this.messageHandlers.add(t),()=>{this.messageHandlers.delete(t);}}destroy(){this.bc.close(),this.messageHandlers.clear();}}const rk=new sk;function ak(){return rk}function lk(e){return new Ns.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}function Ug(e){return e.filter(t=>t.startsWith("https://115.com")).length}async function mr(e,t,n){if(e.length===1){Jr(e[0],{active:!t});return}const o=Ug(e);n=n||lk(o>0);const i="open_urls";let s=false;q.fire({html:"正在打开链接...",showConfirmButton:false,showDenyButton:true,denyButtonText:"停止打开",allowEscapeKey:false,allowOutsideClick:false}).then(l=>{l.isDenied&&(s=true,q.close());});const r=[],a=async()=>{const l=e.length-r.length,{isDenied:c}=await q.fire({html:`已成功打开 ${r.length} 个链接。`+(l>0?`有 ${l} 个链接未打开`:""),icon:"success",timer:18e5,showDenyButton:r.length>0,denyButtonText:"关闭本次打开的全部页面"});if(c)for(const u of r)u.closed||u.close();};q.showLoading();for(let l=0;l<e.length;l++){if(s){q.close(),await a();return}const c=e[l];q.update({html:`正在打开第 ${l+1} 个链接... 进度: ${l+1} / ${e.length}`});const u=Jr(c,{active:!t});if(r.push(u),l===0&&await n.consume(i,1),l<e.length-1){let f=o>0?500:200;try{const g=await n.consume(i,1);console.log("[openUrls] RateLimiterRes",g),!g.remainingPoints&&g.msBeforeNext>0&&(f=g.msBeforeNext);}catch(g){if(g instanceof Ns.RateLimiterRes)console.warn("[openUrls] RateLimiterRes",g),f=g.msBeforeNext;else throw console.error("[openUrls]",g),new Error(`批量打开链接出错: ${g.toString()}`)}const p=(f/1e3).toFixed(1);q.update({html:`将在 ${p} 秒后打开第 ${l+2} 个链接... 进度: ${l+1} / ${e.length}`}),await kt(f);}}q.hideLoading(),await a();}function Rn(e){return {aid:1,cid:"",o:Wa.userPtime,asc:Bo.false,offset:0,show_dir:Bo.true,limit:115,natsort:Bo.false,format:"json",...e}}async function ld(e){const t=Ha(e),o=(await Ot().get("https://webapi.115.com/files?"+t,{timeout:12e4,withCredentials:true})).data;if(o.state)return o;throw new Error(o.error)}async function Fo(e,t=50){let n=[],o=0;for(;;){e.offset=o;const i=await ld(e);if(!i.data||!i.data.length||(i.count>i.data.length&&e.limit!==i.data.length&&(console.warn(`[getFilesList] invalid limit(${e.limit}) detected! max limit is ${i.page_size}, correct it now!`),e.limit=i.page_size),n=[...n,...i.data],o+=e.limit,o>=i.count))break;await kt(t);}return n}async function uk(e){if(!(await Kt(e)).play_long)throw new Error("该目录下没有可以播放的媒体文件![by_attr]");const o=(await Fo(Rn({cid:e,limit:1150}))).find(i=>i.play_long&&i.play_long>0);if(!o)throw new Error("该目录下没有可以播放的媒体文件![by_files]");return _i(o)}let ck=[];function Mu(e,t){return t===Jn.alt&&e.altKey||t===Jn.ctrl&&e.ctrlKey||t===Jn.shift&&e.shiftKey||t===Jn.meta&&e.metaKey}function Mf(e){return e.includes("https://115.com")&&es("mode",e)==="search"}function jg(e,t){const{keyToTriggerManual:n,keyToTriggerSearchScope:o,auxClickTriggerManual:i}=e;let s=t||"";const r=[],a=[];return i&&a.push("鼠标中键"),n&&a.push(Jn[n]),a.length&&r.push(`${a.join("或")}辅助键改搜索内容`),o&&r.push(`${Jn[o]}辅助键选搜索目录`),r.length&&(s+=`
提示: ${r.join(" / ")}`),s}async function dk(){return new Promise((e,t)=>{$t().Core.FileSelectDG.Open((o,i)=>{const s=o[o.length-1];console.log("[selectSearchScope] folder",s),s&&s.cid?e(s):t(new Error("未选择有效的文件夹"));},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"在该目录下搜索",select_txt:"搜索"});})}async function sl(e,t,n=dn,o,i=void 0){const s=[],r=await ut();n=n||dn;for(const a of t){i=i!==void 0?i:a.openInBackground;const l=La(e,{key:`_ce_s_${a.key}`,label:a.label,icon:a.icon,title:jg(r,a.memo),onClick:async(c,u)=>{u.stopPropagation(),u.preventDefault(),c instanceof dc&&await c.closeMenu(),await gr(c,a,u,r,n,o,i);}});s.push(l);}return s}async function gr(e,t,n,o,i=dn,s,r=void 0){try{const a=o.keyToTriggerManual,l=o.auxClickTriggerManual;let c;(a&&Mu(n,a)||l&&n.button===1)&&(c={names:[Fc.manual],position:o.injectManualFuncPosition});let f=!1,p=[];if(s&&[Pe.selection,Pe.selectionSub].includes(s))p=await jn(!0),f=!0;else {const I=$(n.target).closest("li");p.push(await i(I[0]));}if(!p.length)throw new Error("没有选中任何文件!");const g=await Xt(),m=[],y=[],x=async I=>{try{const E=await Fs(I,t,g,c);if(!E)y.push(`文件 id="${I.id}", name="${I.name}" 的链接构建失败: 无法构建有效的搜索链接!`);else return E}catch(E){return y.push(`文件 id="${I.id}", name="${I.name}" 的链接构建失败: ${E.message}`),""}};let k=0;for(const I of p){const E=await x(I);E&&(Mf(E)&&k++,m.push(E));}if(k>0){const I=o.keyToTriggerSearchScope;if(I&&Mu(n,I)){const E=await dk();if(E)for(let D=0;D<m.length;D++)Mf(m[D])&&(m[D]=m[D].replace(/(cid%3D)(\d+)/,"$1"+E.cid));else return}}if(console.warn("[search files] urls: %o, errors: %o",m,y),!m.length)throw new Error("没有有效的搜索链接!"+(y.length?`
错误信息:
${y.join(`
`)}`:""));await fk(m,!!r);}catch(a){console.error(a),Y({title:"搜索失败",text:a.toString(),icon:"error",timer:0,showCloseButton:true});}}async function fk(e,t){const n=Ug(e),o=pk(n>0);await mr(e,t,o);}function pk(e){return new Ns.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}async function zg(e,t){if(console.log("[playDirOnAnxia]",e,t),!t)try{Y({title:"正在查找可播放的文件...",text:"请稍等...",icon:"info"}),q.showLoading(),t=await uk(e),console.log("[playDirOnAnxia] file",t);}catch(o){console.error(o),Y({title:"播放失败",text:o.toString(),icon:"error"});return}t||Y({title:"播放失败",text:"没有在该目录下找到可播放的文件![file_null]",icon:"error"});const n=bm(t.pickCode);window.open(n,"_blank","noopener noreferrer");}async function Hg(e,t,n,o){o.stopPropagation(),o.preventDefault();const i=t.keyToTriggerManual,s=t.auxClickTriggerManual,r=i&&Mu(o,i)||s&&o.button===1;try{let a;r&&(a={names:[Fc.manual],position:t.injectManualFuncPosition});const l=$(o.target).closest("li"),c=dn(l),u=await Xt(),f=await Fs(c,e,u,a);if(c.isDir&&Bc(f)){zg(c.id);return}if(e.key==="p_builtin_115plus"){if(c.isDir){const g=o.metaKey||o.ctrlKey;ga(void 0,c.id,g);}else ga([c]);return}if(/^(#|javascript:(?:;|void\(0\);?))$/.test(f))return;if(console.log("[play url]",f),!f)throw new Error("无法获取有效的播放链接!");window.open(f,"_blank","noopener noreferrer");}catch(a){console.error(a),Y({title:"播放失败",text:a.toString(),icon:"error"});}}async function ud(e){const t="_p_null_",n=[...await Em(),...ck],o=n.filter(l=>l.enabled),i=[...o,...(await ki(io.play)).filter(l=>l.enabled)],s=(l,c)=>l.find(u=>u.key===c);let r=s(o,e.defaultPlayer||"p_builtin_online");r||(r=s(n,"p_builtin_online")),r||(console.warn("[play with dropdown] default player not found"),r=Ct({key:t,url:"#",label:"播放",memo:"播放菜单数据异常!",enabled:true})),r={...r},r.key==="p_builtin_online"&&(r.label="播放");const a=i.findIndex(l=>l.key===r.key);return a>-1&&i.splice(a,1),{keyNull:t,noRealDefault:r.key===t,defaultPlayer:r,customUrlItems:i}}async function hk(e,t){const n=[],o=await ut();for(const i of t){const s=La(e,{key:`_ce_p_${i.key}`,label:i.label,icon:i.icon,title:i.memo,onClick:async(r,a)=>{Hg(i,o,r,a);}});n.push(s);}return n}async function ga(e,t,n=false){console.log("[playByPlus]",e,t,n);const o=ak(),[i,s]=o.ensureInstalled();if(!i){s();return}const r=l=>{Y({title:l||"没有可播放的视频",icon:"warning"});};if(!e||!e.length){if(!t){r("未指定视频文件和目录ID");return}if(n){if(t==="0"){r("根目录不支持递归获取视频文件");return}const{isConfirmed:u}=await q.fire({title:"播放目录下全部层级的视频",text:"即将递归获取目录下的视频文件(最多1150)并播放,是否继续?",icon:"warning",showCancelButton:true});if(!u)return}const l=Rn({cid:t,limit:1150});n&&(l.type=hn.video);const c=await ld(l);if(c.count)e=gm(c.data);else {r();return}}const a=e.filter(l=>l.transcoded).map(l=>({name:l.name,code:l.pickCode,size:l.sizeBytes,isDir:false}));if(!a.length){r();return}o.sendToPlus(Ng.VideoPlay,a);}var mt=(e=>(e[e.full=0]="full",e[e.pure=1]="pure",e[e.fullUnique=2]="fullUnique",e[e.pureUnique=3]="pureUnique",e[e.id=4]="id",e[e.pickCode=5]="pickCode",e[e.sha1=6]="sha1",e[e.sha1WithName=7]="sha1WithName",e))(mt||{});function wr(e,t,n){const o=[];for(const s of e){let r;switch(t){case 0:case 2:r=s.name;break;case 1:case 3:r=s.isDir?s.name:s.name.replace(/\.[^.]+$/,"");break;case 4:r=s.id;break;case 5:r=s.pickCode;break;case 6:r=s.hash;break;case 7:r=`${s.hash}//${s.name}`;break}r&&o.push(n?n(r):r);}return [2,3,6,7].includes(t)?Array.from(new Set(o)):o}var Ln=(e=>(e[e.unixPath=0]="unixPath",e[e.winPath=1]="winPath",e[e.unixParentPath=2]="unixParentPath",e[e.winParentPath=3]="winParentPath",e))(Ln||{});async function rl(e,t,n){const o=n===1||n===3;let s=n===2||n===3?t.replace(/\/[^/]+$/,""):t;return s.startsWith("/")||(s="/"+s),o&&(s=s.replace(/\//g,"\\")),s}async function mk(e){return async(t,n)=>{const o=await Ut(),r=rs()[0].querySelectorAll("li[file_id].selected");if(!r.length){Y({title:"文件移动到同名目录",text:"当前目录没有选中文件",icon:"warning"});return}let a=`当前已选中${r.length}个文件,是否继续?`;a+=`<br><div style="text-align:left">
      <b>处理逻辑:</b>
      <p>0.「同名目录」取自纯文件名(不带后缀名)。</p>
      <p>1.如果同名目录已存在,会直接使用已存在的目录。</p>
      <p>2.同名目录相同的文件,会被移动到同一个目录里面。</p>
      <p class="text-primary">示例: <span>movie.mp4</span> 的同名目录为 <span>movie</span></p>
      </div>`;const{value:l}=await q.fire({title:"文件移动到同名目录",html:a,icon:"warning",showCancelButton:true,confirmButtonText:"继续",cancelButtonText:"取消"});if(l){q.fire({title:"文件移动到同名目录",html:"正在处理...",didOpen:()=>{q.showLoading();}});for(let c=0;c<r.length;c++){const u=r[c],f=dn($(u));if(!f.isFile)continue;const p=f.name,g=p.replace(/\.[^\.]+$/,""),m=`${c+1} / ${r.length} - `+Math.round(c/r.length*100)+"%";q.update({html:`${m} 正在为文件「${p}」创建目录「${g}」`});const y=await Z0(g,o,true);q.update({html:`创建目录「${g}」成功。id=${y}`}),q.update({html:`${m} 正在移动文件「${p}」到目录「${g}」`}),await Dc(y,[f.id]),await kt(500);}q.hideLoading(),q.update({html:"处理完成。刷新列表后查看最新的文件数据。",icon:"success"});}}}function gk(e,t){const n=[];for(let o=1;o<e.length;o++)n.push(e[o].file_name);return n}async function Vg(e,t,n){const o=await J0(e),i=[];for(let s=0;s<e.length;s++){e[s].name=n?n(e[s].name):e[s].name;const r=o.get(e[s].parentId);if(!r)throw new Error(`无法获取文件 "${e[s].name}" 的上级目录路径!`);const a=gk(r).map(c=>n?n(c):c),l=ra([...a,e[s].name],Oo.unix);i.push(await rl(e[s],l,t));}return i}let Kl=pi.unknown;async function wa(e){const t=await Xt();Kl===pi.unknown&&(Kl=await _0(t));let n="";if(e.id==="0")n="/";else {let i=await Ka(e,true);i=i.map(s=>cn(t,s)),n=await rl(e,i.join("/"),e.isDir?0:2);}const o=await w0(t,n,Kl);console.log("url: ",o),window.open(o,"_blank","noopener noreferrer"),Y({title:"在CloudDrive2中查看",text:`已打开CloudDrive2链接: ${o}`,icon:"success"});}async function al(e){const t=`
    <div style="text-align:left">
      <p>将要处理 ${e.length} 个目录,是否继续?</p>
      <br>
      <b>处理逻辑:</b>
      <p>1. 遍历选中目录下的所有子目录</p>
      <p>2. 将所有子目录中的文件移动到父目录(选中的目录)</p>
      <p>3. 删除所有已经为空的子目录</p>
      <br>
      <p class="text-danger">注意:此操作不可撤销,请谨慎操作!</p>
    </div>
  `,{isConfirmed:n}=await q.fire({title:"解散子目录",html:t,icon:"warning",showCancelButton:true,confirmButtonText:"继续",cancelButtonText:"取消",width:600});if(!n)return;q.fire({title:"解散子目录",html:"正在处理...",didOpen:()=>{q.showLoading();}});let o=0,i=0;try{for(let s=0;s<e.length;s++){const r=e[s],a=`[${s+1}/${e.length}]`;q.update({html:`${a} 正在处理目录「${r.name}」...`});const c=(await Fo(Rn({cid:r.id,show_dir:1,limit:1150}))).filter(g=>!g.fid);if(!c.length){q.update({html:`${a} 目录「${r.name}」没有子目录,跳过`}),await kt(300);continue}q.update({html:`${a} 目录「${r.name}」共有 ${c.length} 个子目录`});const u=await Fo(Rn({cid:r.id,type:hn.file,limit:1150}));let f=[];u.length&&(f=u.filter(g=>g.cid!==r.id).map(g=>g.fid),q.update({html:`${a} 正在移动 ${f.length} 个文件到「${r.name}」...`}),await Dc(r.id,f),o+=f.length),q.update({html:`${a} 正在删除「${r.name}」下的 ${c.length} 个空目录...`});const p=c.map(g=>g.cid);await qa(r.id,p),i+=p.length,q.update({html:`${a} 目录「${r.name}」处理完成,移动了 ${f.length} 个文件,删除了 ${p.length} 个空目录`}),s<e.length-1&&await kt(1e3);}q.hideLoading(),q.update({html:`
        <div style="text-align:left">
          <p>处理完成!</p>
          <br>
          <p>共处理 ${e.length} 个目录</p>
          <p>移动了 ${o} 个文件</p>
          <p>删除了 ${i} 个空目录</p>
          <br>
          <p class="text-info">刷新页面后查看最新的文件数据</p>
        </div>
      `,icon:"success"});}catch(s){console.error("[flattenSubfolders] error:",s),q.hideLoading(),q.update({html:`处理失败:${s.message||s}`,icon:"error"});}}class _t{constructor(){this._dataLength=0,this._bufferLength=0,this._state=new Int32Array(4),this._buffer=new ArrayBuffer(68),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start();}static hashStr(t,n=false){return this.onePassHasher.start().appendStr(t).end(n)}static hashAsciiStr(t,n=false){return this.onePassHasher.start().appendAsciiStr(t).end(n)}static _hex(t){const n=_t.hexChars,o=_t.hexOut;let i,s,r,a;for(a=0;a<4;a+=1)for(s=a*8,i=t[a],r=0;r<8;r+=2)o[s+1+r]=n.charAt(i&15),i>>>=4,o[s+0+r]=n.charAt(i&15),i>>>=4;return o.join("")}static _md5cycle(t,n){let o=t[0],i=t[1],s=t[2],r=t[3];o+=(i&s|~i&r)+n[0]-680876936|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[1]-389564586|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[2]+606105819|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[3]-1044525330|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[4]-176418897|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[5]+1200080426|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[6]-1473231341|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[7]-45705983|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[8]+1770035416|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[9]-1958414417|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[10]-42063|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[11]-1990404162|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[12]+1804603682|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[13]-40341101|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[14]-1502002290|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[15]+1236535329|0,i=(i<<22|i>>>10)+s|0,o+=(i&r|s&~r)+n[1]-165796510|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[6]-1069501632|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[11]+643717713|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[0]-373897302|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[5]-701558691|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[10]+38016083|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[15]-660478335|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[4]-405537848|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[9]+568446438|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[14]-1019803690|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[3]-187363961|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[8]+1163531501|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[13]-1444681467|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[2]-51403784|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[7]+1735328473|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[12]-1926607734|0,i=(i<<20|i>>>12)+s|0,o+=(i^s^r)+n[5]-378558|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[8]-2022574463|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[11]+1839030562|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[14]-35309556|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[1]-1530992060|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[4]+1272893353|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[7]-155497632|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[10]-1094730640|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[13]+681279174|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[0]-358537222|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[3]-722521979|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[6]+76029189|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[9]-640364487|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[12]-421815835|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[15]+530742520|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[2]-995338651|0,i=(i<<23|i>>>9)+s|0,o+=(s^(i|~r))+n[0]-198630844|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[7]+1126891415|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[14]-1416354905|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[5]-57434055|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[12]+1700485571|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[3]-1894986606|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[10]-1051523|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[1]-2054922799|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[8]+1873313359|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[15]-30611744|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[6]-1560198380|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[13]+1309151649|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[4]-145523070|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[11]-1120210379|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[2]+718787259|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[9]-343485551|0,i=(i<<21|i>>>11)+s|0,t[0]=o+t[0]|0,t[1]=i+t[1]|0,t[2]=s+t[2]|0,t[3]=r+t[3]|0;}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(_t.stateIdentity),this}appendStr(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r;for(r=0;r<t.length;r+=1){if(s=t.charCodeAt(r),s<128)n[i++]=s;else if(s<2048)n[i++]=(s>>>6)+192,n[i++]=s&63|128;else if(s<55296||s>56319)n[i++]=(s>>>12)+224,n[i++]=s>>>6&63|128,n[i++]=s&63|128;else {if(s=(s-55296)*1024+(t.charCodeAt(++r)-56320)+65536,s>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");n[i++]=(s>>>18)+240,n[i++]=s>>>12&63|128,n[i++]=s>>>6&63|128,n[i++]=s&63|128;}i>=64&&(this._dataLength+=64,_t._md5cycle(this._state,o),i-=64,o[0]=o[16]);}return this._bufferLength=i,this}appendAsciiStr(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r=0;for(;;){for(s=Math.min(t.length-r,64-i);s--;)n[i++]=t.charCodeAt(r++);if(i<64)break;this._dataLength+=64,_t._md5cycle(this._state,o),i=0;}return this._bufferLength=i,this}appendByteArray(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r=0;for(;;){for(s=Math.min(t.length-r,64-i);s--;)n[i++]=t[r++];if(i<64)break;this._dataLength+=64,_t._md5cycle(this._state,o),i=0;}return this._bufferLength=i,this}getState(){const t=this._state;return {buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}}setState(t){const n=t.buffer,o=t.state,i=this._state;let s;for(this._dataLength=t.length,this._bufferLength=t.buflen,i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=o[3],s=0;s<n.length;s+=1)this._buffer8[s]=n.charCodeAt(s);}end(t=false){const n=this._bufferLength,o=this._buffer8,i=this._buffer32,s=(n>>2)+1;this._dataLength+=n;const r=this._dataLength*8;if(o[n]=128,o[n+1]=o[n+2]=o[n+3]=0,i.set(_t.buffer32Identity.subarray(s),s),n>55&&(_t._md5cycle(this._state,i),i.set(_t.buffer32Identity)),r<=4294967295)i[14]=r;else {const a=r.toString(16).match(/(.*?)(.{0,8})$/);if(a===null)return;const l=parseInt(a[2],16),c=parseInt(a[1],16)||0;i[14]=l,i[15]=c;}return _t._md5cycle(this._state,i),t?this._state:_t._hex(this._state)}}_t.stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);_t.buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);_t.hexChars="0123456789abcdef";_t.hexOut=[];_t.onePassHasher=new _t;if(_t.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");var Gl={exports:{}},Of;function wk(){return Of||(Of=1,(function(e){var t=(function(n){var o=1e7,i=7,s=9007199254740992,r=m(s),a="0123456789abcdefghijklmnopqrstuvwxyz",l=typeof BigInt=="function";function c(h,w,C,T){return typeof h>"u"?c[0]:typeof w<"u"?+w==10&&!C?ie(h):X(h,w,C,T):ie(h)}function u(h,w){this.value=h,this.sign=w,this.isSmall=false;}u.prototype=Object.create(c.prototype);function f(h){this.value=h,this.sign=h<0,this.isSmall=true;}f.prototype=Object.create(c.prototype);function p(h){this.value=h;}p.prototype=Object.create(c.prototype);function g(h){return -s<h&&h<s}function m(h){return h<1e7?[h]:h<1e14?[h%1e7,Math.floor(h/1e7)]:[h%1e7,Math.floor(h/1e7)%1e7,Math.floor(h/1e14)]}function y(h){x(h);var w=h.length;if(w<4&&dt(h,r)<0)switch(w){case 0:return 0;case 1:return h[0];case 2:return h[0]+h[1]*o;default:return h[0]+(h[1]+h[2]*o)*o}return h}function x(h){for(var w=h.length;h[--w]===0;);h.length=w+1;}function k(h){for(var w=new Array(h),C=-1;++C<h;)w[C]=0;return w}function I(h){return h>0?Math.floor(h):Math.ceil(h)}function E(h,w){var C=h.length,T=w.length,z=new Array(C),F=0,Q=o,ee,le;for(le=0;le<T;le++)ee=h[le]+w[le]+F,F=ee>=Q?1:0,z[le]=ee-F*Q;for(;le<C;)ee=h[le]+F,F=ee===Q?1:0,z[le++]=ee-F*Q;return F>0&&z.push(F),z}function D(h,w){return h.length>=w.length?E(h,w):E(w,h)}function O(h,w){var C=h.length,T=new Array(C),z=o,F,Q;for(Q=0;Q<C;Q++)F=h[Q]-z+w,w=Math.floor(F/z),T[Q]=F-w*z,w+=1;for(;w>0;)T[Q++]=w%z,w=Math.floor(w/z);return T}u.prototype.add=function(h){var w=ie(h);if(this.sign!==w.sign)return this.subtract(w.negate());var C=this.value,T=w.value;return w.isSmall?new u(O(C,Math.abs(T)),this.sign):new u(D(C,T),this.sign)},u.prototype.plus=u.prototype.add,f.prototype.add=function(h){var w=ie(h),C=this.value;if(C<0!==w.sign)return this.subtract(w.negate());var T=w.value;if(w.isSmall){if(g(C+T))return new f(C+T);T=m(Math.abs(T));}return new u(O(T,Math.abs(C)),C<0)},f.prototype.plus=f.prototype.add,p.prototype.add=function(h){return new p(this.value+ie(h).value)},p.prototype.plus=p.prototype.add;function H(h,w){var C=h.length,T=w.length,z=new Array(C),F=0,Q=o,ee,le;for(ee=0;ee<T;ee++)le=h[ee]-F-w[ee],le<0?(le+=Q,F=1):F=0,z[ee]=le;for(ee=T;ee<C;ee++){if(le=h[ee]-F,le<0)le+=Q;else {z[ee++]=le;break}z[ee]=le;}for(;ee<C;ee++)z[ee]=h[ee];return x(z),z}function j(h,w,C){var T;return dt(h,w)>=0?T=H(h,w):(T=H(w,h),C=!C),T=y(T),typeof T=="number"?(C&&(T=-T),new f(T)):new u(T,C)}function ae(h,w,C){var T=h.length,z=new Array(T),F=-w,Q=o,ee,le;for(ee=0;ee<T;ee++)le=h[ee]+F,F=Math.floor(le/Q),le%=Q,z[ee]=le<0?le+Q:le;return z=y(z),typeof z=="number"?(C&&(z=-z),new f(z)):new u(z,C)}u.prototype.subtract=function(h){var w=ie(h);if(this.sign!==w.sign)return this.add(w.negate());var C=this.value,T=w.value;return w.isSmall?ae(C,Math.abs(T),this.sign):j(C,T,this.sign)},u.prototype.minus=u.prototype.subtract,f.prototype.subtract=function(h){var w=ie(h),C=this.value;if(C<0!==w.sign)return this.add(w.negate());var T=w.value;return w.isSmall?new f(C-T):ae(T,Math.abs(C),C>=0)},f.prototype.minus=f.prototype.subtract,p.prototype.subtract=function(h){return new p(this.value-ie(h).value)},p.prototype.minus=p.prototype.subtract,u.prototype.negate=function(){return new u(this.value,!this.sign)},f.prototype.negate=function(){var h=this.sign,w=new f(-this.value);return w.sign=!h,w},p.prototype.negate=function(){return new p(-this.value)},u.prototype.abs=function(){return new u(this.value,false)},f.prototype.abs=function(){return new f(Math.abs(this.value))},p.prototype.abs=function(){return new p(this.value>=0?this.value:-this.value)};function fe(h,w){var C=h.length,T=w.length,z=C+T,F=k(z),Q=o,ee,le,be,Le,Oe;for(be=0;be<C;++be){Le=h[be];for(var We=0;We<T;++We)Oe=w[We],ee=Le*Oe+F[be+We],le=Math.floor(ee/Q),F[be+We]=ee-le*Q,F[be+We+1]+=le;}return x(F),F}function se(h,w){var C=h.length,T=new Array(C),z=o,F=0,Q,ee;for(ee=0;ee<C;ee++)Q=h[ee]*w+F,F=Math.floor(Q/z),T[ee]=Q-F*z;for(;F>0;)T[ee++]=F%z,F=Math.floor(F/z);return T}function B(h,w){for(var C=[];w-- >0;)C.push(0);return C.concat(h)}function R(h,w){var C=Math.max(h.length,w.length);if(C<=30)return fe(h,w);C=Math.ceil(C/2);var T=h.slice(C),z=h.slice(0,C),F=w.slice(C),Q=w.slice(0,C),ee=R(z,Q),le=R(T,F),be=R(D(z,T),D(Q,F)),Le=D(D(ee,B(H(H(be,ee),le),C)),B(le,2*C));return x(Le),Le}function G(h,w){return  -0.012*h-.012*w+15e-6*h*w>0}u.prototype.multiply=function(h){var w=ie(h),C=this.value,T=w.value,z=this.sign!==w.sign,F;if(w.isSmall){if(T===0)return c[0];if(T===1)return this;if(T===-1)return this.negate();if(F=Math.abs(T),F<o)return new u(se(C,F),z);T=m(F);}return G(C.length,T.length)?new u(R(C,T),z):new u(fe(C,T),z)},u.prototype.times=u.prototype.multiply;function ce(h,w,C){return h<o?new u(se(w,h),C):new u(fe(w,m(h)),C)}f.prototype._multiplyBySmall=function(h){return g(h.value*this.value)?new f(h.value*this.value):ce(Math.abs(h.value),m(Math.abs(this.value)),this.sign!==h.sign)},u.prototype._multiplyBySmall=function(h){return h.value===0?c[0]:h.value===1?this:h.value===-1?this.negate():ce(Math.abs(h.value),this.value,this.sign!==h.sign)},f.prototype.multiply=function(h){return ie(h)._multiplyBySmall(this)},f.prototype.times=f.prototype.multiply,p.prototype.multiply=function(h){return new p(this.value*ie(h).value)},p.prototype.times=p.prototype.multiply;function ye(h){var w=h.length,C=k(w+w),T=o,z,F,Q,ee,le;for(Q=0;Q<w;Q++){ee=h[Q],F=0-ee*ee;for(var be=Q;be<w;be++)le=h[be],z=2*(ee*le)+C[Q+be]+F,F=Math.floor(z/T),C[Q+be]=z-F*T;C[Q+w]=F;}return x(C),C}u.prototype.square=function(){return new u(ye(this.value),false)},f.prototype.square=function(){var h=this.value*this.value;return g(h)?new f(h):new u(ye(m(Math.abs(this.value))),false)},p.prototype.square=function(h){return new p(this.value*this.value)};function Ce(h,w){var C=h.length,T=w.length,z=o,F=k(w.length),Q=w[T-1],ee=Math.ceil(z/(2*Q)),le=se(h,ee),be=se(w,ee),Le,Oe,We,fn,en,kl,$l;for(le.length<=C&&le.push(0),be.push(0),Q=be[T-1],Oe=C-T;Oe>=0;Oe--){for(Le=z-1,le[Oe+T]!==Q&&(Le=Math.floor((le[Oe+T]*z+le[Oe+T-1])/Q)),We=0,fn=0,kl=be.length,en=0;en<kl;en++)We+=Le*be[en],$l=Math.floor(We/z),fn+=le[Oe+en]-(We-$l*z),We=$l,fn<0?(le[Oe+en]=fn+z,fn=-1):(le[Oe+en]=fn,fn=0);for(;fn!==0;){for(Le-=1,We=0,en=0;en<kl;en++)We+=le[Oe+en]-z+be[en],We<0?(le[Oe+en]=We+z,We=0):(le[Oe+en]=We,We=1);fn+=We;}F[Oe]=Le;}return le=ke(le,ee)[0],[y(F),y(le)]}function _e(h,w){for(var C=h.length,T=w.length,z=[],F=[],Q=o,ee,le,be,Le,Oe;C;){if(F.unshift(h[--C]),x(F),dt(F,w)<0){z.push(0);continue}le=F.length,be=F[le-1]*Q+F[le-2],Le=w[T-1]*Q+w[T-2],le>T&&(be=(be+1)*Q),ee=Math.ceil(be/Le);do{if(Oe=se(w,ee),dt(Oe,F)<=0)break;ee--;}while(ee);z.push(ee),F=H(F,Oe);}return z.reverse(),[y(z),y(F)]}function ke(h,w){var C=h.length,T=k(C),z=o,F,Q,ee,le;for(ee=0,F=C-1;F>=0;--F)le=ee*z+h[F],Q=I(le/w),ee=le-Q*w,T[F]=Q|0;return [T,ee|0]}function Fe(h,w){var C,T=ie(w);if(l)return [new p(h.value/T.value),new p(h.value%T.value)];var z=h.value,F=T.value,Q;if(F===0)throw new Error("Cannot divide by zero");if(h.isSmall)return T.isSmall?[new f(I(z/F)),new f(z%F)]:[c[0],h];if(T.isSmall){if(F===1)return [h,c[0]];if(F==-1)return [h.negate(),c[0]];var ee=Math.abs(F);if(ee<o){C=ke(z,ee),Q=y(C[0]);var le=C[1];return h.sign&&(le=-le),typeof Q=="number"?(h.sign!==T.sign&&(Q=-Q),[new f(Q),new f(le)]):[new u(Q,h.sign!==T.sign),new f(le)]}F=m(ee);}var be=dt(z,F);if(be===-1)return [c[0],h];if(be===0)return [c[h.sign===T.sign?1:-1],c[0]];z.length+F.length<=200?C=Ce(z,F):C=_e(z,F),Q=C[0];var Le=h.sign!==T.sign,Oe=C[1],We=h.sign;return typeof Q=="number"?(Le&&(Q=-Q),Q=new f(Q)):Q=new u(Q,Le),typeof Oe=="number"?(We&&(Oe=-Oe),Oe=new f(Oe)):Oe=new u(Oe,We),[Q,Oe]}u.prototype.divmod=function(h){var w=Fe(this,h);return {quotient:w[0],remainder:w[1]}},p.prototype.divmod=f.prototype.divmod=u.prototype.divmod,u.prototype.divide=function(h){return Fe(this,h)[0]},p.prototype.over=p.prototype.divide=function(h){return new p(this.value/ie(h).value)},f.prototype.over=f.prototype.divide=u.prototype.over=u.prototype.divide,u.prototype.mod=function(h){return Fe(this,h)[1]},p.prototype.mod=p.prototype.remainder=function(h){return new p(this.value%ie(h).value)},f.prototype.remainder=f.prototype.mod=u.prototype.remainder=u.prototype.mod,u.prototype.pow=function(h){var w=ie(h),C=this.value,T=w.value,z,F,Q;if(T===0)return c[1];if(C===0)return c[0];if(C===1)return c[1];if(C===-1)return w.isEven()?c[1]:c[-1];if(w.sign)return c[0];if(!w.isSmall)throw new Error("The exponent "+w.toString()+" is too large.");if(this.isSmall&&g(z=Math.pow(C,T)))return new f(I(z));for(F=this,Q=c[1];T&true&&(Q=Q.times(F),--T),T!==0;)T/=2,F=F.square();return Q},f.prototype.pow=u.prototype.pow,p.prototype.pow=function(h){var w=ie(h),C=this.value,T=w.value,z=BigInt(0),F=BigInt(1),Q=BigInt(2);if(T===z)return c[1];if(C===z)return c[0];if(C===F)return c[1];if(C===BigInt(-1))return w.isEven()?c[1]:c[-1];if(w.isNegative())return new p(z);for(var ee=this,le=c[1];(T&F)===F&&(le=le.times(ee),--T),T!==z;)T/=Q,ee=ee.square();return le},u.prototype.modPow=function(h,w){if(h=ie(h),w=ie(w),w.isZero())throw new Error("Cannot take modPow with modulus 0");var C=c[1],T=this.mod(w);for(h.isNegative()&&(h=h.multiply(c[-1]),T=T.modInv(w));h.isPositive();){if(T.isZero())return c[0];h.isOdd()&&(C=C.multiply(T).mod(w)),h=h.divide(2),T=T.square().mod(w);}return C},p.prototype.modPow=f.prototype.modPow=u.prototype.modPow;function dt(h,w){if(h.length!==w.length)return h.length>w.length?1:-1;for(var C=h.length-1;C>=0;C--)if(h[C]!==w[C])return h[C]>w[C]?1:-1;return 0}u.prototype.compareAbs=function(h){var w=ie(h),C=this.value,T=w.value;return w.isSmall?1:dt(C,T)},f.prototype.compareAbs=function(h){var w=ie(h),C=Math.abs(this.value),T=w.value;return w.isSmall?(T=Math.abs(T),C===T?0:C>T?1:-1):-1},p.prototype.compareAbs=function(h){var w=this.value,C=ie(h).value;return w=w>=0?w:-w,C=C>=0?C:-C,w===C?0:w>C?1:-1},u.prototype.compare=function(h){if(h===1/0)return  -1;if(h===-1/0)return 1;var w=ie(h),C=this.value,T=w.value;return this.sign!==w.sign?w.sign?1:-1:w.isSmall?this.sign?-1:1:dt(C,T)*(this.sign?-1:1)},u.prototype.compareTo=u.prototype.compare,f.prototype.compare=function(h){if(h===1/0)return  -1;if(h===-1/0)return 1;var w=ie(h),C=this.value,T=w.value;return w.isSmall?C==T?0:C>T?1:-1:C<0!==w.sign?C<0?-1:1:C<0?1:-1},f.prototype.compareTo=f.prototype.compare,p.prototype.compare=function(h){if(h===1/0)return  -1;if(h===-1/0)return 1;var w=this.value,C=ie(h).value;return w===C?0:w>C?1:-1},p.prototype.compareTo=p.prototype.compare,u.prototype.equals=function(h){return this.compare(h)===0},p.prototype.eq=p.prototype.equals=f.prototype.eq=f.prototype.equals=u.prototype.eq=u.prototype.equals,u.prototype.notEquals=function(h){return this.compare(h)!==0},p.prototype.neq=p.prototype.notEquals=f.prototype.neq=f.prototype.notEquals=u.prototype.neq=u.prototype.notEquals,u.prototype.greater=function(h){return this.compare(h)>0},p.prototype.gt=p.prototype.greater=f.prototype.gt=f.prototype.greater=u.prototype.gt=u.prototype.greater,u.prototype.lesser=function(h){return this.compare(h)<0},p.prototype.lt=p.prototype.lesser=f.prototype.lt=f.prototype.lesser=u.prototype.lt=u.prototype.lesser,u.prototype.greaterOrEquals=function(h){return this.compare(h)>=0},p.prototype.geq=p.prototype.greaterOrEquals=f.prototype.geq=f.prototype.greaterOrEquals=u.prototype.geq=u.prototype.greaterOrEquals,u.prototype.lesserOrEquals=function(h){return this.compare(h)<=0},p.prototype.leq=p.prototype.lesserOrEquals=f.prototype.leq=f.prototype.lesserOrEquals=u.prototype.leq=u.prototype.lesserOrEquals,u.prototype.isEven=function(){return (this.value[0]&1)===0},f.prototype.isEven=function(){return (this.value&1)===0},p.prototype.isEven=function(){return (this.value&BigInt(1))===BigInt(0)},u.prototype.isOdd=function(){return (this.value[0]&1)===1},f.prototype.isOdd=function(){return (this.value&1)===1},p.prototype.isOdd=function(){return (this.value&BigInt(1))===BigInt(1)},u.prototype.isPositive=function(){return !this.sign},f.prototype.isPositive=function(){return this.value>0},p.prototype.isPositive=f.prototype.isPositive,u.prototype.isNegative=function(){return this.sign},f.prototype.isNegative=function(){return this.value<0},p.prototype.isNegative=f.prototype.isNegative,u.prototype.isUnit=function(){return  false},f.prototype.isUnit=function(){return Math.abs(this.value)===1},p.prototype.isUnit=function(){return this.abs().value===BigInt(1)},u.prototype.isZero=function(){return  false},f.prototype.isZero=function(){return this.value===0},p.prototype.isZero=function(){return this.value===BigInt(0)},u.prototype.isDivisibleBy=function(h){var w=ie(h);return w.isZero()?false:w.isUnit()?true:w.compareAbs(2)===0?this.isEven():this.mod(w).isZero()},p.prototype.isDivisibleBy=f.prototype.isDivisibleBy=u.prototype.isDivisibleBy;function ge(h){var w=h.abs();if(w.isUnit())return  false;if(w.equals(2)||w.equals(3)||w.equals(5))return  true;if(w.isEven()||w.isDivisibleBy(3)||w.isDivisibleBy(5))return  false;if(w.lesser(49))return  true}function M(h,w){for(var C=h.prev(),T=C,z=0,F,Q,ee;T.isEven();)T=T.divide(2),z++;e:for(Q=0;Q<w.length;Q++)if(!h.lesser(w[Q])&&(ee=t(w[Q]).modPow(T,h),!(ee.isUnit()||ee.equals(C)))){for(F=z-1;F!=0;F--){if(ee=ee.square().mod(h),ee.isUnit())return  false;if(ee.equals(C))continue e}return  false}return  true}u.prototype.isPrime=function(h){var w=ge(this);if(w!==n)return w;var C=this.abs(),T=C.bitLength();if(T<=64)return M(C,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var z=Math.log(2)*T.toJSNumber(),F=Math.ceil(h===true?2*Math.pow(z,2):z),Q=[],ee=0;ee<F;ee++)Q.push(t(ee+2));return M(C,Q)},p.prototype.isPrime=f.prototype.isPrime=u.prototype.isPrime,u.prototype.isProbablePrime=function(h,w){var C=ge(this);if(C!==n)return C;for(var T=this.abs(),z=h===n?5:h,F=[],Q=0;Q<z;Q++)F.push(t.randBetween(2,T.minus(2),w));return M(T,F)},p.prototype.isProbablePrime=f.prototype.isProbablePrime=u.prototype.isProbablePrime,u.prototype.modInv=function(h){for(var w=t.zero,C=t.one,T=ie(h),z=this.abs(),F,Q,ee;!z.isZero();)F=T.divide(z),Q=w,ee=T,w=C,T=z,C=Q.subtract(F.multiply(C)),z=ee.subtract(F.multiply(z));if(!T.isUnit())throw new Error(this.toString()+" and "+h.toString()+" are not co-prime");return w.compare(0)===-1&&(w=w.add(h)),this.isNegative()?w.negate():w},p.prototype.modInv=f.prototype.modInv=u.prototype.modInv,u.prototype.next=function(){var h=this.value;return this.sign?ae(h,1,this.sign):new u(O(h,1),this.sign)},f.prototype.next=function(){var h=this.value;return h+1<s?new f(h+1):new u(r,false)},p.prototype.next=function(){return new p(this.value+BigInt(1))},u.prototype.prev=function(){var h=this.value;return this.sign?new u(O(h,1),true):ae(h,1,this.sign)},f.prototype.prev=function(){var h=this.value;return h-1>-s?new f(h-1):new u(r,true)},p.prototype.prev=function(){return new p(this.value-BigInt(1))};for(var pe=[1];2*pe[pe.length-1]<=o;)pe.push(2*pe[pe.length-1]);var tt=pe.length,rt=pe[tt-1];function Zt(h){return Math.abs(h)<=o}u.prototype.shiftLeft=function(h){var w=ie(h).toJSNumber();if(!Zt(w))throw new Error(String(w)+" is too large for shifting.");if(w<0)return this.shiftRight(-w);var C=this;if(C.isZero())return C;for(;w>=tt;)C=C.multiply(rt),w-=tt-1;return C.multiply(pe[w])},p.prototype.shiftLeft=f.prototype.shiftLeft=u.prototype.shiftLeft,u.prototype.shiftRight=function(h){var w,C=ie(h).toJSNumber();if(!Zt(C))throw new Error(String(C)+" is too large for shifting.");if(C<0)return this.shiftLeft(-C);for(var T=this;C>=tt;){if(T.isZero()||T.isNegative()&&T.isUnit())return T;w=Fe(T,rt),T=w[1].isNegative()?w[0].prev():w[0],C-=tt-1;}return w=Fe(T,pe[C]),w[1].isNegative()?w[0].prev():w[0]},p.prototype.shiftRight=f.prototype.shiftRight=u.prototype.shiftRight;function Vt(h,w,C){w=ie(w);for(var T=h.isNegative(),z=w.isNegative(),F=T?h.not():h,Q=z?w.not():w,ee=0,le=0,be=null,Le=null,Oe=[];!F.isZero()||!Q.isZero();)be=Fe(F,rt),ee=be[1].toJSNumber(),T&&(ee=rt-1-ee),Le=Fe(Q,rt),le=Le[1].toJSNumber(),z&&(le=rt-1-le),F=be[0],Q=Le[0],Oe.push(C(ee,le));for(var We=C(T?1:0,z?1:0)!==0?t(-1):t(0),fn=Oe.length-1;fn>=0;fn-=1)We=We.multiply(rt).add(t(Oe[fn]));return We}u.prototype.not=function(){return this.negate().prev()},p.prototype.not=f.prototype.not=u.prototype.not,u.prototype.and=function(h){return Vt(this,h,function(w,C){return w&C})},p.prototype.and=f.prototype.and=u.prototype.and,u.prototype.or=function(h){return Vt(this,h,function(w,C){return w|C})},p.prototype.or=f.prototype.or=u.prototype.or,u.prototype.xor=function(h){return Vt(this,h,function(w,C){return w^C})},p.prototype.xor=f.prototype.xor=u.prototype.xor;var uo=1<<30,Pi=(o&-o)*(o&-o)|uo;function _n(h){var w=h.value,C=typeof w=="number"?w|uo:typeof w=="bigint"?w|BigInt(uo):w[0]+w[1]*o|Pi;return C&-C}function ms(h,w){if(w.compareTo(h)<=0){var C=ms(h,w.square(w)),T=C.p,z=C.e,F=T.multiply(w);return F.compareTo(h)<=0?{p:F,e:z*2+1}:{p:T,e:z*2}}return {p:t(1),e:0}}u.prototype.bitLength=function(){var h=this;return h.compareTo(t(0))<0&&(h=h.negate().subtract(t(1))),h.compareTo(t(0))===0?t(0):t(ms(h,t(2)).e).add(t(1))},p.prototype.bitLength=f.prototype.bitLength=u.prototype.bitLength;function S(h,w){return h=ie(h),w=ie(w),h.greater(w)?h:w}function b(h,w){return h=ie(h),w=ie(w),h.lesser(w)?h:w}function v(h,w){if(h=ie(h).abs(),w=ie(w).abs(),h.equals(w))return h;if(h.isZero())return w;if(w.isZero())return h;for(var C=c[1],T,z;h.isEven()&&w.isEven();)T=b(_n(h),_n(w)),h=h.divide(T),w=w.divide(T),C=C.multiply(T);for(;h.isEven();)h=h.divide(_n(h));do{for(;w.isEven();)w=w.divide(_n(w));h.greater(w)&&(z=w,w=h,h=z),w=w.subtract(h);}while(!w.isZero());return C.isUnit()?h:h.multiply(C)}function N(h,w){return h=ie(h).abs(),w=ie(w).abs(),h.divide(v(h,w)).multiply(w)}function P(h,w,C){h=ie(h),w=ie(w);var T=C||Math.random,z=b(h,w),F=S(h,w),Q=F.subtract(z).add(1);if(Q.isSmall)return z.add(Math.floor(T()*Q));for(var ee=ue(Q,o).value,le=[],be=true,Le=0;Le<ee.length;Le++){var Oe=be?ee[Le]+(Le+1<ee.length?ee[Le+1]/o:0):o,We=I(T()*Oe);le.push(We),We<ee[Le]&&(be=false);}return z.add(c.fromArray(le,o,false))}var X=function(h,w,C,T){C=C||a,h=String(h),T||(h=h.toLowerCase(),C=C.toLowerCase());var z=h.length,F,Q=Math.abs(w),ee={};for(F=0;F<C.length;F++)ee[C[F]]=F;for(F=0;F<z;F++){var le=h[F];if(le!=="-"&&le in ee&&ee[le]>=Q){if(le==="1"&&Q===1)continue;throw new Error(le+" is not a valid digit in base "+w+".")}}w=ie(w);var be=[],Le=h[0]==="-";for(F=Le?1:0;F<h.length;F++){var le=h[F];if(le in ee)be.push(ie(ee[le]));else if(le==="<"){var Oe=F;do F++;while(h[F]!==">"&&F<h.length);be.push(ie(h.slice(Oe+1,F)));}else throw new Error(le+" is not a valid character")}return Z(be,w,Le)};function Z(h,w,C){var T=c[0],z=c[1],F;for(F=h.length-1;F>=0;F--)T=T.add(h[F].times(z)),z=z.times(w);return C?T.negate():T}function ne(h,w){return w=w||a,h<w.length?w[h]:"<"+h+">"}function ue(h,w){if(w=t(w),w.isZero()){if(h.isZero())return {value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(w.equals(-1)){if(h.isZero())return {value:[0],isNegative:false};if(h.isNegative())return {value:[].concat.apply([],Array.apply(null,Array(-h.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:false};var C=Array.apply(null,Array(h.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return C.unshift([1]),{value:[].concat.apply([],C),isNegative:false}}var T=false;if(h.isNegative()&&w.isPositive()&&(T=true,h=h.abs()),w.isUnit())return h.isZero()?{value:[0],isNegative:false}:{value:Array.apply(null,Array(h.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:T};for(var z=[],F=h,Q;F.isNegative()||F.compareAbs(w)>=0;){Q=F.divmod(w),F=Q.quotient;var ee=Q.remainder;ee.isNegative()&&(ee=w.minus(ee).abs(),F=F.next()),z.push(ee.toJSNumber());}return z.push(F.toJSNumber()),{value:z.reverse(),isNegative:T}}function oe(h,w,C){var T=ue(h,w);return (T.isNegative?"-":"")+T.value.map(function(z){return ne(z,C)}).join("")}u.prototype.toArray=function(h){return ue(this,h)},f.prototype.toArray=function(h){return ue(this,h)},p.prototype.toArray=function(h){return ue(this,h)},u.prototype.toString=function(h,w){if(h===n&&(h=10),h!==10||w)return oe(this,h,w);for(var C=this.value,T=C.length,z=String(C[--T]),F="0000000",Q;--T>=0;)Q=String(C[T]),z+=F.slice(Q.length)+Q;var ee=this.sign?"-":"";return ee+z},f.prototype.toString=function(h,w){return h===n&&(h=10),h!=10||w?oe(this,h,w):String(this.value)},p.prototype.toString=f.prototype.toString,p.prototype.toJSON=u.prototype.toJSON=f.prototype.toJSON=function(){return this.toString()},u.prototype.valueOf=function(){return parseInt(this.toString(),10)},u.prototype.toJSNumber=u.prototype.valueOf,f.prototype.valueOf=function(){return this.value},f.prototype.toJSNumber=f.prototype.valueOf,p.prototype.valueOf=p.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function ve(h){if(g(+h)){var w=+h;if(w===I(w))return l?new p(BigInt(w)):new f(w);throw new Error("Invalid integer: "+h)}var C=h[0]==="-";C&&(h=h.slice(1));var T=h.split(/e/i);if(T.length>2)throw new Error("Invalid integer: "+T.join("e"));if(T.length===2){var z=T[1];if(z[0]==="+"&&(z=z.slice(1)),z=+z,z!==I(z)||!g(z))throw new Error("Invalid integer: "+z+" is not a valid exponent.");var F=T[0],Q=F.indexOf(".");if(Q>=0&&(z-=F.length-Q-1,F=F.slice(0,Q)+F.slice(Q+1)),z<0)throw new Error("Cannot include negative exponent part for integers");F+=new Array(z+1).join("0"),h=F;}var ee=/^([0-9][0-9]*)$/.test(h);if(!ee)throw new Error("Invalid integer: "+h);if(l)return new p(BigInt(C?"-"+h:h));for(var le=[],be=h.length,Le=i,Oe=be-Le;be>0;)le.push(+h.slice(Oe,be)),Oe-=Le,Oe<0&&(Oe=0),be-=Le;return x(le),new u(le,C)}function he(h){if(l)return new p(BigInt(h));if(g(h)){if(h!==I(h))throw new Error(h+" is not an integer.");return new f(h)}return ve(h.toString())}function ie(h){return typeof h=="number"?he(h):typeof h=="string"?ve(h):typeof h=="bigint"?new p(h):h}for(var Ee=0;Ee<1e3;Ee++)c[Ee]=ie(Ee),Ee>0&&(c[-Ee]=ie(-Ee));return c.one=c[1],c.zero=c[0],c.minusOne=c[-1],c.max=S,c.min=b,c.gcd=v,c.lcm=N,c.isInstance=function(h){return h instanceof u||h instanceof f||h instanceof p},c.randBetween=P,c.fromArray=function(h,w,C){return Z(h.map(ie),ie(w||10),C)},c})();e.hasOwnProperty("exports")&&(e.exports=t);})(Gl)),Gl.exports}var yk=wk();const Dr=Am(yk);class bk{n;e;constructor(){this.n=Dr("8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683",16),this.e=Dr("10001",16);}a2hex(t){let n="",o;for(let i=0;i<t.length;i++)o=t[i].toString(16),o.length<2&&(o="0"+o),n+=o;return n}hex2a(t){let n="";for(let o=0;o<t.length;o+=2)n+=String.fromCharCode(parseInt(t.substr(o,2),16));return n}pkcs1pad2(t,n){if(n<t.length+11)return null;let o=[],i=t.length-1;for(;i>=0&&n>0;)o[--n]=t.charCodeAt(i--);for(o[--n]=0;n>2;)o[--n]=255;o[--n]=2,o[--n]=0;let s=this.a2hex(o);return Dr(s,16)}pkcs1unpad2(t){let n=t.toString(16);n.length%2!==0&&(n="0"+n);let o=this.hex2a(n),i=1;for(;o.charCodeAt(i)!==0;)i++;return o.slice(i+1)}encrypt(t){let i=this.pkcs1pad2(t,128)?.modPow(this.e,this.n)?.toString(16)||"";for(;i.length<256;)i="0"+i;return i}decrypt(t){const n=[];let o=0;for(;o<t.length;)n[o]=t.charCodeAt(o),o+=1;const s=Dr(this.a2hex(n),16).modPow(this.e,this.n);return this.pkcs1unpad2(s)}}class vk{rsa;kts;keyS;keyL;constructor(){this.rsa=new bk,this.kts=[240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245],this.keyS=[41,35,33,94],this.keyL=[120,6,173,76,51,134,93,24,76,1,63,70];}xor115Enc(t,n,o,i){let s,r,a,l,c,u,f,p;if(l=n%4,p=[],l!==0)for(s=r=0,c=l;c>=0?r<c:r>c;s=c>=0?++r:--r)p.push(t[s]^o[s%i]);for(s=a=u=l,f=n;u<=f?a<f:a>f;s=u<=f?++a:--a)p.push(t[s]^o[(s-l)%i]);return p}getkey(t,n){let o;return n!=null?(()=>{let i,s,r;for(r=[],o=i=0,s=t;s>=0?i<s:i>s;o=s>=0?++i:--i)r.push(n[o]+this.kts[t*o]&255^this.kts[t*(t-1-o)]);return r})():t===12?this.keyL.slice(0):this.keyS.slice(0)}asymEncode(t,n){let o,i,s,r,a;for(s=117,a="",o=i=0,r=Math.floor((n+s-1)/s);r>=0?i<r:i>r;o=r>=0?++i:--i)a+=this.rsa.encrypt(this.bytesToString(t.slice(o*s,Math.min((o+1)*s,n))));return window.btoa(this.rsa.hex2a(a))}asymDecode(t,n){let o,i,s,r,a;for(s=128,a="",o=i=0,r=Math.floor((n+s-1)/s);r>=0?i<r:i>r;o=r>=0?++i:--i)a+=this.rsa.decrypt(this.bytesToString(t.slice(o*s,Math.min((o+1)*s,n))));return this.stringToBytes(a)}symEncode(t,n,o,i){let s,r,a;return s=this.getkey(4,o),r=this.getkey(12,i),a=this.xor115Enc(t,n,s,4),a.reverse(),a=this.xor115Enc(a,n,r,12),a}symDecode(t,n,o,i){let s,r,a;return s=this.getkey(4,o),r=this.getkey(12,i),a=this.xor115Enc(t,n,r,12),a.reverse(),a=this.xor115Enc(a,n,s,4),a}bytesToString(t){let n,o,i,s;for(s="",o=0,i=t.length;o<i;o++)n=t[o],s+=String.fromCharCode(n);return s}stringToBytes(t){let n,o,i;for(i=[],n=0,o=t.length;n<o;n++)i.push(t.charCodeAt(n));return i}encode(t,n){const o=this.stringToBytes(_t.hashStr(`!@###@#${n}DFDR@#@#`));let i=this.stringToBytes(t);return i=this.symEncode(i,i.length,o,null),i=o.slice(0,16).concat(i),{data:this.asymEncode(i,i.length),key:o}}decode(t,n){let o=this.stringToBytes(window.atob(t));return o=this.asymDecode(o,o.length),this.bytesToString(this.symDecode(o.slice(16),o.length-16,n,o.slice(0,16)))}}async function xk(e){return new Promise((t,n)=>{const o=JSON.stringify({pickcode:e}),i=Math.floor(Date.now()).toString(),s=new vk,{data:r,key:a}=s.encode(o,i);Ta({method:"POST",url:`https://proapi.115.com/app/chrome/downurl?t=${i}`,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","User-Agent":navigator.userAgent,Accept:"application/json, text/javascript, */*; q=0.01"},data:`data=${encodeURIComponent(r)}`,responseType:"json",onload:l=>{const c=JSON.parse(l.responseText);if(c.state){const u=s.decode(c.data,a);if(u){const f=JSON.parse(u),p=Object.keys(f)[0],g=f[p];g.file_id=p;const m=l.responseHeaders.split(/[\r\n]+/).filter(y=>y.match(/set-cookie/i));m.length&&(m.forEach((y,x)=>{m[x]=y.replace(/set-cookie:[\s]*/i,"").split(";")[0];}),g.cookie=m.join("; ")),t(g);}else n({state:false,error:"解密失败"});}else n(c);},onerror:l=>{n(l);}});})}async function _k(e){return (await Ot().get(`https://webapi.115.com/files/get_repeat_sha?file_id=${e}`,{timeout:12e4,withCredentials:true})).data}function Ck(e){return `https://115.com/?tab=sha1_repeat&select=1&file_id=${e}&mode=wangpan`}let kk=[];async function qg(e){if(!oo()||!e.enableInSearch)return;const t=await qe("#js_data_list"),n='<a href="javascript:;" menu="{key}" style=""><i class="{icon}" menu="{key}"></i><span menu="{key}">{label}</span></a>',o=(l,c,u)=>n.replace(/\{key\}/g,l).replace(/\{label\}/g,c).replace(/\{icon\}/g,u),i=[{label:"移动",body:o("move","移动","icon-operate ifo-move"),enabled:true},{label:"重命名",body:o("edit_name","重命名","icon-operate ifo-rename"),enabled:true},{label:"删除",body:o("delete","删除","icon-operate ifo-remove"),enabled:true},{label:"属性",body:o("attribute","属性","icon-operate ifo-property"),enabled:true}],s=l=>{let c="";for(const u of l)u.enabled&&(c+=u.body);return c},r=()=>{const l="ce-menu-init",c=document.querySelectorAll(`li[rel="item"]:not(.${l})`),u=s(i);for(let f=0;f<c.length;f++){const p=c[f];if(p.querySelector(".file-opr"))continue;const g=Ue('<div class="file-opr" rel="menu"></div>');g.innerHTML=u,p.classList.add(l),p.appendChild(g);}};r(),new MutationObserver(async([l])=>{l.type==="childList"&&r();}).observe(t,{childList:true});}async function $k(){const e=await ut(),t=await ud(e);return new ls({key:"_play_with_x_d",label:t.defaultPlayer.label,icon:t.defaultPlayer?.icon||"",injectDecider:wb,title:t.defaultPlayer.memo,onClick:async(n,o)=>{t.noRealDefault||Hg(t.defaultPlayer,e,n,o);},subItems:[...await hk(us,t.customUrlItems)]})}function Si(e){const t=$(e.target).closest("li"),n=dn(t);return !n||!n.id?(Y({text:"无法获取当前文件信息",timer:1200}),null):n}async function Sk(e){const t=[...(await cr()).filter(o=>o.enabled),...kk.filter(o=>o.enabled),...(await ki(io.search)).filter(o=>o.enabled)];let n=t.find(o=>o.key===e.defaultSearch);return n||(n=t.find(o=>o.key===dr)),new ls({key:"_search_with_name_d",label:"搜索",icon:n?.icon||"",title:jg(e,n?.memo||"使用名称搜索"),onClick:async(o,i)=>{i.stopPropagation(),i.preventDefault(),n&&await gr(o,n,i,e,void 0,Pe.listItemHover);},subItems:[...await sl(us,t)]})}async function Ek(){return new us({key:"_lh_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=Si(t);n&&await wa(n);}})}async function Ak(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Tr("完整名称",mt.full)),t.copyPureName&&n.push(await Tr("不含后缀名称",mt.pure)),t.copyId&&n.push(await Tr("ID",mt.id)),t.copyPickCode&&n.push(await Tr("PickCode",mt.pickCode)),t.copySha1&&n.push(await Bf(false)),t.copySha1WithName&&n.push(await Bf(true)),t.copyUnixPath&&n.push(await Lr("路径(Unix)",Ln.unixPath)),t.copyWinPath&&n.push(await Lr("路径(Windows)",Ln.winPath)),t.copyParentUnixPath&&n.push(await Lr("上级路径(Unix)",Ln.unixParentPath)),t.copyParentWinPath&&n.push(await Lr("上级路径(Windows)",Ln.winParentPath)),t.viewInCloudDrive&&n.push(await Ek()),new ls({key:"_lh_copy_name_path",label:"名称路径",title:"复制文件名称路径",onClick:async(o,i)=>{},subItems:n})}async function Bf(e=true){return new us({key:"_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=Si(n);if(!o)return;if(o.isDir){Y({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=o.hash+(e?`//${o.name}`:"");ft(i),Y({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function Tr(e,t){return new us({key:`_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=Si(o);if(!i)return;const s=await ut(),r=await Xt(),l=wr([i],t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Y({title:`复制${e}`,text:`已复制选中文件信息,复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Lr(e,t){return new us({key:`_lh_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:e,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=Si(o);if(!i)return;const s=await ut(),r=await Xt();let a=await Ka(i);s.cloudDriveFormalization&&(a=a.map(u=>cn(r,u,true)),i.name=cn(r,i.name,true));let l=a.join("/");const c=await rl(i,l,t);ft(c),Y({title:"复制路径",text:`已复制选中路径,复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Pk(){return new ls({injectDecider:sh,key:"_open_in_new_tab",label:"新标签页",icon:"",title:"在新标签页打开",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=Si(t);if(!n)return;const o=On(n.id);window.open(o,"_blank","noopener noreferrer");}})}async function cd(e){q.fire({title:"查找重复文件",html:`正在查找文件:${e.name},请稍候...`,icon:"info",showConfirmButton:false,allowOutsideClick:false}),q.showLoading();try{const t=await _k(e.id);t.state?t.data.length>1?(q.update({html:"查找成功,将打开结果页面",icon:"success",showConfirmButton:!0}),Jr(Ck(e.id),{active:!0}),kt(5e3).then(()=>{q.close();})):q.update({html:"没有重复文件",icon:"warning",showConfirmButton:!0}):q.update({html:`查找失败!${t.code} - ${t.message}`,icon:"error",showConfirmButton:!0});}catch(t){q.update({html:`查找失败!${t.message}`,icon:"error",showConfirmButton:true});}finally{q.hideLoading();}}async function Ik(e){return new ls({injectDecider:gb,key:"_lh_find_repeat",label:"重复文件",icon:"",title:"查找重复文件,找到后会在新标签页中打开处理页面",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=Si(n);o&&await cd(o);}})}async function Dk(e){return new ls({injectDecider:sh,key:"_lh_flatten_subfolders",label:"解散子目录",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=Si(n);if(o){if(!o.isDir){Y({text:"请先选择一个目录",icon:"error"});return}await al([o]);}}})}function Tk(e){return {enabled:true,openInNewTab:true,search:true,play:true,getDownloadUrl:true,copyNames:true,namePathConfig:nr(),flattenSubfolders:false,findRepeat:false,exportList:false,viewInCloudDrive:true,...e}}class ls extends yn{menuType=Pe.listItemHover;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Oa;}}class us extends yn{menuType=Pe.listItemHoverSub}class Lk extends tr{menuType=Pe.listItemHover;useObserver=true;observeTarget="#js_data_list";disposeObserverAfterInjection=false;constructor(t){super(t),this.handleLoadAll();}async inject(){const t=document.querySelector("#js_data_list");if(t){const n=t.querySelectorAll(".list-contents > ul:not([ce-done]) > li .file-opr");n.length&&await this.perform(Array.from(n));}super.inject();}async handleLoadAll(){if(window.top===window.self)return;const t=document.querySelector("#js_pagination_box");if(!t){console.warn("[ListItemHoverMenuInjector.handleLoadAll] 未找到「#js_pagination_box」元素");return}function n(o){const i=document.querySelector("#js_data_list .list-contents > ul > li");i&&(i.querySelector(".ce-menu")||o(true));}t.addEventListener("click",async o=>{o.preventDefault(),o.stopPropagation();const i=o.target;let s=false;if((i.getAttribute("menu")==="load_all_file"||i.closest('[menu="load_all_file"]'))&&(s=true),!s)return;console.log("[ListItemHoverMenuInjector.handleLoadAll] 点击了「加载全部」按钮"),await Wo(n,500,3e5),document.querySelector("#js_data_list .list-contents > ul")?.removeAttribute("ce-done");const a=document.querySelector("#js_data_list");if(a){const l=".list-contents > ul:not([ce-done]) > li .file-opr";if(!document.querySelector(l)){const u=await ut();await qg(u);}const c=a.querySelectorAll(l);c.length&&await this.perform(Array.from(c));}});}async perform(t){await super.perform(t),document.querySelector("#js_data_list .list-contents > ul")?.setAttribute("ce-done","");}}var Ou=(e=>(e.background="background",e.active="active",e.undefined="undefined",e))(Ou||{});const Mk={background:"后台打开",active:"激活页面",undefined:"根据菜单定义"};function Ok(e){return {enabled:true,moveToSelfNameDir:true,flattenSubfolders:true,openInNewTab:true,openParent:true,copyNames:true,namePathConfig:nr(),play:true,search:false,searchOpenType:"background",...e}}class ll extends yn{menuType=Pe.selection;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Oa;}}class ro extends yn{menuType=Pe.selectionSub}class Bk extends mb{}class Rk extends tr{menuType=Pe.selection;useObserver=true;observeTarget="#js_top_panel_box #js_operate_box";disposeObserverAfterInjection=false}function Wg(e){return {enabled:false,search:true,copyNames:true,namePathConfig:nr({copyWinPath:false,copyUnixPath:false,copyParentUnixPath:false,copyParentWinPath:false,viewInCloudDrive:false}),...e}}class Kg extends yn{menuType=Pe.shareListItemHover;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Oa;}}class dd extends yn{menuType=Pe.shareListItemHoverSub}class Fk extends tr{menuType=Pe.shareListItemHover;useObserver=true;observeTarget="#js-list";disposeObserverAfterInjection=false;async inject(){const t=document.querySelector("#js-list");if(t){const n=t.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr");n.length&&await this.perform(Array.from(n));}super.inject();}}var Pe=(e=>(e.listItemHover="listItemHover",e.listItemHoverSub="listItemHoverSub",e.listItemContext="listItemContext",e.listItemContextSub="listItemContextSub",e.selection="selection",e.selectionSub="selectionSub",e.dirContext="dirContext",e.dirContextSub="dirContextSub",e.shareListItemHover="shareListItemHover",e.shareListItemHoverSub="shareListItemHoverSub",e))(Pe||{}),wi=(e=>(e.listItemHover="列表项悬浮菜单",e.listItemHoverSub="列表项悬浮子菜单",e.listItemContext="列表项右键菜单",e.listItemContextSub="列表项右键子菜单",e.selection="选中项菜单",e.selectionSub="选中项子菜单",e.dirContext="当前目录右键菜单",e.dirContextSub="当前目录右键子菜单",e.shareListItemHover="分享列表项悬浮菜单",e.shareListItemHoverSub="分享列表项悬浮子菜单",e))(wi||{}),bo=(e=>(e[e.after=0]="after",e[e.before=1]="before",e))(bo||{}),Jn=(e=>(e.none="none",e.alt="alt",e.ctrl="ctrl",e.shift="shift",e.meta="meta",e))(Jn||{});const Gg=gt.menu;function Nk(e){return {enabled:true,hideSelectionMenuLabel:false,enableInSearch:true,manageOfficialMenus:false,keyToTriggerManual:"none",auxClickTriggerManual:false,injectManualFuncPosition:_m.first,m3u8TempDir:".ce-m3u8-temp",defaultPlayer:yx,defaultSearch:dr,cloudDriveFormalization:false,listItemHover:Tk(e?.listItemHover),listItemContext:vb(e?.listItemContext),selection:Ok(e?.selection),dirContext:yb(e?.dirContext),shareListItemHover:Wg(e?.shareListItemHover),...e}}async function ut(){const e=Nk(),t=await Xe.get(Gg,e);return Ic(e,t)}async function ya(e){await Xe.set(Gg,e);}const Uk=["top","right","bottom","left"],Rf=["start","end"],Ff=Uk.reduce((e,t)=>e.concat(t,t+"-"+Rf[0],t+"-"+Rf[1]),[]),qs=Math.min,ti=Math.max,jk={left:"right",right:"left",bottom:"top",top:"bottom"},zk={start:"end",end:"start"};function Bu(e,t,n){return ti(e,qs(t,n))}function Ei(e,t){return typeof e=="function"?e(t):e}function ao(e){return e.split("-")[0]}function Fn(e){return e.split("-")[1]}function Jg(e){return e==="x"?"y":"x"}function fd(e){return e==="y"?"height":"width"}const Hk=new Set(["top","bottom"]);function wo(e){return Hk.has(ao(e))?"y":"x"}function pd(e){return Jg(wo(e))}function Yg(e,t,n){n===void 0&&(n=false);const o=Fn(e),i=pd(e),s=fd(i);let r=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=va(r)),[r,va(r)]}function Vk(e){const t=va(e);return [ba(e),t,ba(t)]}function ba(e){return e.replace(/start|end/g,t=>zk[t])}const Nf=["left","right"],Uf=["right","left"],qk=["top","bottom"],Wk=["bottom","top"];function Kk(e,t,n){switch(e){case "top":case "bottom":return n?t?Uf:Nf:t?Nf:Uf;case "left":case "right":return t?qk:Wk;default:return []}}function Gk(e,t,n,o){const i=Fn(e);let s=Kk(ao(e),n==="start",o);return i&&(s=s.map(r=>r+"-"+i),t&&(s=s.concat(s.map(ba)))),s}function va(e){return e.replace(/left|right|bottom|top/g,t=>jk[t])}function Jk(e){return {top:0,right:0,bottom:0,left:0,...e}}function Qg(e){return typeof e!="number"?Jk(e):{top:e,right:e,bottom:e,left:e}}function Ts(e){const{x:t,y:n,width:o,height:i}=e;return {width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function jf(e,t,n){let{reference:o,floating:i}=e;const s=wo(t),r=pd(t),a=fd(r),l=ao(t),c=s==="y",u=o.x+o.width/2-i.width/2,f=o.y+o.height/2-i.height/2,p=o[a]/2-i[a]/2;let g;switch(l){case "top":g={x:u,y:o.y-i.height};break;case "bottom":g={x:u,y:o.y+o.height};break;case "right":g={x:o.x+o.width,y:f};break;case "left":g={x:o.x-i.width,y:f};break;default:g={x:o.x,y:o.y};}switch(Fn(t)){case "start":g[r]-=p*(n&&c?-1:1);break;case "end":g[r]+=p*(n&&c?-1:1);break}return g}const Yk=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:s=[],platform:r}=n,a=s.filter(Boolean),l=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:f}=jf(c,o,l),p=o,g={},m=0;for(let y=0;y<a.length;y++){const{name:x,fn:k}=a[y],{x:I,y:E,data:D,reset:O}=await k({x:u,y:f,initialPlacement:o,placement:p,strategy:i,middlewareData:g,rects:c,platform:r,elements:{reference:e,floating:t}});u=I??u,f=E??f,g={...g,[x]:{...g[x],...D}},O&&m<=50&&(m++,typeof O=="object"&&(O.placement&&(p=O.placement),O.rects&&(c=O.rects===true?await r.getElementRects({reference:e,floating:t,strategy:i}):O.rects),{x:u,y:f}=jf(c,p,l)),y=-1);}return {x:u,y:f,placement:p,strategy:i,middlewareData:g}};async function ul(e,t){var n;t===void 0&&(t={});const{x:o,y:i,platform:s,rects:r,elements:a,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:p=false,padding:g=0}=Ei(t,e),m=Qg(g),x=a[p?f==="floating"?"reference":"floating":f],k=Ts(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(x)))==null||n?x:x.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),I=f==="floating"?{x:o,y:i,width:r.floating.width,height:r.floating.height}:r.reference,E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),D=await(s.isElement==null?void 0:s.isElement(E))?await(s.getScale==null?void 0:s.getScale(E))||{x:1,y:1}:{x:1,y:1},O=Ts(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:I,offsetParent:E,strategy:l}):I);return {top:(k.top-O.top+m.top)/D.y,bottom:(O.bottom-k.bottom+m.bottom)/D.y,left:(k.left-O.left+m.left)/D.x,right:(O.right-k.right+m.right)/D.x}}const Qk=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:s,platform:r,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=Ei(e,t)||{};if(c==null)return {};const f=Qg(u),p={x:n,y:o},g=pd(i),m=fd(g),y=await r.getDimensions(c),x=g==="y",k=x?"top":"left",I=x?"bottom":"right",E=x?"clientHeight":"clientWidth",D=s.reference[m]+s.reference[g]-p[g]-s.floating[m],O=p[g]-s.reference[g],H=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c));let j=H?H[E]:0;(!j||!await(r.isElement==null?void 0:r.isElement(H)))&&(j=a.floating[E]||s.floating[m]);const ae=D/2-O/2,fe=j/2-y[m]/2-1,se=qs(f[k],fe),B=qs(f[I],fe),R=se,G=j-y[m]-B,ce=j/2-y[m]/2+ae,ye=Bu(R,ce,G),Ce=!l.arrow&&Fn(i)!=null&&ce!==ye&&s.reference[m]/2-(ce<R?se:B)-y[m]/2<0,_e=Ce?ce<R?ce-R:ce-G:0;return {[g]:p[g]+_e,data:{[g]:ye,centerOffset:ce-ye-_e,...Ce&&{alignmentOffset:_e}},reset:Ce}}});function Xk(e,t,n){return (e?[...n.filter(i=>Fn(i)===e),...n.filter(i=>Fn(i)!==e)]:n.filter(i=>ao(i)===i)).filter(i=>e?Fn(i)===e||(t?ba(i)!==i:false):true)}const Zk=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,o,i;const{rects:s,middlewareData:r,placement:a,platform:l,elements:c}=t,{crossAxis:u=false,alignment:f,allowedPlacements:p=Ff,autoAlignment:g=true,...m}=Ei(e,t),y=f!==void 0||p===Ff?Xk(f||null,g,p):p,x=await ul(t,m),k=((n=r.autoPlacement)==null?void 0:n.index)||0,I=y[k];if(I==null)return {};const E=Yg(I,s,await(l.isRTL==null?void 0:l.isRTL(c.floating)));if(a!==I)return {reset:{placement:y[0]}};const D=[x[ao(I)],x[E[0]],x[E[1]]],O=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:I,overflows:D}],H=y[k+1];if(H)return {data:{index:k+1,overflows:O},reset:{placement:H}};const j=O.map(se=>{const B=Fn(se.placement);return [se.placement,B&&u?se.overflows.slice(0,2).reduce((R,G)=>R+G,0):se.overflows[0],se.overflows]}).sort((se,B)=>se[1]-B[1]),fe=((i=j.filter(se=>se[2].slice(0,Fn(se[0])?2:3).every(B=>B<=0))[0])==null?void 0:i[0])||j[0][0];return fe!==a?{data:{index:k+1,overflows:O},reset:{placement:fe}}:{}}}},e2=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:i,middlewareData:s,rects:r,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=true,crossAxis:f=true,fallbackPlacements:p,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:y=true,...x}=Ei(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return {};const k=ao(i),I=wo(a),E=ao(a)===a,D=await(l.isRTL==null?void 0:l.isRTL(c.floating)),O=p||(E||!y?[va(a)]:Vk(a)),H=m!=="none";!p&&H&&O.push(...Gk(a,y,m,D));const j=[a,...O],ae=await ul(t,x),fe=[];let se=((o=s.flip)==null?void 0:o.overflows)||[];if(u&&fe.push(ae[k]),f){const ce=Yg(i,r,D);fe.push(ae[ce[0]],ae[ce[1]]);}if(se=[...se,{placement:i,overflows:fe}],!fe.every(ce=>ce<=0)){var B,R;const ce=(((B=s.flip)==null?void 0:B.index)||0)+1,ye=j[ce];if(ye&&(!(f==="alignment"?I!==wo(ye):false)||se.every(ke=>wo(ke.placement)===I?ke.overflows[0]>0:true)))return {data:{index:ce,overflows:se},reset:{placement:ye}};let Ce=(R=se.filter(_e=>_e.overflows[0]<=0).sort((_e,ke)=>_e.overflows[1]-ke.overflows[1])[0])==null?void 0:R.placement;if(!Ce)switch(g){case "bestFit":{var G;const _e=(G=se.filter(ke=>{if(H){const Fe=wo(ke.placement);return Fe===I||Fe==="y"}return  true}).map(ke=>[ke.placement,ke.overflows.filter(Fe=>Fe>0).reduce((Fe,dt)=>Fe+dt,0)]).sort((ke,Fe)=>ke[1]-Fe[1])[0])==null?void 0:G[0];_e&&(Ce=_e);break}case "initialPlacement":Ce=a;break}if(i!==Ce)return {reset:{placement:Ce}}}return {}}}},t2=new Set(["left","top"]);async function n2(e,t){const{placement:n,platform:o,elements:i}=e,s=await(o.isRTL==null?void 0:o.isRTL(i.floating)),r=ao(n),a=Fn(n),l=wo(n)==="y",c=t2.has(r)?-1:1,u=s&&l?-1:1,f=Ei(t,e);let{mainAxis:p,crossAxis:g,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof m=="number"&&(g=a==="end"?m*-1:m),l?{x:g*u,y:p*c}:{x:p*c,y:g*u}}const o2=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:i,y:s,placement:r,middlewareData:a}=t,l=await n2(t,e);return r===((n=a.offset)==null?void 0:n.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:i+l.x,y:s+l.y,data:{...l,placement:r}}}}},i2=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:s=true,crossAxis:r=false,limiter:a={fn:x=>{let{x:k,y:I}=x;return {x:k,y:I}}},...l}=Ei(e,t),c={x:n,y:o},u=await ul(t,l),f=wo(ao(i)),p=Jg(f);let g=c[p],m=c[f];if(s){const x=p==="y"?"top":"left",k=p==="y"?"bottom":"right",I=g+u[x],E=g-u[k];g=Bu(I,g,E);}if(r){const x=f==="y"?"top":"left",k=f==="y"?"bottom":"right",I=m+u[x],E=m-u[k];m=Bu(I,m,E);}const y=a.fn({...t,[p]:g,[f]:m});return {...y,data:{x:y.x-n,y:y.y-o,enabled:{[p]:s,[f]:r}}}}}},s2=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:i,rects:s,platform:r,elements:a}=t,{apply:l=()=>{},...c}=Ei(e,t),u=await ul(t,c),f=ao(i),p=Fn(i),g=wo(i)==="y",{width:m,height:y}=s.floating;let x,k;f==="top"||f==="bottom"?(x=f,k=p===(await(r.isRTL==null?void 0:r.isRTL(a.floating))?"start":"end")?"left":"right"):(k=f,x=p==="end"?"top":"bottom");const I=y-u.top-u.bottom,E=m-u.left-u.right,D=qs(y-u[x],I),O=qs(m-u[k],E),H=!t.middlewareData.shift;let j=D,ae=O;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(ae=E),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(j=I),H&&!p){const se=ti(u.left,0),B=ti(u.right,0),R=ti(u.top,0),G=ti(u.bottom,0);g?ae=m-2*(se!==0||B!==0?se+B:ti(u.left,u.right)):j=y-2*(R!==0||G!==0?R+G:ti(u.top,u.bottom));}await l({...t,availableWidth:ae,availableHeight:j});const fe=await r.getDimensions(a.floating);return m!==fe.width||y!==fe.height?{reset:{rects:true}}:{}}}};function $n(e){var t;return ((t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Zn(e){return $n(e).getComputedStyle(e)}const zf=Math.min,Ls=Math.max,xa=Math.round;function Xg(e){const t=Zn(e);let n=parseFloat(t.width),o=parseFloat(t.height);const i=e.offsetWidth,s=e.offsetHeight,r=xa(n)!==i||xa(o)!==s;return r&&(n=i,o=s),{width:n,height:o,fallback:r}}function qo(e){return ew(e)?(e.nodeName||"").toLowerCase():""}let Mr;function Zg(){if(Mr)return Mr;const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?(Mr=e.brands.map((t=>t.brand+"/"+t.version)).join(" "),Mr):navigator.userAgent}function eo(e){return e instanceof $n(e).HTMLElement}function No(e){return e instanceof $n(e).Element}function ew(e){return e instanceof $n(e).Node}function Hf(e){return typeof ShadowRoot>"u"?false:e instanceof $n(e).ShadowRoot||e instanceof ShadowRoot}function cl(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=Zn(e);return /auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(i)}function r2(e){return ["table","td","th"].includes(qo(e))}function Ru(e){const t=/firefox/i.test(Zg()),n=Zn(e),o=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!=="none"||n.perspective!=="none"||!!o&&o!=="none"||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"||["transform","perspective"].some((i=>n.willChange.includes(i)))||["paint","layout","strict","content"].some((i=>{const s=n.contain;return s!=null&&s.includes(i)}))}function tw(){return !/^((?!chrome|android).)*safari/i.test(Zg())}function hd(e){return ["html","body","#document"].includes(qo(e))}function nw(e){return No(e)?e:e.contextElement}const ow={x:1,y:1};function qi(e){const t=nw(e);if(!eo(t))return ow;const n=t.getBoundingClientRect(),{width:o,height:i,fallback:s}=Xg(t);let r=(s?xa(n.width):n.width)/o,a=(s?xa(n.height):n.height)/i;return r&&Number.isFinite(r)||(r=1),a&&Number.isFinite(a)||(a=1),{x:r,y:a}}function Ws(e,t,n,o){var i,s;t===void 0&&(t=false),n===void 0&&(n=false);const r=e.getBoundingClientRect(),a=nw(e);let l=ow;t&&(o?No(o)&&(l=qi(o)):l=qi(e));const c=a?$n(a):window,u=!tw()&&n;let f=(r.left+(u&&((i=c.visualViewport)==null?void 0:i.offsetLeft)||0))/l.x,p=(r.top+(u&&((s=c.visualViewport)==null?void 0:s.offsetTop)||0))/l.y,g=r.width/l.x,m=r.height/l.y;if(a){const y=$n(a),x=o&&No(o)?$n(o):o;let k=y.frameElement;for(;k&&o&&x!==y;){const I=qi(k),E=k.getBoundingClientRect(),D=getComputedStyle(k);E.x+=(k.clientLeft+parseFloat(D.paddingLeft))*I.x,E.y+=(k.clientTop+parseFloat(D.paddingTop))*I.y,f*=I.x,p*=I.y,g*=I.x,m*=I.y,f+=E.x,p+=E.y,k=$n(k).frameElement;}}return {width:g,height:m,top:p,right:f+g,bottom:p+m,left:f,x:f,y:p}}function Uo(e){return ((ew(e)?e.ownerDocument:e.document)||window.document).documentElement}function dl(e){return No(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function iw(e){return Ws(Uo(e)).left+dl(e).scrollLeft}function Ks(e){if(qo(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Hf(e)&&e.host||Uo(e);return Hf(t)?t.host:t}function sw(e){const t=Ks(e);return hd(t)?t.ownerDocument.body:eo(t)&&cl(t)?t:sw(t)}function _a(e,t){var n;t===void 0&&(t=[]);const o=sw(e),i=o===((n=e.ownerDocument)==null?void 0:n.body),s=$n(o);return i?t.concat(s,s.visualViewport||[],cl(o)?o:[]):t.concat(o,_a(o))}function Vf(e,t,n){return t==="viewport"?Ts((function(o,i){const s=$n(o),r=Uo(o),a=s.visualViewport;let l=r.clientWidth,c=r.clientHeight,u=0,f=0;if(a){l=a.width,c=a.height;const p=tw();(p||!p&&i==="fixed")&&(u=a.offsetLeft,f=a.offsetTop);}return {width:l,height:c,x:u,y:f}})(e,n)):No(t)?Ts((function(o,i){const s=Ws(o,true,i==="fixed"),r=s.top+o.clientTop,a=s.left+o.clientLeft,l=eo(o)?qi(o):{x:1,y:1};return {width:o.clientWidth*l.x,height:o.clientHeight*l.y,x:a*l.x,y:r*l.y}})(t,n)):Ts((function(o){const i=Uo(o),s=dl(o),r=o.ownerDocument.body,a=Ls(i.scrollWidth,i.clientWidth,r.scrollWidth,r.clientWidth),l=Ls(i.scrollHeight,i.clientHeight,r.scrollHeight,r.clientHeight);let c=-s.scrollLeft+iw(o);const u=-s.scrollTop;return Zn(r).direction==="rtl"&&(c+=Ls(i.clientWidth,r.clientWidth)-a),{width:a,height:l,x:c,y:u}})(Uo(e)))}function qf(e){return eo(e)&&Zn(e).position!=="fixed"?e.offsetParent:null}function Wf(e){const t=$n(e);let n=qf(e);for(;n&&r2(n)&&Zn(n).position==="static";)n=qf(n);return n&&(qo(n)==="html"||qo(n)==="body"&&Zn(n).position==="static"&&!Ru(n))?t:n||(function(o){let i=Ks(o);for(;eo(i)&&!hd(i);){if(Ru(i))return i;i=Ks(i);}return null})(e)||t}function a2(e,t,n){const o=eo(t),i=Uo(t),s=Ws(e,true,n==="fixed",t);let r={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(o||!o&&n!=="fixed")if((qo(t)!=="body"||cl(i))&&(r=dl(t)),eo(t)){const l=Ws(t,true);a.x=l.x+t.clientLeft,a.y=l.y+t.clientTop;}else i&&(a.x=iw(i));return {x:s.left+r.scrollLeft-a.x,y:s.top+r.scrollTop-a.y,width:s.width,height:s.height}}const l2={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const s=n==="clippingAncestors"?(function(c,u){const f=u.get(c);if(f)return f;let p=_a(c).filter((x=>No(x)&&qo(x)!=="body")),g=null;const m=Zn(c).position==="fixed";let y=m?Ks(c):c;for(;No(y)&&!hd(y);){const x=Zn(y),k=Ru(y);(m?k||g:k||x.position!=="static"||!g||!["absolute","fixed"].includes(g.position))?g=x:p=p.filter((I=>I!==y)),y=Ks(y);}return u.set(c,p),p})(t,this._c):[].concat(n),r=[...s,o],a=r[0],l=r.reduce(((c,u)=>{const f=Vf(t,u,i);return c.top=Ls(f.top,c.top),c.right=zf(f.right,c.right),c.bottom=zf(f.bottom,c.bottom),c.left=Ls(f.left,c.left),c}),Vf(t,a,i));return {width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:o}=e;const i=eo(n),s=Uo(n);if(n===s)return t;let r={scrollLeft:0,scrollTop:0},a={x:1,y:1};const l={x:0,y:0};if((i||!i&&o!=="fixed")&&((qo(n)!=="body"||cl(s))&&(r=dl(n)),eo(n))){const c=Ws(n);a=qi(n),l.x=c.x+n.clientLeft,l.y=c.y+n.clientTop;}return {width:t.width*a.x,height:t.height*a.y,x:t.x*a.x-r.scrollLeft*a.x+l.x,y:t.y*a.y-r.scrollTop*a.y+l.y}},isElement:No,getDimensions:function(e){return eo(e)?Xg(e):e.getBoundingClientRect()},getOffsetParent:Wf,getDocumentElement:Uo,getScale:qi,async getElementRects(e){let{reference:t,floating:n,strategy:o}=e;const i=this.getOffsetParent||Wf,s=this.getDimensions;return {reference:a2(t,await i(n),o),floating:{x:0,y:0,...await s(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>Zn(e).direction==="rtl"},u2=(e,t,n)=>{const o=new Map,i={platform:l2,...n},s={...i.platform,_c:o};return Yk(e,t,{...i,platform:s})},li={disabled:false,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:false,disposeTimeout:150,popperTriggers:[],strategy:"absolute",preventOverflow:true,flip:true,shift:true,overflowPadding:0,arrowPadding:0,arrowOverflow:true,autoHideOnMousedown:false,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:e=>[...e,"click"],delay:{show:200,hide:0},handleResize:false,html:false,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:true,autoHide:true},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover"],delay:{show:0,hide:400}}}};function Gs(e,t){let n=li.themes[e]||{},o;do o=n[t],typeof o>"u"?n.$extend?n=li.themes[n.$extend]||{}:(n=null,o=li[t]):n=null;while(n);return o}function c2(e){const t=[e];let n=li.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=li.themes[n.$extend]||{}):n=null;while(n);return t.map(o=>`v-popper--theme-${o}`)}function Kf(e){const t=[e];let n=li.themes[e]||{};do n.$extend?(t.push(n.$extend),n=li.themes[n.$extend]||{}):n=null;while(n);return t}let Js=false;if(typeof window<"u"){Js=false;try{const e=Object.defineProperty({},"passive",{get(){Js=!0;}});window.addEventListener("test",null,e);}catch{}}let rw=false;typeof window<"u"&&typeof navigator<"u"&&(rw=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const aw=["auto","top","bottom","left","right"].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),Gf={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart",pointer:"pointerdown"},Jf={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend",pointer:"pointerup"};function Yf(e,t){const n=e.indexOf(t);n!==-1&&e.splice(n,1);}function Jl(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e);}))}const Tn=[];let Zo=null;const Qf={};function Xf(e){let t=Qf[e];return t||(t=Qf[e]=[]),t}let Fu=function(){};typeof window<"u"&&(Fu=window.Element);function Ve(e){return function(t){return Gs(t.theme,e)}}const Yl="__floating-vue__popper",lw=()=>xe({name:"VPopper",provide(){return {[Yl]:{parentPopper:this}}},inject:{[Yl]:{default:null}},props:{theme:{type:String,required:true},targetNodes:{type:Function,required:true},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:true},shown:{type:Boolean,default:false},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Ve("disabled")},positioningDisabled:{type:Boolean,default:Ve("positioningDisabled")},placement:{type:String,default:Ve("placement"),validator:e=>aw.includes(e)},delay:{type:[String,Number,Object],default:Ve("delay")},distance:{type:[Number,String],default:Ve("distance")},skidding:{type:[Number,String],default:Ve("skidding")},triggers:{type:Array,default:Ve("triggers")},showTriggers:{type:[Array,Function],default:Ve("showTriggers")},hideTriggers:{type:[Array,Function],default:Ve("hideTriggers")},popperTriggers:{type:Array,default:Ve("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:Ve("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:Ve("popperHideTriggers")},container:{type:[String,Object,Fu,Boolean],default:Ve("container")},boundary:{type:[String,Fu],default:Ve("boundary")},strategy:{type:String,validator:e=>["absolute","fixed"].includes(e),default:Ve("strategy")},autoHide:{type:[Boolean,Function],default:Ve("autoHide")},handleResize:{type:Boolean,default:Ve("handleResize")},instantMove:{type:Boolean,default:Ve("instantMove")},eagerMount:{type:Boolean,default:Ve("eagerMount")},popperClass:{type:[String,Array,Object],default:Ve("popperClass")},computeTransformOrigin:{type:Boolean,default:Ve("computeTransformOrigin")},autoMinSize:{type:Boolean,default:Ve("autoMinSize")},autoSize:{type:[Boolean,String],default:Ve("autoSize")},autoMaxSize:{type:Boolean,default:Ve("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:Ve("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:Ve("preventOverflow")},overflowPadding:{type:[Number,String],default:Ve("overflowPadding")},arrowPadding:{type:[Number,String],default:Ve("arrowPadding")},arrowOverflow:{type:Boolean,default:Ve("arrowOverflow")},flip:{type:Boolean,default:Ve("flip")},shift:{type:Boolean,default:Ve("shift")},shiftCrossAxis:{type:Boolean,default:Ve("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:Ve("noAutoFocus")},disposeTimeout:{type:Number,default:Ve("disposeTimeout")}},emits:{show:()=>true,hide:()=>true,"update:shown":e=>true,"apply-show":()=>true,"apply-hide":()=>true,"close-group":()=>true,"close-directive":()=>true,"auto-hide":()=>true,resize:()=>true},data(){return {isShown:false,isMounted:false,skipTransition:false,classes:{showFrom:false,showTo:false,hideFrom:false,hideTo:true},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join("_")}`,shownChildren:new Set,lastAutoHide:true,pendingHide:false,containsGlobalTarget:false,isDisposed:true,mouseDownContains:false}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return {popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){var e;return (e=this[Yl])==null?void 0:e.parentPopper},hasPopperShowTriggerHover(){var e,t;return ((e=this.popperTriggers)==null?void 0:e.includes("hover"))||((t=this.popperShowTriggers)==null?void 0:t.includes("hover"))}},watch:{shown:"$_autoShowHide",disabled(e){e?this.dispose():this.init();},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition());},triggers:{handler:"$_refreshListeners",deep:true},positioningDisabled:"$_refreshListeners",...["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((e,t)=>(e[t]="$_computePosition",e),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.");},mounted(){this.init(),this.$_detachPopperNode();},activated(){this.$_autoShowHide();},deactivated(){this.hide();},beforeUnmount(){this.dispose();},methods:{show({event:e=null,skipDelay:t=false,force:n=false}={}){var o,i;(o=this.parentPopper)!=null&&o.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=false,(n||!this.disabled)&&(((i=this.parentPopper)==null?void 0:i.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit("show"),this.$_showFrameLocked=true,requestAnimationFrame(()=>{this.$_showFrameLocked=false;})),this.$emit("update:shown",true));},hide({event:e=null,skipDelay:t=false}={}){var n;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=true;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null);},1e3));return}((n=this.parentPopper)==null?void 0:n.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.pendingHide=false,this.$_scheduleHide(e,t),this.$emit("hide"),this.$emit("update:shown",false);}},init(){var e;this.isDisposed&&(this.isDisposed=false,this.isMounted=false,this.$_events=[],this.$_preventShow=false,this.$_referenceNode=((e=this.referenceNode)==null?void 0:e.call(this))??this.$el,this.$_targetNodes=this.targetNodes().filter(t=>t.nodeType===t.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show());},dispose(){this.isDisposed||(this.isDisposed=true,this.$_removeEventListeners(),this.hide({skipDelay:true}),this.$_detachPopperNode(),this.isMounted=false,this.isShown=false,this.$_updateParentShownChildren(false),this.$_swapTargetAttrs("data-original-title","title"));},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"));},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(o2({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");if(t?e.middleware.push(Zk({alignment:this.placement.split("-")[1]??""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(i2({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(e2({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(Qk({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:o,rects:i,middlewareData:s})=>{let r;const{centerOffset:a}=s.arrow;return o.startsWith("top")||o.startsWith("bottom")?r=Math.abs(a)>i.reference.width/2:r=Math.abs(a)>i.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){const o=this.autoSize?this.autoSize:this.autoMinSize?"min":null;e.middleware.push({name:"autoSize",fn:({rects:i,placement:s,middlewareData:r})=>{var a;if((a=r.autoSize)!=null&&a.skip)return {};let l,c;return s.startsWith("top")||s.startsWith("bottom")?l=i.reference.width:c=i.reference.height,this.$_innerNode.style[o==="min"?"minWidth":o==="max"?"maxWidth":"width"]=l!=null?`${l}px`:null,this.$_innerNode.style[o==="min"?"minHeight":o==="max"?"maxHeight":"height"]=c!=null?`${c}px`:null,{data:{skip:true},reset:{rects:true}}}});}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(s2({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:o,availableHeight:i})=>{this.$_innerNode.style.maxWidth=o!=null?`${o}px`:null,this.$_innerNode.style.maxHeight=i!=null?`${i}px`:null;}})));const n=await u2(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}});},$_scheduleShow(e,t=false){if(this.$_updateParentShownChildren(true),this.$_hideInProgress=false,clearTimeout(this.$_scheduleTimer),Zo&&this.instantMove&&Zo.instantMove&&Zo!==this.parentPopper){Zo.$_applyHide(true),this.$_applyShow(true);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"));},$_scheduleHide(e,t=false){if(this.shownChildren.size>0){this.pendingHide=true;return}this.$_updateParentShownChildren(false),this.$_hideInProgress=true,clearTimeout(this.$_scheduleTimer),this.isShown&&(Zo=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"));},$_computeDelay(e){const t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=false){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Jl(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([..._a(this.$_referenceNode),..._a(this.$_popperNode)],"scroll",()=>{this.$_computePosition();}));},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),o=n.parentNode.getBoundingClientRect(),i=t.x+t.width/2-(o.left+n.offsetLeft),s=t.y+t.height/2-(o.top+n.offsetTop);this.result.transformOrigin=`${i}px ${s}px`;}this.isShown=true,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const e=this.showGroup;if(e){let t;for(let n=0;n<Tn.length;n++)t=Tn[n],t.showGroup!==e&&(t.hide(),t.$emit("close-group"));}Tn.push(this),document.body.classList.add("v-popper--some-open");for(const t of Kf(this.theme))Xf(t).push(this),document.body.classList.add(`v-popper--some-open--${t}`);this.$emit("apply-show"),this.classes.showFrom=true,this.classes.showTo=false,this.classes.hideFrom=false,this.classes.hideTo=false,await Jl(),this.classes.showFrom=false,this.classes.showTo=true,this.noAutoFocus||this.$_popperNode.focus();},async $_applyHide(e=false){if(this.shownChildren.size>0){this.pendingHide=true,this.$_hideInProgress=false;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,Yf(Tn,this),Tn.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of Kf(this.theme)){const o=Xf(n);Yf(o,this),o.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`);}Zo===this&&(Zo=null),this.isShown=false,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const t=this.disposeTimeout;t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=false);},t)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=false,this.classes.showTo=false,this.classes.hideFrom=true,this.classes.hideTo=false,await Jl(),this.classes.hideFrom=false,this.classes.hideTo=true;},$_autoShowHide(){this.shown?this.show():this.hide();},$_ensureTeleport(){if(this.isDisposed)return;let e=this.container;if(typeof e=="string"?e=window.document.querySelector(e):e===false&&(e=this.$_targetNodes[0].parentNode),!e)throw new Error("No container for popover: "+this.container);e.appendChild(this.$_popperNode),this.isMounted=true;},$_addEventListeners(){const e=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=true,!this.$_preventShow&&this.show({event:n}));};this.$_registerTriggerListeners(this.$_targetNodes,Gf,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Gf,this.popperTriggers,this.popperShowTriggers,e);const t=n=>{n.usedByTooltip||this.hide({event:n});};this.$_registerTriggerListeners(this.$_targetNodes,Jf,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],Jf,this.popperTriggers,this.popperHideTriggers,t);},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(o=>o.addEventListener(t,n,Js?{passive:true}:void 0));},$_registerTriggerListeners(e,t,n,o,i){let s=n;o!=null&&(s=typeof o=="function"?o(s):o),s.forEach(r=>{const a=t[r];a&&this.$_registerEventListeners(e,a,i);});},$_removeEventListeners(e){const t=[];this.$_events.forEach(n=>{const{targetNodes:o,eventType:i,handler:s}=n;!e||e===i?o.forEach(r=>r.removeEventListener(i,s)):t.push(n);}),this.$_events=t;},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners());},$_handleGlobalClose(e,t=false){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),t&&(this.$_preventShow=true,setTimeout(()=>{this.$_preventShow=false;},300)));},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode);},$_swapTargetAttrs(e,t){for(const n of this.$_targetNodes){const o=n.getAttribute(e);o&&(n.removeAttribute(e),n.setAttribute(t,o));}},$_applyAttrsToTarget(e){for(const t of this.$_targetNodes)for(const n in e){const o=e[n];o==null?t.removeAttribute(n):t.setAttribute(n,o);}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.pendingHide&&t.hide()),t=t.parentPopper;},$_isAimingPopper(){const e=this.$_referenceNode.getBoundingClientRect();if(Ms>=e.left&&Ms<=e.right&&Os>=e.top&&Os<=e.bottom){const t=this.$_popperNode.getBoundingClientRect(),n=Ms-Eo,o=Os-Ao,i=t.left+t.width/2-Eo+(t.top+t.height/2)-Ao+t.width+t.height,s=Eo+n*i,r=Ao+o*i;return Or(Eo,Ao,s,r,t.left,t.top,t.left,t.bottom)||Or(Eo,Ao,s,r,t.left,t.top,t.right,t.top)||Or(Eo,Ao,s,r,t.right,t.top,t.right,t.bottom)||Or(Eo,Ao,s,r,t.left,t.bottom,t.right,t.bottom)}return  false}},render(){return this.$slots.default(this.slotData)}});if(typeof document<"u"&&typeof window<"u"){if(rw){const e=Js?{passive:true,capture:true}:true;document.addEventListener("touchstart",t=>Zf(t),e),document.addEventListener("touchend",t=>ep(t,true),e);}else window.addEventListener("mousedown",e=>Zf(e),true),window.addEventListener("click",e=>ep(e,false),true);window.addEventListener("resize",p2);}function Zf(e,t){for(let n=0;n<Tn.length;n++){const o=Tn[n];try{o.mouseDownContains=o.popperNode().contains(e.target);}catch{}}}function ep(e,t){d2(e,t);}function d2(e,t){const n={};for(let o=Tn.length-1;o>=0;o--){const i=Tn[o];try{const s=i.containsGlobalTarget=i.mouseDownContains||i.popperNode().contains(e.target);i.pendingHide=!1,requestAnimationFrame(()=>{if(i.pendingHide=!1,!n[i.randomId]&&tp(i,s,e)){if(i.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&s){let a=i.parentPopper;for(;a;)n[a.randomId]=!0,a=a.parentPopper;return}let r=i.parentPopper;for(;r&&tp(r,r.containsGlobalTarget,e);)r.$_handleGlobalClose(e,t),r=r.parentPopper;}});}catch{}}}function tp(e,t,n){return n.closeAllPopover||n.closePopover&&t||f2(e,n)&&!t}function f2(e,t){if(typeof e.autoHide=="function"){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function p2(){for(let e=0;e<Tn.length;e++)Tn[e].$_computePosition();}let Eo=0,Ao=0,Ms=0,Os=0;typeof window<"u"&&window.addEventListener("mousemove",e=>{Eo=Ms,Ao=Os,Ms=e.clientX,Os=e.clientY;},Js?{passive:true}:void 0);function Or(e,t,n,o,i,s,r,a){const l=((r-i)*(t-s)-(a-s)*(e-i))/((a-s)*(n-e)-(r-i)*(o-t)),c=((n-e)*(t-s)-(o-t)*(e-i))/((a-s)*(n-e)-(r-i)*(o-t));return l>=0&&l<=1&&c>=0&&c<=1}const h2={extends:lw()},fl=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n};function m2(e,t,n,o,i,s){return _(),A("div",{ref:"reference",class:De(["v-popper",{"v-popper--shown":e.slotData.isShown}])},[Ge(e.$slots,"default",Mx(Pg(e.slotData)))],2)}const g2=fl(h2,[["render",m2]]);function w2(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var o=e.indexOf("rv:");return parseInt(e.substring(o+3,e.indexOf(".",o)),10)}var i=e.indexOf("Edge/");return i>0?parseInt(e.substring(i+5,e.indexOf(".",i)),10):-1}let Vr;function Nu(){Nu.init||(Nu.init=true,Vr=w2()!==-1);}var pl={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:false},ignoreWidth:{type:Boolean,default:false},ignoreHeight:{type:Boolean,default:false}},emits:["notify"],mounted(){Nu(),mi(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize();});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",Vr&&this.$el.appendChild(e),e.data="about:blank",Vr||this.$el.appendChild(e);},beforeUnmount(){this.removeResizeHandlers();},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize());},emitSize(){this.$emit("notify",{width:this._w,height:this._h});},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify();},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!Vr&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null);}}};const y2=__();v_("data-v-b329ee4c");const b2={class:"resize-observer",tabindex:"-1"};x_();const v2=y2((e,t,n,o,i,s)=>(_(),nt("div",b2)));pl.render=v2;pl.__scopeId="data-v-b329ee4c";pl.__file="src/components/ResizeObserver.vue";const uw=(e="theme")=>({computed:{themeClass(){return c2(this[e])}}}),x2=xe({name:"VPopperContent",components:{ResizeObserver:pl},mixins:[uw()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(e){return e!=null&&!isNaN(e)?`${e}px`:null}}}),_2=["id","aria-hidden","tabindex","data-popper-placement"],C2={ref:"inner",class:"v-popper__inner"},k2=d("div",{class:"v-popper__arrow-outer"},null,-1),$2=d("div",{class:"v-popper__arrow-inner"},null,-1),S2=[k2,$2];function E2(e,t,n,o,i,s){const r=_o("ResizeObserver");return _(),A("div",{id:e.popperId,ref:"popover",class:De(["v-popper__popper",[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}]]),style:Xn(e.result?{position:e.result.strategy,transform:`translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`}:void 0),"aria-hidden":e.shown?"false":"true",tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0,onKeyup:t[2]||(t[2]=Fg(a=>e.autoHide&&e.$emit("hide"),["esc"]))},[d("div",{class:"v-popper__backdrop",onClick:t[0]||(t[0]=a=>e.autoHide&&e.$emit("hide"))}),d("div",{class:"v-popper__wrapper",style:Xn(e.result?{transformOrigin:e.result.transformOrigin}:void 0)},[d("div",C2,[e.mounted?(_(),A($e,{key:0},[d("div",null,[Ge(e.$slots,"default")]),e.handleResize?(_(),nt(r,{key:0,onNotify:t[1]||(t[1]=a=>e.$emit("resize",a))})):de("",true)],64)):de("",true)],512),d("div",{ref:"arrow",class:"v-popper__arrow-container",style:Xn(e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0)},S2,4)],4)],46,_2)}const cw=fl(x2,[["render",E2]]),dw={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}};let Uu=function(){};typeof window<"u"&&(Uu=window.Element);const A2=xe({name:"VPopperWrapper",components:{Popper:g2,PopperContent:cw},mixins:[dw,uw("finalTheme")],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:false},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,Uu,Boolean],default:void 0},boundary:{type:[String,Uu],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>true,hide:()=>true,"update:shown":e=>true,"apply-show":()=>true,"apply-hide":()=>true,"close-group":()=>true,"close-directive":()=>true,"auto-hide":()=>true,resize:()=>true},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(e=>e!==this.$refs.popperContent.$el)}}});function P2(e,t,n,o,i,s){const r=_o("PopperContent"),a=_o("Popper");return _(),nt(a,ad({ref:"popper"},e.$props,{theme:e.finalTheme,"target-nodes":e.getTargetNodes,"popper-node":()=>e.$refs.popperContent.$el,class:[e.themeClass],onShow:t[0]||(t[0]=()=>e.$emit("show")),onHide:t[1]||(t[1]=()=>e.$emit("hide")),"onUpdate:shown":t[2]||(t[2]=l=>e.$emit("update:shown",l)),onApplyShow:t[3]||(t[3]=()=>e.$emit("apply-show")),onApplyHide:t[4]||(t[4]=()=>e.$emit("apply-hide")),onCloseGroup:t[5]||(t[5]=()=>e.$emit("close-group")),onCloseDirective:t[6]||(t[6]=()=>e.$emit("close-directive")),onAutoHide:t[7]||(t[7]=()=>e.$emit("auto-hide")),onResize:t[8]||(t[8]=()=>e.$emit("resize"))}),{default:me(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,show:g,hide:m,handleResize:y,onResize:x,classes:k,result:I})=>[Ge(e.$slots,"default",{shown:c,show:g,hide:m}),re(r,{ref:"popperContent","popper-id":l,theme:e.finalTheme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":y,classes:k,result:I,onHide:m,onResize:x},{default:me(()=>[Ge(e.$slots,"popper",{shown:c,hide:m})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:3},16,["theme","target-nodes","popper-node","class"])}const md=fl(A2,[["render",P2]]),I2={...md,name:"VDropdown",vPopperTheme:"dropdown"};({...md});({...md});const D2=xe({name:"VTooltipDirective",components:{Popper:lw(),PopperContent:cw},mixins:[dw],inheritAttrs:false,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:e=>Gs(e.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>Gs(e.theme,"loadingContent")},targetNodes:{type:Function,required:true}},data(){return {asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(true);},immediate:true},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize();}},created(){this.$_fetchId=0;},methods:{fetchContent(e){if(typeof this.content=="function"&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=true;const t=++this.$_fetchId,n=this.content(this);n.then?n.then(o=>this.onResult(t,o)):this.onResult(t,n);}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=false,this.asyncContent=t);},onShow(){this.$_isShown=true,this.fetchContent();},onHide(){this.$_isShown=false;}}}),T2=["innerHTML"],L2=["textContent"];function M2(e,t,n,o,i,s){const r=_o("PopperContent"),a=_o("Popper");return _(),nt(a,ad({ref:"popper"},e.$attrs,{theme:e.theme,"target-nodes":e.targetNodes,"popper-node":()=>e.$refs.popperContent.$el,onApplyShow:e.onShow,onApplyHide:e.onHide}),{default:me(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,hide:g,handleResize:m,onResize:y,classes:x,result:k})=>[re(r,{ref:"popperContent",class:De({"v-popper--tooltip-loading":e.loading}),"popper-id":l,theme:e.theme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":m,classes:x,result:k,onHide:g,onResize:y},{default:me(()=>[e.html?(_(),A("div",{key:0,innerHTML:e.finalContent},null,8,T2)):(_(),A("div",{key:1,textContent:U(e.finalContent)},null,8,L2))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","target-nodes","popper-node","onApplyShow","onApplyHide"])}const O2=fl(D2,[["render",M2]]),fw="v-popper--has-tooltip";function B2(e,t){let n=e.placement;if(!n&&t)for(const o of aw)t[o]&&(n=o);return n||(n=Gs(e.theme||"tooltip","placement")),n}function pw(e,t,n){let o;const i=typeof t;return i==="string"?o={content:t}:t&&i==="object"?o=t:o={content:false},o.placement=B2(o,n),o.targetNodes=()=>[e],o.referenceNode=()=>e,o}let Ql,Ys,R2=0;function F2(){if(Ql)return;Ys=K([]),Ql=lo({name:"VTooltipDirectiveApp",setup(){return {directives:Ys}},render(){return this.directives.map(t=>EC(O2,{...t.options,shown:t.shown||t.options.shown,key:t.id}))},devtools:{hide:true}});const e=document.createElement("div");document.body.appendChild(e),Ql.mount(e);}function N2(e,t,n){F2();const o=K(pw(e,t,n)),i=K(false),s={id:R2++,options:o,shown:i};return Ys.value.push(s),e.classList&&e.classList.add(fw),e.$_popper={options:o,item:s,show(){i.value=true;},hide(){i.value=false;}}}function hw(e){if(e.$_popper){const t=Ys.value.indexOf(e.$_popper.item);t!==-1&&Ys.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget;}e.classList&&e.classList.remove(fw);}function np(e,{value:t,modifiers:n}){const o=pw(e,t,n);if(!o.content||Gs(o.theme||"tooltip","disabled"))hw(e);else {let i;e.$_popper?(i=e.$_popper,i.options.value=o):i=N2(e,t,n),typeof t.shown<"u"&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?i.show():i.hide());}}const U2={beforeMount:np,updated:np,beforeUnmount(e){hw(e);}},gd=U2,Ai=I2,j2={key:0,class:"ce-custom-url-help"},z2={class:"ce-custom-url-help-body"},H2={key:0},V2={class:"pure-table pure-table-bordered"},q2=["onClick"],W2=xe({__name:"CustomUrlHelp",setup(e){const t=K(ax),n=K(false);Ht(async()=>{window.addEventListener("message",i=>{const{event:s}=i.data;s==="customUrlHelp"&&(n.value=true);},false);});async function o(i){ft(i.key),Y({text:"已复制到剪贴板",icon:"success",timer:1e3});}return (i,s)=>n.value?(_(),A("div",j2,[d("div",z2,[d("h1",null,[s[1]||(s[1]=L(" 自定义菜单变量说明 ",-1)),d("a",{href:"javascript:void(0)",onClick:s[0]||(s[0]=r=>n.value=false)},"关闭")]),s[3]||(s[3]=d("hr",null,null,-1)),(_(true),A($e,null,je(t.value,(r,a)=>(_(),A("div",{key:a},[d("h2",null,U(r.label),1),r.memo?(_(),A("p",H2,U(r.memo),1)):de("",true),d("table",V2,[s[2]||(s[2]=d("thead",null,[d("tr",null,[d("th",{width:"50%"},"变量"),d("th",{width:"50%"},"说明")])],-1)),d("tbody",null,[(_(true),A($e,null,je(r.items,(l,c)=>(_(),A("tr",{key:c},[d("td",null,[d("span",{class:"ce-variable",onClick:u=>o(l)},U(l.key),9,q2)]),d("td",null,U(l.label),1)]))),128))])])]))),128))])])):de("",true)}}),Ae=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n},K2=Ae(W2,[["__file","CustomUrlHelp.vue"]]),G2='@charset "UTF-8";.ce-menu:not(.sub-item){background:#fffcea}.ce-menu img.ce-menu-icon{float:left;width:12px;height:12px;margin-right:4px}.ce-menu.list-item-hover-menu i.ce-menu-icon.icon-operate{scale:.75;margin-top:-4px}.ce-menu.list-item-hover-menu.ce-menu-parent{position:relative;float:left;cursor:pointer}.ce-menu.list-item-hover-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-trigger{padding:0 12px;color:#2777f8}.ce-menu.list-item-hover-menu.ce-menu-parent.ce-menu-has-icon .ce-menu-trigger{padding:0 12px 0 4px}.ce-menu.list-item-hover-menu.ce-menu-parent.ce-menu-has-icon>.ce-menu-icon{margin-right:0;margin-top:3px;width:16px;height:16px;margin-left:6px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;left:0;padding:4px;border-radius:4px;display:none;text-align:center;width:160px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub{margin:2px 0;background:#eee;color:#2877f8;width:100%;border-radius:4px;padding:6px 12px;line-height:12px;box-sizing:border-box}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:hover{background-color:#f3e882}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:after{display:none}.ce-menu.selection-menu.ce-menu-parent{position:relative;float:left;cursor:pointer;padding:0 8px}.ce-menu.selection-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.selection-menu.ce-menu-parent .ce-menu-trigger{color:#2777f8}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon{padding:0 10px 0 0}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon .ce-menu-trigger{padding:0}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon>.ce-menu-icon{margin-right:4px;margin-top:7px;width:16px;height:16px;margin-left:6px}.ce-menu.selection-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#fff}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:30px;left:0;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding-left:4px;padding-right:4px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub span{font-weight:400;float:inherit}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub .ce-menu-icon:not(.icon-operate){float:unset}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu>a img.ce-menu-icon{float:none;width:18px;height:18px;position:absolute;top:50%;left:14px;margin-top:-10px}.ce-menu.dir-context-menu>img.ce-menu-icon{position:absolute;left:14px;top:8px}.ce-menu.dir-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.dir-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-icon{width:18px;height:18px;margin-right:8px}.ce-menu.list-item-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.list-item-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub:hover{background-color:#f3e882}.ce-menu-divider{height:1px!important;display:block!important;background-color:#edeeef!important}.ce-menu-divider:after{display:none!important}.list-item-hover-menu .ce-menu-divider{height:6px!important;background-color:transparent!important}div#js_operate_box.only-icon li[menu] span{display:none}div#js_operate_box.only-icon [menu=delete] i.icon-operate{filter:hue-rotate(120deg)}.list-contents{padding-bottom:300px}.header-name a.ce-open-dir-context-menu{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#1890ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir{cursor:pointer;color:#4622ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir i{width:16px;height:16px;margin-right:4px;vertical-align:sub}.header-size a.ce-size-sort{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#8c97a0;margin-left:10px}.header-size a.ce-size-sort i{display:none}.header-size a.ce-size-sort.by-desc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-desc i.icon-sort-desc{display:inline-block}.header-size a.ce-size-sort.by-asc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-asc i.icon-sort-asc{display:inline-block}.header-size a.ce-size-sort.ce-size-sort-ing{cursor:no-drop}.ce-label-open-cfg i{opacity:.5}.ce-label-open-cfg:hover i{opacity:1}';At(G2);const J2={label:"当前目录右键菜单",key:"dcontext",hiddenStyles:[{selector:"div.context-menu.menu-upward#js_float_content li[val={key}]",css:"display: none !important;"}],items:[{label:"上传文件",key:"upload"},{label:"新建文件夹",key:"add_dir"}]},Y2={label:"选中项菜单",key:"selection",hiddenStyles:[{selector:"div.list-operate.lo-right li[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"下载",key:"download"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"批量标签",key:"batch_edit_file_label"},{label:"重命名",key:"edit_name"},{label:"编辑",key:"file_edit"},{label:"备注",key:"edit"},{label:"星标",key:"star"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"}]},Q2={label:"列表项右键菜单",key:"context",hiddenStyles:[{selector:"div.context-menu.menu-upward li[val={key}] a",css:"display: none !important;"}],items:[{label:"打开文件",key:"view"},{label:"打开文件夹",key:"open_dir"},{label:"下载文件",key:"download"},{label:"下载文件夹",key:"download_dir"},{label:"打包下载",key:"bale_download"},{label:"刷新",key:"refresh"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"显示时长",key:"show_play_long"},{label:"取消时长",key:"hide_play_long"},{label:"添加到我听",key:"listen"},{label:"美化",key:"magic"},{label:"修改封面",key:"cover"},{label:"删除封面",key:"del_cover"},{label:"一键排重",key:"same"},{label:"移动",key:"move"},{label:"重命名",key:"edit_name"},{label:"备注",key:"edit"},{label:"显示属性",key:"attribute"},{label:"删除",key:"delete"},{label:"播放器播放",key:"player"},{label:"转存到相册",key:"trans_to_album"},{label:"举报",key:"report"}]},X2={label:"列表项悬浮菜单",key:"hover",hiddenStyles:[{selector:"div.file-opr[rel=menu] a[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important;"},{selector:"div.context-menu li[menu={key}] a",css:"display: none !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"星标",key:"star"},{label:"下载文件",key:"download_one"},{label:"下载文件夹",key:"download_dir_one"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"重命名",key:"edit_name"},{label:"编辑",key:"file_edit"},{label:"备注",key:"edit"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"}]},mw=gt.hiddenOfficialMenuKeys;async function gw(){return await Xe.get(mw,[])}async function Z2(e,t=false){await Xe.set(mw,e),t&&(unsafeWindow.postMessage({event:ot.officialMenuStyleChange},"*"),unsafeWindow.frames.wangpan?.postMessage({event:ot.officialMenuStyleChange},"*"));}async function e$(e){const t=[];return e.forEach(n=>{n.items.forEach(o=>{o.hidden&&t.push(`${n.key}_${o.key}`);});}),t}async function ww(){const e=[Y2,Q2,X2,J2],t=await gw();return e.forEach(n=>{n.items.forEach(o=>{const i=`${n.key}_${o.key}`;t.includes(i)?o.hidden=true:o.hidden=false;});}),e}async function t$(){const e=await ww(),t=[];return e.forEach(n=>{n.hiddenStyles.forEach(o=>{const i=[];n.items.forEach(s=>{s.hidden&&i.push(o.selector.replace("{key}",s.key));}),i.length&&t.push(i.join(`,
`)+" { "+o.css+" }");});}),t.join(`
`)}async function op(){const e="cloud115EnhancerOfficialMenuStyle",t=await t$();let n=document.getElementById(e);if(n){n.innerHTML=t;return}n=document.createElement("style"),n.id=e,n.innerHTML=t,document.body.appendChild(n);}const yw=gt.list;var bw=(e=>(e.view="view",e.list="list",e.default="_",e))(bw||{});function n$(e){return {sizeSorter:true,sizeSorterDirAttrInterval:100,showFolderSizeButton:true,hoverShowFolderSize:false,showQuickViewButton:true,hoverShowQuickView:false,showInfoOnQuickView:true,showBatchFolderSizeButton:false,showSha1:false,clickSha1WithCtrlToFindRepeat:false,showOpenDirContextMenu:true,hoverShowDirContextMenu:false,showCreateDirButton:false,hideTopCreateButton:false,showCopyButtonOnPathBar:false,showGotoButtonOnPathBar:false,noUpdateDirAfterRename:false,noReloadAfterMove:false,claimSelectedAfterCreateDir:false,noGotoAfterCreateDir:false,fileSelectorDefaultView:"_",followHistoryState:false,showOnlyFileFilter:false,fileFilterExtensions:"",fixShortcut:false,enhanceLocationLinks:true,enhanceRenameInput:false,dragToQuickEntry:false,quickEntryAvoidCovered:false,hideSelectionMenuOnDrag:false,makeMoreImageViewable:false,...e}}async function cs(){const e=n$(),t=await Xe.get(yw,e);return {...e,...t}}async function o$(e){await Xe.set(yw,e);}var Mn=(e=>(e[e.asc=0]="asc",e[e.desc=1]="desc",e))(Mn||{});const vw=`
== 基础操作 ==

快捷键         功能            说明
----------    ----------     -----------------------------------
C             重命名          选中文件后按C,选中多个文件时,只应用到第一个文件
D             删除            选中文件后按D
X 或 M        移动            选中文件后按X或M
S             分享            选中文件后按S
T             标签            选中文件后按T
B             备注            选中文件后按B
Esc           取消            取消选择或关闭右键菜单
Backspace     返回上级目录     需在未选择文件时按Backspace
Delete        删除            与D键功能相同

== 特殊操作 ==

快捷键           功能            macOS下的对应键位
----------      ----------     ------------------
Alt + P         打开传输         Control + P
Alt + I         打开星标         Control + I
Alt + O         打开云下载       Control + O
Alt + D         快捷星标         Control + D
Ctrl + A        全选            Command + A
Ctrl + C        复制到           Command + C
Alt + 左箭头     浏览器历史后退    Option + 左箭头
Alt + 右箭头     浏览器历史前进    Option + 右箭头

== 删除操作详解 ==

快捷键            功能           macOS下的对应键位
----------       ----------    ------------------
D 或 Delete      普通删除        D 或 Delete
Alt + Backspace  免提示删除      Control + Backspace/Delete

== 鼠标操作 ==
[以下快捷键不需要修复也可以使用,这里仅列出供参考]

Shift + 单击    区域选择
Alt + 单击      显示属性弹窗
`;async function i$(){if(window!==window.top)return;async function e(t){const n=$t();n&&n.Core?.FileConfig?.DataAPI&&t(true);}try{return await Wo(e,250,3e4)}catch(t){throw new Error(`awaitDataAPI failed:${t.toString()}`)}}async function s$(e){if(!e.showOnlyFileFilter&&!e.fileFilterExtensions)return;const t=xn(),n=oo();!t&&!n||(r$(e,t),a$(e,t,n));}async function r$(e,t,n){if(!e.showOnlyFileFilter)return;const o=hn.file,i=Ue(`
    <a href="javascript:;" menu="filter" val="${o}">
      <i class="iofl-max"></i><span>仅文件</span>
    </a>
  `),r=await qe(t?'#js_filter_box a[val="other"]':'#js_search_filter_popup a[val="other"]');r.parentNode?.insertBefore(i,r);}async function a$(e,t,n){const o=e.fileFilterExtensions.split(/\s*[,,]+\s*/).map(f=>f.trim().toLowerCase()).filter(f=>f!=="");if(!o.length)return;const i=await Gn("#js_filter_box, #js_search_filter_popup"),s=$('<div class="ce-filter-ext-wrap"></div>');let r,a;const l=f=>{r=new Promise(p=>{a=p;}).then(()=>{i.find(".selected")?.removeClass("selected"),s.find(`a[val="${f}"]`)?.addClass("selected");const p=Ne("#js_filter_type");p&&(p.textContent=`扩展名: ${f}`);});},c=async f=>{f.stopPropagation(),f.preventDefault();const g=f.currentTarget.getAttribute("val")||"";g&&(l(g),await vm(Rn({show_dir:Bo.false,suffix:g})));},u=f=>{const p=Ue(`
      <a href="javascript:;" val="${f}" title="筛选扩展名: ${f}">${f}</a>
    `);return p.addEventListener("click",c),p};window.addEventListener("message",async f=>{if(f.data.event===ot.listRendered){if(!r||!a)return;await rb(r)?i.find(".selected[menu]").length&&s.find(".selected")?.removeClass("selected"):a();}});for(const f of o){const p=u(f);s.append(p);}t?i.append(s):n&&i.find(".list-filter").append(s);}async function l$(e){if(window!==window.top||!e.fixShortcut)return;const t="js-main_mode";await cc('a[data-nav="file"]');let n=Ne("#"+t);if(n){console.warn(`[fixShortcut] #${t} found, skip`);return}n=Ue(`
    <div id="${t}" style="display:none;"><a data-nav="file" class="hover"></a></div>
  `),document.body.appendChild(n),window.addEventListener("message",async o=>{if(o.data.event===ot.topDomChanged){const s=Ne("div.dialog-box.window-current > div.dialog-header > h3");if(s&&s.textContent?.includes("快捷键说明")){const r=Ne(".shortkey-info-dialog");if(!r){console.warn("[fixShortcut] .shortkey-info-dialog not found");return}if(r.classList.contains("ce-sid"))return;const a=r.innerHTML,l=Ue(`
          <pre>${vw.replace(/==/g,"=".repeat(28))}</pre>
        `),c=Ue(`
          <button class="pure-button button-mini button-warning" style="margin-left: 10px;">
            切换到官方快捷键说明
          </button>
        `);c.addEventListener("click",u=>{u.stopPropagation(),u.preventDefault(),r.classList.toggle("ce-sid-active"),r.classList.contains("ce-sid-active")?(c.textContent="切换到官方快捷键说明",r.replaceChildren(l)):(c.textContent="切换到增强版快捷键说明",r.innerHTML=a);}),s.appendChild(c),r.classList.add("ce-sid","ce-sid-active"),r.replaceChildren(l);}}});}async function u$(e){if(window!==window.top||!e.followHistoryState)return;const t=async n=>{const o=es("cid"),i=await Ut(false);o!==i&&$t().wangpan.Main.Action.Handlers.GotoDir({cid:o});};window.addEventListener("popstate",t);}async function c$(e){Ne("div#js_data_list")?.addEventListener("mousedown",n=>{n.target.classList.contains("ce-inj")&&n.stopPropagation();});}async function d$(e){xn()&&e.dragToQuickEntry&&(ip(),lb("#js_file_category_box",lt(ip,200),{childList:true,subtree:true}),f$(e));}async function ip(){const t=(await qe("#js_file_category_box")).querySelectorAll("#js_file_category_box a[cid]");for(let n=0;n<t.length;n++){const o=t[n];o.setAttribute("rel","item"),o.setAttribute("file_type","0"),o.setAttribute("title","可拖动文件到此目录进行移动操作");}}async function f$(e){const t=$t().wangpan?.Main;if(!t)return;const n="ce-show-quick-entry";if(e.hideSelectionMenuOnDrag||document.body.addEventListener("keydown",i=>{i.ctrlKey&&Ne("#js_operate_box")?.classList.toggle(n);}),e.hideSelectionMenuOnDrag){let i=0;const s=500;document.body.addEventListener("mousemove",r=>{const a=Date.now();if(a-i<s)return;i=a;const l=Ne(".popup-move-hint");l&&l.style.display!=="none"?Ne("#js_operate_box")?.classList.add(n):Ne("#js_operate_box")?.classList.remove(n);});}const o=t.List.WriteSelectText;t.List.WriteSelectText=i=>{o(i),Ne("#js_operate_box")?.classList.remove(n);};}async function p$(e){if(!e.makeMoreImageViewable)return;const t=["webp","tiff"],n=$t();n.UPLOAD_CONFIG&&n.UPLOAD_CONFIG[3].upload_type_limit.push(...t);}async function h$(e){if(!e.showCreateDirButton||!xn())return;if(e.hideTopCreateButton){const o=Ne('[data-dropdown-tab="create_new_add_dir"]');o&&(o.style.display="none");}const t=Ne(".header-name");if(!t||t.querySelector(".ce-btn-create-dir"))return;const n=Ue(`
    <a href="javascript:;" class="ce-btn-create-dir" menu="add_dir">
      <i class="file-type tp-folder"></i><span>新建文件夹</span>
    </a>
  `);t.appendChild(n);}async function m$(e){if(xn()){const t="ce-list-page";document.body.classList.add(t),parent.document.body.classList.add(t);}}function g$(e,t=""){return `${t}code=${e.code} ${e.message}`}async function w$(e){wd(e.fileSelectorDefaultView);}function y$(){return unsafeWindow.localStorage.getItem("FS_view")||"_"}function wd(e){let t=y$();console.log(`[performSetSelectorView] 当前视图: ${t},目标视图: ${e}`);const n=()=>{wd(t),console.warn(`[performSetSelectorView] 回滚到之前的视图: ${t}`);};return unsafeWindow.localStorage.setItem("FS_view",e),n}async function b$(e){if(!e.enhanceRenameInput)return;const t=$("div.dialog-box.window-current");t.addClass("ce-rename-dlg");const n=t.find('input[rel="file_name"]');if(!n.length){console.warn('[enhanceRename] [rel="file_name"] not found');return}let o=t.find('textarea[rel="ce_file_name"]');o.length||(o=$('<textarea rel="ce_file_name" rows="3"></textarea>'),n.after(o));const i=t.find('a[rel="clear_name"]');let s=t.find(".ce-btn-clear");s.length||(s=$('<a href="javascript:;" class="btn-clear ce-btn-clear"><s>清空</s></a>'),i.after(s));const r=n.val();o.val(r),n.hide(),i.hide(),$.data(s,"events")||s.on("click",c=>(c.preventDefault(),c.stopPropagation(),o.val(""),o.trigger("input"),o.focus(),false));const a=c=>{let u=o.val();u=u.trim(),u=u.replace(/[\r\n]+/g," "),n.val(u),n.trigger(c);};$.data(o,"events")||(o.on("input",a),o.on("keydown",c=>{n.trigger(c);}),o.removeClass("ce-inited"));const l=$('[rel="show_old_name"]');(l.length===0||!l.is(":visible"))&&o.select();}async function v$(e){if(window!==window.top)return;const{noUpdateDirAfterRename:t,enhanceRenameInput:n}=e;if(!t&&!n)return;let o=t,i="",s=false;const r=$t(),a=Core.FileReNameDG.Show;r.Core.FileReNameDG.__Show=a;const l=r.Core.Dir.Rename;r.Core.Dir.__Rename=l;const c=r.Core.FileConfig.DataAPI.UpdateDir;r.Core.Dir.__UpdateDir=c,r.Core.FileReNameDG.Show=async(...u)=>{i=u[0],s=true,a(...u);},r.Core.Dir.Rename=async(...u)=>{i=u[1],s=false,l(...u);},r.Core.FileConfig.DataAPI.UpdateDir=async u=>{if(o){const f=rs();let p=`li[file_id="${i}"]`;const g=await Ut(),m=u&&u.cid&&g===u.cid;s||(p=`li[cate_id="${i}"]`);const y=async()=>{console.warn("[list handleNoUpdateDirAfterRename] $file is ce-temp-cur-dir"),Y({icon:"warning",text:"重命名的是当前目录,忽略「重命名后不刷新列表」选项"}),wm().attr("titletext",u.dir_name).find("span").text(u.dir_name);};if(m){await y();return}const x=f.find(p);if(x.length){if(x.hasClass("ce-temp-cur-dir")){await y();return}if(Y({icon:"info",text:"启用了「重命名后不刷新列表」选项,不会刷新文件列表"}),x.find(".file-modified span").text("刚刚"),!s){x.attr("cate_name",u.dir_name),x.attr("title",u.dir_name);const k=x.find(".file-name a.name");k.length?(k.attr("title",u.dir_name).text(u.dir_name),k.text(u.dir_name)):console.warn("[list handleNoUpdateDirAfterRename] $name not found");}}else console.warn("[list handleNoUpdateDirAfterRename] $file not found");}else c(u);},window.addEventListener("message",async u=>{if(u.data.event!==ot.topDomChanged)return;const p=Ne("div.dialog-box.window-current > div.dialog-header > h3"),g=p?.textContent.trim()||"";if(!p||!g.includes("重命名"))return;g==="重命名文件"&&b$(e);const m=Ne("div.dialog-box.window-current .file-rename");if(!m){console.warn("[list handleNoUpdateDirAfterRename] .file-rename not found");return}let y=Ne("#cbNoUpdateDir");if(y)return;const x=Ue(`
      <div style="padding: 0px 20px;">
        <label style="font-size: 18px; color: #1890ff;">
          <input id="cbNoUpdateDir" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 重命名后不刷新列表
        </label>
        <p style="font-size: 12px; color: #ff4949;">在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。</p>
      </div>`);m.insertAdjacentElement("afterend",x),y=Ne("#cbNoUpdateDir"),y&&(y.checked=o,y.addEventListener("change",()=>{o=y.checked;}));});}async function x$(e){if(!e.noReloadAfterMove||window!==window.top)return;let t=true,n=[];const o=$t(),i=o.Core.FileMenu.DoEvent,s=o.Core.FileConfig.DataAPI.Reload;o.Core.FileConfig.DataAPI.Reload=async(...r)=>{const a=r.length>=2&&n&&n.length>0;if(t&&a){Y({icon:"info",text:"启用了「移动后不刷新文件列表」选项,不会刷新文件列表"});for(let l=0;l<n.length;l++)Zp(n[l][0]);await kt(500),o.wangpan.Main.List.RecheckFiles([]),o.wangpan.Main.List.updateDataListDom("");}else s(...r);},o.Core.FileMenu.DoEvent=async(...r)=>{n=r[0],i(...r);},window.addEventListener("message",async r=>{if(r.data.event!==ot.topDomChanged)return;const l="ce-no-update-dir-after-move",c=Ne("div.dialog-box.window-current > div.dialog-header > h3");if(!c||!c.textContent?.includes("打开要移动")){const p=Ne(`.${l}`);p&&(p.style.display="none");return}const u=Ne("div.dialog-box.window-current .select-footer");if(!u){console.warn("[list handleNoUpdateDirAfterMove] .select-footer not found");return}let f=Ne("#cbNoReload");if(f){const p=Ne(`.${l}`);p&&(p.style.display="block");}else {const p=Ue(`<div class="${l}"/>`),g=`
        <div style="padding: 6px 30px 0;">
          <label style="font-size: 18px; color: #1890ff;">
            <input id="cbNoReload" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 移动后不刷新列表
          </label>
          <p style="font-size: 14px; color: #ff4949;">启用该功能并且执行过移动操作后,会影响列表的全选功能,此时如需全选,请先手动刷新列表!</p>
        </div>`;p.innerHTML=g,u.insertAdjacentElement("afterend",p),f=Ne("#cbNoReload"),f&&(f.checked=t,f.addEventListener("change",()=>{t=f.checked;}));}});}async function _$(e){if(window!==window.top)return;let t=e.claimSelectedAfterCreateDir,n=e.noGotoAfterCreateDir;const o=$t(),i=o.Core.Dir.Create;o.Core.Dir.Create=async(a,l,c)=>{const u=await jn(true);u.length,r(u);const f=async p=>{const g=di().toString(),m={file_name:p.file_name,utime:g,size:"",pick_code:"",file_category:cm.folder,paths:[{file_id:l,file_name:""}]},y=await mm(p.cid,m,hm()),x=Oc(true);if(x.length===0){const k=Ci();if(k.is("ul"))k.append(y);else {let I=k.find("ul");I.length||(I=$("<ul></ul>"),k.append(I),k.find(".page-center-empty").remove()),I.append(y);}}else for(let k=0;k<x.length;k++)k?x.eq(k).remove():x.eq(k).replaceWith(y);await kt(500),await s(y,p);};i(a,l,async p=>{if(t&&u.length){const g=u.map(m=>m.id);try{const m=await Dc(p.cid,g);console.log("[list handleCreateDir] moveFiles result:",m),m.state?Y({icon:"success",text:"移动选中的文件到新文件夹成功"}):q.fire({icon:"error",html:`移动选中的文件到新文件夹失败: ${g$(m)}`});}catch(m){console.error("[list handleCreateDir] moveFiles error:",m),q.fire({icon:"error",html:`移动选中文件到新文件夹时出错: ${m.toString()}`});}}c?c(p):n?(await f(p),await kt(500),o.wangpan.Main.List.RecheckFiles([]),o.wangpan.Main.List.updateDataListDom("")):o.wangpan.Main.GotoDir(1,p.cid,0,"");});};const s=async(a,l)=>{$t().wangpan?.postMessage({event:ot.renderMenus,body:{type:Pe.listItemHover}});const u={id:l.cid,name:l.cname,isDir:true};await xw(e,a,u);},r=async a=>{const l=await qe("div.dialog-box.window-current > div.dialog-header > h3");if(!l||!l.textContent?.includes("新建文件夹"))return;const c=Ne("div.dialog-box.window-current .dialog-action");if(!c){console.warn("[list handleCreateDir] .dialog-action not found");return}const u="cbClaim",f="cbBehavior";let p=Ne(`#${u}`),g=Ne(`#${f}`);if(!p||!g){const m=document.createElement("div"),y=`
        <div class="ce-handle-create-dir">
          <div style="${a.length?"":"display: none;"}">
            <label style="color: #1890ff;">
              <input id="${u}" type="checkbox" /> 移动选中文件到新文件夹
            </label>
            <p>创建新文件夹成功后,自动移动当前选中的文件或文件夹到该新文件夹下。</p>
          </div>
          <div>
            <label style="color: #2164d0;">
              <input id="${f}" type="checkbox" /> 不跳转到新文件夹
            </label>
          </div>
        </div>`;m.innerHTML=y,c.insertAdjacentElement("beforebegin",m),p=Ne(`#${u}`),p&&(p.checked=t,p.addEventListener("change",()=>{t=p.checked;})),g=Ne(`#${f}`),g&&(g.checked=n,g.addEventListener("change",()=>{n=g.checked;}));}};}async function C$(e){if(!e.enhanceLocationLinks)return;const n=[{pattern:/ac=sha1_repeat/,list:"#js-list",item:'li[rel="item"]',link:'[menu="toFileLocaltion"]',dirIdSrc:"item",dirIdAttr:"parentid",removeAttrs:["menu"],memo:"SHA1查重结果页"},{pattern:/ac=same_start/,list:"#exsame_list_content",item:'li[rel="repeat_list_item"]',link:'[btn="file_path"]',dirIdSrc:"item",dirIdAttr:"parent_id",removeAttrs:["btn"],memo:"一键去重详情页",defaultAction:1},{pattern:/ac=search/,list:"#js_data_list",item:'li[rel="item"]',link:'[menu="open"]',dirIdSrc:"link",dirIdAttr:"cid",removeAttrs:["menu"],memo:"搜索结果页"},{pattern:/ct=rb/,list:"#js_data_list",item:'li[rel="item"]',link:'[menu="toFileLocaltion"]',dirIdSrc:"item",dirIdAttr:"file_id",removeAttrs:["menu"],memo:"回收站"},{pattern:/ac=offline_new_tpl&offline=0/,list:"ul#js-warp",item:"li",link:'[task_popup="goto"] a',dirIdSrc:"item",dirIdAttr:"cid",memo:"最近上传"},{pattern:/ct=public_share&ac=save/,list:"#js-list",item:'li[rel="item"]',link:'[btn="openFileLocaltion"]',dirIdSrc:"link",dirIdAttr:"to_cid",removeAttrs:["btn"],memo:"最近接收"},{pattern:/\/lifetime/,list:"#js-warp",item:".lifefile-wrap",link:'a[btn="path-btn"]',getDirId:(a,l)=>l.closest(a.item).find(".file-name-info").attr(a.dirIdAttr),dirIdAttr:"parent_id",removeAttrs:["btn"],memo:"最近操作"}].find(a=>a.pattern.test(location.href));if(!n)return;console.log("[enhanceLocationLinks]",n,location.href);const o=await Gn(n.list),i="ce-url-done",s=a=>n.getDirId?n.getDirId(n,a):n.dirIdSrc==="link"?a.attr(n.dirIdAttr):a.closest(n.item).attr(n.dirIdAttr),r=a=>{if(a.hasClass(i))return;let l=s(a);l&&(a.attr("href",On(l)),a.addClass(i),n.removeAttrs&&n.removeAttrs.map(c=>{a.removeAttr(c);}));};o.on("mouseover",n.link,a=>{const l=$(a.currentTarget);r(l);}),o.on("click",`.${i}`,a=>{const c=$(a.currentTarget).attr("href");if(!c)return  true;if(a.preventDefault(),a.stopPropagation(),a.ctrlKey||a.metaKey)Jr(c,{active:false});else {const{defaultAction:u=2}=n,f=$t();u===1?f.open(c,"_blank"):u===2&&(f.location.href=c);}return  false});}async function k$(e,t,n){if(!e.showSha1||!n.hash)return;t.attr("ce-show-sha1","1");const o=t.find(".file-name"),i="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),s=Ue(`
    <span class="ce-file-sha1 ce-inj" title="${i}">${n.hash}</span>
  `),r=()=>{ft(n.hash),Y({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};s.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?cd(n):r();}),o.append(s);}async function xw(e,t,n){const o=[],i=await $$(e,t,n);i&&o.push(i);const s=await S$(e,t,n);if(s&&o.push(s),o.length){const r=t.find(".file-size");if(!r.length){console.warn("[injectToSizeCell] 未找到文件大小元素,跳过:",n,t);return}r.append(...o);}}async function $$(e,t,n){if(!e.showFolderSizeButton||!n.isDir)return null;const o=t.find(".file-size"),i=(e.hoverShowFolderSize?"点击或鼠标悬浮":"点击")+"获取该文件夹大小",s=Ue(`
    <span class="ce-btn-folder-size ce-inj" title="${i}">大小</span>
  `);let r;const a=async l=>{l.preventDefault(),l.stopPropagation();try{const c=await Kt(n.id);o.find("span:eq(0)").text(c.size);const{folder_count:u=0,count:f=0}=c;let p=u>0?`目录${u}`:"";if(p+=f>0?(p!==""?",":"")+`文件${f}`:"",p!==""){let g=o.find(".ce-s-d");g.length||(g=$('<div class="ce-s-d"></div>'),o.append(g)),g.text(p);}t.addClass("ce-size-got"),Y({title:"获取大小",text:"已获取文件夹大小",icon:"success",timer:1500});}catch(c){console.error(c),Y({title:"获取大小失败",text:c.toString(),icon:"error"});return}};return s.addEventListener("click",async l=>{r&&clearTimeout(r),await a(l);}),e.hoverShowFolderSize&&(s.addEventListener("mouseenter",async l=>{r&&clearTimeout(r),r=setTimeout(async()=>{await a(l);},200);}),s.addEventListener("mouseleave",()=>{r&&clearTimeout(r);})),s}let Bs;async function sp(e,t,n,o){Bs&&clearTimeout(Bs),o.preventDefault(),o.stopPropagation();const i=wd(bw.list),r='快速查看 <span class="ce-label ce-label-warning">只读</span><a id="ce-qv-open" href="javascript:void(0)" style="font-size: 12px; margin-left: 10px; color: #00f; font-weight: normal;">新页面打开</a>',a=$t(),l=a.Core;l.FileSelectDG.Open(c=>{i();},{nf:0,title:r,init_cid:n.id,show_record:1,show_copy:1,btn_txt:"关闭",select_txt:"查看",not_select_file:"xxx"});try{(await qe("#ce-qv-open",200,3e4,a.window.document)).addEventListener("click",()=>{const u=l.FileSelectDG.GetBackPaths(),f=u[u.length-1].cid;window.open(On(f),"_blank");});}catch(c){Y({icon:"error",text:`未找到"新页面打开"按钮!${c.toString()}`});}}async function S$(e,t,n){if(!e.showQuickViewButton||!n.isDir)return null;const o=Ue(`
    <span class="ce-btn-folder-size ce-inj" title="快速查看该目录子文件列表">查看</span>
  `);return o.addEventListener("click",i=>{sp(e,t,n,i);}),e.hoverShowQuickView&&(o.addEventListener("mouseenter",async i=>{Bs=setTimeout(async()=>{await sp(e,t,n,i);},300);}),o.addEventListener("mouseleave",()=>{Bs&&clearTimeout(Bs);})),o}async function E$(e){if(!e.showBatchFolderSizeButton)return;const t="ce-injected-s",n="ce-s-ing",o=Ne(".header-size");if(!o||o.classList.contains(t))return;const i=o,s=Ue(`
    <a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小">
      <span>大小</span>
    </a>
  `);s.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),!s.classList.contains(n))try{s.classList.add(n),await yd(!1,!1,!1);}catch(a){console.error(a),Y({title:"获取子文件夹大小失败",text:a.toString(),icon:"error"});}finally{s.classList.remove(n);}}),i.appendChild(s),i.classList.add(t);}async function A$(e){if(!e.sizeSorter)return;const t="ce-injected",n="ce-size-sort-ing",o=Ne(".header-size");if(!o||o.classList.contains(t))return;const i=o,s=Ue(`
    <a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小,然后按大小排序">
      <span>排序</span>
      <i icon_rel="file_size" class="icon-sort-asc"></i>
      <i icon_rel="file_size" class="icon-sort-desc"></i>
    </a>
  `);s.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),s.classList.contains("el-size-sort-ing"))return;const a="by-desc",l="by-asc";try{s.classList.add(n);let c=Mn.desc;s.classList.contains(a)?c=Mn.asc:c=Mn.desc;const u=await Ut(!1);await Ca(u,c,!1,!1),c===Mn.asc?(s.classList.remove(a),s.classList.add(l)):(s.classList.remove(l),s.classList.add(a));}catch(c){console.error(c),Y({title:"排序失败",text:c.toString(),icon:"error"});}finally{s.classList.remove(n);}}),i.appendChild(s),i.classList.add(t);}async function yd(e,t,n=false){await cs();const o=await Ut(false),i=Ci(),s=await jn(false);console.log("[items]",s),Y({html:"正在获取子文件夹大小...",icon:"info",position:"top-end",timer:0}),q.showLoading();for(let r=0;r<s.length;r++){const a=s[r];if(!a.isDir)continue;const l=i.find(`li[cate_id="${a.id}"]`);if(!l.length)continue;const c=l.find(".file-size");if(!c.length){console.warn("[prepareItemSize] 未找到文件大小元素,跳过:",a);continue}const u=c.find("span:eq(0)");if(u.text()!==""&&!n)continue;const f=await Kt(a.id);q.update({html:`[${r+1} / ${s.length}] 正在获取子文件夹大小:${a.name}`}),u.text(f.size);const{folder_count:p=0,count:g=0}=f;let m=p>0?`目录${p}`:"";if(m+=g>0?(m!==""?",":"")+`文件${g}`:"",m!==""){let y=c.find(".ce-s-d");y.length||(y=$('<div class="ce-s-d"></div>'),c.append(y)),y.text(m);}l.addClass("ce-size-got");}return q.hideLoading(),e?await P$(o):Y({html:"已获取子文件夹大小",icon:"success",timer:1500,position:"top-end"}),o}async function Ca(e,t,n,o){const i=Ci();i.find('li[file_type="0"]:not(.ce-size-got)').length>0&&await yd(n,o,false);const r=i.is("ul")?i:i.find("ul"),a=r.children("li").toArray();a.sort(function(c,u){const f=$(c),p=$(u),g=Td(f.find(".file-size span:eq(0)").text()),m=Td(p.find(".file-size span:eq(0)").text());return t===Mn.asc?g-m:m-g});const l=$("<ul></ul>");$.each(a,function(c,u){l.append(u);}),r.replaceWith(l),n?q.update({title:"排序完成",html:`已完成排序: ${t===Mn.asc?"小 > 大":"大 > 小"}`,icon:"success"}):Y({html:`已完成排序: ${t===Mn.asc?"小 > 大":"大 > 小"}`,icon:"success",timer:1500,position:"top-end"});}async function P$(e){q.fire({toast:true,title:"获取子文件夹大小",html:"获取子文件夹大小完成",icon:"success",showConfirmButton:true,confirmButtonText:"大 > 小",confirmButtonColor:"#3085d6",showDenyButton:true,denyButtonText:"小 > 大",denyButtonColor:"#d33",position:"top-end",showCloseButton:true,closeButtonAriaLabel:"关闭",preConfirm:async()=>(console.log("preConfirm"),Ca(e,Mn.desc,true,true),false),preDeny:async()=>(console.log("preDeny"),Ca(e,Mn.asc,true,true),false)});}async function I$(){const e=await cs();e.sizeSorter&&e.showBatchFolderSizeButton&&Qy(".list-header .header-size { min-width: 142px !important;}"),await ju();const t=await qe("#js_data_list");D$(),new MutationObserver(async([o])=>{o.type==="childList"&&(window.postMessage({event:ot.listRendered}),await ju());}).observe(t,{childList:true});}async function D$(){if(window.top===window.self)return;const e=Ne("#js_pagination_box");if(!e){console.warn("[list.handleLoadAll] 未找到「#js_pagination_box」元素");return}function t(n){Ne("#js_data_list .list-contents > ul > li")&&n(true);}e.addEventListener("click",async n=>{n.preventDefault(),n.stopPropagation();const o=n.target;let i=false;if((o.getAttribute("menu")==="load_all_file"||o.closest('[menu="load_all_file"]'))&&(i=true),!i)return;console.log("[list.handleLoadAll] 点击了「加载全部」按钮"),await Wo(t,500,3e5);const s=Ne("#js_data_list .list-contents > ul");s?.removeAttribute("ce-done2");const r=Ne("#js_data_list");r&&r.querySelectorAll(".list-contents > ul:not([ce-done2]) > li").length&&(s?.setAttribute("ce-done2",""),await ju());});}async function ju(){const e=await cs();A$(e),E$(e),h$(e),L$(e),oo();const t=Oc(false);for(let n=0;n<t.length;n++){const o=t.eq(n),i=dn(o);await T$(e,o,i);}}async function T$(e,t,n,o){await k$(e,t,n),await xw(e,t,n);}async function L$(e){if(!e.showOpenDirContextMenu||await Ut(false)===""||oo())return;const n=Ne(".header-name");if(!n||n.classList.contains("ce-injected"))return;const o=n,i=document.createElement("a");i.classList.add("ce-open-dir-context-menu"),i.title="打开当前目录的功能菜单",i.innerHTML="<span>目录功能菜单</span>";let s;const r=async a=>{s&&clearTimeout(s),a.preventDefault(),a.stopPropagation();try{const l=$t(),c=await Ut(!1),u=i.getBoundingClientRect();l.Core.FileMenu.FileRight("1",c,!1,u.x,u.y+8,void 0,!1);}catch(l){console.error(l);}};i.addEventListener("click",r),e.hoverShowDirContextMenu&&(i.addEventListener("mouseenter",async a=>{s=setTimeout(async()=>{await r(a);},300);}),i.addEventListener("mouseleave",()=>{s&&clearTimeout(s);})),o.appendChild(i),o.classList.add("ce-injected");}let M$=[];async function _w(e,t,n){n.stopPropagation(),n.preventDefault();try{const o=await $o(!1,1e3);if(!o)return;const i=dn(o),s=await Xt(),r=await Fs(i,e,s);if(e.key==="p_builtin_115plus"){const a=n.metaKey||n.ctrlKey;ga(void 0,i.id,a);return}if(Bc(r)){const l=(await jn(!1)).find(c=>c.playDuration&&c.playDuration>0);zg(i.id,l);return}if(console.log("[play url]",r),!r)throw new Error("无法获取有效的播放链接!");window.open(r,"_blank","noopener noreferrer");}catch(o){console.error(o),Y({title:"播放失败",text:o.toString(),icon:"error"});}}async function O$(e,t){const n=[];for(const o of t){const i=La(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:"播放当前目录"+(o.memo?` - ${o.memo}`:""),onClick:async(s,r)=>{_w(o,s,r);}});n.push(i);}return n}async function B$(){const e=await ut(),t=await ud(e),{memo:n=""}=t.defaultPlayer;return new zt({key:"_play_with_x",label:t.defaultPlayer.label,icon:t.noRealDefault?"icon-operate ifo-video-play":t.defaultPlayer.icon,title:"播放当前目录"+(n?` - ${n}`:""),onClick:async(o,i)=>{await o.closeMenu(),!t.noRealDefault&&_w(t.defaultPlayer,o,i);},subItems:[...await O$(dc,t.customUrlItems)]})}async function R$(){return new zt({key:"_rename_dir",label:"重命名文件夹",icon:"icon-operate ifo-rename",title:'重命名当前目录,支持"高级模式"',onClick:async(e,t)=>{await e.closeMenu();const n=await Ut(true);if(!n)return;const i=wm().attr("titletext")?.trim();if(!i){Y({icon:"error",text:"无法获取当前目录名称"});return}unsafeWindow.Core.Dir.Rename("1",n,i);}})}async function F$(){return new zt({key:"_dc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault(),await e.closeMenu();const n=await Ut(false);if(!n||n==="0"){await wa({id:"0",name:"根目录",isDir:true});return}const o=await $o(false,1e3);if(!o)return;const i=dn(o);await wa(i);}})}async function N$(){return new zt({key:"_move_dir",label:"移动文件夹",icon:"icon-operate ifo-move",title:"移动当前文件夹到其他位置",onClick:bd("move")})}async function U$(){return new zt({key:"_del_dir",label:"删除文件夹",icon:"icon-operate ifo-remove",title:"删除当前文件夹",onClick:async(e,t)=>{await e.closeMenu();const n=await $o();if(!n)return;const o=rs();unsafeWindow.Core.FileAPI.DeleteFile([n],i=>{n.remove(),o.find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last").prev()[0].click();},true);}})}function bd(e,t){return async(n,o)=>{await n.closeMenu();const i=await $o();i&&await V0(i,e);}}async function j$(){return new zt({key:"_copy_dir",label:"复制文件夹",icon:"icon-operate ifo-copy",title:"复制当前文件夹",onClick:bd("set_copy")})}async function z$(){return new zt({key:"_copy_dir_to",label:"复制文件夹到",icon:"icon-operate ifo-copyto",title:"复制当前文件夹到其他位置",onClick:bd("copy_list")})}async function H$(e){const{namePathConfig:t}=e,n=[{b:t.copyFullName,v:()=>Xl("完整名称",mt.full)},{b:t.copyId,v:()=>Xl("ID",mt.id)},{b:t.copyPickCode,v:()=>Xl("PickCode",mt.pickCode)},{b:t.copyUnixPath,v:()=>rp("路径(Unix)",Ln.unixPath)},{b:t.copyWinPath,v:()=>rp("路径(Windows)",Ln.winPath)},{b:t.viewInCloudDrive,v:()=>F$()}],o=await Promise.all(n.filter(i=>i.b).map(i=>i.v()));return new zt({key:"_dir_copy_names",label:"名称路径",icon:"icon-operate ifo-copy",title:"获取当前目录的名称、路径等信息",subItems:o})}async function V$(e,t){const n=[...(await cr()).filter(s=>s.enabled),...M$.filter(s=>s.enabled),...(await ki(io.search)).filter(s=>s.enabled)];let o=n.find(s=>s.key===t.defaultSearch);o||(o=n.find(s=>s.key===dr));const i=async s=>{const r=await $o(false,1e3);if(!r)throw new Error("无法获取当前目录项");return dn(r)};return new zt({key:"_d_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"使用名称搜索",onClick:async(s,r)=>{r.stopPropagation(),r.preventDefault(),await s.closeMenu(),o&&await gr(s,o,r,t,i,Pe.dirContextSub);},subItems:[...await sl(dc,n,i,Pe.dirContextSub)]})}async function q$(){return new zt({key:"view_dir_attribute",label:"查看属性",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu();const n=await $o();n&&$t().Core.FileAPI.getAttribute(n,{showPlayLongChange:function(o,i,s){F0().CACHE.FileMain.List.ResetPlayLongText(o,i,s);}},function(){console.log("查看属性 ok");});}})}async function Xl(e,t){return new zt({key:`_d_copy_self_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制当前目录的${e}`,onClick:async(n,o)=>{await n.closeMenu();const i=await $o(false,1e3);if(!i)return;const s=dn(i),r=await ut(),a=await Xt(),c=wr([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Y({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function rp(e,t){return new zt({key:`_d_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制当前目录路径",onClick:async(n,o)=>{await n.closeMenu();const i=await $o(false,1e3);if(!i)return;const s=dn(i),r=await ut(),a=await Xt(),c=await Vg([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Y({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function W$(){return new zt({key:"show_sub_folder_size",label:"子文件夹大小",title:"显示当前目录下已加载的所有子文件夹的大小",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await yd(false,false,false);}})}async function K$(){return new zt({key:"show_sub_folder_size_sort",label:"子文件夹大小+排序",title:"显示当前目录下已加载的所有子文件夹的大小,并进行排序",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await Ca("",Mn.desc,true,true);}})}async function G$(){return new zt({key:"_dc_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(e,t)=>{await e.closeMenu();const n=await $o(false,1e3);if(!n)return;const o=dn(n);await al([o]);}})}async function J$(e){const{[Pe.dirContext]:t}=e;if(!t.enabled)return;const n=[...t.topLevelMenus,"play","copyNames","search"],o=[],i=[],s=new Map;t.rename&&s.set("rename",await R$()),t.delete&&s.set("delete",await U$()),t.play&&s.set("play",await B$()),t.copyNames&&s.set("copyNames",await H$(t)),t.search&&s.set("search",await V$(t,e)),t.flattenSubfolders&&s.set("flattenSubfolders",await G$()),t.move&&s.set("move",await N$()),t.viewProp&&s.set("viewProp",await q$()),t.showSubFolderSize&&s.set("showSubFolderSize",await W$()),t.showSubFolderSizeAndSort&&s.set("showSubFolderSizeAndSort",await K$()),t.copy&&s.set("copy",await j$()),t.copyTo&&s.set("copyTo",await z$());const r=s.keys();for(const l of r){const c=s.get(l);c&&(n.includes(l)?o.push(c):i.push(c));}i.length>1?o.push(new zt({key:"_dir_more",label:"更多",icon:"icon-operate ifo-open",subItems:i})):i.length===1&&o.push(i[0]),await new bb({items:o,siblingSelector:'[val="upload"]',position:bo.before}).inject(),$(".ce-menu-parent .ce-menu-trigger").on("mouseover",function(){$(this).find(".ce-menu-dropdown").show();}).on("mouseout",function(){$(this).find(".ce-menu-dropdown").hide();});}async function Y$(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Di("完整名称",mt.full)),t.copyPureName&&n.push(await Di("不含后缀名称",mt.pure)),t.copyFullName&&n.push(await Di("完整名称(去重)",mt.fullUnique)),t.copyPureName&&n.push(await Di("不含后缀名称(去重)",mt.pureUnique)),t.copyId&&n.push(await Di("ID",mt.id)),t.copyPickCode&&n.push(await Di("PickCode",mt.pickCode)),t.copySha1&&n.push(await lp(false)),t.copySha1WithName&&n.push(await lp(true)),t.copyUnixPath&&n.push(await ap("路径(Unix)",Ln.unixPath)),t.copyWinPath&&n.push(await ap("路径(Windows)",Ln.winPath)),t.viewInCloudDrive&&n.push(await Q$()),new ts({key:"_lc_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制文件的名称路径",subItems:n})}function yr(){const e=K0();return !e||!e.n?(Y({text:"无法获取当前文件信息",timer:1200}),null):_i(e)}async function Di(e,t){return new ts({key:`_lc_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{await n.closeMenu();const i=yr();if(!i)return;const s=await ut(),r=await Xt(),l=wr([i],t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Y({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function ap(e,t){return new ts({key:`_lc_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制路径",onClick:async(n,o)=>{await n.closeMenu();const i=yr();if(!i)return;const s=await ut(),r=await Xt();let a=await Ka(i);s.cloudDriveFormalization&&(a=a.map(u=>cn(r,u,true)),i.name=cn(r,i.name,true));let l=a.join("/");const c=await rl(i,l,t);ft(c),Y({title:"复制路径",text:`已复制文件路径,CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function lp(e){return new ts({key:"_lc_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{await t.closeMenu();const o=yr();if(!o)return;if(o.isDir){Y({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=o.hash+(e?`//${o.name}`:"");ft(i),Y({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function Q$(){return new ts({key:"_lc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{await e.closeMenu();const n=yr();n&&await wa(n);}})}async function X$(){return new ts({key:"_lc_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(e,t)=>{await e.closeMenu();const n=yr();if(n){if(!n.isDir){Y({text:"请先选择一个目录",icon:"error"});return}await al([n]);}}})}async function Z$(e){const{[Pe.listItemContext]:t}=e;if(!t.enabled)return;const n=[];t.copyNames&&n.push(await Y$(t)),t.flattenSubfolders&&n.push(await X$()),new xb({items:n,position:bo.after,siblingSelector:'[val="refresh"]',useObserver:true,observeTarget:document.body,disposeObserverAfterInjection:false}).inject();}async function eS(e){const{[Pe.listItemHover]:t}=e;if(!t.enabled)return;const n=[];t.openInNewTab&&n.push(await Pk()),t.search&&n.push(await Sk(e)),t.play&&n.push(await $k()),t.copyNames&&n.push(await Ak(t)),t.flattenSubfolders&&n.push(await Dk()),t.findRepeat&&n.push(await Ik()),new Lk({items:n,position:bo.after,siblingSelector:'[menu="move"], [menu="delete"]'}).inject();}let tS=[];async function nS(e){const t=[];return !oo()&&e.moveToSelfNameDir&&t.push(await oS()),!oo()&&e.flattenSubfolders&&t.push(await iS()),e.openInNewTab&&t.push(await sS()),e.openParent&&t.push(await rS()),t.length?new ll({key:"_s_batch",label:"批量操作",icon:"icon-operate ifo-batch",title:"对选中的文件进行批量操作",subItems:t}):null}async function oS(){return new ro({key:"_s_smart_mkdir",label:"同名目录",icon:"icon-operate ifo-move",title:"将选中的文件移动到同名目录",onClick:await mk()})}async function iS(){return new ro({key:"_s_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将选中目录中所有子目录的文件移动到选中目录,并删除空的子目录",onClick:async(e,t)=>{const n=(await jn(true)).filter(o=>o.isDir);if(!n.length){Y({text:"请选择需要解散的目录",icon:"error"});return}await al(n);}})}async function sS(){return new ro({key:"_s_open_in_new_tab",label:"打开目录",icon:"icon-operate ifo-opendir",title:"批量打开选中的目录",onClick:async(e,t)=>{const n=(await jn(true)).filter(i=>i.isDir);if(!n.length){Y({title:"请选择目录",icon:"error"});return}const o=n.map(i=>On(i.id));await mr(o,true);}})}async function rS(){return new ro({key:"_s_open_parent",label:"打开所在目录",icon:"icon-operate ifo-opendir",title:"批量打开选中文件的所在目录",onClick:async(e,t)=>{const n=await jn(true);if(!n.length){Y({title:"请选择文件",icon:"error"});return}const o=new Set;for(const s of n)s.parentId&&o.add(s.parentId);const i=Array.from(o).map(s=>On(s));await mr(i,true);}})}async function aS(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Ti("完整名称",mt.full)),t.copyPureName&&n.push(await Ti("不含后缀名称",mt.pure)),t.copyFullName&&n.push(await Ti("完整名称(去重)",mt.fullUnique)),t.copyPureName&&n.push(await Ti("不含后缀名称(去重)",mt.pureUnique)),t.copyId&&n.push(await Ti("ID",mt.id)),t.copyPickCode&&n.push(await Ti("PickCode",mt.pickCode)),t.copySha1&&(n.push(await up(false)),n.push(await up(true))),t.copyUnixPath&&n.push(await cp("路径(Unix)",Ln.unixPath)),t.copyWinPath&&n.push(await cp("路径(Windows)",Ln.winPath)),new ll({key:"_s_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制选中文件的名称路径",onClick:async(o,i)=>{},subItems:n})}async function up(e,t){return new ro({key:"_s_copy_sha1"+(e?"_u":""),label:"📋 文件sha1"+(e?",去重":""),icon:"icon-operate ifo-copy",showIcon:false,title:"复制文件sha1。格式为 xxx//yyy,xxx为sha1,yyy为文件名",onClick:async(n,o)=>{const i=await jn(true),s=new Set,r=[];for(const a of i)a.hash&&(e&&s.has(a.hash)||(s.add(a.hash),r.push(a.hash+`//${a.name}`)));ft(r.join(`
`)),Y({title:"复制文件sha1",text:`已复制选中文件sha1。数量:${r.length}`,icon:"success",timer:1e3});}})}async function Ti(e,t){return new ro({key:`_s_copy_info_${t}`,label:`📋 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:`复制${e}`,onClick:async(n,o)=>{const i=await jn(true);if(!i.length)return;const s=await ut(),r=await Xt(),l=wr(i,t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Y({title:`复制${e}`,text:`已复制选中文件信息。数量:${l.length},复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function cp(e,t){return new ro({key:`_s_copy_path_${t}`,label:`📂 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:e,onClick:async(n,o)=>{const i=await jn(true);if(!i.length)return;let s=[];Y({text:"正在获取已选文件路径...",timer:0}),q.showLoading();const r=await ut();try{const a=await Xt(),l=r.cloudDriveFormalization?c=>cn(a,c):c=>c;s=await Vg(i,t,l),q.close();}catch(a){console.error(a),Y({text:`获取已选文件路径失败: ${a}`,timer:6e4,icon:"error"});return}finally{q.hideLoading();}ft(s.join(`
`)),Y({title:"复制路径",text:`已复制选中文件的路径。数量:${s.length},复制类型:${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function lS(e,t=Va.vod){if(e=e.filter(s=>s.transcoded),!e.length){Y({title:"没有可播放的视频",icon:"error"});return}const n=Date.now().toString(),o=unsafeWindow.open(bm("xxx",t),n);await kt(1e3);let i=10;for(;i>0;)o?.postMessage({event:"play",body:{id:n,files:e}},`https://${t}`),await kt(1e3),i--;}async function uS(){const e=await ut(),t=await ud(e);return new ll({key:"_s_play_with_x_d",label:t.defaultPlayer.label,icon:t.defaultPlayer?.icon||"",title:t.defaultPlayer.memo,onClick:async(n,o)=>{console.log("[selectionMenuPlayWithDropdown] me",n),!t.noRealDefault&&Cw(t.defaultPlayer,n,o);},subItems:[...await dS(ro,t.customUrlItems),new Bk({}),new ro({label:"关于选中播放",onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault(),Y({title:"关于选中播放",html:`
              <p>点「在线播放」会打开115播放页面播放选中的视频。</p><br>
              <p>如果是点击调用本地播放器播放:<p>
              <p>原理: 生成m3u8文件,上传m3u8文件到115,调用播放该m3u8的CloudDrive2直链。<p>
              <p>设定: m3u8默认放在网盘根目录下的「.ce-m3u8-temp」目录下,不会自动清理。<p>
              <p>作为使用者需做的: 在CloudDrive2里设置「.ce-m3u8-temp」目录缓存时间为1秒。</p>
              <p class="text-info" style="font-size:12px;">这个目录会在首次播放时自动创建,如果想提前设置目录缓存时间,可以自己创建。另外,可以在「设置 - 菜单设置 - 全局设置」中修改「M3U8临时目录」以设置目录位置。</p>
              <br><p class="text-danger">导致播放失败的可能: CloudDrive2目录缓存工作异常,导致请求不到m3u8文件。</p>
            `,showConfirmButton:true,width:600,timer:18e5});},icon:"data-text:❓"})]})}async function cS(e){if(e=e.trim(),!e)throw new Error("m3u8临时目录路径为空!");const t=await X0(e);if(t.id)return console.log("[ensureM3u8TempDir] result:",t),t.id;throw new Error("创建m3u8临时目录失败!")}async function Cw(e,t,n){n.stopPropagation(),n.preventDefault();const o=await ut();try{let i=await jn(!0);if(t.key==="_ce_p_p_builtin_online"||e.key==="p_builtin_online"){await lS(i);return}if(e.key==="p_builtin_115plus")return ga(i);if(i=i.filter(p=>p.isDir||p.isVideo),i.length===0){Y({title:"播放失败",text:"没有可以播放的目录或媒体文件!",icon:"error",timer:2e3});return}const s=await Xt();if(i.length===1){const p=await Fs(i[0],e,s);window.open(p,"_blank","noopener noreferrer");return}const r=await cS(o.m3u8TempDir),a=await Q0(i,r);console.log("[selection.buildPlayMenuItems generatePlaylistOn115]",a);const l=a.data,c={id:l.file_id,name:l.file_name,parentId:l.cid,sizeBytes:l.file_size,pickCode:l.pick_code,isDir:!1,isFile:!0},u=ra([o.m3u8TempDir,c.name],Oo.unix);Y({title:"检查m3u8文件",text:"正在检查m3u8文件是否已准备就绪...",icon:"info",timer:0}),q.showLoading(),await x0(s,u,!0,1e3,6e4),Y({icon:"success",text:"m3u8文件已准备就绪,即将开始播放..."});const f=await Fs(c,e,s);window.open(f,"_blank","noopener noreferrer");}catch(i){console.error(i),Y({title:"播放失败",text:i.toString(),icon:"error",timer:6e4,showConfirmButton:true});}finally{q.hideLoading();}}async function dS(e,t){const n=[];for(const o of t){const i=La(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:o.memo,onClick:async(s,r)=>{Cw(o,s,r);}});n.push(i);}return n}async function fS(e,t){const n=[...(await cr()).filter(s=>s.enabled),...tS.filter(s=>s.enabled),...(await ki(io.search)).filter(s=>s.enabled)];let o=n.find(s=>s.key===t.defaultSearch);o||(o=n.find(s=>s.key===dr));let i;return e.searchOpenType!==Ou.undefined&&(i=e.searchOpenType===Ou.background),new ll({key:"_s_search_d",label:"搜索",icon:o?.icon||"",title:"批量搜索"+(o?.memo?" - "+o.memo:""),onClick:async(s,r)=>{r.stopPropagation(),r.preventDefault(),o&&await gr(s,o,r,t,void 0,Pe.selection,i);},subItems:[...await sl(ro,n,void 0,Pe.selectionSub,i)]})}async function pS(e){if(!e.hideSelectionMenuLabel)return;const t=await qe("#js_operate_box");new MutationObserver(async([o])=>{if(o.type==="childList"){const i=t.querySelectorAll("li[menu]");for(let s=0;s<i.length;s++){const r=i[s],a=r.textContent;r.setAttribute("title",a||"");}}}).observe(t,{childList:true}),t.classList.add("only-icon");}async function hS(e){const{[Pe.selection]:t}=e;if(!t.enabled)return;const n=[],o=await nS(t);o&&n.push(o),t.copyNames&&n.push(await aS(t)),t.play&&n.push(await uS()),t.search&&n.push(await fS(t,e)),new Rk({items:n,position:bo.before,siblingSelector:"ul li"}).inject();}async function mS(e,t){if(t||(t=await ut()),!t||!t[Pe.shareListItemHover]?.enabled)return;const i=(r=>{let a="";for(const l of r)l.enabled&&(a+=l.body);return a})([{label:"_",body:'<a href="javascript:;" menu="_s_null_" style="display:none"><span>_</span></a>',enabled:true}]);(()=>{const r="ce-menu-init",a=ub(`#js-list li:not(.${r})`);for(let l=0;l<a.length;l++){const c=a[l];let u=c.querySelector(".file-opr");u?(c.classList.add(r),u.innerHTML+=i):(u=Ue(`<div class="file-opr ${r}" rel="menu"></div>`),u.innerHTML=i,c.appendChild(u));}})();}async function kw(e){let t=e.pageWidth.trim();const n="ce-share-page-width";let o=eh(`#${n}`,`<style id="${n}"></style>`);t=/^\d+$/.test(t)?`${t}px`:t,o.innerHTML=t?`div.wrap-sharing { width: ${t} !important; }`:"",document.contains(o)||document.head.appendChild(o);const i=!!t&&!/px$/.test(t);Sw(i);}async function gS(e){let t=e.pageWidth.trim();const n="ce-share-page-width";let o=eh(`#${n}`,`<style id="${n}"></style>`);t=/^\d+$/.test(t)?`${t}px`:t,o.innerHTML=t?`body > div.h-screen > div.max-w-full > div.mx-auto { width: ${t} !important; }`:"",document.contains(o)||document.head.appendChild(o);const i=!!t&&!/px$/.test(t);Sw(i);}function $w(){const e=Ne(".top-vflow");if(!e)return;const t=Ne('a[btn="save"]');if(!t)return;const n=t.getBoundingClientRect(),o=Ne("#save_directly");o&&(o.style.left=n.left-e.getBoundingClientRect().left+"px");}const dp=lt($w,200);let Br=false;function Sw(e){setTimeout($w,500),e&&!Br?(window.addEventListener("resize",dp),Br=true):!e&&Br&&(window.removeEventListener("resize",dp),Br=false);}async function wS(e){if(!e.autoConfirmPassword)return;let t=es("password");if(!t||(t=t.replace(/(\?.*)?$/,""),(await qe(".form-decode .form-item input")).value!==t))return;(await qe(".form-decode .submit a.button")).click(),Y({icon:"success",text:"自动确定访问码",timer:1e3,position:"top-right"});}async function yS(e){if(!e.autoConfirmPassword)return;let t=es("password");if(!t||(t=t.replace(/(\?.*)?$/,""),(await qe('input[placeholder="请输入访问码"]')).value!==t))return;(await qe('//button[contains(text(), "确定")]')).click(),Y({icon:"success",text:"自动确定访问码",timer:1e3,position:"top-right"});}async function bS(e){const t=await qe("#js-list"),n=await ut(),o=s=>{Zl(e),mS(e,n);};new MutationObserver(o).observe(t,{childList:true}),t.addEventListener("mousedown",lt(s=>{Zl(e);},200));try{(await qe('[btn="check_all"]')).addEventListener("mousedown",lt(r=>{Zl(e);},200));}catch(s){console.error(s);}}function Qs(e){e instanceof HTMLElement||(e=e[0]);const t=e.getAttribute("fid"),n=e.getAttribute("cid"),o=!!t;return {id:t||n,name:e.getAttribute("file_name"),sizeBytes:parseInt(e.getAttribute("file_size")||"0"),isFile:o,isDir:!o,snapId:e.getAttribute("snap_id"),parentId:o?n:"",hash:e.getAttribute("sha1")||"",checked:e.classList.contains("selected")}}function vS(e){const t={num:0,filesNum:0,filesSize:0,foldersNum:0,selectedNum:0,selectedFilesNum:0,selectedFilesSize:0,selectedFoldersNum:0};for(const n of e)t.num+=1,n.isFile?(t.filesNum+=1,t.filesSize+=n.sizeBytes):t.foldersNum+=1,n.checked&&(t.selectedNum+=1,n.isFile?(t.selectedFilesNum+=1,t.selectedFilesSize+=n.sizeBytes):t.selectedFoldersNum+=1);return t}async function Zl(e){if(!e.showListSummary)return;const t=await qe(".list-header"),o=(await qe("ul#js-list")).querySelectorAll("li"),i=Array.from(o).map(Qs),s=vS(i),r=t.querySelector(".header-name"),a=[];s.num&&a.push(`共${s.num}项`),s.filesNum&&a.push(`${s.filesNum}个文件,合计${Wi(s.filesSize)}`),s.foldersNum&&a.push(`${s.foldersNum}个目录`);const l=[];s.selectedNum&&(s.selectedFilesNum&&l.push(`${s.selectedFilesNum}个文件,合计${Wi(s.selectedFilesSize)}`),s.selectedFoldersNum&&l.push(`${s.selectedFoldersNum}个目录`));const c=`
    <span class="ce-list-summary">
      ${a.join(", ")}
      ${l.length?`。已选中${l.join(",")}`:""}
    </span>
  `;let u=r.querySelector(".ce-list-summary");u?u.outerHTML=c:(u=Ue(c),r.appendChild(u));}async function Ew(e){const t="ce-share-page";document.body.classList.add(t),parent.document.body.classList.add(t);const n=async()=>{(await qe(".spotlight-ad-container")).closest(".w-full")?.remove();};if(ur()){await n(),await kt(1e3),await n();return}const o="ce-share-fresh";e.freshMode?document.body.classList.add(o):document.body.classList.remove(o);}async function xS(){window.addEventListener("message",async e=>{const t=e.data.event,n=e.data.body;t===ot.shareConfigChange&&(kw(n),Ew(n));});}let _S=[];async function CS(e,t){const n=[...(await cr()).filter(i=>i.enabled),..._S.filter(i=>i.enabled),...(await ki(io.search)).filter(i=>i.enabled)];let o=n.find(i=>i.key===t.defaultSearch);return o||(o=n.find(i=>i.key===dr)),new Kg({key:"_s_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"搜索",onClick:async(i,s)=>{s.stopPropagation(),s.preventDefault(),o&&await gr(i,o,s,t,Qs,Pe.shareListItemHover);},subItems:[...await sl(dd,n,Qs)]})}async function Rr(e,t){return new dd({key:`_s_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=$(o.target).closest("li"),s=Qs(i[0]),r=await ut(),a=await Xt(),c=wr([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Y({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function fp(e){return new dd({key:"_s_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=$(n.target).closest("li"),i=Qs(o[0]);if(i.isDir){Y({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const s=i.hash+(e?`//${i.name}`:"");ft(s),Y({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function kS(e){const t=Wg().namePathConfig,{namePathConfig:n=t}=e,o=[];return n.copyFullName&&o.push(await Rr("完整名称",mt.full)),n.copyPureName&&o.push(await Rr("不含后缀名称",mt.pure)),n.copyId&&o.push(await Rr("ID",mt.id)),n.copyPickCode&&o.push(await Rr("PickCode",mt.pickCode)),n.copySha1&&o.push(await fp(false)),n.copySha1WithName&&o.push(await fp(true)),new Kg({key:"_s_lh_copy_name_path",label:"名称",title:"复制文件名称",subItems:o})}async function $S(e){const{[Pe.shareListItemHover]:t}=e;if(!t.enabled)return;const n=[];t.search&&n.push(await CS(t,e)),t.copyNames&&n.push(await kS(t)),new Fk({items:n,position:bo.after,siblingSelector:'[menu="_s_null_"], [btn="prosecute"]'}).inject();}async function SS(){const{host:e}=location;if(!e.includes("115.com")&&!wu()||ur())return;console.log("[Cloud115 Enhancer - menu] running..."),ES(),document.addEventListener(yn.EVENT_CLOSE_MENU,n=>{$("#"+n.detail.menu.key).closest(".context-menu").hide();});const t=await ut();t.enabled&&(AS(t),await qg(t),window.top===window.self&&J$(t),Z$(t),(xn()||oo())&&(eS(t),hS(t),pS(t)),wu()&&$S(t));}async function ES(){const e="ceCustomUrlHelp",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=lo(K2);n.component("VDropdown",Ai),n.mount(`#${e}`);}async function AS(e){e.manageOfficialMenus&&(op(),window.addEventListener("message",async t=>{t.data.event===ot.officialMenuStyleChange&&(console.log("[Cloud115 Enhancer - menu] officialMenuStyleChange",location.href),await kt(1e3),console.log(await gw()),op());}));}var sn=(e=>(e[e.any=-999]="any",e[e.failed=-1]="failed",e[e.illegal=0]="illegal",e[e.ing=1]="ing",e[e.success=2]="success",e))(sn||{});const PS={[-1]:"失败",0:"违规",1:"下载中",2:"成功"};var tn=(e=>(e.all="all",e.failed="failed",e.success="success",e.magnet="magnet",e.magnetEd2k="magnetEd2k",e))(tn||{});const Aw=gt.offline;var qr=(e=>(e.name="name",e.nameRegex="nameRegex",e.infoHash="infoHash",e.url="url",e))(qr||{});const IS={name:"名称",nameRegex:"名称正则",infoHash:"哈希",url:"链接"};var yi=(e=>(e.selection="ce-offline-selection",e.configChanged="ce-offline-config-changed",e.searchPageChanged="ce-offline-search-page-changed",e))(yi||{});function DS(e){return {onlyMagnetEd2k:false,enableOptimization:true,reqInterval:500,maxPage:0,showInfoHash:true,enableListManagement:true,fixGotoPage:false,enableSearcher:true,searchMaxPage:5,searchKeywordType:"name",searchStatus:sn.any,searchStopOnFound:false,searchReqInterval:10,noGotoTaskPage:true,batchDeleteHttpFtp:false,...e}}async function to(){const e=DS(),t=await Xe.get(Aw,e);return {...e,...t}}async function Pw(e){await Xe.set(Aw,e),window.postMessage({event:"ce-offline-config-changed",body:JSON.parse(JSON.stringify(e))},"*");}async function zu(e,t,n){const o=new URLSearchParams({page:e.toString(),uid:n.toString(),sign:t,time:di().toString()});return (await Ot().post("https://115.com/web/lixian/?ct=lixian&ac=task_lists",o,{withCredentials:true,timeout:6e4})).data}async function Iw(){return (await Ot().get(`https://115.com/?ct=offline&ac=space&_=${Date.now()}`,{timeout:3e4,withCredentials:true})).data}async function Hu(e,t,n,o){const i={uid:o.toString(),sign:t.sign,time:di().toString()};n&&(i.flag="1");const s=I0(i);return e.forEach((a,l)=>{s.append(`hash[${l}]`,a);}),(await Ot().post("https://115.com/web/lixian/?ct=lixian&ac=task_del",s,{timeout:12e4,withCredentials:true})).data}var TS={name:"115不大助手"};async function LS(e){const t=await qe("#js-warp"),n=t.querySelectorAll("li[complete]");if(n.length>0)for(const i of Array.from(n))await pp(i,e);RS(e),new MutationObserver(async([i])=>{if(i.type==="childList"){i.addedNodes.forEach(async a=>{await pp(a,e);});const s=document.querySelector(".ce-checkbox-all input"),r=await hl();if(!r.length)s.checked=false,s.indeterminate=false;else {const a=t.querySelectorAll("li[complete]");s.checked=r.length===a.length,s.indeterminate=!s.checked;}await ml(r);}}).observe(t,{childList:true});}async function MS(e){const t=e;return {complete:t.getAttribute("complete"),cate_id:t.getAttribute("cate_id"),delete_id:t.getAttribute("delete_id"),status:t.getAttribute("status"),suffix:t.getAttribute("suffix"),name:t.getAttribute("name"),hash:t.getAttribute("hash")}}async function pp(e,t){const n=e,o=await MS(e);FS(n,t,o),OS(n,t,o),BS(n,t,o);}async function OS(e,t,n){if(!t.showInfoHash||e.querySelector(".info-hash"))return;const o=e.querySelector(".file-name"),i=Ue(`
    <div class="info-hash" title="点击复制${n.hash}">${n.hash}</div>
  `);o.after(i),i.addEventListener("click",()=>{ft(n.hash),Y({text:"已复制",icon:"success",timer:800});});const s=e.querySelector(".desc-tips");s&&s.style.display!=="none"&&e.classList.add("ce-task-trouble");}async function BS(e,t,n){const o=e.querySelector(".file-operate");if(o.querySelector(".ce-buttons"))return;const i=Ue('<span class="ce-buttons"></span>'),s=Ue(`
    <a target="_blank" class="pure-button button-mini button-info">打开</a>
  `);s.href=On(n.cate_id),s.title="在新标签页打开目录",i.append(s),o.prepend(i);}async function RS(e){if(!e.enableListManagement)return;const t=await qe("#js-main .header-name");let n=t.querySelector(".ce-checkbox-all");n||(n=Ue(`
      <div class="ce-checkbox ce-checkbox-all">
        <input type="checkbox"/>
      </div>
    `),t.prepend(n)),n.addEventListener("click",()=>{const o=n.querySelector("input").checked;document.querySelectorAll("#js-warp li").forEach(s=>{const r=s.querySelector("input");r.checked=o,s.classList.toggle("ce-selected",o);}),hl().then(s=>{ml(s);});});}async function FS(e,t,n){if(!t.enableListManagement||e.querySelector(".ce-checkbox"))return;const o=e.querySelector(".file-name-wrap"),i=Ue(`
    <div class="ce-checkbox">
      <input type="checkbox" data-id="${n.hash}" />
    </div>
  `);o.prepend(i),e.classList.add("ce-show-checkbox"),i.addEventListener("click",async s=>{s.shiftKey?await US(s,e):await NS(s,e);});}async function NS(e,t){t.classList.toggle("ce-selected");const n=document.querySelector(".ce-checkbox-all input"),o=await Tw();let i=0;for(const r of o)r.classList.contains("ce-selected")&&i++;const s=i===o.length;n.checked=s,n.indeterminate=!s&&i>0,hl().then(r=>{ml(r);});}async function US(e,t){const n=await Tw(),o=n.indexOf(t);let i=-1;for(let u=0;u<o;u++)if(n[u].classList.contains("ce-selected")){i=u;break}if(i===-1){for(let u=n.length-1;u>o;u--)if(n[u].classList.contains("ce-selected")){i=u;break}}i=i===-1?o:i;const s=Math.min(i,o),r=Math.max(i,o);let a=0;for(let u=0;u<n.length;u++){const f=n[u],p=f.querySelector(".ce-checkbox input"),g=u>=s&&u<=r;p.checked=g,g&&a++,f.classList.toggle("ce-selected",g);}const l=s===0&&r===n.length-1,c=document.querySelector(".ce-checkbox-all input");c.checked=l,c.indeterminate=!l&&a>0,hl().then(u=>{ml(u);});}async function Dw(e){const t={info_hash:e.getAttribute("hash"),status:Number(e.getAttribute("status")),name:e.getAttribute("name"),file_id:e.getAttribute("cate_id"),delete_file_id:e.getAttribute("delete_id"),url:e.querySelector(".file-operate [cp_href]")?.getAttribute("cp_href")||""};return t.name||(t.name=e.querySelector(".file-name").textContent.trim()),t}async function Tw(e){const t=document.querySelectorAll("#js-warp li"),n=[];return t.forEach(async o=>{const i=o;n.push(i);}),n}async function hl(){const e=document.querySelectorAll("#js-warp li"),t=[];return e.forEach(async n=>{const o=n;if(o.classList.contains("ce-selected")){const i=await Dw(o);t.push(i);}}),t}async function ml(e){window.postMessage({event:yi.selection,body:e},"*");}async function Vu(e){document.querySelectorAll("#js-warp li").forEach(async n=>{const o=n,i=o.getAttribute("hash");e.includes(i)&&Zp(o);});}async function jS(e,t,n,o){const i=[],s=n.maxPage||5;let r="",a=null,l="",c="",u="";n.name!==void 0&&(r=n.caseSensitive?n.name:n.name.toLowerCase()),n.nameRegex!==void 0&&(a=new RegExp(n.nameRegex)),n.infoHash!==void 0&&(l=n.caseSensitive?n.infoHash:n.infoHash.toLowerCase()),n.url!==void 0&&(c=n.caseSensitive?n.url:n.url.toLowerCase()),n.status!==void 0&&n.status!==sn.any&&n.status.toString()!==""&&(u=n.status.toString());let f=n.stopOnFound||false;(l||c)&&(f=true);let p=-1;for(let g=1;g<=s&&!(p>-1&&g>p);g++){window.postMessage({event:yi.searchPageChanged,body:g},"*");const m=await zu(g,e,t);p===-1&&(p=m.page_count);const y=m.tasks;for(const x of y){const k=n.caseSensitive?x.name:x.name.toLowerCase(),I=n.caseSensitive?x.info_hash:x.info_hash.toLowerCase(),E=n.caseSensitive?x.url:x.url?.toLowerCase(),D=r&&n.fuzzyName?k.includes(r):false,O=a?a.test(k):false,H=l&&I===l,j=c&&E===c;if((u?u===x.status.toString():true)&&(D||O||H||j)&&(i.push(x),f))break}if(f&&i.length)break}return i}async function zS(){if(!(await to()).fixGotoPage)return;const t=await qe("#js-page");if(!t){console.warn("[fixGotoPage] 找不到`#js-page`");return}const n=async r=>{if(r.key!=="Enter")return;const a=r.target,l=parseInt(a.value);if(isNaN(l)){a.select();return}parent.window.Core.OFFL5Plug.ChangePage(l);},o=async(r=false)=>{const a=t.querySelector('input[rel="page_jump"]');if(!a)return;const l=Ue(`
      <input rel="page_jump" type="text" style="background-color: #fefcea;" />
    `);l.title=`这是 ${TS.name} 替换的输入框,如果想恢复原有的输入框,请在「离线设置」中关闭「修复输入页码跳转」选项`,l.addEventListener("keydown",n),a.insertAdjacentElement("beforebegin",l),a.remove(),r&&l.focus();},i=lt(async r=>{o(true);},50),s=new MutationObserver(async([r])=>{r.type==="childList"&&i(r);});o(false),s.observe(t,{childList:true});}async function HS(e){const t=$t();if(!e.noGotoTaskPage||window!==window.top||t.Core.OFFL5Plug)return;async function n(o){t.Core&&o(true);}try{await Wo(n,250,3e4),t.Core.OFFL5Plug||t.$.getScript("https://cdnres.115.com/site/static/plug/offline_wl/offline5.0.js",()=>{t.Core.OFFL5Plug.AddClient({});});}catch(o){throw new Error(`[disableGotoTaskPage] wait Core failed:${o.message}`)}}const VS={class:"ce-config ce-offline-config"},qS={class:"pure-control-group"},WS={class:"pure-control-group"},KS={class:"pure-control-group"},GS={class:"pure-control-group"},JS={class:"pure-control-group"},YS={class:"pure-control-group"},QS={class:"pure-control-group"},XS={class:"pure-control-group"},ZS=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>to()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await Pw(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(i,s)=>(_(),A("div",VS,[d("form",{class:"pure-form pure-form-aligned offline-exporter-config-form",onSubmit:s[8]||(s[8]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("div",qS,[s[9]||(s[9]=d("label",{for:"noGotoTaskPage"},"添加任务后不跳转",-1)),J(d("input",{id:"noGotoTaskPage",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.noGotoTaskPage=r)},null,512),[[we,o.value.noGotoTaskPage]]),s[10]||(s[10]=d("div",{class:"pure-form-message text-success"}," 官方的添加离线任务在添加任务后可能会跳转到任务列表页,开启此选项可以避免跳转。 ",-1))]),d("div",WS,[s[11]||(s[11]=d("label",{for:"enableListManagement"},"启用批量管理",-1)),J(d("input",{id:"enableListManagement",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.enableListManagement=r)},null,512),[[we,o.value.enableListManagement]]),s[12]||(s[12]=d("div",{class:"pure-form-message text-success"}," 可以选中多个任务进行操作,支持shift多选。 ",-1))]),d("div",KS,[s[13]||(s[13]=d("label",{for:"showInfoHash"},"显示链接哈希",-1)),J(d("input",{id:"showInfoHash",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.showInfoHash=r)},null,512),[[we,o.value.showInfoHash]]),s[14]||(s[14]=d("div",{class:"pure-form-message text-success"}," 显示离线任务的哈希文本,点击可以复制。 ",-1))]),d("div",GS,[s[15]||(s[15]=d("label",{for:"fixGotoPage"},"修复输入页码跳转",-1)),J(d("input",{id:"fixGotoPage",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>o.value.fixGotoPage=r)},null,512),[[we,o.value.fixGotoPage]]),s[16]||(s[16]=d("div",{class:"pure-form-message text-success"}," 如果官方的输入页码跳转功能异常,可开启此选项。 ",-1))]),d("div",JS,[s[17]||(s[17]=d("label",{for:"batchDeleteHttpFtp"},"批量删除http(s)/ftp任务",-1)),J(d("input",{id:"batchDeleteHttpFtp",type:"checkbox","onUpdate:modelValue":s[4]||(s[4]=r=>o.value.batchDeleteHttpFtp=r)},null,512),[[we,o.value.batchDeleteHttpFtp]]),s[18]||(s[18]=d("div",{class:"pure-form-message text-success"},[L(' "根据链接删除"功能支持http,https,ftp链接。'),d("b",{class:"text-danger"},"请注意,需要先查找到对应的任务才能删除"),L("。 ")],-1))]),s[25]||(s[25]=d("div",{class:"ce-tips"},"以下是导出链接相关选项",-1)),d("div",YS,[s[19]||(s[19]=d("label",{for:"onlyMagnetEd2k"},"只取磁力和ED2K链接",-1)),J(d("input",{id:"onlyMagnetEd2k",type:"checkbox","onUpdate:modelValue":s[5]||(s[5]=r=>o.value.onlyMagnetEd2k=r)},null,512),[[we,o.value.onlyMagnetEd2k]]),s[20]||(s[20]=d("div",{class:"pure-form-message text-success"}," 导出链接时,只取磁力和ED2K链接,其他比如http链接会被略过。 ",-1))]),d("div",QS,[s[21]||(s[21]=d("label",{for:"enableOptimization"},"启用导出优化",-1)),J(d("input",{id:"enableOptimization",type:"checkbox","onUpdate:modelValue":s[6]||(s[6]=r=>o.value.enableOptimization=r)},null,512),[[we,o.value.enableOptimization]]),s[22]||(s[22]=d("div",{class:"pure-form-message text-success"}," 据观察,离线记录列表是将未完成的记录放在最前面的。如果只需导出未完成链接, 当获取到一个已完成的记录时,便可以停止继续获取后面的记录,节省时间。 ",-1))]),d("div",XS,[s[23]||(s[23]=d("label",{for:"maxPage"},"最多导出页数",-1)),J(d("input",{id:"maxPage",type:"number","onUpdate:modelValue":s[7]||(s[7]=r=>o.value.maxPage=r),min:0},null,512),[[He,o.value.maxPage]]),s[24]||(s[24]=d("div",{class:"pure-form-message text-success"}," 0表示不限制,否则表示最多导出的页数。 ",-1))])])],32)]))}}),Lw=Ae(ZS,[["__file","Config.vue"]]);function hp(e){return /^magnet:\?xt=urn:btih/.test(e)}function mp(e){return /^ed2k:\/\/\|file\|/.test(e)}function eE(e){return /^https?:\/\//.test(e)}function tE(e){return /^ftp:\/\//.test(e)}function gp(e){return `magnet:?xt=urn:btih:${e.toUpperCase()}`}function Mw(e){const t=e.match(/([a-z\d]{32,40})/i);return t?t[1]:""}function nE(e,t=true){return (t?/^([a-z\d]{32})$|^([a-z\d]{40})$/i:/^[a-z\d]{32,40}$/i).test(e)}async function Ow(){const t=(await Ot().get("https://my.115.com/?ct=ajax&ac=nav",{timeout:3e4,withCredentials:true})).data;if(t.state)return t.data;throw new Error(t.error)}const oE={class:"ce-offline-exporter"},iE={key:0},ys=`\r
`,sE=xe({__name:"OflineExporter",setup(e){let t,n;const o=K([]);let i={};Ht(async()=>{i=await to(),t=await Ow(),console.log("[profile]",t),n=await Iw(),console.log("[space]",n),s(),await LS(i);});async function s(){window.addEventListener("message",x=>{const{event:k,body:I}=x.data;switch(k){case yi.selection:o.value=I;break;case yi.configChanged:i=I;break}},false);}async function r(x=false,k=""){const I=await to(),{isConfirmed:E,value:D}=await q.fire({title:"根据链接删除离线任务",html:`
      <div>每行一个链接,支持磁力链接和ED2K链接</div>
      <div>
        <label class="swal2-checkbox">
          <input type="checkbox" id="swalDeleteFile">
          <span class="swal2-label text-danger">同时删除文件</span>
        </label>
      </div>
      <div>
        <label class="swal2-checkbox">
          <input type="checkbox" id="swalBatchDeleteHttpFtp" ${I.batchDeleteHttpFtp?"checked":""}>
          <span class="swal2-label">支持http(s)/ftp链接(<span class="text-danger">需逐个查找后删除!</span>)</span>
        </label>
      </div>
      <div>
        <textarea id="swalUrls" aria-label="每行一个链接" class="swal2-textarea" placeholder="每行一个链接" style="width:80%;"></textarea>
      </div>
    `,focusConfirm:false,didOpen:()=>{const B=document.getElementById("swalDeleteFile");B.checked=x;const R=document.getElementById("swalUrls");R.value=k,R.focus();},preConfirm:()=>{const B=document.getElementById("swalUrls");if(!(B?B.value.trim():""))return q.showValidationMessage("请输入链接!"),B.select(),false;const G=document.getElementById("swalDeleteFile"),ce=document.getElementById("swalBatchDeleteHttpFtp");return {deleteFile:G?G.checked:false,batchDeleteHttpFtp:ce?ce.checked:false,urls:B?B.value.trim():""}},width:620,inputPlaceholder:"每行一个",inputAttributes:{"aria-label":"每行一个"},showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消",customClass:{popup:"ce-swal-text-left"}});if(!E)return;if(!D||!D.urls){Y({icon:"error",title:"请输入链接!"});return}console.log("[value]",D);const O=new Set,H=new Set,j=D.urls.trim().split(`
`);for(let B=0;B<j.length;B++){const R=j[B].trim();if(hp(R)||mp(R)){const G=Mw(R);G&&H.add(G.toLowerCase());}(eE(R)||tE(R))&&O.add(R);}const ae=[`共有 ${j.length} 行链接,`];let fe=0;if(H.size&&(fe+=H.size,ae.push(`其中 ${H.size} 个是 magnet/ed2k 链接,`)),O.size&&(fe+=O.size,ae.push(`其中 ${O.size} 个是 http(s)/ftp 链接,`)),!fe){Y({icon:"error",title:"没有有效链接"});return}if(H.size){const B=await a(Array.from(H),D.deleteFile);B&&ae.push(`删除 magnet/ed2k 任务结果: ${B}`);}let se={};if(O.size&&D.batchDeleteHttpFtp){const{issue:B,missingUrls:R=[]}=await l(Array.from(O),D.deleteFile,true);B&&ae.push(`删除 http(s)/ftp 任务结果: ${B}`),R.length&&(ae.push(`有 ${R.length} 个 http(s)/ftp 链接未找到对应任务,具体请点击"复制未找到链接"按钮查看。`),se={showDenyButton:true,denyButtonText:"复制未找到链接",preDeny:async()=>(ft(R.join(ys)),Y({icon:"success",title:"已复制到剪贴板",timer:800,position:"top-end"}),false)});}q.fire({title:"操作完成",icon:"info",html:ae.join("<br>"),customClass:{popup:"ce-swal-text-left"},...se});}async function a(x,k){if(!x.length)return null;q.fire({html:`正在删除 ${x.length} 个任务...`}),q.showLoading();try{await Hu(x,n,k,t.user_id);}catch(I){console.error(I);const E=I.message||I.toString();return q.fire({title:"删除失败",icon:"error",html:E}),E}try{await Vu(x);}catch(I){console.error(I);}return `成功删除 ${x.length} 个任务`}async function l(x,k,I=false){if(!x.length)return {issue:null};const E=await to();if(!I&&!E.batchDeleteHttpFtp)return {issue:null};x=Array.from(new Set(x));let D=0;q.fire({html:`开始查找 ${x.length} 个 http(s)/ftp 任务...`}),q.showLoading();const O=()=>{const R=D?`,已找到 ${D} 个`:"";q.update({html:`正在查找 ${x.length} 个 http(s)/ftp 任务...${R}`});},H=new Map;let j=1;const ae=E.maxPage>0?E.maxPage:9999;for(;;){O();const R=await zu(j,n.sign,t.user_id);if(!R.tasks||!R.tasks.length)break;for(const G of R.tasks)!G.url||!G.info_hash||x.includes(G.url)&&!H.has(G.url)&&(H.set(G.url,G.info_hash),D++,O());if(j>=ae||j>=R.page_count)break;j++;}if(!H.size)return {issue:"未找到符合条件的 http(s)/ftp 任务"};const fe=x.filter(R=>!H.has(R)),se=Array.from(H.values()),B=await a(se,k);return B?{issue:B,missingUrls:fe}:{issue:null,missingUrls:fe}}async function c(){const x=o.value.map(D=>D.info_hash);if(!x.length)return;const{isConfirmed:k,value:I}=await q.fire({title:"批量删除",icon:"warning",html:`确定要删除选中的 ${x.length} 个离线记录吗?`,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件",showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"});if(!k)return;const E=!!I;q.showLoading(),q.update({html:"正在删除..."}),await Hu(x,n,E,t.user_id),Y({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Vu(x),o.value=[];}async function u(x){const k=[x];i.onlyMagnetEd2k&&k.push(tn.magnetEd2k),console.log("[filters]",k),await y(n.sign,t.user_id,k);}function f(x,k){if(!k.length||k.length===1&&k[0]==="all")return x;const I={[sn.failed]:tn.failed,[sn.illegal]:tn.failed,[sn.ing]:tn.failed,[sn.success]:tn.success};return x=x.filter(E=>{if(!E.url&&!E.info_hash)return  false;const D=I[E.status];return k.includes(tn.all)||D&&k.includes(D)?!(k.includes(tn.magnetEd2k)&&(!nE(E.info_hash)||E.url&&!hp(E.url)&&!mp(E.url))):false}),x}async function p(x,k,I){let E=[],D=1,O=0;for(;;){q.update({html:`正在导出... 进度:第 ${D} 页`+(O?` / ${O}`:""),allowOutsideClick:false});const H=await zu(D,x,k);if(!H.tasks||!H.tasks.length)break;if(O===0&&i.maxPage>0?O=Math.min(H.page_count,i.maxPage):O=H.page_count,E=[...E,...f(H.tasks,I)],i.enableOptimization&&I.includes(tn.failed)&&g(H.tasks)){console.warn("由于开启了导出优化,且检测到已获取的记录中至少有一个「已完成」的记录,将不再获取剩下的记录");break}if(D>=O)break;D++;}return E}function g(x){for(const k of x)if(k.status===sn.success)return  true;return  false}async function m(){const x=[tn.all];i.onlyMagnetEd2k&&x.push(tn.magnetEd2k),console.log("[filters]",x);const k=o.value;if(!k.length)return;const I=[];k.forEach(E=>{!E.url&&E.info_hash&&(E.url=gp(E.info_hash)),I.push(E.url);}),I.length&&(ft(I.join(ys)),console.log("[links]",I),await q.fire({title:"导出成功",icon:"success",html:`成功导出 ${I.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Yr(I.join(ys),`115离线链接_数量${I.length}_${di()}.txt`),false)}));}async function y(x,k,I){q.fire({title:"导出离线链接",html:"正在导出...",didOpen:()=>{q.showLoading();}});const E=await p(x,k,I);if(q.hideLoading(),!E.length){await q.fire({title:"导出失败",icon:"error",html:"查询不到符合条件的离线记录!"});return}const D=[];if(E.forEach(O=>{!O.url&&O.info_hash&&(O.url=gp(O.info_hash)),D.push(O.url);}),!D.length){await q.fire({title:"导出失败",icon:"error",html:"未完成的离线记录中没有磁力或HTTP链接!"});return}ft(D.join(ys)),console.log("[links]",D),await q.fire({title:"导出成功",icon:"success",html:`成功导出 ${D.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Yr(D.join(ys),`115离线链接_数量${D.length}_${di()}.txt`),false)});}return (x,k)=>{const I=_o("VDropdown");return _(),A("span",oE,[o.value.length?(_(),A("span",iE,[d("button",{type:"button",class:"pure-button button-small button-error",onClick:c},[k[4]||(k[4]=L("删除(",-1)),d("span",null,U(o.value.length),1),k[5]||(k[5]=L(")",-1))]),k[6]||(k[6]=L("      ",-1))])):de("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:k[0]||(k[0]=E=>r(false,"")),title:"填写链接以删除对应的离线任务"},"根据链接删除"),k[9]||(k[9]=L("   ",-1)),o.value.length?(_(),A("button",{key:1,type:"button",class:"pure-button button-mini button-warning",onClick:m,title:"导出选中任务的链接"},[k[7]||(k[7]=L("导出已选",-1)),d("span",null,"("+U(o.value.length)+")",1)])):de("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:k[1]||(k[1]=E=>u(te(tn).failed)),title:"导出未完成链接"},"导出未完成"),d("button",{type:"button",class:"pure-button button-mini button-success",onClick:k[2]||(k[2]=E=>u(te(tn).success)),title:"导出已完成链接"},"导出已完成"),d("button",{type:"button",class:"pure-button button-mini button-warning",onClick:k[3]||(k[3]=E=>u(te(tn).all)),title:"导出全部链接"},"导出全部"),k[10]||(k[10]=L("   ",-1)),re(I,{distance:5,"arrow-padding":10},{popper:me(()=>[(_(),nt(kg,null,{default:me(()=>[re(Lw)]),_:1}))]),default:me(()=>[k[8]||(k[8]=d("button",{type:"button",class:"pure-button button-mini"},"设置",-1))]),_:1,__:[8]})])}}}),rE=Ae(sE,[["__file","OflineExporter.vue"]]),aE=["cate_id","delete_id","status","hash"],lE={class:"file-name-wrap"},uE={class:"file-name"},cE={task_popup:"goto",href:"javascript:;",class:"name"},dE={rel:"name"},fE={class:"desc-tips",rel:"file_down_violations"},pE={class:"txt-red",rel:"file_down_tips"},hE=["filename"],mE={class:"file-size"},gE={class:"file-process"},wE={rel:"progress"},yE={class:"file-operate",rel:"opt"},bE=["cp_href"],vE=xe({__name:"OfflineItem",props:{item:{},space:{},profile:{}},setup(e){const t=Ke(()=>s.item.percentDone?parseInt(s.item.percentDone.toString()):0),n=Ke(()=>{const{name:r,del_path:a}=s.item;let l=r.replace(/^.*\./,"");return a&&/\/$/.test(a)&&(l="folder"),/^[a-z\d]+$/i.test(l)||(l="unknown"),l}),o=Ke(()=>{const{err:r}=s.item;return r?R0[r]:""}),i=Ke(()=>s.item.can_appeal===1),s=e;return (r,a)=>(_(),A("li",{complete:"",cate_id:r.item.file_id,delete_id:r.item.delete_file_id,status:r.item.status,hash:r.item.info_hash},[d("div",lE,[d("i",{class:De(["file-type",`tp-${n.value}`])},null,2),d("div",uE,[d("em",null,[d("a",cE,[d("span",dE,U(r.item.name),1)])])]),J(d("div",fE,[d("span",pE,U(o.value),1),J(d("a",{href:"javascript:;",class:"btn-link",filename:r.item.name,rel:"violations_down_btn"},"去申诉",8,hE),[[Gt,i.value]])],512),[[Gt,o.value]])]),d("div",mE,[d("span",null,U(te(Wi)(r.item.size)),1)]),d("div",gE,[r.item.status===te(sn).failed?(_(),A($e,{key:0},[a[0]||(a[0]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[1]||(a[1]=d("span",{rel:"progress"},"下载失败",-1))],64)):r.item.status===te(sn).success?(_(),A($e,{key:1},[a[2]||(a[2]=d("i",{class:"icon-file-status ifst-success"},null,-1)),a[3]||(a[3]=d("span",{rel:"progress"},"下载成功",-1))],64)):r.item.status===te(sn).ing?(_(),A($e,{key:2},[a[4]||(a[4]=d("i",{class:"icon-file-status ifst-downing"},null,-1)),d("span",wE,U(t.value)+"%",1)],64)):r.item.status===te(sn).illegal?(_(),A($e,{key:3},[a[5]||(a[5]=d("i",{class:"icon-file-status ifst-violation"},null,-1)),a[6]||(a[6]=d("span",{rel:"progress"},"违规",-1))],64)):(_(),A($e,{key:4},[a[7]||(a[7]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[8]||(a[8]=d("span",{rel:"progress"},"[未知]",-1))],64))]),d("div",yE,[a[10]||(a[10]=d("a",{href:"javascript:;",task_popup:"goto"},[d("i",{class:"icon-operate ifo-opendir"}),d("s",null,"跳转到目录")],-1)),d("a",{href:"javascript:;",cp_href:r.item.url,task_popup:"copy"},a[9]||(a[9]=[d("i",{class:"icon-operate ifo-copy"},null,-1),d("s",null,"复制",-1)]),8,bE),a[11]||(a[11]=d("a",{href:"javascript:;",class:"btn-delete-offline"},[d("i",{class:"icon-operate ifo-remove"}),d("s",null,"删除")],-1))])],8,aE))}}),xE=Ae(vE,[["__file","OfflineItem.vue"]]),_E={class:"ce-offline-list"},CE=xe({__name:"OfflineList",props:{items:{},space:{},profile:{}},setup(e){return (t,n)=>(_(),A("div",_E,[d("ul",null,[(_(true),A($e,null,je(t.items,(o,i)=>(_(),nt(xE,{Key:i,item:o,space:t.space,profile:t.profile},null,8,["Key","item","space","profile"]))),256))])]))}}),kE=Ae(CE,[["__file","OfflineList.vue"]]),$E={class:"form-item",label:"关键词"},SE=["value"],EE={class:"form-item"},AE={class:"form-item",label:"状态"},PE=["value"],IE=["value"],DE={class:"form-item",label:"页数"},TE={class:"form-item"},LE={key:0,title:"根据「名称/名称正则」查找时,是否在找到一个结果时停止继续查找"},ME={key:0,class:"search-tips"},OE={class:"tips-body"},BE={key:0},RE=xe({__name:"OfflineSearcher",setup(e){let t,n;const o=K(),i=K({KeywordType:qr.name,keyword:"",status:sn.any,maxPage:5,stopOnFound:false});let s={...i.value};const r=K(null),a=K(false),l=K([]),c=K(null),u=K({content:"",subContent:"",visible:false});Ht(async()=>{t=await Ow(),n=await Iw(),o.value=await to(),i.value.KeywordType=o.value.searchKeywordType,i.value.status=o.value.searchStatus,i.value.maxPage=o.value.searchMaxPage,i.value.stopOnFound=o.value.searchStopOnFound,s={...i.value},document.body.addEventListener("click",H=>{D(H);}),f();}),ze(i,lt(async H=>{console.log("[searchParams changed]",Pc(H)),g();},200),{deep:true});async function f(){window.addEventListener("message",H=>{const{event:j,body:ae}=H.data;switch(j){case yi.searchPageChanged:p(ae);break;case yi.configChanged:o.value={...ae};break}},false);}async function p(H){console.log("[handleSearchPageChanged]",H),await O({subContent:`正在搜索第 ${H} 页...`,visible:true});}async function g(){const H=await to();let j=0;s.KeywordType!==i.value.KeywordType&&(H.searchKeywordType=i.value.KeywordType,j++),s.status!==i.value.status&&(H.searchStatus=i.value.status,j++),s.maxPage!==i.value.maxPage&&(H.searchMaxPage=i.value.maxPage,j++),s.stopOnFound!==i.value.stopOnFound&&(H.searchStopOnFound=i.value.stopOnFound,j++),j&&(await Pw(H),console.log("[handleSearchParamsChange]",H),o.value={...H}),s={...i.value};}async function m(H){r.value?.select();}async function y(H){i.value.keyword="",r.value?.focus();}async function x(){l.value=[],i.value.keyword="",s={...i.value},await O({visible:false}),await I(false);try{parent.window.Core.OFFL5Plug.ChangePage(1);}catch(H){console.error(H);}}async function k(){l.value=[];let{keyword:H}=i.value;if(H=H.trim(),H===""){await mi(),r.value?.select(),Bi.fire({icon:"warning",title:"关键词不能为空!"});return}a.value=true,await O({content:"正在搜索...",subContent:"",visible:true});try{const j={status:i.value.status,maxPage:i.value.maxPage,fuzzyName:!0,caseSensitive:!1,stopOnFound:i.value.stopOnFound};j[i.value.KeywordType]=i.value.keyword,j.infoHash&&(j.infoHash=Mw(j.infoHash)),console.log("[search filter]",j);const ae=await jS(n.sign,t.user_id,j,o.value);l.value=ae,console.log("[search result]",ae),ae.length>0?await O({visible:!1}):await O({content:"没有符合条件的离线任务",subContent:"",visible:!0}),await I(!0);}catch(j){console.warn("[search error]",j),Bi.fire({icon:"error",title:j.toString()}),await O({content:"搜索失败!",subContent:j.toString(),visible:true});}finally{a.value=false;}}async function I(H=true){!l.value.length&&H&&Bi.fire({icon:"warning",html:"没有符合条件的离线任务"}),await mi();const j=c.value?.querySelector("ul");if(!j)return;const ae=document.querySelector("ul#js-warp");ae&&(ae.innerHTML=j.innerHTML),await E(),r.value?.focus();}async function E(){const H=l.value.length,j=document.querySelector("#js-page");if(!j)return;const ae=j.querySelector(".left-bvf span");ae.textContent=`共搜索到 ${H} 个结果`;const fe=j.querySelector(".pagination .con");fe.style.display="none";}async function D(H){let j=H.target;if(j.classList.contains("ifo-remove")&&(j=j.closest("a")),!j.classList.contains("btn-delete-offline"))return;const ae=j.closest("li"),fe=await Dw(ae),se=[fe.info_hash];let B={title:"删除离线记录",icon:"warning",html:`确定要删除「${fe.name}」吗?`,showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"};fe.delete_file_id&&(B={...B,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件"});const{isConfirmed:R,value:G}=await q.fire(B);if(!R)return;const ce=!!G;q.showLoading(),q.update({html:"正在删除..."}),await Hu(se,n,ce,t.user_id),Y({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Vu(se);}async function O(H){u.value={...u.value,...H};}return (H,j)=>(_(),A("div",{class:De(["ce-offline-searcher",{loading:a.value}])},[d("form",{inline:"",class:"pure-form search-form",size:"small",onSubmit:j[5]||(j[5]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("div",$E,[J(d("select",{"onUpdate:modelValue":j[0]||(j[0]=ae=>i.value.KeywordType=ae),size:"small",onChange:m},[(_(true),A($e,null,je(te(IS),(ae,fe)=>(_(),A("option",{key:fe,value:fe},U(ae),9,SE))),128))],544),[[wn,i.value.KeywordType]])]),d("div",EE,[d("div",{class:De(["clearable-wrap",{"is-empty":i.value.keyword===""}])},[J(d("input",{ref_key:"refKeyword",ref:r,"onUpdate:modelValue":j[1]||(j[1]=ae=>i.value.keyword=ae),placeholder:"请输入关键词",clearable:"",onKeyup:Fg(k,["enter"])},null,544),[[He,i.value.keyword]]),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall btn-clear",onClick:y},"×")],2)]),d("div",AE,[J(d("select",{"onUpdate:modelValue":j[2]||(j[2]=ae=>i.value.status=ae),placeholder:"请选择",clearable:"",style:{width:"90px"}},[d("option",{value:te(sn).any},"-状态-",8,PE),(_(true),A($e,null,je(te(PS),(ae,fe)=>(_(),A("option",{key:fe,value:fe},U(ae),9,IE))),128))],512),[[wn,i.value.status]])]),d("div",DE,[J(d("input",{type:"number","onUpdate:modelValue":j[3]||(j[3]=ae=>i.value.maxPage=ae),min:1,max:1e5,title:"最多查找页数"},null,512),[[He,i.value.maxPage]]),j[6]||(j[6]=d("small",null,"页",-1))]),d("div",TE,[[te(qr).name,te(qr).nameRegex].includes(i.value.KeywordType)?(_(),A("label",LE,[J(d("input",{type:"checkbox","onUpdate:modelValue":j[4]||(j[4]=ae=>i.value.stopOnFound=ae),class:"stop-on-found"},null,512),[[we,i.value.stopOnFound]]),j[7]||(j[7]=L(" 找到即停 ",-1))])):de("",true),d("button",{type:"button",class:"pure-button pure-button-primary button-small",onClick:k},"查找"),j[8]||(j[8]=L("    ",-1)),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall",onClick:x,title:"清空关键词;重置列表到非查找状态"},"重置")])])],32),d("div",{ref_key:"refList",ref:c,class:"list"},[re(kE,{items:l.value,space:te(n),profile:te(t)},null,8,["items","space","profile"])],512),u.value.visible?(_(),A("div",ME,[d("div",OE,[d("h2",null,U(u.value.content),1),u.value.subContent?(_(),A("p",BE,U(u.value.subContent),1)):de("",true)])])):de("",true)],2))}}),FE=Ae(RE,[["__file","OfflineSearcher.vue"]]),NE='@charset "UTF-8";.cloud115-page-offline.ce-list-m .list-contents .file-name-wrap .desc-tips{left:75px}.cloud115-page-offline.ce-list-m li.ce-task-trouble .info-hash{left:210px!important}.cloud115-page-offline li .ce-buttons{float:left;margin-right:6px}.cloud115-page-offline .ce-checkbox{width:30px}.cloud115-page-offline .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp .info-hash{position:absolute;left:47px;top:25px;color:#ababab;cursor:pointer}.cloud115-page-offline #js-warp .info-hash.hover{color:#6ab2ff}.cloud115-page-offline #js-warp li.ce-selected:before{background:#ffe296!important}.cloud115-page-offline #js-warp li.ce-show-checkbox .info-hash{left:60px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-name{margin-left:15px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-type{left:25px!important}.cloud115-page-offline #js-warp li .ce-checkbox{width:30px;position:absolute;left:0}.cloud115-page-offline #js-warp li .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp li .desc-tips{position:absolute;left:60px;top:25px}.cloud115-page-offline.ce-offline-in-dialog .ce-offline-searcher,.cloud115-page-offline.ce-offline-in-dialog .ce-offline-exporter{left:100px}';At(NE);async function UE(){const e=await to(),{host:t,search:n}=location;t==="115.com"&&HS(e),!(t!=="115.com"||!n.includes("offline=1"))&&(n.includes("file_dialog_iframe")&&document.body.classList.add("ce-offline-in-dialog"),await jE(),await zE(),zS());}async function jE(){console.log("[Cloud115 Enhancer] Injecting offline exporter...");const e="cloud115OfflineExporter",t=await to();document.body.classList.add("cloud115-page-offline"),t.enableListManagement&&document.body.classList.add("ce-list-m"),$("body").append(`<div id="${e}"/>`);const n=lo(rE);n.component("VDropdown",Ai),n.mount(`#${e}`);}async function zE(){console.log("[Cloud115 Enhancer] Injecting offline searcher...");const e="cloud115OfflineSearcher",t=await to();document.body.classList.add("cloud115-page-offline"),t.enableSearcher&&document.body.classList.add("ce-list-s"),$("body").append(`<div id="${e}"/>`);const n=lo(FE);n.component("VDropdown",Ai),n.mount(`#${e}`);}var Jt=(e=>(e.UNKNOWN="unknown",e.OPEN_CLEANER="openCleaner",e.CLOSE_CLEANER="closeCleaner",e.CLEANER_OPENED="cleanerOpened",e.INVOKE_FILTER="invokeFilter",e.OPEN_EMPTY_CLEANER="openEmptyCleaner",e.CLOSE_EMPTY_CLEANER="closeEmptyCleaner",e.EMPTY_CLEANER_OPENED="emptyCleanerOpened",e))(Jt||{});const HE={class:"cloud115-eh-cleaner-trigger"},VE=xe({__name:"Trigger",setup(e){K(false);const t=K(true);async function n(a){switch(a.data.type){case Jt.INVOKE_FILTER:await vm(a.data.payload);break;case Jt.CLEANER_OPENED:await r(a.data.payload);break}}Ht(async()=>{console.log("[CleanerTrigger onMounted]"),window.addEventListener("message",n);}),$i(()=>{console.log("[CleanerTrigger onUnmounted]"),window.removeEventListener("message",n);});async function o(){await s(),ci({type:Jt.OPEN_CLEANER},window.parent);}let i;async function s(){const a=es("cid");!a||a==="0"||(clearTimeout(i),i=setTimeout(async()=>{Y({icon:"error",text:"打开清理工具失败!"});},1e3));}async function r(a){console.log("成功打开Cleaner"),clearTimeout(i);}return (a,l)=>J((_(),A("span",HE,[Ge(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理文件工具"},l[0]||(l[0]=[d("span",null,"清理文件",-1)]))])],512)),[[Gt,t.value]])}}),qE=Ae(VE,[["__file","Trigger.vue"]]);function vd(e={}){return {initialized:false,suffixGroup:"",keywordGroup:"",showEntryOnPathBar:true,pageSize:1150,reqInterval:100,deleteSize:1150,keywordDefaultCategory:"all",keywordDefaultResult:"all",cleanWithoutConfirm:false,...e}}async function br(){const e=vd(),t=await Xe.get(gt.cleanerConfig,e);return {...e,...t,pageSize:1150,reqInterval:100,deleteSize:1150}}async function WE(e){return await Xe.set(gt.cleanerConfig,e)}async function xd(e){const t=await br();return await WE({...t,...e})}var Re=(e=>(e[e.suffix=0]="suffix",e[e.keyword=1]="keyword",e))(Re||{}),et=(e=>(e[e.filter=0]="filter",e[e.dirKeyword=1]="dirKeyword",e[e.fileKeyword=2]="fileKeyword",e[e.fileHash=3]="fileHash",e))(et||{});const Bw={0:"筛选",1:"目录名关键词",2:"文件名关键词",3:"文件sha1"};var Dt=(e=>(e[e.append=0]="append",e[e.cover=1]="cover",e[e.clear=2]="clear",e[e.reset=3]="reset",e[e.assign=4]="assign",e))(Dt||{}),go=(e=>(e.all="all",e.file="file",e.dir="dir",e))(go||{});const KE={all:"全部",file:"文件",dir:"目录"};var jo=(e=>(e.all="all",e.matched="matched",e.notMatched="unmatched",e))(jo||{});const GE={all:"全部",matched:"有匹配",unmatched:"无匹配"};var Et=(e=>(e.none="",e.prepare="查询文件...",e.prepared="查询文件完成",e.prepareFailed="查询失败",e.deleting="删除文件中...",e.success="清理完成",e.failed="清理失败",e))(Et||{});const JE=new Map([[hn.all,on.all],[hn.video,on.video],[hn.audio,on.audio],[hn.image,on.image],[hn.doc,on.doc],[hn.app,on.app],[hn.archive,on.archive]]),qu=A0(JE),YE=[["文件名关键词","广告abc","包含`广告abc`,不区分大小写"],["目录名关键词","#广告abc","在关键词前面加上`#`"],["策略-不可分割匹配",'"广告 abc"',"匹配`广告 abc啊`,不匹配`广告啊abc`,即空格部分也进行匹配,使用双引号包裹关键词。"],["文件sha1","7309dd0d50007e027180f02301ccba8ba0fd971f//文件xxx","关键词部分长度为40且只包含a-f0-9的文本会被视为sha1"],["策略-区分大小写","广告abc/s","在关键词后面加上`/s` (s 可理解为 sensitive 首字母)"],["策略-等于","广告abc.mp4/=","在关键词后面加上`/=`,不区分大小写"],["策略-等于且区分大小写","广告abc.mp4/==","在关键词后面加上`/==`,也可以用`/s,=` (多个策略使用英文逗号隔开)"],["策略-指定最大大小","广告abc.mp4/10","在关键词后面加上`/10`,该大小将覆盖所在分组的设定"],["策略-正则表达式","^abc/r","在关键词后面加上`/r`"],["添加备注","广告abc//备注内容","在策略后面加上`/备注内容`,`//`表示策略为空,有策略的示例: 广告abc/s/备注内容"]],QE="##",_d="#",XE="=",ZE="==",eA="s",tA="r",Rw="#",nA=[{type:Re.suffix,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:5,values:["txt","url","html","htm","mht"]},{type:Re.suffix,queryOnly:true,label:"🔍115筛选",memo:"仅用于查询",size:102400,values:["#视频","#音频","#图片","#文档","#应用","#压缩包"]}],oA=["#論壇文宣","#宣傳文本","最新地址","最新网址","论坛地址","永久地址","地址发布","扫码 安装","扫码 下载","免費 掃碼","澳门 赌场","皇冠 赌场","免费18禁手游","免费黄游手游","在线影城","秀场 小视频","裸秀 主播 免费看","第一会所 宣传","SIS 影视联盟",'"最 新 位 址 獲 取"','"社 區 最 新 情 報"','"聚 合 全 網 H 直 播"'],iA=["#論壇文宣","美女 裸聊","秀场 视频","澳门 赌场","皇冠 赌场","影视 联盟","2048 社区","1024 社区","会所 宣传","扫码 安装","社区 关注","免費 掃碼","找回家","防屏蔽","封殺00","秀场 小视频","裸秀 主播 免费看",'"Free Adult Movie"',"奔驰宝马","最新网址","最新免費","免费试用","美女荷官","凤凰娛樂","观看指南","女神在线","更多无水印","免费在线","国产精品","免費原版","獨家資源","成人光碟","最新AV","FDZone","发布器","QR-1024","在這等你","激情祼聊","看妹不用等","真人祼聊","zz.jpg","X8B9.COM.gif","第一会所 宣传","SIS 影视联盟","淘精網","激情咖啡","手機影城","免费手机看片","U視娛樂","加微信","我愛看片手機版","平台正式上線"],sA=[{type:Re.keyword,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:100,values:oA},{type:Re.keyword,queryOnly:false,label:"⚠️大杀器⚠️",memo:"请谨慎使用!",size:100,values:iA},{type:Re.keyword,queryOnly:true,label:"远程关键词示例",size:100,values:[],url:"https://gist.githubusercontent.com/northsea4/a6c1945eb12fe7a7ef125c323b83b3fc/raw?t={t}"},{type:Re.keyword,queryOnly:true,label:"只查询示例",memo:"这是一个示例",size:10240,values:["奔驰宝马","美女荷官",'"最 新 位 址 獲 取"']}];function oi(e={}){return {id:Date.now().toString(),type:Re.keyword,queryOnly:false,label:"",values:"",memo:"",size:0,sort:0,createdAt:0,updatedAt:0}}function rA(e,t){if(e=e.trim(),t===Re.keyword)return fA(e);if(t!==Re.suffix)return null;const n=lA(e);return {type:et.filter,value:e,maxSize:-1,forDir:false,isFilter:n,pattern:n?uA(e).toString():e,num:-1,fileIds:[],size:-1,status:Et.none}}function aA(e){return [Et.prepare,Et.deleting].includes(e.status)}function wp(e,t){const n=[];return aA(e)&&n.push("active"),(e.type===et.filter||e.isFilter)&&n.push("is-filter"),e.type===et.dirKeyword&&n.push("is-dir"),e.num&&n.push(`item-${jo.matched}`),e.num===0&&n.push(`item-${jo.notMatched}`),n}function lA(e){return new RegExp(`^${Rw}[\\S]{2,}`).test(e)}function uA(e){const t=new RegExp(`^${Rw}`);let n=e.replace(t,"");const o=qu.get(n);if(!o)throw new Error(`"${e}"不是有效的筛选!`);return o}async function ni(e,t){let n;typeof e=="string"?n=e.split(/[\r\n]+/):n=e;const o=new Set;for(let s=0;s<n.length;s++){const r=n[s].trim();r.length>1&&o.add(r);}const i=[];return o.forEach(s=>{const r=rA(s,t);r&&i.push(r);}),i}function cA(e){return /(^'.+'$)|(^".+"$)/.test(e)}function yp(e,t){return e===""||!t.patternRegexp?false:(t.pattern,t.patternRegexp.test(e))}function bp(e,t,n){const o=Fw(e);o.num=0,o.size=0,o.fileIds=[];const i=new Set;let s=0;n.maxSize&&(s=n.maxSize*1024*1024),e.maxSize>=0&&(s=e.maxSize*1024*1024);for(let r=0;r<t.length;r++){const a=!!t[r].fid,l=a?t[r].fid:t[r].cid;if(!l||(e.type===et.dirKeyword||e.type===et.fileKeyword)&&(a&&e.type!==et.fileKeyword||!a&&e.type!==et.dirKeyword)||e.type===et.filter&&!a)continue;const c=parseFloat(t[r].s);s&&a&&c>s||e.type===et.fileKeyword&&!yp(t[r].n,e)||e.type===et.dirKeyword&&!yp(t[r].n,e)||e.type===et.fileHash&&t[r].sha!==e.pattern.toUpperCase()||i.has(l)||(i.add(l),o.size+=c);}return o.fileIds=Array.from(i),o.num=o.fileIds.length,o}function Fw(e={}){return {type:et.fileKeyword,value:"",pattern:"",patternRegexp:null,maxSize:-1,size:-1,fullMatch:false,caseSensitive:false,isRegexp:false,impartible:false,memo:"",...e}}function dA(e){if(e=e.trim().replace(/\/+$/,"").replace(/^\/+/,""),e==="")return null;const t={caseSensitive:false,fullMatch:false,maxSize:-1,isRegexp:false};let n=false;const o=e.split(/\s*,\s*/);for(let i=0;i<o.length;i++)o[i]=o[i].trim(),o[i]!==""&&(/^\d+$/.test(o[i])&&(t.maxSize=parseInt(o[i])),o[i]===XE&&(t.fullMatch=true),o[i]===ZE&&(t.fullMatch=true,t.caseSensitive=true,n=true),o[i]===eA&&(t.caseSensitive=true,n=true),o[i]===tA&&(t.isRegexp=true));return t.isRegexp&&(t.caseSensitive=n?t.caseSensitive:false,t.fullMatch=false),t}function fA(e){const t=Fw();if(e=e.trim(),e===""||e.startsWith("//"))return null;if(/^[a-fA-F0-9]{40}(\/.*)?$/.test(e))return t.type=et.fileHash,t.value=e,t.pattern=e.substring(0,40).toLowerCase(),t.memo=e.length>41?e.substring(41):void 0,t;const n=/^(#+)?([^\/]+)(\/[^\/]*)?(\/.+)?/,o=e.match(n);if(o){if(o[2]==="")return null;if(o[3]){const i=dA(o[3]);i&&(t.caseSensitive=i.caseSensitive,t.fullMatch=i.fullMatch,t.maxSize=i.maxSize,t.isRegexp=i.isRegexp);}if(t.value=e,t.pattern=o[2].trim(),o[1]===QE)return t.type=et.filter,null;o[1]===_d?t.type=et.dirKeyword:t.type=et.fileKeyword,o[4]&&(t.memo=o[4].substring(1).trim());}return t.impartible=cA(t.pattern),t.impartible&&(t.pattern=t.pattern.replace(/^['"]|['"]$/g,"")),t.type===et.dirKeyword&&(t.maxSize=-1),t.patternRegexp=pA(t),t}function pA(e){if(e.pattern===""||![et.dirKeyword,et.fileKeyword].includes(e.type))return null;let t="";if(e.caseSensitive||(t+="i"),e.isRegexp)return new RegExp(e.pattern,t);let n=m0(e.pattern);return e.fullMatch&&(n=`^${n}$`),e.impartible||(n=n.replace(/\s+/g,".*")),new RegExp(n,t)}function hA(e){const{type:t,pattern:n,isRegexp:o}=e;return t===et.filter?qu.has(n)?{type:qu.get(n)}:/^\d$/.test(n)?{type:parseInt(n)}:{suffix:n}:o?{search_value:n.replace(/^\^/,"").replace(/\$$/,"")}:{search_value:n}}function bs(e,t,n){if(n){const o=lc(e,{});lu(e,{...o,...t});}else lu(e,t);}function mA(e={}){return Ic({okStatus:[200],useFileReader:false,fileReader:{encoding:"utf-8",checkBlank:true}},e)}async function Nw(e,t={}){return new Promise((n,o)=>{const i=t.useFileReader?"blob":"text";Ta({method:"GET",url:e,responseType:i,nocache:!t.cache,onload:async s=>{if(t.okStatus&&!t.okStatus.includes(s.status)&&o(new Error(`请求失败!status=${s.status},statusText=${s.statusText}`)),t.useFileReader){let r=s.response,a=new FileReader;a.onload=l=>{console.log("[load] onload",l);let c=l.target?.result;typeof c=="string"?t.fileReader.checkBlank&&c===""?o(new Error("读取内容为空字符串")):n(c):o(new Error("读取结果不是字符串"));},a.readAsText(r,t.fileReader.encoding);return}n(s.response);},onerror:s=>{console.error("[load] onerror",s),o(`请求失败!status=${s?.status},statusText=${s?.statusText}`);}});})}async function gA(e){try{new URL(e.url);}catch{throw new Error(`无效的URL:${e.url}`)}e.url.replace("{t}",Date.now().toString());let t="";try{t=await Nw(e.url);}catch(n){throw new Error(`无法加载URL:${n.toString()}`)}if(t=t.trim(),t==="")throw new Error("URL返回内容为空!");e.values=t,e.lastSync=di();}const Uw=function(){return document.ontouchstart!==null?"click":"touchstart"},ka="__vue_click_away__",jw=function(e,t,n){zw(e);let o=n.context,i=t.value,s=false;setTimeout(function(){s=true;},0),e[ka]=function(r){if((!e||!e.contains(r.target))&&i&&s&&typeof i=="function")return i.call(o,r)},document.addEventListener(Uw(),e[ka],false);},zw=function(e){document.removeEventListener(Uw(),e[ka],false),delete e[ka];},wA=function(e,t,n){t.value!==t.oldValue&&jw(e,t,n);},yA={mounted:jw,updated:wA,unmounted:zw},bA=xe({__name:"Drawer",props:{isOpen:{type:Boolean,default:false},maxWidth:{default:"600px"},speed:{default:100},bgColor:{default:"#fff"}},emits:["close"],setup(e,{emit:t}){const n=e,o=K(false),i=K(false),s=l=>{const c=document.querySelector("body");c.style.overflow=l?"hidden":"";},r=l=>{l.target.classList.contains("ce-drawer__overlay")&&(i.value||a("close"));},a=t;return Ht(()=>{o.value=n.isOpen;}),ze(()=>n.isOpen,l=>{i.value=true,l?(s(true),o.value=true):(s(false),setTimeout(()=>o.value=false,n.speed)),setTimeout(()=>i.value=false,n.speed);}),(l,c)=>(_(),A("div",null,[d("div",{class:De(["ce-drawer",{"is-open":l.isOpen,"is-visible":o.value}])},[d("div",{class:"ce-drawer__overlay",style:Xn({transitionDuration:`${l.speed}ms`})},null,4),J((_(),A("div",{class:"ce-drawer__content",style:Xn({maxWidth:l.maxWidth,transitionDuration:`${l.speed}ms`,backgroundColor:l.bgColor})},[Ge(l.$slots,"default")],4)),[[te(yA),r]])],2)]))}}),Xs=Ae(bA,[["__file","Drawer.vue"]]),vA={class:"k-p-e"},xA={class:"ce-tag-plain"},_A={class:"text-primary"},CA={class:"text-success"},kA={key:0,class:"ce-hr"},$A=xe({__name:"KeywordPatternExamples",setup(e){return (t,n)=>(_(),A("div",vA,[n[2]||(n[2]=d("h4",{style:{"margin-bottom":"6px"}},"关键词说明(前4种类型已满足大部分需求场景)",-1)),(_(true),A($e,null,je(te(YE),(o,i)=>(_(),A("div",{key:i},[d("div",null,[d("span",xA,U(o[0]),1),n[0]||(n[0]=L("  ",-1)),d("span",_A,U(o[1]),1),n[1]||(n[1]=L("  ",-1)),d("span",CA,U(o[2]),1)]),i===3?(_(),A("hr",kA)):de("",true)]))),128))]))}}),Hw=Ae($A,[["__file","KeywordPatternExamples.vue"]]),SA={class:"group-manager"},EA={key:0,class:"label-readonly",title:"当前分组只可用于查询"},AA={key:1,class:"label-readonly",title:"当前分组特征为远程文本"},PA=["title"],IA={class:"groups-list"},DA={key:0,class:"text-danger"},TA={class:"pure-table pure-table-bordered"},LA={align:"center"},MA=["onClick"],OA={class:"group-confirm-delete"},BA=["onClick"],RA=["onClick"],FA={class:"pure-form pure-form-stacked group-form"},NA={class:"pure-control-group"},UA={class:"pure-control-group"},jA={key:0,class:"pure-control-group"},zA={class:"pure-form-message"},HA={class:"pure-control-group"},VA={class:"pure-form-message"},qA={key:0,class:"text-info"},WA={key:1,class:"text-info"},KA=["onClick"],GA={class:"values"},JA={class:"v-input"},YA={class:"v-help"},QA={class:"pure-control-group"},XA={class:"pure-control-group"},ZA=xe({__name:"GroupManager",props:{type:{},storageKey:{},config:{}},emits:["change"],setup(e,{emit:t}){const n=e,o=t,i=K(false),s=K(oi({type:n.type})),r=K([]),a=K(false),l=K(oi({type:n.type})),c=K(false),u=K(null),f=[on.video,on.audio,on.image,on.doc,on.app,on.archive];ze(r,async se=>{console.log("[groups change]",se),bs(n.storageKey,se,false),se.length||(a.value=false,c.value=false);},{deep:true});let p=false;Ht(async()=>{if(!p){p=true,r.value=lc(n.storageKey,[]),console.log("[groups]",r.value);const{suffixGroup:se,keywordGroup:B}=n.config;if(r.value.length){const R=r.value.find(G=>G.id===(n.type===Re.suffix?se:B));console.log("[group last choosen]",R),s.value=R||r.value[0],o("change",s.value);}else n.type===Re.suffix&&!se&&(await D(),bs(gt.cleanerConfig,{suffixGroup:s.value.id},true)),n.type===Re.keyword&&!B&&(await D(),bs(gt.cleanerConfig,{keywordGroup:s.value.id},true));}}),$i(async()=>{});async function g(se){const B=`#${se}`;l.value.values.includes(B)||(l.value.values+=(`
`+B).trim()+`
`);}async function m(){i.value=false;}async function y(){c.value=false;}async function x(){c.value=true,a.value=false;}async function k(){u.value.show();}async function I(){u.value.hide();}async function E(){l.value.createdAt&&(l.value=oi({type:n.type})),l.value.size=5,n.type===Re.keyword&&(l.value.size=100),i.value=true;}async function D(){let se=[];n.type===Re.suffix?se=nA:se=sA;for(let B=0;B<se.length;B++){const R={...oi({type:se[B].type}),...se[B]};l.value=R,l.value.type=R.type,l.value.queryOnly=R.queryOnly,l.value.size=R.size,l.value.label=R.label,l.value.memo=R.memo,l.value.createdAt=0,l.value.updatedAt=0,Array.isArray(R.values)?l.value.values=R.values.join(`
`):l.value.values=R.values,await j(),await I();}r.value.length&&await ae(r.value[0]);}async function O(se,B=false){if(!B){const{isConfirmed:G}=await q.fire({html:`确定删除"${s.value.label}"?`,icon:"question"});if(!G)return}let R=-1;for(let G=0;G<r.value.length;G++)if(r.value[G].id===s.value.id){R=G;break}r.value.splice(R,1),r.value.length?s.value=r.value[0]:s.value=oi({type:n.type}),o("change",s.value),await Y({icon:"success",title:"删除成功!",timer:1500});}async function H(se){l.value=se,i.value=true;}async function j(){let se=[];try{se=await ni(l.value.values,l.value.type);}catch(ye){await q.fire({icon:"error",text:ye.message});return}if(l.value.label=l.value.label.trim(),l.value.memo=l.value.memo.trim(),l.value.label===""){await Y({icon:"warning",text:"请输入标题!"});return}let B=-1;for(let ye=0;ye<r.value.length;ye++)if(r.value[ye].id===l.value.id&&l.value.id){B=ye;break}const R=di();l.value.updatedAt=R,l.value.createdAt||(l.value.createdAt=R);let G=[];for(let ye=0;ye<se.length;ye++)G.push(se[ye].value);l.value.values=G.join(`
`).trim(),console.log("[saveGroup]",l.value,B),B===-1?(r.value.push(l.value),Y({icon:"success",text:"添加成功"})):(r.value[B]=l.value,Y({icon:"success",text:"更新成功"}));const ce=!s.value.createdAt;ce&&(s.value=l.value),(l.value.id===s.value.id||ce)&&o("change",l.value),await m();}async function ae(se){s.value=se;const{id:B}=s.value;n.type===Re.suffix&&(n.config.suffixGroup=B,bs(gt.cleanerConfig,{suffixGroup:B},true)),n.type===Re.keyword&&(n.config.keywordGroup=B,bs(gt.cleanerConfig,{keywordGroup:B},true)),o("change",se);}async function fe(se,B=false){try{await gA(se);}catch(R){console.error(R),Y({icon:"error",text:R.message});return}B?(l.value=se,await j()):Y({icon:"success",text:"读取成功"});}return (se,B)=>{const R=_o("VDropdown");return _(),A("div",SA,[s.value.queryOnly?(_(),A("span",EA," 🔍 只查询 ")):de("",true),s.value.url?(_(),A("span",AA," 🔗 远程 ")):de("",true),s.value.createdAt?(_(),A("span",{key:2,class:"group-label",title:`当前使用的分组: ${s.value.label}`},[d("span",null,[B[11]||(B[11]=d("small",null,"分组:",-1)),L(" "+U(s.value.label),1)])],8,PA)):de("",true),s.value.url?(_(),A("a",{key:3,href:"javascript:void(0)",class:"pure-button button-success",onClick:B[0]||(B[0]=G=>fe(s.value,true))}," ↓ 同步关键词")):de("",true),d("a",{href:"javascript:void(0)",class:"pure-button",onClick:B[1]||(B[1]=G=>H(s.value))}," ✎ 编辑 "),B[36]||(B[36]=L("    ",-1)),d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:E},"+ 新增分组"),re(R,{ref_key:"list",ref:u,onHide:y,onShow:x,distance:5},{popper:me(()=>[d("div",IA,[r.value.length?de("",!0):(_(),A("h3",DA,[B[12]||(B[12]=L(" 还没有添加任何分组。你可以: ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:E},"添加"),B[13]||(B[13]=L("   ",-1)),B[14]||(B[14]=d("span",{class:"text-info"},"或",-1)),B[15]||(B[15]=L("   ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:D},"使用脚本内置"),B[16]||(B[16]=d("br",null,null,-1)),B[17]||(B[17]=d("br",null,null,-1))])),d("table",TA,[B[21]||(B[21]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"70"},"只查询"),d("th",{width:"150"},"名称"),d("th",{width:"150"},"备注"),d("th",{width:"70"},[L("大小"),d("small",null,"MB")]),d("th",{width:"220"},"操作")])],-1)),d("tbody",null,[(_(!0),A($e,null,je(r.value,(G,ce)=>(_(),A("tr",{key:ce},[d("td",null,U(ce+1),1),d("td",LA,U(G.queryOnly?"是":"否"),1),d("td",null,U(G.label),1),d("td",null,U(G.memo),1),d("td",null,U(G.size),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall text-primary",onClick:ye=>ae(G)},"载入",8,MA),B[19]||(B[19]=L("   ",-1)),re(R,null,{popper:me(()=>[d("div",OA,[d("button",{type:"button",class:"pure-button button-error",onClick:ye=>O(G,!0)},"确定",8,BA)])]),default:me(()=>[B[18]||(B[18]=d("button",{type:"button",class:"pure-button button-xsmall text-danger"},"删除",-1))]),_:2,__:[18]},1024),B[20]||(B[20]=L("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:ye=>H(G)},"编辑",8,RA)])]))),128))])])])]),default:me(()=>[d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:k},"≡ 分组列表")]),_:1},512),re(Xs,{"is-open":i.value,onClose:B[10]||(B[10]=G=>i.value=false),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:me(()=>[d("form",FA,[d("fieldset",null,[d("div",NA,[B[22]||(B[22]=d("label",{for:"groupLabel",class:"text-primary"},"* 标题",-1)),J(d("input",{type:"text","onUpdate:modelValue":B[2]||(B[2]=G=>l.value.label=G),id:"groupLabel",class:"pure-input-1-2",placeholder:"分组标题"},null,512),[[He,l.value.label]]),B[23]||(B[23]=L("    ",-1)),l.value.queryOnly?(_(),A("button",{key:0,type:"button",class:"pure-button button-small button-warning",onClick:B[3]||(B[3]=G=>l.value.queryOnly=!1)},"已设置为仅用于查询 | 点击取消设置")):de("",!0),l.value.queryOnly?de("",!0):(_(),A("button",{key:1,type:"button",class:"pure-button button-small pure-button-primary",onClick:B[4]||(B[4]=G=>l.value.queryOnly=!0)},"设置为仅用于查询"))]),d("div",UA,[B[24]||(B[24]=d("label",{for:"groupMemo",class:"text-primary"},"备注",-1)),J(d("input",{type:"text","onUpdate:modelValue":B[5]||(B[5]=G=>l.value.memo=G),id:"groupMemo",placeholder:"分组备注"},null,512),[[He,l.value.memo]])]),n.type===te(Re).keyword?(_(),A("div",jA,[B[27]||(B[27]=d("label",{for:"groupUrl",class:"text-primary"},"远程链接",-1)),d("div",zA,[B[25]||(B[25]=d("span",null,"纯文本, utf-8编码",-1)),B[26]||(B[26]=L("    ",-1)),l.value.url?(_(),A("button",{key:0,type:"button",class:"pure-button button-small button-success",onClick:B[6]||(B[6]=G=>fe(l.value,!1))}," 读取 ")):de("",!0)]),J(d("input",{type:"text","onUpdate:modelValue":B[7]||(B[7]=G=>l.value.url=G),id:"groupUrl",placeholder:"远程链接"},null,512),[[He,l.value.url]])])):de("",!0),d("div",HA,[B[32]||(B[32]=d("label",{for:"groupValues",class:"text-primary"},"* 特征列表",-1)),d("div",VA,[n.type===te(Re).keyword?(_(),A("span",qA,[B[28]||(B[28]=L(" 默认只匹配文件名。前面带",-1)),d("b",null,U(te(_d)),1),B[29]||(B[29]=L("则只匹配目录名。 ",-1))])):de("",!0),n.type===te(Re).suffix?(_(),A("span",WA,[B[30]||(B[30]=L(" 支持115自带筛选: ",-1)),(_(),A($e,null,je(f,(G,ce)=>d("span",{class:"filter-label text-success",key:ce,onClick:ye=>g(G)}," #"+U(G),9,KA)),64)),B[31]||(B[31]=d("small",{class:"text-primary"},"(点击添加)",-1))])):de("",!0)]),d("div",GA,[d("div",JA,[J(d("textarea",{id:"groupValues","onUpdate:modelValue":B[8]||(B[8]=G=>l.value.values=G),rows:"14",placeholder:"每行一个"},null,512),[[He,l.value.values]])]),d("div",YA,[re(Hw)])])]),d("div",QA,[B[33]||(B[33]=d("label",{for:"groupMemo",class:"text-primary"},"* 文件大小",-1)),B[34]||(B[34]=d("div",{class:"pure-form-message"},[L("只清理小于该大小的文件,单位"),d("b",null,"MB")],-1)),J(d("input",{type:"number","onUpdate:modelValue":B[9]||(B[9]=G=>l.value.size=G),class:"pure-input-1-4",placeholder:"文件大小小于该数值才清理"},null,512),[[He,l.value.size]])]),d("div",XA,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:j},U(l.value.createdAt?"更新":"添加"),1),B[35]||(B[35]=L("      ",-1)),d("button",{type:"button",class:"pure-button",onClick:m},"取消")])])])]),_:1},8,["is-open"])])}}}),vp=Ae(ZA,[["__file","GroupManager.vue"]]),eP={class:"cloud115-eh-cleaner-help"},tP=xe({__name:"Help",setup(e){return (t,n)=>(_(),A("div",eP,[d("div",null,[n[3]||(n[3]=Ig('<h2>免责声明</h2><div><p>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr><h2>说明</h2><ul style="color:#f40;"><li class="text-primary">始于清理,但不止于清理!</li><li>* 仅对当前选中的目录及其子目录生效。</li><li>* 通过<b class="text-primary">新增分组 / 分组列表</b>管理你的清理特征。</li><li>* 建议整理自己的特征,也欢迎在交流中分享你的特征。</li><li>* <b class="text-primary">只查询</b>按钮,只会进行查询。</li><li>* <b class="text-primary">一键清理</b>是先查询,再进行删除!</li><li>* 由于搜索接口限制,如果某个关键词结果数量超过1万,可能会清理不完全,可以多执行几次清理。</li><li>* <b>清理期间,请保持当前页面处于激活状态!</b></li><li>* <b>请谨慎操作!请谨慎操作!请谨慎操作!</b></li></ul><hr><h3>按 后缀名 清理</h3><div><p>1. 点击<b class="text-primary">分组列表</b>,选择一个分组;</p><p>2. 确认后缀名和文件大小限制等的设定;</p><p>3. 点击<b class="text-primary">一键清理</b>按钮,耐心等待。</p></div><hr><h3>按 关键词 清理</h3>',10)),d("div",null,[n[0]||(n[0]=d("p",{class:"text-danger"},[L("目录名关键词使用"),d("b",null,"搜索"),L("接口查找匹配,只能逐个关键词进行处理,请尽量使用简单的关键词,否则可能会匹配不到。")],-1)),n[1]||(n[1]=d("p",{class:"text-danger"},[L("文件名关键词使用"),d("b",null,"列表"),L("接口查找匹配,速度较快,且支持更灵活的关键词。")],-1)),n[2]||(n[2]=d("br",null,null,-1)),re(Hw)])])]))}}),nP=Ae(tP,[["__file","Help.vue"]]),oP={key:0},iP={key:1},sP={key:2},rP={key:3},aP={key:4},lP={key:5},uP={key:6},cP={key:7},dP={key:8},fP={key:9},pP=xe({__name:"Pager",props:{totalItems:{type:Number,required:true},itemsPerPage:{type:Number,default:10,validator:e=>{if(e<=0){const t="itemsPerPage attribute must be greater than 0.";throw console.error(t),new TypeError(t)}return  true}},currentPage:{type:Number,default:1,validator:e=>{const t="currentPage attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return  true}},modelValue:{type:Number,required:true,validator:e=>{const t="v-model is required and must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return  true}},maxPagesShown:{type:Number,default:5,validator:e=>{const t="maxPagesShown attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return  true}},dir:{type:String,default:"ltr",validator:e=>{const t='dir attribute must be either "ltr" or "rtl".';if(e!=="ltr"&&e!=="rtl")throw console.error(t),new TypeError(t);return  true}},type:{type:String,default:"button",validator:e=>{const t=["link","button"],n="type attribute must be one of the following: "+t.join(", ");if(t.indexOf(e)===-1)throw console.error(n),new TypeError(n);return  true}},onClick:{type:Function,default:()=>{}},prevButtonContent:{type:String,default:"<"},nextButtonContent:{type:String,default:">"},hidePrevNext:{type:Boolean,default:false},hidePrevNextWhenEnds:{type:Boolean,default:false},showBreakpointButtons:{type:Boolean,default:true},disableBreakpointButtons:{type:Boolean,default:false},startingBreakpointContent:{type:String,default:"..."},endingBreakpointButtonContent:{type:String,default:"..."},showJumpButtons:{type:Boolean,default:false},linkUrl:{type:String,default:"#"},backwardJumpButtonContent:{type:String,default:"<<"},forwardJumpButtonContent:{type:String,default:">>"},disablePagination:{type:Boolean,default:false},showEndingButtons:{type:Boolean,default:false},firstPageContent:{type:String,default:"First"},lastPageContent:{type:String,default:"Last"},backButtonClass:{type:String,default:"back-button"},nextButtonClass:{type:String,default:"next-button"},firstButtonClass:{type:String,default:"first-button"},lastButtonClass:{type:String,default:"last-button"},numberButtonsClass:{type:String,default:"number-buttons"},startingBreakpointButtonClass:{type:String,default:"starting-breakpoint-button"},endingBreakPointButtonClass:{type:String,default:"ending-breakpoint-button"},firstPageButtonClass:{type:String,default:"first-page-button"},lastPageButtonClass:{type:String,default:"last-page-button"},paginateButtonsClass:{type:String,default:"paginate-buttons pure-button"},disabledPaginateButtonsClass:{type:String,default:"disabled-paginate-buttons"},activePageClass:{type:String,default:"active-page"},paginationContainerClass:{type:String,default:"pagination-container"},disabledBreakPointButtonClass:{type:String,default:"disabled-breakpoint-button"},backwardJumpButtonClass:{type:String,default:"backward-jump-button"},forwardJumpButtonClass:{type:String,default:"forward-jump-button"},disabledBackwardJumpButtonClass:{type:String,default:"disabled-backward-jump-button"},disabledBackButtonClass:{type:String,default:"disabled-back-button"},disabledFirstButtonClass:{type:String,default:"disabled-first-button"},disabledLastButtonClass:{type:String,default:"disabled-last-button"},disabledNextButtonClass:{type:String,default:"disabled-next-button"},disabledForwardJumpButtonClass:{type:String,default:"disabled-forward-jump-button"}},emits:["update:modelValue","click"],setup(e,{emit:t}){const n=e;if(n.currentPage&&!n.modelValue)throw new Error("currentPage/current-page is now deprecated, use v-model instead to set the current page.");if(!n.modelValue)throw new TypeError("v-model is required for the paginate component.");const o=p_(n,"modelValue"),i=t,s=E=>{E!==o.value&&(E>l.value||E<1||n.disablePagination||(i("update:modelValue",E),i("click",E)));},r=E=>E,a=E=>n.type!=="link"?"":n.linkUrl.replace("[page]",E.toString()),l=Ke(()=>Math.ceil(n.totalItems/n.itemsPerPage)),c=Ke(()=>{let E,D;if(l.value<=n.maxPagesShown)E=1,D=l.value;else {let H=Math.floor(n.maxPagesShown/2),j=Math.ceil(n.maxPagesShown/2)-1;o.value<=H?(E=1,D=n.maxPagesShown):o.value+j>=l.value?(E=l.value-n.maxPagesShown+1,D=l.value):(E=o.value-H,D=o.value+j);}let O=Array.from(Array(D+1-E).keys()).map(H=>E+H);return n.dir==="rtl"&&(O=O.reverse()),{totalItems:n.totalItems,currentPage:o.value,itemsPerPage:n.itemsPerPage,totalPages:l,startPage:E,endPage:D,pages:O}}),u=Ke(()=>n.dir==="rtl"),f=Ke(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==l.value:!n.hidePrevNextWhenEnds||o.value!==1),p=Ke(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==1:!n.hidePrevNextWhenEnds||o.value!==l.value),g=Ke(()=>u.value?c.value.pages[0]<l.value-1:c.value.pages[0]>=3),m=Ke(()=>u.value?c.value.pages[c.value.pages.length-1]>=3:c.value.pages[c.value.pages.length-1]<l.value-1),y=Ke(()=>u.value?c.value.pages[0]<l.value:c.value.pages[0]>=2),x=Ke(()=>u.value?c.value.pages[c.value.pages.length-1]>=2:c.value.pages[c.value.pages.length-1]<l.value),k=Ke(()=>o.value!==1),I=Ke(()=>o.value!==l.value);if(n.type==="link"&&n.linkUrl==="#")throw console.error("linkUrl attribute is required if type attribute is 'link'"),new TypeError("linkUrl attribute is required if type attribute is 'link'");if(n.type==="link"&&!n.linkUrl.includes("[page]"))throw console.error("linkUrl attribute must contain '[page]' substring"),new TypeError("linkUrl attribute must contain '[page]' substring");return (E,D)=>(_(),A("ul",{id:"componentContainer",class:De(e.paginationContainerClass)},[e.showEndingButtons&&k.value?(_(),A("li",oP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:D[0]||(D[0]=pt(O=>s(u.value?l.value:1),["prevent"])),class:De([e.firstPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:me(()=>[Ge(E.$slots,"first-page-button",{},()=>[L(U(e.firstPageContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showJumpButtons&&g.value?(_(),A("li",iP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:D[1]||(D[1]=pt(O=>s(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),class:De([e.backwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackwardJumpButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ge(E.$slots,"backward-jump-button",{},()=>[L(U(e.backwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),!e.hidePrevNext&&f.value?(_(),A("li",sP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value+1:o.value-1),onClick:D[2]||(D[2]=pt(O=>s(u.value?o.value+1:o.value-1),["prevent"])),class:De([e.backButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ge(E.$slots,"prev-button",{},()=>[L(U(e.prevButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showBreakpointButtons&&y.value?(_(),A("li",rP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:D[3]||(D[3]=pt(O=>s(u.value?l.value:1),["prevent"])),class:De([e.firstButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledFirstButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[L(U(u.value?r(l.value):r(1)),1)]),_:1},8,["href","class","disabled"]))])):de("",true),e.showBreakpointButtons&&g.value?(_(),A("li",aP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:D[4]||(D[4]=pt(O=>s(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:De([e.startingBreakpointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:me(()=>[Ge(E.$slots,"starting-breakpoint-button",{},()=>[L(U(e.startingBreakpointContent),1)])]),_:3},8,["href","disabled","class"]))])):de("",true),(_(true),A($e,null,je(c.value.pages,(O,H)=>(_(),A("li",{key:H},[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(O),onClick:pt(()=>s(O),["prevent"]),class:De([e.paginateButtonsClass,e.numberButtonsClass,O===o.value?e.activePageClass:"",e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:me(()=>[L(U(r(O)),1)]),_:2},1032,["href","onClick","class","disabled"]))]))),128)),e.showBreakpointButtons&&m.value?(_(),A("li",lP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:D[5]||(D[5]=pt(O=>s(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:De([e.endingBreakPointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:me(()=>[Ge(E.$slots,"ending-breakpoint-button",{},()=>[L(U(e.endingBreakpointButtonContent),1)])]),_:3},8,["href","disabled","class"]))])):de("",true),e.showBreakpointButtons&&x.value?(_(),A("li",uP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:D[6]||(D[6]=pt(O=>s(u.value?1:l.value),["prevent"])),class:De([e.lastButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledLastButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[L(U(u.value?r(1):r(l.value)),1)]),_:1},8,["href","class","disabled"]))])):de("",true),!e.hidePrevNext&&p.value?(_(),A("li",cP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value-1:o.value+1),onClick:D[7]||(D[7]=pt(O=>s(u.value?o.value-1:o.value+1),["prevent"])),class:De([e.paginateButtonsClass,e.nextButtonClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledNextButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ge(E.$slots,"next-button",{},()=>[L(U(e.nextButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showJumpButtons&&m.value?(_(),A("li",dP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:D[8]||(D[8]=pt(O=>s(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),class:De([e.forwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledForwardJumpButtonClass:""]),disabled:e.disablePagination},{default:me(()=>[Ge(E.$slots,"forward-jump-button",{},()=>[L(U(e.forwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true),e.showEndingButtons&&I.value?(_(),A("li",fP,[(_(),nt(In(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:D[9]||(D[9]=pt(O=>s(u.value?1:l.value),["prevent"])),class:De([e.lastPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:me(()=>[Ge(E.$slots,"last-page-button",{},()=>[L(U(e.lastPageContent),1)])]),_:3},8,["href","class","disabled"]))])):de("",true)],2))}}),xp=Ae(pP,[["__file","Pager.vue"]]),hP=xe({__name:"Divider",props:{paddingY:{default:10},color:{default:"#eee"},transparent:{type:Boolean,default:false}},setup(e){const t=e,n=Ke(()=>{const o=t.transparent?"transparent":t.color,i=`${t.paddingY}px`;return {marginTop:i,height:i,borderTop:`1px solid ${o}`}});return (o,i)=>(_(),A("div",{class:"ce-divider",style:Xn(n.value)},[Ge(o.$slots,"default")],4))}}),_p=Ae(hP,[["__file","Divider.vue"]]),mP={class:"ce-file-list"},gP={class:"text-small text-info"},wP={class:"text-primary"},yP={class:"text-danger"},bP={class:"item-meta"},vP={key:0,class:"ce-label"},xP={key:1,class:"ce-label"},_P={key:2,class:"ce-label"},CP={key:3,class:"ce-label"},kP={key:4,class:"ce-label"},$P={key:5,class:"ce-label ce-label-danger"},SP={key:6,class:"ce-label ce-label-danger"},EP={key:7,class:"text-info"},AP={class:"text-success"},PP={class:"pure-table pure-table-bordered"},IP={class:"text-small"},DP={key:2,class:"text-success"},TP=xe({__name:"FileList",props:{group:{},pattern:{},files:{}},setup(e){const t=e,n=K([]),o=K(0),i=K(15),s=K(5),r=K(1),a=Ke(()=>Math.ceil(o.value/i.value));St(async()=>{o.value=t.pattern.fileIds?.length||0,l();});function l(u=1){const f=[],{fileIds:p=[]}=t.pattern,g=i.value*(u-1),m=p.slice(g,g+i.value);for(const y of m){const x=t.files.get(y);if(x){const k=_i(x);f.push(k);}}n.value=f;}function c(u){l(u);}return (u,f)=>(_(),A("div",mP,[d("div",null,[d("div",gP,[f[2]||(f[2]=d("small",null,"原始:",-1)),f[3]||(f[3]=L()),d("span",wP,U(u.pattern.value),1),f[4]||(f[4]=L(", ",-1)),f[5]||(f[5]=d("small",null,"类型:",-1)),f[6]||(f[6]=L()),d("span",yP,U(te(Bw)[u.pattern.type]),1),d("div",null," fullMatch: "+U(u.pattern.fullMatch)+", caseSensitive: "+U(u.pattern.caseSensitive)+", impartible: "+U(u.pattern.impartible)+", isRegexp: "+U(u.pattern.isRegexp)+", maxSize: "+U(u.pattern.maxSize)+", patternRegexp: "+U(u.pattern.patternRegexp),1)]),f[8]||(f[8]=d("hr",null,null,-1)),d("div",bP,[u.pattern.fullMatch?(_(),A("span",vP,"全等")):de("",true),u.pattern.caseSensitive?(_(),A("span",xP,"区分大小写")):de("",true),u.pattern.impartible?(_(),A("span",_P,"匹配空格")):de("",true),u.pattern.isRegexp?(_(),A("span",CP,"正则")):de("",true),u.pattern.type===te(et).fileHash?(_(),A("span",kP,"sha1")):de("",true),u.pattern.maxSize===0?(_(),A("span",$P,"任意大小")):de("",true),u.pattern.maxSize>0?(_(),A("span",SP,"不大于"+U(u.pattern.maxSize)+"MB",1)):de("",true),u.pattern.memo?(_(),A("div",EP,[f[7]||(f[7]=d("small",null,"备注:",-1)),L(" "+U(u.pattern.memo),1)])):de("",true)])]),f[10]||(f[10]=d("br",null,null,-1)),d("div",null,[o.value>i.value?(_(),nt(xp,{key:0,"total-items":o.value,"items-per-page":i.value,"max-pages-shown":s.value,modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=p=>r.value=p),onClick:c},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):de("",true),d("span",AP,"数量: "+U(o.value),1),re(_p,{transparent:"","padding-y":5}),d("table",PP,[f[9]||(f[9]=d("thead",null,[d("tr",null,[d("th",null,"#"),d("th",{width:"30"},"类型"),d("th",null,"ID"),d("th",{width:"250"},"名称"),d("th",null,"大小"),d("th",{width:"305"},"SHA1")])],-1)),d("tbody",null,[(_(true),A($e,null,je(n.value,(p,g)=>(_(),A("tr",{key:g},[d("td",null,U(i.value*(r.value-1)+g+1),1),d("td",null,U(p.isDir?"目录":"文件"),1),d("td",null,U(p.id),1),d("td",null,U(p.name),1),d("td",null,U(p.sizeDesc),1),d("td",IP,U(p.hash),1)]))),128))])]),re(_p,{transparent:"","padding-y":5}),o.value>i.value?(_(),nt(xp,{key:1,"total-items":o.value,"items-per-page":i.value,"max-pages-shown":s.value,modelValue:r.value,"onUpdate:modelValue":f[1]||(f[1]=p=>r.value=p),onClick:c},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):de("",true),a.value>1?(_(),A("span",DP,"数量: "+U(o.value),1)):de("",true)])]))}}),LP=Ae(TP,[["__scopeId","data-v-db0ac01f"],["__file","FileList.vue"]]);function MP(e,t){return Object.entries(e).map(([n,o])=>({label:o,value:n,checked:t?t(n):false}))}const OP={class:"ce-button-group"},BP=["onClick"],RP=xe({__name:"index",props:{modelValue:{type:[String,Number,Boolean,Array]},multiple:{type:Boolean,default:false},options:{},mapping:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=Ke(()=>{let a=[];const l=c=>n.multiple?n.modelValue.includes(c):n.modelValue===c;return n.mapping?a=MP(n.mapping,l):n.options&&(a=Pc(n.options).map(c=>({...c,checked:l(c.value)}))),a}),s=K(n.modelValue);function r(a){n.multiple?(a.checked=!a.checked,s.value=i.value.filter(l=>l.checked).map(l=>l.value)):(i.value.forEach(l=>{l.checked=l.value===a.value;}),s.value=a.value),o("update:modelValue",s.value);}return (a,l)=>(_(),A("span",OP,[(_(true),A($e,null,je(i.value,c=>(_(),A("button",{key:c.value?.toString(),type:"button",class:De(["pure-button",{"pure-button-primary":c.checked}]),onClick:u=>r(c)},U(c.label),11,BP))),128))]))}}),$a=Ae(RP,[["__file","index.vue"]]),FP={class:"ce-config ce-cleaner-config"},NP={class:"pure-form pure-form-aligned"},UP={class:"pure-control-group"},jP={class:"pure-control-group"},zP={class:"pure-control-group"},HP={class:"pure-control-group"},VP=xe({__name:"Config",setup(e){const t={[go.all]:"全部",[go.file]:"文件",[go.dir]:"目录"},n={[jo.all]:"全部",[jo.matched]:"有匹配",[jo.notMatched]:"无匹配"},o=K(vd());let i=false;return St(async()=>{o.value=await br(),i=true,ze(o,lt(async s=>{i&&(await xd({showEntryOnPathBar:s.showEntryOnPathBar,keywordDefaultCategory:s.keywordDefaultCategory,keywordDefaultResult:s.keywordDefaultResult,cleanWithoutConfirm:s.cleanWithoutConfirm}),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}));},500),{deep:true});}),(s,r)=>(_(),A("div",FP,[r[11]||(r[11]=d("h2",null,"文件清理工具设置",-1)),d("form",NP,[d("fieldset",null,[r[5]||(r[5]=d("legend",null,"基础设置",-1)),d("div",UP,[r[4]||(r[4]=d("label",{for:"showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),J(d("input",{id:"showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.showEntryOnPathBar=a)},null,512),[[we,o.value.showEntryOnPathBar]])])]),d("fieldset",null,[r[8]||(r[8]=d("legend",null,"按关键词清理设置",-1)),d("div",jP,[r[6]||(r[6]=d("label",{for:"defaultKeywordCategory"},'默认"关键词类别"',-1)),re($a,{modelValue:o.value.keywordDefaultCategory,"onUpdate:modelValue":r[1]||(r[1]=a=>o.value.keywordDefaultCategory=a),mapping:t},null,8,["modelValue"])]),d("div",zP,[r[7]||(r[7]=d("label",{for:"defaultResultFilter"},'默认"结果筛选"',-1)),re($a,{modelValue:o.value.keywordDefaultResult,"onUpdate:modelValue":r[2]||(r[2]=a=>o.value.keywordDefaultResult=a),mapping:n},null,8,["modelValue"])])]),d("fieldset",null,[r[10]||(r[10]=d("legend",null,"高级设置",-1)),d("div",HP,[r[9]||(r[9]=d("label",{for:"cleanWithoutConfirm"},'点击"一键清理"时不需确认',-1)),J(d("input",{id:"cleanWithoutConfirm",type:"checkbox","onUpdate:modelValue":r[3]||(r[3]=a=>o.value.cleanWithoutConfirm=a)},null,512),[[we,o.value.cleanWithoutConfirm]])])])])]))}}),qP=Ae(VP,[["__file","Config.vue"]]),WP=xe({__name:"GoTop",props:{label:{default:"回到顶部"},container:{default:"body"}},setup(e){const t=e;async function n(){t.container instanceof HTMLElement?t.container.scrollTo(0,0):document.querySelector(t.container)?.scrollTo(0,0);}return (o,i)=>Ge(o.$slots,"default",{},()=>[d("button",{type:"button",class:"pure-button button-small",onClick:n},U(o.label),1)])}}),Vw=Ae(WP,[["__file","GoTop.vue"]]),KP=".v-popper__arrow-container{display:none}.ce-cleaner-x .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f;display:none}.ce-cleaner-x .actions-bar{padding-bottom:10px;width:72%}.ce-cleaner-x .actions-bar .title{font-size:18px;font-weight:700;color:#15110c}.ce-cleaner-x .actions-bar .close{margin-left:20px;margin-right:10px;color:#f40}.ce-cleaner-x .actions-bar i.tp-folder{width:18px;height:18px;vertical-align:sub}.ce-cleaner-x .actions-bar .ce-path{font-size:14px;margin-top:4px}.ce-cleaner-x .actions-bar .ce-path a:hover{text-decoration:underline}";At(KP);const GP='@charset "UTF-8";#cloud115Cleaner{margin-left:10px}.cloud115-eh-cleaner{position:relative}.cloud115-eh-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.cloud115-eh-cleaner-drawer.preparing{cursor:not-allowed}.cloud115-eh-cleaner-drawer.preparing button,.cloud115-eh-cleaner-drawer.preparing input,.cloud115-eh-cleaner-drawer.preparing textarea,.cloud115-eh-cleaner-drawer.preparing select{opacity:.5}.cloud115-eh-cleaner-drawer.preparing button,.cloud115-eh-cleaner-drawer.preparing input,.cloud115-eh-cleaner-drawer.preparing textarea,.cloud115-eh-cleaner-drawer.preparing select{cursor:no-drop;pointer-events:none}.cloud115-eh-cleaner-drawer.preparing .cleaner-gm{pointer-events:none;opacity:.5}.cloud115-eh-cleaner-drawer.loading{cursor:wait}.cloud115-eh-cleaner-drawer.loading button,.cloud115-eh-cleaner-drawer.loading input,.cloud115-eh-cleaner-drawer.loading textarea,.cloud115-eh-cleaner-drawer.loading select{cursor:no-drop;pointer-events:none}.cloud115-eh-cleaner-drawer.loading .cleaner-gm{pointer-events:none;opacity:.5}.cloud115-eh-cleaner-drawer .config-toggle{display:inline-block;background:#eee;border-radius:4px;opacity:.2;padding:2px 4px;cursor:pointer}.cloud115-eh-cleaner-drawer .config-toggle.hover{opacity:.7}.cloud115-eh-cleaner-drawer .by-box .by-header{padding-bottom:10px}.cloud115-eh-cleaner-drawer .by-box .by-header .title{font-size:16px;margin-right:8px;color:#0078e6;font-weight:400}.cloud115-eh-cleaner-drawer .by-box .by-header .filter-size{width:100px;font-size:14px;font-weight:700;color:#0078e6;text-indent:6px;border-radius:4px;border:1px solid #919399;text-align:center}.cloud115-eh-cleaner-drawer .by-box .pure-button-group{display:inline-block}.cloud115-eh-cleaner-drawer .by-box .pure-button-group .pure-button{vertical-align:inherit}.cloud115-eh-cleaner-drawer .by-box .pattern-groups{width:750px;text-align:right}.cloud115-eh-cleaner-drawer .by-box .pattern-groups a{font-size:12px;padding:0 4px;margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table tr.active{background:#f7ffc3}.cloud115-eh-cleaner-drawer .by-box table tr.is-dir .pattern{color:#f40}.cloud115-eh-cleaner-drawer .by-box table tr th,.cloud115-eh-cleaner-drawer .by-box table tr td{padding:.5em;font-size:12px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta{font-size:11px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label{background:#e6e6e6;color:#818181;margin:0 2px;font-size:10px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label.ce-label-danger{background:#cbc8ff;color:#fff}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label:first-child{margin-left:4px}.cloud115-eh-cleaner-drawer .by-box table td button:not(:last-child){margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table td a{color:#2877f8}.cloud115-eh-cleaner-drawer .by-box table td .tp-folder{width:16px;height:16px;vertical-align:sub}.cloud115-eh-cleaner-drawer .by-box table.table-matched tr.item-unmatched,.cloud115-eh-cleaner-drawer .by-box table.table-unmatched tr.item-matched{display:none}.by-keyword.kw-cate-dir tbody tr:not(.is-dir),.by-keyword.kw-cate-file tbody tr.is-dir{opacity:.5;pointer-events:none;cursor:no-drop}.fixed-header-table{width:68%;border-collapse:collapse}.fixed-header-table thead{position:sticky;top:0;background-color:#f2f2f2;z-index:1}.fixed-header-table tbody{display:block;max-height:450px;overflow-y:auto;overflow-x:hidden}.fixed-header-table thead,.fixed-header-table tbody tr{display:table;width:100%;table-layout:fixed}.fixed-header-table th,.fixed-header-table td{padding:10px;border:1px solid #ddd}td.item-index{width:29px}td.item-val{width:308px}td.item-num{width:106px}td.item-size{width:89px}td.item-actions{width:166px}td.item-status{width:204px}';At(GP);const JP={type:"button",class:"pure-button button-success"},YP=xe({__name:"DirSelector",props:{label:{default:"切换目录"},purpose:{default:"操作"},confirmLabel:{default:"选择该目录"},onlyDir:{type:Boolean,default:true},showRecord:{type:Boolean,default:true},showCopy:{type:Boolean,default:true}},emits:["select"],setup(e,{emit:t}){const n=e,o=t;async function i(){unsafeWindow.parent.Core.FileSelectDG.Open(async(s,r)=>{console.log("[Core.FileSelectDG.Open]",s,r),o("select",{items:s,xx:r});},{select:1,nf:n.onlyDir?1:0,show_record:n.showRecord?1:0,show_copy:n.showCopy?1:0,btn_txt:n.confirmLabel,select_txt:n.purpose});}return (s,r)=>(_(),A("span",{onClick:i},[Ge(s.$slots,"default",{},()=>[d("button",JP,U(s.label),1)])]))}}),Zs=Ae(YP,[["__file","DirSelector.vue"]]);function QP(e){return {offset:0,limit:1150,aid:1,cid:"",format:"json",o:Wa.userPtime,asc:Bo.false,search_value:"",...e}}async function XP(e){const t=Ha(e),n=await Ot().get("https://webapi.115.com/files/search?"+t,{timeout:12e4,withCredentials:true});if(n.data==="")throw new fm;const o=n.data;if(o.state)return o;throw new Tc(o.error)}async function ZP(e,t=200,n=false){let o=[],i=0,s=e.limit;const r=1e4,a=115,l=r-r%s;let c=s;for(;;){if(n){if(i>=l&&i<r){const f=r-l;c=Math.min(f,c);}i>=r&&(c=a);}e.offset=i,e.limit=c;const u=await XP(e);if(!u.data||!u.data.length||(o=[...o,...u.data],i+=c,i>=u.count))break;await kt(t);}return o}const eI={class:"cloud115-eh-cleaner ce-cleaner-x"},tI={class:"header actions-bar"},nI={class:"close"},oI={class:"ce-path ce-label ce-label-primary-plain"},iI=["href"],sI={class:"by-box by-suffix"},rI={class:"by-header"},aI={class:"pure-button-group",role:"group"},lI=["disabled"],uI={class:"pure-table pure-table-bordered"},cI=["onClick"],dI=["onClick"],fI=["onClick"],pI=["onClick"],hI={class:"by-header"},mI={class:"pure-button-group",role:"group"},gI=["disabled"],wI={class:"item-index"},yI={class:"item-val"},bI=["href"],vI={class:"file-type tp-folder"},xI={class:"item-meta"},_I={key:0,class:"ce-label"},CI={key:1,class:"ce-label"},kI={key:2,class:"ce-label"},$I={key:3,class:"ce-label"},SI={key:4,class:"ce-label"},EI={key:5,class:"ce-label ce-label-danger"},AI={key:6,class:"ce-label ce-label-danger"},PI={key:7,class:"text-info"},II={key:0,class:"text-small text-info"},DI={class:"text-primary"},TI={class:"text-danger"},LI={class:"item-num"},MI={class:"item-size"},OI={class:"item-actions"},BI=["onClick"],RI=["onClick"],FI=["onClick"],NI={class:"item-status"},UI={class:"footer actions-bar"},jI={class:"ce-path ce-label ce-label-primary-plain"},zI=["href"],HI=xe({__name:"Cleaner",setup(e){const t=K(false),n=K(true),o=K(oi({type:Re.suffix})),i=K(oi({type:Re.keyword})),s=K({maxSize:5,matchName:false}),r=K({maxSize:100,matchName:true,keywordCategory:go.all,resultCategory:jo.all}),a=K([]),l=K([]),c=K(false),u=K(vd()),f=K(false),p=K(""),g=K([]),m=K(null),y=K(false),x=K(false),k=Ke(()=>p.value?On(p.value):"");async function I(){x.value=!x.value;}const E=K(false),D=new Map,O=K({});async function H(b){for(const v of b){const N=v.fid||v.cid;N&&!D.has(N)&&D.set(N,v);}}async function j(b,v){O.value.files=D,O.value.group=b,O.value.pattern=v,E.value=true;}async function ae(b){b.data.type===Jt.OPEN_CLEANER&&(se(b.data.payload),ci({type:Jt.CLEANER_OPENED},b.source));}St(async()=>{u.value=await br(),f.value=true,await fe();}),Ht(async()=>{u.value.initialized||(u.value.initialized=true,await xd({initialized:true})),window.addEventListener("message",ae);}),$i(()=>{window.removeEventListener("message",ae);});async function fe(){const{keywordDefaultCategory:b,keywordDefaultResult:v}=u.value;r.value.keywordCategory=b||go.all,r.value.resultCategory=v||jo.all;}async function se(b){t.value=true;const v=await Ut();if(v==="0"||v===""){await B(),await q.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}p.value&&p.value!==v&&console.warn("目录变化,重置"),await G(v,true);}async function B(){t.value=false;}async function R(b){console.log("[onSelectDir]",b);const{items:v}=b,N=v[v.length-1];await Ce(Dt.reset),await _e(Dt.reset),await G(N.cid,true);}async function G(b,v=false){if(p.value=b,v&&(y.value=false),g.value=[],m.value=null,!y.value){if(!p.value){q.fire({icon:"warning",html:"<h2>当前目录ID未知,无法进行清理操作!</h2>"});return}try{m.value=await Kt(p.value),g.value=[...m.value.paths.slice(1).map(N=>N.file_name),m.value.file_name],y.value=!0;}catch(N){y.value=false,console.error(N),q.fire({icon:"error",title:"获取当前目录信息失败",html:N.toString()});}}}async function ce(b){const v={};b.isFilter?v.type=b.pattern:v.suffix=b.pattern;let N=unsafeWindow.frames[0];for(let P=0;P<unsafeWindow.frames.length;P++)if(unsafeWindow.frames[P].name==="wangpan"){N=unsafeWindow.frames[P];break}ci({type:Jt.INVOKE_FILTER,payload:v},N),await B(),Y({icon:"info",text:`已调用115筛选: ${b.value}`,timer:2500});}async function ye(b,v){const{value:N}=await q.fire({input:"textarea",title:b,html:"每行一个,最短两个字符。"+(v===Re.keyword?`<br>默认只匹配文件名,不匹配目录名。<br>使用 "<b>${_d}目录名关键词</b>" 格式指定只匹配目录名的关键词。`:""),width:620,inputPlaceholder:"每行一个,最短两个字符",inputAttributes:{"aria-label":"每行一个,最短两个字符"},showCancelButton:true});return N!==void 0?N.trim():""}async function Ce(b,v){let N="",P=[];switch(b){case Dt.assign:N=v.trim(),N.trim()===""?a.value=[]:(P=await ni(N,Re.suffix),a.value=P);break;case Dt.append:N=await ye("添加后缀",Re.suffix),P=await ni(N,Re.suffix);const X=[];a.value.forEach(Z=>X.push(Z.value.toLowerCase())),P.forEach(Z=>{X.includes(Z.value.toLowerCase())||a.value.push(Z);});break;case Dt.cover:N=await ye("覆盖后缀",Re.suffix),N.trim()!==""&&(P=await ni(N,Re.suffix),a.value=P);break;case Dt.clear:a.value=[];break;case Dt.reset:a.value.forEach(Z=>{Z.num=-1,Z.fileIds=[],Z.status=Et.none,Z.size=-1;});break}}async function _e(b,v){let N="",P=[];switch(b){case Dt.assign:N=v.trim(),N.trim()===""?l.value=[]:(P=await ni(N,Re.keyword),l.value=P);break;case Dt.append:N=await ye("添加关键词",Re.keyword),P=await ni(N,Re.keyword);const X=[];l.value.forEach(Z=>X.push(Z.value.toLowerCase())),P.forEach(Z=>{X.includes(Z.value.toLowerCase())||l.value.push(Z);});break;case Dt.cover:N=await ye("覆盖关键词",Re.keyword),N.trim()!==""&&(P=await ni(N,Re.keyword),l.value=P);break;case Dt.clear:l.value=[];break;case Dt.reset:l.value.forEach(Z=>{Z.num=-1,Z.fileIds=[],Z.status=Et.none,Z.size=-1;});break}}async function ke(b){if(console.log("[cleanBySuffix]",b),await Ce(Dt.reset),!a.value.length){await q.fire({icon:"warning",text:"请先设置后缀!"});return}if(tt=[],!b){const{isConfirmed:v}=await q.fire({icon:"warning",html:'请在清理前确认"后缀和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!v)return}c.value=true;try{for(let v=0;v<a.value.length;v++){const N=a.value[v];await Fe(N,b,!1,!0,!1);}b||(c.value=!0,await Vt(Re.suffix));}catch(v){console.error(v),q.fire({title:"按后缀名清理 - 发生错误",html:v.toString()});}finally{c.value=false,b||q.fire({title:"按后缀名清理 - 完成"});}}async function Fe(b,v,N,P,X){if(console.log("[cleanBySuffixSingle]",b,v),!v&&!P){const{isConfirmed:Z}=await q.fire({icon:"warning",html:`确认执行条件 "后缀: <b class="text-primary">${b.pattern}</b>, 不大于: <b>${s.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!Z)return}try{if(!N){c.value=!0,b.fileIds=[],b.size=-1,b.num=-1,b.status=Et.prepare;const Z=await uo(b);await H(Z),b.status=Et.prepared;const{fileIds:ne=[],size:ue}=bp(b,Z,s.value);b.fileIds=ne,b.size=ue,b.num=ne.length,c.value=!1;}if(!v)if(b.num&&b.num>0){b.status=Et.deleting,c.value=!0;const Z=b.fileIds?.length||0;X?await Pl(p.value,b.fileIds||[],u.value.deleteSize,1e3):Zt(Re.suffix,b.fileIds||[],!1),c.value=!1,Z>0?b.status=Et.success+` / 数量 <= ${Z}`:b.status=Et.failed;}else b.status=Et.success+" / 无";}catch(Z){console.error(Z),c.value=false,await q.fire({title:"cleanBySuffixSingle - 发生错误",html:Z.toString()});}}async function dt(){const b=[et.fileKeyword,et.fileHash];return l.value.some(v=>b.includes(v.type))}async function ge(b,v){if(console.log("[cleanByKeyword]",b,v),await _e(Dt.reset),!l.value.length){await q.fire({icon:"warning",text:"请先设置关键词!"});return}if(rt=[],!b&&!u.value.cleanWithoutConfirm){const N={icon:"warning",html:'请在清理前确认"关键词和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"},{isConfirmed:P,value:X}=await q.fire(N);if(!P)return}c.value=true,console.time("cleanByKeyword");try{let N;await dt()&&(N=await M(),await H(N));const P=v||r.value.keywordCategory;for(let X=0;X<l.value.length;X++){const Z=l.value[X];if(P!==go.all){const ne=Z.type===et.dirKeyword;if(P===go.dir&&!ne||P===go.file&&ne)continue}await pe(Z,b,!1,!0,N,!1);}b||(c.value=!0,await Vt(Re.keyword));}catch(N){console.error(N),q.fire({title:"按关键词清理 - 发生错误",html:N.toString()});}finally{console.timeEnd("cleanByKeyword"),b||q.fire({title:"按关键词清理 - 完成"});}c.value=false;}async function M(){const b=p.value,v=Rn({cid:b,limit:1150,type:hn.file,record_open_time:0});return await Fo(v)}async function pe(b,v,N,P,X,Z){if(console.log("[cleanByKeywordSingle]",b,v),!v&&!P){const{isConfirmed:ne}=await q.fire({icon:"warning",html:`确认执行条件 "关键词: <b class="text-primary">${b.pattern}</b>, 不大于: <b class="text-primary">${r.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!ne)return}try{if(!N){c.value=!0,b.fileIds=[],b.size=-1,b.num=-1,b.status=Et.prepare;let ne=[];b.type!==et.dirKeyword&&X!==void 0?ne=X:(ne=await Pi(b),await H(ne)),b.status=Et.prepared;const{fileIds:ue,size:oe,num:ve}=bp(b,ne,r.value);b.fileIds=ue,b.size=oe,b.num=ve,c.value=!1;}if(!v)if(b.num&&b.num>0){b.status=Et.deleting,c.value=!0;const ne=b.fileIds?.length||0;Z?await Pl(p.value,b.fileIds||[],u.value.deleteSize,1e3):Zt(Re.keyword,b.fileIds||[],!1),c.value=!1,ne>0?b.status=Et.success+` / 数量 <= ${ne}`:b.status=Et.failed;}else b.status=Et.success+" / 无";}catch(ne){console.error(ne),c.value=false;let ue=true;const oe={title:"cleanByKeywordSingle - 发生错误",html:ne.toString()};ne instanceof Tc&&(b.status=Et.prepareFailed+` / ${ne.message}`,ne instanceof fm&&(oe.timer=2e3,ue=false)),ue?await q.fire(oe):q.fire(oe);}}let tt=[],rt=[];function Zt(b,v,N){b===Re.suffix?tt=[...tt,...v]:rt=[...rt,...v];}async function Vt(b){const v=b===Re.suffix?tt:rt;if(!v.length)return;const N=Array.from(new Set(v));console.log("[deleteFiles] num=",N.length),await Pl(p.value,N,1150,1e3);}async function uo(b){const v=p.value,N=Rn({cid:v,limit:u.value.pageSize});b.isFilter?N.type=b.pattern:N.suffix=b.value;const P=await Fo(N);return console.log("[files]",P),P}async function Pi(b){const v=p.value,N=QP({search_value:b.pattern,cid:v,limit:u.value.pageSize}),P=await ZP(N,u.value.reqInterval,true);return console.log("[files]",P),P}function _n(b){return ym({...hA(b),cid:p.value},g.value[g.value.length-1])}async function ms(b){console.log("[onSuffixGroupChange]",b),o.value=b,s.value.maxSize=b.size,await Ce(Dt.assign,b.values);}async function S(b){console.log("[onKeywordGroupChange]",b),i.value=b,r.value.maxSize=b.size,await _e(Dt.assign,b.values);}return (b,v)=>{const N=_o("VDropdown");return J((_(),A("span",eI,[Ge(b.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:se},v[10]||(v[10]=[d("span",null,"清理文件",-1)]))]),re(Xs,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:v[9]||(v[9]=P=>t.value=false)},{default:me(()=>[J(d("div",{class:De(["cloud115-eh-cleaner-drawer",{loading:c.value,preparing:!y.value}])},[re(nP),d("div",tI,[v[15]||(v[15]=d("span",{class:"title"},"文件清理工具",-1)),d("span",nI,[d("button",{type:"button",class:"pure-button button-error",onClick:B},"关闭"),v[12]||(v[12]=L("      ",-1)),re(Zs,{purpose:"清理文件",onSelect:R}),v[13]||(v[13]=L("      ",-1)),re(N,{triggers:["click"],distance:5},{popper:me(()=>[re(qP)]),default:me(()=>[v[11]||(v[11]=d("button",{type:"button",class:"pure-button"},"⚙ 设置",-1))]),_:1,__:[11]})]),d("div",oI,[d("a",{target:"_blank",href:k.value,title:"打开目录"},[v[14]||(v[14]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(y.value?g.value.join(" / "):"正在获取目录信息..."),1)],8,iI)])]),d("div",sI,[d("div",rI,[v[16]||(v[16]=d("span",{class:"title"},[L("按"),d("b",null,"后缀名"),L("清理")],-1)),v[17]||(v[17]=L("      ",-1)),d("div",aI,[d("button",{type:"button",class:"pure-button",onClick:v[0]||(v[0]=P=>ke(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:v[1]||(v[1]=P=>ke(!1)),disabled:o.value.queryOnly}," 一键清理 ",8,lI)]),v[18]||(v[18]=L("   ",-1)),v[19]||(v[19]=d("span",{class:"ce-label"},"不大于",-1)),v[20]||(v[20]=L("  ",-1)),J(d("input",{type:"number","onUpdate:modelValue":v[2]||(v[2]=P=>s.value.maxSize=P),class:"filter-size"},null,512),[[He,s.value.maxSize]]),v[21]||(v[21]=L(" MB ",-1)),v[22]||(v[22]=d("small",null,"(0表示不限制)",-1)),f.value?(_(),nt(vp,{key:0,class:"cleaner-gm",type:te(Re).suffix,"storage-key":"suffixGroups",onChange:ms,config:u.value},null,8,["type","config"])):de("",!0)]),d("table",uI,[v[25]||(v[25]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"100"},"后缀名"),d("th",{width:"95"},"文件数量"),d("th",{width:"80"},"合计大小"),d("th",{width:"200"},"操作"),d("th",{width:"200"},"状态")])],-1)),d("tbody",null,[(_(!0),A($e,null,je(a.value,(P,X)=>(_(),A("tr",{key:X,class:De(te(wp)(P))},[d("td",null,U(X+1),1),d("td",null,[d("a",{href:"javascript:void(0)",class:"pattern",onClick:Z=>ce(P),title:"筛选"},U(P.value),9,cI)]),d("td",null,U(P.num&&P.num>=0?P.num:""),1),d("td",null,U(P.size>0?te(Wi)(P.size):""),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall",onClick:Z=>Fe(P,!0,!1,!0)},"查询",8,dI),v[23]||(v[23]=L("   ",-1)),P.num&&P.num>0&&!o.value.queryOnly?(_(),A("button",{key:0,type:"button",class:"pure-button button-warning button-xsmall",onClick:Z=>Fe(P,!1,!0,!1,!0)},"清理",8,fI)):de("",!0),v[24]||(v[24]=L("   ",-1)),P.num&&P.num>0?(_(),A("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:Z=>j(o.value,P)},"≡ 详情",8,pI)):de("",!0)]),d("td",null,U(P.status),1)],2))),128))])])]),v[55]||(v[55]=d("br",null,null,-1)),re(Xs,{"is-open":E.value,onClose:v[3]||(v[3]=P=>E.value=!1),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:me(()=>[E.value?(_(),nt(LP,{key:0,files:O.value.files,group:O.value.group,pattern:O.value.pattern},null,8,["files","group","pattern"])):de("",!0)]),_:1},8,["is-open"]),d("div",{class:De(["by-box by-keyword",[`kw-cate-${r.value.keywordCategory}`]])},[d("div",hI,[v[26]||(v[26]=d("span",{class:"title"},[L("按"),d("b",null,"关键词"),L("清理")],-1)),v[27]||(v[27]=L("      ",-1)),d("div",mI,[d("button",{type:"button",class:"pure-button",onClick:v[4]||(v[4]=P=>ge(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:v[5]||(v[5]=P=>ge(!1)),disabled:i.value.queryOnly}," 一键清理 ",8,gI)]),v[28]||(v[28]=L("   ",-1)),v[29]||(v[29]=d("span",{class:"ce-label"},"不大于",-1)),v[30]||(v[30]=L("  ",-1)),J(d("input",{type:"number","onUpdate:modelValue":v[6]||(v[6]=P=>r.value.maxSize=P),class:"filter-size"},null,512),[[He,r.value.maxSize]]),v[31]||(v[31]=L(" MB ",-1)),v[32]||(v[32]=d("small",null,"(0表示不限制)",-1)),v[33]||(v[33]=L("    ",-1)),v[34]||(v[34]=d("span",{class:"ce-label"},"关键词类别",-1)),v[35]||(v[35]=L("  ",-1)),re($a,{modelValue:r.value.keywordCategory,"onUpdate:modelValue":v[7]||(v[7]=P=>r.value.keywordCategory=P),mapping:te(KE)},null,8,["modelValue","mapping"]),v[36]||(v[36]=L("    ",-1)),v[37]||(v[37]=d("span",{class:"ce-label"},"结果筛选",-1)),v[38]||(v[38]=L("  ",-1)),re($a,{modelValue:r.value.resultCategory,"onUpdate:modelValue":v[8]||(v[8]=P=>r.value.resultCategory=P),mapping:te(GE)},null,8,["modelValue","mapping"]),f.value?(_(),nt(vp,{key:0,class:"cleaner-gm",type:te(Re).keyword,"storage-key":"keywordGroups",onChange:S,config:u.value},null,8,["type","config"])):de("",!0)]),d("table",{class:De(["pure-table pure-table-bordered fixed-header-table",[`table-${r.value.resultCategory}`]])},[d("thead",null,[d("tr",null,[v[40]||(v[40]=d("th",{width:"25"},"#",-1)),d("th",{width:"280"},[v[39]||(v[39]=L(" 关键词 ",-1)),d("small",{class:"text-info",onClick:I},"显示调试信息")]),v[41]||(v[41]=d("th",{width:"95"},"文件/目录数量",-1)),v[42]||(v[42]=d("th",{width:"80"},"合计大小",-1)),v[43]||(v[43]=d("th",{width:"150"},"操作",-1)),v[44]||(v[44]=d("th",{width:"200"},"状态",-1))])]),d("tbody",null,[(_(!0),A($e,null,je(l.value,(P,X)=>(_(),A("tr",{key:X,class:De(te(wp)(P,r.value))},[d("td",wI,U(X+1),1),d("td",yI,[d("a",{href:_n(P),target:"_blank",class:"pattern",title:"搜索"},[J(d("i",vI,null,512),[[Gt,P.type===te(et).dirKeyword]]),L(" "+U(P.pattern),1)],8,bI),d("span",xI,[P.fullMatch?(_(),A("span",_I,"全等")):de("",!0),P.caseSensitive?(_(),A("span",CI,"区分大小写")):de("",!0),P.impartible?(_(),A("span",kI,"匹配空格")):de("",!0),P.isRegexp?(_(),A("span",$I,"正则")):de("",!0),P.type===te(et).fileHash?(_(),A("span",SI,"sha1")):de("",!0),P.maxSize===0?(_(),A("span",EI,"任意大小")):de("",!0),P.maxSize>0?(_(),A("span",AI,"不大于"+U(P.maxSize)+"MB",1)):de("",!0),P.memo?(_(),A("div",PI,[v[45]||(v[45]=d("small",null,"备注:",-1)),L(" "+U(P.memo),1)])):de("",!0)]),x.value?(_(),A("div",II,[v[46]||(v[46]=d("small",null,"raw:",-1)),v[47]||(v[47]=L()),d("span",DI,U(P.value),1),v[48]||(v[48]=L(", ",-1)),v[49]||(v[49]=d("small",null,"type:",-1)),v[50]||(v[50]=L()),d("span",TI,U(te(Bw)[P.type]),1),d("div",null," fullMatch: "+U(P.fullMatch)+", caseSensitive: "+U(P.caseSensitive)+", impartible: "+U(P.impartible)+", isRegexp: "+U(P.isRegexp)+", maxSize: "+U(P.maxSize)+", patternRegexp: "+U(P.patternRegexp?.toString()),1)])):de("",!0)]),d("td",LI,U(P.num&&P.num>=0?P.num:""),1),d("td",MI,U(P.size>0?te(Wi)(P.size):""),1),d("td",OI,[P.type!==te(et).fileKeyword?(_(),A("button",{key:0,type:"button",class:"pure-button button-xsmall",onClick:Z=>pe(P,!0,!1,!0)},"查询",8,BI)):de("",!0),P.type!==te(et).fileKeyword&&P.num&&P.num>0&&!i.value.queryOnly?(_(),A("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:Z=>pe(P,!1,!0,!1,void 0,!0)},"清理",8,RI)):de("",!0),P.num&&P.num>0?(_(),A("button",{key:2,type:"button",class:"pure-button button-xsmall",onClick:Z=>j(i.value,P)},"≡ 详情",8,FI)):de("",!0)]),d("td",NI,U(P.status),1)],2))),128))])],2)],2),v[56]||(v[56]=d("br",null,null,-1)),d("div",UI,[v[52]||(v[52]=d("span",{class:"title"},"文件清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:B},"关闭")]),v[53]||(v[53]=L("      ",-1)),re(Zs,{purpose:"清理文件",onSelect:R}),v[54]||(v[54]=L("      ",-1)),re(Vw,{container:".cloud115-eh-cleaner-drawer"}),d("div",jI,[d("a",{target:"_blank",href:k.value,title:"打开目录"},[v[51]||(v[51]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(y.value?g.value.join(" / "):"正在获取目录信息..."),1)],8,zI)])])],2),[[Gt,t.value]])]),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}}),VI=Ae(HI,[["__file","Cleaner.vue"]]),qI={class:"ce-empty-cleaner-trigger"},WI=xe({__name:"Trigger",setup(e){K(false);const t=K(true);async function n(a){switch(a.data.type){case Jt.EMPTY_CLEANER_OPENED:await r(a.data.payload);break}}Ht(async()=>{window.addEventListener("message",n);}),$i(()=>{window.removeEventListener("message",n);});async function o(){await s(),ci({type:Jt.OPEN_EMPTY_CLEANER},window.parent);}let i;async function s(){const a=es("cid");!a||a==="0"||(clearTimeout(i),i=setTimeout(async()=>{Y({icon:"error",text:"打开清理空文件夹工具失败!"+location.href});},1e3));}async function r(a){console.log("成功打开EmptyCleaner"),clearTimeout(i);}return (a,l)=>J((_(),A("span",qI,[Ge(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理空文件夹工具"},l[0]||(l[0]=[d("span",null,"空文件夹",-1)]))])],512)),[[Gt,t.value]])}}),KI=Ae(WI,[["__file","Trigger.vue"]]);async function GI(e,t){if(e=typeof e=="string"?e:e.join(","),!t){if(e.includes(","))throw new Error("target参数不能为空!");t=e;}t=t.startsWith("U_1_")?t:`U_1_${t}`;const n=new URLSearchParams({file_ids:e,target:t});return (await Ot().post("https://webapi.115.com/files/export_dir",n,{timeout:12e4,withCredentials:true})).data}async function JI(e,t=1e3,n=12e4){const o=new URLSearchParams({export_id:e.toString()}),i=async()=>(await Ot().get("https://webapi.115.com/files/export_dir?"+o.toString(),{timeout:12e4,withCredentials:true})).data;async function s(r){const a=await i();a.data&&a.data.pick_code&&r(a);}try{return await Wo(s,t,n)}catch(r){throw new Error(`导出目录树结果获取失败:${r.message}`)}}const YI=/^(?:\| )+\|-/;async function*QI(e){const t=["/"],n=e.trim().split(`
`);let o=0;for(const i of n){const s=YI.exec(i);if(s===null)continue;const a=s[0].length,l=a/2-1,c=i.slice(a);l>=t.length?t.push(c):t[l]=c,o+=1;const u=t.slice(0,l+1).join("/");yield {index:o,name:c,path:nm(u)};}}function eu(e={}){return {name:"",path:"",id:"",url:"",checked:false,deleted:false,disabled:false,repeated:false,ensured:false,...e}}function tu(){return {suffixes:new Set,treeNameCounter:{},treeNameToPaths:{},repeatedPaths:new Set,maybeDirs:{},filesNameCounter:{},violationFiles:[]}}let XI=class{logs=[];_dirId="";_dirPath="";_dirAttr=null;_treeText="";_keepTree=false;_treeFile=null;_tailData=tu();_emptyItems=new Map;_checkedRepeatedPaths=new Set;_pendingPaths=new Set;logSubscribers=[];emptyItemSubscribers=[];treeFileSubscribers=[];constructor(t,n=false){t&&this.setDirId(t),this._keepTree=n;}addLogSubscriber(t){this.logSubscribers.push(t);}addEmptyItemSubscriber(t){this.emptyItemSubscribers.push(t);}addTreeFileSubscriber(t){this.treeFileSubscribers.push(t);}async setDirId(t){this._dirId=t,this._dirAttr=await Kt(t);const n=[...this._dirAttr.paths.slice(1).map(o=>o.file_name),this._dirAttr.file_name];this._dirPath=n.join("/");}async setKeepTree(t){this._keepTree=t;}getTreeFile(){return this._treeFile}async isReady(){return !!this._dirPath}async run(){if(!await this.isReady()){this.log(`运行异常!未获取到目录路径,目录ID=${this._dirId}`);return}if(this._dirAttr?.folder_count===0){this.log(`目录(id=${this._dirId}) "${this._dirPath}" 没有子目录,无需清理`);return}const t=Date.now();await this.exportTree(),await this.parseTree(),await this.queryFiles(),await this.handleMaybeDirs(),await this.detectEmpty(),await this.checkRealEmpty();const n=((Date.now()-t)/1e3).toFixed(2);this.log(`清理空目录检测阶段完成,合计耗时 ${n} 秒`),console.log("emptyItems:",this._emptyItems);}async exportTree(){const t=Date.now();this.log(`========导出目录树(目录ID=${this._dirId}, 路径=${this._dirPath})========`);const n=await GI(this._dirId);console.log("exportTree",n),this.log("已发起导出处理,等待导出完成...");const o=await JI(n.data.export_id,2e3);console.log("exportTree",o),this.log(`导出目录树成功,PickCode为${o.data.pick_code}`);const i=await xk(o.data.pick_code);console.log("downloadItem",i),this.log("正在读取目录树文件内容...");let s=true;try{this._treeText=await this._readFile(i),this.log("目录树文件内容读取完成");}catch(a){this.log(`读取目录树文件内容失败,${a.toString()}`),s=false;}if(this._keepTree)this.onTreeFileGenerated(i),this.log(`目录树文件保留,不会被删除。文件: ${i.file_name}`);else {const a=await qa(this._dirId,[i.file_id]);console.log("deleteResult",a),this.log("目录树文件已删除");}const r=((Date.now()-t)/1e3).toFixed(2);s?this.log(`导出目录树完成,耗时 ${r} 秒`):this.log(`导出目录树失败,耗时 ${r} 秒`),this.log("=".repeat(60));}async _readFile(t){const n=mA({okStatus:[200,206],useFileReader:true,fileReader:{checkBlank:true,encoding:"utf-16le"}});return await Nw(t.url.url,n)}async parseTree(){const t=Date.now();this.log("解析目录树...");const n=tu(),o=[],i=this._dirPath.split("/").slice(0,-1).join("/");console.log("[parseTree] parentPath:",i);for await(const r of QI(this._treeText)){const a=i+r.path;o.includes(a)&&n.repeatedPaths.add(a),o.push(a);}for(let r=0;r<o.length;r++){if(o[r+1]&&o[r+1].startsWith(o[r]+"/"))continue;let a=o[r].split("/").pop();if(!a)a=o[r];else {const l=im(a,/^\w+$/);if(l)n.suffixes.add(l.toLowerCase());else {const c=o[r].replace(/\/[^\/]+$/,"");n.maybeDirs[c]||(n.maybeDirs[c]=new Set),n.maybeDirs[c].add(a);}}n.treeNameToPaths[a]||(n.treeNameToPaths[a]=[]),n.treeNameToPaths[a].push(o[r]),n.treeNameCounter[a]||(n.treeNameCounter[a]=0),n.treeNameCounter[a]+=1;}console.log("[parseTree] result:",n);const s=((Date.now()-t)/1e3).toFixed(2);this.log(`解析目录树完成,耗时 ${s} 秒`),this.log("=".repeat(60)),this._tailData=n;}async queryFiles(){const t=Date.now(),n=this._tailData;this.log("获取文件列表...");const o=Rn({type:hn.file,limit:1150,cid:this._dirId});try{const s=Date.now(),r=await Fo(o),a=((Date.now()-s)/1e3).toFixed(2);this.log(`获取文件列表成功,文件数量:${r.length}。耗时 ${a} 秒`);for(const l of r)l.c===mu.violation?(console.warn(`违规: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),this._tailData.violationFiles.push(_i(l))):l.c===mu.auditing&&console.warn(`审核中: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),n.treeNameCounter[l.n]&&n.treeNameCounter[l.n]--,n.filesNameCounter[l.n]||(n.filesNameCounter[l.n]=0),n.filesNameCounter[l.n]++;}catch(s){console.error("[queryFiles] getFiles error! error:",s),this.log(`获取文件列表失败!错误: ${s.toString()}`);}const i=((Date.now()-t)/1e3).toFixed(2);this.log(`获取文件列表完成。耗时 ${i} 秒`),this.log("=".repeat(60));}async handleMaybeDirs(){const t=Date.now(),n=this._tailData;this.log("========根据上级路径排除无后缀文件========");const o=this._tailData.violationFiles.length>0,i=Object.keys(n.maybeDirs).length;let s=0;for(const[a,l]of Object.entries(n.maybeDirs)){let c="";try{c=await Ri(a,!1);}catch(f){console.error(`[handleMaybeDirs] getDirIdByPath error! path: ${a}, error:`,f),this.log(`[${s+1} / ${i}] 根据上级路径(cid=${a}) 获取目录ID失败!错误: ${f.toString()}`);continue}const u=Rn({limit:1150,cid:c});try{const f=Date.now();this.log(`[${s+1} / ${i}] 正在获取上级路径 "${a}" 的文件列表...`);const p=await Fo(u),g=((Date.now()-f)/1e3).toFixed(2);this.log(`[${s+1} / ${i}] 获取上级路径 "${a}" 的文件列表成功,文件数量:${p.length}。耗时 ${g} 秒`);for(const m of p)if(l.has(m.n)){if(m.fid)this.log(`[${s+1} / ${i}] 上级路径 "${a}" 下的 "${m.n}" 是一个文件`),n.treeNameCounter[m.n]&&n.treeNameCounter[m.n]--;else if(!n.filesNameCounter[m.n]&&!o){const y=a+"/"+m.n;this.log(`[${s+1} / ${i}] 路径 "${y}" 是一个目录,该目录名称无对应的文件,且由于无违规文件,因此可确认为空目录`);const x=eu({id:m.cid,name:m.n,path:y,url:On(m.cid),ensured:!0});await this.addEmptyItem(x);}}}catch(f){console.error(`[handleMaybeDirs] getFiles error! cid: ${c}, error:`,f),this.log(`[${s+1} / ${i}] 获取上级路径(cid=${c}) "${a}" 的文件列表失败!错误: ${f.toString()}`);}s++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`根据上级路径排除无后缀文件完成。耗时 ${r} 秒`),this.log("=".repeat(60));}async detectEmpty(){const t=Date.now(),n=this._tailData;this.log("========开始检测路径========");const o=this._tailData.violationFiles.length>0;let i=0,s=Object.keys(n.treeNameCounter).length;for(const[a,l]of Object.entries(n.treeNameCounter)){if(!l){i++;continue}const c=n.treeNameToPaths[a];this.log(`[${i+1} / ${s}] 名称 "${a}" 有 ${l} 个路径需要检测`);for(let u=0;u<c.length;u++){const f=c[u];if(this._emptyItems.has(f)){console.log(`[detectEmpty] path "${f}" already exists in _emptyItems`);continue}if(n.repeatedPaths.has(f)){await this.checkDirContainsRepeated(a,f);continue}this.log(`[${i+1} / ${s}] 正在检测名称 "${a}" 第 ${u+1}/${l} 个路径: ${f}`);try{const p=await Ri(f,!1);if(p){this.log(`检测到该末端路径 "${f}" 是一个空目录(ID: ${p})`);const g=eu({id:p,name:a,path:f,url:On(p),ensured:!o});await this.addEmptyItem(g);}}catch(p){p instanceof Lc?this.log(`路径 "${f}" 不是一个目录`):(console.error(`[detectEmpty] getDirIdByPath failed! path: ${f}, error:`,p),this.log(`获取路径 "${f}" 的ID失败!错误: ${p.toString()}`));}}i++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`检测路径完成,耗时 ${r} 秒`),this.log("=".repeat(60));}async checkDirContainsRepeated(t,n){if(this._checkedRepeatedPaths.has(n))return;this.log(`名称 "${t}" 路径 "${n}" 存在重复,将对其所在的目录进行检测`);const o=hu(n,"..",Oo.unix);console.log("[checkDirContainsRepeated] parentPath:",o);let i="";try{if(i=await Ri(o,!1),!i){this.log(`❌ 根据路径"${o}"获取目录ID失败: 目录不存在!`);return}}catch(r){console.error(`[checkDirContainsRepeated] getDirIdByPath error! path: ${o}, error:`,r),this.log(`获取路径 "${o}" 的ID失败!错误: ${r.toString()}`);return}const s=Rn({limit:1150,cid:i});try{const r=Date.now();this.log(`正在获取目录(id=${i})的文件列表...`);const a=await Fo(s),l=((Date.now()-r)/1e3).toFixed(2);this.log(`获取目录(id=${i})的文件列表成功,文件数量:${a.length}。耗时 ${l} 秒`);for(const c of a)if(!(c.fid||c.n!==t))try{const u=await Kt(c.cid);if(u.file_name){if(u.folder_count===0&&u.count===0){this.log(`目录(id=${i})的子目录(id=${c.cid})为空`);const f=eu({id:c.cid,name:u.file_name,path:[...u.paths.map(p=>p.file_name).slice(1),u.file_name].join("/"),url:On(c.cid),repeated:!0,ensured:!0,attr:u});await this.addEmptyItem(f);}else this.log(`目录(id=${i})的子目录(id=${c.cid})不为空`);this._checkedRepeatedPaths.add(n);}else this.log(`❌ 获取目录(id=${c.cid})属性失败!`);}catch(u){console.error(`[checkDirContainsRepeated] getAttr error! cid: ${c.cid}, error:`,u),this.log(`获取目录(id=${c.cid})属性失败!异常: ${u.toString()}`);}}catch(r){console.error(`[checkDirContainsRepeated] getFiles error! cid: ${i}, error:`,r),this.log(`获取目录(id=${i})的文件列表失败!错误: ${r.toString()}`);}}async checkRealEmpty(){const t=Date.now();this.log("========确认是否真的为空目录========");for(const o of this._emptyItems.values())if(!o.ensured)try{const i=await Kt(o.id);o.ensured=!0,o.attr=i,i.count===0&&i.folder_count===0?this.log(`目录(id=${o.id}) "${o.path}" 确认为空`):(o.disabled=!0,o.memo="目录不为空,请手动检查和处理",this.log(`目录(id=${o.id}) "${o.path}" 确认不为空,请手动检查和处理`));}catch(i){console.error(`[checkRealEmpty] getAttr error! cid: ${o.id}, error:`,i),this.log(`获取目录(id=${o.id}) "${o.path}" 属性失败!异常: ${i.toString()}`),o.disabled=true,o.memo="确认是否为空目录失败,请手动检查和处理";}const n=((Date.now()-t)/1e3).toFixed(2);this.log(`确认是否真的为空目录完成,耗时 ${n} 秒`),this.log("=".repeat(60));}async onTreeFileGenerated(t){this._treeFile=t;for(const n of this.treeFileSubscribers)n(t);}async addEmptyItem(t){if(this._emptyItems.has(t.path)){console.log(`[addEmptyItem] path(id=${t.id}) "${t.path}" already exists in _emptyItems`);return}this._emptyItems.set(t.path,t);for(const n of this.emptyItemSubscribers)n(t);}async getEmptyItems(){return Array.from(this._emptyItems.values())}async log(t){t=`[${new Date().toLocaleString()}] ${t}`,this.logs.push(t);for(const n of this.logSubscribers)n(t);}async reset(){this.logs=[],this._emptyItems=new Map,this._tailData=tu(),this._treeFile=null,this._checkedRepeatedPaths=new Set,this._pendingPaths=new Set;}};const ZI={},eD={class:"ce-empty-cleaner-help"};function tD(e,t){return _(),A("div",eD,t[0]||(t[0]=[Ig('<div data-v-ce900ab5><h2 data-v-ce900ab5>免责声明</h2><div data-v-ce900ab5><p data-v-ce900ab5>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr data-v-ce900ab5><h2 data-v-ce900ab5>说明</h2><ul style="color:#00f;" data-v-ce900ab5><li class="text-danger text-bold" data-v-ce900ab5> * <span style="font-size:120%;" data-v-ce900ab5>不要</span>直接清理一个巨大的文件夹!比如包含超过5万个文件夹。 太大的文件夹可能会导出目录树失败,且可能导致账号被系统风控。 </li><li data-v-ce900ab5>* 对于巨大的文件夹,可以分开清理下级文件夹。</li><li data-v-ce900ab5>* 只有违规文件的文件夹也会被检测到并列出,需要手动处理。</li><li data-v-ce900ab5>* 请谨慎操作!请谨慎操作!请谨慎操作!</li></ul><hr data-v-ce900ab5><h2 data-v-ce900ab5>流程</h2><ul style="color:#f40;" data-v-ce900ab5><li data-v-ce900ab5>1.确认当前显示的目录是否为需要进行清理的目录。</li><li data-v-ce900ab5>2.点击「检测空文件夹」按钮。</li><li data-v-ce900ab5>3.保持当前页面处于激活状态,留意日志区域的输出,耐心等待。</li><li data-v-ce900ab5>4.当看到「空文件夹检测已完成」的提示时,说明检测完成。</li><li data-v-ce900ab5>5.如果有空文件夹,会在空文件夹列表显示。</li><li data-v-ce900ab5>6.每个空文件夹都可以单独进行打开、获取详情、删除等操作。</li><li data-v-ce900ab5>7.批量删除: 勾选需要删除的空文件夹,点击「删除选中」进行删除。</li></ul><hr data-v-ce900ab5><h3 data-v-ce900ab5>原理和优劣</h3><div class="text-primary" data-v-ce900ab5> 本工具原理是导出目录树,然后查询文件,接着排除目录树中的文件,最后再判断目录树中剩余的项是否为空文件夹。 </div><ul data-v-ce900ab5><li class="text-bold text-success" data-v-ce900ab5>优点:</li><li class="text-success" data-v-ce900ab5>在子文件夹数量较多时,比逐层逐个查询文件列表要快得多。</li><li class="text-warning text-bold" data-v-ce900ab5>缺点:</li><li class="text-warning" data-v-ce900ab5>* 排除真实文件后,如剩余需判断项较多,耗时较长。</li><li class="text-warning" data-v-ce900ab5>* 不能判断大小为0且有空子文件夹的文件夹。</li></ul></div>',1)]))}const nD=Ae(ZI,[["render",tD],["__scopeId","data-v-ce900ab5"],["__file","Help.vue"]]);async function oD(){return (await Ot().get("https://115.com/?ct=tool&ac=clear_empty_folder",{timeout:12e4,withCredentials:true})).data}async function Sa(){const e=t=>{q.update({html:`清理失败!${t}`,showConfirmButton:true,allowOutsideClick:false});};try{const{isConfirmed:t,value:n}=await q.fire({title:"一键全局清理空文件夹",html:`<div>
        <div class="text-warning">这是官方自带的功能,脚本只是调用对应的API。</div>
        <h4>功能特点:</h4>
        <p>1. 只能全局清理,不能指定只清理某个文件夹。</p>
        <p>2. 被删除的空文件夹会被永久删除,没有回收站记录。</p>
        <p>3. 清理时长跟文件夹(包括空的和非空的)数量成正比。</p>
        <p>4. 可能很快就提示"清空成功",但在文件夹数量较多时,服务端可能仍在进行清理处理。</p>
        <h4>一些建议:</h4>
        <p>1. 先仔细阅读并理解上面所说的,这很重要!</p>
        <p>2. 请谨慎操作!</p>
        <h3>请输入 yes 确认清理:</h3>
      </div>
      `,width:620,showDenyButton:!0,denyButtonText:"取消",showConfirmButton:!0,confirmButtonText:"确定清理空文件夹",customClass:{popup:"ce-swal-text-left"},input:"text"});if(console.warn("isConfirmed",t,"value",n),!t||n!=="yes")return;q.fire({html:"正在清理,请稍候..."}),q.showLoading();const o=await oD();o.state?q.update({html:o.msg}):e(`清理失败!${o.msg}`);}catch(t){console.error(t),e(`清理失败!${t.toString()}`);}finally{q.hideLoading();}}const iD={class:"ce-empty-cleaner ce-cleaner-x"},sD={class:"header actions-bar"},rD={class:"ce-path ce-label ce-label-primary-plain"},aD=["href"],lD={class:"top-actions"},uD=["disabled"],cD={class:"pure-form pure-form-aligned"},dD={class:"pure-control-group"},fD={key:0},pD={class:"text-primary"},hD={key:1},mD={class:"text-primary"},gD={key:0},wD=["href"],yD={key:0},bD={key:0},vD={class:"text-primary"},xD={class:"ec-items"},_D={class:"pure-table pure-table-bordered"},CD={width:"30"},kD=["disabled"],$D=["onUpdate:modelValue","onChange","disabled"],SD={key:0},ED={class:"ce-label ce-label-danger"},AD={key:0},PD={key:1},ID=["onClick","disabled"],DD=["onClick"],TD=["href"],LD={key:0},MD={class:"footer actions-bar"},OD={class:"ce-path ce-label ce-label-primary-plain"},BD=["href"],RD=xe({__name:"EmptyCleaner",setup(e){const t=K(false),n=K(true),o=K(false),i=K(""),s=K([]),r=K(null),a=K([]),l=K(false),c=K(null),u=K([]),f=K([]),p=K(null),g=K(null),m=Ke(()=>g.value?q0(g.value.pick_code):""),y=Ke(()=>i.value?On(i.value):"");let x;const k=K({keepTree:false});async function I(ge){ge.data.type===Jt.OPEN_EMPTY_CLEANER&&(E(ge.data.payload),ci({type:Jt.EMPTY_CLEANER_OPENED},ge.source));}Ht(async()=>{window.addEventListener("message",I),x=new XI(i.value),x.addLogSubscriber(ye),x.addEmptyItemSubscriber(Ce),x.addTreeFileSubscriber(ce);}),$i(()=>{window.removeEventListener("message",I);});async function E(ge){t.value=true;const M=await Ut();if(M==="0"||M===""){await dt(),await q.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}i.value&&i.value!==M&&console.warn("目录变化,重置"),r.value=await Kt(M),s.value=[...r.value.paths.slice(1).map(pe=>pe.file_name),r.value.file_name],i.value=M;}async function D(){l.value=false,u.value=[],f.value=[],a.value=[],g.value=null;}async function O(){try{o.value=!0,await D(),await x.reset(),await x.setKeepTree(k.value.keepTree),await x.setDirId(i.value),await x.run(),q.fire({title:"空文件夹检测已完成"});}catch(ge){console.error(ge),q.fire({title:"空文件夹检测失败",text:ge.toString()});}finally{o.value=false;}}async function H(ge){const M=f.value.join(`
`);if(ge==="copy")ft(M),Y({text:"已复制清理空文件夹日志",timer:1200});else if(ge==="download"){let pe=`清理空文件夹日志-${i.value}.txt`;Yr(M,pe);}}async function j(ge,M,pe="path"){const tt=M==="all"?a.value:u.value;let rt="";pe==="path"?rt=tt.map(Vt=>Vt.path).join(`
`):pe==="full"&&(rt=JSON.stringify(tt,null,2));const Zt=pe==="path"?"路径":"数据";if(ge==="copy")ft(rt),Y({text:`已复制${Zt}到剪贴板`,timer:1200});else if(ge==="download"){let Vt=`空文件夹${Zt}-${i.value}-数量${tt.length}`;Yr(rt,`${Vt}.${pe==="path"?"txt":"json"}`);}}async function ae(ge){const pe=u.value.map(tt=>tt.url);await mr(pe,true);}async function fe(ge){console.log("[onSelectDir]",ge);const{items:M}=ge,pe=M[M.length-1];await D(),i.value=pe.cid,r.value=await Kt(pe.cid),s.value=[...r.value.paths.slice(1).map(tt=>tt.file_name),r.value.file_name];}async function se(ge,M){if(ge.deleted){Y({text:"该目录已删除,不能再次删除!",showConfirmButton:true});return}o.value=true,await R([ge.id])&&(ge.deleted=true),o.value=false;}async function B(){if(!u.value.length)return;const ge=u.value.filter(M=>!M.deleted).map(M=>M.id);if(!ge.length){Y({text:"没有可删除的目录!",showConfirmButton:true});return}if(o.value=true,await R(ge))for(const M of u.value)M.deleted=true;o.value=false;}async function R(ge){try{const M=await qa(i.value,ge);if(M.state)return !0;Y({text:`删除失败: ${M.errno} - ${M.error}`});}catch(M){console.error(M),Y({text:`删除失败!${M.toString()}`});}return  false}async function G(ge){o.value=true;try{const M=await Kt(ge.id),pe=rt=>new Date(Number(rt)*1e3).toLocaleString(),{isConfirmed:tt}=await q.fire({title:"目录属性",html:`<div class="ce-ec-detail">
        <p><span>类型:</span> 文件夹</p>
        <p><span>大小:</span> ${M.size}</p>
        <p><span>创建时间:</span> ${pe(M.ptime)}</p>
        <p><span>修改时间:</span> ${pe(M.utime)}</p>
        <p><span>位置:</span> ${ge.path}</p>
      </div>
      `,showDenyButton:!0,denyButtonText:"关闭",showConfirmButton:!0,confirmButtonText:"查看目录"});tt&&window.open(ge.url);}catch(M){Y({text:`获取目录属性失败!${M.toString()}`,timer:1e4,showConfirmButton:true});}finally{o.value=false;}}async function ce(ge){g.value=ge;}async function ye(ge){f.value.push(ge),await mi(),p.value.scrollTop=p.value.scrollHeight;}async function Ce(ge){a.value.push(ge);}async function _e(){console.log("[onAllCheckedChange]",l.value);for(const ge of a.value)ge.disabled||(ge.checked=l.value);await Fe();}async function ke(ge,M){console.log("[onCheckChange]",ge,M),l.value=a.value.every(pe=>pe.checked),c.value.indeterminate=!l.value&&a.value.some(pe=>pe.checked),await Fe();}async function Fe(){u.value=a.value.filter(ge=>ge.checked);}async function dt(){t.value=false;}return (ge,M)=>J((_(),A("span",iD,[Ge(ge.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:E},M[15]||(M[15]=[d("span",null,"清理空文件夹",-1)]))]),re(Xs,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:M[14]||(M[14]=pe=>t.value=false)},{default:me(()=>[J(d("div",{class:De(["ce-empty-cleaner-drawer",{loading:o.value}])},[re(nD),d("div",sD,[M[17]||(M[17]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:dt},"关闭")]),M[18]||(M[18]=L("     ",-1)),re(Zs,{purpose:"清理空文件夹",onSelect:fe}),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:M[0]||(M[0]=(...pe)=>te(Sa)&&te(Sa)(...pe)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 "),d("div",rD,[d("a",{target:"_blank",href:y.value,title:"打开目录"},[M[16]||(M[16]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(s.value.join(" / ")),1)],8,aD)])]),d("div",null,[d("div",lD,[d("div",null,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:O,disabled:o.value},"检测空文件夹",8,uD)]),d("div",null,[d("form",cD,[d("fieldset",null,[d("div",dD,[r.value?(_(),A("label",fD,[M[19]||(M[19]=d("span",null,"文件夹数量:",-1)),M[20]||(M[20]=L("  ",-1)),d("b",pD,U(r.value?.folder_count),1)])):de("",!0),r.value?(_(),A("label",hD,[M[21]||(M[21]=d("span",null,"文件数量:",-1)),M[22]||(M[22]=L("  ",-1)),d("b",mD,U(r.value?.count),1)])):de("",!0),d("label",null,[J(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":M[1]||(M[1]=pe=>k.value.keepTree=pe)},null,512),[[we,k.value.keepTree]]),M[24]||(M[24]=L("  ",-1)),M[25]||(M[25]=d("span",{title:"不会删除目录树文件"},"保留目录树文件",-1)),g.value?(_(),A("span",gD,[M[23]||(M[23]=L("    ",-1)),d("a",{href:m.value,class:"text-primary",target:"_blank"},"查看目录树文件",8,wD)])):de("",!0)])])])])])]),d("h3",null,[M[28]||(M[28]=L(" 日志 ",-1)),f.value.length?(_(),A("span",yD,[M[26]||(M[26]=L("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[2]||(M[2]=pe=>H("copy"))},"复制日志"),M[27]||(M[27]=L("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[3]||(M[3]=pe=>H("download"))},"保存日志")])):de("",!0)]),d("div",{ref_key:"refLogs",ref:p,class:"ec-logs"},[(_(!0),A($e,null,je(f.value,(pe,tt)=>(_(),A("div",{key:tt},U(pe),1))),128))],512),d("h3",null,[M[33]||(M[33]=L(" 空文件夹 ",-1)),a.value.length?(_(),A("span",bD,[d("span",vD," ( "+U(a.value.length)+" )",1),M[29]||(M[29]=L("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[4]||(M[4]=pe=>j("copy","all","path"))},"复制路径"),M[30]||(M[30]=L("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[5]||(M[5]=pe=>j("copy","all","full"))},"复制数据"),M[31]||(M[31]=L("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[6]||(M[6]=pe=>j("download","all","path"))},"保存路径"),M[32]||(M[32]=L("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[7]||(M[7]=pe=>j("download","all","full"))},"保存数据")])):de("",!0)]),d("div",xD,[d("table",_D,[d("thead",null,[d("tr",null,[M[34]||(M[34]=d("th",{width:"25"},"#",-1)),d("th",CD,[J(d("input",{ref_key:"refAllChecked",ref:c,type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":M[8]||(M[8]=pe=>l.value=pe),onChange:_e,disabled:!a.value.length},null,40,kD),[[we,l.value]])]),M[35]||(M[35]=d("th",{width:"140"},"ID",-1)),M[36]||(M[36]=d("th",null,"路径",-1)),M[37]||(M[37]=d("th",{width:"150"},"操作",-1))])]),d("tbody",null,[(_(!0),A($e,null,je(a.value,(pe,tt)=>(_(),A("tr",{key:tt,class:De({"tr-deleted":pe.deleted})},[d("td",null,U(tt+1),1),d("td",null,[J(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":rt=>pe.checked=rt,onChange:rt=>ke(pe,tt),disabled:pe.disabled},null,40,$D),[[we,pe.checked]])]),d("td",null,U(pe.id),1),d("td",null,[d("div",null,U(pe.path),1),pe.memo?(_(),A("div",SD,[d("span",ED,U(pe.memo),1)])):de("",!0)]),d("td",null,[pe.deleted?(_(),A("div",AD,M[38]||(M[38]=[d("span",{class:"label-danger"},"已删除",-1)]))):(_(),A("div",PD,[d("button",{type:"button",class:"pure-button button-xsmall button-error",onClick:rt=>se(pe,tt),disabled:pe.disabled},"删除",8,ID),M[39]||(M[39]=L("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:rt=>G(pe)},"详情",8,DD),M[40]||(M[40]=L("   ",-1)),d("a",{class:"pure-button button-xsmall",href:pe.url,target:"_blank"},"打开",8,TD)]))])],2))),128))])]),u.value.length?(_(),A("div",LD,[M[41]||(M[41]=d("br",null,null,-1)),d("button",{type:"button",class:"pure-button button-error",onClick:B},"删除选中 ("+U(u.value.length)+")",1),M[42]||(M[42]=L("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[9]||(M[9]=pe=>j("copy","checked","path"))},"复制已选路径"),M[43]||(M[43]=L("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[10]||(M[10]=pe=>j("copy","checked","full"))},"复制已选数据"),M[44]||(M[44]=L("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[11]||(M[11]=pe=>j("download","checked","path"))},"保存已选路径"),M[45]||(M[45]=L("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[12]||(M[12]=pe=>j("download","checked","full"))},"保存已选数据"),M[46]||(M[46]=L("     ",-1)),d("button",{type:"button",class:"pure-button button-success button-xsmall",onClick:M[13]||(M[13]=pe=>ae("checked"))},"打开已选")])):de("",!0)])]),d("div",MD,[M[48]||(M[48]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:dt},"关闭")]),M[49]||(M[49]=L("      ",-1)),re(Zs,{purpose:"清理空文件夹",onSelect:fe}),M[50]||(M[50]=L("      ",-1)),re(Vw,{container:".ce-empty-cleaner-drawer"}),d("div",OD,[d("a",{target:"_blank",href:y.value,title:"打开目录"},[M[47]||(M[47]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+U(s.value.join(" / ")),1)],8,BD)])])],2),[[Gt,t.value]])]),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}),FD=Ae(RD,[["__file","EmptyCleaner.vue"]]),ND=".button-xsmall,.button-mini{font-size:12px;padding:.2em .5em}.button-small{font-size:85%}.button-large{font-size:110%}.button-xlarge{font-size:125%}.button-success,.button-error,.button-warning,.button-secondary{color:#fff;border-radius:2px;text-shadow:0 1px 1px rgba(0,0,0,.2)}.button-success{background:#1cb841}.button-error{background:#ca3c3c}.button-warning{background:#df7514}.button-secondary{background:#42b8dd}.pure-form select{height:2.5em;font-size:12px}.pure-form input:not([type]){padding:4px 6px}.pure-form input[type=number]{min-width:100px}";At(ND);function UD(){return {showEntryOnPathBar:true}}async function qw(){const e=UD(),t=await Xe.get(gt.emptyCleanerConfig,e);return {...e,...t}}async function jD(e){return await Xe.set(gt.emptyCleanerConfig,e)}async function zD(){const{host:e}=location,t=await br(),n=await qw();e==="115.com"&&(console.log("[Cleaner] running..."),xn()?(await HD(t),await VD(n)):(await qD(),await WD()));}async function HD(e){if(!e.showEntryOnPathBar)return;const t="cloud115Cleaner",n=await qe("#js_path_add_dir"),o=Ue(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o);const i=lo(qE);i.component("VDropdown",Ai),i.directive("tooltip",gd),i.mount(`#${t}`);}async function VD(e){if(!e.showEntryOnPathBar)return;const t="cloud115EmptyCleaner",n=await qe("#js_path_add_dir"),o=Ue(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o),lo(KI).mount(`#${t}`);}async function qD(e){const t="cloud115Cleaner",n=Ue(`<div id="${t}"/>`);document.body.appendChild(n);const o=lo(VI);o.component("VDropdown",Ai),o.directive("tooltip",gd),o.mount(`#${t}`),ks("清理文件",async()=>{ci({type:Jt.OPEN_CLEANER},window.parent);});}async function WD(e){const t="cloud115EmptyCleaner",n=Ue(`<div id="${t}"/>`);document.body.appendChild(n);const o=lo(FD);o.component("VDropdown",Ai),o.mount(`#${t}`),ks("清理空目录",async()=>{ci({type:Jt.OPEN_EMPTY_CLEANER},window.parent);});}function Ww(e,t){return function(){return e.apply(t,arguments)}}const{toString:KD}=Object.prototype,{getPrototypeOf:Cd}=Object,{iterator:gl,toStringTag:Kw}=Symbol,wl=(e=>t=>{const n=KD.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),zn=e=>(e=e.toLowerCase(),t=>wl(t)===e),yl=e=>t=>typeof t===e,{isArray:ds}=Array,er=yl("undefined");function vr(e){return e!==null&&!er(e)&&e.constructor!==null&&!er(e.constructor)&&ln(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Gw=zn("ArrayBuffer");function GD(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Gw(e.buffer),t}const JD=yl("string"),ln=yl("function"),Jw=yl("number"),xr=e=>e!==null&&typeof e=="object",YD=e=>e===true||e===false,Wr=e=>{if(wl(e)!=="object")return  false;const t=Cd(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Kw in e)&&!(gl in e)},QD=e=>{if(!xr(e)||vr(e))return  false;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return  false}},XD=zn("Date"),ZD=zn("File"),e5=zn("Blob"),t5=zn("FileList"),n5=e=>xr(e)&&ln(e.pipe),o5=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||ln(e.append)&&((t=wl(e))==="formdata"||t==="object"&&ln(e.toString)&&e.toString()==="[object FormData]"))},i5=zn("URLSearchParams"),[s5,r5,a5,l5]=["ReadableStream","Request","Response","Headers"].map(zn),u5=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function _r(e,t,{allOwnKeys:n=false}={}){if(e===null||typeof e>"u")return;let o,i;if(typeof e!="object"&&(e=[e]),ds(e))for(o=0,i=e.length;o<i;o++)t.call(null,e[o],o,e);else {if(vr(e))return;const s=n?Object.getOwnPropertyNames(e):Object.keys(e),r=s.length;let a;for(o=0;o<r;o++)a=s[o],t.call(null,e[a],a,e);}}function Yw(e,t){if(vr(e))return null;t=t.toLowerCase();const n=Object.keys(e);let o=n.length,i;for(;o-- >0;)if(i=n[o],t===i.toLowerCase())return i;return null}const si=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Qw=e=>!er(e)&&e!==si;function Wu(){const{caseless:e}=Qw(this)&&this||{},t={},n=(o,i)=>{const s=e&&Yw(t,i)||i;Wr(t[s])&&Wr(o)?t[s]=Wu(t[s],o):Wr(o)?t[s]=Wu({},o):ds(o)?t[s]=o.slice():t[s]=o;};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&_r(arguments[o],n);return t}const c5=(e,t,n,{allOwnKeys:o}={})=>(_r(t,(i,s)=>{n&&ln(i)?e[s]=Ww(i,n):e[s]=i;},{allOwnKeys:o}),e),d5=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),f5=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n);},p5=(e,t,n,o)=>{let i,s,r;const a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),s=i.length;s-- >0;)r=i[s],(!o||o(r,e,t))&&!a[r]&&(t[r]=e[r],a[r]=true);e=n!==false&&Cd(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},h5=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},m5=e=>{if(!e)return null;if(ds(e))return e;let t=e.length;if(!Jw(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},g5=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Cd(Uint8Array)),w5=(e,t)=>{const o=(e&&e[gl]).call(e);let i;for(;(i=o.next())&&!i.done;){const s=i.value;t.call(e,s[0],s[1]);}},y5=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},b5=zn("HTMLFormElement"),v5=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,i){return o.toUpperCase()+i}),Cp=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),x5=zn("RegExp"),Xw=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};_r(n,(i,s)=>{let r;(r=t(i,s,e))!==false&&(o[s]=r||i);}),Object.defineProperties(e,o);},_5=e=>{Xw(e,(t,n)=>{if(ln(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return  false;const o=e[n];if(ln(o)){if(t.enumerable=false,"writable"in t){t.writable=false;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")});}});},C5=(e,t)=>{const n={},o=i=>{i.forEach(s=>{n[s]=true;});};return ds(e)?o(e):o(String(e).split(t)),n},k5=()=>{},$5=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function S5(e){return !!(e&&ln(e.append)&&e[Kw]==="FormData"&&e[gl])}const E5=e=>{const t=new Array(10),n=(o,i)=>{if(xr(o)){if(t.indexOf(o)>=0)return;if(vr(o))return o;if(!("toJSON"in o)){t[i]=o;const s=ds(o)?[]:{};return _r(o,(r,a)=>{const l=n(r,i+1);!er(l)&&(s[a]=l);}),t[i]=void 0,s}}return o};return n(e,0)},A5=zn("AsyncFunction"),P5=e=>e&&(xr(e)||ln(e))&&ln(e.then)&&ln(e.catch),Zw=((e,t)=>e?setImmediate:t?((n,o)=>(si.addEventListener("message",({source:i,data:s})=>{i===si&&s===n&&o.length&&o.shift()();},false),i=>{o.push(i),si.postMessage(n,"*");}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ln(si.postMessage)),I5=typeof queueMicrotask<"u"?queueMicrotask.bind(si):typeof process<"u"&&process.nextTick||Zw,D5=e=>e!=null&&ln(e[gl]),V={isArray:ds,isArrayBuffer:Gw,isBuffer:vr,isFormData:o5,isArrayBufferView:GD,isString:JD,isNumber:Jw,isBoolean:YD,isObject:xr,isPlainObject:Wr,isEmptyObject:QD,isReadableStream:s5,isRequest:r5,isResponse:a5,isHeaders:l5,isUndefined:er,isDate:XD,isFile:ZD,isBlob:e5,isRegExp:x5,isFunction:ln,isStream:n5,isURLSearchParams:i5,isTypedArray:g5,isFileList:t5,forEach:_r,merge:Wu,extend:c5,trim:u5,stripBOM:d5,inherits:f5,toFlatObject:p5,kindOf:wl,kindOfTest:zn,endsWith:h5,toArray:m5,forEachEntry:w5,matchAll:y5,isHTMLForm:b5,hasOwnProperty:Cp,hasOwnProp:Cp,reduceDescriptors:Xw,freezeMethods:_5,toObjectSet:C5,toCamelCase:v5,noop:k5,toFiniteNumber:$5,findKey:Yw,global:si,isContextDefined:Qw,isSpecCompliantForm:S5,toJSONObject:E5,isAsyncFn:A5,isThenable:P5,setImmediate:Zw,asap:I5,isIterable:D5};function Be(e,t,n,o,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),i&&(this.response=i,this.status=i.status?i.status:null);}V.inherits(Be,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:V.toJSONObject(this.config),code:this.code,status:this.status}}});const ey=Be.prototype,ty={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ty[e]={value:e};});Object.defineProperties(Be,ty);Object.defineProperty(ey,"isAxiosError",{value:true});Be.from=(e,t,n,o,i,s)=>{const r=Object.create(ey);return V.toFlatObject(e,r,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Be.call(r,e.message,t,n,o,i),r.cause=e,r.name=e.name,s&&Object.assign(r,s),r};const T5=null;function Ku(e){return V.isPlainObject(e)||V.isArray(e)}function ny(e){return V.endsWith(e,"[]")?e.slice(0,-2):e}function kp(e,t,n){return e?e.concat(t).map(function(i,s){return i=ny(i),!n&&s?"["+i+"]":i}).join(n?".":""):t}function L5(e){return V.isArray(e)&&!e.some(Ku)}const M5=V.toFlatObject(V,{},null,function(t){return /^is[A-Z]/.test(t)});function bl(e,t,n){if(!V.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=V.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,function(y,x){return !V.isUndefined(x[y])});const o=n.metaTokens,i=n.visitor||u,s=n.dots,r=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&V.isSpecCompliantForm(t);if(!V.isFunction(i))throw new TypeError("visitor must be a function");function c(m){if(m===null)return "";if(V.isDate(m))return m.toISOString();if(V.isBoolean(m))return m.toString();if(!l&&V.isBlob(m))throw new Be("Blob is not supported. Use a Buffer instead.");return V.isArrayBuffer(m)||V.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,y,x){let k=m;if(m&&!x&&typeof m=="object"){if(V.endsWith(y,"{}"))y=o?y:y.slice(0,-2),m=JSON.stringify(m);else if(V.isArray(m)&&L5(m)||(V.isFileList(m)||V.endsWith(y,"[]"))&&(k=V.toArray(m)))return y=ny(y),k.forEach(function(E,D){!(V.isUndefined(E)||E===null)&&t.append(r===true?kp([y],D,s):r===null?y:y+"[]",c(E));}),false}return Ku(m)?true:(t.append(kp(x,y,s),c(m)),false)}const f=[],p=Object.assign(M5,{defaultVisitor:u,convertValue:c,isVisitable:Ku});function g(m,y){if(!V.isUndefined(m)){if(f.indexOf(m)!==-1)throw Error("Circular reference detected in "+y.join("."));f.push(m),V.forEach(m,function(k,I){(!(V.isUndefined(k)||k===null)&&i.call(t,k,V.isString(I)?I.trim():I,y,p))===true&&g(k,y?y.concat(I):[I]);}),f.pop();}}if(!V.isObject(e))throw new TypeError("data must be an object");return g(e),t}function $p(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function kd(e,t){this._pairs=[],e&&bl(e,this,t);}const oy=kd.prototype;oy.append=function(t,n){this._pairs.push([t,n]);};oy.toString=function(t){const n=t?function(o){return t.call(this,o,$p)}:$p;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function O5(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function iy(e,t,n){if(!t)return e;const o=n&&n.encode||O5;V.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let s;if(i?s=i(t,n):s=V.isURLSearchParams(t)?t.toString():new kd(t,n).toString(o),s){const r=e.indexOf("#");r!==-1&&(e=e.slice(0,r)),e+=(e.indexOf("?")===-1?"?":"&")+s;}return e}class Sp{constructor(){this.handlers=[];}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:false,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null);}clear(){this.handlers&&(this.handlers=[]);}forEach(t){V.forEach(this.handlers,function(o){o!==null&&t(o);});}}const sy={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false},B5=typeof URLSearchParams<"u"?URLSearchParams:kd,R5=typeof FormData<"u"?FormData:null,F5=typeof Blob<"u"?Blob:null,N5={isBrowser:true,classes:{URLSearchParams:B5,FormData:R5,Blob:F5},protocols:["http","https","file","blob","url","data"]},$d=typeof window<"u"&&typeof document<"u",Gu=typeof navigator=="object"&&navigator||void 0,U5=$d&&(!Gu||["ReactNative","NativeScript","NS"].indexOf(Gu.product)<0),j5=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",z5=$d&&window.location.href||"http://localhost",H5=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:$d,hasStandardBrowserEnv:U5,hasStandardBrowserWebWorkerEnv:j5,navigator:Gu,origin:z5},Symbol.toStringTag,{value:"Module"})),Ft={...H5,...N5};function V5(e,t){return bl(e,new Ft.classes.URLSearchParams,{visitor:function(n,o,i,s){return Ft.isNode&&V.isBuffer(n)?(this.append(o,n.toString("base64")),false):s.defaultVisitor.apply(this,arguments)},...t})}function q5(e){return V.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function W5(e){const t={},n=Object.keys(e);let o;const i=n.length;let s;for(o=0;o<i;o++)s=n[o],t[s]=e[s];return t}function ry(e){function t(n,o,i,s){let r=n[s++];if(r==="__proto__")return  true;const a=Number.isFinite(+r),l=s>=n.length;return r=!r&&V.isArray(i)?i.length:r,l?(V.hasOwnProp(i,r)?i[r]=[i[r],o]:i[r]=o,!a):((!i[r]||!V.isObject(i[r]))&&(i[r]=[]),t(n,o,i[r],s)&&V.isArray(i[r])&&(i[r]=W5(i[r])),!a)}if(V.isFormData(e)&&V.isFunction(e.entries)){const n={};return V.forEachEntry(e,(o,i)=>{t(q5(o),i,n,0);}),n}return null}function K5(e,t,n){if(V.isString(e))try{return (t||JSON.parse)(e),V.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return (n||JSON.stringify)(e)}const Cr={transitional:sy,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",i=o.indexOf("application/json")>-1,s=V.isObject(t);if(s&&V.isHTMLForm(t)&&(t=new FormData(t)),V.isFormData(t))return i?JSON.stringify(ry(t)):t;if(V.isArrayBuffer(t)||V.isBuffer(t)||V.isStream(t)||V.isFile(t)||V.isBlob(t)||V.isReadableStream(t))return t;if(V.isArrayBufferView(t))return t.buffer;if(V.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),t.toString();let a;if(s){if(o.indexOf("application/x-www-form-urlencoded")>-1)return V5(t,this.formSerializer).toString();if((a=V.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return bl(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||i?(n.setContentType("application/json",false),K5(t)):t}],transformResponse:[function(t){const n=this.transitional||Cr.transitional,o=n&&n.forcedJSONParsing,i=this.responseType==="json";if(V.isResponse(t)||V.isReadableStream(t))return t;if(t&&V.isString(t)&&(o&&!this.responseType||i)){const r=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(a){if(r)throw a.name==="SyntaxError"?Be.from(a,Be.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ft.classes.FormData,Blob:Ft.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};V.forEach(["delete","get","head","post","put","patch"],e=>{Cr.headers[e]={};});const G5=V.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),J5=e=>{const t={};let n,o,i;return e&&e.split(`
`).forEach(function(r){i=r.indexOf(":"),n=r.substring(0,i).trim().toLowerCase(),o=r.substring(i+1).trim(),!(!n||t[n]&&G5[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o);}),t},Ep=Symbol("internals");function vs(e){return e&&String(e).trim().toLowerCase()}function Kr(e){return e===false||e==null?e:V.isArray(e)?e.map(Kr):String(e)}function Y5(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const Q5=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function nu(e,t,n,o,i){if(V.isFunction(o))return o.call(this,t,n);if(i&&(t=n),!!V.isString(t)){if(V.isString(o))return t.indexOf(o)!==-1;if(V.isRegExp(o))return o.test(t)}}function X5(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function Z5(e,t){const n=V.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(i,s,r){return this[o].call(this,t,i,s,r)},configurable:true});});}let un=class{constructor(t){t&&this.set(t);}set(t,n,o){const i=this;function s(a,l,c){const u=vs(l);if(!u)throw new Error("header name must be a non-empty string");const f=V.findKey(i,u);(!f||i[f]===void 0||c===true||c===void 0&&i[f]!==false)&&(i[f||l]=Kr(a));}const r=(a,l)=>V.forEach(a,(c,u)=>s(c,u,l));if(V.isPlainObject(t)||t instanceof this.constructor)r(t,n);else if(V.isString(t)&&(t=t.trim())&&!Q5(t))r(J5(t),n);else if(V.isObject(t)&&V.isIterable(t)){let a={},l,c;for(const u of t){if(!V.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[c=u[0]]=(l=a[c])?V.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1];}r(a,n);}else t!=null&&s(n,t,o);return this}get(t,n){if(t=vs(t),t){const o=V.findKey(this,t);if(o){const i=this[o];if(!n)return i;if(n===true)return Y5(i);if(V.isFunction(n))return n.call(this,i,o);if(V.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=vs(t),t){const o=V.findKey(this,t);return !!(o&&this[o]!==void 0&&(!n||nu(this,this[o],o,n)))}return  false}delete(t,n){const o=this;let i=false;function s(r){if(r=vs(r),r){const a=V.findKey(o,r);a&&(!n||nu(o,o[a],a,n))&&(delete o[a],i=true);}}return V.isArray(t)?t.forEach(s):s(t),i}clear(t){const n=Object.keys(this);let o=n.length,i=false;for(;o--;){const s=n[o];(!t||nu(this,this[s],s,t,true))&&(delete this[s],i=true);}return i}normalize(t){const n=this,o={};return V.forEach(this,(i,s)=>{const r=V.findKey(o,s);if(r){n[r]=Kr(i),delete n[s];return}const a=t?X5(s):String(s).trim();a!==s&&delete n[s],n[a]=Kr(i),o[a]=true;}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return V.forEach(this,(o,i)=>{o!=null&&o!==false&&(n[i]=t&&V.isArray(o)?o.join(", "):o);}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return "AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(i=>o.set(i)),o}static accessor(t){const o=(this[Ep]=this[Ep]={accessors:{}}).accessors,i=this.prototype;function s(r){const a=vs(r);o[a]||(Z5(i,r),o[a]=true);}return V.isArray(t)?t.forEach(s):s(t),this}};un.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);V.reduceDescriptors(un.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return {get:()=>e,set(o){this[n]=o;}}});V.freezeMethods(un);function ou(e,t){const n=this||Cr,o=t||n,i=un.from(o.headers);let s=o.data;return V.forEach(e,function(a){s=a.call(n,s,i.normalize(),t?t.status:void 0);}),i.normalize(),s}function ay(e){return !!(e&&e.__CANCEL__)}function fs(e,t,n){Be.call(this,e??"canceled",Be.ERR_CANCELED,t,n),this.name="CanceledError";}V.inherits(fs,Be,{__CANCEL__:true});function ly(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new Be("Request failed with status code "+n.status,[Be.ERR_BAD_REQUEST,Be.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}function eT(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function tT(e,t){e=e||10;const n=new Array(e),o=new Array(e);let i=0,s=0,r;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[s];r||(r=c),n[i]=l,o[i]=c;let f=s,p=0;for(;f!==i;)p+=n[f++],f=f%e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-r<t)return;const g=u&&c-u;return g?Math.round(p*1e3/g):void 0}}function nT(e,t){let n=0,o=1e3/t,i,s;const r=(c,u=Date.now())=>{n=u,i=null,s&&(clearTimeout(s),s=null),e(...c);};return [(...c)=>{const u=Date.now(),f=u-n;f>=o?r(c,u):(i=c,s||(s=setTimeout(()=>{s=null,r(i);},o-f)));},()=>i&&r(i)]}const Ea=(e,t,n=3)=>{let o=0;const i=tT(50,250);return nT(s=>{const r=s.loaded,a=s.lengthComputable?s.total:void 0,l=r-o,c=i(l),u=r<=a;o=r;const f={loaded:r,total:a,progress:a?r/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&u?(a-r)/c:void 0,event:s,lengthComputable:a!=null,[t?"download":"upload"]:true};e(f);},n)},Ap=(e,t)=>{const n=e!=null;return [o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},Pp=e=>(...t)=>V.asap(()=>e(...t)),oT=Ft.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Ft.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Ft.origin),Ft.navigator&&/(msie|trident)/i.test(Ft.navigator.userAgent)):()=>true,iT=Ft.hasStandardBrowserEnv?{write(e,t,n,o,i,s){const r=[e+"="+encodeURIComponent(t)];V.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),V.isString(o)&&r.push("path="+o),V.isString(i)&&r.push("domain="+i),s===true&&r.push("secure"),document.cookie=r.join("; ");},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5);}}:{write(){},read(){return null},remove(){}};function sT(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function rT(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function uy(e,t,n){let o=!sT(t);return e&&(o||n==false)?rT(e,t):t}const Ip=e=>e instanceof un?{...e}:e;function bi(e,t){t=t||{};const n={};function o(c,u,f,p){return V.isPlainObject(c)&&V.isPlainObject(u)?V.merge.call({caseless:p},c,u):V.isPlainObject(u)?V.merge({},u):V.isArray(u)?u.slice():u}function i(c,u,f,p){if(V.isUndefined(u)){if(!V.isUndefined(c))return o(void 0,c,f,p)}else return o(c,u,f,p)}function s(c,u){if(!V.isUndefined(u))return o(void 0,u)}function r(c,u){if(V.isUndefined(u)){if(!V.isUndefined(c))return o(void 0,c)}else return o(void 0,u)}function a(c,u,f){if(f in t)return o(c,u);if(f in e)return o(void 0,c)}const l={url:s,method:s,data:s,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:a,headers:(c,u,f)=>i(Ip(c),Ip(u),f,true)};return V.forEach(Object.keys({...e,...t}),function(u){const f=l[u]||i,p=f(e[u],t[u],u);V.isUndefined(p)&&f!==a||(n[u]=p);}),n}const cy=e=>{const t=bi({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:s,headers:r,auth:a}=t;t.headers=r=un.from(r),t.url=iy(uy(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&r.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(V.isFormData(n)){if(Ft.hasStandardBrowserEnv||Ft.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if((l=r.getContentType())!==false){const[c,...u]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];r.setContentType([c||"multipart/form-data",...u].join("; "));}}if(Ft.hasStandardBrowserEnv&&(o&&V.isFunction(o)&&(o=o(t)),o||o!==false&&oT(t.url))){const c=i&&s&&iT.read(s);c&&r.set(i,c);}return t},aT=typeof XMLHttpRequest<"u",lT=aT&&function(e){return new Promise(function(n,o){const i=cy(e);let s=i.data;const r=un.from(i.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:c}=i,u,f,p,g,m;function y(){g&&g(),m&&m(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u);}let x=new XMLHttpRequest;x.open(i.method.toUpperCase(),i.url,true),x.timeout=i.timeout;function k(){if(!x)return;const E=un.from("getAllResponseHeaders"in x&&x.getAllResponseHeaders()),O={data:!a||a==="text"||a==="json"?x.responseText:x.response,status:x.status,statusText:x.statusText,headers:E,config:e,request:x};ly(function(j){n(j),y();},function(j){o(j),y();},O),x=null;}"onloadend"in x?x.onloadend=k:x.onreadystatechange=function(){!x||x.readyState!==4||x.status===0&&!(x.responseURL&&x.responseURL.indexOf("file:")===0)||setTimeout(k);},x.onabort=function(){x&&(o(new Be("Request aborted",Be.ECONNABORTED,e,x)),x=null);},x.onerror=function(){o(new Be("Network Error",Be.ERR_NETWORK,e,x)),x=null;},x.ontimeout=function(){let D=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const O=i.transitional||sy;i.timeoutErrorMessage&&(D=i.timeoutErrorMessage),o(new Be(D,O.clarifyTimeoutError?Be.ETIMEDOUT:Be.ECONNABORTED,e,x)),x=null;},s===void 0&&r.setContentType(null),"setRequestHeader"in x&&V.forEach(r.toJSON(),function(D,O){x.setRequestHeader(O,D);}),V.isUndefined(i.withCredentials)||(x.withCredentials=!!i.withCredentials),a&&a!=="json"&&(x.responseType=i.responseType),c&&([p,m]=Ea(c,true),x.addEventListener("progress",p)),l&&x.upload&&([f,g]=Ea(l),x.upload.addEventListener("progress",f),x.upload.addEventListener("loadend",g)),(i.cancelToken||i.signal)&&(u=E=>{x&&(o(!E||E.type?new fs(null,e,x):E),x.abort(),x=null);},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));const I=eT(i.url);if(I&&Ft.protocols.indexOf(I)===-1){o(new Be("Unsupported protocol "+I+":",Be.ERR_BAD_REQUEST,e));return}x.send(s||null);})},uT=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,i;const s=function(c){if(!i){i=true,a();const u=c instanceof Error?c:this.reason;o.abort(u instanceof Be?u:new fs(u instanceof Error?u.message:u));}};let r=t&&setTimeout(()=>{r=null,s(new Be(`timeout ${t} of ms exceeded`,Be.ETIMEDOUT));},t);const a=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s);}),e=null);};e.forEach(c=>c.addEventListener("abort",s));const{signal:l}=o;return l.unsubscribe=()=>V.asap(a),l}},cT=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let o=0,i;for(;o<n;)i=o+t,yield e.slice(o,i),o=i;},dT=async function*(e,t){for await(const n of fT(e))yield*cT(n,t);},fT=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:o}=await t.read();if(n)break;yield o;}}finally{await t.cancel();}},Dp=(e,t,n,o)=>{const i=dT(e,t);let s=0,r,a=l=>{r||(r=true,o&&o(l));};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await i.next();if(c){a(),l.close();return}let f=u.byteLength;if(n){let p=s+=f;n(p);}l.enqueue(new Uint8Array(u));}catch(c){throw a(c),c}},cancel(l){return a(l),i.return()}},{highWaterMark:2})},vl=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",dy=vl&&typeof ReadableStream=="function",pT=vl&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),fy=(e,...t)=>{try{return !!e(...t)}catch{return  false}},hT=dy&&fy(()=>{let e=!1;const t=new Request(Ft.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Tp=64*1024,Ju=dy&&fy(()=>V.isReadableStream(new Response("").body)),Aa={stream:Ju&&(e=>e.body)};vl&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Aa[t]&&(Aa[t]=V.isFunction(e[t])?n=>n[t]():(n,o)=>{throw new Be(`Response type '${t}' is not supported`,Be.ERR_NOT_SUPPORT,o)});});})(new Response);const mT=async e=>{if(e==null)return 0;if(V.isBlob(e))return e.size;if(V.isSpecCompliantForm(e))return (await new Request(Ft.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(V.isArrayBufferView(e)||V.isArrayBuffer(e))return e.byteLength;if(V.isURLSearchParams(e)&&(e=e+""),V.isString(e))return (await pT(e)).byteLength},gT=async(e,t)=>{const n=V.toFiniteNumber(e.getContentLength());return n??mT(t)},wT=vl&&(async e=>{let{url:t,method:n,data:o,signal:i,cancelToken:s,timeout:r,onDownloadProgress:a,onUploadProgress:l,responseType:c,headers:u,withCredentials:f="same-origin",fetchOptions:p}=cy(e);c=c?(c+"").toLowerCase():"text";let g=uT([i,s&&s.toAbortSignal()],r),m;const y=g&&g.unsubscribe&&(()=>{g.unsubscribe();});let x;try{if(l&&hT&&n!=="get"&&n!=="head"&&(x=await gT(u,o))!==0){let O=new Request(t,{method:"POST",body:o,duplex:"half"}),H;if(V.isFormData(o)&&(H=O.headers.get("content-type"))&&u.setContentType(H),O.body){const[j,ae]=Ap(x,Ea(Pp(l)));o=Dp(O.body,Tp,j,ae);}}V.isString(f)||(f=f?"include":"omit");const k="credentials"in Request.prototype;m=new Request(t,{...p,signal:g,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:o,duplex:"half",credentials:k?f:void 0});let I=await fetch(m,p);const E=Ju&&(c==="stream"||c==="response");if(Ju&&(a||E&&y)){const O={};["status","statusText","headers"].forEach(fe=>{O[fe]=I[fe];});const H=V.toFiniteNumber(I.headers.get("content-length")),[j,ae]=a&&Ap(H,Ea(Pp(a),!0))||[];I=new Response(Dp(I.body,Tp,j,()=>{ae&&ae(),y&&y();}),O);}c=c||"text";let D=await Aa[V.findKey(Aa,c)||"text"](I,e);return !E&&y&&y(),await new Promise((O,H)=>{ly(O,H,{data:D,headers:un.from(I.headers),status:I.status,statusText:I.statusText,config:e,request:m});})}catch(k){throw y&&y(),k&&k.name==="TypeError"&&/Load failed|fetch/i.test(k.message)?Object.assign(new Be("Network Error",Be.ERR_NETWORK,e,m),{cause:k.cause||k}):Be.from(k,k&&k.code,e,m)}}),Yu={http:T5,xhr:lT,fetch:wT};V.forEach(Yu,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t});}catch{}Object.defineProperty(e,"adapterName",{value:t});}});const Lp=e=>`- ${e}`,yT=e=>V.isFunction(e)||e===null||e===false,py={getAdapter:e=>{e=V.isArray(e)?e:[e];const{length:t}=e;let n,o;const i={};for(let s=0;s<t;s++){n=e[s];let r;if(o=n,!yT(n)&&(o=Yu[(r=String(n)).toLowerCase()],o===void 0))throw new Be(`Unknown adapter '${r}'`);if(o)break;i[r||"#"+s]=o;}if(!o){const s=Object.entries(i).map(([a,l])=>`adapter ${a} `+(l===false?"is not supported by the environment":"is not available in the build"));let r=t?s.length>1?`since :
`+s.map(Lp).join(`
`):" "+Lp(s[0]):"as no adapter specified";throw new Be("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return o},adapters:Yu};function iu(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fs(null,e)}function Mp(e){return iu(e),e.headers=un.from(e.headers),e.data=ou.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",false),py.getAdapter(e.adapter||Cr.adapter)(e).then(function(o){return iu(e),o.data=ou.call(e,e.transformResponse,o),o.headers=un.from(o.headers),o},function(o){return ay(o)||(iu(e),o&&o.response&&(o.response.data=ou.call(e,e.transformResponse,o.response),o.response.headers=un.from(o.response.headers))),Promise.reject(o)})}const hy="1.11.0",xl={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{xl[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e};});const Op={};xl.transitional=function(t,n,o){function i(s,r){return "[Axios v"+hy+"] Transitional option '"+s+"'"+r+(o?". "+o:"")}return (s,r,a)=>{if(t===false)throw new Be(i(r," has been removed"+(n?" in "+n:"")),Be.ERR_DEPRECATED);return n&&!Op[r]&&(Op[r]=true,console.warn(i(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,r,a):true}};xl.spelling=function(t){return (n,o)=>(console.warn(`${o} is likely a misspelling of ${t}`),true)};function bT(e,t,n){if(typeof e!="object")throw new Be("options must be an object",Be.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let i=o.length;for(;i-- >0;){const s=o[i],r=t[s];if(r){const a=e[s],l=a===void 0||r(a,s,e);if(l!==true)throw new Be("option "+s+" must be "+l,Be.ERR_BAD_OPTION_VALUE);continue}if(n!==true)throw new Be("Unknown option "+s,Be.ERR_BAD_OPTION)}}const Gr={assertOptions:bT,validators:xl},Vn=Gr.validators;let ui=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Sp,response:new Sp};}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const s=i.stack?i.stack.replace(/^.+\n/,""):"";try{o.stack?s&&!String(o.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(o.stack+=`
`+s):o.stack=s;}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=bi(this.defaults,n);const{transitional:o,paramsSerializer:i,headers:s}=n;o!==void 0&&Gr.assertOptions(o,{silentJSONParsing:Vn.transitional(Vn.boolean),forcedJSONParsing:Vn.transitional(Vn.boolean),clarifyTimeoutError:Vn.transitional(Vn.boolean)},false),i!=null&&(V.isFunction(i)?n.paramsSerializer={serialize:i}:Gr.assertOptions(i,{encode:Vn.function,serialize:Vn.function},true)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=true),Gr.assertOptions(n,{baseUrl:Vn.spelling("baseURL"),withXsrfToken:Vn.spelling("withXSRFToken")},true),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=s&&V.merge(s.common,s[n.method]);s&&V.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m];}),n.headers=un.concat(r,s);const a=[];let l=true;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(n)===false||(l=l&&y.synchronous,a.unshift(y.fulfilled,y.rejected));});const c=[];this.interceptors.response.forEach(function(y){c.push(y.fulfilled,y.rejected);});let u,f=0,p;if(!l){const m=[Mp.bind(this),void 0];for(m.unshift(...a),m.push(...c),p=m.length,u=Promise.resolve(n);f<p;)u=u.then(m[f++],m[f++]);return u}p=a.length;let g=n;for(f=0;f<p;){const m=a[f++],y=a[f++];try{g=m(g);}catch(x){y.call(this,x);break}}try{u=Mp.call(this,g);}catch(m){return Promise.reject(m)}for(f=0,p=c.length;f<p;)u=u.then(c[f++],c[f++]);return u}getUri(t){t=bi(this.defaults,t);const n=uy(t.baseURL,t.url,t.allowAbsoluteUrls);return iy(n,t.params,t.paramsSerializer)}};V.forEach(["delete","get","head","options"],function(t){ui.prototype[t]=function(n,o){return this.request(bi(o||{},{method:t,url:n,data:(o||{}).data}))};});V.forEach(["post","put","patch"],function(t){function n(o){return function(s,r,a){return this.request(bi(a||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:s,data:r}))}}ui.prototype[t]=n(),ui.prototype[t+"Form"]=n(true);});let vT=class my{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s;});const o=this;this.promise.then(i=>{if(!o._listeners)return;let s=o._listeners.length;for(;s-- >0;)o._listeners[s](i);o._listeners=null;}),this.promise.then=i=>{let s;const r=new Promise(a=>{o.subscribe(a),s=a;}).then(i);return r.cancel=function(){o.unsubscribe(s);},r},t(function(s,r,a){o.reason||(o.reason=new fs(s,r,a),n(o.reason));});}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t];}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1);}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o);};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return {token:new my(function(i){t=i;}),cancel:t}}};function xT(e){return function(n){return e.apply(null,n)}}function _T(e){return V.isObject(e)&&e.isAxiosError===true}const Qu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qu).forEach(([e,t])=>{Qu[t]=e;});function gy(e){const t=new ui(e),n=Ww(ui.prototype.request,t);return V.extend(n,ui.prototype,t,{allOwnKeys:true}),V.extend(n,t,null,{allOwnKeys:true}),n.create=function(i){return gy(bi(e,i))},n}const vt=gy(Cr);vt.Axios=ui;vt.CanceledError=fs;vt.CancelToken=vT;vt.isCancel=ay;vt.VERSION=hy;vt.toFormData=bl;vt.AxiosError=Be;vt.Cancel=vt.CanceledError;vt.all=function(t){return Promise.all(t)};vt.spread=xT;vt.isAxiosError=_T;vt.mergeConfig=bi;vt.AxiosHeaders=un;vt.formToJSON=e=>ry(V.isHTMLForm(e)?new FormData(e):e);vt.getAdapter=py.getAdapter;vt.HttpStatusCode=Qu;vt.default=vt;const{Axios:J4,AxiosError:CT,CanceledError:Y4,isCancel:Q4,CancelToken:X4,VERSION:Z4,all:eF,Cancel:tF,isAxiosError:nF,spread:oF,toFormData:iF,AxiosHeaders:sF,HttpStatusCode:rF,formToJSON:aF,getAdapter:lF,mergeConfig:uF}=vt;var su,Bp;function kT(){if(Bp)return su;Bp=1;const e=new Set(["ENOTFOUND","ENETUNREACH","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_CRL","UNABLE_TO_DECRYPT_CERT_SIGNATURE","UNABLE_TO_DECRYPT_CRL_SIGNATURE","UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY","CERT_SIGNATURE_FAILURE","CRL_SIGNATURE_FAILURE","CERT_NOT_YET_VALID","CERT_HAS_EXPIRED","CRL_NOT_YET_VALID","CRL_HAS_EXPIRED","ERROR_IN_CERT_NOT_BEFORE_FIELD","ERROR_IN_CERT_NOT_AFTER_FIELD","ERROR_IN_CRL_LAST_UPDATE_FIELD","ERROR_IN_CRL_NEXT_UPDATE_FIELD","OUT_OF_MEM","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","CERT_CHAIN_TOO_LONG","CERT_REVOKED","INVALID_CA","PATH_LENGTH_EXCEEDED","INVALID_PURPOSE","CERT_UNTRUSTED","CERT_REJECTED","HOSTNAME_MISMATCH"]);return su=t=>!e.has(t&&t.code),su}var $T=kT();const ST=Am($T),Sd="axios-retry";function wy(e){const t=["ERR_CANCELED","ECONNABORTED"];return e.response||!e.code||t.includes(e.code)?false:ST(e)}const yy=["get","head","options"],ET=yy.concat(["put","delete"]);function Ed(e){return e.code!=="ECONNABORTED"&&(!e.response||e.response.status===429||e.response.status>=500&&e.response.status<=599)}function AT(e){return e.config?.method?Ed(e)&&yy.indexOf(e.config.method)!==-1:false}function by(e){return e.config?.method?Ed(e)&&ET.indexOf(e.config.method)!==-1:false}function vy(e){return wy(e)||by(e)}function Ad(e=void 0){const t=e?.response?.headers["retry-after"];if(!t)return 0;let n=(Number(t)||0)*1e3;return n===0&&(n=(new Date(t).valueOf()||0)-Date.now()),Math.max(0,n)}function PT(e=0,t=void 0){return Math.max(0,Ad(t))}function IT(e=0,t=void 0,n=100){const o=2**e*n,i=Math.max(o,Ad(t)),s=i*.2*Math.random();return i+s}function DT(e=100){return (t=0,n=void 0)=>{const o=t*e;return Math.max(o,Ad(n))}}const TT={retries:3,retryCondition:vy,retryDelay:PT,shouldResetTimeout:false,onRetry:()=>{},onMaxRetryTimesExceeded:()=>{},validateResponse:null};function LT(e,t){return {...TT,...t,...e[Sd]}}function Rp(e,t,n=false){const o=LT(e,t||{});return o.retryCount=o.retryCount||0,(!o.lastRequestTime||n)&&(o.lastRequestTime=Date.now()),e[Sd]=o,o}function MT(e,t){e.defaults.agent===t.agent&&delete t.agent,e.defaults.httpAgent===t.httpAgent&&delete t.httpAgent,e.defaults.httpsAgent===t.httpsAgent&&delete t.httpsAgent;}async function OT(e,t){const{retries:n,retryCondition:o}=e,i=(e.retryCount||0)<n&&o(t);if(typeof i=="object")try{return await i!==!1}catch{return  false}return i}async function BT(e,t,n,o){t.retryCount+=1;const{retryDelay:i,shouldResetTimeout:s,onRetry:r}=t,a=i(t.retryCount,n);if(MT(e,o),!s&&o.timeout&&t.lastRequestTime){const l=Date.now()-t.lastRequestTime,c=o.timeout-l-a;if(c<=0)return Promise.reject(n);o.timeout=c;}return o.transformRequest=[l=>l],await r(t.retryCount,n,o),o.signal?.aborted?Promise.resolve(e(o)):new Promise(l=>{const c=()=>{clearTimeout(u),l(e(o));},u=setTimeout(()=>{l(e(o)),o.signal?.removeEventListener&&o.signal.removeEventListener("abort",c);},a);o.signal?.addEventListener&&o.signal.addEventListener("abort",c,{once:true});})}async function RT(e,t){e.retryCount>=e.retries&&await e.onMaxRetryTimesExceeded(t,e.retryCount);}const Go=(e,t)=>{const n=e.interceptors.request.use(i=>(Rp(i,t,true),i[Sd]?.validateResponse&&(i.validateStatus=()=>false),i)),o=e.interceptors.response.use(null,async i=>{const{config:s}=i;if(!s)return Promise.reject(i);const r=Rp(s,t);return i.response&&r.validateResponse?.(i.response)?i.response:await OT(r,i)?BT(e,r,i,s):(await RT(r,i),Promise.reject(i))});return {requestInterceptorId:n,responseInterceptorId:o}};Go.isNetworkError=wy;Go.isSafeRequestError=AT;Go.isIdempotentRequestError=by;Go.isNetworkOrIdempotentRequestError=vy;Go.exponentialDelay=IT;Go.linearDelay=DT;Go.isRetryableError=Ed;const FT="pan115_api";var Pa=(e=>(e.evenly="evenly",e.asap="asap",e))(Pa||{});const xy={points:1,duration:1,execEvenly:true};function _y(e){return {clientId:FT,rateLimit:xy,msDelayAdjustment:30,...e}}function NT(e){const t=_y(e),n=vt.create({});Go(n,{retries:5,shouldResetTimeout:true,retryDelay:i=>(console.log(`[axios] Retry ${i}...`),i*1e3)});const o=new Ns.RateLimiterMemory(t.rateLimit);return n.interceptors.request.use(async i=>{try{const s=await o.consume(t.clientId);return i}catch(s){if(console.warn("[axios] RateLimiter:",s),s instanceof Ns.RateLimiterRes){const r=s.msBeforeNext+t.msDelayAdjustment;return console.log(`[axios] Delay ${r}ms for next request...`),await kt(r),i}else throw new CT(s)}},i=>(console.warn("[axios] onRejected:",i),Promise.reject(i))),n}const Cy=gt.basic;function UT(e){return {limiterDuration:1,limiterPoints:1,limitExecPolicy:Pa.evenly,showOfflineEntry:false,offlineEntryLabel:"云下载",offlineEntryIconCustomized:false,offlineEntryIcon:"",offlineDialogEntry:false,offlineDialogEntryLabel:"云下载窗口",offlineDialogEntryIconCustomized:false,offlineDialogEntryIcon:"",showAddOffline2:true,addOfflineLabel:"添加",addOfflineIconCustomized:false,addOfflineIcon:"",showFavEntry:false,favEntryLabel:"星标",hideMusicEntry:false,hideWatermark:true,fakeAccountEnabled:false,fakeAccountId:"",fakeAccountName:"",fakeAccountAvatar:"",fakeAccountVip:"",...e}}async function _l(){const e=UT(),t=await Xe.get(Cy,e);return {...e,...t}}async function jT(e){await Xe.set(Cy,e);}function Pd(e,t,n){return t?n?n.startsWith("<svg")?`<span class="ce-func-btn-icon-svg">${n}</span>`:`<img src="${n}" alt="自定义图标" class="ce-func-btn-icon" />`:"":e}async function zT(e){if(!e.offlineDialogEntry||!xn())return;console.log("[Cloud115 Enhancer] showOfflineDialogEntry");const t=await Gn("a#js_filter_btn"),n="background:#fffcea;",o="点击打开「云下载」页面",i=e.offlineDialogEntryLabel?`<span>${e.offlineDialogEntryLabel}</span>`:"",s=Pd('<i class="icon-operate ifo-linktask"></i>',e.offlineDialogEntryIconCustomized,e.offlineDialogEntryIcon),r=$(`<a href="javascript:;" class="button btn-line" title="${o}" style="${n}">
    ${s} ${i}
  </a>`);t.after(r),r.on("click",()=>{try{$t().Core.FileDialogApi.OpenTransferTabDialog("offline_task");}catch(a){console.warn("[showOfflineDialogEntry]",a),Y({title:"打开云下载窗口失败",text:a.message,icon:"error"});}});}async function HT(e){if(!e.showOfflineEntry||!xn())return;console.log("[Cloud115 Enhancer] showOfflineEntry");const t=await Gn("a#js_filter_btn"),n="https://115.com/?ct=index&ac=offline_new_tpl&offline=1&tab=offline",o="background:#fffcea;",i="点击跳转到「云下载」页面",s=e.offlineEntryLabel?`<span>${e.offlineEntryLabel}</span>`:"",r=Pd('<i class="icon-operate ifo-linktask"></i>',e.offlineEntryIconCustomized,e.offlineEntryIcon),a=$(`<a href="javascript:;" class="button btn-line" title="${i}" tab_btn="wangpan" mode-tab="offline" style="${o}">
    ${r}
    ${s}
  </a>`);t.after(a),a.on("click",()=>{try{$t().oofUtil.urlMaintain.changeMode("wangpan",{tab:"offline"});}catch(l){console.warn("[showOfflineEntry]",l),location.href=n;}});}async function VT(e){if(!xn())return;const{showAddOffline2:t,addOfflineLabel:n}=e,o=Ne('#js_top_panel_box .left-tvf > a[menu="offline_task"]');if(o){if(!t){o.style.display="none";return}const u=o.querySelector("span");u&&(u.textContent=n);return}if(!t)return;const i=await Gn("a#js_filter_btn"),s="background:#fffcea;",r="点击打开「添加云下载」对话框",a=e.addOfflineLabel?`<span>${e.addOfflineLabel}</span>`:"",l=Pd('<i class="icon-operate ifo-linktask"></i>',e.addOfflineIconCustomized,e.addOfflineIcon),c=$(`<a href="javascript:;" class="button btn-line" menu="offline_task" style="${s}" title="${r}">
    ${l}${a}
  </a>`);i.after(c);}async function qT(e){if(!e.showFavEntry||!xn())return;console.log("[Cloud115 Enhancer] showFavEntry");const t=await Gn("a#js_filter_btn"),n="https://115.com/?tab=label&show_label=1&label_id=-1&mode=wangpan",o="background:#fffcea;",i="点击跳转到「星标」页面",s=e.favEntryLabel?`<span>${e.favEntryLabel}</span>`:"",r=$(`<a href="javascript:;" class="button btn-line" title="${i}" tab_btn="wangpan" mode-tab="{tab:'label',label_id:-1,show_label:1}" style="${o}">
    <i class="icon-operate ifo-fav"></i>
    ${s}
  </a>`);t.after(r),r.on("click",()=>{try{$t().oofUtil.urlMaintain.changeMode("wangpan",{tab:"label",label_id:-1,show_label:1});}catch(a){console.warn("[showFavEntry]",a),location.href=n;}});}async function WT(e){if(!e.hideMusicEntry||!xn())return;console.log("[Cloud115 Enhancer] hideMusicEntry"),await qe("#js_top_panel_box");const t=Ne("a#top_btn_music_play");t&&(t.style.display="none");}async function KT(e){if(e.hideWatermark){console.log("[Cloud115 Enhancer] hideWatermark");try{const t=await qe('div[class^="fp-"]');t.classList.add("hidden-watermark"),t.style.display="none";}catch(t){console.error("[Cloud115 Enhancer] hideWatermark",t.message);}}}async function GT(e){window.top===window.self&&(await kt(1e3),Xu(e),window.addEventListener("message",async t=>{const n=t.data.event,o=t.data.body;n===ot.basicConfigChange&&(console.log("[Cloud115 Enhancer] basicConfigChange"),Xu(o));}));}let Rs=null;async function JT(){Rs&&clearTimeout(Rs),Rs=setTimeout(async()=>{const e=await _l();Xu(e);},5e3);}async function Xu(e){Rs&&clearTimeout(Rs);const t=async(n,o)=>{const i=await Gn('[rel="user_id"]',100);i.data("origin")||i.data("origin",i.text()),o?i.text(i.data("origin")):i.text(n.fakeAccountId);const s=await Gn('[rel="user_name"]',100);s.data("origin")||s.data("origin",$(s[0]).text()),o?s.text(s.data("origin")):s.text(n.fakeAccountName);const r=await Gn('img[rel="user_face"], .user-avatar img',100);r.data("origin")||r.data("origin",r.attr("src")),o?r.attr("src",r.data("origin")):(r.attr("rel","noreferrer"),r.attr("src",n.fakeAccountAvatar));const a=await Gn(".sign-vip-card",100);a.data("origin")||a.data("origin",$(a[0]).text()),o?a.text(a.data("origin")):a.text(n.fakeAccountVip);};try{e.fakeAccountEnabled?await t(e,!1):await t(e,!0);}catch(n){console.error(n);}finally{e.fakeAccountEnabled&&JT();}}const YT='@charset "UTF-8";.ce-func-btn-icon,.ce-func-btn-icon-svg svg{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-right:4px}';At(YT);async function QT(){const e=await _l(),{host:t}=location;/115\.com$/.test(t)&&(KT(e),HT(e),zT(e),VT(e),qT(e),WT(e),GT(e));}const ky=Symbol("addTab"),$y=Symbol("updateTab"),Sy=Symbol("deleteTab"),Ey=Symbol("tabsProvider");function Fr(e,t){const n=Is(e,t);if(typeof n>"u")throw new Error(`Could not resolve ${e.description}`);return n}const XT=["data-tab-id","aria-hidden"],kn=xe({__name:"Tab",props:{panelClass:{default:"tabs-component-panel"},id:{default:void 0},name:null,prefix:{default:""},suffix:{default:""},isDisabled:{type:Boolean,default:false},navItemClass:{default:void 0},navItemLinkClass:{default:void 0}},setup(e,{expose:t}){const n=e,o=K(false),i=Fr(Ey),s=Fr(ky),r=Fr($y),a=Fr(Sy),l=n.prefix+n.name+n.suffix,c=n.id?n.id:n.name.toLowerCase().replace(/ /g,"-"),u=c+"-pane",f=Ke(()=>"#"+(n.isDisabled?"":c));return ze(()=>i.activeTabHash,()=>{o.value=f.value===i.activeTabHash;}),ze(()=>Object.assign({},n),()=>{r(c,{name:n.name,header:n.prefix+n.name+n.suffix,isDisabled:n.isDisabled,hash:f.value,index:i.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),St(()=>{s({name:n.name,header:l,isDisabled:n.isDisabled,hash:f.value,index:i.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),ig(()=>{a(c);}),t({header:l,computedId:c,paneId:u,hash:f,isActive:o}),(p,g)=>J((_(),A("section",{ref:"tab",id:u,"data-tab-id":te(c),"aria-hidden":!o.value,class:De(e.panelClass),role:"tabpanel",tabindex:"-1"},[Ge(p.$slots,"default")],10,XT)),[[Gt,o.value]])}});class ZT{get(t){const n=localStorage.getItem(t);if(n===null)return null;const o=JSON.parse(n);return o?new Date(o.expires)<new Date?(localStorage.removeItem(t),null):o.value:null}set(t,n,o){const i=new Date().getTime(),s=new Date(i+o*6e4);localStorage.setItem(t,JSON.stringify({value:n,expires:s}));}}const Fp=new ZT,eL=["id"],tL=["aria-controls","aria-selected","href","onClick","innerHTML"],nL=xe({__name:"Tabs",props:{id:{default:void 0},cacheLifetime:{default:5},options:{default:()=>({useUrlFragment:true,defaultTabHash:void 0,storageKey:void 0})},wrapperClass:{default:"tabs-component"},panelsWrapperClass:{default:"tabs-component-panels"},navClass:{default:"tabs-component-tabs"},navItemClass:{default:"tabs-component-tab"},navItemDisabledClass:{default:"is-disabled"},navItemActiveClass:{default:"is-active"},navItemInactiveClass:{default:"is-inactive"},navItemLinkClass:{default:"tabs-component-tab-a"},navItemLinkActiveClass:{default:"is-active"},navItemLinkInactiveClass:{default:"is-inactive"},navItemLinkDisabledClass:{default:"is-disabled"}},emits:["changed","clicked"],setup(e,{expose:t,emit:n}){const o=e,i=Za({activeTabHash:"",lastActiveTabHash:"",tabs:[]});Cs(Ey,i),Cs(ky,l=>{i.tabs.push(l);}),Cs($y,(l,c)=>{const u=i.tabs.findIndex(f=>f.computedId===l);c.isActive=i.tabs[u].isActive,i.tabs[u]=c;}),Cs(Sy,l=>{const c=i.tabs.findIndex(u=>u.computedId===l);i.tabs.splice(c,1);});const s=Ke(()=>{let l;return o.options.storageKey&&(l=o.options.storageKey),!l&&o.id&&(l=`vue-tabs-component.${o.id}.cache.${window.location.host}${window.location.pathname}`),l||(l=`vue-tabs-component.cache.${window.location.host}${window.location.pathname}`),l}),r=(l,c)=>{c&&!o.options.useUrlFragment&&c.preventDefault();const u=a(l);if(u){if(c&&u.isDisabled){c.preventDefault();return}if(i.lastActiveTabHash===u.hash){n("clicked",{tab:u});return}i.tabs.forEach(f=>{f.isActive=f.hash===u.hash;}),n("changed",{tab:u}),i.lastActiveTabHash=i.activeTabHash=u.hash,!(o.cacheLifetime<=0)&&Fp.set(s.value,u.hash,o.cacheLifetime);}},a=l=>i.tabs.find(c=>c.hash===l);return Ht(()=>{if(i.tabs.length){if(window.addEventListener("hashchange",()=>r(window.location.hash)),a(window.location.hash)){r(window.location.hash);return}if(o.cacheLifetime>0){const l=Fp.get(s.value);if(l!==null&&a(l)){r(l);return}}if(o.options.defaultTabHash&&a("#"+o.options.defaultTabHash)){r("#"+o.options.defaultTabHash);return}r(i.tabs[0].hash);}}),t({...c_(i),selectTab:r,findTab:a}),(l,c)=>(_(),A("div",{class:De(e.wrapperClass),id:e.id},[d("ul",{role:"tablist",class:De(e.navClass)},[(_(true),A($e,null,je(i.tabs,(u,f)=>{var p,g;return _(),A("li",{key:f,class:De([(p=u.navItemClass)!=null?p:e.navItemClass,u.isDisabled?e.navItemDisabledClass:"",u.isActive?e.navItemActiveClass:u.isDisabled?"":e.navItemInactiveClass]),role:"presentation"},[d("a",{role:"tab",class:De([(g=u.navItemLinkClass)!=null?g:e.navItemLinkClass,u.isDisabled?e.navItemLinkDisabledClass:"",u.isActive?e.navItemLinkActiveClass:u.isDisabled?"":e.navItemLinkInactiveClass]),"aria-controls":u.paneId,"aria-selected":u.isActive,href:u.hash,onClick:m=>r(u.hash,m),innerHTML:u.header,tabindex:"0"},null,10,tL)],2)}),128))],2),d("div",{class:De(e.panelsWrapperClass)},[Ge(l.$slots,"default")],2)],10,eL))}});function Zu(e,t,n,o){return e<t||e>n?o:e}const oL={class:"pure-control-group"},iL=["for"],sL=["id","checked"],rL={class:"pure-form-message text-success"},aL=["value"],lL=["for"],uL=["id","checked"],cL=["value"],dL=["innerHTML"],fL="支持HTTP链接、base64数据或SVG XML",pL=xe({__name:"ButtonConfigGroup",props:{id:{},label:{},description:{},enabled:{type:Boolean},buttonLabel:{default:""},iconCustomized:{type:Boolean},icon:{default:""}},emits:["update:enabled","update:buttonLabel","update:iconCustomized","update:icon"],setup(e){const t=e;function n(i,s){return !i||!s?"":s.startsWith("<svg")?`<span class="ce-func-btn-icon-svg">${s}</span>`:`<img src="${s}" class="ce-func-btn-icon" alt="自定义图标" />`}const o=Ke(()=>n(t.iconCustomized,t.icon));return (i,s)=>(_(),A("div",oL,[d("label",{for:i.id},U(i.label),9,iL),d("input",{id:i.id,type:"checkbox",checked:t.enabled,onChange:s[0]||(s[0]=r=>i.$emit("update:enabled",r.target.checked))},null,40,sL),d("div",rL,[L(U(i.description)+" 按钮文本为 ",1),d("input",{value:t.buttonLabel||"",onInput:s[1]||(s[1]=r=>i.$emit("update:buttonLabel",r.target.value)),class:"input-small",placeholder:"可以为空"},null,40,aL),s[4]||(s[4]=L("  , ",-1)),d("label",{for:`${i.id}_iconCustomized`,style:{width:"auto"}},"自定义图标",8,lL),d("input",{id:`${i.id}_iconCustomized`,type:"checkbox",checked:t.iconCustomized,onChange:s[2]||(s[2]=r=>i.$emit("update:iconCustomized",r.target.checked))},null,40,uL),s[5]||(s[5]=L("   ",-1)),t.iconCustomized?(_(),A("input",{key:0,value:t.icon||"",onInput:s[3]||(s[3]=r=>i.$emit("update:icon",r.target.value)),class:"pure-input",placeholder:"支持HTTP链接、base64数据或SVG XML",title:fL},null,40,cL)):de("",true),s[6]||(s[6]=L("   ",-1)),t.iconCustomized&&t.icon?(_(),A("span",{key:1,innerHTML:o.value},null,8,dL)):de("",true)])]))}}),ru=Ae(pL,[["__scopeId","data-v-0eae9efb"],["__file","ButtonConfigGroup.vue"]]),hL={class:"ce-config ce-basic-config"},mL={class:"pure-form pure-form-aligned"},gL={class:"pure-control-group"},wL=["value"],yL=["value"],bL={class:"pure-control-group"},vL={class:"pure-form-message text-success"},xL={class:"pure-control-group"},_L={class:"pure-control-group"},CL={class:"pure-control-group"},kL={class:"pure-control-group"},$L={class:"pure-control-group"},SL={class:"pure-control-group"},EL={class:"avatar-preview"},AL=["src"],PL={class:"pure-control-group"},IL=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>_l()),t=await t,n(),t)),i=true;St(async()=>{});function s(c){const u=(f,p)=>Math.floor(Zu(f,1,p,1));return c.limiterDuration=u(c.limiterDuration,300),c.limiterPoints=u(c.limiterPoints,3e3),c}ze(o,lt(async c=>{s(c),await jT(c),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.basicConfigChange,body:Pc(c)});},500),{deep:true});async function r(c,u,f="warning"){const{isConfirmed:p}=await q.fire({title:c,text:u,icon:f,showCancelButton:true,confirmButtonText:"确认"});return p}async function a(){if(await r("导出配置","是否确认导出当前配置?"))try{await ib(),Y({icon:"success",title:"导出成功"});}catch(c){q.fire(c.toString());}}async function l(){if(await r("导入配置","导入后将覆盖当前配置,是否继续?"))try{const c=await sb();console.log(c),Bi.fire({icon:"success",title:"导入成功,刷新页面后生效。将在5秒后自动刷新页面...",timer:5e3}),setTimeout(()=>{window.location.reload();},5e3);}catch(c){q.fire({title:"导入失败",html:c.toString()+'<br/><p class="text-danger">必须有字段 "_schema": "pan115_enhancer_configs" 。</p>'});}}return (c,u)=>(_(),A("div",hL,[d("form",mL,[d("fieldset",null,[u[47]||(u[47]=d("legend",null,"API",-1)),d("div",gL,[u[25]||(u[25]=d("label",null,"全局请求频率控制",-1)),te(i)?de("",true):(_(),A($e,{key:0},[J(d("select",{"onUpdate:modelValue":u[0]||(u[0]=f=>o.value.limitExecPolicy=f)},[d("option",{value:te(Pa).asap},"尽快消耗",8,wL),d("option",{value:te(Pa).evenly},"尽量均匀",8,yL)],512),[[wn,o.value.limitExecPolicy]]),u[24]||(u[24]=L(" 地 ",-1))],64)),u[26]||(u[26]=L(" 在 ",-1)),J(d("input",{id:"basic_limiterDuration",type:"number",min:"1",max:"300",step:"1","onUpdate:modelValue":u[1]||(u[1]=f=>o.value.limiterDuration=f)},null,512),[[He,o.value.limiterDuration]]),u[27]||(u[27]=L(" 秒内最多请求 ",-1)),J(d("input",{id:"basic_limiterQps",type:"number",min:"1",max:"3000",step:"1","onUpdate:modelValue":u[2]||(u[2]=f=>o.value.limiterPoints=f)},null,512),[[He,o.value.limiterPoints]]),u[28]||(u[28]=L(" 次 ",-1)),u[29]||(u[29]=d("div",{class:"pure-form-message text-success"},[L(" 默认 1 秒内最多 1 次。"),d("span",{class:"text-warning"},"请填写整数数值。")],-1))]),u[48]||(u[48]=d("legend",null,"UI优化",-1)),re(ru,{id:"basic_showOfflineEntry",label:"显示云下载入口按钮",description:"在「网盘」页面顶部工具栏显示「云下载」入口按钮。",enabled:o.value.showOfflineEntry,"onUpdate:enabled":u[3]||(u[3]=f=>o.value.showOfflineEntry=f),buttonLabel:o.value.offlineEntryLabel,"onUpdate:buttonLabel":u[4]||(u[4]=f=>o.value.offlineEntryLabel=f),iconCustomized:o.value.offlineEntryIconCustomized,"onUpdate:iconCustomized":u[5]||(u[5]=f=>o.value.offlineEntryIconCustomized=f),icon:o.value.offlineEntryIcon,"onUpdate:icon":u[6]||(u[6]=f=>o.value.offlineEntryIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),re(ru,{id:"basic_offlineDialogEntry",label:"云下载列表窗口按钮",description:"在「网盘」页面顶部工具栏显示打开云下载列表窗口的按钮。",enabled:o.value.offlineDialogEntry,"onUpdate:enabled":u[7]||(u[7]=f=>o.value.offlineDialogEntry=f),buttonLabel:o.value.offlineDialogEntryLabel,"onUpdate:buttonLabel":u[8]||(u[8]=f=>o.value.offlineDialogEntryLabel=f),iconCustomized:o.value.offlineDialogEntryIconCustomized,"onUpdate:iconCustomized":u[9]||(u[9]=f=>o.value.offlineDialogEntryIconCustomized=f),icon:o.value.offlineDialogEntryIcon,"onUpdate:icon":u[10]||(u[10]=f=>o.value.offlineDialogEntryIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),re(ru,{id:"basic_showAddOffline",label:"显示添加云下载按钮",description:"在「网盘」页面顶部工具栏显示添加云下载按钮。",enabled:o.value.showAddOffline2,"onUpdate:enabled":u[11]||(u[11]=f=>o.value.showAddOffline2=f),buttonLabel:o.value.addOfflineLabel,"onUpdate:buttonLabel":u[12]||(u[12]=f=>o.value.addOfflineLabel=f),iconCustomized:o.value.addOfflineIconCustomized,"onUpdate:iconCustomized":u[13]||(u[13]=f=>o.value.addOfflineIconCustomized=f),icon:o.value.addOfflineIcon,"onUpdate:icon":u[14]||(u[14]=f=>o.value.addOfflineIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),d("div",bL,[u[31]||(u[31]=d("label",{for:"basic_showFavEntry"},"显示星标入口按钮",-1)),J(d("input",{id:"basic_showFavEntry",type:"checkbox","onUpdate:modelValue":u[15]||(u[15]=f=>o.value.showFavEntry=f)},null,512),[[we,o.value.showFavEntry]]),d("div",vL,[u[30]||(u[30]=L(" 在「网盘」页面顶部工具栏显示「星标」入口按钮。 按钮文本为 ",-1)),J(d("input",{"onUpdate:modelValue":u[16]||(u[16]=f=>o.value.favEntryLabel=f),class:"input-small",placeholder:"可以为空"},null,512),[[He,o.value.favEntryLabel]])])]),d("div",xL,[u[32]||(u[32]=d("label",{for:"basic_hideMusicEntry"},'隐藏"我听"入口按钮',-1)),J(d("input",{id:"basic_hideMusicEntry",type:"checkbox","onUpdate:modelValue":u[17]||(u[17]=f=>o.value.hideMusicEntry=f)},null,512),[[we,o.value.hideMusicEntry]]),u[33]||(u[33]=d("div",{class:"pure-form-message text-success"}," 在「网盘」页面顶部工具栏隐藏「我听」入口按钮。 ",-1))]),u[49]||(u[49]=d("legend",null,"配置管理",-1)),d("div",{class:"pure-control-group"},[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:a},"导出配置"),u[34]||(u[34]=L("      ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l},"导入配置"),u[35]||(u[35]=d("br",null,null,-1)),u[36]||(u[36]=d("br",null,null,-1)),u[37]||(u[37]=d("div",{class:"text-success"},[d("b",null,"导入说明:"),L(" 如有导入部分配置的需求,可以自行编辑json配置文件,只保留需要的配置key(仅限第一级),但必须保留`_`开头的key。 ")],-1)),u[38]||(u[38]=d("br",null,null,-1))]),u[50]||(u[50]=d("legend",null,"隐私保护",-1)),d("div",_L,[u[39]||(u[39]=d("label",{for:"basic_hideWatermark"},"隐藏水印",-1)),J(d("input",{id:"basic_hideWatermark",type:"checkbox","onUpdate:modelValue":u[18]||(u[18]=f=>o.value.hideWatermark=f)},null,512),[[we,o.value.hideWatermark]]),u[40]||(u[40]=d("div",{class:"pure-form-message text-success"}," 网页水印是肉眼看不到的,但通过一些处理可以看到,水印内容是你的账号标识。 如果你需要截图并发给别人,可以考虑开启隐藏。 ",-1))]),d("div",CL,[u[41]||(u[41]=d("label",{for:"basic_fakeAccountEnabled"},"隐藏身份",-1)),J(d("input",{id:"basic_fakeAccountEnabled",type:"checkbox","onUpdate:modelValue":u[19]||(u[19]=f=>o.value.fakeAccountEnabled=f)},null,512),[[we,o.value.fakeAccountEnabled]]),u[42]||(u[42]=d("div",{class:"pure-form-message text-success"}," 修改左下角显示的账号信息,不会真的修改。编辑后即可生效,无需刷新页面。 ",-1))]),d("div",kL,[u[43]||(u[43]=d("label",null,"账号ID",-1)),J(d("input",{"onUpdate:modelValue":u[20]||(u[20]=f=>o.value.fakeAccountId=f),placeholder:"自定义账号ID",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountId]])]),d("div",$L,[u[44]||(u[44]=d("label",null,"用户名",-1)),J(d("input",{"onUpdate:modelValue":u[21]||(u[21]=f=>o.value.fakeAccountName=f),placeholder:"自定义用户名",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountName]])]),d("div",SL,[u[45]||(u[45]=d("label",null,"头像",-1)),J(d("input",{"onUpdate:modelValue":u[22]||(u[22]=f=>o.value.fakeAccountAvatar=f),placeholder:"支持网络图片地址或base64编码",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountAvatar]]),d("span",EL,[o.value.fakeAccountAvatar?(_(),A("img",{key:0,src:o.value.fakeAccountAvatar,alt:"头像预览",width:"20",height:"20"},null,8,AL)):de("",true)])]),d("div",PL,[u[46]||(u[46]=d("label",null,"VIP等级",-1)),J(d("input",{"onUpdate:modelValue":u[23]||(u[23]=f=>o.value.fakeAccountVip=f),placeholder:"自定义VIP等级",class:"pure-input-2-3"},null,512),[[He,o.value.fakeAccountVip]])])])])]))}}),DL=Ae(IL,[["__file","Config.vue"]]),TL={class:"pure-form pure-form-aligned"},LL=["disabled"],ML={class:"pure-control-group"},OL={class:"pure-control-group"},BL={class:"pure-control-group"},RL=["value"],FL={style:{width:"auto"}},NL={class:"text-success text-ul"},UL={class:"pure-control-group"},jL=xe({__name:"ConfigItem",props:{config:{},deletable:{type:Boolean}},emits:["change","delete","activate"],setup(e,{emit:t}){const n=e,o=t,i={content:"如果是macOS版,建议平台选「macos」,可以避免播放链接可能无效的问题,「版本小于 0.8.16」选项同理。"};St(async()=>{});async function s(){n.config.active=true,o("activate",n.config);}async function r(){o("delete");}return ze(n.config,lt(async a=>{o("change",a);},500),{deep:true}),(a,l)=>{const c=O_("tooltip");return _(),A("div",{class:De(["ce-clouddrive-config-item",{active:a.config.active}])},[d("form",TL,[d("fieldset",null,[d("legend",null,[d("button",{type:"button",class:De(["pure-button button-small",[a.config.active?"button-success":"pure-button-primary"]]),onClick:s,disabled:a.config.active},U(a.config.active?"当前使用该配置":"使用该配置"),11,LL),a.deletable?(_(),A("button",{key:0,type:"button",class:"pure-button button-error button-small",onClick:r}," 删除 ")):de("",true)]),d("div",ML,[l[5]||(l[5]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 地址")],-1)),J(d("input",{"onUpdate:modelValue":l[0]||(l[0]=u=>a.config.url=u),placeholder:"CloudDrive服务地址,如「http://localhost:19798」",class:"pure-input-2-3"},null,512),[[He,a.config.url]])]),d("div",OL,[l[6]||(l[6]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 资源根路径")],-1)),J(d("input",{"onUpdate:modelValue":l[1]||(l[1]=u=>a.config.root=u),placeholder:"即当前115账号在CloudDrive中的资源名称,如「115」",class:"pure-input-2-3"},null,512),[[He,a.config.root]])]),d("div",BL,[l[9]||(l[9]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 平台")],-1)),J(d("select",{"onUpdate:modelValue":l[2]||(l[2]=u=>a.config.platform=u)},[(_(true),A($e,null,je(te(Mo),u=>(_(),A("option",{key:u,value:u},U(u),9,RL))),128))],512),[[wn,a.config.platform]]),l[10]||(l[10]=L("   ",-1)),d("label",FL,[J(d("input",{type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=u=>a.config.ver_lt_0816=u)},null,512),[[we,a.config.ver_lt_0816]]),l[7]||(l[7]=L(" 版本小于 0.8.16 ",-1))]),l[11]||(l[11]=L("   ",-1)),J((_(),A("span",NL,l[8]||(l[8]=[L("说明",-1)]))),[[c,i]])]),d("div",UL,[l[12]||(l[12]=d("label",null,"备注",-1)),J(d("input",{"onUpdate:modelValue":l[4]||(l[4]=u=>a.config.memo=u),placeholder:"备注信息",class:"pure-input-2-3"},null,512),[[He,a.config.memo]])])])])],2)}}}),zL=Ae(jL,[["__file","ConfigItem.vue"]]),HL={class:"ce-config ce-clouddrive-config"},VL={class:"ce-list"},qL={class:"ce-actions"},WL=["disabled"],KL=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>tm()),t=await t,n(),t));St(async()=>{});async function i(){await Vd(o.value),Y({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}async function s(){o.value.push(Ec());}async function r(l,c){const{isConfirmed:u}=await q.fire({icon:"warning",html:`确定要删除第 ${c+1} 个配置「${l.url}」吗?`});u&&(o.value.splice(c,1),await i(),Y({icon:"success",title:`「${l.url}」已删除!`}));}async function a(l,c){l.forEach((u,f)=>{u.active=f===c;}),await Vd(l),Y({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}return (l,c)=>(_(),A("div",HL,[c[1]||(c[1]=d("div",{class:"ce-tips cd-tips"},[d("p",null,[d("a",{href:"https://www.clouddrive2.com/?ref=cloud115-enhancer",rel:"noreferer",target:"_blank",class:"text-bold text-primary"},"CloudDrive"),L(" 是一个强大的多云盘管理工具,为用户提供包含云盘本地挂载的一站式的多云盘解决方案。 ")]),d("p",null,"本脚本主要是借助CloudDrive实现原码视频播放的功能(具体可以在「播放菜单」面板中查看)。")],-1)),d("div",VL,[(_(true),A($e,null,je(o.value,(u,f)=>(_(),nt(zL,{key:f,config:u,index:f,deletable:o.value.length>1,onDelete:p=>r(u,f),onActivate:p=>a(o.value,f)},null,8,["config","index","deletable","onDelete","onActivate"]))),128))]),c[2]||(c[2]=d("div",{class:"ce-tips"},[d("p",{class:"text-primary"}," 暂时发现IINA是支持`file://`协议的,这时候播放器可以读取到同目录的字幕文件。 配置示例: 地址`file:///Users/you/,资源根路径`115`。 ")],-1)),c[3]||(c[3]=d("div",{class:"ce-tips"}," 编辑配置后,请记得点击「保存全部配置」。 ",-1)),d("div",qL,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:i,disabled:!o.value.length}," 保存全部配置 ",8,WL),c[0]||(c[0]=L("      ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:s}," + 添加配置 ")])]))}}),GL=Ae(KL,[["__file","Config.vue"]]),JL={class:"ce-config ce-list-config"},YL={class:"pure-control-group"},QL={class:"pure-control-group"},XL={class:"pure-control-group"},ZL={class:"pure-control-group"},eM={class:"pure-control-group"},tM={class:"pure-control-group"},nM={class:"pure-control-group"},oM={class:"pure-control-group"},iM={class:"pure-control-group"},sM={class:"pure-control-group"},rM={class:"pure-control-group"},aM={class:"pure-control-group"},lM={class:"pure-control-group"},uM={class:"pure-control-group"},cM={class:"pure-control-group"},dM={class:"pure-control-group"},fM={class:"pure-control-group"},pM={class:"pure-control-group"},hM={class:"pure-control-group"},mM={class:"pure-control-group"},gM={class:"pure-control-group"},wM={class:"pure-control-group"},yM={class:"pure-control-group"},bM={class:"pure-control-group"},Np="按下 Command/Ctrl 键点击文件sha1时触发查找重复文件",Up="鼠标悬浮触发",jp="鼠标悬浮触发",vM=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>cs()),t=await t,n(),t));St(async()=>{}),ze(o,lt(async s=>{await o$(s),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.listConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:true});async function i(){q.fire({title:"快捷键说明",html:`<pre style="font-size:12px;">${vw.replace(/==/g,"=".repeat(32))}</pre>`,showCloseButton:true,showConfirmButton:false,width:720,customClass:{popup:"ce-swal-text-left"}});}return (s,r)=>(_(),A("div",JL,[d("form",{class:"pure-form pure-form-aligned",onSubmit:r[29]||(r[29]=pt(()=>{},["prevent"]))},[d("fieldset",null,[r[41]||(r[41]=d("legend",null,"文件大小相关",-1)),d("div",YL,[r[30]||(r[30]=d("label",{for:"sizeSorter"},"大小排序",-1)),J(d("input",{id:"sizeSorter",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.sizeSorter=a)},null,512),[[we,o.value.sizeSorter]]),r[31]||(r[31]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「排序」按钮,可以获取文件夹的大小,然后进行排序。"),d("div",null,"请注意该功能只会对当前加载的文件进行排序,如果有多页文件并需要对全部文件进行排序,请先点击「加载全部」后再使用该排序功能。")],-1))]),d("div",QL,[r[32]||(r[32]=d("label",{for:"showBatchFolderSizeButton"},"批量获取文件夹大小",-1)),J(d("input",{id:"showBatchFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[1]||(r[1]=a=>o.value.showBatchFolderSizeButton=a)},null,512),[[we,o.value.showBatchFolderSizeButton]]),r[33]||(r[33]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「大小」按钮,可以获取文件夹的大小。"),d("div",null,"请注意该功能只会对当前加载的文件夹进行获取,如果有多页,请先点击「加载全部」后再使用该功能。")],-1))]),d("div",XL,[r[34]||(r[34]=d("label",{for:"showFolderSizeButton"},"显示文件夹获取大小按钮",-1)),J(d("input",{id:"showFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[2]||(r[2]=a=>o.value.showFolderSizeButton=a)},null,512),[[we,o.value.showFolderSizeButton]]),r[35]||(r[35]=L("    ",-1)),d("small",{onClick:r[3]||(r[3]=a=>o.value.hoverShowFolderSize=!o.value.hoverShowFolderSize),class:De(["ce-label",{"ce-label-success":o.value.hoverShowFolderSize}])},U(o.value.hoverShowFolderSize?`✓ ${Up}(已启用)`:`× ${Up}(未启用)`),3),r[36]||(r[36]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「大小」按钮,点击按钮可以获取单个文件夹的大小。 ",-1))]),d("div",ZL,[r[37]||(r[37]=d("label",{for:"showQuickViewButton"},[L(" 显示快速查看按钮 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"showQuickViewButton",type:"checkbox","onUpdate:modelValue":r[4]||(r[4]=a=>o.value.showQuickViewButton=a)},null,512),[[we,o.value.showQuickViewButton]]),r[38]||(r[38]=L("    ",-1)),d("small",{onClick:r[5]||(r[5]=a=>o.value.hoverShowQuickView=!o.value.hoverShowQuickView),class:De(["ce-label",{"ce-label-success":o.value.hoverShowQuickView}])},U(o.value.hoverShowQuickView?`✓ ${jp}(已启用)`:`× ${jp}(未启用)`),3),r[39]||(r[39]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「查看」按钮,点击按钮可以在当前页面小窗口快速查看目录文件列表。 ",-1))]),d("div",eM,[r[40]||(r[40]=d("label",{for:"showInfoOnQuickView"}," 快速查看里显示文件信息 ",-1)),J(d("input",{id:"showInfoOnQuickView",type:"checkbox","onUpdate:modelValue":r[6]||(r[6]=a=>o.value.showInfoOnQuickView=a)},null,512),[[we,o.value.showInfoOnQuickView]])])]),d("fieldset",null,[r[58]||(r[58]=d("legend",null,"列表显示与操作",-1)),d("div",tM,[r[42]||(r[42]=d("label",{for:"showSha1"},"显示文件SHA1",-1)),J(d("input",{id:"showSha1",type:"checkbox","onUpdate:modelValue":r[7]||(r[7]=a=>o.value.showSha1=a)},null,512),[[we,o.value.showSha1]]),r[43]||(r[43]=L("    ",-1)),d("small",{onClick:r[8]||(r[8]=a=>o.value.clickSha1WithCtrlToFindRepeat=!o.value.clickSha1WithCtrlToFindRepeat),class:De(["ce-label",{"ce-label-success":o.value.clickSha1WithCtrlToFindRepeat}])},U(o.value.clickSha1WithCtrlToFindRepeat?`✓ ${Np}(已启用)`:`× ${Np}(未启用)`),3),r[44]||(r[44]=d("div",{class:"pure-form-message text-success"}," 在文件名下方显示文件SHA1,点击可以复制。 ",-1))]),d("div",nM,[r[45]||(r[45]=d("label",{for:"followHistoryState"}," 文件列表跟随页面前进后退 ",-1)),J(d("input",{id:"followHistoryState",type:"checkbox","onUpdate:modelValue":r[9]||(r[9]=a=>o.value.followHistoryState=a)},null,512),[[we,o.value.followHistoryState]]),r[46]||(r[46]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 默认情况下,点击浏览器的前进或后退,页面链接中的目录ID虽然会发生变化,但文件列表并没有随之更新。 这个功能尝试解决这个问题。 ")],-1))]),d("div",oM,[r[47]||(r[47]=d("label",{for:"showOnlyFileFilter"}," 显示「仅文件」筛选 ",-1)),J(d("input",{id:"showOnlyFileFilter",type:"checkbox","onUpdate:modelValue":r[10]||(r[10]=a=>o.value.showOnlyFileFilter=a)},null,512),[[we,o.value.showOnlyFileFilter]]),r[48]||(r[48]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 筛选当前目录下全部文件。 ")],-1))]),d("div",iM,[r[49]||(r[49]=d("label",{for:"fileFilterExtensions"}," 自定义筛选扩展名 ",-1)),J(d("input",{id:"fileFilterExtensions",type:"text","onUpdate:modelValue":r[11]||(r[11]=a=>o.value.fileFilterExtensions=a),placeholder:"例如: zip,rar,7z",style:{width:"60%"}},null,512),[[He,o.value.fileFilterExtensions]]),r[50]||(r[50]=d("div",{class:"pure-form-message text-success"}," 多个扩展名用英文逗号分隔,设置后在文件列表顶部筛选栏会显示对应的扩展名筛选按钮。 点击按钮可以筛选出当前目录下对应扩展名的文件。 ",-1))]),d("div",sM,[r[53]||(r[53]=d("label",{for:"fixShortcut"},[L(" 修复文件列表快捷键 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"fixShortcut",type:"checkbox","onUpdate:modelValue":r[12]||(r[12]=a=>o.value.fixShortcut=a)},null,512),[[we,o.value.fixShortcut]]),d("div",{class:"pure-form-message text-success"},[r[51]||(r[51]=L(" 文件列表按下Ctrl+/显示了一些快捷键,但大部分并未生效,该功能尝试修复这些快捷键。 ",-1)),d("a",{href:"javascript:void(0)",onClick:i,class:"pure-button button-small"},"💡 更完整的快捷键说明"),r[52]||(r[52]=d("h3",{class:"text-danger"},"⚠️ 副作用: 不能使用Ctrl+C复制页面上的文本(不影响输入框里复制),如有此需求,请使用鼠标右键进行复制。",-1))])]),d("div",rM,[r[54]||(r[54]=d("label",{for:"enhanceLocationLinks"},' 优化"所在位置"链接 ',-1)),J(d("input",{id:"enhanceLocationLinks",type:"checkbox","onUpdate:modelValue":r[13]||(r[13]=a=>o.value.enhanceLocationLinks=a)},null,512),[[we,o.value.enhanceLocationLinks]]),r[55]||(r[55]=d("div",{class:"pure-form-message text-success"},' 启用该选项后,可以复制链接,或通过"鼠标中键"或"Ctrl+单击"在新标签页中打开。 相关页面: 一键排重详情、SHA1查重结果页、搜索结果页、最近上传、最近接收和最近操作。 ',-1))]),d("div",aM,[r[56]||(r[56]=d("label",{for:"enhanceRenameInput"},[L(' 优化"重命名文件"输入框 '),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"enhanceRenameInput",type:"checkbox","onUpdate:modelValue":r[14]||(r[14]=a=>o.value.enhanceRenameInput=a)},null,512),[[we,o.value.enhanceRenameInput]]),r[57]||(r[57]=d("div",{class:"pure-form-message text-success"}," 使用多行输入框替代单行输入框,方便查看和编辑长文件名。 ",-1))])]),d("fieldset",null,[r[67]||(r[67]=d("legend",null,"目录操作增强",-1)),d("div",lM,[r[59]||(r[59]=d("label",{for:"showOpenDirContextMenu"},'显示"目录功能菜单"按钮',-1)),J(d("input",{id:"showOpenDirContextMenu",type:"checkbox","onUpdate:modelValue":r[15]||(r[15]=a=>o.value.showOpenDirContextMenu=a)},null,512),[[we,o.value.showOpenDirContextMenu]]),r[60]||(r[60]=L("    ",-1)),d("small",{onClick:r[16]||(r[16]=a=>o.value.hoverShowDirContextMenu=!o.value.hoverShowDirContextMenu),class:De(["ce-label",{"ce-label-success":o.value.hoverShowDirContextMenu}]),title:"鼠标悬浮在按钮代替点击操作"},U(o.value.hoverShowDirContextMenu?"✓ 鼠标悬浮触发(已启用)":"× 鼠标悬浮触发(未启用)"),3),r[61]||(r[61]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「目录功能菜单」按钮,点击即可打开当前目录的右键菜单。")],-1))]),d("div",uM,[r[62]||(r[62]=d("label",{for:"showCreateDirButton"},'显示"新建文件夹"按钮',-1)),J(d("input",{id:"showCreateDirButton",type:"checkbox","onUpdate:modelValue":r[17]||(r[17]=a=>o.value.showCreateDirButton=a)},null,512),[[we,o.value.showCreateDirButton]]),r[63]||(r[63]=L("    ",-1)),d("small",{onClick:r[18]||(r[18]=a=>o.value.hideTopCreateButton=!o.value.hideTopCreateButton),class:De(["ce-label",{"ce-label-success":o.value.hideTopCreateButton}]),title:"隐藏顶部「新建」按钮"},U(o.value.hideTopCreateButton?"✓ 隐藏顶部「新建」按钮(已启用)":"× 隐藏顶部「新建」按钮(未启用)"),3),r[64]||(r[64]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「新建文件夹」按钮。可以隐藏顶部「新建」按钮,页面左侧的「新建」中也有新建文档按钮。")],-1))]),d("div",cM,[r[65]||(r[65]=d("label",{for:"claimSelectedAfterCreateDir"}," 移动选中文件到新文件夹 ",-1)),J(d("input",{id:"claimSelectedAfterCreateDir",type:"checkbox","onUpdate:modelValue":r[19]||(r[19]=a=>o.value.claimSelectedAfterCreateDir=a)},null,512),[[we,o.value.claimSelectedAfterCreateDir]]),r[66]||(r[66]=d("div",{class:"pure-form-message text-success text-linethrough"},[d("b",null,"启用后如果先选中文件,然后创建新文件夹,将会自动把选中文件移动到新文件夹。"),L(" 该选项可以在创建文件夹对话框里临时修改。 ")],-1))])]),d("fieldset",null,[r[72]||(r[72]=d("legend",null,"路径栏增强",-1)),d("div",dM,[r[68]||(r[68]=d("label",{for:"showCopyButtonOnPathBar"},"在路径栏显示复制按钮",-1)),J(d("input",{id:"showCopyButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[20]||(r[20]=a=>o.value.showCopyButtonOnPathBar=a)},null,512),[[we,o.value.showCopyButtonOnPathBar]]),r[69]||(r[69]=d("div",{class:"pure-form-message text-success"}," 点击后,复制当前路径到剪贴板。 ",-1))]),d("div",fM,[r[70]||(r[70]=d("label",{for:"showGotoButtonOnPathBar"},[L(" 在路径栏显示前往按钮 "),d("small",{class:"ce-label"},"DEV")],-1)),J(d("input",{id:"showGotoButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[21]||(r[21]=a=>o.value.showGotoButtonOnPathBar=a)},null,512),[[we,o.value.showGotoButtonOnPathBar]]),r[71]||(r[71]=d("div",{class:"pure-form-message text-success"}," 点击后,路径栏下方会显示路径输入框,输入路径后按回车即可前往该路径。 ",-1))])]),d("fieldset",null,[r[79]||(r[79]=d("legend",null,"刷新行为",-1)),d("div",pM,[r[73]||(r[73]=d("label",{for:"noUpdateDirAfterRename"}," 重命名后不刷新文件列表 ",-1)),J(d("input",{id:"noUpdateDirAfterRename",type:"checkbox","onUpdate:modelValue":r[22]||(r[22]=a=>o.value.noUpdateDirAfterRename=a)},null,512),[[we,o.value.noUpdateDirAfterRename]]),r[74]||(r[74]=d("div",{class:"pure-form-message text-success"}," 仅支持单个文件或目录的重命名。在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。 ",-1))]),d("div",hM,[r[75]||(r[75]=d("label",{for:"noReloadAfterMove"}," 移动后不刷新文件列表 ",-1)),J(d("input",{id:"noReloadAfterMove",type:"checkbox","onUpdate:modelValue":r[23]||(r[23]=a=>o.value.noReloadAfterMove=a)},null,512),[[we,o.value.noReloadAfterMove]]),r[76]||(r[76]=d("div",{class:"pure-form-message text-success"},[d("b",null,"启用后如果进行了移动操作,列表的全选会受影响,如已选数量不准确。"),d("br"),d("b",{class:"text-danger"},"该功能主要目的是持续高效地在进行移动操作,如果在移动后还需要其他操作,请记得手动刷新列表!")],-1))]),d("div",mM,[r[77]||(r[77]=d("label",{for:"noGotoAfterCreateDir"},[L(" 新建文件夹后不跳转 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{type:"checkbox",id:"noGotoAfterCreateDir","onUpdate:modelValue":r[24]||(r[24]=a=>o.value.noGotoAfterCreateDir=a)},null,512),[[we,o.value.noGotoAfterCreateDir]]),r[78]||(r[78]=d("div",{class:"pure-form-message text-success"},[d("div",null,[L("新建文件夹后,默认会跳转到新文件夹。开启此功能后,新文件夹会直接渲染在列表中。可搭配"),d("b",null,'"移动选中文件到新文件夹"'),L("使用。")])],-1))])]),d("fieldset",null,[r[86]||(r[86]=d("legend",null,"拖拽行为",-1)),d("div",gM,[r[80]||(r[80]=d("label",{for:"dragToQuickEntry"}," 支持拖动文件到快捷入口 ",-1)),J(d("input",{id:"dragToQuickEntry",type:"checkbox","onUpdate:modelValue":r[25]||(r[25]=a=>o.value.dragToQuickEntry=a)},null,512),[[we,o.value.dragToQuickEntry]]),r[81]||(r[81]=d("div",{class:"pure-form-message text-success"},[L(" 可以从文件列表拖动文件到快捷入口,实现移动操作。 "),d("b",{class:"text-danger"},"选中文件时,顶部菜单可能会遮挡快捷入口,可按`Ctrl`键临时隐藏顶部菜单,或者开启「拖动文件时隐藏顶部菜单」选项。")],-1))]),d("div",wM,[r[82]||(r[82]=d("label",{for:"hideSelectionMenuOnDrag"},[L(" 拖动文件时隐藏顶部菜单 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),J(d("input",{id:"hideSelectionMenuOnDrag",type:"checkbox","onUpdate:modelValue":r[26]||(r[26]=a=>o.value.hideSelectionMenuOnDrag=a)},null,512),[[we,o.value.hideSelectionMenuOnDrag]]),r[83]||(r[83]=L("     ",-1)),r[84]||(r[84]=d("span",{class:"text-warning"},"该功能可能会影响页面性能,如发现该情况请先关闭并反馈🤝",-1)),r[85]||(r[85]=d("div",{class:"pure-form-message text-success"}," 选中文件时,顶部菜单可能会遮挡快捷入口等元素,开启此选项后,在拖动文件时会自动隐藏顶部菜单。 ",-1))])]),d("fieldset",null,[r[92]||(r[92]=d("legend",null,"其他功能",-1)),d("div",yM,[r[88]||(r[88]=d("label",{for:"fileSelectorDefaultView"},"文件选择器默认视图",-1)),J(d("select",{id:"fileSelectorDefaultView","onUpdate:modelValue":r[27]||(r[27]=a=>o.value.fileSelectorDefaultView=a)},r[87]||(r[87]=[d("option",{value:"view"},"大图标",-1),d("option",{value:"list"},"列表",-1),d("option",{value:"_"},"系统默认",-1)]),512),[[wn,o.value.fileSelectorDefaultView]]),r[89]||(r[89]=d("div",{class:"pure-form-message text-success"},[L(" 设置打开页面后初次使用的视图。 "),d("span",{class:"text-warning"},"如果在刷新页面前在选择器切换到了其他视图,该选项将不会生效,但刷新页面后会恢复。")],-1))]),d("div",bM,[r[90]||(r[90]=d("label",{for:"makeMoreImageViewable"}," 支持更多图片预览 ",-1)),J(d("input",{id:"makeMoreImageViewable",type:"checkbox","onUpdate:modelValue":r[28]||(r[28]=a=>o.value.makeMoreImageViewable=a)},null,512),[[we,o.value.makeMoreImageViewable]]),r[91]||(r[91]=d("div",{class:"pure-form-message text-success"}," 支持一些官方有生成缩略图,但默认没有支持预览的图片格式,目前有webp,tiff。 ",-1))])])],32)]))}}),xM=Ae(vM,[["__file","Config.vue"]]),Ay=gt.search;function _M(e){return {showSelectTargetButtonOnPathBar:true,showSelectAllDir:false,resultWidth:"",...e}}async function Py(){const e=_M(),t=await Xe.get(Ay,e);return {...e,...t}}async function CM(e){await Xe.set(Ay,e);}const kM={class:"ce-config ce-search-config"},$M={class:"pure-control-group"},SM={class:"pure-control-group"},EM={class:"pure-control-group"},AM=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>Py()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await CM(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.searchConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),A("div",kM,[d("form",{class:"pure-form pure-form-aligned",onSubmit:s[3]||(s[3]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("div",$M,[s[4]||(s[4]=d("label",{for:"showSelectTargetButtonOnPathBar"},'显示"选择目录"按钮',-1)),J(d("input",{id:"showSelectTargetButtonOnPathBar",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.showSelectTargetButtonOnPathBar=r)},null,512),[[we,o.value.showSelectTargetButtonOnPathBar]]),s[5]||(s[5]=d("div",{class:"pure-form-message text-success"},' 在路径栏显示"选择目录"按钮。即可以在搜索结果页直接选择其他目录进行搜索,而不必返回列表页进入目录后再搜索。 ',-1))]),d("div",SM,[s[6]||(s[6]=d("label",{for:"showSelectAllDir"},'显示"选中全部文件夹"按钮',-1)),J(d("input",{id:"showSelectAllDir",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.showSelectAllDir=r)},null,512),[[we,o.value.showSelectAllDir]]),s[7]||(s[7]=d("div",{class:"pure-form-message text-success"},' 在搜索结果文件列表顶部显示"选中全部文件夹"按钮。 ',-1))]),d("div",EM,[s[8]||(s[8]=d("label",{for:"resultWidth"},"搜索结果宽度",-1)),J(d("input",{id:"resultWidth",class:"input-small","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.resultWidth=r)},null,512),[[He,o.value.resultWidth]]),s[9]||(s[9]=d("div",{class:"pure-form-message text-success"},[L(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),L("。 ")],-1))])])],32)]))}}),PM=Ae(AM,[["__file","Config.vue"]]);function Cl(e,t,n=""){let o="";if(e.status===405&&(o=`[${t}][${n}] - 检测到 405 错误,一般是因为被服务器风控,请等待30分钟后再尝试。`),e.status>=400&&e.status<500&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,请检查请求参数是否正确。`),e.status>=500&&e.status<600&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,服务器内部错误,请稍后再试。`),o)throw console.error(`[${t}] ${e.status}!`,e),new Error(o)}async function IM(e){const t=`https://qrcodeapi.115.com/api/1.0/${e}/1.0/token/`,n=await fetch(t);return Cl(n,"getQrcodeToken","获取二维码登录token失败"),n.json()}const DM={0:"等待扫码",1:"已扫码",2:"登录成功",[-1]:"已失效",[-2]:"已取消"};let ec=new AbortController;async function TM(e){ec.abort(e);}async function LM(e){const t=new URLSearchParams;t.append("uid",e.uid),t.append("time",e.time.toString()),t.append("sign",e.sign);const n="https://qrcodeapi.115.com/get/status/?"+t.toString();ec=new AbortController;const o=await fetch(n,{signal:ec.signal});return Cl(o,"getQrcodeStatus","获取扫码状态失败"),o.json()}function MM(e){return {domain:"",hostOnly:false,httpOnly:true,name:"",path:"",sameSite:"",secure:false,session:false,storeId:"0",value:"",id:0,...e}}async function OM(e){let t=`UID=${e.UID}; CID=${e.CID}; SEID=${e.SEID}`;return e.KID&&(t+=`; KID=${e.KID}`),t}async function BM(e,t=[]){const n=[],o=Object.keys(e);let i=["115.com",...t];i=[...new Set(i)];const s={hostOnly:false,httpOnly:true,path:"/",sameSite:"unspecified",secure:false,session:false,storeId:"0"};let r=1;for(let a=0;a<o.length;a++){const l=o[a],c=[];for(const u of i)c.push(MM({...s,name:l,value:e[l],domain:u,id:r++}));n.push(...c);}return n}function RM(e){const{errno:t,error:n}=e;return `错误码: ${t}, 错误信息: ${n}`}async function FM(e,t){const n=new FormData;n.append("app",t),n.append("account",e);const o=`https://passportapi.115.com/app/1.0/${t}/1.0/login/qrcode/`,i=await fetch(o,{method:"POST",body:n});return Cl(i,"postQrcodeResult","获取二维码登录结果失败"),i.json()}async function NM(e,t){const n=`https://qrcodeapi.115.com/api/1.0/web/1.0/qrcode?uid=${t}`,o=await fetch(n);return Cl(o,"getQrcode","获取二维码图片失败"),o.blob()}var Id=(e=>(e.web="web",e.android="android",e._115android="115android",e.ios="ios",e._115ipad="115ipad",e.tv="tv",e.alipaymini="alipaymini",e.wechatmini="wechatmini",e.qandroid="qandroid",e._115ios="115ios",e.harmony="harmony",e.ipad="ipad",e.qios="qios",e.qipad="qipad",e.linux="linux",e.mac="mac",e.windows="windows",e))(Id||{});const UM={web:"网页版",android:"115生活(Android端)","115android":"115(Android端)",ios:"115生活(iOS端)","115ipad":"115(iPad端)",tv:"115网盘(Android电视端)",alipaymini:"115生活(支付宝小程序)",wechatmini:"115生活(微信小程序)",qandroid:"115管理(Android端)","115ios":"115(iOS端)",harmony:"115(Harmony端) - 不能上传下载"};async function jM(e,t){return new Promise((n,o)=>{const i=new FileReader;i.onloadend=()=>{if(typeof i.result=="string"){if(t instanceof HTMLImageElement)t.src=i.result;else {const s=document.createElement("img");s.src=i.result,t.appendChild(s);}n();}else console.error("[renderQrcode]","reader.result is not string!"),o("reader.result is not string!");},i.onerror=s=>{console.error("[renderQrcode]",s),o(s);},i.readAsDataURL(e);})}async function zM(e){document.addEventListener("qrcodeStatusChange",t=>{const n=t.detail;e(n);});}async function HM(e){const t=new CustomEvent("qrcodeStatusChange",{detail:e});document.dispatchEvent(t);}async function VM(e,t,n=6e4){return new Promise(async(o,i)=>{console.log("[qrcodeLogin]",e,t,n);const s=await IM(e),r=await NM(e,s.data.uid);await jM(r,t);let a=true,l=setTimeout(()=>{a=false,i("[qrcode login] timeout!");},n),c="";for(;a;)try{const f=(await LM(s.data)).data.status;if(HM(f),f===0)console.log(`[qrcode login] status=${f} - waiting.`);else if(f===1)console.log(`[qrcode login] status=${f} - scanned.`);else if(f===2){console.log(`[qrcode login] status=${f} - signed.`);break}else if(f===-1){clearTimeout(l),c=`[qrcode login] status=${f} - expired.`;break}else if(f===-2){clearTimeout(l),c=`[qrcode login] status=${f} - canceled.`;break}}catch(u){console.error("[qrcode login]",u),c=u;break}clearTimeout(l),c?i(c):o(FM(s.data.uid,e));})}const Iy=gt.tools;function qM(e){return {scanApp:Id.alipaymini,...e}}async function WM(){const e=qM(),t=await Xe.get(Iy,e);return {...e,...t}}async function KM(e){await Xe.set(Iy,e);}const GM={class:"ce-tools-item"},JM={class:"pure-form pure-form-aligned"},YM={class:"pure-control-group"},QM=["disabled"],XM=["value"],ZM=["disabled"],e3={key:0,class:"text-warning text-bold"},t3={key:1},n3={class:"pure-control-group"},o3=6e4,i3=xe({__name:"GetCookie",props:{app:{}},emits:["app-change"],setup(e,{emit:t}){const n=e,o=t,i=K(n.app),s=K(false),r=K(false),a=K(false),l=K(),c=K(),u=Ke(()=>c.value?DM[c.value]:""),f=Ke(()=>{const I=[Id.harmony],E={};for(const[D,O]of Object.entries(UM))I.includes(D)||(E[D]=O);return E});ze(i,I=>{o("app-change",I),g();}),St(async()=>{}),Ht(async()=>{await zM(y);});async function p(){await g();try{const I=document.querySelector("#ceGetCookieQrcode"),E=await VM(i.value,I,o3);let D="";if(E.data?l.value=E.data:D=RM(E)||"未知错误",D)throw new Error(D)}catch(I){if(console.error(I),I.name==="AbortError")return;q.fire({icon:"error",title:"扫码失败",text:typeof I=="string"?I:I.toString()});}finally{s.value=false,r.value=false,c.value=void 0;}}async function g(){l.value=void 0,r.value=false,a.value=false,s.value=false,c.value=void 0,await k();}async function m(){r.value=true;}async function y(I){console.log("[handleStatusChange]",I),c.value=I;}async function x(I){const E=l.value?.cookie;if(!E)return;let D="";if(I==="text")D=await OM(E);else if(I==="json"){const O=await BM(E);D=JSON.stringify(O,null,2);}ft(D),Bi.fire({icon:"success",title:"已复制到剪贴板",timer:1500});}async function k(){await TM();}return (I,E)=>(_(),A("div",GM,[d("form",JM,[d("fieldset",null,[E[7]||(E[7]=d("legend",null,"扫码获取Cookie",-1)),d("div",YM,[J(d("select",{"onUpdate:modelValue":E[0]||(E[0]=D=>i.value=D),disabled:s.value},[(_(true),A($e,null,je(f.value,(D,O)=>(_(),A("option",{value:O,key:O},U(D),9,XM))),128))],8,QM),[[wn,i.value]]),E[5]||(E[5]=L("    ",-1)),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:p,disabled:s.value}," 开始 ",8,ZM),E[6]||(E[6]=L("    ",-1)),u.value?(_(),A("span",e3,U(u.value),1)):de("",true),l.value?(_(),A("span",t3,[E[3]||(E[3]=L("      ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:E[1]||(E[1]=D=>x("text"))}," 复制文本格式Cookie "),E[4]||(E[4]=L("    ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:E[2]||(E[2]=D=>x("json"))}," 复制JSON格式Cookie ")])):de("",true)]),E[8]||(E[8]=d("div",{class:"text-danger"},"扫码登录后,所选设备之前的登录将会失效,所以请尽量选不常用的。",-1)),E[9]||(E[9]=d("div",{class:"text-primary"},"请注意,扫码得到的Cookie会跟随发起扫码的设备,如果发起扫码的设备退出登录,扫码得到的Cookie也会随之失效。",-1)),E[10]||(E[10]=d("div",{class:"text-success"},"如要避免上述问题,可以考虑使用手机验证码登录小程序并获取其Cookie。",-1)),J(d("div",n3,[d("img",{id:"ceGetCookieQrcode",alt:"qrcode",onLoad:m},null,32)],512),[[Gt,r.value]])])])]))}}),s3=Ae(i3,[["__file","GetCookie.vue"]]),r3={class:"ce-tools-item"},a3={class:"pure-form pure-form-aligned"},l3={class:"pure-control-group"},u3={class:"pure-control-group"},c3={class:"pure-control-group"},d3={class:"pure-control-group"},f3=xe({__name:"Cleaner",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>br()),t=await t,n(),t)),i=K(([t,n]=Mt(()=>qw()),t=await t,n(),t));ze(o,lt(async a=>{await xd({showEntryOnPathBar:a.showEntryOnPathBar}),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true}),ze(i,lt(async a=>{await jD(a),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true});async function s(a,l){a&&(await r(),await kt(1e3)),window.postMessage({event:ot.closeConfig}),postMessage({type:l==="FileCleaner"?Jt.OPEN_CLEANER:Jt.OPEN_EMPTY_CLEANER});}async function r(){return new Promise(async(a,l)=>{unsafeWindow.parent.Core.FileSelectDG.Open((c,u)=>{console.log("[Core.FileSelectDG.Open]",c,u);const f=c[c.length-1],p=unsafeWindow.parent.wangpan;try{p.Main.GotoDir(1,f.cid,0,""),a();}catch(g){q.fire({icon:"error",title:"打开文件夹失败",text:`请在文件列表页面中打开!不要在离线任务之类的页面打开。异常: ${g.toString()}`});}},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"打开清理工具",select_txt:"清理"});})}return (a,l)=>(_(),A("div",r3,[d("form",a3,[d("fieldset",null,[l[14]||(l[14]=d("legend",null,"文件清理",-1)),d("div",l3,[l[7]||(l[7]=d("label",{for:"cleanerConfig_showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),J(d("input",{id:"cleanerConfig_showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":l[0]||(l[0]=c=>o.value.showEntryOnPathBar=c)},null,512),[[we,o.value.showEntryOnPathBar]])]),d("div",u3,[l[8]||(l[8]=d("div",{class:"ce-tips"},"根据后缀、大小和名称等条件进行文件清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[1]||(l[1]=c=>s(false,"FileCleaner"))}," 清理当前文件夹 "),l[9]||(l[9]=L("      ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[2]||(l[2]=c=>s(true,"FileCleaner"))}," 清理指定文件夹 ")]),l[15]||(l[15]=d("br",null,null,-1)),d("div",c3,[l[10]||(l[10]=d("label",{for:"emptyCleanConfig_emptyCleanConfig"},'在路径栏显示"空文件夹"入口按钮',-1)),J(d("input",{id:"emptyCleanConfig_emptyCleanConfig",type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=c=>i.value.showEntryOnPathBar=c)},null,512),[[we,i.value.showEntryOnPathBar]])]),d("div",d3,[l[11]||(l[11]=d("div",{class:"ce-tips"},"尽快找到空文件夹进行清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[4]||(l[4]=c=>s(false,"EmptyCleaner"))}," 清理当前文件夹下的空文件夹 "),l[12]||(l[12]=L("      ",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[5]||(l[5]=c=>s(true,"EmptyCleaner"))}," 清理指定文件夹下的空文件夹 "),l[13]||(l[13]=L("      ",-1)),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:l[6]||(l[6]=(...c)=>te(Sa)&&te(Sa)(...c)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 ")])])])]))}}),p3=Ae(f3,[["__file","Cleaner.vue"]]),h3={class:"ce-config ce-tools-config"},m3={class:"item"},g3=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>WM()),t=await t,n(),t));St(async()=>{}),ze(o,lt(async s=>{await KM(s),window.postMessage({event:ot.toolsConfigChange,body:JSON.parse(JSON.stringify(s))});},100),{deep:true});async function i(s){o.value.scanApp=s;}return (s,r)=>(_(),A("div",h3,[d("div",m3,[re(s3,{app:o.value.scanApp,onAppChange:i},null,8,["app"]),re(p3)])]))}}),w3=Ae(g3,[["__file","Config.vue"]]),y3={class:"menu-config-block menu-basic-config"},b3={class:"pure-control-group"},v3={class:"pure-control-group"},x3={class:"pure-control-group"},_3={class:"pure-control-group"},C3={class:"pure-control-group"},k3=["value"],$3={class:"pure-control-group"},S3={class:"pure-control-group"},E3={class:"pure-control-group"},A3=xe({__name:"BasicConfig",props:{config:{}},setup(e){const t=e;async function n(i){const r={keyToTriggerManual:"在按下该按键时点击菜单项(搜索/播放),会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",auxClickTriggerManual:"启用后,使用鼠标中键点击菜单项,会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",m3u8TempDir:"「M3U8临时目录」用于临时存放生成的m3u8文件。在选中多个视频文件后,在顶部菜单栏会有一个「播放」菜单项,点击后会生成对应的m3u8文件,然后调用播放器播放这个m3u8以实现播放多个视频的效果。",cloudDriveFormalization:'<h2>使用CloudDrive的文件名规范</h2><p>启用后,在使用脚本功能复制文件名或路径时,将会根据CloudDrive的规范对文件名进行处理,请确保当前使用的CloudDrive配置设置了正确的"平台"。</p>'}[i];r&&q.fire({html:r,customClass:{popup:"ce-swal-text-left"}});}function o(i){console.log("[onSelectM3U8Dir]",i),t.config.m3u8TempDir=i.items[i.items.length-1].path.slice(1).map(s=>s.name).join("/");}return (i,s)=>(_(),A("div",y3,[d("form",{class:"pure-form pure-form-stacked",onSubmit:s[12]||(s[12]=pt(()=>{},["prevent"]))},[d("fieldset",null,[s[22]||(s[22]=d("legend",null,"全局设置",-1)),d("div",b3,[s[13]||(s[13]=d("label",{for:"basic_enabled"},"启用",-1)),J(d("input",{id:"basic_enabled",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>t.config.enabled=r)},null,512),[[we,t.config.enabled]])]),d("div",v3,[s[14]||(s[14]=d("label",{for:"basic_hideSelectionMenuLabel"},"隐藏顶部菜单文本",-1)),J(d("input",{id:"basic_hideSelectionMenuLabel",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>t.config.hideSelectionMenuLabel=r)},null,512),[[we,t.config.hideSelectionMenuLabel]])]),d("div",x3,[s[15]||(s[15]=d("label",{for:"basic_enableInSearch"},"在搜索结果页中启用",-1)),J(d("input",{id:"basic_enableInSearch",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>t.config.enableInSearch=r)},null,512),[[we,t.config.enableInSearch]])]),d("div",_3,[s[16]||(s[16]=d("label",{for:"basic_manageOfficialMenus"},"控制官方菜单是否隐藏",-1)),J(d("input",{id:"basic_manageOfficialMenus",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>t.config.manageOfficialMenus=r)},null,512),[[we,t.config.manageOfficialMenus]])]),d("div",C3,[s[17]||(s[17]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"触发手动输入模式的辅助键",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[4]||(s[4]=r=>n("keyToTriggerManual"))},"说明"),J(d("select",{id:"basic_forceManualBeforeOpenOnKey","onUpdate:modelValue":s[5]||(s[5]=r=>t.config.keyToTriggerManual=r)},[(_(true),A($e,null,je(te(Jn),(r,a)=>(_(),A("option",{key:a,value:a},U(r),9,k3))),128))],512),[[wn,t.config.keyToTriggerManual]])]),d("div",$3,[s[18]||(s[18]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"鼠标中键触发手动输入模式",-1)),J(d("input",{id:"basic_forceManualBeforeOpenOnKey",type:"checkbox","onUpdate:modelValue":s[6]||(s[6]=r=>t.config.auxClickTriggerManual=r)},null,512),[[we,t.config.auxClickTriggerManual]]),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[7]||(s[7]=r=>n("auxClickTriggerManual"))},"说明")]),d("div",S3,[s[20]||(s[20]=d("label",{for:"basic_m3u8TempDirName"},"M3U8临时目录",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[8]||(s[8]=r=>n("m3u8TempDir"))},"说明"),J(d("input",{id:"basic_m3u8TempDirName","onUpdate:modelValue":s[9]||(s[9]=r=>t.config.m3u8TempDir=r)},null,512),[[He,t.config.m3u8TempDir]]),re(Zs,{purpose:"作为M3U8临时目录",onSelect:o},{default:me(()=>s[19]||(s[19]=[d("a",{class:"text-primary",href:"javascript:void(0)"},"选择目录",-1)])),_:1,__:[19]})]),d("div",E3,[s[21]||(s[21]=d("label",{for:"basic_cloudDriveFormalization"},"CloudDrive文件名规范",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[10]||(s[10]=r=>n("cloudDriveFormalization"))},"说明"),J(d("input",{id:"basic_cloudDriveFormalization",type:"checkbox","onUpdate:modelValue":s[11]||(s[11]=r=>t.config.cloudDriveFormalization=r)},null,512),[[we,t.config.cloudDriveFormalization]])])])],32)]))}}),P3=Ae(A3,[["__file","BasicConfig.vue"]]),I3={class:"official-menu-config"},D3=["onClick"],T3={class:"menu-key"},L3=["onClick"],M3=xe({__name:"OfficialMenuConfig",setup(e){const t=K([]),n=K(false);St(async()=>{t.value=await ww(),console.log("official menu groups",t.value,location.href);}),Ht(()=>{document.body.addEventListener("click",()=>{n.value||(n.value=true);});}),ze(t,lt(async s=>{if(!n.value)return;const r=await e$(s);await Z2(r,true),Y({icon:"success",title:"官方菜单设置已保存,已生效。",timer:1e3,position:"top-end"});},500),{deep:true});async function o(s){s.hidden=!s.hidden;}async function i(s){const{isConfirmed:r}=await q.fire({icon:"warning",html:`确认要重置分组「${s.label}」的隐藏状态吗?`,confirmButtonText:"确认",showDenyButton:true,denyButtonText:"关闭"});r&&s.items.forEach(a=>{a.hidden=false;});}return (s,r)=>(_(),A("div",I3,[r[1]||(r[1]=d("div",{class:"ce-tips"},[d("p",null,"开启「菜单设置 - 全局设置 - 控制官方菜单是否隐藏」后才会生效。"),d("p",{class:"text-primary"},"该功能作用为隐藏官方菜单。点击「隐藏」后刷新页面生效,如需取消请点击「取消隐藏」。")],-1)),(_(true),A($e,null,je(t.value,(a,l)=>(_(),A("div",{key:l,class:"menu-config-block"},[d("form",{class:"pure-form pure-form-stacked",onSubmit:r[0]||(r[0]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("legend",null,[L(U(a.label)+" ",1),d("span",{class:"ce-label ce-label-warning",title:"取消该分组下全部的隐藏设置",onClick:c=>i(a)}," 重置 ",8,D3)]),(_(true),A($e,null,je(a.items,(c,u)=>(_(),A("div",{key:u,class:De([{hidden:c.hidden},"menu-item"])},[d("label",null,[L(U(c.label)+" ",1),d("small",T3,U(c.key),1)]),d("span",{class:"ce-toggle",onClick:f=>o(c)},U(c.hidden?"取消隐藏":"隐藏"),9,L3)],2))),128))])],32)]))),128))]))}}),O3=Ae(M3,[["__file","OfficialMenuConfig.vue"]]);var ht=(e=>(e.input="text",e.number="number",e.password="password",e.textarea="textarea",e.checkbox="checkbox",e.select="select",e.radio="radio",e.date="date",e))(ht||{});function kr(e,t={}){return e.map(n=>({...t,...n}))}const B3=["for"],R3={class:"ce-field-extra ce-field-prefix"},F3=["type","id","name","required","placeholder"],N3=["id","name","required","placeholder"],U3=["value"],j3={key:2},z3=["value","required"],H3=["id","name","required"],V3={key:3},q3=["value","required"],W3=["id","name","required"],K3={class:"ce-field-extra ce-field-suffix"},G3=xe({__name:"CeField",props:{field:{},modelValue:{},formConfig:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,i=K(o.modelValue),s=Ke(()=>(o.formConfig.idPrefix||"")+o.field.name);return ze(i,(r,a)=>{console.log(`[CeField] mutValue changed from ${a} to ${r}`),n("update:modelValue",r);}),(r,a)=>(_(),A("div",{class:De(["ce-field",r.field.customClass||""])},[Ge(r.$slots,"label",{},()=>[d("label",{for:s.value},U(r.field.label),9,B3)]),d("span",R3,[Ge(r.$slots,"prefix")]),!r.field.type||r.field.type===te(ht).input||r.field.type===te(ht).number?J((_(),A("input",{key:0,type:r.field.type,id:s.value,name:r.field.name,"onUpdate:modelValue":a[0]||(a[0]=l=>i.value=l),required:r.field.required,placeholder:r.field.placeholder},null,8,F3)),[[GC,i.value]]):r.field.type===te(ht).select?J((_(),A("select",{key:1,id:s.value,name:r.field.name,"onUpdate:modelValue":a[1]||(a[1]=l=>i.value=l),required:r.field.required,placeholder:r.field.placeholder},[(_(true),A($e,null,je(r.field.options,(l,c)=>(_(),A("option",{key:c,value:l.value},U(l.label),9,U3))),128))],8,N3)),[[wn,i.value]]):r.field.type===te(ht).checkbox?(_(),A("span",j3,[r.field.options&&r.field.options.length>0?(_(true),A($e,{key:0},je(r.field.options,(l,c)=>(_(),A("label",{key:c},[J(d("input",{type:"checkbox",value:l.value,"onUpdate:modelValue":a[2]||(a[2]=u=>i.value=u),required:r.field.required},null,8,z3),[[we,i.value]]),L(" "+U(l.label),1)]))),128)):J((_(),A("input",{key:1,type:"checkbox",id:s.value,name:r.field.name,"onUpdate:modelValue":a[3]||(a[3]=l=>i.value=l),required:r.field.required},null,8,H3)),[[we,i.value]])])):r.field.type===te(ht).radio?(_(),A("span",V3,[(_(true),A($e,null,je(r.field.options,(l,c)=>(_(),A("label",{key:c},[J(d("input",{type:"radio",value:l.value,"onUpdate:modelValue":a[4]||(a[4]=u=>i.value=u),required:r.field.required},null,8,q3),[[Bg,i.value]]),L(" "+U(l.label),1)]))),128))])):r.field.type===te(ht).date?J((_(),A("input",{key:4,type:"date",id:s.value,name:r.field.name,"onUpdate:modelValue":a[5]||(a[5]=l=>i.value=l),required:r.field.required},null,8,W3)),[[He,i.value]]):de("",true),d("span",K3,[Ge(r.$slots,"suffix")])],2))}}),J3=Ae(G3,[["__file","CeField.vue"]]),Y3={class:"ce-form pure-form pure-form-stacked"},Q3=xe({__name:"CeForm",props:{config:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,i=(s,r)=>{console.log("[CeForm.handleFieldValueChange]",s,o.modelValue,r),n("update:modelValue",{...o.modelValue});};return (s,r)=>(_(),A("div",Y3,[d("fieldset",null,[d("legend",null,[Ge(s.$slots,"header",{},()=>[L(U(s.config.label),1)])]),(_(true),A($e,null,je(s.config.fields,a=>Ge(s.$slots,a.name,{key:a.name,data:a},()=>[re(J3,{field:a,modelValue:s.modelValue[a.name],"onUpdate:modelValue":l=>s.modelValue[a.name]=l,"form-config":s.config,onChange:l=>i(a.name,l)},{label:me(()=>[Ge(s.$slots,`${a.name}_label`,{data:a})]),prefix:me(()=>[Ge(s.$slots,`${a.name}_prefix`,{data:a})]),suffix:me(()=>[Ge(s.$slots,`${a.name}_suffix`,{data:a})]),_:2},1032,["field","modelValue","onUpdate:modelValue","form-config","onChange"])])),128)),Ge(s.$slots,"footer")])]))}}),ps=Ae(Q3,[["__file","CeForm.vue"]]),X3={class:"menu-name-path-block menu-config-block"},Z3=xe({__name:"NamePathConfig",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=K(n.modelValue);ze(i,l=>{o("update:modelValue",l);});const s=K([{label:"完整名称",name:"copyFullName",type:ht.checkbox,disabled:true},{label:"不含后缀的名称",name:"copyPureName",type:ht.checkbox},{label:"文件SHA1",name:"copySha1",type:ht.checkbox},{label:"文件SHA1(带文件名)",name:"copySha1WithName",type:ht.checkbox},{label:"文件ID",name:"copyId",type:ht.checkbox},{label:"文件PickCode",name:"copyPickCode",type:ht.checkbox},{label:"Unix风格路径",name:"copyUnixPath",type:ht.checkbox},{label:"Windows风格路径",name:"copyWinPath",type:ht.checkbox},{label:"父目录Unix风格路径",name:"copyParentUnixPath",type:ht.checkbox},{label:"父目录Windows风格路径",name:"copyParentWinPath",type:ht.checkbox},{label:"在CloudDrive2 Web页面查看",name:"viewInCloudDrive",type:ht.checkbox}]);function r(l){const{include:c=[],exclude:u=[]}=n;return c.length>0?c.includes(l):u.length>0?!u.includes(l):true}const a=K({label:"名称路径子菜单设置",fields:s.value.filter(l=>r(l.name)),idPrefix:"namePath_"});return (l,c)=>(_(),A("div",X3,[d("div",null,[re(ps,{modelValue:i.value,"onUpdate:modelValue":c[0]||(c[0]=u=>i.value=u),config:a.value},null,8,["modelValue","config"])])]))}}),eO=Ae(Z3,[["__file","NamePathConfig.vue"]]),tO={class:"menu-name-path-config-button"},nO=xe({__name:"NamePathConfigButton",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=K(n.modelValue);return ze(i,s=>{o("update:modelValue",s);}),(s,r)=>{const a=_o("VDropdown");return _(),A("span",tO,[re(a,{distance:5,triggers:["click"],placement:"left"},{popper:me(()=>[re(eO,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=l=>i.value=l),include:n.include,exclude:n.exclude},null,8,["modelValue","include","exclude"])]),default:me(()=>[Ge(s.$slots,"default",{},()=>[r[1]||(r[1]=d("span",{class:"text-bold text-info"},">>",-1))])]),_:3})])}}}),$r=Ae(nO,[["__file","NamePathConfigButton.vue"]]);var tc={name:"115不大助手"};async function oO(){if(window!==window.parent)return;new MutationObserver(async([t])=>{t.type==="childList"&&window.postMessage({event:ot.topDomChanged});}).observe(document.body,{childList:true});}async function iO(){let e=null;if(ur()&&(e=await sO()),!e){const t=document.querySelector(".bottom-side .navigation-ceiling ul");if(!t)return;const n=document.createElement("li"),o=`打开「${tc.name}」设置`;e=Ue(`
      <a href="javascript:;" title="${o}" style="text-align:center;background:#fefcea;padding:4px 10px 4px">
        <i class="isn-setting"></i><span>不大助手</span>
      </a>
    `),n.appendChild(e),t.insertBefore(n,t.firstChild);}e?.addEventListener("click",async t=>{await Co();});}async function sO(){console.log("[injectOpenConfigButtonV2]");const e=await qe("body > div > aside nav");if(!e||!e.childElementCount)return null;const n=Ue(`
    <button class="w-full h-16 rounded-lg hover:text-blue-600" style="background:#fefcea"><span class="leading-tight text-xs">不大助手</span></button>
  `);return e.appendChild(n),n}async function rO(){return !!document.querySelector("#js-login-box")}async function aO(){console.log("[handleLoginPage]"),await rO()&&(document.body.classList.add("ce-login-page"),lO());}async function lO(){console.log("[injectOpenConfigButtonOnLoginPage");const e=document.querySelector(".right-side a");if(!e){console.warn("[injectOpenConfigButtonOnLoginPage] '.right-side a' not found");return}const t=document.createElement("a");t.href="javascript:;",t.className="ce-entry",t.addEventListener("click",async o=>{await Co();}),t.title=`打开「${tc.name}」设置`,t.innerHTML=`<i class="isn-setting"></i><span>${tc.name}</span>`,e.insertAdjacentElement("beforebegin",t);const n=document.createElement("a");n.href="javascript:;",n.className="ce-entry",n.addEventListener("click",async o=>{await Co(yt.tools);}),n.title="打开扫码获取Cookie",n.innerHTML='<i class="isn-scan"></i><span>扫码获取Cookie</span>',e.insertAdjacentElement("beforebegin",n);}async function Co(e){window.postMessage({event:ot.openConfig,body:e});}const uO={class:"menu-config-block"},cO={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},dO=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue);ze(o,l=>{i("update:modelValue",l);});const i=t,s=kr([{label:"启用",name:"enabled"},{label:"新标签页打开",name:"openInNewTab"},{label:"搜索",name:"search"},{label:"播放",name:"play"},{label:"名称路径",name:"copyNames"},{label:"解散子目录",name:"flattenSubfolders"},{label:"查找重复文件",name:"findRepeat"}],{type:ht.checkbox}),r=K(s),a=K({label:wi.listItemHover,fields:r.value,idPrefix:"listItemHover_"});return (l,c)=>(_(),A("div",uO,[d("div",null,[re(ps,{modelValue:o.value,"onUpdate:modelValue":c[3]||(c[3]=u=>o.value=u),config:a.value},{search_label:me(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(Co)(te(yt).searchMenus))},U(u.label),1)]),play_label:me(({data:u})=>[d("label",{class:"text-primary",onClick:c[1]||(c[1]=f=>te(Co)(te(yt).playMenus))},U(u.label),1)]),copyNames_label:me(({data:u})=>[re($r,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[2]||(c[2]=f=>o.value.namePathConfig=f)},{default:me(()=>[d("label",cO,[L(U(u.label)+" ",1),c[4]||(c[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),fO=Ae(dO,[["__file","Config.vue"]]),pO={class:"menu-config-block"},hO={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},mO=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=[];ze(o,l=>{s("update:modelValue",l);});const s=t,r=K(kr([{label:"启用",name:"enabled"},{label:"名称路径",name:"copyNames"},{label:"解散子目录",name:"flattenSubfolders"}],{type:ht.checkbox})),a=K({label:wi.listItemContext,fields:r.value,idPrefix:"listItemContext_"});return (l,c)=>(_(),A("div",pO,[d("div",null,[re(ps,{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=u=>o.value=u),config:a.value},{copyNames_label:me(({data:u})=>[re($r,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[0]||(c[0]=f=>o.value.namePathConfig=f),exclude:i},{default:me(()=>[d("label",hO,[L(U(u.label)+" ",1),c[2]||(c[2]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),gO=Ae(mO,[["__file","Config.vue"]]),wO={class:"menu-config-block"},yO={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},bO=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=["viewInCloudDrive"],i=K(n.modelValue);ze(i,c=>{s("update:modelValue",c);});const s=t;function r(c){return Object.entries(c).map(([u,f])=>({value:u,label:f}))}const a=K(kr([{label:"启用",name:"enabled"},{label:"移动到同名目录",name:"moveToSelfNameDir"},{label:"解散子目录",name:"flattenSubfolders"},{label:"新标签页打开",name:"openInNewTab"},{label:"打开上级目录",name:"openParent"},{label:"名称路径",name:"copyNames"},{label:"播放",name:"play"},{label:"搜索",name:"search"},{label:"打开搜索页面方式",name:"searchOpenType",type:ht.select,options:r(Mk),customClass:"ce-search-sub"}],{type:ht.checkbox})),l=K({label:wi.selection,fields:a.value,idPrefix:"selection_"});return (c,u)=>(_(),A("div",wO,[d("div",null,[re(ps,{modelValue:i.value,"onUpdate:modelValue":u[3]||(u[3]=f=>i.value=f),config:l.value},{search_label:me(({data:f})=>[d("label",{class:"text-primary",onClick:u[0]||(u[0]=p=>te(Co)(te(yt).searchMenus))},U(f.label),1)]),play_label:me(({data:f})=>[d("label",{class:"text-primary",onClick:u[1]||(u[1]=p=>te(Co)(te(yt).playMenus))},U(f.label),1)]),copyNames_label:me(({data:f})=>[re($r,{modelValue:i.value.namePathConfig,"onUpdate:modelValue":u[2]||(u[2]=p=>i.value.namePathConfig=p),exclude:o},{default:me(()=>[d("label",yO,[L(U(f.label)+" ",1),u[4]||(u[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),vO=Ae(bO,[["__file","Config.vue"]]),xO={class:"menu-config-block"},_O={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},CO=["onClick"],kO=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=["copyPureName","copySha1","copySha1WithName"];ze(o,g=>{s("update:modelValue",g);});const s=t,r=kr([{label:"启用",name:"enabled"},{label:"重命名",name:"rename"},{label:"删除",name:"delete"},{label:"播放全部",name:"play"},{label:"名称路径",name:"copyNames"},{label:"搜索",name:"search"},{label:"解散子目录",name:"flattenSubfolders"},{label:"移动",name:"move"},{label:"复制",name:"copy"},{label:"复制到",name:"copyTo"},{label:"查看属性",name:"viewProp"},{label:"子文件夹大小",name:"showSubFolderSize"},{label:"子文件夹大小+排序",name:"showSubFolderSizeAndSort"}],{type:ht.checkbox}),a=K(r),l=K({label:wi.dirContext,fields:a.value,idPrefix:"dirContext_"}),c=Ke(()=>{const g=["enabled","play","copyNames"];return Object.keys(o.value).filter(m=>!g.includes(m))}),u=Ke(()=>{const g=[];for(const m of Object.keys(o.value))g.push({name:m,prefix:`${m}_prefix`,suffix:`${m}_suffix`});return g}),f=g=>{o.value.topLevelMenus.includes(g.name)?o.value.topLevelMenus=o.value.topLevelMenus.filter(m=>m!==g.name):o.value.topLevelMenus.push(g.name);};async function p(){q.fire({html:`<b>当前目录右键菜单的打开方式:</b>
    <br>1. 右键单击文件列表表头;
    <br>2. 右键单击文件列表空白处;
    <br>3.「文件名」列头部的「目录功能菜单」按钮。
    <hr class="ce-hr">
    <b>菜单显示层级:</b>
    <br>1.「播放全部」和「名称路径」强制显示为一级菜单;
    <br>2. 其他菜单可以通过点击 👁 图标设置是否显示为一级菜单。
  `,customClass:{popup:"ce-swal-text-left"}});}return (g,m)=>(_(),A("div",xO,[d("div",null,[re(ps,{modelValue:o.value,"onUpdate:modelValue":m[2]||(m[2]=y=>o.value=y),config:l.value},B_({header:me(()=>[L(U(te(wi).dirContext)+" ",1),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:p},"说明")]),play_label:me(({data:y})=>[d("label",{class:"text-primary",onClick:m[0]||(m[0]=x=>te(Co)(te(yt).playMenus))},U(y.label),1)]),copyNames_label:me(({data:y})=>[re($r,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":m[1]||(m[1]=x=>o.value.namePathConfig=x),exclude:i},{default:me(()=>[d("label",_O,[L(U(y.label)+" ",1),m[3]||(m[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:2},[je(u.value,y=>({name:y.suffix,fn:me(({data:x})=>[c.value.includes(x.name)?(_(),A("span",{key:0,class:De(["btn-toggle-top",{active:o.value.topLevelMenus.includes(x.name)}]),onClick:k=>f(x),title:"点亮表示显示为一级菜单,否则将显示在「更多」菜单中"},"👁",10,CO)):de("",!0)])}))]),1032,["modelValue","config"])])]))}}),$O=Ae(kO,[["__file","Config.vue"]]),SO={class:"menu-config-block"},EO={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},AO=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=["copyPickCode","copyUnixPath","copyWinPath","copyParentUnixPath","copyParentWinPath","viewInCloudDrive"];ze(o,l=>{s("update:modelValue",l);});const s=t,r=K(kr([{label:"启用",name:"enabled"},{label:"搜索",name:"search"},{label:"名称",name:"copyNames"}],{type:ht.checkbox})),a=K({label:wi.shareListItemHover,fields:r.value,idPrefix:"shareListItemHover_"});return (l,c)=>(_(),A("div",SO,[d("div",null,[re(ps,{modelValue:o.value,"onUpdate:modelValue":c[2]||(c[2]=u=>o.value=u),config:a.value},{search_label:me(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(Co)(te(yt).searchMenus))},U(u.label),1)]),copyNames_label:me(({data:u})=>[re($r,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[1]||(c[1]=f=>o.value.namePathConfig=f),exclude:i},{default:me(()=>[d("label",EO,[L(U(u.label)+" ",1),c[3]||(c[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),PO=Ae(AO,[["__file","Config.vue"]]),IO={key:0,class:"ce-menu-config"},DO=xe({__name:"MenuConfig",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>ut()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{const s=await ut();i.defaultPlayer=s.defaultPlayer,i.defaultSearch=s.defaultSearch,await ya(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(i,s)=>o.value.enabled!==void 0?(_(),A("div",IO,[s[6]||(s[6]=d("div",{class:"ce-tips"},[d("p",null,"「搜索」功能菜单支持自定义,可在「搜索菜单」设置面板中添加和管理。 「播放」功能菜单支持自定义,可在「播放菜单」设置面板中添加和管理。")],-1)),re(P3,{config:o.value},null,8,["config"]),re(fO,{modelValue:o.value.listItemHover,"onUpdate:modelValue":s[0]||(s[0]=r=>o.value.listItemHover=r)},null,8,["modelValue"]),re(gO,{modelValue:o.value.listItemContext,"onUpdate:modelValue":s[1]||(s[1]=r=>o.value.listItemContext=r)},null,8,["modelValue"]),re(vO,{modelValue:o.value.selection,"onUpdate:modelValue":s[2]||(s[2]=r=>o.value.selection=r)},null,8,["modelValue"]),re($O,{modelValue:o.value.dirContext,"onUpdate:modelValue":s[3]||(s[3]=r=>o.value.dirContext=r)},null,8,["modelValue"]),re(PO,{modelValue:o.value.shareListItemHover,"onUpdate:modelValue":s[4]||(s[4]=r=>o.value.shareListItemHover=r)},null,8,["modelValue"]),s[7]||(s[7]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[s[5]||(s[5]=d("h1",null,"官方菜单设置",-1)),d("div",null,[re(O3)])])])):de("",true)}}),TO=Ae(DO,[["__file","MenuConfig.vue"]]),LO={class:"ce-custom-url"},MO={class:"ce-custom-url-index"},OO={class:"pure-control-group"},BO={class:"pure-control-group"},RO={class:"pure-control-group"},FO={class:"pure-control-group"},NO={key:0,class:"item-icon"},UO=["src"],jO={class:"pure-control-group"},zO={class:"pure-control-group"},HO={class:"pure-control-group"},VO={key:0,class:"pure-control-group"},qO=xe({__name:"CustomUrl",props:{item:{},index:{}},emits:["delete"],setup(e,{emit:t}){const n=K(true),o=t;function i(){o("delete");}async function s(){n.value=!n.value,n.value&&Y({title:"已开启高级模式",text:"请谨慎修改,不正确的代码可能会导致脚本崩溃。",icon:"info",timer:2e3});}async function r(){window.postMessage({event:"customUrlHelp"},"*");}async function a(){await q.fire({title:"Mutation 说明",html:`
  <div style="text-align:left;">
    <p>自定义代码,用于生成最终的链接。</p><br>
    <p>代码会被包含在一个async匿名函数中执行,最终应该返回一个链接字符串。</p>
    <p>传入的参数名为「payload」,其结构如下:</p>
    <p>- url: 之前自动处理得到的链接</p>
    <p>- file:当前文件信息</p>
    <p>- customUrl:当前自定义规则信息</p>
    <p>- cloudDriveConfig:CloudDrive设置信息</p><br>
    <p>示例:</p>
    <pre style="text-align:left;font-size:12px;">
    const {
      url,
      file,
      customUrl,
      cloudDriveConfig
    } = payload
    const sth = await fetch(\`https://api.sth.com/foo?bar=\${file.pc}\`)
    return \`https://example.com/do?key=\${sth}\`
    </pre>
  </div>
  `,width:480,position:"top-start",backdrop:false});}return (l,c)=>(_(),A("div",LO,[d("form",{class:"pure-form pure-form-aligned",onSubmit:c[8]||(c[8]=pt(()=>{},["prevent"]))},[d("fieldset",null,[d("legend",null,[d("span",MO,"# "+U(l.index+1),1),d("button",{type:"button",class:"pure-button button-error button-small",onClick:i}," 删除 ")]),d("div",OO,[c[9]||(c[9]=d("label",null,"启用",-1)),J(d("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>l.item.enabled=u),type:"checkbox",id:"customUrl_enabled"},null,512),[[we,l.item.enabled]])]),d("div",BO,[c[10]||(c[10]=d("label",null,"唯一标识",-1)),J(d("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>l.item.key=u),id:"customUrl_key",class:"pure-input-2-3",placeholder:"英文、数字或下划线"},null,512),[[He,l.item.key]])]),d("div",RO,[c[11]||(c[11]=d("label",null,"显示名称",-1)),J(d("input",{"onUpdate:modelValue":c[2]||(c[2]=u=>l.item.label=u),id:"customUrl_label",class:"pure-input-2-3",placeholder:"菜单文本,尽量简洁"},null,512),[[He,l.item.label]])]),d("div",FO,[c[12]||(c[12]=d("label",null,"图标",-1)),J(d("input",{"onUpdate:modelValue":c[3]||(c[3]=u=>l.item.icon=u),id:"customUrl_icon",class:"pure-input-2-3",placeholder:"图标class、图片链接或图片data:image"},null,512),[[He,l.item.icon]]),c[13]||(c[13]=L("   ",-1)),l.item.icon?(_(),A("span",NO,[d("img",{src:l.item.icon,referrerpolicy:"no-referrer",width:"25"},null,8,UO)])):de("",true)]),d("div",jO,[d("label",{onDblclick:s}," 链接 ",32),J(d("textarea",{"onUpdate:modelValue":c[4]||(c[4]=u=>l.item.url=u),id:"customUrl_url",class:"pure-input-2-3",placeholder:"链接地址,支持变量,变量列表请点击右侧「查看变量」"},null,512),[[He,l.item.url]]),c[14]||(c[14]=L("   ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:r},"查看变量")]),d("div",zO,[c[15]||(c[15]=d("label",null,"后台打开",-1)),J(d("input",{"onUpdate:modelValue":c[5]||(c[5]=u=>l.item.openInBackground=u),id:"customUrl_openInBackground",type:"checkbox"},null,512),[[we,l.item.openInBackground]])]),d("div",HO,[c[16]||(c[16]=d("label",null,"备注",-1)),J(d("input",{"onUpdate:modelValue":c[6]||(c[6]=u=>l.item.memo=u),id:"customUrl_memo",class:"pure-input-2-3"},null,512),[[He,l.item.memo]])]),n.value?(_(),A("div",VO,[c[17]||(c[17]=d("label",null,"Mutation",-1)),J(d("textarea",{"onUpdate:modelValue":c[7]||(c[7]=u=>l.item.mutation=u),id:"customUrl_mutation",class:"pure-input-2-3",placeholder:"自定义代码生成最终链接,具体请看右侧「查看说明」"},null,512),[[He,l.item.mutation]]),c[18]||(c[18]=L("   ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:a},"查看说明")])):de("",true)])],32)]))}}),Dy=Ae(qO,[["__file","CustomUrl.vue"]]),WO={class:"ce-config ce-search-urls ce-custom-urls"},KO=["value"],GO=["value"],JO={class:"ce-menu-urls-builtin"},YO={key:0,class:"item-icon"},QO=["src"],XO=["for"],ZO=["id","onUpdate:modelValue"],eB={class:"text-info item-memo"},tB=["onClick"],nB={class:"ce-custom-urls-list"},oB={class:"ce-custom-urls-actions"},iB=["disabled"],sB=xe({__name:"SearchUrls",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>cr()),t=await t,n(),t)),i=K(([t,n]=Mt(()=>ki(io.search)),t=await t,n(),t)),s=Ke(()=>[...o.value.filter(m=>m.enabled),...i.value.filter(m=>m.enabled)]),r=([t,n]=Mt(()=>ut()),t=await t,n(),t),a=K(r.defaultSearch||""),l=K(r.keyToTriggerSearchScope||Jn.none);St(async()=>{}),ze(o,lt(async m=>{const y=[];m.forEach(x=>{x.enabled&&y.push(x.key);}),await px(y),Y({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),ze(a,lt(async m=>{const y=await ut();y.defaultSearch=m,await ya(y),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250)),ze(l,lt(async m=>{const y=await ut();y.keyToTriggerSearchScope=m,await ya(y),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function c(){const m=[];for(const y of i.value){if(!await u(y,m.length))return;if(m.includes(y.key)){Y({icon:"error",title:`第 ${m.length+1} 个记录的「唯一标识: ${y.key}」重复!`});return}m.push(y.key);}await km(io.search,i.value),Y({icon:"success",title:"保存成功!"});}async function u(m,y){const x=/^\w+$/;return m.key=m.key.trim(),x.test(m.key)?(m.label=m.label.trim(),m.label===""?(Y({icon:"error",title:`第 ${y+1} 个记录的「显示名称」不能为空!`}),false):(m.url=m.url.trim(),m.url===""?(Y({icon:"error",title:`第 ${y+1} 个记录的「链接」不能为空!`}),false):(m.icon=m.icon.trim(),m.memo=m.memo.trim(),true))):(Y({icon:"error",title:`第 ${y+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function f(){i.value.push(Ct({key:ja()}));}async function p(m,y){const{isConfirmed:x}=await q.fire({icon:"warning",html:`确定要删除第 ${y+1} 个记录「${m.label}」吗?`});x&&(i.value.splice(y,1),await c(),Y({icon:"success",title:`「${m.label}」已删除!`}));}async function g(m){const y=JSON.stringify(m,null,2),x=`ce-url-item-denifition-${m.key}`,{isConfirmed:k}=await q.fire({title:`「${m.label}」的定义`,html:`<h3>${m.memo}</h3>
      <pre id="${x}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(x).textContent=y;}});k&&(navigator.clipboard.writeText(y),Y({icon:"success",title:"已复制到剪贴板!"}));}return (m,y)=>(_(),A("div",WO,[d("form",{class:"pure-form",onSubmit:y[2]||(y[2]=pt(()=>{},["prevent"]))},[d("fieldset",null,[y[4]||(y[4]=d("label",{class:"ce-label ce-label-primary"},"默认搜索",-1)),y[5]||(y[5]=L("   ",-1)),J(d("select",{"onUpdate:modelValue":y[0]||(y[0]=x=>a.value=x)},[(_(true),A($e,null,je(s.value,(x,k)=>(_(),A("option",{key:k,value:x.key},U(x.label),9,KO))),128))],512),[[wn,a.value]]),y[6]||(y[6]=L("      ",-1)),y[7]||(y[7]=d("label",{class:"ce-label ce-label-success"},"触发选择搜索目录的按键",-1)),y[8]||(y[8]=L("   ",-1)),J(d("select",{id:"basic_keyToTriggerSelectSearchScope","onUpdate:modelValue":y[1]||(y[1]=x=>l.value=x)},[(_(true),A($e,null,je(te(Jn),(x,k)=>(_(),A("option",{key:k,value:k},U(x),9,GO))),128))],512),[[wn,l.value]])])],32),d("h1",null,[y[9]||(y[9]=L("预置搜索菜单 ",-1)),J(d("small",null,"( "+U(o.value.length)+" )",513),[[Gt,o.value.length]])]),d("div",JO,[d("form",{class:"pure-form pure-form-aligned",onSubmit:y[3]||(y[3]=pt(()=>{},["prevent"]))},[d("fieldset",null,[(_(true),A($e,null,je(o.value,(x,k)=>(_(),A("div",{key:k,class:"pure-control-group"},[x.icon?(_(),A("span",YO,[d("img",{src:x.icon,referrerpolicy:"no-referrer",width:"25"},null,8,QO)])):de("",true),d("label",{for:`builtin_${x.key}`},U(x.label),9,XO),J(d("input",{id:`builtin_${x.key}`,type:"checkbox","onUpdate:modelValue":I=>x.enabled=I},null,8,ZO),[[we,x.enabled]]),y[10]||(y[10]=L("      ",-1)),d("span",eB,U(x.memo),1),y[11]||(y[11]=L("      ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:I=>g(x)},"查看定义",8,tB)]))),128))])],32)]),d("h1",null,[y[12]||(y[12]=L("自定义搜索菜单 ",-1)),J(d("small",null,"( "+U(i.value.length)+" )",513),[[Gt,i.value.length]])]),d("div",nB,[(_(true),A($e,null,je(i.value,(x,k)=>(_(),nt(Dy,{key:k,item:x,index:k,onDelete:I=>p(x,k)},null,8,["item","index","onDelete"]))),128))]),d("div",oB,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:c,disabled:!i.value.length}," 保存自定义搜索菜单 ",8,iB),y[13]||(y[13]=L("      ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:f}," + 添加自定义搜索菜单 ")])]))}}),rB=Ae(sB,[["__file","SearchUrls.vue"]]),aB={class:"ce-config ce-play-urls ce-custom-urls"},lB=["value"],uB={class:"ce-menu-urls-builtin"},cB={key:0,class:"item-icon"},dB=["src"],fB=["for"],pB=["id","onUpdate:modelValue"],hB={class:"text-info item-memo"},mB=["onClick"],gB=["innerHTML"],wB={class:"ce-custom-urls-list"},yB={class:"ce-custom-urls-actions"},bB=["disabled"],vB=xe({__name:"PlayUrls",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>Em()),t=await t,n(),t)),i=K(([t,n]=Mt(()=>ki(io.play)),t=await t,n(),t)),s=([t,n]=Mt(()=>ut()),t=await t,n(),t),r=K(s.defaultPlayer||""),a=Ke(()=>[...o.value.filter(g=>g.enabled),...i.value.filter(g=>g.enabled)]);St(async()=>{}),ze(o,lt(async g=>{const m=[];g.forEach(y=>{y.enabled&&m.push(y.key);}),await hx(m),Y({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),ze(r,lt(async g=>{const m=await ut();m.defaultPlayer=g,await ya(m),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function l(){const g=[];for(const m of i.value){if(!await c(m,g.length))return;if(g.includes(m.key)){Y({icon:"error",title:`第 ${g.length+1} 个记录的「唯一标识: ${m.key}」重复!`});return}g.push(m.key);}await km(io.play,i.value),Y({icon:"success",title:"保存成功!"});}async function c(g,m){const y=/^\w+$/;return g.key=g.key.trim(),y.test(g.key)?(g.label=g.label.trim(),g.label===""?(Y({icon:"error",title:`第 ${m+1} 个记录的「显示名称」不能为空!`}),false):(g.url=g.url.trim(),g.url===""?(Y({icon:"error",title:`第 ${m+1} 个记录的「链接」不能为空!`}),false):(g.icon=g.icon.trim(),g.memo=g.memo.trim(),true))):(Y({icon:"error",title:`第 ${m+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function u(){i.value.push(Ct({key:ja()}));}async function f(g,m){const{isConfirmed:y}=await q.fire({icon:"warning",html:`确定要删除第 ${m+1} 个记录「${g.label}」吗?`});y&&(i.value.splice(m,1),await l(),Y({icon:"success",title:`「${g.label}」已删除!`}));}async function p(g){const m=JSON.stringify(g,null,2),y=`ce-url-item-denifition-${g.key}`,{isConfirmed:x}=await q.fire({title:`「${g.label}」的定义`,html:`<h3>${g.memo}</h3>
      <pre id="${y}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(y).innerText=m;}});x&&(navigator.clipboard.writeText(m),Y({icon:"success",title:"已复制到剪贴板!"}));}return (g,m)=>(_(),A("div",aB,[d("form",{class:"pure-form pure-form-aligned",onSubmit:m[1]||(m[1]=pt(()=>{},["prevent"]))},[d("fieldset",null,[m[3]||(m[3]=d("span",{class:"ce-label ce-label-primary"},"默认播放菜单: ",-1)),m[4]||(m[4]=L("   ",-1)),J(d("select",{"onUpdate:modelValue":m[0]||(m[0]=y=>r.value=y)},[(_(true),A($e,null,je(a.value,(y,x)=>(_(),A("option",{key:x,value:y.key},U(y.label),9,lB))),128))],512),[[wn,r.value]])])],32),d("h1",null,[m[5]||(m[5]=L("预置播放菜单 ",-1)),J(d("small",null,"( "+U(o.value.length)+" )",513),[[Gt,o.value.length]])]),m[10]||(m[10]=d("div",{class:"ce-tips"},[d("p",null,[L("支持常见的视频、音频和图片格式,也支持目录播放。预置播放菜单使用的链接变量是 "),d("b",null,"{clouddrive_stream_url}"),L(" , 会根据文件或目录自动使用相应的链接。")]),d("p",null,"调用本地播放器播放功能依赖CloudDrive,请先在「CloudDrive」设置面板中进行配置。")],-1)),d("div",uB,[d("form",{class:"pure-form pure-form-aligned",onSubmit:m[2]||(m[2]=pt(()=>{},["prevent"]))},[d("fieldset",null,[(_(true),A($e,null,je(o.value,(y,x)=>(_(),A("div",{key:x,class:"pure-control-group"},[y.icon?(_(),A("span",cB,[d("img",{src:y.icon,referrerpolicy:"no-referrer",width:"25"},null,8,dB)])):de("",true),d("label",{for:`builtin_${y.key}`},U(y.label),9,fB),J(d("input",{id:`builtin_${y.key}`,type:"checkbox","onUpdate:modelValue":k=>y.enabled=k},null,8,pB),[[we,y.enabled]]),m[6]||(m[6]=L("      ",-1)),d("span",hB,U(y.memo),1),m[7]||(m[7]=L("      ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:k=>p(y)},"查看定义",8,mB),y.extraMemo?(_(),A("span",{key:1,innerHTML:y.extraMemo,class:"extra-memo"},null,8,gB)):de("",true)]))),128))])],32)]),d("h1",null,[m[8]||(m[8]=L("自定义播放菜单 ",-1)),J(d("small",null,"( "+U(i.value.length)+" )",513),[[Gt,i.value.length]])]),d("div",wB,[(_(true),A($e,null,je(i.value,(y,x)=>(_(),nt(Dy,{key:x,item:y,index:x,onDelete:k=>f(y,x)},null,8,["item","index","onDelete"]))),128))]),m[11]||(m[11]=d("div",{class:"ce-tips"}," 编辑后,请记得点击「保存自定义播放菜单」。 ",-1)),d("div",yB,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:l,disabled:!i.value.length}," 保存自定义播放菜单 ",8,bB),m[9]||(m[9]=L("      ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:u}," + 添加自定义播放菜单 ")])]))}}),xB=Ae(vB,[["__file","PlayUrls.vue"]]),_B={class:"ce-config ce-anxia-config"},CB={class:"pure-form pure-form-aligned"},kB={class:"pure-control-group"},$B={class:"pure-control-group"},SB={class:"pure-control-group"},EB=["value"],AB=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>am()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await T0(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.listConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),A("div",_B,[d("form",CB,[d("fieldset",null,[d("div",kB,[s[3]||(s[3]=d("label",{for:"defaultWebFull"},"自动网页全屏",-1)),J(d("input",{id:"defaultWebFull",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.defaultWebFull=r)},null,512),[[we,o.value.defaultWebFull]]),s[4]||(s[4]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动使播放器网页全屏。")],-1))]),d("div",$B,[s[5]||(s[5]=d("label",{for:"defaultOpenPlayList"},"自动展开播放列表",-1)),J(d("input",{id:"defaultOpenPlayList",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.defaultOpenPlayList=r)},null,512),[[we,o.value.defaultOpenPlayList]]),s[6]||(s[6]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动展开播放列表。")],-1))]),d("div",SB,[s[8]||(s[8]=d("label",{for:"defaultDefinition"},"默认清晰度",-1)),J(d("select",{id:"defaultDefinition","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.defaultDefinition=r)},[s[7]||(s[7]=d("option",{value:""},"官方默认",-1)),(_(true),A($e,null,je(te(rm),(r,a)=>(_(),A("option",{key:a,value:a},U(r),9,EB))),128))],512),[[wn,o.value.defaultDefinition]]),s[9]||(s[9]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-warning"},"如果没有该清晰度,则会使用官方默认。")],-1))])])])]))}}),PB=Ae(AB,[["__file","Config.vue"]]),Ty=gt.share;function IB(e){return {autoConfirmPassword:true,pageWidth:"",showListSummary:true,freshMode:false,...e}}async function Ly(){const e=IB(),t=await Xe.get(Ty,e);return {...e,...t}}async function DB(e){await Xe.set(Ty,e);}function My(e={}){return {share_code:"",offset:0,limit:1150,receive_code:"",cid:"",...e}}function TB(e,t=true,n=false){const o=My();let i=e.match(/((115|115cdn|anxia)\.com(\/s)?\/)?([a-z\d]{6,})(\?password=(\w{4,}))?/);if(!i)throw new Error("无法解析分享链接");const s=!!i[1];if(!s&&!n)throw new Error("无法解析分享链接: 缺少有效的域名或访问码");if(o.share_code=i[4],i[5])return o.receive_code=i[6],o;if(i=e.match(/(\?|&)password=(\w{4,})/),i&&(o.receive_code=i[2]),!o.receive_code&&t&&(i=e.match(/访问码(:|:)\s*(\w{4,})/),i&&(o.receive_code=i[2])),!s&&!o.receive_code)throw new Error("分享链接缺少访问码");return o}function LB(e){const t=My(),n=e.match(/\/([a-z\d]{6,})(?:-(\w{4,}))?\//);if(!n)throw new Error("无法解析口令");return t.share_code=n[1],n[2]&&(t.receive_code=n[2]),t}function MB(e,t=true,n=false){try{return TB(e,t,n)}catch{}try{return LB(e)}catch{}throw new Error("无法解析分享链接或口令")}function OB(e,t=true,n=false){e=e.replace(/[,,]\s*(https:\/\/)/g,`
$1`);const o=[],i=e.split(`
`).map(r=>r.trim()).filter(r=>r);for(const r of i)try{const a=MB(r,t,n);o.push(a);}catch{}const s={};for(const r of o)r.share_code&&!s[r.share_code]&&(s[r.share_code]=r);return Object.values(s)}function BB(e){const{share_code:t,receive_code:n}=e;if(!t)throw new Error("分享链接缺少 share_code");let o=`https://115.com/s/${t}`;return n&&(o+=`?password=${n}`),o}const RB={class:"ce-tools-item ce-share-tool"},FB={class:"pure-form pure-form-aligned"},NB={class:"pure-control-group"},UB={key:0,style:{padding:"4px 0"}},jB={style:{width:"auto"}},zB={key:0,style:{padding:"6px","max-height":"300px","overflow-y":"auto",border:"1px solid #ccc"}},HB=xe({__name:"ShareTool",setup(e){const n=K(false),o=K(""),i=K(null),s=K([]);return St(async()=>{}),Ht(async()=>{}),ze(o,lt(r=>{if(s.value=[],r=r.trim(),!!r)try{if(s.value=OB(r,!0,!0),console.log("[parseBatch]",s.value),!s.value.length)throw new Error("未找到有效的分享链接或口令");n.value;const a=[];for(const l of s.value){const c=BB(l);a.push(c);}mr(a,!0),o.value="";}catch(a){console.error(a),Bi.fire({icon:"error",title:`解析分享内容失败:${a instanceof Error?a.message:String(a)}`}),i.value&&i.value.select();}},300),{immediate:true}),(r,a)=>(_(),A("div",RB,[d("form",FB,[d("fieldset",null,[a[5]||(a[5]=d("legend",null,"分享工具",-1)),d("div",NB,[a[4]||(a[4]=d("div",null,[d("b",null,"打开分享详情"),L(" - 粘贴分享内容,自动打开分享详情页面,支持链接和口令,支持多个")],-1)),J(d("textarea",{ref_key:"refShareText",ref:i,rows:"2","onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),placeholder:"请粘贴分享内容",style:{width:"80%"},onclick:"this.select()"},null,512),[[He,o.value]]),te(true)?de("",true):(_(),A("div",UB,[d("label",jB,[J(d("input",{type:"checkbox","onUpdate:modelValue":a[1]||(a[1]=l=>n.value=l)},null,512),[[we,n.value]]),a[3]||(a[3]=L(" 调试模式",-1))]),d("button",{type:"button",onClick:a[2]||(a[2]=l=>o.value="")},"清空"),s.value&&s.value.length?(_(),A("div",zB,[d("pre",null,U(s.value),1)])):de("",true)]))])])])]))}}),VB=Ae(HB,[["__file","ShareTool.vue"]]),qB={class:"ce-config ce-share-config"},WB={class:"pure-control-group"},KB={class:"pure-control-group"},GB={class:"pure-control-group"},JB={class:"pure-control-group"},YB=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Mt(()=>Ly()),t=await t,n(),t));return St(async()=>{}),ze(o,lt(async i=>{await DB(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.shareConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),A("div",qB,[re(VB),d("form",{class:"pure-form pure-form-aligned",onSubmit:s[4]||(s[4]=pt(()=>{},["prevent"]))},[d("fieldset",null,[s[13]||(s[13]=d("legend",null,"分享设置",-1)),d("div",WB,[s[5]||(s[5]=d("label",{for:"autoAccess"},"自动确定访问码",-1)),J(d("input",{id:"autoAccess",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.autoConfirmPassword=r)},null,512),[[we,o.value.autoConfirmPassword]]),s[6]||(s[6]=d("div",{class:"pure-form-message text-success"}," 如果打开页面时已有访问码,则自动确定进入分享详情。 ",-1))]),d("div",KB,[s[7]||(s[7]=d("label",{for:"pageWidth"},"页面宽度",-1)),J(d("input",{id:"pageWidth",class:"input-small","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.pageWidth=r)},null,512),[[He,o.value.pageWidth]]),s[8]||(s[8]=d("div",{class:"pure-form-message text-success"},[L(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),L("。 ")],-1))]),d("div",GB,[s[9]||(s[9]=d("label",{for:"showListSummary"},"显示列表概要",-1)),J(d("input",{id:"showListSummary",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.showListSummary=r)},null,512),[[we,o.value.showListSummary]]),s[10]||(s[10]=d("div",{class:"pure-form-message text-success"}," 在列表`名称`列头部显示当前列表的概要信息,如文件数量、文件合计大小、目录数量等。 ",-1))]),d("div",JB,[s[11]||(s[11]=d("label",{for:"freshMode"},"清爽模式",-1)),J(d("input",{id:"freshMode",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>o.value.freshMode=r)},null,512),[[we,o.value.freshMode]]),s[12]||(s[12]=d("div",{class:"pure-form-message text-success"},[L(" 隐藏顶部广告和底部警告。"),d("span",{class:"text-warning"},"请注意,这些区域的内容可能会发生变化,隐藏后可能会使你错过相关信息,比如新活动等。")],-1))])])],32)]))}}),QB=Ae(YB,[["__file","Config.vue"]]);var XB={name:"115不大助手",version:"0.8.16"};const ZB=xe({__name:"FeedbackButton",setup(e){const t=XB,n=Zy;function o(){let s=`脚本: ${t.name} - v${t.version}
`;return s+=`TM: ${n.version}
`,s+=`UA: ${navigator.userAgent}
`,s+=`我在使用脚本的 xxxxxx 功能时,出现了问题,希望你能帮我解决。
`,s+=`复现步骤: xxxxxx
`,s+=`问题截图: 
`,s}function i(){let s=o();ft(s),Y({icon:"success",text:"已复制反馈模版,请添加详细的描述以便排查和解决问题。"});}return (s,r)=>(_(),A("button",{type:"button",class:"pure-button pure-button-success",onClick:i}," 复制反馈模版 "))}}),eR=Ae(ZB,[["__file","FeedbackButton.vue"]]);var tR={name:"115不大助手",version:"0.8.16",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"https://greasyfork.org/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const nR={class:"ce-about"},oR=["href"],iR=xe({__name:"About",setup(e){const t=tR;return (n,o)=>(_(),A("div",nR,[o[1]||(o[1]=d("p",null,"115不大助手(以下简称「脚本」),是一个仅用于学习编程的小脚本。",-1)),o[2]||(o[2]=d("br",null,null,-1)),o[3]||(o[3]=d("p",null,"脚本不会收集您的任何个人信息。",-1)),o[4]||(o[4]=d("p",null,"脚本仅借助了官方已有的功能,无任何破解行为。",-1)),o[5]||(o[5]=d("p",null,"脚本代码本身已包含全部依赖,无任何远程引用。",-1)),o[6]||(o[6]=d("br",null,null,-1)),o[7]||(o[7]=d("br",null,null,-1)),o[8]||(o[8]=d("br",null,null,-1)),d("div",null,[re(eR)]),o[9]||(o[9]=d("br",null,null,-1)),o[10]||(o[10]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[d("a",{href:te(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[L(U(te(t).name)+" ",1),d("small",null,"v"+U(te(t).version),1)],8,oR),o[0]||(o[0]=L("  ",-1)),d("small",null,"by "+U(te(t).author.name),1)])]))}}),sR=Ae(iR,[["__file","About.vue"]]);var rR={name:"115不大助手",version:"0.8.16",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"https://greasyfork.org/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const aR={class:"ce-config-main"},lR={class:"ce-config-main-header"},uR={class:"ce-intro"},cR=["href"],dR={class:"ce-config-main-body"},fR=xe({__name:"Config",setup(e){const t=rR,n=K(false),o=K(false),i=K();Ht(async()=>{window.addEventListener("message",c=>{const{event:u,body:f}=c.data;u===ot.openConfig&&(n.value||(n.value=true),s(f)),u===ot.closeConfig&&r();},false);});async function s(c){o.value=true,console.log("[openDrawer]",c),c&&(await mi(),i.value?.selectTab(`#${c}`));}async function r(){o.value=false;}async function a(...c){console.log("[tabClicked]",c);}async function l(...c){console.log("[tabChanged]",c);}return (c,u)=>(_(),nt(kg,null,{default:me(()=>[d("div",aR,[re(Xs,{"is-open":o.value,onClose:r,"max-width":"1225px",speed:500},{default:me(()=>[d("div",lR,[u[1]||(u[1]=d("h1",null,"设置",-1)),d("span",uR,[d("a",{href:te(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[L(U(te(t).name)+" ",1),d("small",null,"v"+U(te(t).version),1)],8,cR),u[0]||(u[0]=L("  ",-1)),d("small",null,"by "+U(te(t).author.name),1)]),d("div",{class:"ce-config-main-close",onClick:r},"关闭")]),d("div",dR,[re(te(nL),{ref_key:"refTabs",ref:i,options:{useUrlFragment:!1},onClicked:a,onChanged:l},{default:me(()=>[re(te(kn),{id:te(yt).basic,name:te(Cn).basic},{default:me(()=>[re(DL)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).clouddrive,name:te(Cn).clouddrive},{default:me(()=>[re(GL)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).list,name:te(Cn).list},{default:me(()=>[re(xM)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).search,name:te(Cn).search},{default:me(()=>[re(PM)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).menus,name:te(Cn).menus},{default:me(()=>[re(TO)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).searchMenus,name:te(Cn).searchMenus},{default:me(()=>[re(rB)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).playMenus,name:te(Cn).playMenus},{default:me(()=>[re(xB)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).offline,name:te(Cn).offline},{default:me(()=>[re(Lw)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).tools,name:te(Cn).tools},{default:me(()=>[re(w3)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).anxia,name:te(Cn).anxia},{default:me(()=>[re(PB)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).share,name:te(Cn).share},{default:me(()=>[re(QB)]),_:1},8,["id","name"]),re(te(kn),{id:te(yt).about,name:te(Cn).about},{default:me(()=>[re(sR)]),_:1},8,["id","name"])]),_:1},512)])]),_:1},8,["is-open"])])]),_:1}))}}),pR=Ae(fR,[["__file","Config.vue"]]),hR=".ce-login-page a.ce-entry{display:inline-block;background:#fefcea;padding:2px 6px;border-radius:4px;border:1px solid #234888;margin:0 4px}";At(hR);async function mR(){const{host:e}=location;["115.com","anxia.com","115cdn.com","share.115.com","life.115.com"].includes(e)&&window.top===window.self&&(console.log(`[Cloud115 Enhancer - main] running in ${e}`),gR(),iO(),oO());}async function gR(){console.log("[Cloud115 Enhancer - main] injectUI");const e="cloud115ConfigMain",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=lo(pR);n.component("VDropdown",Ai),n.directive("tooltip",gd),n.mount(`#${e}`),ks("设置",async()=>{window.postMessage({event:ot.openConfig});}),ks("扫码获取Cookie",async()=>{window.postMessage({event:ot.openConfig,body:yt.tools});}),ks("解析分享文本",async()=>{window.postMessage({event:ot.openConfig,body:yt.share});}),aO();}const wR='@charset "UTF-8";.ce-list-page .header-name div.desc{line-height:32px}.ce-filter-ext-wrap a{min-width:24px!important;max-width:50px!important;width:auto!important;height:20px;line-height:20px!important;padding:4px 6px;background:#ededed;font-size:14px!important}.list-contents ul li .ce-btn-folder-size{background:#f2f4f8;border-radius:6px;padding:4px;cursor:pointer}.list-contents ul li .ce-s-d{font-size:11px;color:#8f8f8f}.list-contents ul li .ce-file-sha1{position:absolute;top:20px;color:#999;cursor:pointer;font-size:90%}.list-contents ul li[ce-show-sha1] .file-name{height:40px}.list-contents ul li.ce-size-got .ce-btn-folder-size{opacity:.6;margin-left:6px}.list-contents ul li.ce-size-got .ce-btn-folder-size:hover{opacity:1}#js_top_header_file_path_box .ce-path-btn{background-color:#f4f6fc;height:32px}#js_top_header_file_path_box .ce-path-btn#ceGotoPath{margin-right:6px}#js_top_header_file_path_box.ce-goto-path-active{height:60px}#js_top_header_file_path_box.ce-goto-path-active div#js_path_add_dir{height:32px}#js_top_header_file_path_box #ceGotoPathApp{position:absolute;top:40px}#js_top_panel_box #js_operate_box.ce-show-quick-entry{display:none!important;animation:ce-hide-hint .3s ease-in-out}.shortkey-info-dialog.ce-sid-active{font-size:14px;padding:0;max-height:66vh;overflow-y:auto}.ce-handle-create-dir label{padding:6px 30px 0!important;font-size:18px}.ce-handle-create-dir input{width:22px;height:22px;vertical-align:sub}.ce-handle-create-dir p{font-size:14px;color:#ff4949;margin-bottom:10px;padding-left:30px}.ce-selector-page li.ce-decorated:hover .ce-file-inj-container{opacity:1}.ce-selector-page li.ce-decorated .file-name{top:2px!important}.ce-selector-page li.ce-decorated .ce-file-inj-container{padding:2px;border-radius:4px;position:absolute;left:70px;top:2px;font-size:12px;opacity:.4}.ce-selector-page li.ce-decorated .ce-file-sha1{cursor:pointer;color:#909399}.ce-selector-page li.ce-decorated .ce-file-size{margin-left:8px;font-weight:700;color:#1890ff}.ce-rename-dlg .file-rename ul li:nth-child(1){border:none}.ce-rename-dlg .rename-ext{padding-top:10px}.ce-rename-dlg .rename-ext textarea[rel]{visibility:visible;overflow:auto;width:100%;resize:vertical!important}.ce-rename-dlg .rename-ext .btn-clear[rel]{display:none!important}.ce-rename-dlg .rename-ext .ce-btn-clear{margin-left:0}.ce-rename-dlg .rename-ext input[rel]{display:none!important}.ce-rename-dlg .rename-ext .ext-name{position:absolute;top:-18px;line-height:24px;height:24px;border-radius:4px}';At(wR);function ko(e){return Array.isArray?Array.isArray(e):Ry(e)==="[object Array]"}function yR(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function bR(e){return e==null?"":yR(e)}function Yn(e){return typeof e=="string"}function Oy(e){return typeof e=="number"}function vR(e){return e===true||e===false||xR(e)&&Ry(e)=="[object Boolean]"}function By(e){return typeof e=="object"}function xR(e){return By(e)&&e!==null}function mn(e){return e!=null}function au(e){return !e.trim().length}function Ry(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const _R="Incorrect 'index' type",CR=e=>`Invalid value for key ${e}`,kR=e=>`Pattern length exceeds max of ${e}.`,$R=e=>`Missing ${e} property in key`,SR=e=>`Property 'weight' in key '${e}' must be a positive integer`,zp=Object.prototype.hasOwnProperty;class ER{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(o=>{let i=Fy(o);this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight;}),this._keys.forEach(o=>{o.weight/=n;});}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function Fy(e){let t=null,n=null,o=null,i=1,s=null;if(Yn(e)||ko(e))o=e,t=Hp(e),n=nc(e);else {if(!zp.call(e,"name"))throw new Error($R("name"));const r=e.name;if(o=r,zp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(SR(r));t=Hp(r),n=nc(r),s=e.getFn;}return {path:t,id:n,weight:i,src:o,getFn:s}}function Hp(e){return ko(e)?e:e.split(".")}function nc(e){return ko(e)?e.join("."):e}function AR(e,t){let n=[],o=false;const i=(s,r,a)=>{if(mn(s))if(!r[a])n.push(s);else {let l=r[a];const c=s[l];if(!mn(c))return;if(a===r.length-1&&(Yn(c)||Oy(c)||vR(c)))n.push(bR(c));else if(ko(c)){o=true;for(let u=0,f=c.length;u<f;u+=1)i(c[u],r,a+1);}else r.length&&i(c,r,a+1);}};return i(e,Yn(t)?t.split("."):t,0),o?n:n[0]}const PR={includeMatches:false,findAllMatches:false,minMatchCharLength:1},IR={isCaseSensitive:false,ignoreDiacritics:false,includeScore:false,keys:[],shouldSort:true,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},DR={location:0,threshold:.6,distance:100},TR={useExtendedSearch:false,getFn:AR,ignoreLocation:false,ignoreFieldNorm:false,fieldNormWeight:1};var Te={...IR,...PR,...DR,...TR};const LR=/[^ ]+/g;function MR(e=1,t=3){const n=new Map,o=Math.pow(10,t);return {get(i){const s=i.match(LR).length;if(n.has(s))return n.get(s);const r=1/Math.pow(s,.5*e),a=parseFloat(Math.round(r*o)/o);return n.set(s,a),a},clear(){n.clear();}}}class Dd{constructor({getFn:t=Te.getFn,fieldNormWeight:n=Te.fieldNormWeight}={}){this.norm=MR(n,3),this.getFn=t,this.isCreated=false,this.setIndexRecords();}setSources(t=[]){this.docs=t;}setIndexRecords(t=[]){this.records=t;}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((n,o)=>{this._keysMap[n.id]=o;});}create(){this.isCreated||!this.docs.length||(this.isCreated=true,Yn(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n);}):this.docs.forEach((t,n)=>{this._addObject(t,n);}),this.norm.clear());}add(t){const n=this.size();Yn(t)?this._addString(t,n):this._addObject(t,n);}removeAt(t){this.records.splice(t,1);for(let n=t,o=this.size();n<o;n+=1)this.records[n].i-=1;}getValueForItemAtKeyId(t,n){return t[this._keysMap[n]]}size(){return this.records.length}_addString(t,n){if(!mn(t)||au(t))return;let o={v:t,i:n,n:this.norm.get(t)};this.records.push(o);}_addObject(t,n){let o={i:n,$:{}};this.keys.forEach((i,s)=>{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(mn(r)){if(ko(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(mn(u))if(Yn(u)&&!au(u)){let f={v:u,i:c,n:this.norm.get(u)};a.push(f);}else ko(u)&&u.forEach((f,p)=>{l.push({nestedArrIndex:p,value:f});});}o.$[s]=a;}else if(Yn(r)&&!au(r)){let a={v:r,n:this.norm.get(r)};o.$[s]=a;}}}),this.records.push(o);}toJSON(){return {keys:this.keys,records:this.records}}}function Ny(e,t,{getFn:n=Te.getFn,fieldNormWeight:o=Te.fieldNormWeight}={}){const i=new Dd({getFn:n,fieldNormWeight:o});return i.setKeys(e.map(Fy)),i.setSources(t),i.create(),i}function OR(e,{getFn:t=Te.getFn,fieldNormWeight:n=Te.fieldNormWeight}={}){const{keys:o,records:i}=e,s=new Dd({getFn:t,fieldNormWeight:n});return s.setKeys(o),s.setIndexRecords(i),s}function Nr(e,{errors:t=0,currentLocation:n=0,expectedLocation:o=0,distance:i=Te.distance,ignoreLocation:s=Te.ignoreLocation}={}){const r=t/e.length;if(s)return r;const a=Math.abs(o-n);return i?r+a/i:a?1:r}function BR(e=[],t=Te.minMatchCharLength){let n=[],o=-1,i=-1,s=0;for(let r=e.length;s<r;s+=1){let a=e[s];a&&o===-1?o=s:!a&&o!==-1&&(i=s-1,i-o+1>=t&&n.push([o,i]),o=-1);}return e[s-1]&&s-o>=t&&n.push([o,s-1]),n}const ii=32;function RR(e,t,n,{location:o=Te.location,distance:i=Te.distance,threshold:s=Te.threshold,findAllMatches:r=Te.findAllMatches,minMatchCharLength:a=Te.minMatchCharLength,includeMatches:l=Te.includeMatches,ignoreLocation:c=Te.ignoreLocation}={}){if(t.length>ii)throw new Error(kR(ii));const u=t.length,f=e.length,p=Math.max(0,Math.min(o,f));let g=s,m=p;const y=a>1||l,x=y?Array(f):[];let k;for(;(k=e.indexOf(t,m))>-1;){let j=Nr(t,{currentLocation:k,expectedLocation:p,distance:i,ignoreLocation:c});if(g=Math.min(j,g),m=k+u,y){let ae=0;for(;ae<u;)x[k+ae]=1,ae+=1;}}m=-1;let I=[],E=1,D=u+f;const O=1<<u-1;for(let j=0;j<u;j+=1){let ae=0,fe=D;for(;ae<fe;)Nr(t,{errors:j,currentLocation:p+fe,expectedLocation:p,distance:i,ignoreLocation:c})<=g?ae=fe:D=fe,fe=Math.floor((D-ae)/2+ae);D=fe;let se=Math.max(1,p-fe+1),B=r?f:Math.min(p+fe,f)+u,R=Array(B+2);R[B+1]=(1<<j)-1;for(let ce=B;ce>=se;ce-=1){let ye=ce-1,Ce=n[e.charAt(ye)];if(y&&(x[ye]=+!!Ce),R[ce]=(R[ce+1]<<1|1)&Ce,j&&(R[ce]|=(I[ce+1]|I[ce])<<1|1|I[ce+1]),R[ce]&O&&(E=Nr(t,{errors:j,currentLocation:ye,expectedLocation:p,distance:i,ignoreLocation:c}),E<=g)){if(g=E,m=ye,m<=p)break;se=Math.max(1,2*p-m);}}if(Nr(t,{errors:j+1,currentLocation:p,expectedLocation:p,distance:i,ignoreLocation:c})>g)break;I=R;}const H={isMatch:m>=0,score:Math.max(.001,E)};if(y){const j=BR(x,a);j.length?l&&(H.indices=j):H.isMatch=false;}return H}function FR(e){let t={};for(let n=0,o=e.length;n<o;n+=1){const i=e.charAt(n);t[i]=(t[i]||0)|1<<o-n-1;}return t}const Ia=String.prototype.normalize?(e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"")):(e=>e);class Uy{constructor(t,{location:n=Te.location,threshold:o=Te.threshold,distance:i=Te.distance,includeMatches:s=Te.includeMatches,findAllMatches:r=Te.findAllMatches,minMatchCharLength:a=Te.minMatchCharLength,isCaseSensitive:l=Te.isCaseSensitive,ignoreDiacritics:c=Te.ignoreDiacritics,ignoreLocation:u=Te.ignoreLocation}={}){if(this.options={location:n,threshold:o,distance:i,includeMatches:s,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreDiacritics:c,ignoreLocation:u},t=l?t:t.toLowerCase(),t=c?Ia(t):t,this.pattern=t,this.chunks=[],!this.pattern.length)return;const f=(g,m)=>{this.chunks.push({pattern:g,alphabet:FR(g),startIndex:m});},p=this.pattern.length;if(p>ii){let g=0;const m=p%ii,y=p-m;for(;g<y;)f(this.pattern.substr(g,ii),g),g+=ii;if(m){const x=p-ii;f(this.pattern.substr(x),x);}}else f(this.pattern,0);}searchIn(t){const{isCaseSensitive:n,ignoreDiacritics:o,includeMatches:i}=this.options;if(t=n?t:t.toLowerCase(),t=o?Ia(t):t,this.pattern===t){let y={isMatch:true,score:0};return i&&(y.indices=[[0,t.length-1]]),y}const{location:s,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,ignoreLocation:u}=this.options;let f=[],p=0,g=false;this.chunks.forEach(({pattern:y,alphabet:x,startIndex:k})=>{const{isMatch:I,score:E,indices:D}=RR(t,y,x,{location:s+k,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,includeMatches:i,ignoreLocation:u});I&&(g=true),p+=E,I&&D&&(f=[...f,...D]);});let m={isMatch:g,score:g?p/this.chunks.length:1};return g&&i&&(m.indices=f),m}}class Jo{constructor(t){this.pattern=t;}static isMultiMatch(t){return Vp(t,this.multiRegex)}static isSingleMatch(t){return Vp(t,this.singleRegex)}search(){}}function Vp(e,t){const n=e.match(t);return n?n[1]:null}class NR extends Jo{constructor(t){super(t);}static get type(){return "exact"}static get multiRegex(){return /^="(.*)"$/}static get singleRegex(){return /^=(.*)$/}search(t){const n=t===this.pattern;return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class UR extends Jo{constructor(t){super(t);}static get type(){return "inverse-exact"}static get multiRegex(){return /^!"(.*)"$/}static get singleRegex(){return /^!(.*)$/}search(t){const o=t.indexOf(this.pattern)===-1;return {isMatch:o,score:o?0:1,indices:[0,t.length-1]}}}class jR extends Jo{constructor(t){super(t);}static get type(){return "prefix-exact"}static get multiRegex(){return /^\^"(.*)"$/}static get singleRegex(){return /^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class zR extends Jo{constructor(t){super(t);}static get type(){return "inverse-prefix-exact"}static get multiRegex(){return /^!\^"(.*)"$/}static get singleRegex(){return /^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class HR extends Jo{constructor(t){super(t);}static get type(){return "suffix-exact"}static get multiRegex(){return /^"(.*)"\$$/}static get singleRegex(){return /^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class VR extends Jo{constructor(t){super(t);}static get type(){return "inverse-suffix-exact"}static get multiRegex(){return /^!"(.*)"\$$/}static get singleRegex(){return /^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class jy extends Jo{constructor(t,{location:n=Te.location,threshold:o=Te.threshold,distance:i=Te.distance,includeMatches:s=Te.includeMatches,findAllMatches:r=Te.findAllMatches,minMatchCharLength:a=Te.minMatchCharLength,isCaseSensitive:l=Te.isCaseSensitive,ignoreDiacritics:c=Te.ignoreDiacritics,ignoreLocation:u=Te.ignoreLocation}={}){super(t),this._bitapSearch=new Uy(t,{location:n,threshold:o,distance:i,includeMatches:s,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreDiacritics:c,ignoreLocation:u});}static get type(){return "fuzzy"}static get multiRegex(){return /^"(.*)"$/}static get singleRegex(){return /^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class zy extends Jo{constructor(t){super(t);}static get type(){return "include"}static get multiRegex(){return /^'"(.*)"$/}static get singleRegex(){return /^'(.*)$/}search(t){let n=0,o;const i=[],s=this.pattern.length;for(;(o=t.indexOf(this.pattern,n))>-1;)n=o+s,i.push([o,n-1]);const r=!!i.length;return {isMatch:r,score:r?0:1,indices:i}}}const oc=[NR,zy,jR,zR,VR,HR,UR,jy],qp=oc.length,qR=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,WR="|";function KR(e,t={}){return e.split(WR).map(n=>{let o=n.trim().split(qR).filter(s=>s&&!!s.trim()),i=[];for(let s=0,r=o.length;s<r;s+=1){const a=o[s];let l=false,c=-1;for(;!l&&++c<qp;){const u=oc[c];let f=u.isMultiMatch(a);f&&(i.push(new u(f,t)),l=true);}if(!l)for(c=-1;++c<qp;){const u=oc[c];let f=u.isSingleMatch(a);if(f){i.push(new u(f,t));break}}}return i})}const GR=new Set([jy.type,zy.type]);class JR{constructor(t,{isCaseSensitive:n=Te.isCaseSensitive,ignoreDiacritics:o=Te.ignoreDiacritics,includeMatches:i=Te.includeMatches,minMatchCharLength:s=Te.minMatchCharLength,ignoreLocation:r=Te.ignoreLocation,findAllMatches:a=Te.findAllMatches,location:l=Te.location,threshold:c=Te.threshold,distance:u=Te.distance}={}){this.query=null,this.options={isCaseSensitive:n,ignoreDiacritics:o,includeMatches:i,minMatchCharLength:s,findAllMatches:a,ignoreLocation:r,location:l,threshold:c,distance:u},t=n?t:t.toLowerCase(),t=o?Ia(t):t,this.pattern=t,this.query=KR(this.pattern,this.options);}static condition(t,n){return n.useExtendedSearch}searchIn(t){const n=this.query;if(!n)return {isMatch:false,score:1};const{includeMatches:o,isCaseSensitive:i,ignoreDiacritics:s}=this.options;t=i?t:t.toLowerCase(),t=s?Ia(t):t;let r=0,a=[],l=0;for(let c=0,u=n.length;c<u;c+=1){const f=n[c];a.length=0,r=0;for(let p=0,g=f.length;p<g;p+=1){const m=f[p],{isMatch:y,indices:x,score:k}=m.search(t);if(y){if(r+=1,l+=k,o){const I=m.constructor.type;GR.has(I)?a=[...a,...x]:a.push(x);}}else {l=0,r=0,a.length=0;break}}if(r){let p={isMatch:true,score:l/r};return o&&(p.indices=a),p}}return {isMatch:false,score:1}}}const ic=[];function YR(...e){ic.push(...e);}function sc(e,t){for(let n=0,o=ic.length;n<o;n+=1){let i=ic[n];if(i.condition(e,t))return new i(e,t)}return new Uy(e,t)}const Da={AND:"$and",OR:"$or"},rc={PATH:"$path",PATTERN:"$val"},ac=e=>!!(e[Da.AND]||e[Da.OR]),QR=e=>!!e[rc.PATH],XR=e=>!ko(e)&&By(e)&&!ac(e),Wp=e=>({[Da.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Hy(e,t,{auto:n=true}={}){const o=i=>{let s=Object.keys(i);const r=QR(i);if(!r&&s.length>1&&!ac(i))return o(Wp(i));if(XR(i)){const l=r?i[rc.PATH]:s[0],c=r?i[rc.PATTERN]:i[l];if(!Yn(c))throw new Error(CR(l));const u={keyId:nc(l),pattern:c};return n&&(u.searcher=sc(c,t)),u}let a={children:[],operator:s[0]};return s.forEach(l=>{const c=i[l];ko(c)&&c.forEach(u=>{a.children.push(o(u));});}),a};return ac(e)||(e=Wp(e)),o(e)}function ZR(e,{ignoreFieldNorm:t=Te.ignoreFieldNorm}){e.forEach(n=>{let o=1;n.matches.forEach(({key:i,norm:s,score:r})=>{const a=i?i.weight:null;o*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:s));}),n.score=o;});}function e4(e,t){const n=e.matches;t.matches=[],mn(n)&&n.forEach(o=>{if(!mn(o.indices)||!o.indices.length)return;const{indices:i,value:s}=o;let r={indices:i,value:s};o.key&&(r.key=o.key.src),o.idx>-1&&(r.refIndex=o.idx),t.matches.push(r);});}function t4(e,t){t.score=e.score;}function n4(e,t,{includeMatches:n=Te.includeMatches,includeScore:o=Te.includeScore}={}){const i=[];return n&&i.push(e4),o&&i.push(t4),e.map(s=>{const{idx:r}=s,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(s,a);}),a})}class hs{constructor(t,n={},o){this.options={...Te,...n},this.options.useExtendedSearch,this._keyStore=new ER(this.options.keys),this.setCollection(t,o);}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Dd))throw new Error(_R);this._myIndex=n||Ny(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight});}add(t){mn(t)&&(this._docs.push(t),this._myIndex.add(t));}remove(t=()=>false){const n=[];for(let o=0,i=this._docs.length;o<i;o+=1){const s=this._docs[o];t(s,o)&&(this.removeAt(o),o-=1,i-=1,n.push(s));}return n}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t);}getIndex(){return this._myIndex}search(t,{limit:n=-1}={}){const{includeMatches:o,includeScore:i,shouldSort:s,sortFn:r,ignoreFieldNorm:a}=this.options;let l=Yn(t)?Yn(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return ZR(l,{ignoreFieldNorm:a}),s&&l.sort(r),Oy(n)&&n>-1&&(l=l.slice(0,n)),n4(l,this._docs,{includeMatches:o,includeScore:i})}_searchStringList(t){const n=sc(t,this.options),{records:o}=this._myIndex,i=[];return o.forEach(({v:s,i:r,n:a})=>{if(!mn(s))return;const{isMatch:l,score:c,indices:u}=n.searchIn(s);l&&i.push({item:s,idx:r,matches:[{score:c,value:s,norm:a,indices:u}]});}),i}_searchLogical(t){const n=Hy(t,this.options),o=(a,l,c)=>{if(!a.children){const{keyId:f,searcher:p}=a,g=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(l,f),searcher:p});return g&&g.length?[{idx:c,item:l,matches:g}]:[]}const u=[];for(let f=0,p=a.children.length;f<p;f+=1){const g=a.children[f],m=o(g,l,c);if(m.length)u.push(...m);else if(a.operator===Da.AND)return []}return u},i=this._myIndex.records,s={},r=[];return i.forEach(({$:a,i:l})=>{if(mn(a)){let c=o(n,a,l);c.length&&(s[l]||(s[l]={idx:l,item:a,matches:[]},r.push(s[l])),c.forEach(({matches:u})=>{s[l].matches.push(...u);}));}}),r}_searchObjectList(t){const n=sc(t,this.options),{keys:o,records:i}=this._myIndex,s=[];return i.forEach(({$:r,i:a})=>{if(!mn(r))return;let l=[];o.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}));}),l.length&&s.push({idx:a,item:r,matches:l});}),s}_findMatches({key:t,value:n,searcher:o}){if(!mn(n))return [];let i=[];if(ko(n))n.forEach(({v:s,i:r,n:a})=>{if(!mn(s))return;const{isMatch:l,score:c,indices:u}=o.searchIn(s);l&&i.push({score:c,key:t,value:s,idx:r,norm:a,indices:u});});else {const{v:s,n:r}=n,{isMatch:a,score:l,indices:c}=o.searchIn(s);a&&i.push({score:l,key:t,value:s,norm:r,indices:c});}return i}}hs.version="7.1.0";hs.createIndex=Ny;hs.parseIndex=OR;hs.config=Te;hs.parseQuery=Hy;YR(JR);const o4={class:"ce-goto-input-wrap"},i4=["disabled"],s4=["disabled"],r4={class:"ce-goto-sug"},a4=["onMousedown","sid"],l4={class:"ce-goto-sug-index"},u4={class:"ce-goto-sug-prefix"},c4={class:"ce-goto-sug-name"},d4=xe({__name:"GotoPath",setup(e){const t=K(false),n=K(false),o=K(null),i=K(null),s=K(""),r=K([]),a=K(false),l=Ke(()=>s.value.trim().length>0);let c="";Ht(async()=>{t.value=true,i.value?.focus(),window.addEventListener("message",async R=>{if(R.data.event===ot.listRendered){const ce=await Ut(false);ce!==c&&(r.value=[],await j(false)),c=ce;}});});async function u(R){if(console.log("[handleKeydown]",R.key),Qp(R),R.key==="Enter"){D.value>-1?fe():await se(s.value);return}if(R.key==="Escape"){await B();return}["ArrowUp","ArrowDown"].includes(R.key)?O(R):f(R);}const f=lt(async R=>{p();},200);async function p(){try{r.value=[],await j(!1);const R={keyword:"",parentId:await Ut(!1),parentPath:gu(),isSubOfCurrent:!0};console.log("[getSug] searchData:",R);const G=await I(R,!1);if(console.log("[searchData] items:",G),!G.length){Y({icon:"warning",text:"没有匹配的建议",timer:1500,position:"top-right"});return}const ce=await g(G,R);console.log("[searchData] sugs:",ce),r.value=ce,D.value=-1,await j(ce.length>0);}catch(R){console.warn(R),await j(false),Y({icon:"error",text:R.toString(),timer:2e3,position:"top-right"});}}async function g(R,G){const ce=[];for(let ke=0;ke<R.length;ke++){const Fe=R[ke];ce.push({id:Fe.id,prefix:G.parentPath==="/"?"":G.parentPath,name:Fe.name,active:false});}const ye=s.value.trim();if(!ye)return ce;const Ce=/^(\.\/)?[^\/]+/.test(ye),_e=hu(ye,"../");if(console.log("[toSug] isSubOfCurrent:",Ce,"kwParentPath:",_e),Ce||_e===G.parentPath){const ke=new hs(ce,{keys:["name"],threshold:.6,includeScore:true});let Fe=ye;if(_e===G.parentPath){const M=ye.split(/[\\/]/).filter(Boolean);Fe=M[M.length-1];}const dt=ke.search(Fe);console.log("[toSug] fuse res:",dt);let ge=false;return dt.forEach(M=>{M.score===void 0?(console.warn("[toSug] r.score is undefined:",M),ge=true,M.score=0):M.score!==void 0&&isNaN(M.score)&&(console.warn("[toSug] r.score is NaN:",M),ge=true,M.score=0);}),ge&&dt.sort((M,pe)=>M.score-pe.score),dt.map(M=>M.item)}return ce}const m=new Map,y=new Map;async function x(R){return m.get(R)||false}async function k(R,G){m.set(R,G);}async function I(R,G){const ce=y.get(R.parentPath);if(ce)return console.log(`[getSubDirs] path "${R.parentPath}" is cached`),ce.items;if(await x(R.parentPath))return console.warn(`[getSubDirs] path "${R.parentPath}" is loading`),[];await k(R.parentPath,true);try{const ye=Rn({cid:R.parentId,limit:1150,show_dir:Bo.true}),Ce=await ld(ye);if(!Ce.count)return [];const _e=[];for(let ke=0;ke<Ce.data.length;ke++){const Fe=_i(Ce.data[ke]);Fe.isDir&&_e.push(Fe);}return y.set(R.parentPath,{count:_e.length,dirPath:R.parentPath,dirId:R.parentId,items:_e}),_e}catch(ye){console.warn(ye);}finally{await k(R.parentPath,false);}return []}async function E(R,G){console.log("[handleSugClick]",R,G);const ce=ra([R.prefix,R.name]);console.log("[handleSugClick] path:",ce),await se(ce);}const D=K(-1);async function O(R){console.log("[navigateSug]",R.key),R.preventDefault(),R.stopPropagation();let G=D.value;if(R.key==="ArrowUp")G--;else if(R.key==="ArrowDown")G++;else if(R.key==="Enter"){const Ce=r.value[D.value];Ce&&await E(Ce,R);return}else return;G<0?G=0:G>=r.value.length&&(G=r.value.length-1),D.value=G,r.value.forEach((Ce,_e)=>{Ce.active=_e===G;});const ce=r.value[G];if(!ce)return;o.value?.querySelector(`[sid="${ce.id}"]`)?.scrollIntoView();}async function H(){s.value="",i.value?.focus(),await p();}async function j(R){a.value=R,R&&i.value?.focus();}async function ae(R){if($0(R))return "0";const G=gu();return R=za(R,Oo.unix),R=hu(G,R,Oo.unix),await Ri(R,true)}async function fe(){const R=r.value[D.value];if(!R)return;const G=ra([R.prefix,R.name],Oo.unix);console.log("[gotoByCurrentSug] path:",G),await se(G);}async function se(R){if(!n.value){R=R.trim(),Y({text:"正在获取路径信息...",timer:0,position:"top-right"}),q.showLoading(),n.value=true;try{const G=await ae(R);unsafeWindow.Main.GotoDir(1,G,0,""),Y({icon:"success",text:"获取路径信息成功,现在打开...",timer:1e3,position:"top-right"}),i.value?.focus(),r.value=[],D.value=-1;}catch(G){q.fire({icon:"error",title:"跳转失败",text:G.message});}finally{q.hideLoading(),n.value=false;}}}async function B(){D.value>-1?(r.value.forEach(R=>R.active=false),D.value=-1,await j(false)):(document.querySelector("#ceGotoPathApp")?.style.setProperty("display","none"),document.querySelector(".ce-goto-path-active")?.classList.remove("ce-goto-path-active"),t.value=false);}return (R,G)=>(_(),A("div",{ref_key:"refMain",ref:o,class:De(["ce-goto-main",{"ce-goto-sug-shown":a.value}])},[d("div",o4,[J(d("input",{ref_key:"refInput",ref:i,"onUpdate:modelValue":G[0]||(G[0]=ce=>s.value=ce),class:"ce-goto-input",placeholder:"回车确认跳转 | Esc关闭 | 可搜索当前目录的子目录显示下拉列表,上下方向键选择",onKeydown:u},null,544),[[He,s.value]]),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"clear",onClick:H,title:"清空输入框",disabled:!l.value},"清空",8,i4),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"toggle",onClick:G[1]||(G[1]=ce=>j(false)),title:"收起建议列表",disabled:!a.value},"收起",8,s4)]),d("div",r4,[(_(true),A($e,null,je(r.value,(ce,ye)=>(_(),A("div",{key:ye,class:De(["ce-goto-sug-item",{active:ce.active}]),onMousedown:pt(Ce=>E(ce,Ce),["left","stop","prevent"]),sid:ce.id},[d("span",l4,U(ye+1),1),d("span",u4,U(ce.prefix),1),G[2]||(G[2]=d("span",{class:"ce-goto-sep"},"/",-1)),d("span",c4,U(ce.name),1)],42,a4))),128))])],2))}}),f4=Ae(d4,[["__file","GotoPath.vue"]]);async function p4(e){if(!xn())return;const t=await qe("#js_top_header_file_path_box");e.showGotoButtonOnPathBar&&m4(e,t),e.showCopyButtonOnPathBar&&h4(e,t);}async function h4(e,t){const n="ceCopyPath";let o=t.querySelector(`#${n}`);const i=async()=>{const r=gu();ft(r),Y({icon:"success",text:"路径已复制",timer:1e3,position:"top-right"});};o||(o=await(async()=>{const r=Ue(`<button type="button" class="pure-button button-mini ce-path-btn" id="${n}" title="复制路径">
        <span>复制</span>
      </button>`);return r.addEventListener("click",i),r})(),t.prepend(o));}async function m4(e,t){const n=t.querySelector(".top-file-path"),o="ceGotoPath";let i=t.querySelector(`#${o}`);const s=lo(f4),r="ceGotoPathApp",a=async()=>{await l();},l=async()=>{if(t.classList.toggle("ce-goto-path-active"),t.classList.contains("ce-goto-path-active"))await c();else {const p=t.querySelector(`#${r}`);p&&(p.style.display="none");}},c=async()=>{let p=t.querySelector(`#${r}`);p||(p=await f(),n.after(p)),p.querySelector(".ce-goto-main")?setTimeout(()=>{document.querySelector(".ce-goto-input")?.focus();},200):s.mount(p),p.style.display="block";},u=async()=>{const p=document.createElement("button");return p.className="pure-button button-mini ce-path-btn text-primary",p.id=o,p.title=`
      【这是一个实验功能】
      跳转到指定路径。使用:
      - 空白、单个斜杠: 根目录
      - 相对路径1: 开头不带斜杠,当前目录下的子路径
      - 相对路径2: 开头带有../,当前目录的上级目录,可以多级
      - 绝对路径: 开头带有斜杠,从根目录开始的路径

      斜杠风格不限,支持模糊搜索当前目录的子目录。
      回车键跳转,Esc键关闭输入框。`,p.innerHTML="<span>跳转</span>",p.addEventListener("click",a),p},f=async()=>Ue(`<div id="${r}" style="width: 50%"/>`);i||(i=await u(),t.prepend(i));}async function g4(){if(!w4())return;const e=await cs();if($("body").addClass("ce-selector-page"),!e.showInfoOnQuickView)return;const t=await qe("#js_file_list_ul");await Kp(e),new MutationObserver(async([o])=>{o.type==="childList"&&await Kp(e);}).observe(t,{childList:true});}function w4(e=location.href){return e.includes("ac=userfile")&&e.includes("ajax=1")}async function Kp(e){const t=b4();for(let n=0;n<t.length;n++){const o=t.eq(n),i=dn(o);i.isDir||await v4(e,o,i);}}function y4(){return $("#js_file_list_ul")}function b4(e){return y4().find("li:not(.ce-decorated)")}async function v4(e,t,n){const o=$('<div class="ce-file-inj-container"></div>');t.append(o),await x4(e,t,o,n),await _4(e,t,o,n),t.addClass("ce-decorated");}async function x4(e,t,n,o){if(!e.showSha1||!o.hash)return;t.attr("ce-show-sha1","1"),t.find(".file-name");const i="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),s=Ue(`
    <span class="ce-file-sha1 ce-inj" title="${i}">${o.hash}</span>
  `),r=()=>{ft(o.hash),Y({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};s.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?cd(o):r();}),n.append(s);}async function _4(e,t,n,o){const i=Ue(`
    <span class="ce-file-size ce-inj">${o.sizeDesc}</span>
  `);n.append(i);}async function C4(){const e=await cs(),{host:t}=location;/115\.com$/.test(t)&&(ur()||(console.log("[List] running...",e),(xn()||oo())&&I$(),g4(),p4(e),w$(e),setTimeout(async()=>{i$().then(()=>{v$(e),x$(e),_$(e);}).catch(n=>{console.error("awaitDataAPI error:",n);});},2e3),s$(e),l$(e),u$(e),c$(),d$(e),p$(e),C$(e),m$()));}const k4='@charset "UTF-8";.ce-search-page .top-file-path .file-path{float:left}.ce-search-page .dir-tab.ce-btn-select{background:#fffcea;color:#2877f8;display:inline-block;height:32px;line-height:24px;font-size:12px;padding:4px 8px;box-sizing:border-box;border:1px solid #2877f8;border-radius:4px}.ce-search-page .dir-tab.ce-btn-select:hover{background:#ff0}.ce-search-page .list-header .header-size,.ce-search-page .list-header .header-typename,.ce-search-page .list-header .header-modified,.ce-search-page .list-header .header-directory{display:flex!important}.ce-search-page .list-header .header-typename .btn-sort{display:inline-flex!important;pointer-events:none}.ce-search-page .list-header .header-typename .btn-sort i{display:none!important}.ce-search-page .list-header .header-modified{pointer-events:none}.ce-search-page .list-header .header-modified [rel=time_title]{display:inline-flex!important}.ce-search-page .list-header .header-modified i.icon-operate,.ce-search-page .list-header .header-modified i[menu=sort_file]{display:none!important}';At(k4);async function $4(e){const t=await qe(".top-file-path");S4(e,t),E4(e,t);}async function S4(e,t){if(!e.showSelectTargetButtonOnPathBar)return;const n="ce-btn-select";let o=t.querySelector(`.${n}`);const i=async()=>{unsafeWindow.parent.Core.FileSelectDG.Open((r,a)=>{console.log("[Core.FileSelectDG.Open]",r,a);const l=r[r.length-1],c=Ue(`
          <a href="javascript:;" class="dir-tab" search_btn_file="${l.cid}" style="display: none;">
          ${l.cname}
          </a>
        `);t.querySelector(".file-path").append(c),c.click();},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"在该目录下搜索",select_txt:"搜索"});};o||(o=await(async()=>{const r=Ue(`
      <a href="javascript:;" class="dir-tab ${n}" title="选择指定目录进行搜索">选择目录</a>
    `);return r.addEventListener("click",i),r})(),t.append(o));}async function E4(e,t){if(!e.showSelectAllDir)return;const n="ce-btn-select-dir";let o=t.querySelector(`.${n}`);const i=async r=>{r.preventDefault(),r.stopPropagation();const a=[],l=document.querySelectorAll('li[rel="item"][file_type="0"]');for(let c=0;c<l.length;c++)a.push($(l[c]));unsafeWindow.Main.List.RecheckFiles(a);};o||(o=await(async()=>{const a=Ue(`
      <button type="button" class="pure-button button-success button-small ${n}" title="仅会选中已加载的文件夹">选中全部文件夹</label>
    `);return a.setAttribute("style","margin-left: 10px;"),a.addEventListener("click",i),a})(),t.append(o));}async function A4(e){let t=e.resultWidth.trim();if(t===""||window!==window.parent||new URL(window.location.href).searchParams.get("mode")!=="search")return;t=/^\d+$/.test(t)?`${t}px`:t;const o=await qe("div.wrap-view");o&&(o.style.width=`${t}`);}async function P4(e){document.body.classList.add("ce-search-page"),parent.document.body.classList.add("ce-search-page");}async function I4(){const e=await Py();A4(e),oo()&&(console.log("[Search] running...",e),P4(),$4(e));}const D4="";At(D4);async function T4(){console.log("[Tools] running...");}const L4="";At(L4);async function M4(e){const t=async o=>{const i=Ue(`<li pickcode="${o.pickCode}" style="padding:0px;"></li>`),s=Ue(`
      <a style="height:auto;text-decoration:none;padding:5px 0 5px 5px;">
        <span style="word-break:break-all">${o.name}</span>
      </a>
    `);return s.href="/?hls=1&pickcode="+o.pickCode,s.setAttribute("title",o.name),i.appendChild(s),i};let n="";window.addEventListener("message",async o=>{if(o.data.event==="play"){const i=await qe("ul#js-video_list"),s=o.data.body.id;if(n&&n===s)if(i.childElementCount){console.log(`[playSelected] same id: ${s} 但是播放列表已经渲染过了,忽略`);return}else console.warn(`[playSelected] same id: ${s} 但是播放列表为空,将会进行渲染`);n=s;const r=o.data.body.files;console.log(`[playSelected] id: ${s}, files: `,r);const a=await Promise.all(r.map(t));i?.append(...a);const l=document.querySelector(".video-playlist .vpl-container");l&&(l.style.display="block"),i?.querySelector("a")?.click();const u=document.querySelector("#js-video_container");u&&u.classList.remove("video-container-nolist");}});}async function O4(e){if(!e.defaultWebFull)return;const t=await qe('[rel="web_fullscreen"]');t.querySelector('[rel="tooltips"]').innerText==="网页全屏"&&t.click();}async function B4(e){if(!e.defaultOpenPlayList)return;const t=await qe("a#js_pl_control_expand");t.querySelector('[rel="tooltips"]').innerText==="展开播放列表"&&t.click();}async function R4(e){if(!e.defaultDefinition)return;const t=rm[e.defaultDefinition],n=unsafeWindow.__HLS,o=n.setCurrentLevel;(async()=>{const s=await qe('div[rel="level_menu"]'),r=await cc('a[btn="level"]',100,12e4,s);for(let a=0;a<r.length;a++){const l=r[a],c=l.classList.contains("current");if(l.textContent?.trim()===t&&!c){console.log("[setDefinition _first] 找到目标清晰度元素:",l),l.click();break}}})(),n.setCurrentLevel=s=>{const r=n.hls();if(!r||!r.levels){o(s);return}const a=[];r.levels.forEach(c=>{a.push({name:c.name,bitrate:c.bitrate});}),a.sort((c,u)=>c.bitrate-u.bitrate);let l=s;for(let c=0;c<a.length;c++)if(a[c].name===e.defaultDefinition){l=c;break}l!==s&&console.warn(`[level changed] ${s} -> ${l}`),o(l);};}async function F4(){const{host:e}=location;if(!Bc(e))return;console.log("[anxia] run");const t=await am();O4(t),B4(t),M4(),R4(t);}const N4='@charset "UTF-8";.ce-share-page.ce-share-fresh .sharing-banner,.ce-share-page.ce-share-fresh .promptbar-caution{display:none!important}.ce-share-page .sharing-banner{max-width:1000px;margin:0 auto}.ce-share-page .ce-list-summary{background:#fefcea;color:#a37958;border-radius:4px;padding:0 6px;margin-left:10px}';At(N4);async function U4(){const e=await Ly();wu()&&(console.log("[Share] running...",e),ur()?(yS(e),gS(e)):(wS(e),kw(e),bS(e)),Ew(e),xS());}location.host==="115.com"&&(Number.isInteger||(Number.isInteger=e=>typeof e=="number"&&isFinite(e)&&Math.floor(e)===e),Number.parseFloat||(Number.parseFloat=e=>{const t=Number(e);return isNaN(t)?0:t}),Number.parseInt||(Number.parseInt=(e,t=10)=>{const n=parseInt(e,t);return isNaN(n)?0:n}),Number.isFinite||(Number.isFinite=e=>typeof e=="number"&&isFinite(e)),window.COMMONHEADERUSERINFO=window.COMMONHEADERUSERINFO||{});(async()=>{console.log("Cloud115 Enhancer launched!");const e=await _l(),t=Zu(e.limiterDuration,1,3e3,1),n=Zu(e.limiterPoints,1,300,1),o=t*500/n,i=_y({rateLimit:{...xy,duration:t,points:n,execEvenly:true,execEvenlyMinDelayMs:o}}),s=NT(i);L0(s),SS(),UE(),zD(),QT(),C4(),I4(),T4(),F4(),U4(),mR();})();

})();