// ==UserScript==
// @name 115不大助手 (full)
// @namespace com.cloud115.enhancer
// @version 0.7.102
// @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 $t = 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));};
$t(' @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-offline-config{max-height:70vh;overflow-y:auto}.ce-offline-config .ce-tips{margin-top:20px;margin-left:56px}.ce-offline-config .pure-form-message{margin-left:56px}.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-89339f2e]{padding:20px 10px 50px 20px}.ce-file-list table[data-v-89339f2e]{font-size:12px}.ce-file-list table td[data-v-89339f2e]{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-f3bc02fe]{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}.ce-list-config .pure-form-message{margin-left:3em}.ce-search-config .pure-control-group label{width:15em}.ce-search-config .pure-form-message{margin-left:3em}.ce-tools-config{padding-bottom:100px}.ce-tools-config .pure-control-group label{width:15em}.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}.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 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:340px}.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}.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 $y=`/*!
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}`;$t($y);const Ey=`/*!
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}`;$t(Ey);const Ay=`/*!
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}}`;$t(Ay);const Py=".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}";$t(Py);const Iy=".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}";$t(Iy);const Dy='@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}';$t(Dy);const Ly='@charset "UTF-8";div[class^=fp-].hidden-watermark{display:none!important}div.list-header[rel=list_header]{display:flex!important}';$t(Ly);var Ty=typeof GM_addStyle<"u"?GM_addStyle:void 0,My=typeof GM_deleteValue<"u"?GM_deleteValue:void 0,Zu=typeof GM_getValue<"u"?GM_getValue:void 0,By=typeof GM_info<"u"?GM_info:void 0,Di=typeof GM_openInTab<"u"?GM_openInTab:void 0,wi=typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0,Oy=typeof GM_setClipboard<"u"?GM_setClipboard:void 0,ou=typeof GM_setValue<"u"?GM_setValue:void 0,Ea=typeof GM_xmlhttpRequest<"u"?GM_xmlhttpRequest:void 0,Ry={name:"115不大助手",version:"0.7.102"},mt=(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))(mt||{});const ec=Object.values(mt),Rp=async(e,t)=>Zu(e,t),Fy=async(e,t)=>ou(e,t),Fp=async e=>My(e),Ny=async()=>{for(const e of ec)await Fp(e);},Np=async()=>{const e={};for(const t of ec)e[t]=await Rp(t,{});return e};async function Uy(){const e=await Np(),t=Ry;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 jy(){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 s=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(s._schema!=="pan115_enhancer_configs"){t("这不是一个脚本配置文件!");return}const i=[];for(const r of ec)i.push(r),s[r]&&await Xe.set(r,s[r]);e({data:s,importedKeys:i});},n.click();})}const Xe={get:Rp,set:Fy,remove:Fp,clear:Ny,getAll:Np};function Aa(e,...t){return new e(t[0])}async function qo(e,t,n){return new Promise(async(o,s)=>{if(typeof e!="function"){s("提供的参数`fulfill`不是一个Function!");return}let i=false;e(l=>{i=true,o(l);});let r=setInterval(async()=>{if(i){clearTimeout(a),clearInterval(r);return}e(l=>{clearTimeout(a),clearInterval(r),o(l);});},t),a=setTimeout(()=>{clearInterval(r),s("超时");},n);})}async function an(e){return new Promise(t=>{setTimeout(t,e);})}function ct(e,t,n){let o;return function(...s){const i=()=>{o=void 0,e.apply(this,s);};clearTimeout(o),o=setTimeout(i,t);}}function us(e,t){t=t||window,t.postMessage(e);}function Pa(e,t=location.href){const n=new RegExp("(\\?|#|&)"+e+"=([^&#]*)(&|#|$)"),o=t.match(n);return o?o[2]:""}function Hs(){return Math.floor(Date.now()/1e3)}async function zy(e){const t=Symbol("pending");return await Promise.race([e.then(()=>true,()=>true),new Promise(o=>setTimeout(()=>o(t),0))])!==t}function Up(e){const t=e.target;e.key==="a"&&(e.ctrlKey||e.metaKey)&&t.select();}function jp(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function Hy(e){e.addEventListener("keydown",t=>{const n=t.target;jp(n)&&Up(t);});}function zp(e,t=.2,n=.5){e.style.transition=`opacity ${n}s`,e.style.opacity=t.toString(),setTimeout(()=>{e.remove();},500);}function Vy(e,t){let n=document.querySelector(e);return n||(n=qe(t)),n}function qe(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 Hp(e,t=document,n=XPathResult.ORDERED_NODE_SNAPSHOT_TYPE){const o=[],s=document.evaluate(e,t,null,n,null);for(let i=0;i<s.snapshotLength;i++){const r=s.snapshotItem(i);r&&o.push(r);}return o}async function nt(e,t=100,n=12e4,o=document){const s=await tc(e,t,n,o);if(s.length)return s[0];throw new Error(`未找到元素:${e}`)}async function tc(e,t=100,n=12e4,o=document){const s=e.indexOf("//")===0;function i(r){if(s){const a=Hp(e);a.length>0&&r(a);}else {const a=o.querySelectorAll(e);a.length&&r(Array.from(a));}}try{return await qo(i,t,n)}catch(r){throw console.warn("[find]",r),new Error(`查找元素超时:${e}`)}}async function Wn(e,t=100,n=12e4){const o=e.indexOf("//")===0;function s(i){if(o){const r=Hp(e);r.length>0&&i(unsafeWindow.$(r));}else {const r=unsafeWindow.$(e);r.length&&i(r);}}try{return await qo(s,t,n)}catch(i){throw console.warn("[findWithJQuery]",i),new Error(`查找元素超时:${e}`)}}async function qy(e,t,n){const o=await nt(e),s=new MutationObserver(t);return n={attributes:false,childList:true,subtree:false,...n},s.observe(o,n),s}function Ue(e){return document.querySelector(e)}function Wy(e){return Array.from(document.querySelectorAll(e))}const Ky=["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"],Gy=["jpg","jpeg","png","gif","bmp","svg"],Jy=["mp3","wav","wma","ogg","ape","flac","aac"];function Wr(e,t,n="text/plain"){const o=document.createElement("a");document.body.appendChild(o),o.setAttribute("style","display:none");const s=new Blob([e],{type:n}),i=window.URL.createObjectURL(s);o.href=i,o.download=t,o.click(),window.URL.revokeObjectURL(i);}function Vs(e,t=2){if(Number.isNaN(e)||(e=typeof e=="string"?parseInt(e):e,!e))return "0";const n=1024,o=t,s=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,i)).toFixed(o))+" "+s[i]}function Cd(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 s=parseFloat(o[1]),i=o[2].toUpperCase(),r=t.indexOf(i);if(r<0)throw new Error(`无效的文件大小!${e}`);return s*Math.pow(1024,r)}function Yy(e){return e?Ky.indexOf(e.toLowerCase())>-1:false}function Qy(e){return e?Gy.indexOf(e.toLowerCase())>-1:false}function Xy(e){return e?Jy.indexOf(e.toLowerCase())>-1:false}var it=(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))(it||{}),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 vn={basic:"基础设置",clouddrive:"CloudDrive",list:"列表增强",search:"搜索增强",menus:"菜单设置",searchMenus:"搜索菜单",playMenus:"播放菜单",offline:"离线管理",tools:"工具",anxia:"在线播放",share:"分享增强",about:"关于"};class mn{static EVENT_CLOSE_MENU="__closeMenu";menuType=De.listItemHover;injectDecider;keyAttributeName="id";key="";label="";icon="";showIcon=true;title="";onClick=async(t,n)=>{};onMouseOver;onMouseOut;subItems=[];subItemsLocator;isDivider=false;menuItemTemplates={[De.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>'},[De.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>'},[De.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>'},[De.listItemContextSub]:{body:'<span id="{key}" class="ce-menu list-item-context-menu-sub sub-item">{label}</span>',divider:'<span class="ce-menu-divider"></span>'},[De.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>'},[De.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>'},[De.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>'},[De.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>'},[De.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>'},[De.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 s="";this.icon&&this.showIcon&&(this.icon.match(/^(http|https|data:image)/)?s=`<img class="ce-menu-icon" src="${this.icon}" referrerpolicy="no-referrer" />`:this.icon.match(/^data-text:/)?s=`<i class="ce-menu-icon">${this.icon.replace(/^data-text:/,"")}</i>`:s=`<i class="ce-menu-icon ${this.icon}"></i>`),o.innerHTML=n.replace(/{key}/g,this.key).replace(/{label}/g,this.label).replace(/{icon}/g,s);const i=o.firstElementChild;if(s&&i.classList.add("ce-menu-has-icon"),i.setAttribute("title",this.title||""),this.onClick&&(i.addEventListener("click",async r=>{this.onClick&&this.onClick(this,r);}),i.addEventListener("mousedown",r=>{r.stopPropagation();})),this.onMouseOver&&i.addEventListener("mouseover",async r=>{this.onMouseOver&&this.onMouseOver(this,r);}),this.onMouseOut&&i.addEventListener("mouseout",async r=>{this.onMouseOut&&this.onMouseOut(this,r);}),this.subItems&&this.subItems.length>0){const r=i.querySelector(".sub-items"),a=[];for(const l of this.subItems){const c=await l.render();a.push(c);}r?.append(...a);}return i}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(mn.EVENT_CLOSE_MENU,{detail:{menu:this}}));}async decorateContainer(t){t.setAttribute("ce-done","");}}async function Ia(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),s=o.find(".ce-menu-dropdown");o.addClass("ce-menu-dropdown-opened"),s.addClass("ce-menu-dropdown-active");}async function Da(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),s=o.find(".ce-menu-dropdown");o.removeClass("ce-menu-dropdown-opened"),s.removeClass("ce-menu-dropdown-active");}class Zy extends mn{isDivider=true}class Yi{items=[];siblingSelector="";position=wo.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===it.renderMenus&&o.type===this.menuType){const s=[];document.querySelectorAll("#js_data_list .list-contents > ul > li .file-opr:not([ce-done])").forEach(i=>{s.push(i);}),s.length&&await this.perform(s);}},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 nt(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,De.dirContext,this.menuType){case De.listItemHover:case De.shareListItemHover:return true;case De.listItemContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="report"]');case De.selection:return true;case De.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 De.listItemHover:document.querySelectorAll("#js_data_list .list-contents > ul:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case De.shareListItemHover:document.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case De.listItemContext:n=[t];break;case De.selection:document.querySelectorAll("#js_top_panel_box #js_operate_box").forEach(o=>{n.push(o);});break;case De.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===wo.after&&(o=o.reverse());for(let s=0;s<o.length;s++){const i=o[s];if(!await this.shouldInjectMenuItem(t,i))continue;const r=await i.render();this.position===wo.before?n.insertAdjacentElement("beforebegin",r):n.insertAdjacentElement("afterend",r),await i.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 eb(e,t){return !!$(t).closest("li").attr("file_id")}async function tb(e,t){return !!$(t).closest("li").attr("cate_id")}async function nb(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?Yy(o)||Xy(o)||Qy(o):false}function Qi(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 ob(e){return {enabled:true,rename:true,delete:true,play:true,copyNames:true,namePathConfig:Qi(),search:false,move:true,copy:true,copyTo:true,viewProp:true,showSubFolderSize:true,showSubFolderSizeAndSort:false,exportList:false,viewInCloudDrive:true,topLevelMenus:["rename","delete","play"],...e}}class Kt extends mn{menuType=De.dirContext;constructor(t){super(t),this.onMouseOver=Ia,this.onMouseOut=Da;}}class nc extends mn{menuType=De.dirContextSub}class sb extends Yi{menuType=De.dirContext;useObserver=true;observeTarget=document.body;disposeObserverAfterInjection=true}function ib(e){return {enabled:true,copyNames:true,namePathConfig:Qi(),viewInCloudDrive:true,...e}}class Xi extends mn{menuType=De.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);},s=(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);},i=(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=s,this.subItemsLocator=i);}}class rb extends Yi{menuType=De.listItemContext}var tn=(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))(tn||{});const ab={[-1]:"失败",0:"违规",1:"下载中",2:"成功"};var Xt=(e=>(e.all="all",e.failed="failed",e.success="success",e.magnet="magnet",e.magnetEd2k="magnetEd2k",e))(Xt||{}),La=(e=>(e[e.true=1]="true",e[e.false=0]="false",e))(La||{}),Cn=(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))(Cn||{}),en=(e=>(e.all="全部",e.video="视频",e.audio="音频",e.image="图片",e.doc="文档",e.app="应用",e.archive="压缩包",e.file="仅文件",e))(en||{}),Vp=(e=>(e.userPtime="user_ptime",e.fileName="file_name",e.fileSize="file_size",e.fileType="file_type",e))(Vp||{});function lb(e){return {offset:0,limit:1150,aid:1,cid:"",format:"json",o:"user_ptime",asc:0,search_value:"",...e}}function mo(e){return {aid:1,cid:"",o:"user_ptime",asc:0,offset:0,show_dir:1,limit:115,natsort:0,format:"json",...e}}var su=(e=>(e[e.normal=0]="normal",e[e.violation=1]="violation",e[e.auditing=2]="auditing",e))(su||{});function qp(e={}){return {share_code:"",offset:0,limit:1150,receive_code:"",cid:"",...e}}class Wp extends Error{}class oc extends Wp{constructor(t="搜索失败!"){super(t);}}class Kp extends oc{constructor(t="搜索请求响应内容为空!"){super(t);}}class sc extends Wp{constructor(t="目录不存在!"){super(t);}}var Gp=(e=>(e[e.exist=20004]="exist",e))(Gp||{});const ub={10013:"超出任务大小限制",10018:"审核中...",10016:"文件内含违规内容"};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 s,i,r,a;for(a=0;a<4;a+=1)for(i=a*8,s=t[a],r=0;r<8;r+=2)o[i+1+r]=n.charAt(s&15),s>>>=4,o[i+0+r]=n.charAt(s&15),s>>>=4;return o.join("")}static _md5cycle(t,n){let o=t[0],s=t[1],i=t[2],r=t[3];o+=(s&i|~s&r)+n[0]-680876936|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[1]-389564586|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[2]+606105819|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[3]-1044525330|0,s=(s<<22|s>>>10)+i|0,o+=(s&i|~s&r)+n[4]-176418897|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[5]+1200080426|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[6]-1473231341|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[7]-45705983|0,s=(s<<22|s>>>10)+i|0,o+=(s&i|~s&r)+n[8]+1770035416|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[9]-1958414417|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[10]-42063|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[11]-1990404162|0,s=(s<<22|s>>>10)+i|0,o+=(s&i|~s&r)+n[12]+1804603682|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[13]-40341101|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[14]-1502002290|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[15]+1236535329|0,s=(s<<22|s>>>10)+i|0,o+=(s&r|i&~r)+n[1]-165796510|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[6]-1069501632|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[11]+643717713|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[0]-373897302|0,s=(s<<20|s>>>12)+i|0,o+=(s&r|i&~r)+n[5]-701558691|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[10]+38016083|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[15]-660478335|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[4]-405537848|0,s=(s<<20|s>>>12)+i|0,o+=(s&r|i&~r)+n[9]+568446438|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[14]-1019803690|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[3]-187363961|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[8]+1163531501|0,s=(s<<20|s>>>12)+i|0,o+=(s&r|i&~r)+n[13]-1444681467|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[2]-51403784|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[7]+1735328473|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[12]-1926607734|0,s=(s<<20|s>>>12)+i|0,o+=(s^i^r)+n[5]-378558|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[8]-2022574463|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[11]+1839030562|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[14]-35309556|0,s=(s<<23|s>>>9)+i|0,o+=(s^i^r)+n[1]-1530992060|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[4]+1272893353|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[7]-155497632|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[10]-1094730640|0,s=(s<<23|s>>>9)+i|0,o+=(s^i^r)+n[13]+681279174|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[0]-358537222|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[3]-722521979|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[6]+76029189|0,s=(s<<23|s>>>9)+i|0,o+=(s^i^r)+n[9]-640364487|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[12]-421815835|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[15]+530742520|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[2]-995338651|0,s=(s<<23|s>>>9)+i|0,o+=(i^(s|~r))+n[0]-198630844|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[7]+1126891415|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[14]-1416354905|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[5]-57434055|0,s=(s<<21|s>>>11)+i|0,o+=(i^(s|~r))+n[12]+1700485571|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[3]-1894986606|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[10]-1051523|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[1]-2054922799|0,s=(s<<21|s>>>11)+i|0,o+=(i^(s|~r))+n[8]+1873313359|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[15]-30611744|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[6]-1560198380|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[13]+1309151649|0,s=(s<<21|s>>>11)+i|0,o+=(i^(s|~r))+n[4]-145523070|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[11]-1120210379|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[2]+718787259|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[9]-343485551|0,s=(s<<21|s>>>11)+i|0,t[0]=o+t[0]|0,t[1]=s+t[1]|0,t[2]=i+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 s=this._bufferLength,i,r;for(r=0;r<t.length;r+=1){if(i=t.charCodeAt(r),i<128)n[s++]=i;else if(i<2048)n[s++]=(i>>>6)+192,n[s++]=i&63|128;else if(i<55296||i>56319)n[s++]=(i>>>12)+224,n[s++]=i>>>6&63|128,n[s++]=i&63|128;else {if(i=(i-55296)*1024+(t.charCodeAt(++r)-56320)+65536,i>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");n[s++]=(i>>>18)+240,n[s++]=i>>>12&63|128,n[s++]=i>>>6&63|128,n[s++]=i&63|128;}s>=64&&(this._dataLength+=64,_t._md5cycle(this._state,o),s-=64,o[0]=o[16]);}return this._bufferLength=s,this}appendAsciiStr(t){const n=this._buffer8,o=this._buffer32;let s=this._bufferLength,i,r=0;for(;;){for(i=Math.min(t.length-r,64-s);i--;)n[s++]=t.charCodeAt(r++);if(s<64)break;this._dataLength+=64,_t._md5cycle(this._state,o),s=0;}return this._bufferLength=s,this}appendByteArray(t){const n=this._buffer8,o=this._buffer32;let s=this._bufferLength,i,r=0;for(;;){for(i=Math.min(t.length-r,64-s);i--;)n[s++]=t[r++];if(s<64)break;this._dataLength+=64,_t._md5cycle(this._state,o),s=0;}return this._bufferLength=s,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,s=this._state;let i;for(this._dataLength=t.length,this._bufferLength=t.buflen,s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],i=0;i<n.length;i+=1)this._buffer8[i]=n.charCodeAt(i);}end(t=false){const n=this._bufferLength,o=this._buffer8,s=this._buffer32,i=(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,s.set(_t.buffer32Identity.subarray(i),i),n>55&&(_t._md5cycle(this._state,s),s.set(_t.buffer32Identity)),r<=4294967295)s[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;s[14]=l,s[15]=c;}return _t._md5cycle(this._state,s),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.");function Jp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var xl={exports:{}},kd;function cb(){return kd||(kd=1,(function(e){var t=(function(n){var o=1e7,s=7,i=9007199254740992,r=g(i),a="0123456789abcdefghijklmnopqrstuvwxyz",l=typeof BigInt=="function";function c(h,y,_,E){return typeof h>"u"?c[0]:typeof y<"u"?+y==10&&!_?ne(h):K(h,y,_,E):ne(h)}function u(h,y){this.value=h,this.sign=y,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 w(h){return -i<h&&h<i}function g(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 b(h){x(h);var y=h.length;if(y<4&&ut(h,r)<0)switch(y){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 y=h.length;h[--y]===0;);h.length=y+1;}function A(h){for(var y=new Array(h),_=-1;++_<h;)y[_]=0;return y}function T(h){return h>0?Math.floor(h):Math.ceil(h)}function D(h,y){var _=h.length,E=y.length,R=new Array(_),M=0,W=o,J,re;for(re=0;re<E;re++)J=h[re]+y[re]+M,M=J>=W?1:0,R[re]=J-M*W;for(;re<_;)J=h[re]+M,M=J===W?1:0,R[re++]=J-M*W;return M>0&&R.push(M),R}function I(h,y){return h.length>=y.length?D(h,y):D(y,h)}function B(h,y){var _=h.length,E=new Array(_),R=o,M,W;for(W=0;W<_;W++)M=h[W]-R+y,y=Math.floor(M/R),E[W]=M-y*R,y+=1;for(;y>0;)E[W++]=y%R,y=Math.floor(y/R);return E}u.prototype.add=function(h){var y=ne(h);if(this.sign!==y.sign)return this.subtract(y.negate());var _=this.value,E=y.value;return y.isSmall?new u(B(_,Math.abs(E)),this.sign):new u(I(_,E),this.sign)},u.prototype.plus=u.prototype.add,f.prototype.add=function(h){var y=ne(h),_=this.value;if(_<0!==y.sign)return this.subtract(y.negate());var E=y.value;if(y.isSmall){if(w(_+E))return new f(_+E);E=g(Math.abs(E));}return new u(B(E,Math.abs(_)),_<0)},f.prototype.plus=f.prototype.add,p.prototype.add=function(h){return new p(this.value+ne(h).value)},p.prototype.plus=p.prototype.add;function q(h,y){var _=h.length,E=y.length,R=new Array(_),M=0,W=o,J,re;for(J=0;J<E;J++)re=h[J]-M-y[J],re<0?(re+=W,M=1):M=0,R[J]=re;for(J=E;J<_;J++){if(re=h[J]-M,re<0)re+=W;else {R[J++]=re;break}R[J]=re;}for(;J<_;J++)R[J]=h[J];return x(R),R}function z(h,y,_){var E;return ut(h,y)>=0?E=q(h,y):(E=q(y,h),_=!_),E=b(E),typeof E=="number"?(_&&(E=-E),new f(E)):new u(E,_)}function ue(h,y,_){var E=h.length,R=new Array(E),M=-y,W=o,J,re;for(J=0;J<E;J++)re=h[J]+M,M=Math.floor(re/W),re%=W,R[J]=re<0?re+W:re;return R=b(R),typeof R=="number"?(_&&(R=-R),new f(R)):new u(R,_)}u.prototype.subtract=function(h){var y=ne(h);if(this.sign!==y.sign)return this.add(y.negate());var _=this.value,E=y.value;return y.isSmall?ue(_,Math.abs(E),this.sign):z(_,E,this.sign)},u.prototype.minus=u.prototype.subtract,f.prototype.subtract=function(h){var y=ne(h),_=this.value;if(_<0!==y.sign)return this.add(y.negate());var E=y.value;return y.isSmall?new f(_-E):ue(E,Math.abs(_),_>=0)},f.prototype.minus=f.prototype.subtract,p.prototype.subtract=function(h){return new p(this.value-ne(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,y=new f(-this.value);return y.sign=!h,y},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 me(h,y){var _=h.length,E=y.length,R=_+E,M=A(R),W=o,J,re,ye,Me,Oe;for(ye=0;ye<_;++ye){Me=h[ye];for(var We=0;We<E;++We)Oe=y[We],J=Me*Oe+M[ye+We],re=Math.floor(J/W),M[ye+We]=J-re*W,M[ye+We+1]+=re;}return x(M),M}function se(h,y){var _=h.length,E=new Array(_),R=o,M=0,W,J;for(J=0;J<_;J++)W=h[J]*y+M,M=Math.floor(W/R),E[J]=W-M*R;for(;M>0;)E[J++]=M%R,M=Math.floor(M/R);return E}function F(h,y){for(var _=[];y-- >0;)_.push(0);return _.concat(h)}function U(h,y){var _=Math.max(h.length,y.length);if(_<=30)return me(h,y);_=Math.ceil(_/2);var E=h.slice(_),R=h.slice(0,_),M=y.slice(_),W=y.slice(0,_),J=U(R,W),re=U(E,M),ye=U(I(R,E),I(W,M)),Me=I(I(J,F(q(q(ye,J),re),_)),F(re,2*_));return x(Me),Me}function Y(h,y){return -0.012*h-.012*y+15e-6*h*y>0}u.prototype.multiply=function(h){var y=ne(h),_=this.value,E=y.value,R=this.sign!==y.sign,M;if(y.isSmall){if(E===0)return c[0];if(E===1)return this;if(E===-1)return this.negate();if(M=Math.abs(E),M<o)return new u(se(_,M),R);E=g(M);}return Y(_.length,E.length)?new u(U(_,E),R):new u(me(_,E),R)},u.prototype.times=u.prototype.multiply;function le(h,y,_){return h<o?new u(se(y,h),_):new u(me(y,g(h)),_)}f.prototype._multiplyBySmall=function(h){return w(h.value*this.value)?new f(h.value*this.value):le(Math.abs(h.value),g(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():le(Math.abs(h.value),this.value,this.sign!==h.sign)},f.prototype.multiply=function(h){return ne(h)._multiplyBySmall(this)},f.prototype.times=f.prototype.multiply,p.prototype.multiply=function(h){return new p(this.value*ne(h).value)},p.prototype.times=p.prototype.multiply;function be(h){var y=h.length,_=A(y+y),E=o,R,M,W,J,re;for(W=0;W<y;W++){J=h[W],M=0-J*J;for(var ye=W;ye<y;ye++)re=h[ye],R=2*(J*re)+_[W+ye]+M,M=Math.floor(R/E),_[W+ye]=R-M*E;_[W+y]=M;}return x(_),_}u.prototype.square=function(){return new u(be(this.value),false)},f.prototype.square=function(){var h=this.value*this.value;return w(h)?new f(h):new u(be(g(Math.abs(this.value))),false)},p.prototype.square=function(h){return new p(this.value*this.value)};function ke(h,y){var _=h.length,E=y.length,R=o,M=A(y.length),W=y[E-1],J=Math.ceil(R/(2*W)),re=se(h,J),ye=se(y,J),Me,Oe,We,dn,Qt,bl,vl;for(re.length<=_&&re.push(0),ye.push(0),W=ye[E-1],Oe=_-E;Oe>=0;Oe--){for(Me=R-1,re[Oe+E]!==W&&(Me=Math.floor((re[Oe+E]*R+re[Oe+E-1])/W)),We=0,dn=0,bl=ye.length,Qt=0;Qt<bl;Qt++)We+=Me*ye[Qt],vl=Math.floor(We/R),dn+=re[Oe+Qt]-(We-vl*R),We=vl,dn<0?(re[Oe+Qt]=dn+R,dn=-1):(re[Oe+Qt]=dn,dn=0);for(;dn!==0;){for(Me-=1,We=0,Qt=0;Qt<bl;Qt++)We+=re[Oe+Qt]-R+ye[Qt],We<0?(re[Oe+Qt]=We+R,We=0):(re[Oe+Qt]=We,We=1);dn+=We;}M[Oe]=Me;}return re=Se(re,J)[0],[b(M),b(re)]}function _e(h,y){for(var _=h.length,E=y.length,R=[],M=[],W=o,J,re,ye,Me,Oe;_;){if(M.unshift(h[--_]),x(M),ut(M,y)<0){R.push(0);continue}re=M.length,ye=M[re-1]*W+M[re-2],Me=y[E-1]*W+y[E-2],re>E&&(ye=(ye+1)*W),J=Math.ceil(ye/Me);do{if(Oe=se(y,J),ut(Oe,M)<=0)break;J--;}while(J);R.push(J),M=q(M,Oe);}return R.reverse(),[b(R),b(M)]}function Se(h,y){var _=h.length,E=A(_),R=o,M,W,J,re;for(J=0,M=_-1;M>=0;--M)re=J*R+h[M],W=T(re/y),J=re-W*y,E[M]=W|0;return [E,J|0]}function Ne(h,y){var _,E=ne(y);if(l)return [new p(h.value/E.value),new p(h.value%E.value)];var R=h.value,M=E.value,W;if(M===0)throw new Error("Cannot divide by zero");if(h.isSmall)return E.isSmall?[new f(T(R/M)),new f(R%M)]:[c[0],h];if(E.isSmall){if(M===1)return [h,c[0]];if(M==-1)return [h.negate(),c[0]];var J=Math.abs(M);if(J<o){_=Se(R,J),W=b(_[0]);var re=_[1];return h.sign&&(re=-re),typeof W=="number"?(h.sign!==E.sign&&(W=-W),[new f(W),new f(re)]):[new u(W,h.sign!==E.sign),new f(re)]}M=g(J);}var ye=ut(R,M);if(ye===-1)return [c[0],h];if(ye===0)return [c[h.sign===E.sign?1:-1],c[0]];R.length+M.length<=200?_=ke(R,M):_=_e(R,M),W=_[0];var Me=h.sign!==E.sign,Oe=_[1],We=h.sign;return typeof W=="number"?(Me&&(W=-W),W=new f(W)):W=new u(W,Me),typeof Oe=="number"?(We&&(Oe=-Oe),Oe=new f(Oe)):Oe=new u(Oe,We),[W,Oe]}u.prototype.divmod=function(h){var y=Ne(this,h);return {quotient:y[0],remainder:y[1]}},p.prototype.divmod=f.prototype.divmod=u.prototype.divmod,u.prototype.divide=function(h){return Ne(this,h)[0]},p.prototype.over=p.prototype.divide=function(h){return new p(this.value/ne(h).value)},f.prototype.over=f.prototype.divide=u.prototype.over=u.prototype.divide,u.prototype.mod=function(h){return Ne(this,h)[1]},p.prototype.mod=p.prototype.remainder=function(h){return new p(this.value%ne(h).value)},f.prototype.remainder=f.prototype.mod=u.prototype.remainder=u.prototype.mod,u.prototype.pow=function(h){var y=ne(h),_=this.value,E=y.value,R,M,W;if(E===0)return c[1];if(_===0)return c[0];if(_===1)return c[1];if(_===-1)return y.isEven()?c[1]:c[-1];if(y.sign)return c[0];if(!y.isSmall)throw new Error("The exponent "+y.toString()+" is too large.");if(this.isSmall&&w(R=Math.pow(_,E)))return new f(T(R));for(M=this,W=c[1];E&true&&(W=W.times(M),--E),E!==0;)E/=2,M=M.square();return W},f.prototype.pow=u.prototype.pow,p.prototype.pow=function(h){var y=ne(h),_=this.value,E=y.value,R=BigInt(0),M=BigInt(1),W=BigInt(2);if(E===R)return c[1];if(_===R)return c[0];if(_===M)return c[1];if(_===BigInt(-1))return y.isEven()?c[1]:c[-1];if(y.isNegative())return new p(R);for(var J=this,re=c[1];(E&M)===M&&(re=re.times(J),--E),E!==R;)E/=W,J=J.square();return re},u.prototype.modPow=function(h,y){if(h=ne(h),y=ne(y),y.isZero())throw new Error("Cannot take modPow with modulus 0");var _=c[1],E=this.mod(y);for(h.isNegative()&&(h=h.multiply(c[-1]),E=E.modInv(y));h.isPositive();){if(E.isZero())return c[0];h.isOdd()&&(_=_.multiply(E).mod(y)),h=h.divide(2),E=E.square().mod(y);}return _},p.prototype.modPow=f.prototype.modPow=u.prototype.modPow;function ut(h,y){if(h.length!==y.length)return h.length>y.length?1:-1;for(var _=h.length-1;_>=0;_--)if(h[_]!==y[_])return h[_]>y[_]?1:-1;return 0}u.prototype.compareAbs=function(h){var y=ne(h),_=this.value,E=y.value;return y.isSmall?1:ut(_,E)},f.prototype.compareAbs=function(h){var y=ne(h),_=Math.abs(this.value),E=y.value;return y.isSmall?(E=Math.abs(E),_===E?0:_>E?1:-1):-1},p.prototype.compareAbs=function(h){var y=this.value,_=ne(h).value;return y=y>=0?y:-y,_=_>=0?_:-_,y===_?0:y>_?1:-1},u.prototype.compare=function(h){if(h===1/0)return -1;if(h===-1/0)return 1;var y=ne(h),_=this.value,E=y.value;return this.sign!==y.sign?y.sign?1:-1:y.isSmall?this.sign?-1:1:ut(_,E)*(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 y=ne(h),_=this.value,E=y.value;return y.isSmall?_==E?0:_>E?1:-1:_<0!==y.sign?_<0?-1:1:_<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 y=this.value,_=ne(h).value;return y===_?0:y>_?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 y=ne(h);return y.isZero()?false:y.isUnit()?true:y.compareAbs(2)===0?this.isEven():this.mod(y).isZero()},p.prototype.isDivisibleBy=f.prototype.isDivisibleBy=u.prototype.isDivisibleBy;function we(h){var y=h.abs();if(y.isUnit())return false;if(y.equals(2)||y.equals(3)||y.equals(5))return true;if(y.isEven()||y.isDivisibleBy(3)||y.isDivisibleBy(5))return false;if(y.lesser(49))return true}function L(h,y){for(var _=h.prev(),E=_,R=0,M,W,J;E.isEven();)E=E.divide(2),R++;e:for(W=0;W<y.length;W++)if(!h.lesser(y[W])&&(J=t(y[W]).modPow(E,h),!(J.isUnit()||J.equals(_)))){for(M=R-1;M!=0;M--){if(J=J.square().mod(h),J.isUnit())return false;if(J.equals(_))continue e}return false}return true}u.prototype.isPrime=function(h){var y=we(this);if(y!==n)return y;var _=this.abs(),E=_.bitLength();if(E<=64)return L(_,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var R=Math.log(2)*E.toJSNumber(),M=Math.ceil(h===true?2*Math.pow(R,2):R),W=[],J=0;J<M;J++)W.push(t(J+2));return L(_,W)},p.prototype.isPrime=f.prototype.isPrime=u.prototype.isPrime,u.prototype.isProbablePrime=function(h,y){var _=we(this);if(_!==n)return _;for(var E=this.abs(),R=h===n?5:h,M=[],W=0;W<R;W++)M.push(t.randBetween(2,E.minus(2),y));return L(E,M)},p.prototype.isProbablePrime=f.prototype.isProbablePrime=u.prototype.isProbablePrime,u.prototype.modInv=function(h){for(var y=t.zero,_=t.one,E=ne(h),R=this.abs(),M,W,J;!R.isZero();)M=E.divide(R),W=y,J=E,y=_,E=R,_=W.subtract(M.multiply(_)),R=J.subtract(M.multiply(R));if(!E.isUnit())throw new Error(this.toString()+" and "+h.toString()+" are not co-prime");return y.compare(0)===-1&&(y=y.add(h)),this.isNegative()?y.negate():y},p.prototype.modInv=f.prototype.modInv=u.prototype.modInv,u.prototype.next=function(){var h=this.value;return this.sign?ue(h,1,this.sign):new u(B(h,1),this.sign)},f.prototype.next=function(){var h=this.value;return h+1<i?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(B(h,1),true):ue(h,1,this.sign)},f.prototype.prev=function(){var h=this.value;return h-1>-i?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 ot=pe.length,ft=pe[ot-1];function cn(h){return Math.abs(h)<=o}u.prototype.shiftLeft=function(h){var y=ne(h).toJSNumber();if(!cn(y))throw new Error(String(y)+" is too large for shifting.");if(y<0)return this.shiftRight(-y);var _=this;if(_.isZero())return _;for(;y>=ot;)_=_.multiply(ft),y-=ot-1;return _.multiply(pe[y])},p.prototype.shiftLeft=f.prototype.shiftLeft=u.prototype.shiftLeft,u.prototype.shiftRight=function(h){var y,_=ne(h).toJSNumber();if(!cn(_))throw new Error(String(_)+" is too large for shifting.");if(_<0)return this.shiftLeft(-_);for(var E=this;_>=ot;){if(E.isZero()||E.isNegative()&&E.isUnit())return E;y=Ne(E,ft),E=y[1].isNegative()?y[0].prev():y[0],_-=ot-1;}return y=Ne(E,pe[_]),y[1].isNegative()?y[0].prev():y[0]},p.prototype.shiftRight=f.prototype.shiftRight=u.prototype.shiftRight;function Yt(h,y,_){y=ne(y);for(var E=h.isNegative(),R=y.isNegative(),M=E?h.not():h,W=R?y.not():y,J=0,re=0,ye=null,Me=null,Oe=[];!M.isZero()||!W.isZero();)ye=Ne(M,ft),J=ye[1].toJSNumber(),E&&(J=ft-1-J),Me=Ne(W,ft),re=Me[1].toJSNumber(),R&&(re=ft-1-re),M=ye[0],W=Me[0],Oe.push(_(J,re));for(var We=_(E?1:0,R?1:0)!==0?t(-1):t(0),dn=Oe.length-1;dn>=0;dn-=1)We=We.multiply(ft).add(t(Oe[dn]));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 Yt(this,h,function(y,_){return y&_})},p.prototype.and=f.prototype.and=u.prototype.and,u.prototype.or=function(h){return Yt(this,h,function(y,_){return y|_})},p.prototype.or=f.prototype.or=u.prototype.or,u.prototype.xor=function(h){return Yt(this,h,function(y,_){return y^_})},p.prototype.xor=f.prototype.xor=u.prototype.xor;var ro=1<<30,Ss=(o&-o)*(o&-o)|ro;function bn(h){var y=h.value,_=typeof y=="number"?y|ro:typeof y=="bigint"?y|BigInt(ro):y[0]+y[1]*o|Ss;return _&-_}function X(h,y){if(y.compareTo(h)<=0){var _=X(h,y.square(y)),E=_.p,R=_.e,M=E.multiply(y);return M.compareTo(h)<=0?{p:M,e:R*2+1}:{p:E,e:R*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(X(h,t(2)).e).add(t(1))},p.prototype.bitLength=f.prototype.bitLength=u.prototype.bitLength;function m(h,y){return h=ne(h),y=ne(y),h.greater(y)?h:y}function v(h,y){return h=ne(h),y=ne(y),h.lesser(y)?h:y}function k(h,y){if(h=ne(h).abs(),y=ne(y).abs(),h.equals(y))return h;if(h.isZero())return y;if(y.isZero())return h;for(var _=c[1],E,R;h.isEven()&&y.isEven();)E=v(bn(h),bn(y)),h=h.divide(E),y=y.divide(E),_=_.multiply(E);for(;h.isEven();)h=h.divide(bn(h));do{for(;y.isEven();)y=y.divide(bn(y));h.greater(y)&&(R=y,y=h,h=R),y=y.subtract(h);}while(!y.isZero());return _.isUnit()?h:h.multiply(_)}function Q(h,y){return h=ne(h).abs(),y=ne(y).abs(),h.divide(k(h,y)).multiply(y)}function N(h,y,_){h=ne(h),y=ne(y);var E=_||Math.random,R=v(h,y),M=m(h,y),W=M.subtract(R).add(1);if(W.isSmall)return R.add(Math.floor(E()*W));for(var J=ae(W,o).value,re=[],ye=true,Me=0;Me<J.length;Me++){var Oe=ye?J[Me]+(Me+1<J.length?J[Me+1]/o:0):o,We=T(E()*Oe);re.push(We),We<J[Me]&&(ye=false);}return R.add(c.fromArray(re,o,false))}var K=function(h,y,_,E){_=_||a,h=String(h),E||(h=h.toLowerCase(),_=_.toLowerCase());var R=h.length,M,W=Math.abs(y),J={};for(M=0;M<_.length;M++)J[_[M]]=M;for(M=0;M<R;M++){var re=h[M];if(re!=="-"&&re in J&&J[re]>=W){if(re==="1"&&W===1)continue;throw new Error(re+" is not a valid digit in base "+y+".")}}y=ne(y);var ye=[],Me=h[0]==="-";for(M=Me?1:0;M<h.length;M++){var re=h[M];if(re in J)ye.push(ne(J[re]));else if(re==="<"){var Oe=M;do M++;while(h[M]!==">"&&M<h.length);ye.push(ne(h.slice(Oe+1,M)));}else throw new Error(re+" is not a valid character")}return de(ye,y,Me)};function de(h,y,_){var E=c[0],R=c[1],M;for(M=h.length-1;M>=0;M--)E=E.add(h[M].times(R)),R=R.times(y);return _?E.negate():E}function ce(h,y){return y=y||a,h<y.length?y[h]:"<"+h+">"}function ae(h,y){if(y=t(y),y.isZero()){if(h.isZero())return {value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(y.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 _=Array.apply(null,Array(h.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return _.unshift([1]),{value:[].concat.apply([],_),isNegative:false}}var E=false;if(h.isNegative()&&y.isPositive()&&(E=true,h=h.abs()),y.isUnit())return h.isZero()?{value:[0],isNegative:false}:{value:Array.apply(null,Array(h.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:E};for(var R=[],M=h,W;M.isNegative()||M.compareAbs(y)>=0;){W=M.divmod(y),M=W.quotient;var J=W.remainder;J.isNegative()&&(J=y.minus(J).abs(),M=M.next()),R.push(J.toJSNumber());}return R.push(M.toJSNumber()),{value:R.reverse(),isNegative:E}}function ie(h,y,_){var E=ae(h,y);return (E.isNegative?"-":"")+E.value.map(function(R){return ce(R,_)}).join("")}u.prototype.toArray=function(h){return ae(this,h)},f.prototype.toArray=function(h){return ae(this,h)},p.prototype.toArray=function(h){return ae(this,h)},u.prototype.toString=function(h,y){if(h===n&&(h=10),h!==10||y)return ie(this,h,y);for(var _=this.value,E=_.length,R=String(_[--E]),M="0000000",W;--E>=0;)W=String(_[E]),R+=M.slice(W.length)+W;var J=this.sign?"-":"";return J+R},f.prototype.toString=function(h,y){return h===n&&(h=10),h!=10||y?ie(this,h,y):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 Ce(h){if(w(+h)){var y=+h;if(y===T(y))return l?new p(BigInt(y)):new f(y);throw new Error("Invalid integer: "+h)}var _=h[0]==="-";_&&(h=h.slice(1));var E=h.split(/e/i);if(E.length>2)throw new Error("Invalid integer: "+E.join("e"));if(E.length===2){var R=E[1];if(R[0]==="+"&&(R=R.slice(1)),R=+R,R!==T(R)||!w(R))throw new Error("Invalid integer: "+R+" is not a valid exponent.");var M=E[0],W=M.indexOf(".");if(W>=0&&(R-=M.length-W-1,M=M.slice(0,W)+M.slice(W+1)),R<0)throw new Error("Cannot include negative exponent part for integers");M+=new Array(R+1).join("0"),h=M;}var J=/^([0-9][0-9]*)$/.test(h);if(!J)throw new Error("Invalid integer: "+h);if(l)return new p(BigInt(_?"-"+h:h));for(var re=[],ye=h.length,Me=s,Oe=ye-Me;ye>0;)re.push(+h.slice(Oe,ye)),Oe-=Me,Oe<0&&(Oe=0),ye-=Me;return x(re),new u(re,_)}function he(h){if(l)return new p(BigInt(h));if(w(h)){if(h!==T(h))throw new Error(h+" is not an integer.");return new f(h)}return Ce(h.toString())}function ne(h){return typeof h=="number"?he(h):typeof h=="string"?Ce(h):typeof h=="bigint"?new p(h):h}for(var Ee=0;Ee<1e3;Ee++)c[Ee]=ne(Ee),Ee>0&&(c[-Ee]=ne(-Ee));return c.one=c[1],c.zero=c[0],c.minusOne=c[-1],c.max=m,c.min=v,c.gcd=k,c.lcm=Q,c.isInstance=function(h){return h instanceof u||h instanceof f||h instanceof p},c.randBetween=N,c.fromArray=function(h,y,_){return de(h.map(ne),ne(y||10),_)},c})();e.hasOwnProperty("exports")&&(e.exports=t);})(xl)),xl.exports}var db=cb();const _r=Jp(db);class fb{n;e;constructor(){this.n=_r("8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683",16),this.e=_r("10001",16);}a2hex(t){let n="",o;for(let s=0;s<t.length;s++)o=t[s].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=[],s=t.length-1;for(;s>=0&&n>0;)o[--n]=t.charCodeAt(s--);for(o[--n]=0;n>2;)o[--n]=255;o[--n]=2,o[--n]=0;let i=this.a2hex(o);return _r(i,16)}pkcs1unpad2(t){let n=t.toString(16);n.length%2!==0&&(n="0"+n);let o=this.hex2a(n),s=1;for(;o.charCodeAt(s)!==0;)s++;return o.slice(s+1)}encrypt(t){let s=this.pkcs1pad2(t,128)?.modPow(this.e,this.n)?.toString(16)||"";for(;s.length<256;)s="0"+s;return s}decrypt(t){const n=[];let o=0;for(;o<t.length;)n[o]=t.charCodeAt(o),o+=1;const i=_r(this.a2hex(n),16).modPow(this.e,this.n);return this.pkcs1unpad2(i)}}class pb{rsa;kts;keyS;keyL;constructor(){this.rsa=new fb,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,s){let i,r,a,l,c,u,f,p;if(l=n%4,p=[],l!==0)for(i=r=0,c=l;c>=0?r<c:r>c;i=c>=0?++r:--r)p.push(t[i]^o[i%s]);for(i=a=u=l,f=n;u<=f?a<f:a>f;i=u<=f?++a:--a)p.push(t[i]^o[(i-l)%s]);return p}getkey(t,n){let o;return n!=null?(()=>{let s,i,r;for(r=[],o=s=0,i=t;i>=0?s<i:s>i;o=i>=0?++s:--s)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,s,i,r,a;for(i=117,a="",o=s=0,r=Math.floor((n+i-1)/i);r>=0?s<r:s>r;o=r>=0?++s:--s)a+=this.rsa.encrypt(this.bytesToString(t.slice(o*i,Math.min((o+1)*i,n))));return window.btoa(this.rsa.hex2a(a))}asymDecode(t,n){let o,s,i,r,a;for(i=128,a="",o=s=0,r=Math.floor((n+i-1)/i);r>=0?s<r:s>r;o=r>=0?++s:--s)a+=this.rsa.decrypt(this.bytesToString(t.slice(o*i,Math.min((o+1)*i,n))));return this.stringToBytes(a)}symEncode(t,n,o,s){let i,r,a;return i=this.getkey(4,o),r=this.getkey(12,s),a=this.xor115Enc(t,n,i,4),a.reverse(),a=this.xor115Enc(a,n,r,12),a}symDecode(t,n,o,s){let i,r,a;return i=this.getkey(4,o),r=this.getkey(12,s),a=this.xor115Enc(t,n,r,12),a.reverse(),a=this.xor115Enc(a,n,i,4),a}bytesToString(t){let n,o,s,i;for(i="",o=0,s=t.length;o<s;o++)n=t[o],i+=String.fromCharCode(n);return i}stringToBytes(t){let n,o,s;for(s=[],n=0,o=t.length;n<o;n++)s.push(t.charCodeAt(n));return s}encode(t,n){const o=this.stringToBytes(_t.hashStr(`!@###@#${n}DFDR@#@#`));let s=this.stringToBytes(t);return s=this.symEncode(s,s.length,o,null),s=o.slice(0,16).concat(s),{data:this.asymEncode(s,s.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)))}}let Yp;function hb(e){Yp=e;}function Bt(){return Yp}/*!
* sweetalert2 v11.22.4
* Released under the MIT License.
*/function Qp(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 mb(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Sd(e,t){return e.get(Qp(e,t))}function gb(e,t,n){mb(e,t),t.set(e,n);}function wb(e,t,n){return e.set(Qp(e,t),n),n}const yb=100,Ie={},bb=()=>{Ie.previousActiveElement instanceof HTMLElement?(Ie.previousActiveElement.focus(),Ie.previousActiveElement=null):document.body&&document.body.focus();},vb=e=>new Promise(t=>{if(!e)return t();const n=window.scrollX,o=window.scrollY;Ie.restoreFocusTimeout=setTimeout(()=>{bb(),t();},yb),window.scrollTo(n,o);}),Xp="swal2-",xb=["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"],H=xb.reduce((e,t)=>(e[t]=Xp+t,e),{}),_b=["success","warning","info","question","error"],Kr=_b.reduce((e,t)=>(e[t]=Xp+t,e),{}),Zp="SweetAlert2:",ic=e=>e.charAt(0).toUpperCase()+e.slice(1),Wt=e=>{console.warn(`${Zp} ${typeof e=="object"?e.join(" "):e}`);},ys=e=>{console.error(`${Zp} ${e}`);},$d=[],Cb=e=>{$d.includes(e)||($d.push(e),Wt(e));},eh=(e,t=null)=>{Cb(`"${e}" is deprecated and will be removed in the next major release.${t?` Use "${t}" instead.`:""}`);},Ta=e=>typeof e=="function"?e():e,rc=e=>e&&typeof e.toPromise=="function",Zi=e=>rc(e)?e.toPromise():Promise.resolve(e),ac=e=>e&&Promise.resolve(e)===e,Gt=()=>document.body.querySelector(`.${H.container}`),er=e=>{const t=Gt();return t?t.querySelector(e):null},gn=e=>er(`.${e}`),Je=()=>gn(H.popup),Xs=()=>gn(H.icon),kb=()=>gn(H["icon-content"]),th=()=>gn(H.title),lc=()=>gn(H["html-container"]),nh=()=>gn(H.image),uc=()=>gn(H["progress-steps"]),Ma=()=>gn(H["validation-message"]),eo=()=>er(`.${H.actions} .${H.confirm}`),Zs=()=>er(`.${H.actions} .${H.cancel}`),bs=()=>er(`.${H.actions} .${H.deny}`),Sb=()=>gn(H["input-label"]),ei=()=>er(`.${H.loader}`),tr=()=>gn(H.actions),oh=()=>gn(H.footer),Ba=()=>gn(H["timer-progress-bar"]),cc=()=>gn(H.close),$b=`
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
`,dc=()=>{const e=Je();if(!e)return [];const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'),n=Array.from(t).sort((i,r)=>{const a=parseInt(i.getAttribute("tabindex")||"0"),l=parseInt(r.getAttribute("tabindex")||"0");return a>l?1:a<l?-1:0}),o=e.querySelectorAll($b),s=Array.from(o).filter(i=>i.getAttribute("tabindex")!=="-1");return [...new Set(n.concat(s))].filter(i=>on(i))},fc=()=>go(document.body,H.shown)&&!go(document.body,H["toast-shown"])&&!go(document.body,H["no-backdrop"]),Oa=()=>{const e=Je();return e?go(e,H.toast):false},Eb=()=>{const e=Je();return e?e.hasAttribute("data-loading"):false},wn=(e,t)=>{if(e.textContent="",t){const o=new DOMParser().parseFromString(t,"text/html"),s=o.querySelector("head");s&&Array.from(s.childNodes).forEach(r=>{e.appendChild(r);});const i=o.querySelector("body");i&&Array.from(i.childNodes).forEach(r=>{r instanceof HTMLVideoElement||r instanceof HTMLAudioElement?e.appendChild(r.cloneNode(true)):e.appendChild(r);});}},go=(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},Ab=(e,t)=>{Array.from(e.classList).forEach(n=>{!Object.values(H).includes(n)&&!Object.values(Kr).includes(n)&&!Object.values(t.showClass||{}).includes(n)&&e.classList.remove(n);});},hn=(e,t,n)=>{if(Ab(e,t),!t.customClass)return;const o=t.customClass[n];if(o){if(typeof o!="string"&&!o.forEach){Wt(`Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"`);return}Qe(e,o);}},Ra=(e,t)=>{if(!t)return null;switch(t){case "select":case "textarea":case "file":return e.querySelector(`.${H.popup} > .${H[t]}`);case "checkbox":return e.querySelector(`.${H.popup} > .${H.checkbox} input`);case "radio":return e.querySelector(`.${H.popup} > .${H.radio} input:checked`)||e.querySelector(`.${H.popup} > .${H.radio} input:first-child`);case "range":return e.querySelector(`.${H.popup} > .${H.range} input`);default:return e.querySelector(`.${H.popup} > .${H.input}`)}},sh=e=>{if(e.focus(),e.type!=="file"){const t=e.value;e.value="",e.value=t;}},ih=(e,t,n)=>{!e||!t||(typeof t=="string"&&(t=t.split(/\s+/).filter(Boolean)),t.forEach(o=>{Array.isArray(e)?e.forEach(s=>{n?s.classList.add(o):s.classList.remove(o);}):n?e.classList.add(o):e.classList.remove(o);}));},Qe=(e,t)=>{ih(e,t,true);},En=(e,t)=>{ih(e,t,false);},Do=(e,t)=>{const n=Array.from(e.children);for(let o=0;o<n.length;o++){const s=n[o];if(s instanceof HTMLElement&&go(s,t))return s}},is=(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);},At=(e,t="flex")=>{e&&(e.style.display=t);},Nt=e=>{e&&(e.style.display="none");},pc=(e,t="block")=>{e&&new MutationObserver(()=>{nr(e,e.innerHTML,t);}).observe(e,{childList:true,subtree:true});},Ed=(e,t,n,o)=>{const s=e.querySelector(t);s&&s.style.setProperty(n,o);},nr=(e,t,n="flex")=>{t?At(e,n):Nt(e);},on=e=>!!(e&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),Pb=()=>!on(eo())&&!on(bs())&&!on(Zs()),iu=e=>e.scrollHeight>e.clientHeight,Ib=(e,t)=>{let n=e;for(;n&&n!==t;){if(iu(n))return true;n=n.parentElement;}return false},rh=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},hc=(e,t=false)=>{const n=Ba();n&&on(n)&&(t&&(n.style.transition="none",n.style.width="100%"),setTimeout(()=>{n.style.transition=`width ${e/1e3}s linear`,n.style.width="0%";},10));},Db=()=>{const e=Ba();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}%`;},Lb=()=>typeof window>"u"||typeof document>"u",Tb=`
<div aria-labelledby="${H.title}" aria-describedby="${H["html-container"]}" class="${H.popup}" tabindex="-1">
<button type="button" class="${H.close}"></button>
<ul class="${H["progress-steps"]}"></ul>
<div class="${H.icon}"></div>
<img class="${H.image}" />
<h2 class="${H.title}" id="${H.title}"></h2>
<div class="${H["html-container"]}" id="${H["html-container"]}"></div>
<input class="${H.input}" id="${H.input}" />
<input type="file" class="${H.file}" />
<div class="${H.range}">
<input type="range" />
<output></output>
</div>
<select class="${H.select}" id="${H.select}"></select>
<div class="${H.radio}"></div>
<label class="${H.checkbox}">
<input type="checkbox" id="${H.checkbox}" />
<span class="${H.label}"></span>
</label>
<textarea class="${H.textarea}" id="${H.textarea}"></textarea>
<div class="${H["validation-message"]}" id="${H["validation-message"]}"></div>
<div class="${H.actions}">
<div class="${H.loader}"></div>
<button type="button" class="${H.confirm}"></button>
<button type="button" class="${H.deny}"></button>
<button type="button" class="${H.cancel}"></button>
</div>
<div class="${H.footer}"></div>
<div class="${H["timer-progress-bar-container"]}">
<div class="${H["timer-progress-bar"]}"></div>
</div>
</div>
`.replace(/(^|\n)\s*/g,""),Mb=()=>{const e=Gt();return e?(e.remove(),En([document.documentElement,document.body],[H["no-backdrop"],H["toast-shown"],H["has-column"]]),true):false},Jo=()=>{Ie.currentInstance.resetValidationMessage();},Bb=()=>{const e=Je(),t=Do(e,H.input),n=Do(e,H.file),o=e.querySelector(`.${H.range} input`),s=e.querySelector(`.${H.range} output`),i=Do(e,H.select),r=e.querySelector(`.${H.checkbox} input`),a=Do(e,H.textarea);t.oninput=Jo,n.onchange=Jo,i.onchange=Jo,r.onchange=Jo,a.oninput=Jo,o.oninput=()=>{Jo(),s.value=o.value;},o.onchange=()=>{Jo(),s.value=o.value;};},Ob=e=>typeof e=="string"?document.querySelector(e):e,Rb=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");},Fb=e=>{window.getComputedStyle(e).direction==="rtl"&&Qe(Gt(),H.rtl);},Nb=e=>{const t=Mb();if(Lb()){ys("SweetAlert2 requires document to initialize");return}const n=document.createElement("div");n.className=H.container,t&&Qe(n,H["no-transition"]),wn(n,Tb),n.dataset.swal2Theme=e.theme;const o=Ob(e.target);o.appendChild(n),e.topLayer&&(n.setAttribute("popover",""),n.showPopover()),Rb(e),Fb(o),Bb();},mc=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):typeof e=="object"?Ub(e,t):e&&wn(t,e);},Ub=(e,t)=>{e.jquery?jb(t,e):wn(t,e.toString());},jb=(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));},zb=(e,t)=>{const n=tr(),o=ei();!n||!o||(!t.showConfirmButton&&!t.showDenyButton&&!t.showCancelButton?Nt(n):At(n),hn(n,t,"actions"),Hb(n,o,t),wn(o,t.loaderHtml||""),hn(o,t,"loader"));};function Hb(e,t,n){const o=eo(),s=bs(),i=Zs();!o||!s||!i||(Cl(o,"confirm",n),Cl(s,"deny",n),Cl(i,"cancel",n),Vb(o,s,i,n),n.reverseButtons&&(n.toast?(e.insertBefore(i,o),e.insertBefore(s,o)):(e.insertBefore(i,t),e.insertBefore(s,t),e.insertBefore(o,t))));}function Vb(e,t,n,o){if(!o.buttonsStyling){En([e,t,n],H.styled);return}Qe([e,t,n],H.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),_l(e),_l(t),_l(n);}function _l(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 Cl(e,t,n){const o=ic(t);nr(e,n[`show${o}Button`],"inline-block"),wn(e,n[`${t}ButtonText`]||""),e.setAttribute("aria-label",n[`${t}ButtonAriaLabel`]||""),e.className=H[t],hn(e,n,`${t}Button`);}const qb=(e,t)=>{const n=cc();n&&(wn(n,t.closeButtonHtml||""),hn(n,t,"closeButton"),nr(n,t.showCloseButton),n.setAttribute("aria-label",t.closeButtonAriaLabel||""));},Wb=(e,t)=>{const n=Gt();n&&(Kb(n,t.backdrop),Gb(n,t.position),Jb(n,t.grow),hn(n,t,"container"));};function Kb(e,t){typeof t=="string"?e.style.background=t:t||Qe([document.documentElement,document.body],H["no-backdrop"]);}function Gb(e,t){t&&(t in H?Qe(e,H[t]):(Wt('The "position" parameter is not valid, defaulting to "center"'),Qe(e,H.center)));}function Jb(e,t){t&&Qe(e,H[`grow-${t}`]);}var lt={innerParams:new WeakMap,domCache:new WeakMap};const Yb=["input","file","range","select","radio","checkbox","textarea"],Qb=(e,t)=>{const n=Je();if(!n)return;const o=lt.innerParams.get(e),s=!o||t.input!==o.input;Yb.forEach(i=>{const r=Do(n,H[i]);r&&(ev(i,t.inputAttributes),r.className=H[i],s&&Nt(r));}),t.input&&(s&&Xb(t),tv(t));},Xb=e=>{if(!e.input)return;if(!bt[e.input]){ys(`Unexpected type of input! Expected ${Object.keys(bt).join(" | ")}, got "${e.input}"`);return}const t=ah(e.input);if(!t)return;const n=bt[e.input](t,e);At(t),e.inputAutoFocus&&setTimeout(()=>{sh(n);});},Zb=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);}},ev=(e,t)=>{const n=Je();if(!n)return;const o=Ra(n,e);if(o){Zb(o);for(const s in t)o.setAttribute(s,t[s]);}},tv=e=>{if(!e.input)return;const t=ah(e.input);t&&hn(t,e,"input");},gc=(e,t)=>{!e.placeholder&&t.inputPlaceholder&&(e.placeholder=t.inputPlaceholder);},or=(e,t,n)=>{if(n.inputLabel){const o=document.createElement("label"),s=H["input-label"];o.setAttribute("for",e.id),o.className=s,typeof n.customClass=="object"&&Qe(o,n.customClass.inputLabel),o.innerText=n.inputLabel,t.insertAdjacentElement("beforebegin",o);}},ah=e=>{const t=Je();if(t)return Do(t,H[e]||H.input)},Gr=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:ac(t)||Wt(`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)=>(Gr(e,t.inputValue),or(e,e,t),gc(e,t),e.type=t.input,e);bt.file=(e,t)=>(or(e,e,t),gc(e,t),e);bt.range=(e,t)=>{const n=e.querySelector("input"),o=e.querySelector("output");return Gr(n,t.inputValue),n.type=t.input,Gr(o,t.inputValue),or(n,e,t),e};bt.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const n=document.createElement("option");wn(n,t.inputPlaceholder),n.value="",n.disabled=true,n.selected=true,e.appendChild(n);}return or(e,e,t),e};bt.radio=e=>(e.textContent="",e);bt.checkbox=(e,t)=>{const n=Ra(Je(),"checkbox");n.value="1",n.checked=!!t.inputValue;const o=e.querySelector("span");return wn(o,t.inputPlaceholder||t.inputLabel),n};bt.textarea=(e,t)=>{Gr(e,t.inputValue),gc(e,t),or(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),s=()=>{if(!document.body.contains(e))return;const i=e.offsetWidth+n(e);i>o?Je().style.width=`${i}px`:is(Je(),"width",t.width);};new MutationObserver(s).observe(e,{attributes:true,attributeFilter:["style"]});}}),e};const nv=(e,t)=>{const n=lc();n&&(pc(n),hn(n,t,"htmlContainer"),t.html?(mc(t.html,n),At(n,"block")):t.text?(n.textContent=t.text,At(n,"block")):Nt(n),Qb(e,t));},ov=(e,t)=>{const n=oh();n&&(pc(n),nr(n,t.footer,"block"),t.footer&&mc(t.footer,n),hn(n,t,"footer"));},sv=(e,t)=>{const n=lt.innerParams.get(e),o=Xs();if(!o)return;if(n&&t.icon===n.icon){Pd(o,t),Ad(o,t);return}if(!t.icon&&!t.iconHtml){Nt(o);return}if(t.icon&&Object.keys(Kr).indexOf(t.icon)===-1){ys(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"`),Nt(o);return}At(o),Pd(o,t),Ad(o,t),Qe(o,t.showClass&&t.showClass.icon),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",lh);},Ad=(e,t)=>{for(const[n,o]of Object.entries(Kr))t.icon!==n&&En(e,o);Qe(e,t.icon&&Kr[t.icon]),av(e,t),lh(),hn(e,t,"icon");},lh=()=>{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;},iv=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>':""}
`,rv=`
<span class="swal2-x-mark">
<span class="swal2-x-mark-line-left"></span>
<span class="swal2-x-mark-line-right"></span>
</span>
`,Pd=(e,t)=>{if(!t.icon&&!t.iconHtml)return;let n=e.innerHTML,o="";t.iconHtml?o=Id(t.iconHtml):t.icon==="success"?(o=iv(t),n=n.replace(/ style=".*?"/g,"")):t.icon==="error"?o=rv:t.icon&&(o=Id({question:"?",warning:"!",info:"i"}[t.icon])),n.trim()!==o.trim()&&wn(e,o);},av=(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"])Ed(e,n,"background-color",t.iconColor);Ed(e,".swal2-success-ring","border-color",t.iconColor);}},Id=e=>`<div class="${H["icon-content"]}">${e}</div>`,lv=(e,t)=>{const n=nh();if(n){if(!t.imageUrl){Nt(n);return}At(n,""),n.setAttribute("src",t.imageUrl),n.setAttribute("alt",t.imageAlt||""),is(n,"width",t.imageWidth),is(n,"height",t.imageHeight),n.className=H.image,hn(n,t,"image");}};let wc=false,uh=0,ch=0,dh=0,fh=0;const uv=e=>{e.addEventListener("mousedown",Jr),document.body.addEventListener("mousemove",Yr),e.addEventListener("mouseup",Qr),e.addEventListener("touchstart",Jr),document.body.addEventListener("touchmove",Yr),e.addEventListener("touchend",Qr);},cv=e=>{e.removeEventListener("mousedown",Jr),document.body.removeEventListener("mousemove",Yr),e.removeEventListener("mouseup",Qr),e.removeEventListener("touchstart",Jr),document.body.removeEventListener("touchmove",Yr),e.removeEventListener("touchend",Qr);},Jr=e=>{const t=Je();if(e.target===t||Xs().contains(e.target)){wc=true;const n=ph(e);uh=n.clientX,ch=n.clientY,dh=parseInt(t.style.insetInlineStart)||0,fh=parseInt(t.style.insetBlockStart)||0,Qe(t,"swal2-dragging");}},Yr=e=>{const t=Je();if(wc){let{clientX:n,clientY:o}=ph(e);t.style.insetInlineStart=`${dh+(n-uh)}px`,t.style.insetBlockStart=`${fh+(o-ch)}px`;}},Qr=()=>{const e=Je();wc=false,En(e,"swal2-dragging");},ph=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}},dv=(e,t)=>{const n=Gt(),o=Je();if(!(!n||!o)){if(t.toast){is(n,"width",t.width),o.style.width="100%";const s=ei();s&&o.insertBefore(s,Xs());}else is(o,"width",t.width);is(o,"padding",t.padding),t.color&&(o.style.color=t.color),t.background&&(o.style.background=t.background),Nt(Ma()),fv(o,t),t.draggable&&!t.toast?(Qe(o,H.draggable),uv(o)):(En(o,H.draggable),cv(o));}},fv=(e,t)=>{const n=t.showClass||{};e.className=`${H.popup} ${on(e)?n.popup:""}`,t.toast?(Qe([document.documentElement,document.body],H["toast-shown"]),Qe(e,H.toast)):Qe(e,H.modal),hn(e,t,"popup"),typeof t.customClass=="string"&&Qe(e,t.customClass),t.icon&&Qe(e,H[`icon-${t.icon}`]);},pv=(e,t)=>{const n=uc();if(!n)return;const{progressSteps:o,currentProgressStep:s}=t;if(!o||o.length===0||s===void 0){Nt(n);return}At(n),n.textContent="",s>=o.length&&Wt("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((i,r)=>{const a=hv(i);if(n.appendChild(a),r===s&&Qe(a,H["active-progress-step"]),r!==o.length-1){const l=mv(t);n.appendChild(l);}});},hv=e=>{const t=document.createElement("li");return Qe(t,H["progress-step"]),wn(t,e),t},mv=e=>{const t=document.createElement("li");return Qe(t,H["progress-step-line"]),e.progressStepsDistance&&is(t,"width",e.progressStepsDistance),t},gv=(e,t)=>{const n=th();n&&(pc(n),nr(n,t.title||t.titleText,"block"),t.title&&mc(t.title,n),t.titleText&&(n.innerText=t.titleText),hn(n,t,"title"));},hh=(e,t)=>{dv(e,t),Wb(e,t),pv(e,t),sv(e,t),lv(e,t),gv(e,t),qb(e,t),nv(e,t),zb(e,t),ov(e,t);const n=Je();typeof t.didRender=="function"&&n&&t.didRender(n),Ie.eventEmitter.emit("didRender",n);},wv=()=>on(Je()),mh=()=>{var e;return (e=eo())===null||e===void 0?void 0:e.click()},yv=()=>{var e;return (e=bs())===null||e===void 0?void 0:e.click()},bv=()=>{var e;return (e=Zs())===null||e===void 0?void 0:e.click()},ti=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),gh=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=false);},vv=(e,t,n)=>{gh(e),t.toast||(e.keydownHandler=o=>_v(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);},ru=(e,t)=>{var n;const o=dc();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();},wh=["ArrowRight","ArrowDown"],xv=["ArrowLeft","ArrowUp"],_v=(e,t,n)=>{e&&(t.isComposing||t.keyCode===229||(e.stopKeydownPropagation&&t.stopPropagation(),t.key==="Enter"?Cv(t,e):t.key==="Tab"?kv(t):[...wh,...xv].includes(t.key)?Sv(t.key):t.key==="Escape"&&$v(t,e,n)));},Cv=(e,t)=>{if(!Ta(t.allowEnterKey))return;const n=Ra(Je(),t.input);if(e.target&&n&&e.target instanceof HTMLElement&&e.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(t.input))return;mh(),e.preventDefault();}},kv=e=>{const t=e.target,n=dc();let o=-1;for(let s=0;s<n.length;s++)if(t===n[s]){o=s;break}e.shiftKey?ru(o,-1):ru(o,1),e.stopPropagation(),e.preventDefault();},Sv=e=>{const t=tr(),n=eo(),o=bs(),s=Zs();if(!t||!n||!o||!s)return;const i=[n,o,s];if(document.activeElement instanceof HTMLElement&&!i.includes(document.activeElement))return;const r=wh.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&&on(a))break}a instanceof HTMLButtonElement&&a.focus();}},$v=(e,t,n)=>{e.preventDefault(),Ta(t.allowEscapeKey)&&n(ti.esc);};var qs={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const Ev=()=>{const e=Gt();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"));});},yh=()=>{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");});},bh=typeof window<"u"&&!!window.GestureEvent,Av=()=>{if(bh&&!go(document.body,H.iosfix)){const e=document.body.scrollTop;document.body.style.top=`${e*-1}px`,Qe(document.body,H.iosfix),Pv();}},Pv=()=>{const e=Gt();if(!e)return;let t;e.ontouchstart=n=>{t=Iv(n);},e.ontouchmove=n=>{t&&(n.preventDefault(),n.stopPropagation());};},Iv=e=>{const t=e.target,n=Gt(),o=lc();return !n||!o||Dv(e)||Lv(e)?false:t===n||!iu(n)&&t instanceof HTMLElement&&!Ib(t,o)&&t.tagName!=="INPUT"&&t.tagName!=="TEXTAREA"&&!(iu(o)&&o.contains(t))},Dv=e=>e.touches&&e.touches.length&&e.touches[0].touchType==="stylus",Lv=e=>e.touches&&e.touches.length>1,Tv=()=>{if(go(document.body,H.iosfix)){const e=parseInt(document.body.style.top,10);En(document.body,H.iosfix),document.body.style.top="",document.body.scrollTop=e*-1;}},Mv=()=>{const e=document.createElement("div");e.className=H["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t};let Is=null;const Bv=e=>{Is===null&&(document.body.scrollHeight>window.innerHeight||e==="scroll")&&(Is=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${Is+Mv()}px`);},Ov=()=>{Is!==null&&(document.body.style.paddingRight=`${Is}px`,Is=null);};function vh(e,t,n,o){Oa()?Dd(e,o):(vb(n).then(()=>Dd(e,o)),gh(Ie)),bh?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),fc()&&(Ov(),Tv(),yh()),Rv();}function Rv(){En([document.documentElement,document.body],[H.shown,H["height-auto"],H["no-backdrop"],H["toast-shown"]]);}function Lo(e){e=Nv(e);const t=qs.swalPromiseResolve.get(this),n=Fv(this);this.isAwaitingPromise?e.isDismissed||(sr(this),t(e)):n&&t(e);}const Fv=e=>{const t=Je();if(!t)return false;const n=lt.innerParams.get(e);if(!n||go(t,n.hideClass.popup))return false;En(t,n.showClass.popup),Qe(t,n.hideClass.popup);const o=Gt();return En(o,n.showClass.backdrop),Qe(o,n.hideClass.backdrop),Uv(e,t,n),true};function xh(e){const t=qs.swalPromiseReject.get(this);sr(this),t&&t(e);}const sr=e=>{e.isAwaitingPromise&&(delete e.isAwaitingPromise,lt.innerParams.get(e)||e._destroy());},Nv=e=>typeof e>"u"?{isConfirmed:false,isDenied:false,isDismissed:true}:Object.assign({isConfirmed:false,isDenied:false,isDismissed:false},e),Uv=(e,t,n)=>{var o;const s=Gt(),i=rh(t);typeof n.willClose=="function"&&n.willClose(t),(o=Ie.eventEmitter)===null||o===void 0||o.emit("willClose",t),i?jv(e,t,s,n.returnFocus,n.didClose):vh(e,s,n.returnFocus,n.didClose);},jv=(e,t,n,o,s)=>{Ie.swalCloseEventFinishedCallback=vh.bind(null,e,n,o,s);const i=function(r){if(r.target===t){var a;(a=Ie.swalCloseEventFinishedCallback)===null||a===void 0||a.call(Ie),delete Ie.swalCloseEventFinishedCallback,t.removeEventListener("animationend",i),t.removeEventListener("transitionend",i);}};t.addEventListener("animationend",i),t.addEventListener("transitionend",i);},Dd=(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();});},Ws=e=>{let t=Je();if(t||new Z,t=Je(),!t)return;const n=ei();Oa()?Nt(Xs()):zv(t,e),At(n),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus();},zv=(e,t)=>{const n=tr(),o=ei();!n||!o||(!t&&on(eo())&&(t=eo()),At(n),t&&(Nt(t),o.setAttribute("data-button-to-replace",t.className),n.insertBefore(o,t)),Qe([e,n],H.loading));},Hv=(e,t)=>{t.input==="select"||t.input==="radio"?Gv(e,t):["text","email","number","tel","textarea"].some(n=>n===t.input)&&(rc(t.inputValue)||ac(t.inputValue))&&(Ws(eo()),Jv(e,t));},Vv=(e,t)=>{const n=e.getInput();if(!n)return null;switch(t.input){case "checkbox":return qv(n);case "radio":return Wv(n);case "file":return Kv(n);default:return t.inputAutoTrim?n.value.trim():n.value}},qv=e=>e.checked?1:0,Wv=e=>e.checked?e.value:null,Kv=e=>e.files&&e.files.length?e.getAttribute("multiple")!==null?e.files:e.files[0]:null,Gv=(e,t)=>{const n=Je();if(!n)return;const o=s=>{t.input==="select"?Yv(n,Xr(s),t):t.input==="radio"&&Qv(n,Xr(s),t);};rc(t.inputOptions)||ac(t.inputOptions)?(Ws(eo()),Zi(t.inputOptions).then(s=>{e.hideLoading(),o(s);})):typeof t.inputOptions=="object"?o(t.inputOptions):ys(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof t.inputOptions}`);},Jv=(e,t)=>{const n=e.getInput();n&&(Nt(n),Zi(t.inputValue).then(o=>{n.value=t.input==="number"?`${parseFloat(o)||0}`:`${o}`,At(n),n.focus(),e.hideLoading();}).catch(o=>{ys(`Error in inputValue promise: ${o}`),n.value="",At(n),n.focus(),e.hideLoading();}));};function Yv(e,t,n){const o=Do(e,H.select);if(!o)return;const s=(i,r,a)=>{const l=document.createElement("option");l.value=a,wn(l,r),l.selected=_h(a,n.inputValue),i.appendChild(l);};t.forEach(i=>{const r=i[0],a=i[1];if(Array.isArray(a)){const l=document.createElement("optgroup");l.label=r,l.disabled=false,o.appendChild(l),a.forEach(c=>s(l,c[1],c[0]));}else s(o,a,r);}),o.focus();}function Qv(e,t,n){const o=Do(e,H.radio);if(!o)return;t.forEach(i=>{const r=i[0],a=i[1],l=document.createElement("input"),c=document.createElement("label");l.type="radio",l.name=H.radio,l.value=r,_h(r,n.inputValue)&&(l.checked=true);const u=document.createElement("span");wn(u,a),u.className=H.label,c.appendChild(l),c.appendChild(u),o.appendChild(c);});const s=o.querySelectorAll("input");s.length&&s[0].focus();}const Xr=e=>{const t=[];return e instanceof Map?e.forEach((n,o)=>{let s=n;typeof s=="object"&&(s=Xr(s)),t.push([o,s]);}):Object.keys(e).forEach(n=>{let o=e[n];typeof o=="object"&&(o=Xr(o)),t.push([n,o]);}),t},_h=(e,t)=>!!t&&t.toString()===e.toString(),Xv=e=>{const t=lt.innerParams.get(e);e.disableButtons(),t.input?Ch(e,"confirm"):bc(e,true);},Zv=e=>{const t=lt.innerParams.get(e);e.disableButtons(),t.returnInputValueOnDeny?Ch(e,"deny"):yc(e,false);},e1=(e,t)=>{e.disableButtons(),t(ti.cancel);},Ch=(e,t)=>{const n=lt.innerParams.get(e);if(!n.input){ys(`The "input" parameter is needed to be set when using returnInputValueOn${ic(t)}`);return}const o=e.getInput(),s=Vv(e,n);n.inputValidator?t1(e,s,t):o&&!o.checkValidity()?(e.enableButtons(),e.showValidationMessage(n.validationMessage||o.validationMessage)):t==="deny"?yc(e,s):bc(e,s);},t1=(e,t,n)=>{const o=lt.innerParams.get(e);e.disableInput(),Promise.resolve().then(()=>Zi(o.inputValidator(t,o.validationMessage))).then(i=>{e.enableButtons(),e.enableInput(),i?e.showValidationMessage(i):n==="deny"?yc(e,t):bc(e,t);});},yc=(e,t)=>{const n=lt.innerParams.get(e||void 0);n.showLoaderOnDeny&&Ws(bs()),n.preDeny?(e.isAwaitingPromise=true,Promise.resolve().then(()=>Zi(n.preDeny(t,n.validationMessage))).then(s=>{s===false?(e.hideLoading(),sr(e)):e.close({isDenied:true,value:typeof s>"u"?t:s});}).catch(s=>kh(e||void 0,s))):e.close({isDenied:true,value:t});},Ld=(e,t)=>{e.close({isConfirmed:true,value:t});},kh=(e,t)=>{e.rejectPromise(t);},bc=(e,t)=>{const n=lt.innerParams.get(e||void 0);n.showLoaderOnConfirm&&Ws(),n.preConfirm?(e.resetValidationMessage(),e.isAwaitingPromise=true,Promise.resolve().then(()=>Zi(n.preConfirm(t,n.validationMessage))).then(s=>{on(Ma())||s===false?(e.hideLoading(),sr(e)):Ld(e,typeof s>"u"?t:s);}).catch(s=>kh(e||void 0,s))):Ld(e,t);};function Zr(){const e=lt.innerParams.get(this);if(!e)return;const t=lt.domCache.get(this);Nt(t.loader),Oa()?e.icon&&At(Xs()):n1(t),En([t.popup,t.actions],H.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=false,t.denyButton.disabled=false,t.cancelButton.disabled=false;}const n1=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?At(t[0],"inline-block"):Pb()&&Nt(e.actions);};function Sh(){const e=lt.innerParams.get(this),t=lt.domCache.get(this);return t?Ra(t.popup,e.input):null}function $h(e,t,n){const o=lt.domCache.get(e);t.forEach(s=>{o[s].disabled=n;});}function Eh(e,t){const n=Je();if(!(!n||!e))if(e.type==="radio"){const o=n.querySelectorAll(`[name="${H.radio}"]`);for(let s=0;s<o.length;s++)o[s].disabled=t;}else e.disabled=t;}function Ah(){$h(this,["confirmButton","denyButton","cancelButton"],false);}function Ph(){$h(this,["confirmButton","denyButton","cancelButton"],true);}function Ih(){Eh(this.getInput(),false);}function Dh(){Eh(this.getInput(),true);}function Lh(e){const t=lt.domCache.get(this),n=lt.innerParams.get(this);wn(t.validationMessage,e),t.validationMessage.className=H["validation-message"],n.customClass&&n.customClass.validationMessage&&Qe(t.validationMessage,n.customClass.validationMessage),At(t.validationMessage);const o=this.getInput();o&&(o.setAttribute("aria-invalid","true"),o.setAttribute("aria-describedby",H["validation-message"]),sh(o),Qe(o,H.inputerror));}function Th(){const e=lt.domCache.get(this);e.validationMessage&&Nt(e.validationMessage);const t=this.getInput();t&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedby"),En(t,H.inputerror));}const Ds={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:"×",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},o1=["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"],s1={allowEnterKey:void 0},i1=["allowOutsideClick","allowEnterKey","backdrop","draggable","focusConfirm","focusDeny","focusCancel","returnFocus","heightAuto","keydownListenerCapture"],Mh=e=>Object.prototype.hasOwnProperty.call(Ds,e),Bh=e=>o1.indexOf(e)!==-1,Oh=e=>s1[e],r1=e=>{Mh(e)||Wt(`Unknown parameter "${e}"`);},a1=e=>{i1.includes(e)&&Wt(`The parameter "${e}" is incompatible with toasts`);},l1=e=>{const t=Oh(e);t&&eh(e,t);},Rh=e=>{e.backdrop===false&&e.allowOutsideClick&&Wt('"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)&&Wt(`Invalid theme "${e.theme}"`);for(const t in e)r1(t),e.toast&&a1(t),l1(t);};function Fh(e){const t=Gt(),n=Je(),o=lt.innerParams.get(this);if(!n||go(n,o.hideClass.popup)){Wt("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 s=u1(e),i=Object.assign({},o,s);Rh(i),t.dataset.swal2Theme=i.theme,hh(this,i),lt.innerParams.set(this,i),Object.defineProperties(this,{params:{value:Object.assign({},this.params,e),writable:false,enumerable:true}});}const u1=e=>{const t={};return Object.keys(e).forEach(n=>{Bh(n)?t[n]=e[n]:Wt(`Invalid parameter to update: ${n}`);}),t};function Nh(){const e=lt.domCache.get(this),t=lt.innerParams.get(this);if(!t){Uh(this);return}e.popup&&Ie.swalCloseEventFinishedCallback&&(Ie.swalCloseEventFinishedCallback(),delete Ie.swalCloseEventFinishedCallback),typeof t.didDestroy=="function"&&t.didDestroy(),Ie.eventEmitter.emit("didDestroy"),c1(this);}const c1=e=>{Uh(e),delete e.params,delete Ie.keydownHandler,delete Ie.keydownTarget,delete Ie.currentInstance;},Uh=e=>{e.isAwaitingPromise?(kl(lt,e),e.isAwaitingPromise=true):(kl(qs,e),kl(lt,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);},kl=(e,t)=>{for(const n in e)e[n].delete(t);};var d1=Object.freeze({__proto__:null,_destroy:Nh,close:Lo,closeModal:Lo,closePopup:Lo,closeToast:Lo,disableButtons:Ph,disableInput:Dh,disableLoading:Zr,enableButtons:Ah,enableInput:Ih,getInput:Sh,handleAwaitingPromise:sr,hideLoading:Zr,rejectPromise:xh,resetValidationMessage:Th,showValidationMessage:Lh,update:Fh});const f1=(e,t,n)=>{e.toast?p1(e,t,n):(m1(t),g1(t),w1(e,t,n));},p1=(e,t,n)=>{t.popup.onclick=()=>{e&&(h1(e)||e.timer||e.input)||n(ti.close);};},h1=e=>!!(e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton);let ea=false;const m1=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=()=>{},t.target===e.container&&(ea=true);};};},g1=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))&&(ea=true);};};},w1=(e,t,n)=>{t.container.onclick=o=>{if(ea){ea=false;return}o.target===t.container&&Ta(e.allowOutsideClick)&&n(ti.backdrop);};},y1=e=>typeof e=="object"&&e.jquery,Td=e=>e instanceof Element||y1(e),b1=e=>{const t={};return typeof e[0]=="object"&&!Td(e[0])?Object.assign(t,e[0]):["title","html","icon"].forEach((n,o)=>{const s=e[o];typeof s=="string"||Td(s)?t[n]=s:s!==void 0&&ys(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof s}`);}),t};function v1(...e){return new this(...e)}function x1(e){class t extends this{_main(o,s){return super._main(o,Object.assign({},e,s))}}return t}const _1=()=>Ie.timeout&&Ie.timeout.getTimerLeft(),jh=()=>{if(Ie.timeout)return Db(),Ie.timeout.stop()},zh=()=>{if(Ie.timeout){const e=Ie.timeout.start();return hc(e),e}},C1=()=>{const e=Ie.timeout;return e&&(e.running?jh():zh())},k1=e=>{if(Ie.timeout){const t=Ie.timeout.increase(e);return hc(t,true),t}},S1=()=>!!(Ie.timeout&&Ie.timeout.isRunning());let Md=false;const au={};function $1(e="data-swal-template"){au[e]=this,Md||(document.body.addEventListener("click",E1),Md=true);}const E1=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const n in au){const o=t.getAttribute(n);if(o){au[n].fire({template:o});return}}};class A1{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=(...s)=>{this.removeListener(t,o),n.apply(this,s);};this.on(t,o);}emit(t,...n){this._getHandlersByEventName(t).forEach(o=>{try{o.apply(this,n);}catch(s){console.error(s);}});}removeListener(t,n){const o=this._getHandlersByEventName(t),s=o.indexOf(n);s>-1&&o.splice(s,1);}removeAllListeners(t){this.events[t]!==void 0&&(this.events[t].length=0);}reset(){this.events={};}}Ie.eventEmitter=new A1;const P1=(e,t)=>{Ie.eventEmitter.on(e,t);},I1=(e,t)=>{Ie.eventEmitter.once(e,t);},D1=(e,t)=>{if(!e){Ie.eventEmitter.reset();return}t?Ie.eventEmitter.removeListener(e,t):Ie.eventEmitter.removeAllListeners(e);};var L1=Object.freeze({__proto__:null,argsToParams:b1,bindClickHandler:$1,clickCancel:bv,clickConfirm:mh,clickDeny:yv,enableLoading:Ws,fire:v1,getActions:tr,getCancelButton:Zs,getCloseButton:cc,getConfirmButton:eo,getContainer:Gt,getDenyButton:bs,getFocusableElements:dc,getFooter:oh,getHtmlContainer:lc,getIcon:Xs,getIconContent:kb,getImage:nh,getInputLabel:Sb,getLoader:ei,getPopup:Je,getProgressSteps:uc,getTimerLeft:_1,getTimerProgressBar:Ba,getTitle:th,getValidationMessage:Ma,increaseTimer:k1,isDeprecatedParameter:Oh,isLoading:Eb,isTimerRunning:S1,isUpdatableParameter:Bh,isValidParameter:Mh,isVisible:wv,mixin:x1,off:D1,on:P1,once:I1,resumeTimer:zh,showLoading:Ws,stopTimer:jh,toggleTimer:C1});class T1{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 Hh=["swal-title","swal-html","swal-footer"],M1=e=>{const t=typeof e.template=="string"?document.querySelector(e.template):e.template;if(!t)return {};const n=t.content;return z1(n),Object.assign(B1(n),O1(n),R1(n),F1(n),N1(n),U1(n),j1(n,Hh))},B1=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach(o=>{cs(o,["name","value"]);const s=o.getAttribute("name"),i=o.getAttribute("value");!s||!i||(typeof Ds[s]=="boolean"?t[s]=i!=="false":typeof Ds[s]=="object"?t[s]=JSON.parse(i):t[s]=i);}),t},O1=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach(o=>{const s=o.getAttribute("name"),i=o.getAttribute("value");!s||!i||(t[s]=new Function(`return ${i}`)());}),t},R1=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach(o=>{cs(o,["type","color","aria-label"]);const s=o.getAttribute("type");!s||!["confirm","cancel","deny"].includes(s)||(t[`${s}ButtonText`]=o.innerHTML,t[`show${ic(s)}Button`]=true,o.hasAttribute("color")&&(t[`${s}ButtonColor`]=o.getAttribute("color")),o.hasAttribute("aria-label")&&(t[`${s}ButtonAriaLabel`]=o.getAttribute("aria-label")));}),t},F1=e=>{const t={},n=e.querySelector("swal-image");return n&&(cs(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},N1=e=>{const t={},n=e.querySelector("swal-icon");return n&&(cs(n,["type","color"]),n.hasAttribute("type")&&(t.icon=n.getAttribute("type")),n.hasAttribute("color")&&(t.iconColor=n.getAttribute("color")),t.iconHtml=n.innerHTML),t},U1=e=>{const t={},n=e.querySelector("swal-input");n&&(cs(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(s=>{cs(s,["value"]);const i=s.getAttribute("value");if(!i)return;const r=s.innerHTML;t.inputOptions[i]=r;})),t},j1=(e,t)=>{const n={};for(const o in t){const s=t[o],i=e.querySelector(s);i&&(cs(i,[]),n[s.replace(/^swal-/,"")]=i.innerHTML.trim());}return n},z1=e=>{const t=Hh.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)||Wt(`Unrecognized element <${o}>`);});},cs=(e,t)=>{Array.from(e.attributes).forEach(n=>{t.indexOf(n.name)===-1&&Wt([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`,`${t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element."}`]);});},Vh=10,H1=e=>{const t=Gt(),n=Je();typeof e.willOpen=="function"&&e.willOpen(n),Ie.eventEmitter.emit("willOpen",n);const s=window.getComputedStyle(document.body).overflowY;W1(t,n,e),setTimeout(()=>{V1(t,n);},Vh),fc()&&(q1(t,e.scrollbarPadding,s),Ev()),!Oa()&&!Ie.previousActiveElement&&(Ie.previousActiveElement=document.activeElement),typeof e.didOpen=="function"&&setTimeout(()=>e.didOpen(n)),Ie.eventEmitter.emit("didOpen",n),En(t,H["no-transition"]);},ta=e=>{const t=Je();if(e.target!==t)return;const n=Gt();t.removeEventListener("animationend",ta),t.removeEventListener("transitionend",ta),n.style.overflowY="auto";},V1=(e,t)=>{rh(t)?(e.style.overflowY="hidden",t.addEventListener("animationend",ta),t.addEventListener("transitionend",ta)):e.style.overflowY="auto";},q1=(e,t,n)=>{Av(),t&&n!=="hidden"&&Bv(n),setTimeout(()=>{e.scrollTop=0;});},W1=(e,t,n)=>{Qe(e,n.showClass.backdrop),n.animation?(t.style.setProperty("opacity","0","important"),At(t,"grid"),setTimeout(()=>{Qe(t,n.showClass.popup),t.style.removeProperty("opacity");},Vh)):At(t,"grid"),Qe([document.documentElement,document.body],H.shown),n.heightAuto&&n.backdrop&&!n.toast&&Qe([document.documentElement,document.body],H["height-auto"]);};var Bd={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 K1(e){e.inputValidator||(e.input==="email"&&(e.inputValidator=Bd.email),e.input==="url"&&(e.inputValidator=Bd.url));}function G1(e){(!e.target||typeof e.target=="string"&&!document.querySelector(e.target)||typeof e.target!="string"&&!e.target.appendChild)&&(Wt('Target parameter is not valid, defaulting to "body"'),e.target="body");}function J1(e){K1(e),e.showLoaderOnConfirm&&!e.preConfirm&&Wt(`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`),G1(e),typeof e.title=="string"&&(e.title=e.title.split(`
`).join("<br />")),Nb(e);}let qn;var Cr=new WeakMap;class xt{constructor(...t){if(gb(this,Cr,void 0),typeof window>"u")return;qn=this;const n=Object.freeze(this.constructor.argsToParams(t));this.params=n,this.isAwaitingPromise=false,wb(Cr,this,this._main(qn.params));}_main(t,n={}){if(Rh(Object.assign({},n,t)),Ie.currentInstance){const i=qs.swalPromiseResolve.get(Ie.currentInstance),{isAwaitingPromise:r}=Ie.currentInstance;Ie.currentInstance._destroy(),r||i({isDismissed:true}),fc()&&yh();}Ie.currentInstance=qn;const o=Q1(t,n);J1(o),Object.freeze(o),Ie.timeout&&(Ie.timeout.stop(),delete Ie.timeout),clearTimeout(Ie.restoreFocusTimeout);const s=X1(qn);return hh(qn,o),lt.innerParams.set(qn,o),Y1(qn,s,o)}then(t){return Sd(Cr,this).then(t)}finally(t){return Sd(Cr,this).finally(t)}}const Y1=(e,t,n)=>new Promise((o,s)=>{const i=r=>{e.close({isDismissed:true,dismiss:r});};qs.swalPromiseResolve.set(e,o),qs.swalPromiseReject.set(e,s),t.confirmButton.onclick=()=>{Xv(e);},t.denyButton.onclick=()=>{Zv(e);},t.cancelButton.onclick=()=>{e1(e,i);},t.closeButton.onclick=()=>{i(ti.close);},f1(n,t,i),vv(Ie,n,i),Hv(e,n),H1(n),Z1(Ie,n,i),e0(t,n),setTimeout(()=>{t.container.scrollTop=0;});}),Q1=(e,t)=>{const n=M1(e),o=Object.assign({},Ds,t,n,e);return o.showClass=Object.assign({},Ds.showClass,o.showClass),o.hideClass=Object.assign({},Ds.hideClass,o.hideClass),o.animation===false&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},X1=e=>{const t={popup:Je(),container:Gt(),actions:tr(),confirmButton:eo(),denyButton:bs(),cancelButton:Zs(),loader:ei(),closeButton:cc(),validationMessage:Ma(),progressSteps:uc()};return lt.domCache.set(e,t),t},Z1=(e,t,n)=>{const o=Ba();Nt(o),t.timer&&(e.timeout=new T1(()=>{n("timer"),delete e.timeout;},t.timer),t.timerProgressBar&&(At(o),hn(o,t,"timerProgressBar"),setTimeout(()=>{e.timeout&&e.timeout.running&&hc(t.timer);})));},e0=(e,t)=>{if(!t.toast){if(!Ta(t.allowEnterKey)){eh("allowEnterKey"),o0();return}t0(e)||n0(e,t)||ru(-1,1);}},t0=e=>{const t=Array.from(e.popup.querySelectorAll("[autofocus]"));for(const n of t)if(n instanceof HTMLElement&&on(n))return n.focus(),true;return false},n0=(e,t)=>t.focusDeny&&on(e.denyButton)?(e.denyButton.focus(),true):t.focusCancel&&on(e.cancelButton)?(e.cancelButton.focus(),true):t.focusConfirm&&on(e.confirmButton)?(e.confirmButton.focus(),true):false,o0=()=>{document.activeElement instanceof HTMLElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur();};xt.prototype.disableButtons=Ph;xt.prototype.enableButtons=Ah;xt.prototype.getInput=Sh;xt.prototype.disableInput=Dh;xt.prototype.enableInput=Ih;xt.prototype.hideLoading=Zr;xt.prototype.disableLoading=Zr;xt.prototype.showValidationMessage=Lh;xt.prototype.resetValidationMessage=Th;xt.prototype.close=Lo;xt.prototype.closePopup=Lo;xt.prototype.closeModal=Lo;xt.prototype.closeToast=Lo;xt.prototype.rejectPromise=xh;xt.prototype.update=Fh;xt.prototype._destroy=Nh;Object.assign(xt,L1);Object.keys(d1).forEach(e=>{xt[e]=function(...t){return qn&&qn[e]?qn[e](...t):null};});xt.DismissReason=ti;xt.version="11.22.4";const Z=xt;Z.default=Z;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 qh=mt.clouddrive;var To=(e=>(e.windows="windows",e.macos="macos",e.linux="linux",e.android="android",e))(To||{}),ds=(e=>(e.unknown="unknown",e.classic="classic",e.modern="modern",e))(ds||{}),No=(e=>(e.play="play",e.download="download",e))(No||{});function vc(e){return {active:false,url:"http://localhost:19798",root:"/115",memo:"",platform:void 0,ver_lt_0816:false,...e}}async function Wh(){const e=[vc()],t=await Xe.get(qh,e);return t||e}async function Od(e){e.some(t=>t.active)||(e[0].active=true),await Xe.set(qh,e);}async function Jt(){return (await Wh()).find(t=>t.active)||vc()}function s0(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 i0(e){prompt("请复制以下内容:",e);}function r0(e=navigator.userAgent){return e.indexOf("Safari")>-1&&e.indexOf("Chrome")<=-1}function gt(e){const t=()=>{s0(e)||(r0()?i0(e):Oy(e,"text/plain"));};navigator.clipboard?navigator.clipboard.writeText(e).then(()=>{}).catch(n=>{console.warn("[copyToClipboard] navigator.clipboard",n),t();}):t();}function Fa(e="",t=""){return e+Date.now().toString()+Math.random().toString(36).substring(5)+t}function a0(e,t="NFD"){return e.normalize(t)}function l0(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Kh(e,t){return e=e.replace(/^[\/]+/g,""),"/"+e}function Gh(e){return e.startsWith("file://")}function u0(e){switch(e){case To.windows:return ["/","\\",":","*","?",'"',"<",">","|"];case To.macos:return ["/",":"];case To.linux:case To.android:return ["/","\0"];default:return ["/","\0"]}}function ln(e,t,n=true){const o=u0(e.platform||To.linux);let s=Array.from(t).map(i=>{if(o.includes(i)){const r=i.charCodeAt(0)+65248;return String.fromCharCode(r)}else return i==="\r"||i===`
`?" ":i}).join("");for(;s.endsWith(".")||s.endsWith(" ");)s.endsWith(".")?s=s.replace(/\.+$/,""):s=s.replace(/\s+$/,"");return n&&(s=xc(e,s)),s}async function Ks(e,t,n=No.play,o=true,s=""){Array.isArray(t)?t=[...t].map(f=>ln(e,f,true)).join("/"):t=xc(e,t);let{url:i,root:r}=e;if(!i)throw new Error("未设置CloudDrive地址!");(i.startsWith("/")||i.startsWith("\\"))&&(i=`file:///${i}`),Gh(i);const a=/^https?:\/\//.test(i);if(a&&!r)throw new Error("当协议为http/https时,必须设置CloudDrive资源根路径!");r&&(r=r.replace(/^(\/+)?/g,"/")),t=t.replace(/^(\/+)?/g,"/");const l=`${r}${t}`,c=n===No.play?"True":"False";let u="";return i=i.replace(/\/+$/,""),a?u=`${i}/static/${i.replace("://","/")}/${c}/${encodeURIComponent(l)}`:u=`${i}${l}`,s&&(u+=s),o&&(u+="?check_expire=True"),console.log("[Cloud115 Enhancer] buildCloudDriveUrl",u),u}async function lu(e,t,n=true){let{url:o,root:s}=e;if(!o)throw new Error("未设置CloudDrive地址!");return Gh(o)?await Ks(e,t,No.play,n):await Ks(e,t,No.play,n,".clfsplaylist.m3u")}async function c0(e,t,n=ds.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=xc(e,t),n===ds.modern?`${o}/?page=files&path=${encodeURIComponent(t)}`:`${o}/#${t}?a=1`}function xc(e,t){return e.platform===To.macos?a0(t,e.ver_lt_0816?"NFD":"NFC"):t}const Ls=Z.mixin({toast:true,position:"top-end",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:e=>{e.addEventListener("mouseenter",Z.stopTimer),e.addEventListener("mouseleave",Z.resumeTimer);},customClass:{popup:"swal-toast"}});async function d0(e,t){e.addEventListener("keydown",n=>{const o=n.target;if(!jp(o))return;let s=false;n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(s=true),s&&Z.clickConfirm();});}async function ee(e){return Z.fire({toast:true,position:"top-right",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:t=>{t.addEventListener("mouseenter",Z.stopTimer),t.addEventListener("mouseleave",Z.resumeTimer);},...e})}async function f0(e,t,n=false){const o=new Map;if(!e.length)return o;t=t||await Jt();let s=new Map;n||(ee({text:"正在获取上级目录路径...",timer:0}),Z.showLoading());try{s=await N0(e),n||Z.close();}catch(i){return console.error(i),n||ee({text:`获取上级目录路径失败: ${i}`,timer:1200,icon:"error"}),o}finally{n||Z.hideLoading();}if(s.size===0)return o;for(let i=0;i<e.length;i++){const r=s.get(e[i].parentId)?.slice(1).join("/"),a=e[i].name,l=Kh(r+"/"+a),c=e[i].isFile?await Ks(t,l,No.play):await lu(t,l);o.set(l,c);}return console.log("[buildCloudDriveUrlsForFileItems] pathToUrl:",o),o}async function p0(e,t,n=false){return new Promise(async(o,s)=>{const i=await Ks(e,t,void 0,n);Ea({method:"HEAD",url:i,onload:r=>o(r.status===200),onerror:r=>s(r)});})}async function h0(e,t,n,o,s){const r=`waitFileExist_${Fa()} path: ${t}`;console.time(r);async function a(l){const c=await p0(e,t,n);c&&l(c);}try{await qo(a,o,s);}catch{throw new Error(`[waitFileExist] 检查文件存在超时!文件路径: ${t}`)}finally{console.timeEnd(r);}}function m0(e){return new Promise((t,n)=>{Ea({method:"HEAD",url:e.url,onload:o=>{parseInt(o.responseHeaders.match(/Content-Length:\s*(\d+)/i)?.[1]||"0")<5e3?t(ds.classic):t(ds.modern);},onerror:o=>{n(new Error(`获取CloudDrive页面版本失败: ${o.statusText}`));}});})}async function g0(e){let t=`#EXTM3U
`;for(const[n,o]of e)t+=`#EXTINF:0,${n}
${o}
`;return t}var Mo=(e=>(e.unix="/",e.windows="\\",e))(Mo||{});function na(e,t="/"){return e.map((n,o)=>o===0?n:Na(n,t)).join(t)}function Na(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 w0(e){return e.startsWith("/")}function y0(e){return e===""||e==="/"||e==="\\"}function uu(e,t,n="/"){if(w0(t))return t;const o=new URL(e,"http://example.com");o.pathname=b0(o.pathname,t);let s=decodeURIComponent(o.pathname);return Na(s,n)}function b0(e,t){const n=e.endsWith("/")?e:e+"/",o=t.startsWith("/")?t.slice(1):t;return n+o}function Jh(e,t=/^\w+$/){const n=e.lastIndexOf(".");if(n===-1)return "";const o=e.slice(n+1);return t&&!t.test(o)?"":o}function _c(e){return JSON.parse(JSON.stringify(e))}function v0(e){return Object.prototype.toString.call(e)==="[object Object]"}function Rd(e){return v0(e)&&!Array.isArray(e)}function Cc(...e){const t={};for(const n of e)for(const o in n)Object.prototype.hasOwnProperty.call(n,o)&&(Rd(n[o])&&Rd(t[o])?t[o]=Cc(t[o],n[o]):t[o]=n[o]);return t}function x0(e){const t=new Map;for(const[n,o]of e)t.set(o,n);return t}function Ua(e){const t=new URLSearchParams;let n;for(n in e)t.append(n,e[n].toString());return t.toString()}function _0(e,t=false){const n=[];for(const o in e){let s=e[o].toString();s=t?encodeURIComponent(s):s,n.push(`${o}=${s}`);}return n.join("&")}function C0(e){const t=new FormData;let n;for(n in e)t.append(n,e[n].toString());return t}const Yh=mt.anxia;var ja=(e=>(e.anxia="v.anxia.com",e.vod="115vod.com",e))(ja||{});const Qh={"3G":"标清",SD:"高清",HD:"超清",UD:"1080P",BD:"4K",YH:"原画"};function k0(e){return {defaultWebFull:false,defaultOpenPlayList:false,defaultDefinition:"",...e}}async function Xh(){const e=k0(),t=await Xe.get(Yh,e);return {...e,...t}}async function S0(e){await Xe.set(Yh,e);}function $0(e){return `code=${e.code} ${e.message}`}async function un(e=true){const t=Pt();let n=t.GetCurWangPanCid?t.GetCurWangPanCid():"";return n===0&&(n="0"),n==="0"&&e?(t.Core.MinMessage.Show({text:'不支持"根目录"!',timeout:1e3}),""):n}function E0(e={}){return {move:true,rename:true,delete:true,more:true,classList:"ce-temp-item",...e}}async function A0(e,t,n={}){const o=!t.sha1,s=o?"":Jh(t.file_name),i=o?"folder":s.toLowerCase(),r=o?"文件夹":s.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>`:"",w=[];n.setTop&&w.push(`<a href="javascript:;" menu="setTop" rel="setTop">
<i class="icon-operate ifo-filesettop" menu="setTop"></i>
<span menu="setTop">置顶</span>
</a>`),n.move&&w.push(`<a href="javascript:;" menu="move">
<i class="icon-operate ifo-move" menu="move"></i>
<span menu="move">移动</span>
</a>`),n.rename&&w.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&&w.push(`<a href="javascript:;" menu="delete">
<i class="icon-operate ifo-remove" menu="delete"></i>
<span menu="delete">删除</span>
</a>`);const g=[`<div class="file-name-wrap">
<i class="file-type tp-${i}" 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">
${w.join(`
`)}
</div>`],b=`
<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>
${g.join(`
`)}
</li>
`;l=$(b);}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,shared:t.is_share,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:s,sha1:t.sha1};for(let f in u)l.attr(f,u[f]);return l}function An(e){const t=kc(e);return vs(t)}function kc(e){e instanceof HTMLElement&&(e=$(e));const t=e.attr("file_size"),n=e.attr("iv")==="1",o=ko(),s=e.attr("file_id")||"",i=!!s,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:s,cid:(i?e.attr("cid"):e.attr("cate_id"))||"",pid:i?"":e.attr("p_id")||"",...l};else if(c={fid:s,cid:(i?e.attr("cid"):e.attr("cate_id"))||"",...l},!i){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 _o(e){const t=L0(e);return Zh(t)}function Zh(e){const t=[];for(let n=0;n<e.length;n++){const o=vs(e[n]);t.push(o);}return t}function vs(e){const t=!!e.fid,n={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,isVideo:e.iv===true||e.iv?.toString()==="1",pickCode:e.pc,playDuration:e.play_long};return typeof e.s=="number"?n.sizeBytes=e.s:typeof e.s=="string"&&/^\d+$/.test(e.s)&&(n.sizeBytes=parseInt(e.s)),n.sizeDesc=Vs(n.sizeBytes||0),n}function Pt(){return unsafeWindow.TOP?unsafeWindow.TOP:unsafeWindow}function P0(){return unsafeWindow.top===unsafeWindow?unsafeWindow.Ext:unsafeWindow.top.Ext}async function I0(){const e=await un();return D0(e,E0({classList:"ce-temp-cur-dir"}))}async function D0(e,t={}){const n=await Tt(e);return await A0(e,n,t)}function ir(){return window.top!==window?$(document):$('iframe[name="wangpan"], .wrap-view iframe:eq(0)').contents()}function ni(){return ir().find(".list-contents, .list-thumb")}function em(e){const t=ni();return e?t.find("li.selected:not(.ce-temp-cur-dir)"):t.find("li:not(.ce-temp-cur-dir)")}function L0(e){const t=em(e),n=[];for(let o=0;o<t.length;o++){const s=t.eq(o),i=kc(s);n.push(i);}return n}function cu(e="/"){const t=T0();return e+t.slice(1).join(e)}function T0(){const e=ir(),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}async function M0(){const e=await un();ni().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 Co(e=false,t=0){const n=await un();if(!n)return null;const o=ni(),s=await I0();return e||s.hide(),o.find(`li[cate_id="${n}"]`).length||o.append(s),t>0&&setTimeout(()=>{s.remove();},t),s}async function B0(e,t,n){await M0(),Pt().Core.FileMenu.DoEvent([e],t,null);}function O0(e,t=""){return `https://115.com/?ct=preview&ac=location&pickcode=${e}&sha1=${t}`}function Jn(e){return `https://115.com/?${new URLSearchParams({cid:e}).toString()}&offset=0&mode=wangpan`}function yn(e=location.href){return e.includes("ac=userfile")}function ko(e=location.href){return e.includes("ac=search")}function du(e=location.href){return /(115|anxia|115cdn)\.com\/s\/\w+/.test(e)||/share\.115\.com/.test(e)}function tm(e,t=""){const n={aid:"1",cid:e.cid||"",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(`/?${_0(n)}`)+"&submode=wangpan&mode=search"}function nm(e,t=ja.vod){const n=new URLSearchParams({pickcode:e,share_id:"0"});return `https://${t}/?${n.toString()}`}function Sc(e){return /^https?:\/\//.test(e)&&(e=new URL(e).host),Object.values(ja).includes(e)}async function om(e){unsafeWindow.Main.ReInstance({type:e.type,offset:0,o:Vp.userPtime,asc:La.false,star:e.star,suffix:e.suffix});}function R0(){return ni().find("li.selected")}function F0(){const e=R0();return e?kc(e):null}const Sl=new Map;async function za(e,t=false){const n=e.name;if(t&&e.parentId&&Sl.has(e.parentId)){const i=Sl.get(e.parentId);if(i)return [...i,n]}const s=(await Tt(e.id)).paths.slice(1).map(i=>i.file_name);return e.parentId&&Sl.set(e.parentId,s),[...s,n]}async function N0(e,t=100){const n=new Map;for(const i of e){const r=i.parentId;if(!r)throw new Error(`文件"${i.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(i):n.set(r,[i]);}const o=[];for(const i of n.values())o.push(i[0]);const s=new Map;for(const i of o){const r=await Tt(i.id);await an(t),s.set(i.parentId,r.paths.map(a=>a.file_name));}return s}async function U0(e,t=100){const n=new Map;for(const i of e){const r=i.parentId;if(!r)throw new Error(`文件"${i.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(i):n.set(r,[i]);}const o=[];for(const i of n.values())o.push(i[0]);const s=new Map;for(const i of o){const r=await Tt(i.id);await an(t),s.set(i.parentId,r.paths);}return s}async function j0(e,t){const n=new File([e],t.filename,{type:"text/plain"});return Z0(n,t)}async function z0(e,t,n){const o=await f0(e),s=await g0(o);n=n||Fa();let i=t;return /m3u8$/.test(n)||(n+=".m3u8"),await j0(s,{filename:n,target:i})}const $l=new Map;async function Ts(e,t=false){if(e=Na(e,Mo.unix),e=e.replace(/^[\/]+/,"").replace(/[\/]+$/,""),t&&$l.has(e))return $l.get(e);if(e===""||e==="/")return "0";const n=await K0(e);if(!n.state)throw new Error(`根据路径"${e}"获取目录ID失败: ${n.error}`);if(n.id&&n.id.toString()!=="0")return $l.set(e,n.id.toString()),n.id.toString();throw new sc(`根据路径"${e}"获取目录ID失败: 目录不存在!`)}async function H0(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(i=>i);let o="0",s="";for(const i of n){s+="/"+i;let r="";try{r=await Ts(s,!0),t.pathToId.set(s,r);}catch(a){if(a instanceof sc){const l=await am(o,i);if(!l.state)throw new Error(`创建目录"${i}"失败: ${l.errno} - ${l.error}`);r=l.cid.toString();}else throw a}o=r,t.pathToId.set(s,r);}return t.id=o,t}async function V0(e,t,n=true){let o="";const s=await am(t,e);if(s.state)o=s.cid.toString();else {if(s.errno===Gp.exist&&n){const i=await Tt(t);if(!i.pick_code)throw new Error(`获取目录"${t}"属性失败: ${i.errno} - ${i.error}`);const r=[...i.paths.slice(1).map(a=>a.file_name),i.file_name,e].join("/");return await Ts(r,true)}throw new Error(`创建目录"${e}"失败: ${s.errno} - ${s.error}`)}return o}async function sm(e,t,n){const o=new URLSearchParams({page:e.toString(),uid:n.toString(),sign:t,time:Hs().toString()});return (await Bt().post("https://115.com/web/lixian/?ct=lixian&ac=task_lists",o,{withCredentials:true,timeout:6e4})).data}async function im(){return (await Bt().get(`https://115.com/?ct=offline&ac=space&_=${Date.now()}`,{timeout:3e4,withCredentials:true})).data}async function rm(){const t=(await Bt().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)}async function $c(e){const t=Ua(e),o=(await Bt().get("https://webapi.115.com/files?"+t,{timeout:12e4,withCredentials:true})).data;if(o.state)return o;throw new Error(o.error)}async function Ms(e,t=50){let n=[],o=0;for(;;){e.offset=o;const s=await $c(e);if(!s.data||!s.data.length||(s.count>s.data.length&&e.limit!==s.data.length&&(console.warn(`[getFilesList] invalid limit(${e.limit}) detected! max limit is ${s.page_size}, correct it now!`),e.limit=s.page_size),n=[...n,...s.data],o+=e.limit,o>=s.count))break;await an(t);}return n}async function q0(e){const t=Ua(e),n=await Bt().get("https://webapi.115.com/files/search?"+t,{timeout:12e4,withCredentials:true});if(n.data==="")throw new Kp;const o=n.data;if(o.state)return o;throw new oc(o.error)}async function W0(e,t=200,n=false){let o=[],s=0,i=e.limit;const r=1e4,a=115,l=r-r%i;let c=i;for(;;){if(n){if(s>=l&&s<r){const f=r-l;c=Math.min(f,c);}s>=r&&(c=a);}e.offset=s,e.limit=c;const u=await q0(e);if(!u.data||!u.data.length||(o=[...o,...u.data],s+=c,s>=u.count))break;await an(t);}return o}async function Ec(e,t){const n=new URLSearchParams({pid:e,ignore_warn:"1"});return t.forEach((s,i)=>{n.append(`fid[${i}]`,s);}),(await Bt().post("https://webapi.115.com/rb/delete",n,{timeout:12e4,withCredentials:true})).data}async function El(e,t,n=1150,o=1e3){let s=0,i=0;for(;;){const r=t.slice(s,s+n);if((await Ec(e,r)).state&&(i+=r.length),s+=n,s>=t.length)break;await an(o);}return i}async function am(e,t){const n=new URLSearchParams({pid:e,cname:t});return (await Bt().post("https://webapi.115.com/files/add",n,{timeout:12e4,withCredentials:true})).data}async function lm(e,t){const n=new URLSearchParams({pid:e});return t.forEach((s,i)=>{n.append(`fid[${i}]`,s);}),(await Bt().post("https://webapi.115.com/files/move",n,{timeout:12e4,withCredentials:true})).data}async function K0(e){const t={path:e};return (await Bt().get("https://webapi.115.com/files/getid?"+Ua(t),{timeout:12e4,withCredentials:true})).data}async function Tt(e){const t=new URLSearchParams({cid:e});return (await Bt().get("https://webapi.115.com/category/get?"+t.toString(),{timeout:12e4,withCredentials:true})).data}async function fu(e,t,n,o){const s={uid:o.toString(),sign:t.sign,time:Hs().toString()};n&&(s.flag="1");const i=C0(s);return e.forEach((a,l)=>{i.append(`hash[${l}]`,a);}),(await Bt().post("https://115.com/web/lixian/?ct=lixian&ac=task_del",i,{timeout:12e4,withCredentials:true})).data}async function G0(e){return new Promise((t,n)=>{const o=JSON.stringify({pickcode:e}),s=Math.floor(Date.now()).toString(),i=new pb,{data:r,key:a}=i.encode(o,s);Ea({method:"POST",url:`https://proapi.115.com/app/chrome/downurl?t=${s}`,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=i.decode(c.data,a);if(u){const f=JSON.parse(u),p=Object.keys(f)[0],w=f[p];w.file_id=p;const g=l.responseHeaders.split(/[\r\n]+/).filter(b=>b.match(/set-cookie/i));g.length&&(g.forEach((b,x)=>{g[x]=b.replace(/set-cookie:[\s]*/i,"").split(";")[0];}),w.cookie=g.join("; ")),t(w);}else n({state:false,error:"解密失败"});}else n(c);},onerror:l=>{n(l);}});})}async function J0(e){if(!(await Tt(e)).play_long)throw new Error("该目录下没有可以播放的媒体文件![by_attr]");const o=(await Ms(mo({cid:e,limit:1150}))).find(s=>s.play_long&&s.play_long>0);if(!o)throw new Error("该目录下没有可以播放的媒体文件![by_files]");return vs(o)}async function Y0(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 Bt().post("https://webapi.115.com/files/export_dir",n,{timeout:12e4,withCredentials:true})).data}async function Q0(e,t=1e3,n=12e4){const o=new URLSearchParams({export_id:e.toString()}),s=async()=>(await Bt().get("https://webapi.115.com/files/export_dir?"+o.toString(),{timeout:12e4,withCredentials:true})).data;async function i(r){const a=await s();a.data&&a.data.pick_code&&r(a);}try{return await qo(i,t,n)}catch(r){throw new Error(`导出目录树结果获取失败:${r.message}`)}}async function X0(e){/^\d+$/.test(e.target)&&(e.target=`U_1_${e.target}`);const t=Ua(e);return (await Bt().post("https://uplb.115.com/3.0/sampleinitupload.php",t,{timeout:12e4,withCredentials:true})).data}async function Z0(e,t){const n=await X0(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 s=n.host.replace(/^http:/,"https:");return (await Bt().post(s,o,{timeout:18e5})).data}const Ac=typeof Buffer=="function";typeof TextDecoder=="function"&&new TextDecoder;const Fd=typeof TextEncoder=="function"?new TextEncoder:void 0,ex="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",hi=Array.prototype.slice.call(ex);(e=>{let t={};return e.forEach((n,o)=>t[n]=o),t})(hi);const Hn=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,s,i="";const r=e.length%3;for(let a=0;a<e.length;){if((n=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(s=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=n<<16|o<<8|s,i+=hi[t>>18&63]+hi[t>>12&63]+hi[t>>6&63]+hi[t&63];}return r?i.slice(0,r-3)+"===".substring(r):i},um=typeof btoa=="function"?e=>btoa(e):Ac?e=>Buffer.from(e,"binary").toString("base64"):nx,ox=Ac?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let o=0,s=e.length;o<s;o+=4096)n.push(Hn.apply(null,e.subarray(o,o+4096)));return um(n.join(""))},sx=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Hn(192|t>>>6)+Hn(128|t&63):Hn(224|t>>>12&15)+Hn(128|t>>>6&63)+Hn(128|t&63)}else {var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Hn(240|t>>>18&7)+Hn(128|t>>>12&63)+Hn(128|t>>>6&63)+Hn(128|t&63)}},ix=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,rx=e=>e.replace(ix,sx),Nd=Ac?e=>Buffer.from(e,"utf8").toString("base64"):Fd?e=>ox(Fd.encode(e)):e=>um(rx(e)),Ud=(e,t=false)=>t?tx(Nd(e)):Nd(e);var Pc=(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))(Pc||{});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 cm=(e=>(e.first="first",e.last="last",e))(cm||{});function lx(e,t,n){const{names:o,position:s}=t;let i=[];return s==="first"?i=[...o,...e]:i=[...e,...o],n?Array.from(new Set(i)):i}async function Li(e,t,n,o,s=false){let i=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=i.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],w=f.replace(/[{}]/g,"").replace(/^[^:]+:/,"");let g=e[r[p]]?.toString()||"",b="",x=[];switch(u.includes(p)&&(x=await za(e),s&&(x=x.map(A=>ln(n,A,true))),b=x.join("/")),p){case "pure_name":a?g=e.name.replace(/\.[^.]+$/,""):g=e.name;break;case "file_path":g=b;break;case "file_dir":g=b.replace(/\/[^/]+$/,"");break;case "clouddrive_stream_url":a?g=await Ks(n,x,No.download):g=await lu(n,x);break;case "clouddrive_down_url":g=await Ks(n,x,No.download);break;case "clouddrive_playlist_url":let A=[];a?A=x.slice(0,-1):A=x,g=await lu(n,A);break;case "user_agent":g=navigator.userAgent;break}if(g=g.toString(),w){let A=w.split(":");o&&(A=lx(A,o,false)),console.log(`[buildCustomUrl] functions: ${w}, after merge: ${A.join(":")}`);for(const T of A)switch(T){case "search":g=tm({search_value:g});break;case "encode":g=encodeURIComponent(g);break;case "base64":g=Ud(g);break;case "base64safe":g=Ud(g,true);break;case "upper":g=g.toUpperCase();break;case "lower":g=g.toLowerCase();break;case "number":g=g.replace(/\D/g,"");break;case "manual":g=await ux(g);break}}i=i.replace(f,g);}}return t.mutation?await cx(i,e,t,n):i}async function ux(e){let{isConfirmed:t,value:n}=await Z.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=>{Hy(o),d0(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 to=(e=>(e.search="search",e.play="play",e))(to||{});const dx=mt.menuCustomUrlsForSearch,fx=mt.menuCustomUrlsForPlay,dm={search:dx,play:fx};async function xs(e){return await Xe.get(dm[e],[])}async function fm(e,t){await Xe.set(dm[e],t);}function Ct(e){return {enabled:true,key:"",label:"",icon:"",memo:"",extraMemo:"",url:"",openInBackground:false,...e}}const pm=mt.enabledCustomUrlsForSearch,hm=mt.enabledCustomUrlsForPlay;async function px(e){await Xe.set(pm,e);}async function hx(e){await Xe.set(hm,e);}async function mx(){const e=hu,t=e.filter(s=>s.enabled).map(s=>s.key),n=await Xe.get(pm,t),o=[];return e.forEach(s=>{n.includes(s.key)&&o.push(s.key);}),o}async function gx(){const e=pu,t=e.filter(s=>s.enabled).map(s=>s.key),n=await Xe.get(hm,t),o=[];return e.forEach(s=>{n.includes(s.key)&&o.push(s.key);}),o}async function rr(){const e=await mx();return hu.forEach(t=>{t.enabled=e.includes(t.key);}),hu}async function mm(){const e=await gx();return pu.forEach(t=>{t.enabled=e.includes(t.key);}),pu}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",zd="https://nplayer.com/assets/img/logo_main.png",pu=[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:zd,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:zd,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+"脚本进行小窗口播放',extraMemo:'<a href="https://greasyfork.org/zh-CN/scripts/495474" target="_blank" rel="noreferer">安装"115+"脚本</a>'})],hu=[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",ar="s_builtin_115_pure_name";var Al,Hd;function bx(){return Hd||(Hd=1,Al=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'!")}}),Al}var Pl,Vd;function vx(){return Vd||(Vd=1,Pl=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;}}),Pl}var Il,qd;function Ic(){return qd||(qd=1,Il=class{constructor(t,n,o,s){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof n>"u"?0:n,this.consumedPoints=typeof o>"u"?0:o,this.isFirstInDuration=typeof s>"u"?false:s;}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()}}),Il}var Dl,Wd;function xx(){if(Wd)return Dl;Wd=1;const e=vx(),t=Ic();return Dl=class{constructor(){this._storage={};}incrby(o,s,i){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+s,new t(0,r,this._storage[o].value,false)):this.set(o,s,i)}return this.set(o,s,i)}set(o,s,i){const r=i*1e3;return this._storage[o]&&this._storage[o].timeoutId&&clearTimeout(this._storage[o].timeoutId),this._storage[o]=new e(s,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 s=this._storage[o].expiresAt?this._storage[o].expiresAt.getTime()-new Date().getTime():-1;return new t(0,s,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}},Dl}var Ll,Kd;function _x(){if(Kd)return Ll;Kd=1;const e=bx(),t=xx(),n=Ic();class o extends e{constructor(i={}){super(i),this._memoryStorage=new t;}consume(i,r=1,a={}){return new Promise((l,c)=>{const u=this.getKey(i),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 w=Math.ceil(p.msBeforeNext/(p.remainingPoints+2));w<this.execEvenlyMinDelayMs&&(w=p.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(l,w,p);}else l(p);})}penalty(i,r=1,a={}){const l=this.getKey(i);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(i,r=1,a={}){const l=this.getKey(i);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(i,r){const a=r*1e3,l=this.points+1;return this._memoryStorage.set(this.getKey(i),l,r),Promise.resolve(new n(0,a===0?-1:a,l))}set(i,r,a){const l=(a>=0?a:this.duration)*1e3;return this._memoryStorage.set(this.getKey(i),r,a),Promise.resolve(new n(0,l===0?-1:l,r))}get(i){const r=this._memoryStorage.get(this.getKey(i));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(i){return Promise.resolve(this._memoryStorage.delete(this.getKey(i)))}}return Ll=o,Ll}var Tl,Gd;function Cx(){if(Gd)return Tl;Gd=1;const e=_x(),t=Ic();return Tl={RateLimiterMemory:e,RateLimiterRes:t},Tl}var Ti=Cx();/**
* @vue/shared v3.5.18
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**//*! #__NO_SIDE_EFFECTS__ */function Dc(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const st={},Bs=[],Yn=()=>{},kx=()=>false,Ha=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Lc=e=>e.startsWith("onUpdate:"),Ut=Object.assign,Tc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1);},Sx=Object.prototype.hasOwnProperty,Ze=(e,t)=>Sx.call(e,t),$e=Array.isArray,Os=e=>lr(e)==="[object Map]",oi=e=>lr(e)==="[object Set]",Jd=e=>lr(e)==="[object Date]",Be=e=>typeof e=="function",wt=e=>typeof e=="string",Fn=e=>typeof e=="symbol",rt=e=>e!==null&&typeof e=="object",Mc=e=>(rt(e)||Be(e))&&Be(e.then)&&Be(e.catch),gm=Object.prototype.toString,lr=e=>gm.call(e),$x=e=>lr(e).slice(8,-1),wm=e=>lr(e)==="[object Object]",Bc=e=>wt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yi=Dc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Va=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ex=/-(\w)/g,Pn=Va(e=>e.replace(Ex,(t,n)=>n?n.toUpperCase():"")),Ax=/\B([A-Z])/g,Wo=Va(e=>e.replace(Ax,"-$1").toLowerCase()),qa=Va(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ml=Va(e=>e?`on${qa(e)}`:""),Bo=(e,t)=>!Object.is(e,t),Rr=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t);},mu=(e,t,n,o=false)=>{Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:o,value:n});},oa=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 Yd;const Wa=()=>Yd||(Yd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Qn(e){if($e(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],s=wt(o)?Tx(o):Qn(o);if(s)for(const i in s)t[i]=s[i];}return t}else if(wt(e)||rt(e))return e}const Ix=/;(?![^(]*\))/g,Dx=/:([^]+)/,Lx=/\/\*[^]*?\*\//g;function Tx(e){const t={};return e.replace(Lx,"").split(Ix).forEach(n=>{if(n){const o=n.split(Dx);o.length>1&&(t[o[0].trim()]=o[1].trim());}}),t}function Le(e){let t="";if(wt(e))t=e;else if($e(e))for(let n=0;n<e.length;n++){const o=Le(e[n]);o&&(t+=o+" ");}else if(rt(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=Le(t)),n&&(e.style=Qn(n)),e}const Bx="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Ox=Dc(Bx);function ym(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=fs(e[o],t[o]);return n}function fs(e,t){if(e===t)return true;let n=Jd(e),o=Jd(t);if(n||o)return n&&o?e.getTime()===t.getTime():false;if(n=Fn(e),o=Fn(t),n||o)return e===t;if(n=$e(e),o=$e(t),n||o)return n&&o?Rx(e,t):false;if(n=rt(e),o=rt(t),n||o){if(!n||!o)return false;const s=Object.keys(e).length,i=Object.keys(t).length;if(s!==i)return false;for(const r in e){const a=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(a&&!l||!a&&l||!fs(e[r],t[r]))return false}}return String(e)===String(t)}function Oc(e,t){return e.findIndex(n=>fs(n,t))}const bm=e=>!!(e&&e.__v_isRef===true),O=e=>wt(e)?e:e==null?"":$e(e)||rt(e)&&(e.toString===gm||!Be(e.toString))?bm(e)?O(e.value):JSON.stringify(e,vm,2):String(e),vm=(e,t)=>bm(t)?vm(e,t.value):Os(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],i)=>(n[Bl(o,i)+" =>"]=s,n),{})}:oi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Bl(n))}:Fn(t)?Bl(t):rt(t)&&!$e(t)&&!wm(t)?String(t):t,Bl=(e,t="")=>{var n;return Fn(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 Zt;class Fx{constructor(t=false){this.detached=t,this._active=true,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=false,this.parent=Zt,!t&&Zt&&(this.index=(Zt.scopes||(Zt.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=Zt;try{return Zt=this,t()}finally{Zt=n;}}}on(){++this._on===1&&(this.prevScope=Zt,Zt=this);}off(){this._on>0&&--this._on===0&&(Zt=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 s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index);}this.parent=void 0;}}}function Nx(){return Zt}let at;const Ol=new WeakSet;class xm{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,Zt&&Zt.active&&Zt.effects.push(this);}pause(){this.flags|=64;}resume(){this.flags&64&&(this.flags&=-65,Ol.has(this)&&(Ol.delete(this),this.trigger()));}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Cm(this);}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Qd(this),km(this);const t=at,n=On;at=this,On=true;try{return this.fn()}finally{Sm(this),at=t,On=n,this.flags&=-3;}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Nc(t);this.deps=this.depsTail=void 0,Qd(this),this.onStop&&this.onStop(),this.flags&=-2;}}trigger(){this.flags&64?Ol.add(this):this.scheduler?this.scheduler():this.runIfDirty();}runIfDirty(){gu(this)&&this.run();}get dirty(){return gu(this)}}let _m=0,bi,vi;function Cm(e,t=false){if(e.flags|=8,t){e.next=vi,vi=e;return}e.next=bi,bi=e;}function Rc(){_m++;}function Fc(){if(--_m>0)return;if(vi){let t=vi;for(vi=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n;}}let e;for(;bi;){let t=bi;for(bi=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 km(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t;}function Sm(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),Nc(o),Ux(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s;}e.deps=t,e.depsTail=n;}function gu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&($m(t.dep.computed)||t.dep.version!==t.version))return true;return !!e._dirty}function $m(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mi)||(e.globalVersion=Mi,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!gu(e))))return;e.flags|=2;const t=e.dep,n=at,o=On;at=e,On=true;try{km(e);const s=e.fn(e._value);(t.version===0||Bo(s,e._value))&&(e.flags|=128,e._value=s,t.version++);}catch(s){throw t.version++,s}finally{at=n,On=o,Sm(e),e.flags&=-3;}}function Nc(e,t=false){const{dep:n,prevSub:o,nextSub:s}=e;if(o&&(o.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Nc(i,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 On=true;const Em=[];function yo(){Em.push(On),On=false;}function bo(){const e=Em.pop();On=e===void 0?true:e;}function Qd(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=at;at=void 0;try{t();}finally{at=n;}}}let Mi=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 Uc{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||!On||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,Am(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++,Mi++,this.notify(t);}notify(t){Rc();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify();}finally{Fc();}}}function Am(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)Am(o);}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e;}}const sa=new WeakMap,rs=Symbol(""),wu=Symbol(""),Bi=Symbol("");function Ot(e,t,n){if(On&&at){let o=sa.get(e);o||sa.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new Uc),s.map=o,s.key=n),s.track();}}function uo(e,t,n,o,s,i){const r=sa.get(e);if(!r){Mi++;return}const a=l=>{l&&l.trigger();};if(Rc(),t==="clear")r.forEach(a);else {const l=$e(e),c=l&&Bc(n);if(l&&n==="length"){const u=Number(o);r.forEach((f,p)=>{(p==="length"||p===Bi||!Fn(p)&&p>=u)&&a(f);});}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),c&&a(r.get(Bi)),t){case "add":l?c&&a(r.get("length")):(a(r.get(rs)),Os(e)&&a(r.get(wu)));break;case "delete":l||(a(r.get(rs)),Os(e)&&a(r.get(wu)));break;case "set":Os(e)&&a(r.get(rs));break}}Fc();}function zx(e,t){const n=sa.get(e);return n&&n.get(t)}function $s(e){const t=Ye(e);return t===e?t:(Ot(t,"iterate",Bi),Sn(e)?t:t.map(Dt))}function Ka(e){return Ot(e=Ye(e),"iterate",Bi),e}const Hx={__proto__:null,[Symbol.iterator](){return Rl(this,Symbol.iterator,Dt)},concat(...e){return $s(this).concat(...e.map(t=>$e(t)?$s(t):t))},entries(){return Rl(this,"entries",e=>(e[1]=Dt(e[1]),e))},every(e,t){return ao(this,"every",e,t,void 0,arguments)},filter(e,t){return ao(this,"filter",e,t,n=>n.map(Dt),arguments)},find(e,t){return ao(this,"find",e,t,Dt,arguments)},findIndex(e,t){return ao(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ao(this,"findLast",e,t,Dt,arguments)},findLastIndex(e,t){return ao(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ao(this,"forEach",e,t,void 0,arguments)},includes(...e){return Fl(this,"includes",e)},indexOf(...e){return Fl(this,"indexOf",e)},join(e){return $s(this).join(e)},lastIndexOf(...e){return Fl(this,"lastIndexOf",e)},map(e,t){return ao(this,"map",e,t,void 0,arguments)},pop(){return ci(this,"pop")},push(...e){return ci(this,"push",e)},reduce(e,...t){return Xd(this,"reduce",e,t)},reduceRight(e,...t){return Xd(this,"reduceRight",e,t)},shift(){return ci(this,"shift")},some(e,t){return ao(this,"some",e,t,void 0,arguments)},splice(...e){return ci(this,"splice",e)},toReversed(){return $s(this).toReversed()},toSorted(e){return $s(this).toSorted(e)},toSpliced(...e){return $s(this).toSpliced(...e)},unshift(...e){return ci(this,"unshift",e)},values(){return Rl(this,"values",Dt)}};function Rl(e,t,n){const o=Ka(e),s=o[t]();return o!==e&&!Sn(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.value&&(i.value=n(i.value)),i}),s}const Vx=Array.prototype;function ao(e,t,n,o,s,i){const r=Ka(e),a=r!==e&&!Sn(e),l=r[t];if(l!==Vx[t]){const f=l.apply(e,i);return a?Dt(f):f}let c=n;r!==e&&(a?c=function(f,p){return n.call(this,Dt(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&&s?s(u):u}function Xd(e,t,n,o){const s=Ka(e);let i=n;return s!==e&&(Sn(e)?n.length>3&&(i=function(r,a,l){return n.call(this,r,a,l,e)}):i=function(r,a,l){return n.call(this,r,Dt(a),l,e)}),s[t](i,...o)}function Fl(e,t,n){const o=Ye(e);Ot(o,"iterate",Bi);const s=o[t](...n);return (s===-1||s===false)&&Hc(n[0])?(n[0]=Ye(n[0]),o[t](...n)):s}function ci(e,t,n=[]){yo(),Rc();const o=Ye(e)[t].apply(e,n);return Fc(),bo(),o}const qx=Dc("__proto__,__v_isRef,__isVue"),Pm=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Fn));function Wx(e){Fn(e)||(e=String(e));const t=Ye(this);return Ot(t,"has",e),t.hasOwnProperty(e)}class Im{constructor(t=false,n=false){this._isReadonly=t,this._isShallow=n;}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return !s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return o===(s?i?n_:Mm:i?Tm:Lm).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=$e(t);if(!s){let l;if(r&&(l=Hx[n]))return l;if(n==="hasOwnProperty")return Wx}const a=Reflect.get(t,n,Et(t)?t:o);return (Fn(n)?Pm.has(n):qx(n))||(s||Ot(t,"get",n),i)?a:Et(a)?r&&Bc(n)?a:a.value:rt(a)?s?Bm(a):Ga(a):a}}class Dm extends Im{constructor(t=false){super(false,t);}set(t,n,o,s){let i=t[n];if(!this._isShallow){const l=Uo(i);if(!Sn(o)&&!Uo(o)&&(i=Ye(i),o=Ye(o)),!$e(t)&&Et(i)&&!Et(o))return l?false:(i.value=o,true)}const r=$e(t)&&Bc(n)?Number(n)<t.length:Ze(t,n),a=Reflect.set(t,n,o,Et(t)?t:s);return t===Ye(s)&&(r?Bo(o,i)&&uo(t,"set",n,o):uo(t,"add",n,o)),a}deleteProperty(t,n){const o=Ze(t,n);t[n];const s=Reflect.deleteProperty(t,n);return s&&o&&uo(t,"delete",n,void 0),s}has(t,n){const o=Reflect.has(t,n);return (!Fn(n)||!Pm.has(n))&&Ot(t,"has",n),o}ownKeys(t){return Ot(t,"iterate",$e(t)?"length":rs),Reflect.ownKeys(t)}}class Kx extends Im{constructor(t=false){super(true,t);}set(t,n){return true}deleteProperty(t,n){return true}}const Gx=new Dm,Jx=new Kx,Yx=new Dm(true);const yu=e=>e,kr=e=>Reflect.getPrototypeOf(e);function Qx(e,t,n){return function(...o){const s=this.__v_raw,i=Ye(s),r=Os(i),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=s[e](...o),u=n?yu:t?ia:Dt;return !t&&Ot(i,"iterate",l?wu:rs),{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 Sr(e){return function(...t){return e==="delete"?false:e==="clear"?void 0:this}}function Xx(e,t){const n={get(s){const i=this.__v_raw,r=Ye(i),a=Ye(s);e||(Bo(s,a)&&Ot(r,"get",s),Ot(r,"get",a));const{has:l}=kr(r),c=t?yu:e?ia:Dt;if(l.call(r,s))return c(i.get(s));if(l.call(r,a))return c(i.get(a));i!==r&&i.get(s);},get size(){const s=this.__v_raw;return !e&&Ot(Ye(s),"iterate",rs),Reflect.get(s,"size",s)},has(s){const i=this.__v_raw,r=Ye(i),a=Ye(s);return e||(Bo(s,a)&&Ot(r,"has",s),Ot(r,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const r=this,a=r.__v_raw,l=Ye(a),c=t?yu:e?ia:Dt;return !e&&Ot(l,"iterate",rs),a.forEach((u,f)=>s.call(i,c(u),c(f),r))}};return Ut(n,e?{add:Sr("add"),set:Sr("set"),delete:Sr("delete"),clear:Sr("clear")}:{add(s){!t&&!Sn(s)&&!Uo(s)&&(s=Ye(s));const i=Ye(this);return kr(i).has.call(i,s)||(i.add(s),uo(i,"add",s,s)),this},set(s,i){!t&&!Sn(i)&&!Uo(i)&&(i=Ye(i));const r=Ye(this),{has:a,get:l}=kr(r);let c=a.call(r,s);c||(s=Ye(s),c=a.call(r,s));const u=l.call(r,s);return r.set(s,i),c?Bo(i,u)&&uo(r,"set",s,i):uo(r,"add",s,i),this},delete(s){const i=Ye(this),{has:r,get:a}=kr(i);let l=r.call(i,s);l||(s=Ye(s),l=r.call(i,s)),a&&a.call(i,s);const c=i.delete(s);return l&&uo(i,"delete",s,void 0),c},clear(){const s=Ye(this),i=s.size!==0,r=s.clear();return i&&uo(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Qx(s,e,t);}),n}function jc(e,t){const n=Xx(e,t);return (o,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(Ze(n,s)&&s in o?n:o,s,i)}const Zx={get:jc(false,false)},e_={get:jc(false,true)},t_={get:jc(true,false)};const Lm=new WeakMap,Tm=new WeakMap,Mm=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 s_(e){return e.__v_skip||!Object.isExtensible(e)?0:o_($x(e))}function Ga(e){return Uo(e)?e:zc(e,false,Gx,Zx,Lm)}function i_(e){return zc(e,false,Yx,e_,Tm)}function Bm(e){return zc(e,true,Jx,t_,Mm)}function zc(e,t,n,o,s){if(!rt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=s_(e);if(i===0)return e;const r=s.get(e);if(r)return r;const a=new Proxy(e,i===2?o:n);return s.set(e,a),a}function Rs(e){return Uo(e)?Rs(e.__v_raw):!!(e&&e.__v_isReactive)}function Uo(e){return !!(e&&e.__v_isReadonly)}function Sn(e){return !!(e&&e.__v_isShallow)}function Hc(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)&&mu(e,"__v_skip",true),e}const Dt=e=>rt(e)?Ga(e):e,ia=e=>rt(e)?Bm(e):e;function Et(e){return e?e.__v_isRef===true:false}function V(e){return a_(e,false)}function a_(e,t){return Et(e)?e:new l_(e,t)}class l_{constructor(t,n){this.dep=new Uc,this.__v_isRef=true,this.__v_isShallow=false,this._rawValue=n?t:Ye(t),this._value=n?t:Dt(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)||Uo(t);t=o?t:Ye(t),Bo(t,n)&&(this._rawValue=t,this._value=o?t:Dt(t),this.dep.trigger());}}function te(e){return Et(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 s=e[t];return Et(s)&&!Et(n)?(s.value=n,true):Reflect.set(e,t,n,o)}};function Om(e){return Rs(e)?e:new Proxy(e,u_)}function c_(e){const t=$e(e)?new Array(e.length):{};for(const n in e)t[n]=Rm(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 Et(e)?e:Be(e)?new f_(e):rt(e)&&arguments.length>1?Rm(e,t,n):V(e)}function Rm(e,t,n){const o=e[t];return Et(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 Uc(this),this.__v_isRef=true,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mi-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 Cm(this,true),true}get value(){const t=this.dep.track();return $m(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,s;return Be(e)?o=e:(o=e.get,s=e.set),new h_(o,s,n)}const $r={},ra=new WeakMap;let Zo;function g_(e,t=false,n=Zo){if(n){let o=ra.get(n);o||ra.set(n,o=[]),o.push(e);}}function w_(e,t,n=st){const{immediate:o,deep:s,once:i,scheduler:r,augmentJob:a,call:l}=n,c=I=>s?I:Sn(I)||s===false||s===0?co(I,1):co(I);let u,f,p,w,g=false,b=false;if(Et(e)?(f=()=>e.value,g=Sn(e)):Rs(e)?(f=()=>c(e),g=true):$e(e)?(b=true,g=e.some(I=>Rs(I)||Sn(I)),f=()=>e.map(I=>{if(Et(I))return I.value;if(Rs(I))return c(I);if(Be(I))return l?l(I,2):I()})):Be(e)?t?f=l?()=>l(e,2):e:f=()=>{if(p){yo();try{p();}finally{bo();}}const I=Zo;Zo=u;try{return l?l(e,3,[w]):e(w)}finally{Zo=I;}}:f=Yn,t&&s){const I=f,B=s===true?1/0:s;f=()=>co(I(),B);}const x=Nx(),A=()=>{u.stop(),x&&x.active&&Tc(x.effects,u);};if(i&&t){const I=t;t=(...B)=>{I(...B),A();};}let T=b?new Array(e.length).fill($r):$r;const D=I=>{if(!(!(u.flags&1)||!u.dirty&&!I))if(t){const B=u.run();if(s||g||(b?B.some((q,z)=>Bo(q,T[z])):Bo(B,T))){p&&p();const q=Zo;Zo=u;try{const z=[B,T===$r?void 0:b&&T[0]===$r?[]:T,w];T=B,l?l(t,3,z):t(...z);}finally{Zo=q;}}}else u.run();};return a&&a(D),u=new xm(f),u.scheduler=r?()=>r(D,false):D,w=I=>g_(I,false,u),p=u.onStop=()=>{const I=ra.get(u);if(I){if(l)l(I,4);else for(const B of I)B();ra.delete(u);}},t?o?D(true):T=u.run():r?r(D.bind(null,true),true):u.run(),A.pause=u.pause.bind(u),A.resume=u.resume.bind(u),A.stop=A,A}function co(e,t=1/0,n){if(t<=0||!rt(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Et(e))co(e.value,t,n);else if($e(e))for(let o=0;o<e.length;o++)co(e[o],t,n);else if(oi(e)||Os(e))e.forEach(o=>{co(o,t,n);});else if(wm(e)){for(const o in e)co(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&co(e[o],t,n);}return e}/**
* @vue/runtime-core v3.5.18
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function ur(e,t,n,o){try{return o?e(...o):e()}catch(s){cr(s,t,n);}}function no(e,t,n,o){if(Be(e)){const s=ur(e,t,n,o);return s&&Mc(s)&&s.catch(i=>{cr(i,t,n);}),s}if($e(e)){const s=[];for(let i=0;i<e.length;i++)s.push(no(e[i],t,n,o));return s}}function cr(e,t,n,o=true){const s=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||st;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(i){yo(),ur(i,null,10,[e,l,c]),bo();return}}y_(e,n,s,o,r);}function y_(e,t,n,o=true,s=false){if(s)throw e;console.error(e);}const Ht=[];let Vn=-1;const Fs=[];let Ao=null,Ps=0;const Fm=Promise.resolve();let aa=null;function ps(e){const t=aa||Fm;return e?t.then(this?e.bind(this):e):t}function b_(e){let t=Vn+1,n=Ht.length;for(;t<n;){const o=t+n>>>1,s=Ht[o],i=Oi(s);i<e||i===e&&s.flags&2?t=o+1:n=o;}return t}function Vc(e){if(!(e.flags&1)){const t=Oi(e),n=Ht[Ht.length-1];!n||!(e.flags&2)&&t>=Oi(n)?Ht.push(e):Ht.splice(b_(t),0,e),e.flags|=1,Nm();}}function Nm(){aa||(aa=Fm.then(jm));}function bu(e){$e(e)?Fs.push(...e):Ao&&e.id===-1?Ao.splice(Ps+1,0,e):e.flags&1||(Fs.push(e),e.flags|=1),Nm();}function Zd(e,t,n=Vn+1){for(;n<Ht.length;n++){const o=Ht[n];if(o&&o.flags&2){if(e&&o.id!==e.uid)continue;Ht.splice(n,1),n--,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2);}}}function Um(e){if(Fs.length){const t=[...new Set(Fs)].sort((n,o)=>Oi(n)-Oi(o));if(Fs.length=0,Ao){Ao.push(...t);return}for(Ao=t,Ps=0;Ps<Ao.length;Ps++){const n=Ao[Ps];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2;}Ao=null,Ps=0;}}const Oi=e=>e.id==null?e.flags&2?-1:1/0:e.id;function jm(e){try{for(Vn=0;Vn<Ht.length;Vn++){const t=Ht[Vn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),ur(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2));}}finally{for(;Vn<Ht.length;Vn++){const t=Ht[Vn];t&&(t.flags&=-2);}Vn=-1,Ht.length=0,Um(),aa=null,(Ht.length||Fs.length)&&jm();}}let Lt=null,Ja=null;function la(e){const t=Lt;return Lt=e,Ja=e&&e.type.__scopeId||null,t}function v_(e){Ja=e;}function x_(){Ja=null;}const __=e=>ge;function ge(e,t=Lt,n){if(!t||e._n)return e;const o=(...s)=>{o._d&&df(-1);const i=la(t);let r;try{r=e(...s);}finally{la(i),o._d&&df(1);}return r};return o._n=true,o._c=true,o._d=true,o}function G(e,t){if(Lt===null)return e;const n=Za(Lt),o=e.dirs||(e.dirs=[]);for(let s=0;s<t.length;s++){let[i,r,a,l=st]=t[s];i&&(Be(i)&&(i={mounted:i,updated:i}),i.deep&&co(r),o.push({dir:i,instance:n,value:r,oldValue:void 0,arg:a,modifiers:l}));}return e}function Yo(e,t,n,o){const s=e.dirs,i=t&&t.dirs;for(let r=0;r<s.length;r++){const a=s[r];i&&(a.oldValue=i[r].value);let l=a.dir[o];l&&(yo(),no(l,n,8,[e.el,a,e,t]),bo());}}const C_=Symbol("_vte"),k_=e=>e.__isTeleport;function qc(e,t){e.shapeFlag&6&&e.component?(e.transition=t,qc(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 Be(e)?Ut({name:e.name},t,{setup:e}):e}function zm(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0];}function xi(e,t,n,o,s=false){if($e(e)){e.forEach((g,b)=>xi(g,t&&($e(t)?t[b]:t),n,o,s));return}if(Ns(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&xi(e,t,n,o.component.subTree);return}const i=o.shapeFlag&4?Za(o.component):o.el,r=s?null:i,{i:a,r:l}=e,c=t&&t.r,u=a.refs===st?a.refs={}:a.refs,f=a.setupState,p=Ye(f),w=f===st?()=>false:g=>Ze(p,g);if(c!=null&&c!==l&&(wt(c)?(u[c]=null,w(c)&&(f[c]=null)):Et(c)&&(c.value=null)),Be(l))ur(l,a,12,[r,u]);else {const g=wt(l),b=Et(l);if(g||b){const x=()=>{if(e.f){const A=g?w(l)?f[l]:u[l]:l.value;s?$e(A)&&Tc(A,i):$e(A)?A.includes(i)||A.push(i):g?(u[l]=[i],w(l)&&(f[l]=u[l])):(l.value=[i],e.k&&(u[e.k]=l.value));}else g?(u[l]=r,w(l)&&(f[l]=r)):b&&(l.value=r,e.k&&(u[e.k]=r));};r?(x.id=-1,fn(x,n)):x();}}}Wa().requestIdleCallback;Wa().cancelIdleCallback;const Ns=e=>!!e.type.__asyncLoader,Hm=e=>e.type.__isKeepAlive;function S_(e,t){Vm(e,"a",t);}function $_(e,t){Vm(e,"da",t);}function Vm(e,t,n=Rt){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent;}return e()});if(Ya(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Hm(s.parent.vnode)&&E_(o,t,n,s),s=s.parent;}}function E_(e,t,n,o){const s=Ya(t,e,o,true);_s(()=>{Tc(o[t],s);},n);}function Ya(e,t,n=Rt,o=false){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{yo();const a=hs(n),l=no(t,n,e,r);return a(),bo(),l});return o?s.unshift(i):s.push(i),i}}const So=e=>(t,n=Rt)=>{(!Fi||e==="sp")&&Ya(e,(...o)=>t(...o),n);},kt=So("bm"),jt=So("m"),A_=So("bu"),P_=So("u"),qm=So("bum"),_s=So("um"),I_=So("sp"),D_=So("rtg"),L_=So("rtc");function T_(e,t=Rt){Ya("ec",e,t);}const Wc="components",M_="directives";function vo(e,t){return Kc(Wc,e,true,t)||e}const Wm=Symbol.for("v-ndc");function Dn(e){return wt(e)?Kc(Wc,e,false)||e:e||Wm}function B_(e){return Kc(M_,e)}function Kc(e,t,n=true,o=false){const s=Lt||Rt;if(s){const i=s.type;if(e===Wc){const a=SC(i,false);if(a&&(a===t||a===Pn(t)||a===qa(Pn(t))))return i}const r=ef(s[e]||i[e],t)||ef(s.appContext[e],t);return !r&&o?i:r}}function ef(e,t){return e&&(e[t]||e[Pn(t)]||e[qa(Pn(t))])}function ze(e,t,n,o){let s;const i=n,r=$e(e);if(r||wt(e)){const a=r&&Rs(e);let l=false,c=false;a&&(l=!Sn(e),c=Uo(e),e=Ka(e)),s=new Array(e.length);for(let u=0,f=e.length;u<f;u++)s[u]=t(l?c?ia(Dt(e[u])):Dt(e[u]):e[u],u,void 0,i);}else if(typeof e=="number"){s=new Array(e);for(let a=0;a<e;a++)s[a]=t(a+1,a,void 0,i);}else if(rt(e))if(e[Symbol.iterator])s=Array.from(e,(a,l)=>t(a,l,void 0,i));else {const a=Object.keys(e);s=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];s[l]=t(e[u],u,l,i);}}else s=[];return s}function O_(e,t){for(let n=0;n<t.length;n++){const o=t[n];if($e(o))for(let s=0;s<o.length;s++)e[o[s].name]=o[s].fn;else o&&(e[o.name]=o.key?(...s)=>{const i=o.fn(...s);return i&&(i.key=o.key),i}:o.fn);}return e}function Ge(e,t,n={},o,s){if(Lt.ce||Lt.parent&&Ns(Lt.parent)&&Lt.parent.ce)return t!=="default"&&(n.name=t),C(),et(Ae,null,[oe("slot",n,o&&o())],64);let i=e[t];i&&i._c&&(i._d=false),C();const r=i&&Km(i(n)),a=n.key||r&&r.key,l=et(Ae,{key:(a&&!Fn(a)?a:`_${t}`)+(!r&&o?"_fb":"")},r||(o?o():[]),r&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=true),l}function Km(e){return e.some(t=>Js(t)?!(t.type===Nn||t.type===Ae&&!Km(t.children)):true)?e:null}const vu=e=>e?bg(e)?Za(e):vu(e.parent):null,_i=Ut(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=>vu(e.parent),$root:e=>vu(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Jm(e),$forceUpdate:e=>e.f||(e.f=()=>{Vc(e.update);}),$nextTick:e=>e.n||(e.n=ps.bind(e.proxy)),$watch:e=>oC.bind(e)}),Nl=(e,t)=>e!==st&&!e.__isScriptSetup&&Ze(e,t),R_={get({_:e},t){if(t==="__v_skip")return true;const{ctx:n,setupState:o,data:s,props:i,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const w=r[t];if(w!==void 0)switch(w){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else {if(Nl(o,t))return r[t]=1,o[t];if(s!==st&&Ze(s,t))return r[t]=2,s[t];if((c=e.propsOptions[0])&&Ze(c,t))return r[t]=3,i[t];if(n!==st&&Ze(n,t))return r[t]=4,n[t];xu&&(r[t]=0);}}const u=_i[t];let f,p;if(u)return t==="$attrs"&&Ot(e.attrs,"get",""),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==st&&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:s,ctx:i}=e;return Nl(s,t)?(s[t]=n,true):o!==st&&Ze(o,t)?(o[t]=n,true):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?false:(i[t]=n,true)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:s,propsOptions:i}},r){let a;return !!n[r]||e!==st&&Ze(e,r)||Nl(t,r)||(a=i[0])&&Ze(a,r)||Ze(o,r)||Ze(_i,r)||Ze(s.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 tf(e){return $e(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Mt(e){const t=yg();let n=e();return $u(),Mc(n)&&(n=n.catch(o=>{throw hs(t),o})),[n,()=>hs(t)]}let xu=true;function F_(e){const t=Jm(e),n=e.proxy,o=e.ctx;xu=false,t.beforeCreate&&nf(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:w,updated:g,activated:b,deactivated:x,beforeDestroy:A,beforeUnmount:T,destroyed:D,unmounted:I,render:B,renderTracked:q,renderTriggered:z,errorCaptured:ue,serverPrefetch:me,expose:se,inheritAttrs:F,components:U,directives:Y,filters:le}=t;if(c&&N_(c,o,null),r)for(const _e in r){const Se=r[_e];Be(Se)&&(o[_e]=Se.bind(n));}if(s){const _e=s.call(n,n);rt(_e)&&(e.data=Ga(_e));}if(xu=true,i)for(const _e in i){const Se=i[_e],Ne=Be(Se)?Se.bind(n,n):Be(Se.get)?Se.get.bind(n,n):Yn,ut=!Be(Se)&&Be(Se.set)?Se.set.bind(n):Yn,we=Ke({get:Ne,set:ut});Object.defineProperty(o,_e,{enumerable:true,configurable:true,get:()=>we.value,set:L=>we.value=L});}if(a)for(const _e in a)Gm(a[_e],o,n,_e);if(l){const _e=Be(l)?l.call(n):l;Reflect.ownKeys(_e).forEach(Se=>{gi(Se,_e[Se]);});}u&&nf(u,e,"c");function ke(_e,Se){$e(Se)?Se.forEach(Ne=>_e(Ne.bind(n))):Se&&_e(Se.bind(n));}if(ke(kt,f),ke(jt,p),ke(A_,w),ke(P_,g),ke(S_,b),ke($_,x),ke(T_,ue),ke(L_,q),ke(D_,z),ke(qm,T),ke(_s,I),ke(I_,me),$e(se))if(se.length){const _e=e.exposed||(e.exposed={});se.forEach(Se=>{Object.defineProperty(_e,Se,{get:()=>n[Se],set:Ne=>n[Se]=Ne,enumerable:true});});}else e.exposed||(e.exposed={});B&&e.render===Yn&&(e.render=B),F!=null&&(e.inheritAttrs=F),U&&(e.components=U),Y&&(e.directives=Y),me&&zm(e);}function N_(e,t,n=Yn){$e(e)&&(e=_u(e));for(const o in e){const s=e[o];let i;rt(s)?"default"in s?i=Ci(s.from||o,s.default,true):i=Ci(s.from||o):i=Ci(s),Et(i)?Object.defineProperty(t,o,{enumerable:true,configurable:true,get:()=>i.value,set:r=>i.value=r}):t[o]=i;}}function nf(e,t,n){no($e(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n);}function Gm(e,t,n,o){let s=o.includes(".")?lg(n,o):()=>n[o];if(wt(e)){const i=t[e];Be(i)&&He(s,i);}else if(Be(e))He(s,e.bind(n));else if(rt(e))if($e(e))e.forEach(i=>Gm(i,t,n,o));else {const i=Be(e.handler)?e.handler.bind(n):t[e.handler];Be(i)&&He(s,i,e);}}function Jm(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,a=i.get(t);let l;return a?l=a:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(c=>ua(l,c,r,true)),ua(l,t,r)),rt(t)&&i.set(t,l),l}function ua(e,t,n,o=false){const{mixins:s,extends:i}=t;i&&ua(e,i,n,true),s&&s.forEach(r=>ua(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:of,props:sf,emits:sf,methods:mi,computed:mi,beforeCreate:zt,created:zt,beforeMount:zt,mounted:zt,beforeUpdate:zt,updated:zt,beforeDestroy:zt,beforeUnmount:zt,destroyed:zt,unmounted:zt,activated:zt,deactivated:zt,errorCaptured:zt,serverPrefetch:zt,components:mi,directives:mi,watch:z_,provide:of,inject:j_};function of(e,t){return t?e?function(){return Ut(Be(e)?e.call(this,this):e,Be(t)?t.call(this,this):t)}:t:e}function j_(e,t){return mi(_u(e),_u(t))}function _u(e){if($e(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function zt(e,t){return e?[...new Set([].concat(e,t))]:t}function mi(e,t){return e?Ut(Object.create(null),e,t):t}function sf(e,t){return e?$e(e)&&$e(t)?[...new Set([...e,...t])]:Ut(Object.create(null),tf(e),tf(t??{})):t}function z_(e,t){if(!e)return t;if(!t)return e;const n=Ut(Object.create(null),e);for(const o in t)n[o]=zt(e[o],t[o]);return n}function Ym(){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,s=null){Be(o)||(o=Ut({},o)),s!=null&&!rt(s)&&(s=null);const i=Ym(),r=new WeakSet,a=[];let l=false;const c=i.app={_uid:H_++,_component:o,_props:s,_container:null,_context:i,_instance:null,version:AC,get config(){return i.config},set config(u){},use(u,...f){return r.has(u)||(u&&Be(u.install)?(r.add(u),u.install(c,...f)):Be(u)&&(r.add(u),u(c,...f))),c},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),c},component(u,f){return f?(i.components[u]=f,c):i.components[u]},directive(u,f){return f?(i.directives[u]=f,c):i.directives[u]},mount(u,f,p){if(!l){const w=c._ceVNode||oe(o,s);return w.appContext=i,p===true?p="svg":p===false&&(p=void 0),e(w,u,p),l=true,c._container=u,u.__vue_app__=c,Za(w.component)}},onUnmount(u){a.push(u);},unmount(){l&&(no(a,c._instance,16),e(null,c._container),delete c._container.__vue_app__);},provide(u,f){return i.provides[u]=f,c},runWithContext(u){const f=Us;Us=c;try{return u()}finally{Us=f;}}};return c}}let Us=null;function gi(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 Ci(e,t,n=false){const o=yg();if(o||Us){let s=Us?Us._context.provides:o?o.parent==null||o.ce?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(s&&e in s)return s[e];if(arguments.length>1)return n&&Be(t)?t.call(o&&o.proxy):t}}const Qm={},Xm=()=>Object.create(Qm),Zm=e=>Object.getPrototypeOf(e)===Qm;function q_(e,t,n,o=false){const s={},i=Xm();e.propsDefaults=Object.create(null),eg(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);n?e.props=o?s:i_(s):e.type.props?e.props=s:e.props=i,e.attrs=i;}function W_(e,t,n,o){const{props:s,attrs:i,vnode:{patchFlag:r}}=e,a=Ye(s),[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(Qa(e.emitsOptions,p))continue;const w=t[p];if(l)if(Ze(i,p))w!==i[p]&&(i[p]=w,c=true);else {const g=Pn(p);s[g]=Cu(l,a,g,w,e,false);}else w!==i[p]&&(i[p]=w,c=true);}}}else {eg(e,t,s,i)&&(c=true);let u;for(const f in a)(!t||!Ze(t,f)&&((u=Wo(f))===f||!Ze(t,u)))&&(l?n&&(n[f]!==void 0||n[u]!==void 0)&&(s[f]=Cu(l,a,f,void 0,e,true)):delete s[f]);if(i!==a)for(const f in i)(!t||!Ze(t,f))&&(delete i[f],c=true);}c&&uo(e.attrs,"set","");}function eg(e,t,n,o){const[s,i]=e.propsOptions;let r=false,a;if(t)for(let l in t){if(yi(l))continue;const c=t[l];let u;s&&Ze(s,u=Pn(l))?!i||!i.includes(u)?n[u]=c:(a||(a={}))[u]=c:Qa(e.emitsOptions,l)||(!(l in o)||c!==o[l])&&(o[l]=c,r=true);}if(i){const l=Ye(n),c=a||st;for(let u=0;u<i.length;u++){const f=i[u];n[f]=Cu(s,l,f,c[f],e,!Ze(c,f));}}return r}function Cu(e,t,n,o,s,i){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&&Be(l)){const{propsDefaults:c}=s;if(n in c)o=c[n];else {const u=hs(s);o=c[n]=l.call(null,t),u();}}else o=l;s.ce&&s.ce._setProp(n,o);}r[0]&&(i&&!a?o=false:r[1]&&(o===""||o===Wo(n))&&(o=true));}return o}const K_=new WeakMap;function tg(e,t,n=false){const o=n?K_:t.propsCache,s=o.get(e);if(s)return s;const i=e.props,r={},a=[];let l=false;if(!Be(e)){const u=f=>{l=true;const[p,w]=tg(f,t,true);Ut(r,p),w&&a.push(...w);};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u);}if(!i&&!l)return rt(e)&&o.set(e,Bs),Bs;if($e(i))for(let u=0;u<i.length;u++){const f=Pn(i[u]);rf(f)&&(r[f]=st);}else if(i)for(const u in i){const f=Pn(u);if(rf(f)){const p=i[u],w=r[f]=$e(p)||Be(p)?{type:p}:Ut({},p),g=w.type;let b=false,x=true;if($e(g))for(let A=0;A<g.length;++A){const T=g[A],D=Be(T)&&T.name;if(D==="Boolean"){b=true;break}else D==="String"&&(x=false);}else b=Be(g)&&g.name==="Boolean";w[0]=b,w[1]=x,(b||Ze(w,"default"))&&a.push(f);}}const c=[r,a];return rt(e)&&o.set(e,c),c}function rf(e){return e[0]!=="$"&&!yi(e)}const Gc=e=>e==="_"||e==="__"||e==="_ctx"||e==="$stable",Jc=e=>$e(e)?e.map(Ln):[Ln(e)],G_=(e,t,n)=>{if(t._n)return t;const o=ge((...s)=>Jc(t(...s)),n);return o._c=false,o},ng=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Gc(s))continue;const i=e[s];if(Be(i))t[s]=G_(s,i,o);else if(i!=null){const r=Jc(i);t[s]=()=>r;}}},og=(e,t)=>{const n=Jc(t);e.slots.default=()=>n;},sg=(e,t,n)=>{for(const o in t)(n||!Gc(o))&&(e[o]=t[o]);},J_=(e,t,n)=>{const o=e.slots=Xm();if(e.vnode.shapeFlag&32){const s=t.__;s&&mu(o,"__",s,true);const i=t._;i?(sg(o,t,n),n&&mu(o,"_",i,true)):ng(t,o);}else t&&og(e,t);},Y_=(e,t,n)=>{const{vnode:o,slots:s}=e;let i=true,r=st;if(o.shapeFlag&32){const a=t._;a?n&&a===1?i=false:sg(s,t,n):(i=!t.$stable,ng(t,s)),r=t;}else t&&(og(e,t),r={default:1});if(i)for(const a in s)!Gc(a)&&r[a]==null&&delete s[a];},fn=mC;function Q_(e){return X_(e)}function X_(e,t){const n=Wa();n.__VUE__=true;const{insert:o,remove:s,patchProp:i,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:w=Yn,insertStaticContent:g}=e,b=(m,v,k,Q=null,N=null,K=null,de=void 0,ce=null,ae=!!v.dynamicChildren)=>{if(m===v)return;m&&!Io(m,v)&&(Q=Yt(m),L(m,N,K,true),m=null),v.patchFlag===-2&&(ae=false,v.dynamicChildren=null);const{type:ie,ref:Ce,shapeFlag:he}=v;switch(ie){case Xa:x(m,v,k,Q);break;case Nn:A(m,v,k,Q);break;case Fr:m==null&&T(v,k,Q,de);break;case Ae:U(m,v,k,Q,N,K,de,ce,ae);break;default:he&1?B(m,v,k,Q,N,K,de,ce,ae):he&6?Y(m,v,k,Q,N,K,de,ce,ae):(he&64||he&128)&&ie.process(m,v,k,Q,N,K,de,ce,ae,bn);}Ce!=null&&N?xi(Ce,m&&m.ref,K,v||m,!v):Ce==null&&m&&m.ref!=null&&xi(m.ref,null,K,m,true);},x=(m,v,k,Q)=>{if(m==null)o(v.el=a(v.children),k,Q);else {const N=v.el=m.el;v.children!==m.children&&c(N,v.children);}},A=(m,v,k,Q)=>{m==null?o(v.el=l(v.children||""),k,Q):v.el=m.el;},T=(m,v,k,Q)=>{[m.el,m.anchor]=g(m.children,v,k,Q,m.el,m.anchor);},D=({el:m,anchor:v},k,Q)=>{let N;for(;m&&m!==v;)N=p(m),o(m,k,Q),m=N;o(v,k,Q);},I=({el:m,anchor:v})=>{let k;for(;m&&m!==v;)k=p(m),s(m),m=k;s(v);},B=(m,v,k,Q,N,K,de,ce,ae)=>{v.type==="svg"?de="svg":v.type==="math"&&(de="mathml"),m==null?q(v,k,Q,N,K,de,ce,ae):me(m,v,N,K,de,ce,ae);},q=(m,v,k,Q,N,K,de,ce)=>{let ae,ie;const{props:Ce,shapeFlag:he,transition:ne,dirs:Ee}=m;if(ae=m.el=r(m.type,K,Ce&&Ce.is,Ce),he&8?u(ae,m.children):he&16&&ue(m.children,ae,null,Q,N,Ul(m,K),de,ce),Ee&&Yo(m,null,Q,"created"),z(ae,m,m.scopeId,de,Q),Ce){for(const y in Ce)y!=="value"&&!yi(y)&&i(ae,y,null,Ce[y],K,Q);"value"in Ce&&i(ae,"value",null,Ce.value,K),(ie=Ce.onVnodeBeforeMount)&&jn(ie,Q,m);}Ee&&Yo(m,null,Q,"beforeMount");const h=Z_(N,ne);h&&ne.beforeEnter(ae),o(ae,v,k),((ie=Ce&&Ce.onVnodeMounted)||h||Ee)&&fn(()=>{ie&&jn(ie,Q,m),h&&ne.enter(ae),Ee&&Yo(m,null,Q,"mounted");},N);},z=(m,v,k,Q,N)=>{if(k&&w(m,k),Q)for(let K=0;K<Q.length;K++)w(m,Q[K]);if(N){let K=N.subTree;if(v===K||cg(K.type)&&(K.ssContent===v||K.ssFallback===v)){const de=N.vnode;z(m,de,de.scopeId,de.slotScopeIds,N.parent);}}},ue=(m,v,k,Q,N,K,de,ce,ae=0)=>{for(let ie=ae;ie<m.length;ie++){const Ce=m[ie]=ce?Po(m[ie]):Ln(m[ie]);b(null,Ce,v,k,Q,N,K,de,ce);}},me=(m,v,k,Q,N,K,de)=>{const ce=v.el=m.el;let{patchFlag:ae,dynamicChildren:ie,dirs:Ce}=v;ae|=m.patchFlag&16;const he=m.props||st,ne=v.props||st;let Ee;if(k&&Qo(k,false),(Ee=ne.onVnodeBeforeUpdate)&&jn(Ee,k,v,m),Ce&&Yo(v,m,k,"beforeUpdate"),k&&Qo(k,true),(he.innerHTML&&ne.innerHTML==null||he.textContent&&ne.textContent==null)&&u(ce,""),ie?se(m.dynamicChildren,ie,ce,k,Q,Ul(v,N),K):de||Se(m,v,ce,null,k,Q,Ul(v,N),K,false),ae>0){if(ae&16)F(ce,he,ne,k,N);else if(ae&2&&he.class!==ne.class&&i(ce,"class",null,ne.class,N),ae&4&&i(ce,"style",he.style,ne.style,N),ae&8){const h=v.dynamicProps;for(let y=0;y<h.length;y++){const _=h[y],E=he[_],R=ne[_];(R!==E||_==="value")&&i(ce,_,E,R,N,k);}}ae&1&&m.children!==v.children&&u(ce,v.children);}else !de&&ie==null&&F(ce,he,ne,k,N);((Ee=ne.onVnodeUpdated)||Ce)&&fn(()=>{Ee&&jn(Ee,k,v,m),Ce&&Yo(v,m,k,"updated");},Q);},se=(m,v,k,Q,N,K,de)=>{for(let ce=0;ce<v.length;ce++){const ae=m[ce],ie=v[ce],Ce=ae.el&&(ae.type===Ae||!Io(ae,ie)||ae.shapeFlag&198)?f(ae.el):k;b(ae,ie,Ce,null,Q,N,K,de,true);}},F=(m,v,k,Q,N)=>{if(v!==k){if(v!==st)for(const K in v)!yi(K)&&!(K in k)&&i(m,K,v[K],null,N,Q);for(const K in k){if(yi(K))continue;const de=k[K],ce=v[K];de!==ce&&K!=="value"&&i(m,K,ce,de,N,Q);}"value"in k&&i(m,"value",v.value,k.value,N);}},U=(m,v,k,Q,N,K,de,ce,ae)=>{const ie=v.el=m?m.el:a(""),Ce=v.anchor=m?m.anchor:a("");let{patchFlag:he,dynamicChildren:ne,slotScopeIds:Ee}=v;Ee&&(ce=ce?ce.concat(Ee):Ee),m==null?(o(ie,k,Q),o(Ce,k,Q),ue(v.children||[],k,Ce,N,K,de,ce,ae)):he>0&&he&64&&ne&&m.dynamicChildren?(se(m.dynamicChildren,ne,k,N,K,de,ce),(v.key!=null||N&&v===N.subTree)&&ig(m,v,true)):Se(m,v,k,Ce,N,K,de,ce,ae);},Y=(m,v,k,Q,N,K,de,ce,ae)=>{v.slotScopeIds=ce,m==null?v.shapeFlag&512?N.ctx.activate(v,k,Q,de,ae):le(v,k,Q,N,K,de,ae):be(m,v,ae);},le=(m,v,k,Q,N,K,de)=>{const ce=m.component=vC(m,Q,N);if(Hm(m)&&(ce.ctx.renderer=bn),xC(ce,false,de),ce.asyncDep){if(N&&N.registerDep(ce,ke,de),!m.el){const ae=ce.subTree=oe(Nn);A(null,ae,v,k),m.placeholder=ae.el;}}else ke(ce,m,v,k,N,K,de);},be=(m,v,k)=>{const Q=v.component=m.component;if(uC(m,v,k))if(Q.asyncDep&&!Q.asyncResolved){_e(Q,v,k);return}else Q.next=v,Q.update();else v.el=m.el,Q.vnode=v;},ke=(m,v,k,Q,N,K,de)=>{const ce=()=>{if(m.isMounted){let{next:he,bu:ne,u:Ee,parent:h,vnode:y}=m;{const W=rg(m);if(W){he&&(he.el=y.el,_e(m,he,de)),W.asyncDep.then(()=>{m.isUnmounted||ce();});return}}let _=he,E;Qo(m,false),he?(he.el=y.el,_e(m,he,de)):he=y,ne&&Rr(ne),(E=he.props&&he.props.onVnodeBeforeUpdate)&&jn(E,h,he,y),Qo(m,true);const R=lf(m),M=m.subTree;m.subTree=R,b(M,R,f(M.el),Yt(M),m,N,K),he.el=R.el,_===null&&Yc(m,R.el),Ee&&fn(Ee,N),(E=he.props&&he.props.onVnodeUpdated)&&fn(()=>jn(E,h,he,y),N);}else {let he;const{el:ne,props:Ee}=v,{bm:h,m:y,parent:_,root:E,type:R}=m,M=Ns(v);Qo(m,false),h&&Rr(h),!M&&(he=Ee&&Ee.onVnodeBeforeMount)&&jn(he,_,v),Qo(m,true);{E.ce&&E.ce._def.shadowRoot!==false&&E.ce._injectChildStyle(R);const W=m.subTree=lf(m);b(null,W,k,Q,m,N,K),v.el=W.el;}if(y&&fn(y,N),!M&&(he=Ee&&Ee.onVnodeMounted)){const W=v;fn(()=>jn(he,_,W),N);}(v.shapeFlag&256||_&&Ns(_.vnode)&&_.vnode.shapeFlag&256)&&m.a&&fn(m.a,N),m.isMounted=true,v=k=Q=null;}};m.scope.on();const ae=m.effect=new xm(ce);m.scope.off();const ie=m.update=ae.run.bind(ae),Ce=m.job=ae.runIfDirty.bind(ae);Ce.i=m,Ce.id=m.uid,ae.scheduler=()=>Vc(Ce),Qo(m,true),ie();},_e=(m,v,k)=>{v.component=m;const Q=m.vnode.props;m.vnode=v,m.next=null,W_(m,v.props,Q,k),Y_(m,v.children,k),yo(),Zd(m),bo();},Se=(m,v,k,Q,N,K,de,ce,ae=false)=>{const ie=m&&m.children,Ce=m?m.shapeFlag:0,he=v.children,{patchFlag:ne,shapeFlag:Ee}=v;if(ne>0){if(ne&128){ut(ie,he,k,Q,N,K,de,ce,ae);return}else if(ne&256){Ne(ie,he,k,Q,N,K,de,ce,ae);return}}Ee&8?(Ce&16&&cn(ie,N,K),he!==ie&&u(k,he)):Ce&16?Ee&16?ut(ie,he,k,Q,N,K,de,ce,ae):cn(ie,N,K,true):(Ce&8&&u(k,""),Ee&16&&ue(he,k,Q,N,K,de,ce,ae));},Ne=(m,v,k,Q,N,K,de,ce,ae)=>{m=m||Bs,v=v||Bs;const ie=m.length,Ce=v.length,he=Math.min(ie,Ce);let ne;for(ne=0;ne<he;ne++){const Ee=v[ne]=ae?Po(v[ne]):Ln(v[ne]);b(m[ne],Ee,k,null,N,K,de,ce,ae);}ie>Ce?cn(m,N,K,true,false,he):ue(v,k,Q,N,K,de,ce,ae,he);},ut=(m,v,k,Q,N,K,de,ce,ae)=>{let ie=0;const Ce=v.length;let he=m.length-1,ne=Ce-1;for(;ie<=he&&ie<=ne;){const Ee=m[ie],h=v[ie]=ae?Po(v[ie]):Ln(v[ie]);if(Io(Ee,h))b(Ee,h,k,null,N,K,de,ce,ae);else break;ie++;}for(;ie<=he&&ie<=ne;){const Ee=m[he],h=v[ne]=ae?Po(v[ne]):Ln(v[ne]);if(Io(Ee,h))b(Ee,h,k,null,N,K,de,ce,ae);else break;he--,ne--;}if(ie>he){if(ie<=ne){const Ee=ne+1,h=Ee<Ce?v[Ee].el:Q;for(;ie<=ne;)b(null,v[ie]=ae?Po(v[ie]):Ln(v[ie]),k,h,N,K,de,ce,ae),ie++;}}else if(ie>ne)for(;ie<=he;)L(m[ie],N,K,true),ie++;else {const Ee=ie,h=ie,y=new Map;for(ie=h;ie<=ne;ie++){const ye=v[ie]=ae?Po(v[ie]):Ln(v[ie]);ye.key!=null&&y.set(ye.key,ie);}let _,E=0;const R=ne-h+1;let M=false,W=0;const J=new Array(R);for(ie=0;ie<R;ie++)J[ie]=0;for(ie=Ee;ie<=he;ie++){const ye=m[ie];if(E>=R){L(ye,N,K,true);continue}let Me;if(ye.key!=null)Me=y.get(ye.key);else for(_=h;_<=ne;_++)if(J[_-h]===0&&Io(ye,v[_])){Me=_;break}Me===void 0?L(ye,N,K,true):(J[Me-h]=ie+1,Me>=W?W=Me:M=true,b(ye,v[Me],k,null,N,K,de,ce,ae),E++);}const re=M?eC(J):Bs;for(_=re.length-1,ie=R-1;ie>=0;ie--){const ye=h+ie,Me=v[ye],Oe=v[ye+1],We=ye+1<Ce?Oe.el||Oe.placeholder:Q;J[ie]===0?b(null,Me,k,We,N,K,de,ce,ae):M&&(_<0||ie!==re[_]?we(Me,k,We,2):_--);}}},we=(m,v,k,Q,N=null)=>{const{el:K,type:de,transition:ce,children:ae,shapeFlag:ie}=m;if(ie&6){we(m.component.subTree,v,k,Q);return}if(ie&128){m.suspense.move(v,k,Q);return}if(ie&64){de.move(m,v,k,bn);return}if(de===Ae){o(K,v,k);for(let he=0;he<ae.length;he++)we(ae[he],v,k,Q);o(m.anchor,v,k);return}if(de===Fr){D(m,v,k);return}if(Q!==2&&ie&1&&ce)if(Q===0)ce.beforeEnter(K),o(K,v,k),fn(()=>ce.enter(K),N);else {const{leave:he,delayLeave:ne,afterLeave:Ee}=ce,h=()=>{m.ctx.isUnmounted?s(K):o(K,v,k);},y=()=>{he(K,()=>{h(),Ee&&Ee();});};ne?ne(K,h,y):y();}else o(K,v,k);},L=(m,v,k,Q=false,N=false)=>{const{type:K,props:de,ref:ce,children:ae,dynamicChildren:ie,shapeFlag:Ce,patchFlag:he,dirs:ne,cacheIndex:Ee}=m;if(he===-2&&(N=false),ce!=null&&(yo(),xi(ce,null,k,m,true),bo()),Ee!=null&&(v.renderCache[Ee]=void 0),Ce&256){v.ctx.deactivate(m);return}const h=Ce&1&&ne,y=!Ns(m);let _;if(y&&(_=de&&de.onVnodeBeforeUnmount)&&jn(_,v,m),Ce&6)ft(m.component,k,Q);else {if(Ce&128){m.suspense.unmount(k,Q);return}h&&Yo(m,null,v,"beforeUnmount"),Ce&64?m.type.remove(m,v,k,bn,Q):ie&&!ie.hasOnce&&(K!==Ae||he>0&&he&64)?cn(ie,v,k,false,true):(K===Ae&&he&384||!N&&Ce&16)&&cn(ae,v,k),Q&&pe(m);}(y&&(_=de&&de.onVnodeUnmounted)||h)&&fn(()=>{_&&jn(_,v,m),h&&Yo(m,null,v,"unmounted");},k);},pe=m=>{const{type:v,el:k,anchor:Q,transition:N}=m;if(v===Ae){ot(k,Q);return}if(v===Fr){I(m);return}const K=()=>{s(k),N&&!N.persisted&&N.afterLeave&&N.afterLeave();};if(m.shapeFlag&1&&N&&!N.persisted){const{leave:de,delayLeave:ce}=N,ae=()=>de(k,K);ce?ce(m.el,K,ae):ae();}else K();},ot=(m,v)=>{let k;for(;m!==v;)k=p(m),s(m),m=k;s(v);},ft=(m,v,k)=>{const{bum:Q,scope:N,job:K,subTree:de,um:ce,m:ae,a:ie,parent:Ce,slots:{__:he}}=m;af(ae),af(ie),Q&&Rr(Q),Ce&&$e(he)&&he.forEach(ne=>{Ce.renderCache[ne]=void 0;}),N.stop(),K&&(K.flags|=8,L(de,m,v,k)),ce&&fn(ce,v),fn(()=>{m.isUnmounted=true;},v),v&&v.pendingBranch&&!v.isUnmounted&&m.asyncDep&&!m.asyncResolved&&m.suspenseId===v.pendingId&&(v.deps--,v.deps===0&&v.resolve());},cn=(m,v,k,Q=false,N=false,K=0)=>{for(let de=K;de<m.length;de++)L(m[de],v,k,Q,N);},Yt=m=>{if(m.shapeFlag&6)return Yt(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const v=p(m.anchor||m.el),k=v&&v[C_];return k?p(k):v};let ro=false;const Ss=(m,v,k)=>{m==null?v._vnode&&L(v._vnode,null,null,true):b(v._vnode||null,m,v,null,null,null,k),v._vnode=m,ro||(ro=true,Zd(),Um(),ro=false);},bn={p:b,um:L,m:we,r:pe,mt:le,mc:ue,pc:Se,pbc:se,n:Yt,o:e};return {render:Ss,hydrate:void 0,createApp:V_(Ss)}}function Ul({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 Qo({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 ig(e,t,n=false){const o=e.children,s=t.children;if($e(o)&&$e(s))for(let i=0;i<o.length;i++){const r=o[i];let a=s[i];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=s[i]=Po(s[i]),a.el=r.el),!n&&a.patchFlag!==-2&&ig(r,a)),a.type===Xa&&(a.el=r.el),a.type===Nn&&!a.el&&(a.el=r.el);}}function eC(e){const t=e.slice(),n=[0];let o,s,i,r,a;const l=e.length;for(o=0;o<l;o++){const c=e[o];if(c!==0){if(s=n[n.length-1],e[s]<c){t[o]=s,n.push(o);continue}for(i=0,r=n.length-1;i<r;)a=i+r>>1,e[n[a]]<c?i=a+1:r=a;c<e[n[i]]&&(i>0&&(t[o]=n[i-1]),n[i]=o);}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function rg(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:rg(t)}function af(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8;}const tC=Symbol.for("v-scx"),nC=()=>Ci(tC);function He(e,t,n){return ag(e,t,n)}function ag(e,t,n=st){const{immediate:o,deep:s,flush:i,once:r}=n,a=Ut({},n),l=t&&o||!t&&i!=="post";let c;if(Fi){if(i==="sync"){const w=nC();c=w.__watcherHandles||(w.__watcherHandles=[]);}else if(!l){const w=()=>{};return w.stop=Yn,w.resume=Yn,w.pause=Yn,w}}const u=Rt;a.call=(w,g,b)=>no(w,u,g,b);let f=false;i==="post"?a.scheduler=w=>{fn(w,u&&u.suspense);}:i!=="sync"&&(f=true,a.scheduler=(w,g)=>{g?w():Vc(w);}),a.augmentJob=w=>{t&&(w.flags|=4),f&&(w.flags|=2,u&&(w.id=u.uid,w.i=u));};const p=w_(e,t,a);return Fi&&(c?c.push(p):l&&p()),p}function oC(e,t,n){const o=this.proxy,s=wt(e)?e.includes(".")?lg(o,e):()=>o[e]:e.bind(o,o);let i;Be(t)?i=t:(i=t.handler,n=t);const r=hs(this),a=ag(s,i.bind(o),n);return r(),a}function lg(e,t){const n=t.split(".");return ()=>{let o=e;for(let s=0;s<n.length&&o;s++)o=o[n[s]];return o}}const sC=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pn(t)}Modifiers`]||e[`${Wo(t)}Modifiers`];function iC(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||st;let s=n;const i=t.startsWith("update:"),r=i&&sC(o,t.slice(7));r&&(r.trim&&(s=n.map(u=>wt(u)?u.trim():u)),r.number&&(s=n.map(oa)));let a,l=o[a=Ml(t)]||o[a=Ml(Pn(t))];!l&&i&&(l=o[a=Ml(Wo(t))]),l&&no(l,e,6,s);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=true,no(c,e,6,s);}}function ug(e,t,n=false){const o=t.emitsCache,s=o.get(e);if(s!==void 0)return s;const i=e.emits;let r={},a=false;if(!Be(e)){const l=c=>{const u=ug(c,t,true);u&&(a=true,Ut(r,u));};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l);}return !i&&!a?(rt(e)&&o.set(e,null),null):($e(i)?i.forEach(l=>r[l]=null):Ut(r,i),rt(e)&&o.set(e,r),r)}function Qa(e,t){return !e||!Ha(t)?false:(t=t.slice(2).replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Wo(t))||Ze(e,t))}function lf(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[i],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:f,data:p,setupState:w,ctx:g,inheritAttrs:b}=e,x=la(e);let A,T;try{if(n.shapeFlag&4){const I=s||o,B=I;A=Ln(c.call(B,I,u,f,w,p,g)),T=a;}else {const I=t;A=Ln(I.length>1?I(f,{attrs:a,slots:r,emit:l}):I(f,null)),T=t.props?a:aC(a);}}catch(I){ki.length=0,cr(I,e,1),A=oe(Nn);}let D=A;if(T&&b!==false){const I=Object.keys(T),{shapeFlag:B}=D;I.length&&B&7&&(i&&I.some(Lc)&&(T=lC(T,i)),D=Ys(D,T,false,true));}return n.dirs&&(D=Ys(D,null,false,true),D.dirs=D.dirs?D.dirs.concat(n.dirs):n.dirs),n.transition&&qc(D,n.transition),A=D,la(x),A}function rC(e,t=true){let n;for(let o=0;o<e.length;o++){const s=e[o];if(Js(s)){if(s.type!==Nn||s.children==="v-if"){if(n)return;n=s;}}else return}return n}const aC=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ha(n))&&((t||(t={}))[n]=e[n]);return t},lC=(e,t)=>{const n={};for(const o in e)(!Lc(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function uC(e,t,n){const{props:o,children:s,component:i}=e,{props:r,children:a,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return true;if(n&&l>=0){if(l&1024)return true;if(l&16)return o?uf(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]&&!Qa(c,p))return true}}}else return (s||a)&&(!a||!a.$stable)?true:o===r?false:o?r?uf(o,r,c):true:!!r;return false}function uf(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return true;for(let s=0;s<o.length;s++){const i=o[s];if(t[i]!==e[i]&&!Qa(n,i))return true}return false}function Yc({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 ku=0;const cC={name:"Suspense",__isSuspense:true,process(e,t,n,o,s,i,r,a,l,c){if(e==null)dC(t,n,o,s,i,r,a,l,c);else {if(i&&i.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}fC(e,t,n,o,s,r,a,l,c);}},hydrate:pC,normalize:hC},dg=cC;function Ri(e,t){const n=e.props&&e.props[t];Be(n)&&n();}function dC(e,t,n,o,s,i,r,a,l){const{p:c,o:{createElement:u}}=l,f=u("div"),p=e.suspense=fg(e,s,o,t,f,n,i,r,a,l);c(null,p.pendingBranch=e.ssContent,f,null,o,p,i,r),p.deps>0?(Ri(e,"onPending"),Ri(e,"onFallback"),c(null,e.ssFallback,t,n,o,null,i,r),js(p,e.ssFallback)):p.resolve(false,true);}function fC(e,t,n,o,s,i,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,w=t.ssFallback,{activeBranch:g,pendingBranch:b,isInFallback:x,isHydrating:A}=f;if(b)f.pendingBranch=p,Io(p,b)?(l(b,p,f.hiddenContainer,null,s,f,i,r,a),f.deps<=0?f.resolve():x&&(A||(l(g,w,n,o,s,null,i,r,a),js(f,w)))):(f.pendingId=ku++,A?(f.isHydrating=false,f.activeBranch=b):c(b,s,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),x?(l(null,p,f.hiddenContainer,null,s,f,i,r,a),f.deps<=0?f.resolve():(l(g,w,n,o,s,null,i,r,a),js(f,w))):g&&Io(p,g)?(l(g,p,n,o,s,f,i,r,a),f.resolve(true)):(l(null,p,f.hiddenContainer,null,s,f,i,r,a),f.deps<=0&&f.resolve()));else if(g&&Io(p,g))l(g,p,n,o,s,f,i,r,a),js(f,p);else if(Ri(t,"onPending"),f.pendingBranch=p,p.shapeFlag&512?f.pendingId=p.component.suspenseId:f.pendingId=ku++,l(null,p,f.hiddenContainer,null,s,f,i,r,a),f.deps<=0)f.resolve();else {const{timeout:T,pendingId:D}=f;T>0?setTimeout(()=>{f.pendingId===D&&f.fallback(w);},T):T===0&&f.fallback(w);}}function fg(e,t,n,o,s,i,r,a,l,c,u=false){const{p:f,m:p,um:w,n:g,o:{parentNode:b,remove:x}}=c;let A;const T=gC(e);T&&t&&t.pendingBranch&&(A=t.pendingId,t.deps++);const D=e.props?Px(e.props.timeout):void 0,I=i,B={vnode:e,parent:t,parentComponent:n,namespace:r,container:o,hiddenContainer:s,deps:0,pendingId:ku++,timeout:typeof D=="number"?D:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:false,effects:[],resolve(q=false,z=false){const{vnode:ue,activeBranch:me,pendingBranch:se,pendingId:F,effects:U,parentComponent:Y,container:le}=B;let be=false;B.isHydrating?B.isHydrating=false:q||(be=me&&se.transition&&se.transition.mode==="out-in",be&&(me.transition.afterLeave=()=>{F===B.pendingId&&(p(se,le,i===I?g(me):i,0),bu(U));}),me&&(b(me.el)===le&&(i=g(me)),w(me,Y,B,true)),be||p(se,le,i,0)),js(B,se),B.pendingBranch=null,B.isInFallback=false;let ke=B.parent,_e=false;for(;ke;){if(ke.pendingBranch){ke.effects.push(...U),_e=true;break}ke=ke.parent;}!_e&&!be&&bu(U),B.effects=[],T&&t&&t.pendingBranch&&A===t.pendingId&&(t.deps--,t.deps===0&&!z&&t.resolve()),Ri(ue,"onResolve");},fallback(q){if(!B.pendingBranch)return;const{vnode:z,activeBranch:ue,parentComponent:me,container:se,namespace:F}=B;Ri(z,"onFallback");const U=g(ue),Y=()=>{B.isInFallback&&(f(null,q,se,U,me,null,F,a,l),js(B,q));},le=q.transition&&q.transition.mode==="out-in";le&&(ue.transition.afterLeave=Y),B.isInFallback=true,w(ue,me,null,true),le||Y();},move(q,z,ue){B.activeBranch&&p(B.activeBranch,q,z,ue),B.container=q;},next(){return B.activeBranch&&g(B.activeBranch)},registerDep(q,z,ue){const me=!!B.pendingBranch;me&&B.deps++;const se=q.vnode.el;q.asyncDep.catch(F=>{cr(F,q,0);}).then(F=>{if(q.isUnmounted||B.isUnmounted||B.pendingId!==q.suspenseId)return;q.asyncResolved=true;const{vnode:U}=q;Eu(q,F),se&&(U.el=se);const Y=!se&&q.subTree.el;z(q,U,b(se||q.subTree.el),se?null:g(q.subTree),B,r,ue),Y&&x(Y),Yc(q,U.el),me&&--B.deps===0&&B.resolve();});},unmount(q,z){B.isUnmounted=true,B.activeBranch&&w(B.activeBranch,n,q,z),B.pendingBranch&&w(B.pendingBranch,n,q,z);}};return B}function pC(e,t,n,o,s,i,r,a,l){const c=t.suspense=fg(t,o,n,e.parentNode,document.createElement("div"),null,s,i,r,a,true),u=l(e,c.pendingBranch=t.ssContent,n,c,i,r);return c.deps===0&&c.resolve(false,true),u}function hC(e){const{shapeFlag:t,children:n}=e,o=t&32;e.ssContent=cf(o?n.default:n),e.ssFallback=o?cf(n.fallback):oe(Nn);}function cf(e){let t;if(Be(e)){const n=Gs&&e._c;n&&(e._d=false,C()),e=e(),n&&(e._d=true,t=nn,pg());}return $e(e)&&(e=rC(e)),e=Ln(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function mC(e,t){t&&t.pendingBranch?$e(e)?t.effects.push(...e):t.effects.push(e):bu(e);}function js(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,o&&o.subTree===n&&(o.vnode.el=s,Yc(o,s));}function gC(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==false}const Ae=Symbol.for("v-fgt"),Xa=Symbol.for("v-txt"),Nn=Symbol.for("v-cmt"),Fr=Symbol.for("v-stc"),ki=[];let nn=null;function C(e=false){ki.push(nn=e?null:[]);}function pg(){ki.pop(),nn=ki[ki.length-1]||null;}let Gs=1;function df(e,t=false){Gs+=e,e<0&&nn&&t&&(nn.hasOnce=true);}function hg(e){return e.dynamicChildren=Gs>0?nn||Bs:null,pg(),Gs>0&&nn&&nn.push(e),e}function S(e,t,n,o,s,i){return hg(d(e,t,n,o,s,i,true))}function et(e,t,n,o,s){return hg(oe(e,t,n,o,s,true))}function Js(e){return e?e.__v_isVNode===true:false}function Io(e,t){return e.type===t.type&&e.key===t.key}const mg=({key:e})=>e??null,Nr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?wt(e)||Et(e)||Be(e)?{i:Lt,r:e,k:t,f:!!n}:e:null);function d(e,t=null,n=null,o=0,s=null,i=e===Ae?0:1,r=false,a=false){const l={__v_isVNode:true,__v_skip:true,type:e,props:t,key:t&&mg(t),ref:t&&Nr(t),scopeId:Ja,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:i,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Lt};return a?(Qc(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=wt(n)?8:16),Gs>0&&!r&&nn&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&nn.push(l),l}const oe=wC;function wC(e,t=null,n=null,o=0,s=null,i=false){if((!e||e===Wm)&&(e=Nn),Js(e)){const a=Ys(e,t,true);return n&&Qc(a,n),Gs>0&&!i&&nn&&(a.shapeFlag&6?nn[nn.indexOf(e)]=a:nn.push(a)),a.patchFlag=-2,a}if($C(e)&&(e=e.__vccOpts),t){t=gg(t);let{class:a,style:l}=t;a&&!wt(a)&&(t.class=Le(a)),rt(l)&&(Hc(l)&&!$e(l)&&(l=Ut({},l)),t.style=Qn(l));}const r=wt(e)?1:cg(e)?128:k_(e)?64:rt(e)?4:Be(e)?2:0;return d(e,t,n,o,s,r,i,true)}function gg(e){return e?Hc(e)||Zm(e)?Ut({},e):e:null}function Ys(e,t,n=false,o=false){const{props:s,ref:i,patchFlag:r,children:a,transition:l}=e,c=t?Xc(s||{},t):s,u={__v_isVNode:true,__v_skip:true,type:e.type,props:c,key:c&&mg(c),ref:t&&t.ref?n&&i?$e(i)?i.concat(Nr(t)):[i,Nr(t)]:Nr(t):i,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!==Ae?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&&Ys(e.ssContent),ssFallback:e.ssFallback&&Ys(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&qc(u,l.clone(u)),u}function P(e=" ",t=0){return oe(Xa,null,e,t)}function wg(e,t){const n=oe(Fr,null,e);return n.staticCount=t,n}function fe(e="",t=false){return t?(C(),et(Nn,null,e)):oe(Nn,null,e)}function Ln(e){return e==null||typeof e=="boolean"?oe(Nn):$e(e)?oe(Ae,null,e.slice()):Js(e)?Po(e):oe(Xa,null,String(e))}function Po(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ys(e)}function Qc(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if($e(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=false),Qc(e,s()),s._c&&(s._d=true));return}else {n=32;const s=t._;!s&&!Zm(t)?t._ctx=Lt:s===3&&Lt&&(Lt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024));}else Be(t)?(t={default:t,_ctx:Lt},n=32):(t=String(t),o&64?(n=16,t=[P(t)]):n=8);e.children=t,e.shapeFlag|=n;}function Xc(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const s in o)if(s==="class")t.class!==o.class&&(t.class=Le([t.class,o.class]));else if(s==="style")t.style=Qn([t.style,o.style]);else if(Ha(s)){const i=t[s],r=o[s];r&&i!==r&&!($e(i)&&i.includes(r))&&(t[s]=i?[].concat(i,r):r);}else s!==""&&(t[s]=o[s]);}return t}function jn(e,t,n,o=null){no(e,t,7,[n,o]);}const yC=Ym();let bC=0;function vC(e,t,n){const o=e.type,s=(t?t.appContext:e.appContext)||yC,i={uid:bC++,vnode:e,type:o,parent:t,appContext:s,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(s.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:tg(o,s),emitsOptions:ug(o,s),emit:null,emitted:null,propsDefaults:st,inheritAttrs:o.inheritAttrs,ctx:st,data:st,props:st,attrs:st,slots:st,refs:st,setupState:st,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 i.ctx={_:i},i.root=t?t.root:i,i.emit=iC.bind(null,i),e.ce&&e.ce(i),i}let Rt=null;const yg=()=>Rt||Lt;let ca,Su;{const e=Wa(),t=(n,o)=>{let s;return (s=e[n])||(s=e[n]=[]),s.push(o),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i);}};ca=t("__VUE_INSTANCE_SETTERS__",n=>Rt=n),Su=t("__VUE_SSR_SETTERS__",n=>Fi=n);}const hs=e=>{const t=Rt;return ca(e),e.scope.on(),()=>{e.scope.off(),ca(t);}},$u=()=>{Rt&&Rt.scope.off(),ca(null);};function bg(e){return e.vnode.shapeFlag&4}let Fi=false;function xC(e,t=false,n=false){t&&Su(t);const{props:o,children:s}=e.vnode,i=bg(e);q_(e,o,i,t),J_(e,s,n||t);const r=i?_C(e,t):void 0;return t&&Su(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){yo();const s=e.setupContext=o.length>1?kC(e):null,i=hs(e),r=ur(o,e,0,[e.props,s]),a=Mc(r);if(bo(),i(),(a||e.sp)&&!Ns(e)&&zm(e),a){if(r.then($u,$u),t)return r.then(l=>{Eu(e,l);}).catch(l=>{cr(l,e,0);});e.asyncDep=r;}else Eu(e,r);}else vg(e);}function Eu(e,t,n){Be(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:rt(t)&&(e.setupState=Om(t)),vg(e);}function vg(e,t,n){const o=e.type;e.render||(e.render=o.render||Yn);{const s=hs(e);yo();try{F_(e);}finally{bo(),s();}}}const CC={get(e,t){return Ot(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 Za(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Om(r_(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in _i)return _i[n](e)},has(t,n){return n in t||n in _i}})):e.proxy}function SC(e,t=true){return Be(e)?e.displayName||e.name:e.name||t&&e.__name}function $C(e){return Be(e)&&"__vccOpts"in e}const Ke=(e,t)=>m_(e,t,Fi);function EC(e,t,n){const o=arguments.length;return o===2?rt(t)&&!$e(t)?Js(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Js(n)&&(n=[n]),oe(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 Au;const ff=typeof window<"u"&&window.trustedTypes;if(ff)try{Au=ff.createPolicy("vue",{createHTML:e=>e});}catch{}const xg=Au?e=>Au.createHTML(e):e=>e,PC="http://www.w3.org/2000/svg",IC="http://www.w3.org/1998/Math/MathML",lo=typeof document<"u"?document:null,pf=lo&&lo.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 s=t==="svg"?lo.createElementNS(PC,e):t==="mathml"?lo.createElementNS(IC,e):n?lo.createElement(e,{is:n}):lo.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>lo.createTextNode(e),createComment:e=>lo.createComment(e),setText:(e,t)=>{e.nodeValue=t;},setElementText:(e,t)=>{e.textContent=t;},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>lo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"");},insertStaticContent(e,t,n,o,s,i){const r=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(true),n),!(s===i||!(s=s.nextSibling)););else {pf.innerHTML=xg(o==="svg"?`<svg>${e}</svg>`:o==="mathml"?`<math>${e}</math>`:e);const a=pf.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]}},LC=Symbol("_vtc");function TC(e,t,n){const o=e[LC];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t;}const da=Symbol("_vod"),_g=Symbol("_vsh"),Vt={beforeMount(e,{value:t},{transition:n}){e[da]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):di(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),di(e,true),o.enter(e)):o.leave(e,()=>{di(e,false);}):di(e,t));},beforeUnmount(e,{value:t}){di(e,t);}};function di(e,t){e.style.display=t?e[da]:"none",e[_g]=!t;}const MC=Symbol(""),BC=/(^|;)\s*display\s*:/;function OC(e,t,n){const o=e.style,s=wt(n);let i=false;if(n&&!s){if(t)if(wt(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&Ur(o,a,"");}else for(const r in t)n[r]==null&&Ur(o,r,"");for(const r in n)r==="display"&&(i=true),Ur(o,r,n[r]);}else if(s){if(t!==n){const r=o[MC];r&&(n+=";"+r),o.cssText=n,i=BC.test(n);}}else t&&e.removeAttribute("style");da in e&&(e[da]=i?o.display:"",e[_g]&&(o.display="none"));}const hf=/\s*!important$/;function Ur(e,t,n){if($e(n))n.forEach(o=>Ur(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else {const o=RC(e,t);hf.test(n)?e.setProperty(Wo(o),n.replace(hf,""),"important"):e[o]=n;}}const mf=["Webkit","Moz","ms"],jl={};function RC(e,t){const n=jl[t];if(n)return n;let o=Pn(t);if(o!=="filter"&&o in e)return jl[t]=o;o=qa(o);for(let s=0;s<mf.length;s++){const i=mf[s]+o;if(i in e)return jl[t]=i}return t}const gf="http://www.w3.org/1999/xlink";function wf(e,t,n,o,s,i=Ox(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(gf,t.slice(6,t.length)):e.setAttributeNS(gf,t,n):n==null||i&&!ym(n)?e.removeAttribute(t):e.setAttribute(t,i?"":Fn(n)?String(n):n);}function yf(e,t,n,o,s){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?xg(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const a=i==="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=ym(n):n==null&&a==="string"?(n="",r=true):a==="number"&&(n=0,r=true);}try{e[t]=n;}catch{}r&&e.removeAttribute(s||t);}function fo(e,t,n,o){e.addEventListener(t,n,o);}function FC(e,t,n,o){e.removeEventListener(t,n,o);}const bf=Symbol("_vei");function NC(e,t,n,o,s=null){const i=e[bf]||(e[bf]={}),r=i[t];if(o&&r)r.value=o;else {const[a,l]=UC(t);if(o){const c=i[t]=HC(o,s);fo(e,a,c,l);}else r&&(FC(e,a,r,l),i[t]=void 0);}}const vf=/(?:Once|Passive|Capture)$/;function UC(e){let t;if(vf.test(e)){t={};let o;for(;o=e.match(vf);)e=e.slice(0,e.length-o[0].length),t[o[0].toLowerCase()]=true;}return [e[2]===":"?e.slice(3):Wo(e.slice(2)),t]}let zl=0;const jC=Promise.resolve(),zC=()=>zl||(jC.then(()=>zl=0),zl=Date.now());function HC(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;no(VC(o,n.value),t,5,[o]);};return n.value=e,n.attached=zC(),n}function VC(e,t){if($e(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=true;},t.map(o=>s=>!s._stopped&&o&&o(s))}else return t}const xf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,qC=(e,t,n,o,s,i)=>{const r=s==="svg";t==="class"?TC(e,o,r):t==="style"?OC(e,n,o):Ha(t)?Lc(t)||NC(e,t,n,o,i):(t[0]==="."?(t=t.slice(1),true):t[0]==="^"?(t=t.slice(1),false):WC(e,t,o,r))?(yf(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&wf(e,t,o,r,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!wt(o))?yf(e,Pn(t),o,i,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),wf(e,t,o,r));};function WC(e,t,n,o){if(o)return !!(t==="innerHTML"||t==="textContent"||t in e&&xf(t)&&Be(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return false}return xf(t)&&wt(n)?false:t in e}const jo=e=>{const t=e.props["onUpdate:modelValue"]||false;return $e(t)?n=>Rr(t,n):t};function KC(e){e.target.composing=true;}function _f(e){const t=e.target;t.composing&&(t.composing=false,t.dispatchEvent(new Event("input")));}const $n=Symbol("_assign"),je={created(e,{modifiers:{lazy:t,trim:n,number:o}},s){e[$n]=jo(s);const i=o||s.props&&s.props.type==="number";fo(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=oa(a)),e[$n](a);}),n&&fo(e,"change",()=>{e.value=e.value.trim();}),t||(fo(e,"compositionstart",KC),fo(e,"compositionend",_f),fo(e,"change",_f));},mounted(e,{value:t}){e.value=t??"";},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:s,number:i}},r){if(e[$n]=jo(r),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?oa(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||s&&e.value.trim()===l)||(e.value=l));}},ve={deep:true,created(e,t,n){e[$n]=jo(n),fo(e,"change",()=>{const o=e._modelValue,s=Qs(e),i=e.checked,r=e[$n];if($e(o)){const a=Oc(o,s),l=a!==-1;if(i&&!l)r(o.concat(s));else if(!i&&l){const c=[...o];c.splice(a,1),r(c);}}else if(oi(o)){const a=new Set(o);i?a.add(s):a.delete(s),r(a);}else r(kg(e,i));});},mounted:Cf,beforeUpdate(e,t,n){e[$n]=jo(n),Cf(e,t,n);}};function Cf(e,{value:t,oldValue:n},o){e._modelValue=t;let s;if($e(t))s=Oc(t,o.props.value)>-1;else if(oi(t))s=t.has(o.props.value);else {if(t===n)return;s=fs(t,kg(e,true));}e.checked!==s&&(e.checked=s);}const Cg={created(e,{value:t},n){e.checked=fs(t,n.props.value),e[$n]=jo(n),fo(e,"change",()=>{e[$n](Qs(e));});},beforeUpdate(e,{value:t,oldValue:n},o){e[$n]=jo(o),t!==n&&(e.checked=fs(t,o.props.value));}},In={deep:true,created(e,{value:t,modifiers:{number:n}},o){const s=oi(t);fo(e,"change",()=>{const i=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?oa(Qs(r)):Qs(r));e[$n](e.multiple?s?new Set(i):i:i[0]),e._assigning=true,ps(()=>{e._assigning=false;});}),e[$n]=jo(o);},mounted(e,{value:t}){kf(e,t);},beforeUpdate(e,t,n){e[$n]=jo(n);},updated(e,{value:t}){e._assigning||kf(e,t);}};function kf(e,t){const n=e.multiple,o=$e(t);if(!(n&&!o&&!oi(t))){for(let s=0,i=e.options.length;s<i;s++){const r=e.options[s],a=Qs(r);if(n)if(o){const l=typeof a;l==="string"||l==="number"?r.selected=t.some(c=>String(c)===String(a)):r.selected=Oc(t,a)>-1;}else r.selected=t.has(a);else if(fs(Qs(r),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1);}}function Qs(e){return "_value"in e?e._value:e.value}function kg(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const GC={created(e,t,n){Er(e,t,n,null,"created");},mounted(e,t,n){Er(e,t,n,null,"mounted");},beforeUpdate(e,t,n,o){Er(e,t,n,o,"beforeUpdate");},updated(e,t,n,o){Er(e,t,n,o,"updated");}};function JC(e,t){switch(e){case "SELECT":return In;case "TEXTAREA":return je;default:switch(t){case "checkbox":return ve;case "radio":return Cg;default:return je}}}function Er(e,t,n,o,s){const r=JC(e.tagName,n.props&&n.props.type)[s];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))},_n=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...i)=>{for(let r=0;r<t.length;r++){const a=QC[t[r]];if(a&&a(s,t))return}return e(s,...i)})},XC={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Sg=(e,t)=>{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=s=>{if(!("key"in s))return;const i=Wo(s.key);if(t.some(r=>r===i||XC[r]===i))return e(s)})},ZC=Ut({patchProp:qC},DC);let Sf;function ek(){return Sf||(Sf=Q_(ZC))}const io=(...e)=>{const t=ek().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=nk(o);if(!s)return;const i=t._component;!Be(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,false,tk(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.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 $g=(e=>(e.VideoPlay="VideoPlay",e))($g||{});const ok="https://greasyfork.org/zh-CN/scripts/495474",sk="115Plus";class ik{bc;_isInstalled=void 0;messageHandlers=new Set;constructor(){this.bc=new BroadcastChannel(sk),this.bc.addEventListener("message",this.handleMessage.bind(this));}handleMessage(t){this.messageHandlers.forEach(n=>n(t.data));}checkInstalled(){return Pt().$('.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 ik;function ak(){return rk}function lk(e){return new Ti.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}function Eg(e){return e.filter(t=>t.startsWith("https://115.com")).length}async function Zc(e,t,n){if(e.length===1){Di(e[0],{active:!t});return}const o=Eg(e);n=n||lk(o>0);const s="open_urls";let i=false;Z.fire({html:"正在打开链接...",showConfirmButton:false,showDenyButton:true,denyButtonText:"停止打开",allowEscapeKey:false,allowOutsideClick:false}).then(l=>{l.isDenied&&(i=true,Z.close());});const r=[],a=async()=>{const l=e.length-r.length,{isDenied:c}=await Z.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();};Z.showLoading();for(let l=0;l<e.length;l++){if(i){Z.close(),await a();return}const c=e[l];Z.update({html:`正在打开第 ${l+1} 个链接... 进度: ${l+1} / ${e.length}`});const u=Di(c,{active:!t});if(r.push(u),l===0&&await n.consume(s,1),l<e.length-1){let f=o>0?500:200;try{const w=await n.consume(s,1);console.log("[openUrls] RateLimiterRes",w),!w.remainingPoints&&w.msBeforeNext>0&&(f=w.msBeforeNext);}catch(w){if(w instanceof Ti.RateLimiterRes)console.warn("[openUrls] RateLimiterRes",w),f=w.msBeforeNext;else throw console.error("[openUrls]",w),new Error(`批量打开链接出错: ${w.toString()}`)}const p=(f/1e3).toFixed(1);Z.update({html:`将在 ${p} 秒后打开第 ${l+2} 个链接... 进度: ${l+1} / ${e.length}`}),await an(f);}}Z.hideLoading(),await a();}let uk=[];async function el(e,t,n=An,o,s=void 0){const i=[],r=await dt();r.keyToTriggerManual,n=n||An;for(const a of t){s=s!==void 0?s:a.openInBackground;const l=Aa(e,{key:`_ce_s_${a.key}`,label:a.label,icon:a.icon,title:a.memo,onClick:async(c,u)=>{u.stopPropagation(),u.preventDefault(),c instanceof nc&&await c.closeMenu(),await dr(c,a,u,r,n,o,s);}});i.push(l);}return i}async function dr(e,t,n,o,s=An,i,r=void 0){try{const a=o.keyToTriggerManual;let l;if(a){const b=n;(a===Kn.alt&&b.altKey||a===Kn.ctrl&&b.ctrlKey||a===Kn.shift&&b.shiftKey||a===Kn.meta&&b.metaKey)&&(l={names:[Pc.manual],position:o.injectManualFuncPosition});}let c=!1,u=[];if(i&&[De.selection,De.selectionSub].includes(i))u=await _o(!0),c=!0;else {const b=$(n.target).closest("li");u.push(await s(b[0]));}if(!u.length)throw new Error("没有选中任何文件!");const f=await Jt(),p=[],w=[],g=async b=>{try{const x=await Li(b,t,f,l);if(!x)w.push(`文件 id="${b.id}", name="${b.name}" 的链接构建失败: 无法构建有效的搜索链接!`);else return x}catch(x){return w.push(`文件 id="${b.id}", name="${b.name}" 的链接构建失败: ${x.message}`),""}};for(const b of u){const x=await g(b);x&&p.push(x);}if(console.warn("[search files] urls: %o, errors: %o",p,w),!p.length)throw new Error("没有有效的搜索链接!"+(w.length?`
错误信息:
${w.join(`
`)}`:""));await ck(p,!!r);}catch(a){console.error(a),ee({title:"搜索失败",text:a.toString(),icon:"error",timer:0,showCloseButton:true});}}async function ck(e,t){const n=Eg(e),o=dk(n>0);await Zc(e,t,o);}function dk(e){return new Ti.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}async function Ag(e,t){if(console.log("[playDirOnAnxia]",e,t),!t)try{ee({title:"正在查找可播放的文件...",text:"请稍等...",icon:"info"}),Z.showLoading(),t=await J0(e),console.log("[playDirOnAnxia] file",t);}catch(o){console.error(o),ee({title:"播放失败",text:o.toString(),icon:"error"});return}t||ee({title:"播放失败",text:"没有在该目录下找到可播放的文件![file_null]",icon:"error"});const n=nm(t.pickCode);window.open(n,"_blank","noopener noreferrer");}async function Pg(e,t,n,o){o.stopPropagation(),o.preventDefault();const s=t.keyToTriggerManual;try{let i;if(s){const f=o;(s===Kn.alt&&f.altKey||s===Kn.ctrl&&f.ctrlKey||s===Kn.shift&&f.shiftKey||s===Kn.meta&&f.metaKey)&&(i={names:[Pc.manual],position:t.injectManualFuncPosition});}const r=$(o.target).closest("li"),a=An(r),l=await Jt(),c=await Li(a,e,l,i);if(a.isDir&&Sc(c)){Ag(a.id);return}if(e.key==="p_builtin_115plus"){if(a.isDir){const f=o.metaKey||o.ctrlKey;fa(void 0,a.id,f);}else fa([a]);return}if(/^(#|javascript:(?:;|void\(0\);?))$/.test(c))return;if(console.log("[play url]",c),!c)throw new Error("无法获取有效的播放链接!");window.open(c,"_blank","noopener noreferrer");}catch(i){console.error(i),ee({title:"播放失败",text:i.toString(),icon:"error"});}}async function ed(e){const t="_p_null_",n=[...await mm(),...uk],o=n.filter(l=>l.enabled),s=[...o,...(await xs(to.play)).filter(l=>l.enabled)],i=(l,c)=>l.find(u=>u.key===c);let r=i(o,e.defaultPlayer||"p_builtin_online");r||(r=i(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=s.findIndex(l=>l.key===r.key);return a>-1&&s.splice(a,1),{keyNull:t,noRealDefault:r.key===t,defaultPlayer:r,customUrlItems:s}}async function fk(e,t){const n=[],o=await dt();for(const s of t){const i=Aa(e,{key:`_ce_p_${s.key}`,label:s.label,icon:s.icon,title:s.memo,onClick:async(r,a)=>{Pg(s,o,r,a);}});n.push(i);}return n}async function fa(e,t,n=false){console.log("[playByPlus]",e,t,n);const o=ak(),[s,i]=o.ensureInstalled();if(!s){i();return}const r=l=>{ee({title:l||"没有可播放的视频",icon:"warning"});};if(!e||!e.length){if(!t){r("未指定视频文件和目录ID");return}if(n){if(t==="0"){r("根目录不支持递归获取视频文件");return}const{isConfirmed:u}=await Z.fire({title:"播放目录下全部层级的视频",text:"即将递归获取目录下的视频文件(最多1150)并播放,是否继续?",icon:"warning",showCancelButton:true});if(!u)return}const l=mo({cid:t,limit:1150});n&&(l.type=Cn.video);const c=await $c(l);if(c.count)e=Zh(c.data);else {r();return}}const a=e.filter(l=>l.isVideo).map(l=>({name:l.name,code:l.pickCode,isDir:false}));if(!a.length){r();return}o.sendToPlus($g.VideoPlay,a);}var ht=(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))(ht||{});function fr(e,t,n){const o=[];for(const i of e){let r;switch(t){case 0:case 2:r=i.name;break;case 1:case 3:r=i.isDir?i.name:i.name.replace(/\.[^.]+$/,"");break;case 4:r=i.id;break;case 5:r=i.pickCode;break;case 6:r=i.hash;break;case 7:r=`${i.hash}//${i.name}`;break}r&&o.push(n?n(r):r);}return [2,3,6,7].includes(t)?Array.from(new Set(o)):o}var Mn=(e=>(e[e.unixPath=0]="unixPath",e[e.winPath=1]="winPath",e[e.unixParentPath=2]="unixParentPath",e[e.winParentPath=3]="winParentPath",e))(Mn||{});async function tl(e,t,n){const o=n===1||n===3;let i=n===2||n===3?t.replace(/\/[^/]+$/,""):t;return i.startsWith("/")||(i="/"+i),o&&(i=i.replace(/\//g,"\\")),i}async function pk(e){return async(t,n)=>{const o=await un(),r=ir()[0].querySelectorAll("li[file_id].selected");if(!r.length){ee({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 Z.fire({title:"文件移动到同名目录",html:a,icon:"warning",showCancelButton:true,confirmButtonText:"继续",cancelButtonText:"取消"});if(l){Z.fire({title:"文件移动到同名目录",html:"正在处理...",didOpen:()=>{Z.showLoading();}});for(let c=0;c<r.length;c++){const u=r[c],f=An($(u));if(!f.isFile)continue;const p=f.name,w=p.replace(/\.[^\.]+$/,""),g=`${c+1} / ${r.length} - `+Math.round(c/r.length*100)+"%";Z.update({html:`${g} 正在为文件「${p}」创建目录「${w}」`});const b=await V0(w,o,true);Z.update({html:`创建目录「${w}」成功。id=${b}`}),Z.update({html:`${g} 正在移动文件「${p}」到目录「${w}」`}),await lm(b,[f.id]),await an(500);}Z.hideLoading(),Z.update({html:"处理完成。刷新列表后查看最新的文件数据。",icon:"success"});}}}function hk(e,t){const n=[];for(let o=1;o<e.length;o++)n.push(e[o].file_name);return n}async function Ig(e,t,n){const o=await U0(e),s=[];for(let i=0;i<e.length;i++){e[i].name=n?n(e[i].name):e[i].name;const r=o.get(e[i].parentId);if(!r)throw new Error(`无法获取文件 "${e[i].name}" 的上级目录路径!`);const a=hk(r).map(c=>n?n(c):c),l=na([...a,e[i].name],Mo.unix);s.push(await tl(e[i],l,t));}return s}let Hl=ds.unknown;async function pa(e){const t=await Jt();Hl===ds.unknown&&(Hl=await m0(t));let n="";if(e.id==="0")n="/";else {let s=await za(e,true);s=s.map(i=>ln(t,i)),n=await tl(e,s.join("/"),e.isDir?0:2);}const o=await c0(t,n,Hl);console.log("url: ",o),window.open(o,"_blank","noopener noreferrer"),ee({title:"在CloudDrive2中查看",text:`已打开CloudDrive2链接: ${o}`,icon:"success"});}async function mk(e){return (await Bt().get(`https://webapi.115.com/files/get_repeat_sha?file_id=${e}`,{timeout:12e4,withCredentials:true})).data}function gk(e){return `https://115.com/?tab=sha1_repeat&select=1&file_id=${e}&mode=wangpan`}let wk=[];async function Dg(e){if(!ko()||!e.enableInSearch)return;const t=await nt("#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),s=[{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}],i=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=i(s);for(let f=0;f<c.length;f++){const p=c[f];if(p.querySelector(".file-opr"))continue;const w=qe('<div class="file-opr" rel="menu"></div>');w.innerHTML=u,p.classList.add(l),p.appendChild(w);}};r(),new MutationObserver(async([l])=>{l.type==="childList"&&r();}).observe(t,{childList:true});}async function yk(){const e=await dt(),t=await ed(e);return new pr({key:"_play_with_x_d",label:t.defaultPlayer.label,icon:t.defaultPlayer?.icon||"",injectDecider:nb,title:t.defaultPlayer.memo,onClick:async(n,o)=>{t.noRealDefault||Pg(t.defaultPlayer,e,n,o);},subItems:[...await fk(ii,t.customUrlItems)]})}function si(e){const t=$(e.target).closest("li"),n=An(t);return !n||!n.id?(ee({text:"无法获取当前文件信息",timer:1200}),null):n}async function bk(e){const t=[...(await rr()).filter(o=>o.enabled),...wk.filter(o=>o.enabled),...(await xs(to.search)).filter(o=>o.enabled)];let n=t.find(o=>o.key===e.defaultSearch);return n||(n=t.find(o=>o.key===ar)),new pr({key:"_search_with_name_d",label:"搜索",icon:n?.icon||"",title:n?.memo||"使用名称搜索",onClick:async(o,s)=>{s.stopPropagation(),s.preventDefault(),n&&await dr(o,n,s,e,void 0,De.listItemHover);},subItems:[...await el(ii,t)]})}async function vk(){return new ii({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 pa(n);}})}async function xk(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Ar("完整名称",ht.full)),t.copyPureName&&n.push(await Ar("不含后缀名称",ht.pure)),t.copyId&&n.push(await Ar("ID",ht.id)),t.copyPickCode&&n.push(await Ar("PickCode",ht.pickCode)),t.copySha1&&n.push(await $f(false)),t.copySha1WithName&&n.push(await $f(true)),t.copyUnixPath&&n.push(await Pr("路径(Unix)",Mn.unixPath)),t.copyWinPath&&n.push(await Pr("路径(Windows)",Mn.winPath)),t.copyParentUnixPath&&n.push(await Pr("上级路径(Unix)",Mn.unixParentPath)),t.copyParentWinPath&&n.push(await Pr("上级路径(Windows)",Mn.winParentPath)),t.viewInCloudDrive&&n.push(await vk()),new pr({key:"_lh_copy_name_path",label:"名称路径",title:"复制文件名称路径",onClick:async(o,s)=>{},subItems:n})}async function $f(e=true){return new ii({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){ee({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const s=o.hash+(e?`//${o.name}`:"");gt(s),ee({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function Ar(e,t){return new ii({key:`_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const s=si(o);if(!s)return;const i=await dt(),r=await Jt(),l=fr([s],t,c=>i.cloudDriveFormalization?ln(r,c):c);gt(l.join(`
`)),ee({title:`复制${e}`,text:`已复制选中文件信息,复制类型:${e},CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Pr(e,t){return new ii({key:`_lh_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:e,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const s=si(o);if(!s)return;const i=await dt(),r=await Jt();let a=await za(s);i.cloudDriveFormalization&&(a=a.map(u=>ln(r,u,true)),s.name=ln(r,s.name,true));let l=a.join("/");const c=await tl(s,l,t);gt(c),ee({title:"复制路径",text:`已复制选中路径,复制类型:${e},CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function _k(){return new pr({injectDecider:tb,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=Jn(n.id);window.open(o,"_blank","noopener noreferrer");}})}async function Lg(e){Z.fire({title:"查找重复文件",html:`正在查找文件:${e.name},请稍候...`,icon:"info",showConfirmButton:false,allowOutsideClick:false}),Z.showLoading();try{const t=await mk(e.id);t.state?t.data.length>1?(Z.update({html:"查找成功,将打开结果页面",icon:"success",showConfirmButton:!0}),Di(gk(e.id),{active:!0}),an(5e3).then(()=>{Z.close();})):Z.update({html:"没有重复文件",icon:"warning",showConfirmButton:!0}):Z.update({html:`查找失败!${t.code} - ${t.message}`,icon:"error",showConfirmButton:!0});}catch(t){Z.update({html:`查找失败!${t.message}`,icon:"error",showConfirmButton:true});}finally{Z.hideLoading();}}async function Ck(e){return new pr({injectDecider:eb,key:"_lh_find_repeat",label:"重复文件",icon:"",title:"查找重复文件,找到后会在新标签页中打开处理页面",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=si(n);o&&await Lg(o);}})}function kk(e){return {enabled:true,openInNewTab:true,search:true,play:true,getDownloadUrl:true,copyNames:true,namePathConfig:Qi(),findRepeat:false,exportList:false,viewInCloudDrive:true,...e}}class pr extends mn{menuType=De.listItemHover;constructor(t){super(t),this.onMouseOver=Ia,this.onMouseOut=Da;}}class ii extends mn{menuType=De.listItemHoverSub}class Sk extends Yi{menuType=De.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 s=document.querySelector("#js_data_list .list-contents > ul > li");s&&(s.querySelector(".ce-menu")||o(true));}t.addEventListener("click",async o=>{o.preventDefault(),o.stopPropagation();const s=o.target;let i=false;if((s.getAttribute("menu")==="load_all_file"||s.closest('[menu="load_all_file"]'))&&(i=true),!i)return;console.log("[ListItemHoverMenuInjector.handleLoadAll] 点击了「加载全部」按钮"),await qo(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 dt();await Dg(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 Pu=(e=>(e.background="background",e.active="active",e.undefined="undefined",e))(Pu||{});const $k={background:"后台打开",active:"激活页面",undefined:"根据菜单定义"};function Ek(e){return {enabled:true,moveToSelfNameDir:true,openInNewTab:true,copyNames:true,namePathConfig:Qi(),play:true,search:false,searchOpenType:"background",...e}}class nl extends mn{menuType=De.selection;constructor(t){super(t),this.onMouseOver=Ia,this.onMouseOut=Da;}}class zo extends mn{menuType=De.selectionSub}class Ak extends Zy{}class Pk extends Yi{menuType=De.selection;useObserver=true;observeTarget="#js_top_panel_box #js_operate_box";disposeObserverAfterInjection=false}function Tg(e){return {enabled:false,search:true,copyNames:true,namePathConfig:Qi({copyWinPath:false,copyUnixPath:false,copyParentUnixPath:false,copyParentWinPath:false,viewInCloudDrive:false}),...e}}class Mg extends mn{menuType=De.shareListItemHover;constructor(t){super(t),this.onMouseOver=Ia,this.onMouseOut=Da;}}class td extends mn{menuType=De.shareListItemHoverSub}class Ik extends Yi{menuType=De.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 De=(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))(De||{}),ms=(e=>(e.listItemHover="列表项悬浮菜单",e.listItemHoverSub="列表项悬浮子菜单",e.listItemContext="列表项右键菜单",e.listItemContextSub="列表项右键子菜单",e.selection="选中项菜单",e.selectionSub="选中项子菜单",e.dirContext="当前目录右键菜单",e.dirContextSub="当前目录右键子菜单",e.shareListItemHover="分享列表项悬浮菜单",e.shareListItemHoverSub="分享列表项悬浮子菜单",e))(ms||{}),wo=(e=>(e[e.after=0]="after",e[e.before=1]="before",e))(wo||{}),Kn=(e=>(e.none="none",e.alt="alt",e.ctrl="ctrl",e.shift="shift",e.meta="meta",e))(Kn||{});const Bg=mt.menu;function Dk(e){return {enabled:true,hideSelectionMenuLabel:false,enableInSearch:true,manageOfficialMenus:false,keyToTriggerManual:"none",injectManualFuncPosition:cm.first,m3u8TempDir:".ce-m3u8-temp",defaultPlayer:yx,defaultSearch:ar,cloudDriveFormalization:false,listItemHover:kk(e?.listItemHover),listItemContext:ib(e?.listItemContext),selection:Ek(e?.selection),dirContext:ob(e?.dirContext),shareListItemHover:Tg(e?.shareListItemHover),...e}}async function dt(){const e=Dk(),t=await Xe.get(Bg,e);return Cc(e,t)}async function nd(e){await Xe.set(Bg,e);}const Lk=["top","right","bottom","left"],Ef=["start","end"],Af=Lk.reduce((e,t)=>e.concat(t,t+"-"+Ef[0],t+"-"+Ef[1]),[]),Ni=Math.min,es=Math.max,Tk={left:"right",right:"left",bottom:"top",top:"bottom"},Mk={start:"end",end:"start"};function Iu(e,t,n){return es(e,Ni(t,n))}function Cs(e,t){return typeof e=="function"?e(t):e}function oo(e){return e.split("-")[0]}function Rn(e){return e.split("-")[1]}function Og(e){return e==="x"?"y":"x"}function od(e){return e==="y"?"height":"width"}const Bk=new Set(["top","bottom"]);function ho(e){return Bk.has(oo(e))?"y":"x"}function sd(e){return Og(ho(e))}function Rg(e,t,n){n===void 0&&(n=false);const o=Rn(e),s=sd(e),i=od(s);let r=s==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(r=ma(r)),[r,ma(r)]}function Ok(e){const t=ma(e);return [ha(e),t,ha(t)]}function ha(e){return e.replace(/start|end/g,t=>Mk[t])}const Pf=["left","right"],If=["right","left"],Rk=["top","bottom"],Fk=["bottom","top"];function Nk(e,t,n){switch(e){case "top":case "bottom":return n?t?If:Pf:t?Pf:If;case "left":case "right":return t?Rk:Fk;default:return []}}function Uk(e,t,n,o){const s=Rn(e);let i=Nk(oo(e),n==="start",o);return s&&(i=i.map(r=>r+"-"+s),t&&(i=i.concat(i.map(ha)))),i}function ma(e){return e.replace(/left|right|bottom|top/g,t=>Tk[t])}function jk(e){return {top:0,right:0,bottom:0,left:0,...e}}function Fg(e){return typeof e!="number"?jk(e):{top:e,right:e,bottom:e,left:e}}function Si(e){const{x:t,y:n,width:o,height:s}=e;return {width:o,height:s,top:n,left:t,right:t+o,bottom:n+s,x:t,y:n}}function Df(e,t,n){let{reference:o,floating:s}=e;const i=ho(t),r=sd(t),a=od(r),l=oo(t),c=i==="y",u=o.x+o.width/2-s.width/2,f=o.y+o.height/2-s.height/2,p=o[a]/2-s[a]/2;let w;switch(l){case "top":w={x:u,y:o.y-s.height};break;case "bottom":w={x:u,y:o.y+o.height};break;case "right":w={x:o.x+o.width,y:f};break;case "left":w={x:o.x-s.width,y:f};break;default:w={x:o.x,y:o.y};}switch(Rn(t)){case "start":w[r]-=p*(n&&c?-1:1);break;case "end":w[r]+=p*(n&&c?-1:1);break}return w}const zk=async(e,t,n)=>{const{placement:o="bottom",strategy:s="absolute",middleware:i=[],platform:r}=n,a=i.filter(Boolean),l=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:e,floating:t,strategy:s}),{x:u,y:f}=Df(c,o,l),p=o,w={},g=0;for(let b=0;b<a.length;b++){const{name:x,fn:A}=a[b],{x:T,y:D,data:I,reset:B}=await A({x:u,y:f,initialPlacement:o,placement:p,strategy:s,middlewareData:w,rects:c,platform:r,elements:{reference:e,floating:t}});u=T??u,f=D??f,w={...w,[x]:{...w[x],...I}},B&&g<=50&&(g++,typeof B=="object"&&(B.placement&&(p=B.placement),B.rects&&(c=B.rects===true?await r.getElementRects({reference:e,floating:t,strategy:s}):B.rects),{x:u,y:f}=Df(c,p,l)),b=-1);}return {x:u,y:f,placement:p,strategy:s,middlewareData:w}};async function ol(e,t){var n;t===void 0&&(t={});const{x:o,y:s,platform:i,rects:r,elements:a,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:p=false,padding:w=0}=Cs(t,e),g=Fg(w),x=a[p?f==="floating"?"reference":"floating":f],A=Si(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(x)))==null||n?x:x.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),T=f==="floating"?{x:o,y:s,width:r.floating.width,height:r.floating.height}:r.reference,D=await(i.getOffsetParent==null?void 0:i.getOffsetParent(a.floating)),I=await(i.isElement==null?void 0:i.isElement(D))?await(i.getScale==null?void 0:i.getScale(D))||{x:1,y:1}:{x:1,y:1},B=Si(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:T,offsetParent:D,strategy:l}):T);return {top:(A.top-B.top+g.top)/I.y,bottom:(B.bottom-A.bottom+g.bottom)/I.y,left:(A.left-B.left+g.left)/I.x,right:(B.right-A.right+g.right)/I.x}}const Hk=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:s,rects:i,platform:r,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=Cs(e,t)||{};if(c==null)return {};const f=Fg(u),p={x:n,y:o},w=sd(s),g=od(w),b=await r.getDimensions(c),x=w==="y",A=x?"top":"left",T=x?"bottom":"right",D=x?"clientHeight":"clientWidth",I=i.reference[g]+i.reference[w]-p[w]-i.floating[g],B=p[w]-i.reference[w],q=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c));let z=q?q[D]:0;(!z||!await(r.isElement==null?void 0:r.isElement(q)))&&(z=a.floating[D]||i.floating[g]);const ue=I/2-B/2,me=z/2-b[g]/2-1,se=Ni(f[A],me),F=Ni(f[T],me),U=se,Y=z-b[g]-F,le=z/2-b[g]/2+ue,be=Iu(U,le,Y),ke=!l.arrow&&Rn(s)!=null&&le!==be&&i.reference[g]/2-(le<U?se:F)-b[g]/2<0,_e=ke?le<U?le-U:le-Y:0;return {[w]:p[w]+_e,data:{[w]:be,centerOffset:le-be-_e,...ke&&{alignmentOffset:_e}},reset:ke}}});function Vk(e,t,n){return (e?[...n.filter(s=>Rn(s)===e),...n.filter(s=>Rn(s)!==e)]:n.filter(s=>oo(s)===s)).filter(s=>e?Rn(s)===e||(t?ha(s)!==s:false):true)}const qk=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,o,s;const{rects:i,middlewareData:r,placement:a,platform:l,elements:c}=t,{crossAxis:u=false,alignment:f,allowedPlacements:p=Af,autoAlignment:w=true,...g}=Cs(e,t),b=f!==void 0||p===Af?Vk(f||null,w,p):p,x=await ol(t,g),A=((n=r.autoPlacement)==null?void 0:n.index)||0,T=b[A];if(T==null)return {};const D=Rg(T,i,await(l.isRTL==null?void 0:l.isRTL(c.floating)));if(a!==T)return {reset:{placement:b[0]}};const I=[x[oo(T)],x[D[0]],x[D[1]]],B=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:T,overflows:I}],q=b[A+1];if(q)return {data:{index:A+1,overflows:B},reset:{placement:q}};const z=B.map(se=>{const F=Rn(se.placement);return [se.placement,F&&u?se.overflows.slice(0,2).reduce((U,Y)=>U+Y,0):se.overflows[0],se.overflows]}).sort((se,F)=>se[1]-F[1]),me=((s=z.filter(se=>se[2].slice(0,Rn(se[0])?2:3).every(F=>F<=0))[0])==null?void 0:s[0])||z[0][0];return me!==a?{data:{index:A+1,overflows:B},reset:{placement:me}}:{}}}},Wk=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:s,middlewareData:i,rects:r,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=true,crossAxis:f=true,fallbackPlacements:p,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:b=true,...x}=Cs(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return {};const A=oo(s),T=ho(a),D=oo(a)===a,I=await(l.isRTL==null?void 0:l.isRTL(c.floating)),B=p||(D||!b?[ma(a)]:Ok(a)),q=g!=="none";!p&&q&&B.push(...Uk(a,b,g,I));const z=[a,...B],ue=await ol(t,x),me=[];let se=((o=i.flip)==null?void 0:o.overflows)||[];if(u&&me.push(ue[A]),f){const le=Rg(s,r,I);me.push(ue[le[0]],ue[le[1]]);}if(se=[...se,{placement:s,overflows:me}],!me.every(le=>le<=0)){var F,U;const le=(((F=i.flip)==null?void 0:F.index)||0)+1,be=z[le];if(be&&(!(f==="alignment"?T!==ho(be):false)||se.every(Se=>ho(Se.placement)===T?Se.overflows[0]>0:true)))return {data:{index:le,overflows:se},reset:{placement:be}};let ke=(U=se.filter(_e=>_e.overflows[0]<=0).sort((_e,Se)=>_e.overflows[1]-Se.overflows[1])[0])==null?void 0:U.placement;if(!ke)switch(w){case "bestFit":{var Y;const _e=(Y=se.filter(Se=>{if(q){const Ne=ho(Se.placement);return Ne===T||Ne==="y"}return true}).map(Se=>[Se.placement,Se.overflows.filter(Ne=>Ne>0).reduce((Ne,ut)=>Ne+ut,0)]).sort((Se,Ne)=>Se[1]-Ne[1])[0])==null?void 0:Y[0];_e&&(ke=_e);break}case "initialPlacement":ke=a;break}if(s!==ke)return {reset:{placement:ke}}}return {}}}},Kk=new Set(["left","top"]);async function Gk(e,t){const{placement:n,platform:o,elements:s}=e,i=await(o.isRTL==null?void 0:o.isRTL(s.floating)),r=oo(n),a=Rn(n),l=ho(n)==="y",c=Kk.has(r)?-1:1,u=i&&l?-1:1,f=Cs(t,e);let{mainAxis:p,crossAxis:w,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof g=="number"&&(w=a==="end"?g*-1:g),l?{x:w*u,y:p*c}:{x:p*c,y:w*u}}const Jk=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:s,y:i,placement:r,middlewareData:a}=t,l=await Gk(t,e);return r===((n=a.offset)==null?void 0:n.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:s+l.x,y:i+l.y,data:{...l,placement:r}}}}},Yk=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:s}=t,{mainAxis:i=true,crossAxis:r=false,limiter:a={fn:x=>{let{x:A,y:T}=x;return {x:A,y:T}}},...l}=Cs(e,t),c={x:n,y:o},u=await ol(t,l),f=ho(oo(s)),p=Og(f);let w=c[p],g=c[f];if(i){const x=p==="y"?"top":"left",A=p==="y"?"bottom":"right",T=w+u[x],D=w-u[A];w=Iu(T,w,D);}if(r){const x=f==="y"?"top":"left",A=f==="y"?"bottom":"right",T=g+u[x],D=g-u[A];g=Iu(T,g,D);}const b=a.fn({...t,[p]:w,[f]:g});return {...b,data:{x:b.x-n,y:b.y-o,enabled:{[p]:i,[f]:r}}}}}},Qk=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:s,rects:i,platform:r,elements:a}=t,{apply:l=()=>{},...c}=Cs(e,t),u=await ol(t,c),f=oo(s),p=Rn(s),w=ho(s)==="y",{width:g,height:b}=i.floating;let x,A;f==="top"||f==="bottom"?(x=f,A=p===(await(r.isRTL==null?void 0:r.isRTL(a.floating))?"start":"end")?"left":"right"):(A=f,x=p==="end"?"top":"bottom");const T=b-u.top-u.bottom,D=g-u.left-u.right,I=Ni(b-u[x],T),B=Ni(g-u[A],D),q=!t.middlewareData.shift;let z=I,ue=B;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(ue=D),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(z=T),q&&!p){const se=es(u.left,0),F=es(u.right,0),U=es(u.top,0),Y=es(u.bottom,0);w?ue=g-2*(se!==0||F!==0?se+F:es(u.left,u.right)):z=b-2*(U!==0||Y!==0?U+Y:es(u.top,u.bottom));}await l({...t,availableWidth:ue,availableHeight:z});const me=await r.getDimensions(a.floating);return g!==me.width||b!==me.height?{reset:{rects:true}}:{}}}};function kn(e){var t;return ((t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Xn(e){return kn(e).getComputedStyle(e)}const Lf=Math.min,$i=Math.max,ga=Math.round;function Ng(e){const t=Xn(e);let n=parseFloat(t.width),o=parseFloat(t.height);const s=e.offsetWidth,i=e.offsetHeight,r=ga(n)!==s||ga(o)!==i;return r&&(n=s,o=i),{width:n,height:o,fallback:r}}function Ho(e){return jg(e)?(e.nodeName||"").toLowerCase():""}let Ir;function Ug(){if(Ir)return Ir;const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?(Ir=e.brands.map((t=>t.brand+"/"+t.version)).join(" "),Ir):navigator.userAgent}function Zn(e){return e instanceof kn(e).HTMLElement}function Oo(e){return e instanceof kn(e).Element}function jg(e){return e instanceof kn(e).Node}function Tf(e){return typeof ShadowRoot>"u"?false:e instanceof kn(e).ShadowRoot||e instanceof ShadowRoot}function sl(e){const{overflow:t,overflowX:n,overflowY:o,display:s}=Xn(e);return /auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(s)}function Xk(e){return ["table","td","th"].includes(Ho(e))}function Du(e){const t=/firefox/i.test(Ug()),n=Xn(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((s=>n.willChange.includes(s)))||["paint","layout","strict","content"].some((s=>{const i=n.contain;return i!=null&&i.includes(s)}))}function zg(){return !/^((?!chrome|android).)*safari/i.test(Ug())}function id(e){return ["html","body","#document"].includes(Ho(e))}function Hg(e){return Oo(e)?e:e.contextElement}const Vg={x:1,y:1};function zs(e){const t=Hg(e);if(!Zn(t))return Vg;const n=t.getBoundingClientRect(),{width:o,height:s,fallback:i}=Ng(t);let r=(i?ga(n.width):n.width)/o,a=(i?ga(n.height):n.height)/s;return r&&Number.isFinite(r)||(r=1),a&&Number.isFinite(a)||(a=1),{x:r,y:a}}function Ui(e,t,n,o){var s,i;t===void 0&&(t=false),n===void 0&&(n=false);const r=e.getBoundingClientRect(),a=Hg(e);let l=Vg;t&&(o?Oo(o)&&(l=zs(o)):l=zs(e));const c=a?kn(a):window,u=!zg()&&n;let f=(r.left+(u&&((s=c.visualViewport)==null?void 0:s.offsetLeft)||0))/l.x,p=(r.top+(u&&((i=c.visualViewport)==null?void 0:i.offsetTop)||0))/l.y,w=r.width/l.x,g=r.height/l.y;if(a){const b=kn(a),x=o&&Oo(o)?kn(o):o;let A=b.frameElement;for(;A&&o&&x!==b;){const T=zs(A),D=A.getBoundingClientRect(),I=getComputedStyle(A);D.x+=(A.clientLeft+parseFloat(I.paddingLeft))*T.x,D.y+=(A.clientTop+parseFloat(I.paddingTop))*T.y,f*=T.x,p*=T.y,w*=T.x,g*=T.y,f+=D.x,p+=D.y,A=kn(A).frameElement;}}return {width:w,height:g,top:p,right:f+w,bottom:p+g,left:f,x:f,y:p}}function Ro(e){return ((jg(e)?e.ownerDocument:e.document)||window.document).documentElement}function il(e){return Oo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function qg(e){return Ui(Ro(e)).left+il(e).scrollLeft}function ji(e){if(Ho(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Tf(e)&&e.host||Ro(e);return Tf(t)?t.host:t}function Wg(e){const t=ji(e);return id(t)?t.ownerDocument.body:Zn(t)&&sl(t)?t:Wg(t)}function wa(e,t){var n;t===void 0&&(t=[]);const o=Wg(e),s=o===((n=e.ownerDocument)==null?void 0:n.body),i=kn(o);return s?t.concat(i,i.visualViewport||[],sl(o)?o:[]):t.concat(o,wa(o))}function Mf(e,t,n){return t==="viewport"?Si((function(o,s){const i=kn(o),r=Ro(o),a=i.visualViewport;let l=r.clientWidth,c=r.clientHeight,u=0,f=0;if(a){l=a.width,c=a.height;const p=zg();(p||!p&&s==="fixed")&&(u=a.offsetLeft,f=a.offsetTop);}return {width:l,height:c,x:u,y:f}})(e,n)):Oo(t)?Si((function(o,s){const i=Ui(o,true,s==="fixed"),r=i.top+o.clientTop,a=i.left+o.clientLeft,l=Zn(o)?zs(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)):Si((function(o){const s=Ro(o),i=il(o),r=o.ownerDocument.body,a=$i(s.scrollWidth,s.clientWidth,r.scrollWidth,r.clientWidth),l=$i(s.scrollHeight,s.clientHeight,r.scrollHeight,r.clientHeight);let c=-i.scrollLeft+qg(o);const u=-i.scrollTop;return Xn(r).direction==="rtl"&&(c+=$i(s.clientWidth,r.clientWidth)-a),{width:a,height:l,x:c,y:u}})(Ro(e)))}function Bf(e){return Zn(e)&&Xn(e).position!=="fixed"?e.offsetParent:null}function Of(e){const t=kn(e);let n=Bf(e);for(;n&&Xk(n)&&Xn(n).position==="static";)n=Bf(n);return n&&(Ho(n)==="html"||Ho(n)==="body"&&Xn(n).position==="static"&&!Du(n))?t:n||(function(o){let s=ji(o);for(;Zn(s)&&!id(s);){if(Du(s))return s;s=ji(s);}return null})(e)||t}function Zk(e,t,n){const o=Zn(t),s=Ro(t),i=Ui(e,true,n==="fixed",t);let r={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(o||!o&&n!=="fixed")if((Ho(t)!=="body"||sl(s))&&(r=il(t)),Zn(t)){const l=Ui(t,true);a.x=l.x+t.clientLeft,a.y=l.y+t.clientTop;}else s&&(a.x=qg(s));return {x:i.left+r.scrollLeft-a.x,y:i.top+r.scrollTop-a.y,width:i.width,height:i.height}}const e2={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:s}=e;const i=n==="clippingAncestors"?(function(c,u){const f=u.get(c);if(f)return f;let p=wa(c).filter((x=>Oo(x)&&Ho(x)!=="body")),w=null;const g=Xn(c).position==="fixed";let b=g?ji(c):c;for(;Oo(b)&&!id(b);){const x=Xn(b),A=Du(b);(g?A||w:A||x.position!=="static"||!w||!["absolute","fixed"].includes(w.position))?w=x:p=p.filter((T=>T!==b)),b=ji(b);}return u.set(c,p),p})(t,this._c):[].concat(n),r=[...i,o],a=r[0],l=r.reduce(((c,u)=>{const f=Mf(t,u,s);return c.top=$i(f.top,c.top),c.right=Lf(f.right,c.right),c.bottom=Lf(f.bottom,c.bottom),c.left=$i(f.left,c.left),c}),Mf(t,a,s));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 s=Zn(n),i=Ro(n);if(n===i)return t;let r={scrollLeft:0,scrollTop:0},a={x:1,y:1};const l={x:0,y:0};if((s||!s&&o!=="fixed")&&((Ho(n)!=="body"||sl(i))&&(r=il(n)),Zn(n))){const c=Ui(n);a=zs(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:Oo,getDimensions:function(e){return Zn(e)?Ng(e):e.getBoundingClientRect()},getOffsetParent:Of,getDocumentElement:Ro,getScale:zs,async getElementRects(e){let{reference:t,floating:n,strategy:o}=e;const s=this.getOffsetParent||Of,i=this.getDimensions;return {reference:Zk(t,await s(n),o),floating:{x:0,y:0,...await i(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>Xn(e).direction==="rtl"},t2=(e,t,n)=>{const o=new Map,s={platform:e2,...n},i={...s.platform,_c:o};return zk(e,t,{...s,platform:i})},as={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 zi(e,t){let n=as.themes[e]||{},o;do o=n[t],typeof o>"u"?n.$extend?n=as.themes[n.$extend]||{}:(n=null,o=as[t]):n=null;while(n);return o}function n2(e){const t=[e];let n=as.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=as.themes[n.$extend]||{}):n=null;while(n);return t.map(o=>`v-popper--theme-${o}`)}function Rf(e){const t=[e];let n=as.themes[e]||{};do n.$extend?(t.push(n.$extend),n=as.themes[n.$extend]||{}):n=null;while(n);return t}let Hi=false;if(typeof window<"u"){Hi=false;try{const e=Object.defineProperty({},"passive",{get(){Hi=!0;}});window.addEventListener("test",null,e);}catch{}}let Kg=false;typeof window<"u"&&typeof navigator<"u"&&(Kg=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const Gg=["auto","top","bottom","left","right"].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),Ff={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart",pointer:"pointerdown"},Nf={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend",pointer:"pointerup"};function Uf(e,t){const n=e.indexOf(t);n!==-1&&e.splice(n,1);}function Vl(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e);}))}const Tn=[];let Xo=null;const jf={};function zf(e){let t=jf[e];return t||(t=jf[e]=[]),t}let Lu=function(){};typeof window<"u"&&(Lu=window.Element);function Ve(e){return function(t){return zi(t.theme,e)}}const ql="__floating-vue__popper",Jg=()=>xe({name:"VPopper",provide(){return {[ql]:{parentPopper:this}}},inject:{[ql]:{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=>Gg.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,Lu,Boolean],default:Ve("container")},boundary:{type:[String,Lu],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[ql])==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,s;(o=this.parentPopper)!=null&&o.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=false,(n||!this.disabled)&&(((s=this.parentPopper)==null?void 0:s.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(Jk({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");if(t?e.middleware.push(qk({alignment:this.placement.split("-")[1]??""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(Yk({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(Wk({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(Hk({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:o,rects:s,middlewareData:i})=>{let r;const{centerOffset:a}=i.arrow;return o.startsWith("top")||o.startsWith("bottom")?r=Math.abs(a)>s.reference.width/2:r=Math.abs(a)>s.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:s,placement:i,middlewareData:r})=>{var a;if((a=r.autoSize)!=null&&a.skip)return {};let l,c;return i.startsWith("top")||i.startsWith("bottom")?l=s.reference.width:c=s.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(Qk({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:o,availableHeight:s})=>{this.$_innerNode.style.maxWidth=o!=null?`${o}px`:null,this.$_innerNode.style.maxHeight=s!=null?`${s}px`:null;}})));const n=await t2(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),Xo&&this.instantMove&&Xo.instantMove&&Xo!==this.parentPopper){Xo.$_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&&(Xo=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 Vl(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...wa(this.$_referenceNode),...wa(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(),s=t.x+t.width/2-(o.left+n.offsetLeft),i=t.y+t.height/2-(o.top+n.offsetTop);this.result.transformOrigin=`${s}px ${i}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 Rf(this.theme))zf(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 Vl(),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,Uf(Tn,this),Tn.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of Rf(this.theme)){const o=zf(n);Uf(o,this),o.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`);}Xo===this&&(Xo=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 Vl(),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,Ff,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Ff,this.popperTriggers,this.popperShowTriggers,e);const t=n=>{n.usedByTooltip||this.hide({event:n});};this.$_registerTriggerListeners(this.$_targetNodes,Nf,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],Nf,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,Hi?{passive:true}:void 0));},$_registerTriggerListeners(e,t,n,o,s){let i=n;o!=null&&(i=typeof o=="function"?o(i):o),i.forEach(r=>{const a=t[r];a&&this.$_registerEventListeners(e,a,s);});},$_removeEventListeners(e){const t=[];this.$_events.forEach(n=>{const{targetNodes:o,eventType:s,handler:i}=n;!e||e===s?o.forEach(r=>r.removeEventListener(s,i)):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(Ei>=e.left&&Ei<=e.right&&Ai>=e.top&&Ai<=e.bottom){const t=this.$_popperNode.getBoundingClientRect(),n=Ei-$o,o=Ai-Eo,s=t.left+t.width/2-$o+(t.top+t.height/2)-Eo+t.width+t.height,i=$o+n*s,r=Eo+o*s;return Dr($o,Eo,i,r,t.left,t.top,t.left,t.bottom)||Dr($o,Eo,i,r,t.left,t.top,t.right,t.top)||Dr($o,Eo,i,r,t.right,t.top,t.right,t.bottom)||Dr($o,Eo,i,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(Kg){const e=Hi?{passive:true,capture:true}:true;document.addEventListener("touchstart",t=>Hf(t),e),document.addEventListener("touchend",t=>Vf(t,true),e);}else window.addEventListener("mousedown",e=>Hf(e),true),window.addEventListener("click",e=>Vf(e,false),true);window.addEventListener("resize",i2);}function Hf(e,t){for(let n=0;n<Tn.length;n++){const o=Tn[n];try{o.mouseDownContains=o.popperNode().contains(e.target);}catch{}}}function Vf(e,t){o2(e,t);}function o2(e,t){const n={};for(let o=Tn.length-1;o>=0;o--){const s=Tn[o];try{const i=s.containsGlobalTarget=s.mouseDownContains||s.popperNode().contains(e.target);s.pendingHide=!1,requestAnimationFrame(()=>{if(s.pendingHide=!1,!n[s.randomId]&&qf(s,i,e)){if(s.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&i){let a=s.parentPopper;for(;a;)n[a.randomId]=!0,a=a.parentPopper;return}let r=s.parentPopper;for(;r&&qf(r,r.containsGlobalTarget,e);)r.$_handleGlobalClose(e,t),r=r.parentPopper;}});}catch{}}}function qf(e,t,n){return n.closeAllPopover||n.closePopover&&t||s2(e,n)&&!t}function s2(e,t){if(typeof e.autoHide=="function"){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function i2(){for(let e=0;e<Tn.length;e++)Tn[e].$_computePosition();}let $o=0,Eo=0,Ei=0,Ai=0;typeof window<"u"&&window.addEventListener("mousemove",e=>{$o=Ei,Eo=Ai,Ei=e.clientX,Ai=e.clientY;},Hi?{passive:true}:void 0);function Dr(e,t,n,o,s,i,r,a){const l=((r-s)*(t-i)-(a-i)*(e-s))/((a-i)*(n-e)-(r-s)*(o-t)),c=((n-e)*(t-i)-(o-t)*(e-s))/((a-i)*(n-e)-(r-s)*(o-t));return l>=0&&l<=1&&c>=0&&c<=1}const r2={extends:Jg()},rl=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n};function a2(e,t,n,o,s,i){return C(),S("div",{ref:"reference",class:Le(["v-popper",{"v-popper--shown":e.slotData.isShown}])},[Ge(e.$slots,"default",Mx(gg(e.slotData)))],2)}const l2=rl(r2,[["render",a2]]);function u2(){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 s=e.indexOf("Edge/");return s>0?parseInt(e.substring(s+5,e.indexOf(".",s)),10):-1}let jr;function Tu(){Tu.init||(Tu.init=true,jr=u2()!==-1);}var al={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:false},ignoreWidth:{type:Boolean,default:false},ignoreHeight:{type:Boolean,default:false}},emits:["notify"],mounted(){Tu(),ps(()=>{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",jr&&this.$el.appendChild(e),e.data="about:blank",jr||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&&(!jr&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null);}}};const c2=__();v_("data-v-b329ee4c");const d2={class:"resize-observer",tabindex:"-1"};x_();const f2=c2((e,t,n,o,s,i)=>(C(),et("div",d2)));al.render=f2;al.__scopeId="data-v-b329ee4c";al.__file="src/components/ResizeObserver.vue";const Yg=(e="theme")=>({computed:{themeClass(){return n2(this[e])}}}),p2=xe({name:"VPopperContent",components:{ResizeObserver:al},mixins:[Yg()],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}}}),h2=["id","aria-hidden","tabindex","data-popper-placement"],m2={ref:"inner",class:"v-popper__inner"},g2=d("div",{class:"v-popper__arrow-outer"},null,-1),w2=d("div",{class:"v-popper__arrow-inner"},null,-1),y2=[g2,w2];function b2(e,t,n,o,s,i){const r=vo("ResizeObserver");return C(),S("div",{id:e.popperId,ref:"popover",class:Le(["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:Qn(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]=Sg(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:Qn(e.result?{transformOrigin:e.result.transformOrigin}:void 0)},[d("div",m2,[e.mounted?(C(),S(Ae,{key:0},[d("div",null,[Ge(e.$slots,"default")]),e.handleResize?(C(),et(r,{key:0,onNotify:t[1]||(t[1]=a=>e.$emit("resize",a))})):fe("",true)],64)):fe("",true)],512),d("div",{ref:"arrow",class:"v-popper__arrow-container",style:Qn(e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0)},y2,4)],4)],46,h2)}const Qg=rl(p2,[["render",b2]]),Xg={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 Mu=function(){};typeof window<"u"&&(Mu=window.Element);const v2=xe({name:"VPopperWrapper",components:{Popper:l2,PopperContent:Qg},mixins:[Xg,Yg("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,Mu,Boolean],default:void 0},boundary:{type:[String,Mu],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 x2(e,t,n,o,s,i){const r=vo("PopperContent"),a=vo("Popper");return C(),et(a,Xc({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:ge(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,show:w,hide:g,handleResize:b,onResize:x,classes:A,result:T})=>[Ge(e.$slots,"default",{shown:c,show:w,hide:g}),oe(r,{ref:"popperContent","popper-id":l,theme:e.finalTheme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":b,classes:A,result:T,onHide:g,onResize:x},{default:ge(()=>[Ge(e.$slots,"popper",{shown:c,hide:g})]),_: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 rd=rl(v2,[["render",x2]]),_2={...rd,name:"VDropdown",vPopperTheme:"dropdown"};({...rd});({...rd});const C2=xe({name:"VTooltipDirective",components:{Popper:Jg(),PopperContent:Qg},mixins:[Xg],inheritAttrs:false,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:e=>zi(e.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>zi(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;}}}),k2=["innerHTML"],S2=["textContent"];function $2(e,t,n,o,s,i){const r=vo("PopperContent"),a=vo("Popper");return C(),et(a,Xc({ref:"popper"},e.$attrs,{theme:e.theme,"target-nodes":e.targetNodes,"popper-node":()=>e.$refs.popperContent.$el,onApplyShow:e.onShow,onApplyHide:e.onHide}),{default:ge(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,hide:w,handleResize:g,onResize:b,classes:x,result:A})=>[oe(r,{ref:"popperContent",class:Le({"v-popper--tooltip-loading":e.loading}),"popper-id":l,theme:e.theme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":g,classes:x,result:A,onHide:w,onResize:b},{default:ge(()=>[e.html?(C(),S("div",{key:0,innerHTML:e.finalContent},null,8,k2)):(C(),S("div",{key:1,textContent:O(e.finalContent)},null,8,S2))]),_: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 E2=rl(C2,[["render",$2]]),Zg="v-popper--has-tooltip";function A2(e,t){let n=e.placement;if(!n&&t)for(const o of Gg)t[o]&&(n=o);return n||(n=zi(e.theme||"tooltip","placement")),n}function ew(e,t,n){let o;const s=typeof t;return s==="string"?o={content:t}:t&&s==="object"?o=t:o={content:false},o.placement=A2(o,n),o.targetNodes=()=>[e],o.referenceNode=()=>e,o}let Wl,Vi,P2=0;function I2(){if(Wl)return;Vi=V([]),Wl=io({name:"VTooltipDirectiveApp",setup(){return {directives:Vi}},render(){return this.directives.map(t=>EC(E2,{...t.options,shown:t.shown||t.options.shown,key:t.id}))},devtools:{hide:true}});const e=document.createElement("div");document.body.appendChild(e),Wl.mount(e);}function D2(e,t,n){I2();const o=V(ew(e,t,n)),s=V(false),i={id:P2++,options:o,shown:s};return Vi.value.push(i),e.classList&&e.classList.add(Zg),e.$_popper={options:o,item:i,show(){s.value=true;},hide(){s.value=false;}}}function tw(e){if(e.$_popper){const t=Vi.value.indexOf(e.$_popper.item);t!==-1&&Vi.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget;}e.classList&&e.classList.remove(Zg);}function Wf(e,{value:t,modifiers:n}){const o=ew(e,t,n);if(!o.content||zi(o.theme||"tooltip","disabled"))tw(e);else {let s;e.$_popper?(s=e.$_popper,s.options.value=o):s=D2(e,t,n),typeof t.shown<"u"&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?s.show():s.hide());}}const L2={beforeMount:Wf,updated:Wf,beforeUnmount(e){tw(e);}},ad=L2,ks=_2,T2={key:0,class:"ce-custom-url-help"},M2={class:"ce-custom-url-help-body"},B2={key:0},O2={class:"pure-table pure-table-bordered"},R2=["onClick"],F2=xe({__name:"CustomUrlHelp",setup(e){const t=V(ax),n=V(false);jt(async()=>{window.addEventListener("message",s=>{const{event:i}=s.data;i==="customUrlHelp"&&(n.value=true);},false);});async function o(s){gt(s.key),ee({text:"已复制到剪贴板",icon:"success",timer:1e3});}return (s,i)=>n.value?(C(),S("div",T2,[d("div",M2,[d("h1",null,[i[1]||(i[1]=P(" 自定义菜单变量说明 ",-1)),d("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=r=>n.value=false)},"关闭")]),i[3]||(i[3]=d("hr",null,null,-1)),(C(true),S(Ae,null,ze(t.value,(r,a)=>(C(),S("div",{key:a},[d("h2",null,O(r.label),1),r.memo?(C(),S("p",B2,O(r.memo),1)):fe("",true),d("table",O2,[i[2]||(i[2]=d("thead",null,[d("tr",null,[d("th",{width:"50%"},"变量"),d("th",{width:"50%"},"说明")])],-1)),d("tbody",null,[(C(true),S(Ae,null,ze(r.items,(l,c)=>(C(),S("tr",{key:c},[d("td",null,[d("span",{class:"ce-variable",onClick:u=>o(l)},O(l.key),9,R2)]),d("td",null,O(l.label),1)]))),128))])])]))),128))])])):fe("",true)}}),Pe=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},N2=Pe(F2,[["__file","CustomUrlHelp.vue"]]),U2='@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}';$t(U2);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"}]},z2={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:"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"}]},H2={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"}]},V2={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:"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"}]},nw=mt.hiddenOfficialMenuKeys;async function ow(){return await Xe.get(nw,[])}async function q2(e,t=false){await Xe.set(nw,e),t&&(unsafeWindow.postMessage({event:it.officialMenuStyleChange},"*"),unsafeWindow.frames.wangpan?.postMessage({event:it.officialMenuStyleChange},"*"));}async function W2(e){const t=[];return e.forEach(n=>{n.items.forEach(o=>{o.hidden&&t.push(`${n.key}_${o.key}`);});}),t}async function sw(){const e=[z2,H2,V2,j2],t=await ow();return e.forEach(n=>{n.items.forEach(o=>{const s=`${n.key}_${o.key}`;t.includes(s)?o.hidden=true:o.hidden=false;});}),e}async function K2(){const e=await sw(),t=[];return e.forEach(n=>{n.hiddenStyles.forEach(o=>{const s=[];n.items.forEach(i=>{i.hidden&&s.push(o.selector.replace("{key}",i.key));}),s.length&&t.push(s.join(`,
`)+" { "+o.css+" }");});}),t.join(`
`)}async function Kf(){const e="cloud115EnhancerOfficialMenuStyle",t=await K2();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 iw=mt.list;var rw=(e=>(e.view="view",e.list="list",e.default="_",e))(rw||{});function G2(e){return {sizeSorter:true,sizeSorterDirAttrInterval:100,showFolderSizeButton:true,hoverShowFolderSize:false,showQuickViewButton:true,hoverShowQuickView:false,showBatchFolderSizeButton:false,showSha1:false,clickSha1WithCtrlToFindRepeat:false,showOpenDirContextMenu:true,hoverShowDirContextMenu:false,showCreateDirButton:false,hideTopCreateButton:false,showCopyButtonOnPathBar:false,showGotoButtonOnPathBar:false,noUpdateDirAfterRename:false,noReloadAfterMove:false,claimSelectedAfterCreateDir:false,afterCreateDirBehavior:"goto",fileSelectorDefaultView:"_",followHistoryState:false,showOnlyFileFilter:false,fileFilterExtensions:"",fixShortcut:false,enhanceLocationLinks:true,dragToQuickEntry:false,quickEntryAvoidCovered:false,hideSelectionMenuOnDrag:false,makeMoreImageViewable:false,...e}}async function hr(){const e=G2(),t=await Xe.get(iw,e);return {...e,...t}}async function J2(e){await Xe.set(iw,e);}var Bn=(e=>(e[e.asc=0]="asc",e[e.desc=1]="desc",e))(Bn||{});const aw=`
== 基础操作 ==
快捷键 功能 说明
---------- ---------- -----------------------------------
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 Y2(){if(window!==window.top)return;async function e(t){const n=Pt();n&&n.Core?.FileConfig?.DataAPI&&t(true);}try{return await qo(e,250,3e4)}catch(t){throw new Error(`awaitDataAPI failed:${t.toString()}`)}}async function Q2(e){if(!e.showOnlyFileFilter&&!e.fileFilterExtensions)return;const t=yn(),n=ko();!t&&!n||(X2(e,t),Z2(e,t,n));}async function X2(e,t,n){if(!e.showOnlyFileFilter)return;const o=Cn.file,s=qe(`
<a href="javascript:;" menu="filter" val="${o}">
<i class="iofl-max"></i><span>仅文件</span>
</a>
`),r=await nt(t?'#js_filter_box a[val="other"]':'#js_search_filter_popup a[val="other"]');r.parentNode?.insertBefore(s,r);}async function Z2(e,t,n){const o=e.fileFilterExtensions.split(/\s*[,,]+\s*/).map(f=>f.trim().toLowerCase()).filter(f=>f!=="");if(!o.length)return;const s=await Wn("#js_filter_box, #js_search_filter_popup"),i=$('<div class="ce-filter-ext-wrap"></div>');let r,a;const l=f=>{r=new Promise(p=>{a=p;}).then(()=>{s.find(".selected")?.removeClass("selected"),i.find(`a[val="${f}"]`)?.addClass("selected");const p=Ue("#js_filter_type");p&&(p.textContent=`扩展名: ${f}`);});},c=async f=>{f.stopPropagation(),f.preventDefault();const w=f.currentTarget.getAttribute("val")||"";w&&(l(w),await om(mo({show_dir:La.false,suffix:w})));},u=f=>{const p=qe(`
<a href="javascript:;" val="${f}" title="筛选扩展名: ${f}">${f}</a>
`);return p.addEventListener("click",c),p};window.addEventListener("message",async f=>{if(f.data.event===it.listRendered){if(!r||!a)return;await zy(r)?s.find(".selected[menu]").length&&i.find(".selected")?.removeClass("selected"):a();}});for(const f of o){const p=u(f);i.append(p);}t?s.append(i):n&&s.find(".list-filter").append(i);}async function eS(e){if(window!==window.top||!e.fixShortcut)return;const t="js-main_mode";await tc('a[data-nav="file"]');let n=Ue("#"+t);if(n){console.warn(`[fixShortcut] #${t} found, skip`);return}n=qe(`
<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===it.topDomChanged){const i=Ue("div.dialog-box.window-current > div.dialog-header > h3");if(i&&i.textContent?.includes("快捷键说明")){const r=Ue(".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=qe(`
<pre>${aw.replace(/==/g,"=".repeat(28))}</pre>
`),c=qe(`
<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);}),i.appendChild(c),r.classList.add("ce-sid","ce-sid-active"),r.replaceChildren(l);}}});}async function tS(e){if(window!==window.top||!e.followHistoryState)return;const t=async n=>{const o=Pa("cid"),s=await un(false);o!==s&&Pt().wangpan.Main.Action.Handlers.GotoDir({cid:o});};window.addEventListener("popstate",t);}async function nS(e){Ue("div#js_data_list")?.addEventListener("mousedown",n=>{n.target.classList.contains("ce-inj")&&n.stopPropagation();});}async function oS(e){yn()&&e.dragToQuickEntry&&(Gf(),qy("#js_file_category_box",ct(Gf,200),{childList:true,subtree:true}),sS(e));}async function Gf(){const t=(await nt("#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 sS(e){const t=Pt().wangpan?.Main;if(!t)return;const n="ce-show-quick-entry";if(e.hideSelectionMenuOnDrag||document.body.addEventListener("keydown",s=>{s.ctrlKey&&Ue("#js_operate_box")?.classList.toggle(n);}),e.hideSelectionMenuOnDrag){let s=0;const i=500;document.body.addEventListener("mousemove",r=>{const a=Date.now();if(a-s<i)return;s=a;const l=Ue(".popup-move-hint");l&&l.style.display!=="none"?Ue("#js_operate_box")?.classList.add(n):Ue("#js_operate_box")?.classList.remove(n);});}const o=t.List.WriteSelectText;t.List.WriteSelectText=s=>{o(s),Ue("#js_operate_box")?.classList.remove(n);};}async function iS(e){if(!e.makeMoreImageViewable)return;const t=["webp"],n=Pt();n.UPLOAD_CONFIG&&n.UPLOAD_CONFIG[3].upload_type_limit.push(...t);}async function rS(e){if(!e.showCreateDirButton||!yn())return;if(e.hideTopCreateButton){const o=Ue('[data-dropdown-tab="create_new_add_dir"]');o&&(o.style.display="none");}const t=Ue(".header-name");if(!t||t.querySelector(".ce-btn-create-dir"))return;const n=qe(`
<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 aS(e){if(yn()){const t="ce-list-page";document.body.classList.add(t),parent.document.body.classList.add(t);}}async function lS(e){ld(e.fileSelectorDefaultView);}function uS(){return unsafeWindow.localStorage.getItem("FS_view")||"_"}function ld(e){let t=uS();console.log(`[performSetSelectorView] 当前视图: ${t},目标视图: ${e}`);const n=()=>{ld(t),console.warn(`[performSetSelectorView] 回滚到之前的视图: ${t}`);};return unsafeWindow.localStorage.setItem("FS_view",e),n}async function cS(e){if(!e.noUpdateDirAfterRename||window!==window.top)return;let t=true,n="",o=false;const s=Pt(),i=Core.FileReNameDG.Show,r=s.Core.Dir.Rename,a=s.Core.FileConfig.DataAPI.UpdateDir;s.Core.FileReNameDG.Show=async(...l)=>{n=l[0],o=true,i(...l);},s.Core.Dir.Rename=async(...l)=>{n=l[1],o=false,r(...l);},s.Core.FileConfig.DataAPI.UpdateDir=async l=>{if(t){const c=ir();let u=`li[file_id="${n}"]`;o||(u=`li[cate_id="${n}"]`);const f=c.find(u);if(f.length){if(f.hasClass("ce-temp-cur-dir")){console.warn("[list handleNoUpdateDirAfterRename] $file is ce-temp-cur-dir"),ee({icon:"warning",text:"重命名的是当前目录,忽略「重命名后不刷新列表」选项"}),a(l);return}if(ee({icon:"info",text:"启用了「重命名后不刷新列表」选项,不会刷新文件列表"}),f.find(".file-modified span").text("刚刚"),!o){const p=await Tt(n),{file_name:w}=p;f.attr("cate_name",w),f.attr("title",w);const g=f.find(".file-name a.name");g.length?(g.attr("title",w).text(w),g.text(w)):console.warn("[list handleNoUpdateDirAfterRename] $name not found");}}else console.warn("[list handleNoUpdateDirAfterRename] $file not found");}else a(l);},window.addEventListener("message",async l=>{if(l.data.event===it.topDomChanged){const u=Ue("div.dialog-box.window-current > div.dialog-header > h3");if(u&&u.textContent?.includes("重命名")){const f=Ue("div.dialog-box.window-current .file-rename");if(!f){console.warn("[list handleNoUpdateDirAfterRename] .file-rename not found");return}const p=qe(`
<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>`);f.insertAdjacentElement("afterend",p);const w=Ue("#cbNoUpdateDir");w&&(w.checked=t,w.addEventListener("change",()=>{t=w.checked;}));}}});}async function dS(e){if(!e.noReloadAfterMove||window!==window.top)return;let t=true,n=[];const o=Pt(),s=o.Core.FileMenu.DoEvent,i=o.Core.FileConfig.DataAPI.Reload;o.Core.FileConfig.DataAPI.Reload=async(...r)=>{if(t){ee({icon:"info",text:"启用了「移动后不刷新文本列表」选项,不会刷新文件列表"});for(let a=0;a<n.length;a++)zp(n[a][0]);}else i(...r);},o.Core.FileMenu.DoEvent=async(...r)=>{n=r[0],s(...r);},window.addEventListener("message",async r=>{if(r.data.event!==it.topDomChanged)return;const l="ce-no-update-dir-after-move",c=Ue("div.dialog-box.window-current > div.dialog-header > h3");if(!c||!c.textContent?.includes("打开要移动")){const p=Ue(`.${l}`);p&&(p.style.display="none");return}const u=Ue("div.dialog-box.window-current .select-footer");if(!u){console.warn("[list handleNoUpdateDirAfterMove] .select-footer not found");return}let f=Ue("#cbNoReload");if(f){const p=Ue(`.${l}`);p&&(p.style.display="block");}else {const p=qe(`<div class="${l}"/>`),w=`
<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=w,u.insertAdjacentElement("afterend",p),f=Ue("#cbNoReload"),f&&(f.checked=t,f.addEventListener("change",()=>{t=f.checked;}));}});}async function fS(e){if(window!==window.top)return;let t=e.claimSelectedAfterCreateDir;const n=Pt(),o=n.Core.Dir.Create;n.Core.Dir.Create=async(i,r,a)=>{const l=await _o(true);l.length&&s(),o(i,r,async c=>{if(console.warn("Directory created:",c),t&&l.length){const u=l.map(f=>f.id);try{const f=await lm(c.cid,u);console.log("[list claimSelectedAfterCreateDir] moveFiles result:",f),f.state?ee({icon:"success",text:"移动选中的文件到新文件夹成功"}):Z.fire({icon:"error",html:`移动选中的文件到新文件夹失败: ${$0(f)}`});}catch(f){console.error("[list claimSelectedAfterCreateDir] moveFiles error:",f),Z.fire({icon:"error",html:`移动选中文件到新文件夹时出错: ${f.toString()}`});}}a?a(c):n.wangpan.Main.GotoDir(1,c.cid,0,"");});};const s=async i=>{const r=await nt("div.dialog-box.window-current > div.dialog-header > h3");if(!r||!r.textContent?.includes("新建文件夹"))return;const a=Ue("div.dialog-box.window-current .dialog-action");if(!a){console.warn("[list claimSelectedAfterCreateDir] .dialog-action not found");return}const l="cbClaim";let c=Ue(`#${l}`);if(!c){const u=document.createElement("div"),f=`
<div style="padding: 6px 30px 0;">
<label style="font-size: 18px; color: #1890ff;">
<input id="${l}" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 移动选中文件到新文件夹
</label>
<p style="font-size: 14px; color: #ff4949;">创建新文件夹成功后,自动移动当前选中的文件或文件夹到新该文件夹下。</p>
</div>`;u.innerHTML=f,a.insertAdjacentElement("beforebegin",u),c=Ue(`#${l}`),c&&(c.checked=t,c.addEventListener("change",()=>{t=c.checked;}));}};}async function pS(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 Wn(n.list),s="ce-url-done",i=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(s))return;let l=i(a);l&&(a.attr("href",Jn(l)),a.addClass(s),n.removeAttrs&&n.removeAttrs.map(c=>{a.removeAttr(c);}));};o.on("mouseover",n.link,a=>{const l=$(a.currentTarget);r(l);}),o.on("click",`.${s}`,a=>{const c=$(a.currentTarget).attr("href");if(!c)return true;if(a.preventDefault(),a.stopPropagation(),a.ctrlKey||a.metaKey)Di(c,{active:false});else {const{defaultAction:u=2}=n,f=Pt();u===1?f.open(c,"_blank"):u===2&&(f.location.href=c);}return false});}async function hS(e,t,n){if(!e.showSha1||!n.hash)return;t.addClass("ce-show-sha1");const o=t.find(".file-name"),s="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),i=qe(`
<span class="ce-file-sha1 ce-inj" title="${s}">${n.hash}</span>
`),r=()=>{gt(n.hash),ee({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};i.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?Lg(n):r();}),o.append(i);}async function mS(e,t,n){const o=[],s=await gS(e,t,n);s&&o.push(s);const i=await wS(e,t,n);if(i&&o.push(i),o.length){const r=t.find(".file-size");if(!r.length){console.warn("[injectToSizeCell] 未找到文件大小元素,跳过:",n,t);return}r.append(...o);}}async function gS(e,t,n){if(!e.showFolderSizeButton||!n.isDir)return null;const o=t.find(".file-size"),s=(e.hoverShowFolderSize?"点击或鼠标悬浮":"点击")+"获取该文件夹大小",i=qe(`
<span class="ce-btn-folder-size ce-inj" title="${s}">大小</span>
`);let r;const a=async l=>{l.preventDefault(),l.stopPropagation();try{const c=await Tt(n.id);o.find("span:eq(0)").text(c.size);let u=c.folder_count>0?`目录${c.folder_count}`:"";if(u+=c.count>0?(u!==""?",":"")+`文件${c.count}`:"",u!==""){let f=o.find(".ce-s-d");f.length||(f=$('<div class="ce-s-d"></div>'),o.append(f)),f.text(u);}t.addClass("ce-size-got"),ee({title:"获取大小",text:"已获取文件夹大小",icon:"success",timer:1500});}catch(c){console.error(c),ee({title:"获取大小失败",text:c.toString(),icon:"error"});return}};return i.addEventListener("click",async l=>{r&&clearTimeout(r),await a(l);}),e.hoverShowFolderSize&&(i.addEventListener("mouseenter",async l=>{r&&clearTimeout(r),r=setTimeout(async()=>{await a(l);},200);}),i.addEventListener("mouseleave",()=>{r&&clearTimeout(r);})),i}let Pi;async function Jf(e,t,n,o){Pi&&clearTimeout(Pi),o.preventDefault(),o.stopPropagation();const s=ld(rw.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=Pt(),l=a.Core;l.FileSelectDG.Open(c=>{s();},{nf:0,title:r,init_cid:n.id,show_record:1,show_copy:1,btn_txt:"关闭",select_txt:"查看",not_select_file:"xxx"});try{(await nt("#ce-qv-open",200,3e4,a.window.document)).addEventListener("click",()=>{const u=l.FileSelectDG.GetBackPaths(),f=u[u.length-1].cid;window.open(Jn(f),"_blank");});}catch(c){ee({icon:"error",text:`未找到"新页面打开"按钮!${c.toString()}`});}}async function wS(e,t,n){if(!e.showQuickViewButton||!n.isDir)return null;const o=qe(`
<span class="ce-btn-folder-size ce-inj" title="快速查看该目录子文件列表">查看</span>
`);return o.addEventListener("click",s=>{Jf(e,t,n,s);}),e.hoverShowQuickView&&(o.addEventListener("mouseenter",async s=>{Pi=setTimeout(async()=>{await Jf(e,t,n,s);},300);}),o.addEventListener("mouseleave",()=>{Pi&&clearTimeout(Pi);})),o}async function yS(e){if(!e.showBatchFolderSizeButton)return;const t="ce-injected-s",n="ce-s-ing",o=Ue(".header-size");if(!o||o.classList.contains(t))return;const s=o,i=qe(`
<a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小">
<span>大小</span>
</a>
`);i.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),!i.classList.contains(n))try{i.classList.add(n),await ud(!1,!1,!1);}catch(a){console.error(a),ee({title:"获取子文件夹大小失败",text:a.toString(),icon:"error"});}finally{i.classList.remove(n);}}),s.appendChild(i),s.classList.add(t);}async function bS(e){if(!e.sizeSorter)return;const t="ce-injected",n="ce-size-sort-ing",o=Ue(".header-size");if(!o||o.classList.contains(t))return;const s=o,i=qe(`
<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>
`);i.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),i.classList.contains("el-size-sort-ing"))return;const a="by-desc",l="by-asc";try{i.classList.add(n);let c=Bn.desc;i.classList.contains(a)?c=Bn.asc:c=Bn.desc;const u=await un(!1);await ya(u,c,!1,!1),c===Bn.asc?(i.classList.remove(a),i.classList.add(l)):(i.classList.remove(l),i.classList.add(a));}catch(c){console.error(c),ee({title:"排序失败",text:c.toString(),icon:"error"});}finally{i.classList.remove(n);}}),s.appendChild(i),s.classList.add(t);}async function ud(e,t,n=false){await hr();const o=await un(false),s=ni(),i=await _o(false);console.log("[items]",i),ee({html:"正在获取子文件夹大小...",icon:"info",position:"top-end",timer:0}),Z.showLoading();for(let r=0;r<i.length;r++){const a=i[r];if(!a.isDir)continue;const l=s.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 Tt(a.id);Z.update({html:`[${r+1} / ${i.length}] 正在获取子文件夹大小:${a.name}`}),u.text(f.size);let p=f.folder_count>0?`目录${f.folder_count}`:"";if(p+=f.count>0?(p!==""?",":"")+`文件${f.count}`:"",p!==""){let w=c.find(".ce-s-d");w.length||(w=$('<div class="ce-s-d"></div>'),c.append(w)),w.text(p);}l.addClass("ce-size-got");}return Z.hideLoading(),e?await vS(o):ee({html:"已获取子文件夹大小",icon:"success",timer:1500,position:"top-end"}),o}async function ya(e,t,n,o){const s=ni();s.find('li[file_type="0"]:not(.ce-size-got)').length>0&&await ud(n,o,false);const r=s.find("ul"),a=r.children("li").toArray();a.sort(function(c,u){const f=$(c),p=$(u),w=Cd(f.find(".file-size span:eq(0)").text()),g=Cd(p.find(".file-size span:eq(0)").text());return t===Bn.asc?w-g:g-w});const l=$("<ul></ul>");$.each(a,function(c,u){l.append(u);}),r.replaceWith(l),n?Z.update({title:"排序完成",html:`已完成排序: ${t===Bn.asc?"小 > 大":"大 > 小"}`,icon:"success"}):ee({html:`已完成排序: ${t===Bn.asc?"小 > 大":"大 > 小"}`,icon:"success",timer:1500,position:"top-end"});}async function vS(e){Z.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"),ya(e,Bn.desc,true,true),false),preDeny:async()=>(console.log("preDeny"),ya(e,Bn.asc,true,true),false)});}async function xS(){const e=await hr();e.sizeSorter&&e.showBatchFolderSizeButton&&Ty(".list-header .header-size { min-width: 142px !important;}"),await Bu();const t=await nt("#js_data_list");_S(),new MutationObserver(async([o])=>{o.type==="childList"&&(window.postMessage({event:it.listRendered}),await Bu());}).observe(t,{childList:true});}async function _S(){if(window.top===window.self)return;const e=Ue("#js_pagination_box");if(!e){console.warn("[list.handleLoadAll] 未找到「#js_pagination_box」元素");return}function t(n){Ue("#js_data_list .list-contents > ul > li")&&n(true);}e.addEventListener("click",async n=>{n.preventDefault(),n.stopPropagation();const o=n.target;let s=false;if((o.getAttribute("menu")==="load_all_file"||o.closest('[menu="load_all_file"]'))&&(s=true),!s)return;console.log("[list.handleLoadAll] 点击了「加载全部」按钮"),await qo(t,500,3e5);const i=Ue("#js_data_list .list-contents > ul");i?.removeAttribute("ce-done2");const r=Ue("#js_data_list");r&&r.querySelectorAll(".list-contents > ul:not([ce-done2]) > li").length&&(i?.setAttribute("ce-done2",""),await Bu());});}async function Bu(){const e=await hr();bS(e),yS(e),rS(e),kS(e),ko();const t=em(false);for(let n=0;n<t.length;n++){const o=t.eq(n),s=An(o);await CS(e,o,s);}}async function CS(e,t,n,o){await hS(e,t,n),await mS(e,t,n);}async function kS(e){if(!e.showOpenDirContextMenu||await un(false)===""||ko())return;const n=Ue(".header-name");if(!n||n.classList.contains("ce-injected"))return;const o=n,s=document.createElement("a");s.classList.add("ce-open-dir-context-menu"),s.title="打开当前目录的功能菜单",s.innerHTML="<span>目录功能菜单</span>";let i;const r=async a=>{i&&clearTimeout(i),a.preventDefault(),a.stopPropagation();try{const l=Pt(),c=await un(!1),u=s.getBoundingClientRect();l.Core.FileMenu.FileRight("1",c,!1,u.x,u.y+8,void 0,!1);}catch(l){console.error(l);}};s.addEventListener("click",r),e.hoverShowDirContextMenu&&(s.addEventListener("mouseenter",async a=>{i=setTimeout(async()=>{await r(a);},300);}),s.addEventListener("mouseleave",()=>{i&&clearTimeout(i);})),o.appendChild(s),o.classList.add("ce-injected");}let SS=[];async function lw(e,t,n){n.stopPropagation(),n.preventDefault();try{const o=await Co(!1,1e3);if(!o)return;const s=An(o),i=await Jt(),r=await Li(s,e,i);if(e.key==="p_builtin_115plus"){const a=n.metaKey||n.ctrlKey;fa(void 0,s.id,a);return}if(Sc(r)){const l=(await _o(!1)).find(c=>c.playDuration&&c.playDuration>0);Ag(s.id,l);return}if(console.log("[play url]",r),!r)throw new Error("无法获取有效的播放链接!");window.open(r,"_blank","noopener noreferrer");}catch(o){console.error(o),ee({title:"播放失败",text:o.toString(),icon:"error"});}}async function $S(e,t){const n=[];for(const o of t){const s=Aa(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:"播放当前目录"+(o.memo?` - ${o.memo}`:""),onClick:async(i,r)=>{lw(o,i,r);}});n.push(s);}return n}async function ES(){const e=await dt(),t=await ed(e),{memo:n=""}=t.defaultPlayer;return new Kt({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,s)=>{await o.closeMenu(),!t.noRealDefault&&lw(t.defaultPlayer,o,s);},subItems:[...await $S(nc,t.customUrlItems)]})}async function AS(){return new Kt({key:"_rename_dir",label:"重命名文件夹",icon:"icon-operate ifo-rename",title:'重命名当前目录,支持"高级模式"',onClick:async(e,t)=>{await e.closeMenu();const n=await Co();n&&unsafeWindow.Core.Dir.Rename("1",n.attr("cate_id"),n.attr("title"));}})}async function PS(){return new Kt({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 un(false);if(!n||n==="0"){await pa({id:"0",name:"根目录",isDir:true});return}const o=await Co(false,1e3);if(!o)return;const s=An(o);await pa(s);}})}async function IS(){return new Kt({key:"_move_dir",label:"移动文件夹",icon:"icon-operate ifo-move",title:"移动当前文件夹到其他位置",onClick:cd("move")})}async function DS(){return new Kt({key:"_del_dir",label:"删除文件夹",icon:"icon-operate ifo-remove",title:"删除当前文件夹",onClick:async(e,t)=>{await e.closeMenu();const n=await Co();if(!n)return;const o=ir();unsafeWindow.Core.FileAPI.DeleteFile([n],s=>{n.remove(),o.find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last").prev()[0].click();},true);}})}function cd(e,t){return async(n,o)=>{await n.closeMenu();const s=await Co();s&&await B0(s,e);}}async function LS(){return new Kt({key:"_copy_dir",label:"复制文件夹",icon:"icon-operate ifo-copy",title:"复制当前文件夹",onClick:cd("set_copy")})}async function TS(){return new Kt({key:"_copy_dir_to",label:"复制文件夹到",icon:"icon-operate ifo-copyto",title:"复制当前文件夹到其他位置",onClick:cd("copy_list")})}async function MS(e){const{namePathConfig:t}=e,n=[{b:t.copyFullName,v:()=>Kl("完整名称",ht.full)},{b:t.copyId,v:()=>Kl("ID",ht.id)},{b:t.copyPickCode,v:()=>Kl("PickCode",ht.pickCode)},{b:t.copyUnixPath,v:()=>Yf("路径(Unix)",Mn.unixPath)},{b:t.copyWinPath,v:()=>Yf("路径(Windows)",Mn.winPath)},{b:t.viewInCloudDrive,v:()=>PS()}],o=await Promise.all(n.filter(s=>s.b).map(s=>s.v()));return new Kt({key:"_dir_copy_names",label:"名称路径",icon:"icon-operate ifo-copy",title:"获取当前目录的名称、路径等信息",subItems:o})}async function BS(e,t){const n=[...(await rr()).filter(i=>i.enabled),...SS.filter(i=>i.enabled),...(await xs(to.search)).filter(i=>i.enabled)];let o=n.find(i=>i.key===t.defaultSearch);o||(o=n.find(i=>i.key===ar));const s=async i=>{const r=await Co(false,1e3);if(!r)throw new Error("无法获取当前目录项");return An(r)};return new Kt({key:"_d_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"使用名称搜索",onClick:async(i,r)=>{r.stopPropagation(),r.preventDefault(),await i.closeMenu(),o&&await dr(i,o,r,t,s,De.dirContextSub);},subItems:[...await el(nc,n,s,De.dirContextSub)]})}async function OS(){return new Kt({key:"view_dir_attribute",label:"查看属性",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu();const n=await Co();n&&Pt().Core.FileAPI.getAttribute(n,{showPlayLongChange:function(o,s,i){P0().CACHE.FileMain.List.ResetPlayLongText(o,s,i);}},function(){console.log("查看属性 ok");});}})}async function Kl(e,t){return new Kt({key:`_d_copy_self_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制当前目录的${e}`,onClick:async(n,o)=>{await n.closeMenu();const s=await Co(false,1e3);if(!s)return;const i=An(s),r=await dt(),a=await Jt(),c=fr([i],t,u=>r.cloudDriveFormalization?ln(a,u):u);gt(c.join(`
`)),ee({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function Yf(e,t){return new Kt({key:`_d_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制当前目录路径",onClick:async(n,o)=>{await n.closeMenu();const s=await Co(false,1e3);if(!s)return;const i=An(s),r=await dt(),a=await Jt(),c=await Ig([i],t,u=>r.cloudDriveFormalization?ln(a,u):u);gt(c.join(`
`)),ee({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function RS(){return new Kt({key:"show_sub_folder_size",label:"子文件夹大小",title:"显示当前目录下已加载的所有子文件夹的大小",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await ud(false,false,false);}})}async function FS(){return new Kt({key:"show_sub_folder_size_sort",label:"子文件夹大小+排序",title:"显示当前目录下已加载的所有子文件夹的大小,并进行排序",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await ya("",Bn.desc,true,true);}})}async function NS(e){const{[De.dirContext]:t}=e;if(!t.enabled)return;const n=[...t.topLevelMenus,"play","copyNames","search"],o=[],s=[],i=new Map;t.rename&&i.set("rename",await AS()),t.delete&&i.set("delete",await DS()),t.play&&i.set("play",await ES()),t.copyNames&&i.set("copyNames",await MS(t)),t.search&&i.set("search",await BS(t,e)),t.move&&i.set("move",await IS()),t.viewProp&&i.set("viewProp",await OS()),t.showSubFolderSize&&i.set("showSubFolderSize",await RS()),t.showSubFolderSizeAndSort&&i.set("showSubFolderSizeAndSort",await FS()),t.copy&&i.set("copy",await LS()),t.copyTo&&i.set("copyTo",await TS());const r=i.keys();for(const l of r){const c=i.get(l);c&&(n.includes(l)?o.push(c):s.push(c));}s.length>1?o.push(new Kt({key:"_dir_more",label:"更多",icon:"icon-operate ifo-open",subItems:s})):s.length===1&&o.push(s[0]),await new sb({items:o,siblingSelector:'[val="upload"]',position:wo.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 US(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Es("完整名称",ht.full)),t.copyPureName&&n.push(await Es("不含后缀名称",ht.pure)),t.copyFullName&&n.push(await Es("完整名称(去重)",ht.fullUnique)),t.copyPureName&&n.push(await Es("不含后缀名称(去重)",ht.pureUnique)),t.copyId&&n.push(await Es("ID",ht.id)),t.copyPickCode&&n.push(await Es("PickCode",ht.pickCode)),t.copySha1&&n.push(await Xf(false)),t.copySha1WithName&&n.push(await Xf(true)),t.copyUnixPath&&n.push(await Qf("路径(Unix)",Mn.unixPath)),t.copyWinPath&&n.push(await Qf("路径(Windows)",Mn.winPath)),t.viewInCloudDrive&&n.push(await jS()),new Xi({key:"_lc_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制文件的名称路径",subItems:n})}function ll(){const e=F0();return !e||!e.n?(ee({text:"无法获取当前文件信息",timer:1200}),null):vs(e)}async function Es(e,t){return new Xi({key:`_lc_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{await n.closeMenu();const s=ll();if(!s)return;const i=await dt(),r=await Jt(),l=fr([s],t,c=>i.cloudDriveFormalization?ln(r,c):c);gt(l.join(`
`)),ee({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function Qf(e,t){return new Xi({key:`_lc_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制路径",onClick:async(n,o)=>{await n.closeMenu();const s=ll();if(!s)return;const i=await dt(),r=await Jt();let a=await za(s);i.cloudDriveFormalization&&(a=a.map(u=>ln(r,u,true)),s.name=ln(r,s.name,true));let l=a.join("/");const c=await tl(s,l,t);gt(c),ee({title:"复制路径",text:`已复制文件路径,CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function Xf(e){return new Xi({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=ll();if(!o)return;if(o.isDir){ee({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const s=o.hash+(e?`//${o.name}`:"");gt(s),ee({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function jS(){return new Xi({key:"_lc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{await e.closeMenu();const n=ll();n&&await pa(n);}})}async function zS(e){const{[De.listItemContext]:t}=e;if(!t.enabled)return;const n=[];t.copyNames&&n.push(await US(t)),new rb({items:n,position:wo.after,siblingSelector:'[val="refresh"]',useObserver:true,observeTarget:document.body,disposeObserverAfterInjection:false}).inject();}async function HS(e){const{[De.listItemHover]:t}=e;if(!t.enabled)return;const n=[];t.openInNewTab&&n.push(await _k()),t.search&&n.push(await bk(e)),t.play&&n.push(await yk()),t.copyNames&&n.push(await xk(t)),t.findRepeat&&n.push(await Ck()),new Sk({items:n,position:wo.after,siblingSelector:'[menu="move"], [menu="delete"]'}).inject();}let VS=[];async function qS(e){const t=[];return !ko()&&e.moveToSelfNameDir&&t.push(await WS()),e.openInNewTab&&t.push(await KS()),t.length?new nl({key:"_s_batch",label:"批量操作",icon:"icon-operate ifo-batch",title:"对选中的文件进行批量操作",subItems:t}):null}async function WS(){return new zo({key:"_s_smart_mkdir",label:"同名目录",icon:"icon-operate ifo-move",title:"将选中的文件移动到同名目录",onClick:await pk()})}async function KS(){return new zo({key:"_s_open_in_new_tab",label:"打开目录",icon:"icon-operate ifo-new-tab",title:"批量打开选中的目录",onClick:async(e,t)=>{const n=(await _o(true)).filter(s=>s.isDir);if(!n.length){ee({title:"请选择目录",icon:"error"});return}const o=n.map(s=>Jn(s.id));await Zc(o,true);}})}async function GS(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await As("完整名称",ht.full)),t.copyPureName&&n.push(await As("不含后缀名称",ht.pure)),t.copyFullName&&n.push(await As("完整名称(去重)",ht.fullUnique)),t.copyPureName&&n.push(await As("不含后缀名称(去重)",ht.pureUnique)),t.copyId&&n.push(await As("ID",ht.id)),t.copyPickCode&&n.push(await As("PickCode",ht.pickCode)),t.copySha1&&(n.push(await Zf(false)),n.push(await Zf(true))),t.copyUnixPath&&n.push(await ep("路径(Unix)",Mn.unixPath)),t.copyWinPath&&n.push(await ep("路径(Windows)",Mn.winPath)),new nl({key:"_s_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制选中文件的名称路径",onClick:async(o,s)=>{},subItems:n})}async function Zf(e,t){return new zo({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 s=await _o(true),i=new Set,r=[];for(const a of s)a.hash&&(e&&i.has(a.hash)||(i.add(a.hash),r.push(a.hash+`//${a.name}`)));gt(r.join(`
`)),ee({title:"复制文件sha1",text:`已复制选中文件sha1。数量:${r.length}`,icon:"success",timer:1e3});}})}async function As(e,t){return new zo({key:`_s_copy_info_${t}`,label:`📋 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:`复制${e}`,onClick:async(n,o)=>{const s=await _o(true);if(!s.length)return;const i=await dt(),r=await Jt(),l=fr(s,t,c=>i.cloudDriveFormalization?ln(r,c):c);gt(l.join(`
`)),ee({title:`复制${e}`,text:`已复制选中文件信息。数量:${l.length},复制类型:${e},CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function ep(e,t){return new zo({key:`_s_copy_path_${t}`,label:`📂 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:e,onClick:async(n,o)=>{const s=await _o(true);if(!s.length)return;let i=[];ee({text:"正在获取已选文件路径...",timer:0}),Z.showLoading();const r=await dt();try{const a=await Jt(),l=r.cloudDriveFormalization?c=>ln(a,c):c=>c;i=await Ig(s,t,l),Z.close();}catch(a){console.error(a),ee({text:`获取已选文件路径失败: ${a}`,timer:6e4,icon:"error"});return}finally{Z.hideLoading();}gt(i.join(`
`)),ee({title:"复制路径",text:`已复制选中文件的路径。数量:${i.length},复制类型:${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function JS(e,t=ja.vod){if(e=e.filter(i=>i.isVideo),!e.length){ee({title:"没有可播放的视频",icon:"error"});return}const n=Date.now().toString(),o=unsafeWindow.open(nm("xxx",t),n);await an(1e3);let s=10;for(;s>0;)o?.postMessage({event:"play",body:{id:n,files:e}},`https://${t}`),await an(1e3),s--;}async function YS(){const e=await dt(),t=await ed(e);return new nl({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&&uw(t.defaultPlayer,n,o);},subItems:[...await XS(zo,t.customUrlItems),new Ak({}),new zo({label:"关于选中播放",onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault(),ee({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 QS(e){if(e=e.trim(),!e)throw new Error("m3u8临时目录路径为空!");const t=await H0(e);if(t.id)return console.log("[ensureM3u8TempDir] result:",t),t.id;throw new Error("创建m3u8临时目录失败!")}async function uw(e,t,n){n.stopPropagation(),n.preventDefault();const o=await dt();try{let s=await _o(!0);if(t.key==="_ce_p_p_builtin_online"||e.key==="p_builtin_online"){await JS(s);return}if(e.key==="p_builtin_115plus")return fa(s);if(s=s.filter(p=>p.isDir||p.isVideo||p.isImage),s.length===0){ee({title:"播放失败",text:"没有可以播放的目录或媒体文件!",icon:"error",timer:2e3});return}const i=await Jt();if(s.length===1){const p=await Li(s[0],e,i);window.open(p,"_blank","noopener noreferrer");return}const r=await QS(o.m3u8TempDir),a=await z0(s,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=na([o.m3u8TempDir,c.name],Mo.unix);ee({title:"检查m3u8文件",text:"正在检查m3u8文件是否已准备就绪...",icon:"info",timer:0}),Z.showLoading(),await h0(i,u,!0,1e3,6e4),ee({icon:"success",text:"m3u8文件已准备就绪,即将开始播放..."});const f=await Li(c,e,i);window.open(f,"_blank","noopener noreferrer");}catch(s){console.error(s),ee({title:"播放失败",text:s.toString(),icon:"error",timer:6e4,showConfirmButton:true});}finally{Z.hideLoading();}}async function XS(e,t){const n=[];for(const o of t){const s=Aa(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:o.memo,onClick:async(i,r)=>{uw(o,i,r);}});n.push(s);}return n}async function ZS(e,t){const n=[...(await rr()).filter(i=>i.enabled),...VS.filter(i=>i.enabled),...(await xs(to.search)).filter(i=>i.enabled)];let o=n.find(i=>i.key===t.defaultSearch);o||(o=n.find(i=>i.key===ar));let s;return e.searchOpenType!==Pu.undefined&&(s=e.searchOpenType===Pu.background),new nl({key:"_s_search_d",label:"搜索",icon:o?.icon||"",title:"批量搜索"+(o?.memo?" - "+o.memo:""),onClick:async(i,r)=>{r.stopPropagation(),r.preventDefault(),o&&await dr(i,o,r,t,void 0,De.selection,s);},subItems:[...await el(zo,n,void 0,De.selectionSub,s)]})}async function e$(e){if(!e.hideSelectionMenuLabel)return;const t=await nt("#js_operate_box");new MutationObserver(async([o])=>{if(o.type==="childList"){const s=t.querySelectorAll("li[menu]");for(let i=0;i<s.length;i++){const r=s[i],a=r.textContent;r.setAttribute("title",a||"");}}}).observe(t,{childList:true}),t.classList.add("only-icon");}async function t$(e){const{[De.selection]:t}=e;if(!t.enabled)return;const n=[],o=await qS(t);o&&n.push(o),t.copyNames&&n.push(await GS(t)),t.play&&n.push(await YS()),t.search&&n.push(await ZS(t,e)),new Pk({items:n,position:wo.before,siblingSelector:"ul li"}).inject();}async function n$(e,t){if(t||(t=await dt()),!t||!t[De.shareListItemHover]?.enabled)return;const s=(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=Wy(`#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+=s):(u=qe(`<div class="file-opr ${r}" rel="menu"></div>`),u.innerHTML=s,c.appendChild(u));}})();}async function cw(e){let t=e.pageWidth.trim();const n="ce-share-page-width";let o=Vy(`#${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 s=!!t&&!/px$/.test(t);o$(s);}function dw(){const e=Ue(".top-vflow");if(!e)return;const t=Ue('a[btn="save"]');if(!t)return;const n=t.getBoundingClientRect(),o=Ue("#save_directly");o&&(o.style.left=n.left-e.getBoundingClientRect().left+"px");}const tp=ct(dw,200);let Lr=false;function o$(e){setTimeout(dw,500),e&&!Lr?(window.addEventListener("resize",tp),Lr=true):!e&&Lr&&(window.removeEventListener("resize",tp),Lr=false);}async function s$(e){if(!e.autoConfirmPassword)return;let t=Pa("password");if(!t||(t=t.replace(/(\?.*)?$/,""),(await nt(".form-decode .form-item input")).value!==t))return;(await nt(".form-decode .submit a.button")).click(),ee({icon:"success",text:"自动确定访问码",timer:1e3,position:"top-right"});}async function i$(e){const t=await nt("#js-list"),n=await dt(),o=i=>{Gl(e),n$(e,n);};new MutationObserver(o).observe(t,{childList:true}),t.addEventListener("mousedown",ct(i=>{Gl(e);},200));try{(await nt('[btn="check_all"]')).addEventListener("mousedown",ct(r=>{Gl(e);},200));}catch(i){console.error(i);}}function qi(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 r$(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 Gl(e){if(!e.showListSummary)return;const t=await nt(".list-header"),o=(await nt("ul#js-list")).querySelectorAll("li"),s=Array.from(o).map(qi),i=r$(s),r=t.querySelector(".header-name"),a=[];i.num&&a.push(`共${i.num}项`),i.filesNum&&a.push(`${i.filesNum}个文件,合计${Vs(i.filesSize)}`),i.foldersNum&&a.push(`${i.foldersNum}个目录`);const l=[];i.selectedNum&&(i.selectedFilesNum&&l.push(`${i.selectedFilesNum}个文件,合计${Vs(i.selectedFilesSize)}`),i.selectedFoldersNum&&l.push(`${i.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=qe(c),r.appendChild(u));}async function fw(e){const t="ce-share-page";document.body.classList.add(t),parent.document.body.classList.add(t);const n="ce-share-fresh";e.freshMode?document.body.classList.add(n):document.body.classList.remove(n);}async function a$(){window.addEventListener("message",async e=>{const t=e.data.event,n=e.data.body;t===it.shareConfigChange&&(cw(n),fw(n));});}let l$=[];async function u$(e,t){const n=[...(await rr()).filter(s=>s.enabled),...l$.filter(s=>s.enabled),...(await xs(to.search)).filter(s=>s.enabled)];let o=n.find(s=>s.key===t.defaultSearch);return o||(o=n.find(s=>s.key===ar)),new Mg({key:"_s_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"搜索",onClick:async(s,i)=>{i.stopPropagation(),i.preventDefault(),o&&await dr(s,o,i,t,qi,De.shareListItemHover);},subItems:[...await el(td,n,qi)]})}async function Tr(e,t){return new td({key:`_s_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const s=$(o.target).closest("li"),i=qi(s[0]),r=await dt(),a=await Jt(),c=fr([i],t,u=>r.cloudDriveFormalization?ln(a,u):u);gt(c.join(`
`)),ee({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function np(e){return new td({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"),s=qi(o[0]);if(s.isDir){ee({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=s.hash+(e?`//${s.name}`:"");gt(i),ee({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function c$(e){const t=Tg().namePathConfig,{namePathConfig:n=t}=e,o=[];return n.copyFullName&&o.push(await Tr("完整名称",ht.full)),n.copyPureName&&o.push(await Tr("不含后缀名称",ht.pure)),n.copyId&&o.push(await Tr("ID",ht.id)),n.copyPickCode&&o.push(await Tr("PickCode",ht.pickCode)),n.copySha1&&o.push(await np(false)),n.copySha1WithName&&o.push(await np(true)),new Mg({key:"_s_lh_copy_name_path",label:"名称",title:"复制文件名称",subItems:o})}async function d$(e){const{[De.shareListItemHover]:t}=e;if(!t.enabled)return;const n=[];t.search&&n.push(await u$(t,e)),t.copyNames&&n.push(await c$(t)),new Ik({items:n,position:wo.after,siblingSelector:'[menu="_s_null_"], [btn="prosecute"]'}).inject();}async function f$(){const{host:e}=location;if(!e.includes("115.com")&&!du())return;console.log("[Cloud115 Enhancer - menu] running..."),p$(),document.addEventListener(mn.EVENT_CLOSE_MENU,n=>{$("#"+n.detail.menu.key).closest(".context-menu").hide();});const t=await dt();t.enabled&&(h$(t),await Dg(t),window.top===window.self&&NS(t),zS(t),(yn()||ko())&&(HS(t),t$(t),e$(t)),du()&&d$(t));}async function p$(){const e="ceCustomUrlHelp",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=io(N2);n.component("VDropdown",ks),n.mount(`#${e}`);}async function h$(e){e.manageOfficialMenus&&(Kf(),window.addEventListener("message",async t=>{t.data.event===it.officialMenuStyleChange&&(console.log("[Cloud115 Enhancer - menu] officialMenuStyleChange",location.href),await an(1e3),console.log(await ow()),Kf());}));}const pw=mt.offline;var zr=(e=>(e.name="name",e.nameRegex="nameRegex",e.infoHash="infoHash",e.url="url",e))(zr||{});const m$={name:"名称",nameRegex:"名称正则",infoHash:"哈希",url:"链接"};var gs=(e=>(e.selection="ce-offline-selection",e.configChanged="ce-offline-config-changed",e.searchPageChanged="ce-offline-search-page-changed",e))(gs||{});function g$(e){return {onlyMagnetEd2k:false,enableOptimization:true,reqInterval:500,maxPage:0,showInfoHash:true,enableListManagement:true,fixGotoPage:false,enableSearcher:true,searchMaxPage:5,searchKeywordType:"name",searchStatus:tn.any,searchStopOnFound:false,searchReqInterval:10,noGotoTaskPage:true,...e}}async function Vo(){const e=g$(),t=await Xe.get(pw,e);return {...e,...t}}async function hw(e){await Xe.set(pw,e),window.postMessage({event:"ce-offline-config-changed",body:JSON.parse(JSON.stringify(e))},"*");}var w$={name:"115不大助手"};async function y$(e){const t=await nt("#js-warp"),n=t.querySelectorAll("li[complete]");if(n.length>0)for(const s of Array.from(n))await op(s,e);_$(e),new MutationObserver(async([s])=>{if(s.type==="childList"){s.addedNodes.forEach(async a=>{await op(a,e);});const i=document.querySelector(".ce-checkbox-all input"),r=await ul();if(!r.length)i.checked=false,i.indeterminate=false;else {const a=t.querySelectorAll("li[complete]");i.checked=r.length===a.length,i.indeterminate=!i.checked;}await cl(r);}}).observe(t,{childList:true});}async function b$(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 op(e,t){const n=e,o=await b$(e);C$(n,t,o),v$(n,t,o),x$(n,t,o);}async function v$(e,t,n){if(!t.showInfoHash||e.querySelector(".info-hash"))return;const o=e.querySelector(".file-name"),s=qe(`
<div class="info-hash" title="点击复制${n.hash}">${n.hash}</div>
`);o.after(s),s.addEventListener("click",()=>{gt(n.hash),ee({text:"已复制",icon:"success",timer:800});});const i=e.querySelector(".desc-tips");i&&i.style.display!=="none"&&e.classList.add("ce-task-trouble");}async function x$(e,t,n){const o=e.querySelector(".file-operate");if(o.querySelector(".ce-buttons"))return;const s=qe('<span class="ce-buttons"></span>'),i=qe(`
<a target="_blank" class="pure-button button-mini button-info">打开</a>
`);i.href=Jn(n.cate_id),i.title="在新标签页打开目录",s.append(i),o.prepend(s);}async function _$(e){if(!e.enableListManagement)return;const t=await nt("#js-main .header-name");let n=t.querySelector(".ce-checkbox-all");n||(n=qe(`
<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(i=>{const r=i.querySelector("input");r.checked=o,i.classList.toggle("ce-selected",o);}),ul().then(i=>{cl(i);});});}async function C$(e,t,n){if(!t.enableListManagement||e.querySelector(".ce-checkbox"))return;const o=e.querySelector(".file-name-wrap"),s=qe(`
<div class="ce-checkbox">
<input type="checkbox" data-id="${n.hash}" />
</div>
`);o.prepend(s),e.classList.add("ce-show-checkbox"),s.addEventListener("click",async i=>{i.shiftKey?await S$(i,e):await k$(i,e);});}async function k$(e,t){t.classList.toggle("ce-selected");const n=document.querySelector(".ce-checkbox-all input"),o=await gw();let s=0;for(const r of o)r.classList.contains("ce-selected")&&s++;const i=s===o.length;n.checked=i,n.indeterminate=!i&&s>0,ul().then(r=>{cl(r);});}async function S$(e,t){const n=await gw(),o=n.indexOf(t);let s=-1;for(let u=0;u<o;u++)if(n[u].classList.contains("ce-selected")){s=u;break}if(s===-1){for(let u=n.length-1;u>o;u--)if(n[u].classList.contains("ce-selected")){s=u;break}}s=s===-1?o:s;const i=Math.min(s,o),r=Math.max(s,o);let a=0;for(let u=0;u<n.length;u++){const f=n[u],p=f.querySelector(".ce-checkbox input"),w=u>=i&&u<=r;p.checked=w,w&&a++,f.classList.toggle("ce-selected",w);}const l=i===0&&r===n.length-1,c=document.querySelector(".ce-checkbox-all input");c.checked=l,c.indeterminate=!l&&a>0,ul().then(u=>{cl(u);});}async function mw(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 gw(e){const t=document.querySelectorAll("#js-warp li"),n=[];return t.forEach(async o=>{const s=o;n.push(s);}),n}async function ul(){const e=document.querySelectorAll("#js-warp li"),t=[];return e.forEach(async n=>{const o=n;if(o.classList.contains("ce-selected")){const s=await mw(o);t.push(s);}}),t}async function cl(e){window.postMessage({event:gs.selection,body:e},"*");}async function Ou(e){document.querySelectorAll("#js-warp li").forEach(async n=>{const o=n,s=o.getAttribute("hash");e.includes(s)&&zp(o);});}async function $$(e,t,n,o){const s=[],i=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!==tn.any&&n.status.toString()!==""&&(u=n.status.toString());let f=n.stopOnFound||false;(l||c)&&(f=true);let p=-1;for(let w=1;w<=i&&!(p>-1&&w>p);w++){window.postMessage({event:gs.searchPageChanged,body:w},"*");const g=await sm(w,e,t);p===-1&&(p=g.page_count);const b=g.tasks;for(const x of b){const A=n.caseSensitive?x.name:x.name.toLowerCase(),T=n.caseSensitive?x.info_hash:x.info_hash.toLowerCase(),D=n.caseSensitive?x.url:x.url?.toLowerCase(),I=r&&n.fuzzyName?A.includes(r):false,B=a?a.test(A):false,q=l&&T===l,z=c&&D===c;if((u?u===x.status.toString():true)&&(I||B||q||z)&&(s.push(x),f))break}if(f&&s.length)break}return s}async function E$(){if(!(await Vo()).fixGotoPage)return;const t=await nt("#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=qe(`
<input rel="page_jump" type="text" style="background-color: #fefcea;" />
`);l.title=`这是 ${w$.name} 替换的输入框,如果想恢复原有的输入框,请在「离线设置」中关闭「修复输入页码跳转」选项`,l.addEventListener("keydown",n),a.insertAdjacentElement("beforebegin",l),a.remove(),r&&l.focus();},s=ct(async r=>{o(true);},50),i=new MutationObserver(async([r])=>{r.type==="childList"&&s(r);});o(false),i.observe(t,{childList:true});}async function A$(e){const t=Pt();if(!e.noGotoTaskPage||window!==window.top||t.Core.OFFL5Plug)return;async function n(o){t.Core&&o(true);}try{await qo(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 P$={class:"ce-config ce-offline-config"},I$={class:"pure-form pure-form-aligned offline-exporter-config-form"},D$={class:"pure-control-group"},L$={class:"pure-control-group"},T$={class:"pure-control-group"},M$={class:"pure-control-group"},B$={class:"pure-control-group"},O$={class:"pure-control-group"},R$={class:"pure-control-group"},F$=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>Vo()),t=await t,n(),t));return kt(async()=>{}),He(o,ct(async s=>{await hw(s),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(s,i)=>(C(),S("div",P$,[d("form",I$,[d("fieldset",null,[d("div",D$,[i[7]||(i[7]=d("label",{for:"noGotoTaskPage"},"添加任务后不跳转",-1)),G(d("input",{id:"noGotoTaskPage",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.noGotoTaskPage=r)},null,512),[[ve,o.value.noGotoTaskPage]]),i[8]||(i[8]=d("div",{class:"pure-form-message text-success"}," 官方的添加离线任务在添加任务后可能会跳转到任务列表页,开启此选项可以避免跳转。 ",-1))]),d("div",L$,[i[9]||(i[9]=d("label",{for:"enableListManagement"},"启用批量管理",-1)),G(d("input",{id:"enableListManagement",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.enableListManagement=r)},null,512),[[ve,o.value.enableListManagement]]),i[10]||(i[10]=d("div",{class:"pure-form-message text-success"}," 可以选中多个任务进行操作,支持shift多选。 ",-1))]),d("div",T$,[i[11]||(i[11]=d("label",{for:"showInfoHash"},"显示链接哈希",-1)),G(d("input",{id:"showInfoHash",type:"checkbox","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.showInfoHash=r)},null,512),[[ve,o.value.showInfoHash]]),i[12]||(i[12]=d("div",{class:"pure-form-message text-success"}," 显示离线任务的哈希文本,点击可以复制。 ",-1))]),d("div",M$,[i[13]||(i[13]=d("label",{for:"fixGotoPage"},"修复输入页码跳转",-1)),G(d("input",{id:"fixGotoPage",type:"checkbox","onUpdate:modelValue":i[3]||(i[3]=r=>o.value.fixGotoPage=r)},null,512),[[ve,o.value.fixGotoPage]]),i[14]||(i[14]=d("div",{class:"pure-form-message text-success"}," 如果官方的输入页码跳转功能异常,可开启此选项。 ",-1))]),i[21]||(i[21]=d("div",{class:"ce-tips"},"以下是导出链接相关选项",-1)),d("div",B$,[i[15]||(i[15]=d("label",{for:"onlyMagnetEd2k"},"只取磁力和ED2K链接",-1)),G(d("input",{id:"onlyMagnetEd2k",type:"checkbox","onUpdate:modelValue":i[4]||(i[4]=r=>o.value.onlyMagnetEd2k=r)},null,512),[[ve,o.value.onlyMagnetEd2k]]),i[16]||(i[16]=d("div",{class:"pure-form-message text-success"}," 导出链接时,只取磁力和ED2K链接,其他比如http链接会被略过。 ",-1))]),d("div",O$,[i[17]||(i[17]=d("label",{for:"enableOptimization"},"启用导出优化",-1)),G(d("input",{id:"enableOptimization",type:"checkbox","onUpdate:modelValue":i[5]||(i[5]=r=>o.value.enableOptimization=r)},null,512),[[ve,o.value.enableOptimization]]),i[18]||(i[18]=d("div",{class:"pure-form-message text-success"}," 据观察,离线记录列表是将未完成的记录放在最前面的。如果只需导出未完成链接, 当获取到一个已完成的记录时,便可以停止继续获取后面的记录,节省时间。 ",-1))]),d("div",R$,[i[19]||(i[19]=d("label",{for:"maxPage"},"最多导出页数",-1)),G(d("input",{id:"maxPage",type:"number","onUpdate:modelValue":i[6]||(i[6]=r=>o.value.maxPage=r),min:0},null,512),[[je,o.value.maxPage]]),i[20]||(i[20]=d("div",{class:"pure-form-message text-success"}," 0表示不限制,否则表示最多导出的页数。 ",-1))])])])]))}}),ww=Pe(F$,[["__file","Config.vue"]]);function sp(e){return /^magnet:\?xt=urn:btih/.test(e)}function ip(e){return /^ed2k:\/\/\|file\|/.test(e)}function rp(e){return `magnet:?xt=urn:btih:${e.toUpperCase()}`}function yw(e){const t=e.match(/([a-z\d]{32,40})/i);return t?t[1]:""}function N$(e,t=true){return (t?/^([a-z\d]{32})$|^([a-z\d]{40})$/i:/^[a-z\d]{32,40}$/i).test(e)}const U$={class:"ce-offline-exporter"},j$={key:0},Mr=`\r
`,z$=xe({__name:"OflineExporter",setup(e){let t,n;const o=V([]);let s={};jt(async()=>{s=await Vo(),t=await rm(),console.log("[profile]",t),n=await im(),console.log("[space]",n),i(),await y$(s);});async function i(){window.addEventListener("message",g=>{const{event:b,body:x}=g.data;switch(b){case gs.selection:o.value=x;break;case gs.configChanged:s=x;break}},false);}async function r(g=false,b=""){const{isConfirmed:x,value:A}=await Z.fire({title:"根据链接删除离线任务",html:`
<div>每行一个链接,支持磁力链接和ED2K链接</div>
<div>
<label class="swal2-checkbox" style="display: flex;">
<input type="checkbox" id="swalDeleteFile">
<span class="swal2-label">同时删除文件</span>
</label>
</div>
<div>
<textarea id="swalUrls" aria-label="每行一个链接" class="swal2-textarea" placeholder="每行一个链接" style="width:80%;"></textarea>
</div>
`,focusConfirm:false,didOpen:()=>{const I=document.getElementById("swalDeleteFile");I.checked=g;const B=document.getElementById("swalUrls");B.value=b,B.focus();},preConfirm:()=>{const I=document.getElementById("swalDeleteFile"),B=document.getElementById("swalUrls");return {deleteFile:I?I.checked:false,urls:B?B.value:""}},width:620,inputPlaceholder:"每行一个",inputAttributes:{"aria-label":"每行一个"},showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"});if(!x)return;if(A===void 0){alert("请输入链接!");return}const T=[],D=A.urls.trim().split(`
`);for(let I=0;I<D.length;I++){const B=D[I].trim();if(sp(B)||ip(B)){const q=yw(B);q&&T.push(q.toLowerCase());}}Z.showLoading(),Z.update({html:"正在删除..."}),await fu(T,n,A.deleteFile,t.user_id),ee({icon:"success",title:"删除成功!请刷新页面查看最新的列表。",timer:3e4,position:"top-end"}),await Ou(T);}async function a(){const g=o.value.map(T=>T.info_hash);if(!g.length)return;const{isConfirmed:b,value:x}=await Z.fire({title:"批量删除",icon:"warning",html:`确定要删除选中的 ${g.length} 个离线记录吗?`,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件",showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"});if(!b)return;const A=!!x;Z.showLoading(),Z.update({html:"正在删除..."}),await fu(g,n,A,t.user_id),ee({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Ou(g),o.value=[];}async function l(g){const b=[g];s.onlyMagnetEd2k&&b.push(Xt.magnetEd2k),console.log("[filters]",b),await w(n.sign,t.user_id,b);}function c(g,b){if(!b.length||b.length===1&&b[0]==="all")return g;const x={[tn.failed]:Xt.failed,[tn.illegal]:Xt.failed,[tn.ing]:Xt.failed,[tn.success]:Xt.success};return g=g.filter(A=>{if(!A.url&&!A.info_hash)return false;const T=x[A.status];return b.includes(Xt.all)||T&&b.includes(T)?!(b.includes(Xt.magnetEd2k)&&(!N$(A.info_hash)||A.url&&!sp(A.url)&&!ip(A.url))):false}),g}async function u(g,b,x){let A=[],T=1,D=0;for(;;){Z.update({html:`正在导出... 进度:第 ${T} 页`+(D?` / ${D}`:""),allowOutsideClick:false});const I=await sm(T,g,b);if(!I.tasks||!I.tasks.length)break;if(D===0&&s.maxPage>0?D=Math.min(I.page_count,s.maxPage):D=I.page_count,A=[...A,...c(I.tasks,x)],s.enableOptimization&&x.includes(Xt.failed)&&f(I.tasks)){console.warn("由于开启了导出优化,且检测到已获取的记录中至少有一个「已完成」的记录,将不再获取剩下的记录");break}if(T>=D)break;T++;}return A}function f(g){for(const b of g)if(b.status===tn.success)return true;return false}async function p(){const g=[Xt.all];s.onlyMagnetEd2k&&g.push(Xt.magnetEd2k),console.log("[filters]",g);const b=o.value;if(!b.length)return;const x=[];b.forEach(A=>{!A.url&&A.info_hash&&(A.url=rp(A.info_hash)),x.push(A.url);}),x.length&&(gt(x.join(Mr)),console.log("[links]",x),await Z.fire({title:"导出成功",icon:"success",html:`成功导出 ${x.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Wr(x.join(Mr),`115离线链接_数量${x.length}_${Hs()}.txt`),false)}));}async function w(g,b,x){Z.fire({title:"导出离线链接",html:"正在导出...",didOpen:()=>{Z.showLoading();}});const A=await u(g,b,x);if(Z.hideLoading(),!A.length){await Z.fire({title:"导出失败",icon:"error",html:"查询不到符合条件的离线记录!"});return}const T=[];if(A.forEach(D=>{!D.url&&D.info_hash&&(D.url=rp(D.info_hash)),T.push(D.url);}),!T.length){await Z.fire({title:"导出失败",icon:"error",html:"未完成的离线记录中没有磁力或HTTP链接!"});return}gt(T.join(Mr)),console.log("[links]",T),await Z.fire({title:"导出成功",icon:"success",html:`成功导出 ${T.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Wr(T.join(Mr),`115离线链接_数量${T.length}_${Hs()}.txt`),false)});}return (g,b)=>{const x=vo("VDropdown");return C(),S("span",U$,[o.value.length?(C(),S("span",j$,[d("button",{type:"button",class:"pure-button button-small button-error",onClick:a},[b[4]||(b[4]=P("删除(",-1)),d("span",null,O(o.value.length),1),b[5]||(b[5]=P(")",-1))]),b[6]||(b[6]=P(" ",-1))])):fe("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:b[0]||(b[0]=A=>r(false,"")),title:"填写链接以删除对应的离线任务"},"根据链接删除"),b[9]||(b[9]=P(" ",-1)),o.value.length?(C(),S("button",{key:1,type:"button",class:"pure-button button-mini button-warning",onClick:p,title:"导出选中任务的链接"},[b[7]||(b[7]=P("导出已选",-1)),d("span",null,"("+O(o.value.length)+")",1)])):fe("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:b[1]||(b[1]=A=>l(te(Xt).failed)),title:"导出未完成链接"},"导出未完成"),d("button",{type:"button",class:"pure-button button-mini button-success",onClick:b[2]||(b[2]=A=>l(te(Xt).success)),title:"导出已完成链接"},"导出已完成"),d("button",{type:"button",class:"pure-button button-mini button-warning",onClick:b[3]||(b[3]=A=>l(te(Xt).all)),title:"导出全部链接"},"导出全部"),b[10]||(b[10]=P(" ",-1)),oe(x,{distance:5,"arrow-padding":10},{popper:ge(()=>[(C(),et(dg,null,{default:ge(()=>[oe(ww)]),_:1}))]),default:ge(()=>[b[8]||(b[8]=d("button",{type:"button",class:"pure-button button-mini"},"设置",-1))]),_:1,__:[8]})])}}}),H$=Pe(z$,[["__file","OflineExporter.vue"]]),V$=["cate_id","delete_id","status","hash"],q$={class:"file-name-wrap"},W$={class:"file-name"},K$={task_popup:"goto",href:"javascript:;",class:"name"},G$={rel:"name"},J$={class:"desc-tips",rel:"file_down_violations"},Y$={class:"txt-red",rel:"file_down_tips"},Q$=["filename"],X$={class:"file-size"},Z$={class:"file-process"},eE={rel:"progress"},tE={class:"file-operate",rel:"opt"},nE=["cp_href"],oE=xe({__name:"OfflineItem",props:{item:{},space:{},profile:{}},setup(e){const t=Ke(()=>i.item.percentDone?parseInt(i.item.percentDone.toString()):0),n=Ke(()=>{const{name:r,del_path:a}=i.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}=i.item;return r?ub[r]:""}),s=Ke(()=>i.item.can_appeal===1),i=e;return (r,a)=>(C(),S("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",q$,[d("i",{class:Le(["file-type",`tp-${n.value}`])},null,2),d("div",W$,[d("em",null,[d("a",K$,[d("span",G$,O(r.item.name),1)])])]),G(d("div",J$,[d("span",Y$,O(o.value),1),G(d("a",{href:"javascript:;",class:"btn-link",filename:r.item.name,rel:"violations_down_btn"},"去申诉",8,Q$),[[Vt,s.value]])],512),[[Vt,o.value]])]),d("div",X$,[d("span",null,O(te(Vs)(r.item.size)),1)]),d("div",Z$,[r.item.status===te(tn).failed?(C(),S(Ae,{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(tn).success?(C(),S(Ae,{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(tn).ing?(C(),S(Ae,{key:2},[a[4]||(a[4]=d("i",{class:"icon-file-status ifst-downing"},null,-1)),d("span",eE,O(t.value)+"%",1)],64)):r.item.status===te(tn).illegal?(C(),S(Ae,{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)):(C(),S(Ae,{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",tE,[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,nE),a[11]||(a[11]=d("a",{href:"javascript:;",class:"btn-delete-offline"},[d("i",{class:"icon-operate ifo-remove"}),d("s",null,"删除")],-1))])],8,V$))}}),sE=Pe(oE,[["__file","OfflineItem.vue"]]),iE={class:"ce-offline-list"},rE=xe({__name:"OfflineList",props:{items:{},space:{},profile:{}},setup(e){return (t,n)=>(C(),S("div",iE,[d("ul",null,[(C(true),S(Ae,null,ze(t.items,(o,s)=>(C(),et(sE,{Key:s,item:o,space:t.space,profile:t.profile},null,8,["Key","item","space","profile"]))),256))])]))}}),aE=Pe(rE,[["__file","OfflineList.vue"]]),lE={inline:"",class:"pure-form search-form",size:"small"},uE={class:"form-item",label:"关键词"},cE=["value"],dE={class:"form-item"},fE={class:"form-item",label:"状态"},pE=["value"],hE=["value"],mE={class:"form-item",label:"页数"},gE={class:"form-item"},wE={key:0,title:"根据「名称/名称正则」查找时,是否在找到一个结果时停止继续查找"},yE={key:0,class:"search-tips"},bE={class:"tips-body"},vE={key:0},xE=xe({__name:"OfflineSearcher",setup(e){let t,n;const o=V(),s=V({KeywordType:zr.name,keyword:"",status:tn.any,maxPage:5,stopOnFound:false});let i={...s.value};const r=V(null),a=V(false),l=V([]),c=V(null),u=V({content:"",subContent:"",visible:false});jt(async()=>{t=await rm(),n=await im(),o.value=await Vo(),s.value.KeywordType=o.value.searchKeywordType,s.value.status=o.value.searchStatus,s.value.maxPage=o.value.searchMaxPage,s.value.stopOnFound=o.value.searchStopOnFound,i={...s.value},document.body.addEventListener("click",q=>{I(q);}),f();}),He(s,ct(async q=>{console.log("[searchParams changed]",_c(q)),w();},200),{deep:true});async function f(){window.addEventListener("message",q=>{const{event:z,body:ue}=q.data;switch(z){case gs.searchPageChanged:p(ue);break;case gs.configChanged:o.value={...ue};break}},false);}async function p(q){console.log("[handleSearchPageChanged]",q),await B({subContent:`正在搜索第 ${q} 页...`,visible:true});}async function w(){const q=await Vo();let z=0;i.KeywordType!==s.value.KeywordType&&(q.searchKeywordType=s.value.KeywordType,z++),i.status!==s.value.status&&(q.searchStatus=s.value.status,z++),i.maxPage!==s.value.maxPage&&(q.searchMaxPage=s.value.maxPage,z++),i.stopOnFound!==s.value.stopOnFound&&(q.searchStopOnFound=s.value.stopOnFound,z++),z&&(await hw(q),console.log("[handleSearchParamsChange]",q),o.value={...q}),i={...s.value};}async function g(q){r.value?.select();}async function b(q){s.value.keyword="",r.value?.focus();}async function x(){l.value=[],s.value.keyword="",i={...s.value},await B({visible:false}),await T(false);try{parent.window.Core.OFFL5Plug.ChangePage(1);}catch(q){console.error(q);}}async function A(){l.value=[];let{keyword:q}=s.value;if(q=q.trim(),q===""){await ps(),r.value?.select(),Ls.fire({icon:"warning",title:"关键词不能为空!"});return}a.value=true,await B({content:"正在搜索...",subContent:"",visible:true});try{const z={status:s.value.status,maxPage:s.value.maxPage,fuzzyName:!0,caseSensitive:!1,stopOnFound:s.value.stopOnFound};z[s.value.KeywordType]=s.value.keyword,z.infoHash&&(z.infoHash=yw(z.infoHash)),console.log("[search filter]",z);const ue=await $$(n.sign,t.user_id,z,o.value);l.value=ue,console.log("[search result]",ue),ue.length>0?await B({visible:!1}):await B({content:"没有符合条件的离线任务",subContent:"",visible:!0}),await T(!0);}catch(z){console.warn("[search error]",z),Ls.fire({icon:"error",title:z.toString()}),await B({content:"搜索失败!",subContent:z.toString(),visible:true});}finally{a.value=false;}}async function T(q=true){!l.value.length&&q&&Ls.fire({icon:"warning",html:"没有符合条件的离线任务"}),await ps();const z=c.value?.querySelector("ul");if(!z)return;const ue=document.querySelector("ul#js-warp");ue&&(ue.innerHTML=z.innerHTML),await D(),r.value?.focus();}async function D(){const q=l.value.length,z=document.querySelector("#js-page");if(!z)return;const ue=z.querySelector(".left-bvf span");ue.textContent=`共搜索到 ${q} 个结果`;const me=z.querySelector(".pagination .con");me.style.display="none";}async function I(q){let z=q.target;if(z.classList.contains("ifo-remove")&&(z=z.closest("a")),!z.classList.contains("btn-delete-offline"))return;const ue=z.closest("li"),me=await mw(ue),se=[me.info_hash];let F={title:"删除离线记录",icon:"warning",html:`确定要删除「${me.name}」吗?`,showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"};me.delete_file_id&&(F={...F,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件"});const{isConfirmed:U,value:Y}=await Z.fire(F);if(!U)return;const le=!!Y;Z.showLoading(),Z.update({html:"正在删除..."}),await fu(se,n,le,t.user_id),ee({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Ou(se);}async function B(q){u.value={...u.value,...q};}return (q,z)=>(C(),S("div",{class:Le(["ce-offline-searcher",{loading:a.value}])},[d("form",lE,[d("fieldset",null,[d("div",uE,[G(d("select",{"onUpdate:modelValue":z[0]||(z[0]=ue=>s.value.KeywordType=ue),size:"small",onChange:g},[(C(true),S(Ae,null,ze(te(m$),(ue,me)=>(C(),S("option",{key:me,value:me},O(ue),9,cE))),128))],544),[[In,s.value.KeywordType]])]),d("div",dE,[d("div",{class:Le(["clearable-wrap",{"is-empty":s.value.keyword===""}])},[G(d("input",{ref_key:"refKeyword",ref:r,"onUpdate:modelValue":z[1]||(z[1]=ue=>s.value.keyword=ue),placeholder:"请输入关键词",clearable:"",onKeyup:Sg(A,["enter"])},null,544),[[je,s.value.keyword]]),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall btn-clear",onClick:b},"×")],2)]),d("div",fE,[G(d("select",{"onUpdate:modelValue":z[2]||(z[2]=ue=>s.value.status=ue),placeholder:"请选择",clearable:"",style:{width:"90px"}},[d("option",{value:te(tn).any},"-状态-",8,pE),(C(true),S(Ae,null,ze(te(ab),(ue,me)=>(C(),S("option",{key:me,value:me},O(ue),9,hE))),128))],512),[[In,s.value.status]])]),d("div",mE,[G(d("input",{type:"number","onUpdate:modelValue":z[3]||(z[3]=ue=>s.value.maxPage=ue),min:1,max:1e5,title:"最多查找页数"},null,512),[[je,s.value.maxPage]]),z[5]||(z[5]=d("small",null,"页",-1))]),d("div",gE,[[te(zr).name,te(zr).nameRegex].includes(s.value.KeywordType)?(C(),S("label",wE,[G(d("input",{type:"checkbox","onUpdate:modelValue":z[4]||(z[4]=ue=>s.value.stopOnFound=ue),class:"stop-on-found"},null,512),[[ve,s.value.stopOnFound]]),z[6]||(z[6]=P(" 找到即停 ",-1))])):fe("",true),d("button",{type:"button",class:"pure-button pure-button-primary button-small",onClick:A},"查找"),z[7]||(z[7]=P(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall",onClick:x,title:"清空关键词;重置列表到非查找状态"},"重置")])])]),d("div",{ref_key:"refList",ref:c,class:"list"},[oe(aE,{items:l.value,space:te(n),profile:te(t)},null,8,["items","space","profile"])],512),u.value.visible?(C(),S("div",yE,[d("div",bE,[d("h2",null,O(u.value.content),1),u.value.subContent?(C(),S("p",vE,O(u.value.subContent),1)):fe("",true)])])):fe("",true)],2))}}),_E=Pe(xE,[["__file","OfflineSearcher.vue"]]),CE='@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}';$t(CE);async function kE(){const e=await Vo(),{host:t,search:n}=location;t==="115.com"&&A$(e),!(t!=="115.com"||!n.includes("offline=1"))&&(n.includes("file_dialog_iframe")&&document.body.classList.add("ce-offline-in-dialog"),await SE(),await $E(),E$());}async function SE(){console.log("[Cloud115 Enhancer] Injecting offline exporter...");const e="cloud115OfflineExporter",t=await Vo();document.body.classList.add("cloud115-page-offline"),t.enableListManagement&&document.body.classList.add("ce-list-m"),$("body").append(`<div id="${e}"/>`);const n=io(H$);n.component("VDropdown",ks),n.mount(`#${e}`);}async function $E(){console.log("[Cloud115 Enhancer] Injecting offline searcher...");const e="cloud115OfflineSearcher",t=await Vo();document.body.classList.add("cloud115-page-offline"),t.enableSearcher&&document.body.classList.add("ce-list-s"),$("body").append(`<div id="${e}"/>`);const n=io(_E);n.component("VDropdown",ks),n.mount(`#${e}`);}var qt=(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))(qt||{});const EE={class:"cloud115-eh-cleaner-trigger"},AE=xe({__name:"Trigger",setup(e){V(false);const t=V(true);async function n(a){switch(a.data.type){case qt.INVOKE_FILTER:await om(a.data.payload);break;case qt.CLEANER_OPENED:await r(a.data.payload);break}}jt(async()=>{console.log("[CleanerTrigger onMounted]"),window.addEventListener("message",n);}),_s(()=>{console.log("[CleanerTrigger onUnmounted]"),window.removeEventListener("message",n);});async function o(){await i(),us({type:qt.OPEN_CLEANER},window.parent);}let s;async function i(){const a=Pa("cid");!a||a==="0"||(clearTimeout(s),s=setTimeout(async()=>{ee({icon:"error",text:"打开清理工具失败!"});},1e3));}async function r(a){console.log("成功打开Cleaner"),clearTimeout(s);}return (a,l)=>G((C(),S("span",EE,[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)),[[Vt,t.value]])}}),PE=Pe(AE,[["__file","Trigger.vue"]]);function dd(e={}){return {initialized:false,suffixGroup:"",keywordGroup:"",showEntryOnPathBar:true,pageSize:1150,reqInterval:100,deleteSize:1150,keywordDefaultCategory:"all",keywordDefaultResult:"all",cleanWithoutConfirm:false,...e}}async function mr(){const e=dd(),t=await Xe.get(mt.cleanerConfig,e);return {...e,...t,pageSize:1150,reqInterval:100,deleteSize:1150}}async function IE(e){return await Xe.set(mt.cleanerConfig,e)}async function fd(e){const t=await mr();return await IE({...t,...e})}var Fe=(e=>(e[e.suffix=0]="suffix",e[e.keyword=1]="keyword",e))(Fe||{}),tt=(e=>(e[e.filter=0]="filter",e[e.dirKeyword=1]="dirKeyword",e[e.fileKeyword=2]="fileKeyword",e[e.fileHash=3]="fileHash",e))(tt||{});const bw={0:"筛选",1:"目录名关键词",2:"文件名关键词",3:"文件sha1"};var It=(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))(It||{}),po=(e=>(e.all="all",e.file="file",e.dir="dir",e))(po||{});const DE={all:"全部",file:"文件",dir:"目录"};var Fo=(e=>(e.all="all",e.matched="matched",e.notMatched="unmatched",e))(Fo||{});const LE={all:"全部",matched:"有匹配",unmatched:"无匹配"};var St=(e=>(e.none="",e.prepare="查询文件...",e.prepared="查询文件完成",e.prepareFailed="查询失败",e.deleting="删除文件中...",e.success="清理完成",e.failed="清理失败",e))(St||{});const TE=new Map([[Cn.all,en.all],[Cn.video,en.video],[Cn.audio,en.audio],[Cn.image,en.image],[Cn.doc,en.doc],[Cn.app,en.app],[Cn.archive,en.archive]]),Ru=x0(TE),ME=[["文件名关键词","广告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/备注内容"]],BE="##",pd="#",OE="=",RE="==",FE="s",NE="r",vw="#",UE=[{type:Fe.suffix,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:5,values:["txt","url","html","htm","mht"]},{type:Fe.suffix,queryOnly:true,label:"🔍115筛选",memo:"仅用于查询",size:102400,values:["#视频","#音频","#图片","#文档","#应用","#压缩包"]}],jE=["#論壇文宣","#宣傳文本","最新地址","最新网址","论坛地址","永久地址","地址发布","扫码 安装","扫码 下载","免費 掃碼","澳门 赌场","皇冠 赌场","免费18禁手游","免费黄游手游","在线影城","秀场 小视频","裸秀 主播 免费看","第一会所 宣传","SIS 影视联盟",'"最 新 位 址 獲 取"','"社 區 最 新 情 報"','"聚 合 全 網 H 直 播"'],zE=["#論壇文宣","美女 裸聊","秀场 视频","澳门 赌场","皇冠 赌场","影视 联盟","2048 社区","1024 社区","会所 宣传","扫码 安装","社区 关注","免費 掃碼","找回家","防屏蔽","封殺00","秀场 小视频","裸秀 主播 免费看",'"Free Adult Movie"',"奔驰宝马","最新网址","最新免費","免费试用","美女荷官","凤凰娛樂","观看指南","女神在线","更多无水印","免费在线","国产精品","免費原版","獨家資源","成人光碟","最新AV","FDZone","发布器","QR-1024","在這等你","激情祼聊","看妹不用等","真人祼聊","zz.jpg","X8B9.COM.gif","第一会所 宣传","SIS 影视联盟","淘精網","激情咖啡","手機影城","免费手机看片","U視娛樂","加微信","我愛看片手機版","平台正式上線"],HE=[{type:Fe.keyword,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:100,values:jE},{type:Fe.keyword,queryOnly:false,label:"⚠️大杀器⚠️",memo:"请谨慎使用!",size:100,values:zE},{type:Fe.keyword,queryOnly:true,label:"远程关键词示例",size:100,values:[],url:"https://gist.githubusercontent.com/northsea4/a6c1945eb12fe7a7ef125c323b83b3fc/raw?t={t}"},{type:Fe.keyword,queryOnly:true,label:"只查询示例",memo:"这是一个示例",size:10240,values:["奔驰宝马","美女荷官",'"最 新 位 址 獲 取"']}];function ns(e={}){return {id:Date.now().toString(),type:Fe.keyword,queryOnly:false,label:"",values:"",memo:"",size:0,sort:0,createdAt:0,updatedAt:0}}function VE(e,t){if(e=e.trim(),t===Fe.keyword)return YE(e);if(t!==Fe.suffix)return null;const n=WE(e);return {type:tt.filter,value:e,maxSize:-1,forDir:false,isFilter:n,pattern:n?KE(e).toString():e,num:-1,fileIds:[],size:-1,status:St.none}}function qE(e){return [St.prepare,St.deleting].includes(e.status)}function ap(e,t){const n=[];return qE(e)&&n.push("active"),(e.type===tt.filter||e.isFilter)&&n.push("is-filter"),e.type===tt.dirKeyword&&n.push("is-dir"),e.num&&n.push(`item-${Fo.matched}`),e.num===0&&n.push(`item-${Fo.notMatched}`),n}function WE(e){return new RegExp(`^${vw}[\\S]{2,}`).test(e)}function KE(e){const t=new RegExp(`^${vw}`);let n=e.replace(t,"");const o=Ru.get(n);if(!o)throw new Error(`"${e}"不是有效的筛选!`);return o}async function ts(e,t){let n;typeof e=="string"?n=e.split(/[\r\n]+/):n=e;const o=new Set;for(let i=0;i<n.length;i++){const r=n[i].trim();r.length>1&&o.add(r);}const s=[];return o.forEach(i=>{const r=VE(i,t);r&&s.push(r);}),s}function GE(e){return /(^'.+'$)|(^".+"$)/.test(e)}function lp(e,t){return e===""||!t.patternRegexp?false:(t.pattern,t.patternRegexp.test(e))}function up(e,t,n){const o=xw(e);o.num=0,o.size=0,o.fileIds=[];const s=new Set;let i=0;n.maxSize&&(i=n.maxSize*1024*1024),e.maxSize>=0&&(i=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===tt.dirKeyword||e.type===tt.fileKeyword)&&(a&&e.type!==tt.fileKeyword||!a&&e.type!==tt.dirKeyword))continue;const c=parseFloat(t[r].s);i&&a&&c>i||e.type===tt.fileKeyword&&!lp(t[r].n,e)||e.type===tt.dirKeyword&&!lp(t[r].n,e)||e.type===tt.fileHash&&t[r].sha!==e.pattern.toUpperCase()||s.has(l)||(s.add(l),o.size+=c);}return o.fileIds=Array.from(s),o.num=o.fileIds.length,o}function xw(e={}){return {type:tt.fileKeyword,value:"",pattern:"",patternRegexp:null,maxSize:-1,size:-1,fullMatch:false,caseSensitive:false,isRegexp:false,impartible:false,memo:"",...e}}function JE(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 s=0;s<o.length;s++)o[s]=o[s].trim(),o[s]!==""&&(/^\d+$/.test(o[s])&&(t.maxSize=parseInt(o[s])),o[s]===OE&&(t.fullMatch=true),o[s]===RE&&(t.fullMatch=true,t.caseSensitive=true,n=true),o[s]===FE&&(t.caseSensitive=true,n=true),o[s]===NE&&(t.isRegexp=true));return t.isRegexp&&(t.caseSensitive=n?t.caseSensitive:false,t.fullMatch=false),t}function YE(e){const t=xw();if(e=e.trim(),e===""||e.startsWith("//"))return null;if(/^[a-fA-F0-9]{40}(\/.*)?$/.test(e))return t.type=tt.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 s=JE(o[3]);s&&(t.caseSensitive=s.caseSensitive,t.fullMatch=s.fullMatch,t.maxSize=s.maxSize,t.isRegexp=s.isRegexp);}if(t.value=e,t.pattern=o[2].trim(),o[1]===BE)return t.type=tt.filter,null;o[1]===pd?t.type=tt.dirKeyword:t.type=tt.fileKeyword,o[4]&&(t.memo=o[4].substring(1).trim());}return t.impartible=GE(t.pattern),t.impartible&&(t.pattern=t.pattern.replace(/^['"]|['"]$/g,"")),t.type===tt.dirKeyword&&(t.maxSize=-1),t.patternRegexp=QE(t),t}function QE(e){if(e.pattern===""||![tt.dirKeyword,tt.fileKeyword].includes(e.type))return null;let t="";if(e.caseSensitive||(t+="i"),e.isRegexp)return new RegExp(e.pattern,t);let n=l0(e.pattern);return e.fullMatch&&(n=`^${n}$`),e.impartible||(n=n.replace(/\s+/g,".*")),new RegExp(n,t)}function XE(e){const{type:t,pattern:n,isRegexp:o}=e;return t===tt.filter?Ru.has(n)?{type:Ru.get(n)}:/^\d$/.test(n)?{type:parseInt(n)}:{suffix:n}:o?{search_value:n.replace(/^\^/,"").replace(/\$$/,"")}:{search_value:n}}function fi(e,t,n){if(n){const o=Zu(e,{});ou(e,{...o,...t});}else ou(e,t);}function ZE(e={}){return Cc({okStatus:[200],useFileReader:false,fileReader:{encoding:"utf-8",checkBlank:true}},e)}async function _w(e,t={}){return new Promise((n,o)=>{const s=t.useFileReader?"blob":"text";Ea({method:"GET",url:e,responseType:s,nocache:!t.cache,onload:async i=>{if(t.okStatus&&!t.okStatus.includes(i.status)&&o(new Error(`请求失败!status=${i.status},statusText=${i.statusText}`)),t.useFileReader){let r=i.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(i.response);},onerror:i=>{console.error("[load] onerror",i),o(`请求失败!status=${i?.status},statusText=${i?.statusText}`);}});})}async function eA(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 _w(e.url);}catch(n){throw new Error(`无法加载URL:${n.toString()}`)}if(t=t.trim(),t==="")throw new Error("URL返回内容为空!");e.values=t,e.lastSync=Hs();}const Cw=function(){return document.ontouchstart!==null?"click":"touchstart"},ba="__vue_click_away__",kw=function(e,t,n){Sw(e);let o=n.context,s=t.value,i=false;setTimeout(function(){i=true;},0),e[ba]=function(r){if((!e||!e.contains(r.target))&&s&&i&&typeof s=="function")return s.call(o,r)},document.addEventListener(Cw(),e[ba],false);},Sw=function(e){document.removeEventListener(Cw(),e[ba],false),delete e[ba];},tA=function(e,t,n){t.value!==t.oldValue&&kw(e,t,n);},nA={mounted:kw,updated:tA,unmounted:Sw},oA=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=V(false),s=V(false),i=l=>{const c=document.querySelector("body");c.style.overflow=l?"hidden":"";},r=l=>{l.target.classList.contains("ce-drawer__overlay")&&(s.value||a("close"));},a=t;return jt(()=>{o.value=n.isOpen;}),He(()=>n.isOpen,l=>{s.value=true,l?(i(true),o.value=true):(i(false),setTimeout(()=>o.value=false,n.speed)),setTimeout(()=>s.value=false,n.speed);}),(l,c)=>(C(),S("div",null,[d("div",{class:Le(["ce-drawer",{"is-open":l.isOpen,"is-visible":o.value}])},[d("div",{class:"ce-drawer__overlay",style:Qn({transitionDuration:`${l.speed}ms`})},null,4),G((C(),S("div",{class:"ce-drawer__content",style:Qn({maxWidth:l.maxWidth,transitionDuration:`${l.speed}ms`,backgroundColor:l.bgColor})},[Ge(l.$slots,"default")],4)),[[te(nA),r]])],2)]))}}),Wi=Pe(oA,[["__file","Drawer.vue"]]),sA={class:"k-p-e"},iA={class:"ce-tag-plain"},rA={class:"text-primary"},aA={class:"text-success"},lA={key:0,class:"ce-hr"},uA=xe({__name:"KeywordPatternExamples",setup(e){return (t,n)=>(C(),S("div",sA,[n[2]||(n[2]=d("h4",{style:{"margin-bottom":"6px"}},"关键词说明(前4种类型已满足大部分需求场景)",-1)),(C(true),S(Ae,null,ze(te(ME),(o,s)=>(C(),S("div",{key:s},[d("div",null,[d("span",iA,O(o[0]),1),n[0]||(n[0]=P(" ",-1)),d("span",rA,O(o[1]),1),n[1]||(n[1]=P(" ",-1)),d("span",aA,O(o[2]),1)]),s===3?(C(),S("hr",lA)):fe("",true)]))),128))]))}}),$w=Pe(uA,[["__file","KeywordPatternExamples.vue"]]),cA={class:"group-manager"},dA={key:0,class:"label-readonly",title:"当前分组只可用于查询"},fA={key:1,class:"label-readonly",title:"当前分组特征为远程文本"},pA=["title"],hA={class:"groups-list"},mA={key:0,class:"text-danger"},gA={class:"pure-table pure-table-bordered"},wA={align:"center"},yA=["onClick"],bA={class:"group-confirm-delete"},vA=["onClick"],xA=["onClick"],_A={class:"pure-form pure-form-stacked group-form"},CA={class:"pure-control-group"},kA={class:"pure-control-group"},SA={key:0,class:"pure-control-group"},$A={class:"pure-form-message"},EA={class:"pure-control-group"},AA={class:"pure-form-message"},PA={key:0,class:"text-info"},IA={key:1,class:"text-info"},DA=["onClick"],LA={class:"values"},TA={class:"v-input"},MA={class:"v-help"},BA={class:"pure-control-group"},OA={class:"pure-control-group"},RA=xe({__name:"GroupManager",props:{type:{},storageKey:{},config:{}},emits:["change"],setup(e,{emit:t}){const n=e,o=t,s=V(false),i=V(ns({type:n.type})),r=V([]),a=V(false),l=V(ns({type:n.type})),c=V(false),u=V(null),f=[en.video,en.audio,en.image,en.doc,en.app,en.archive];He(r,async se=>{console.log("[groups change]",se),fi(n.storageKey,se,false),se.length||(a.value=false,c.value=false);},{deep:true});let p=false;jt(async()=>{if(!p){p=true,r.value=Zu(n.storageKey,[]),console.log("[groups]",r.value);const{suffixGroup:se,keywordGroup:F}=n.config;if(r.value.length){const U=r.value.find(Y=>Y.id===(n.type===Fe.suffix?se:F));console.log("[group last choosen]",U),i.value=U||r.value[0],o("change",i.value);}else n.type===Fe.suffix&&!se&&(await I(),fi(mt.cleanerConfig,{suffixGroup:i.value.id},true)),n.type===Fe.keyword&&!F&&(await I(),fi(mt.cleanerConfig,{keywordGroup:i.value.id},true));}}),_s(async()=>{});async function w(se){const F=`#${se}`;l.value.values.includes(F)||(l.value.values+=(`
`+F).trim()+`
`);}async function g(){s.value=false;}async function b(){c.value=false;}async function x(){c.value=true,a.value=false;}async function A(){u.value.show();}async function T(){u.value.hide();}async function D(){l.value.createdAt&&(l.value=ns({type:n.type})),l.value.size=5,n.type===Fe.keyword&&(l.value.size=100),s.value=true;}async function I(){let se=[];n.type===Fe.suffix?se=UE:se=HE;for(let F=0;F<se.length;F++){const U={...ns({type:se[F].type}),...se[F]};l.value=U,l.value.type=U.type,l.value.queryOnly=U.queryOnly,l.value.size=U.size,l.value.label=U.label,l.value.memo=U.memo,l.value.createdAt=0,l.value.updatedAt=0,Array.isArray(U.values)?l.value.values=U.values.join(`
`):l.value.values=U.values,await z(),await T();}r.value.length&&await ue(r.value[0]);}async function B(se,F=false){if(!F){const{isConfirmed:Y}=await Z.fire({html:`确定删除"${i.value.label}"?`,icon:"question"});if(!Y)return}let U=-1;for(let Y=0;Y<r.value.length;Y++)if(r.value[Y].id===i.value.id){U=Y;break}r.value.splice(U,1),r.value.length?i.value=r.value[0]:i.value=ns({type:n.type}),o("change",i.value),await ee({icon:"success",title:"删除成功!",timer:1500});}async function q(se){l.value=se,s.value=true;}async function z(){let se=[];try{se=await ts(l.value.values,l.value.type);}catch(be){await Z.fire({icon:"error",text:be.message});return}if(l.value.label=l.value.label.trim(),l.value.memo=l.value.memo.trim(),l.value.label===""){await ee({icon:"warning",text:"请输入标题!"});return}let F=-1;for(let be=0;be<r.value.length;be++)if(r.value[be].id===l.value.id&&l.value.id){F=be;break}const U=Hs();l.value.updatedAt=U,l.value.createdAt||(l.value.createdAt=U);let Y=[];for(let be=0;be<se.length;be++)Y.push(se[be].value);l.value.values=Y.join(`
`).trim(),console.log("[saveGroup]",l.value,F),F===-1?(r.value.push(l.value),ee({icon:"success",text:"添加成功"})):(r.value[F]=l.value,ee({icon:"success",text:"更新成功"}));const le=!i.value.createdAt;le&&(i.value=l.value),(l.value.id===i.value.id||le)&&o("change",l.value),await g();}async function ue(se){i.value=se;const{id:F}=i.value;n.type===Fe.suffix&&(n.config.suffixGroup=F,fi(mt.cleanerConfig,{suffixGroup:F},true)),n.type===Fe.keyword&&(n.config.keywordGroup=F,fi(mt.cleanerConfig,{keywordGroup:F},true)),o("change",se);}async function me(se,F=false){try{await eA(se);}catch(U){console.error(U),ee({icon:"error",text:U.message});return}F?(l.value=se,await z()):ee({icon:"success",text:"读取成功"});}return (se,F)=>{const U=vo("VDropdown");return C(),S("div",cA,[i.value.queryOnly?(C(),S("span",dA," 🔍 只查询 ")):fe("",true),i.value.url?(C(),S("span",fA," 🔗 远程 ")):fe("",true),i.value.createdAt?(C(),S("span",{key:2,class:"group-label",title:`当前使用的分组: ${i.value.label}`},[d("span",null,[F[11]||(F[11]=d("small",null,"分组:",-1)),P(" "+O(i.value.label),1)])],8,pA)):fe("",true),i.value.url?(C(),S("a",{key:3,href:"javascript:void(0)",class:"pure-button button-success",onClick:F[0]||(F[0]=Y=>me(i.value,true))}," ↓ 同步关键词")):fe("",true),d("a",{href:"javascript:void(0)",class:"pure-button",onClick:F[1]||(F[1]=Y=>q(i.value))}," ✎ 编辑 "),F[36]||(F[36]=P(" ",-1)),d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:D},"+ 新增分组"),oe(U,{ref_key:"list",ref:u,onHide:b,onShow:x,distance:5},{popper:ge(()=>[d("div",hA,[r.value.length?fe("",!0):(C(),S("h3",mA,[F[12]||(F[12]=P(" 还没有添加任何分组。你可以: ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:D},"添加"),F[13]||(F[13]=P(" ",-1)),F[14]||(F[14]=d("span",{class:"text-info"},"或",-1)),F[15]||(F[15]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:I},"使用脚本内置"),F[16]||(F[16]=d("br",null,null,-1)),F[17]||(F[17]=d("br",null,null,-1))])),d("table",gA,[F[21]||(F[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"},[P("大小"),d("small",null,"MB")]),d("th",{width:"220"},"操作")])],-1)),d("tbody",null,[(C(!0),S(Ae,null,ze(r.value,(Y,le)=>(C(),S("tr",{key:le},[d("td",null,O(le+1),1),d("td",wA,O(Y.queryOnly?"是":"否"),1),d("td",null,O(Y.label),1),d("td",null,O(Y.memo),1),d("td",null,O(Y.size),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall text-primary",onClick:be=>ue(Y)},"载入",8,yA),F[19]||(F[19]=P(" ",-1)),oe(U,null,{popper:ge(()=>[d("div",bA,[d("button",{type:"button",class:"pure-button button-error",onClick:be=>B(Y,!0)},"确定",8,vA)])]),default:ge(()=>[F[18]||(F[18]=d("button",{type:"button",class:"pure-button button-xsmall text-danger"},"删除",-1))]),_:2,__:[18]},1024),F[20]||(F[20]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:be=>q(Y)},"编辑",8,xA)])]))),128))])])])]),default:ge(()=>[d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:A},"≡ 分组列表")]),_:1},512),oe(Wi,{"is-open":s.value,onClose:F[10]||(F[10]=Y=>s.value=false),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:ge(()=>[d("form",_A,[d("fieldset",null,[d("div",CA,[F[22]||(F[22]=d("label",{for:"groupLabel",class:"text-primary"},"* 标题",-1)),G(d("input",{type:"text","onUpdate:modelValue":F[2]||(F[2]=Y=>l.value.label=Y),id:"groupLabel",class:"pure-input-1-2",placeholder:"分组标题"},null,512),[[je,l.value.label]]),F[23]||(F[23]=P(" ",-1)),l.value.queryOnly?(C(),S("button",{key:0,type:"button",class:"pure-button button-small button-warning",onClick:F[3]||(F[3]=Y=>l.value.queryOnly=!1)},"已设置为仅用于查询 | 点击取消设置")):fe("",!0),l.value.queryOnly?fe("",!0):(C(),S("button",{key:1,type:"button",class:"pure-button button-small pure-button-primary",onClick:F[4]||(F[4]=Y=>l.value.queryOnly=!0)},"设置为仅用于查询"))]),d("div",kA,[F[24]||(F[24]=d("label",{for:"groupMemo",class:"text-primary"},"备注",-1)),G(d("input",{type:"text","onUpdate:modelValue":F[5]||(F[5]=Y=>l.value.memo=Y),id:"groupMemo",placeholder:"分组备注"},null,512),[[je,l.value.memo]])]),n.type===te(Fe).keyword?(C(),S("div",SA,[F[27]||(F[27]=d("label",{for:"groupUrl",class:"text-primary"},"远程链接",-1)),d("div",$A,[F[25]||(F[25]=d("span",null,"纯文本, utf-8编码",-1)),F[26]||(F[26]=P(" ",-1)),l.value.url?(C(),S("button",{key:0,type:"button",class:"pure-button button-small button-success",onClick:F[6]||(F[6]=Y=>me(l.value,!1))}," 读取 ")):fe("",!0)]),G(d("input",{type:"text","onUpdate:modelValue":F[7]||(F[7]=Y=>l.value.url=Y),id:"groupUrl",placeholder:"远程链接"},null,512),[[je,l.value.url]])])):fe("",!0),d("div",EA,[F[32]||(F[32]=d("label",{for:"groupValues",class:"text-primary"},"* 特征列表",-1)),d("div",AA,[n.type===te(Fe).keyword?(C(),S("span",PA,[F[28]||(F[28]=P(" 默认只匹配文件名。前面带",-1)),d("b",null,O(te(pd)),1),F[29]||(F[29]=P("则只匹配目录名。 ",-1))])):fe("",!0),n.type===te(Fe).suffix?(C(),S("span",IA,[F[30]||(F[30]=P(" 支持115自带筛选: ",-1)),(C(),S(Ae,null,ze(f,(Y,le)=>d("span",{class:"filter-label text-success",key:le,onClick:be=>w(Y)}," #"+O(Y),9,DA)),64)),F[31]||(F[31]=d("small",{class:"text-primary"},"(点击添加)",-1))])):fe("",!0)]),d("div",LA,[d("div",TA,[G(d("textarea",{id:"groupValues","onUpdate:modelValue":F[8]||(F[8]=Y=>l.value.values=Y),rows:"14",placeholder:"每行一个"},null,512),[[je,l.value.values]])]),d("div",MA,[oe($w)])])]),d("div",BA,[F[33]||(F[33]=d("label",{for:"groupMemo",class:"text-primary"},"* 文件大小",-1)),F[34]||(F[34]=d("div",{class:"pure-form-message"},[P("只清理小于该大小的文件,单位"),d("b",null,"MB")],-1)),G(d("input",{type:"number","onUpdate:modelValue":F[9]||(F[9]=Y=>l.value.size=Y),class:"pure-input-1-4",placeholder:"文件大小小于该数值才清理"},null,512),[[je,l.value.size]])]),d("div",OA,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:z},O(l.value.createdAt?"更新":"添加"),1),F[35]||(F[35]=P(" ",-1)),d("button",{type:"button",class:"pure-button",onClick:g},"取消")])])])]),_:1},8,["is-open"])])}}}),cp=Pe(RA,[["__file","GroupManager.vue"]]),FA={class:"cloud115-eh-cleaner-help"},NA=xe({__name:"Help",setup(e){return (t,n)=>(C(),S("div",FA,[d("div",null,[n[3]||(n[3]=wg('<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"},[P("目录名关键词使用"),d("b",null,"搜索"),P("接口查找匹配,只能逐个关键词进行处理,请尽量使用简单的关键词,否则可能会匹配不到。")],-1)),n[1]||(n[1]=d("p",{class:"text-danger"},[P("文件名关键词使用"),d("b",null,"列表"),P("接口查找匹配,速度较快,且支持更灵活的关键词。")],-1)),n[2]||(n[2]=d("br",null,null,-1)),oe($w)])])]))}}),UA=Pe(NA,[["__file","Help.vue"]]),jA={key:0},zA={key:1},HA={key:2},VA={key:3},qA={key:4},WA={key:5},KA={key:6},GA={key:7},JA={key:8},YA={key:9},QA=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"),s=t,i=D=>{D!==o.value&&(D>l.value||D<1||n.disablePagination||(s("update:modelValue",D),s("click",D)));},r=D=>D,a=D=>n.type!=="link"?"":n.linkUrl.replace("[page]",D.toString()),l=Ke(()=>Math.ceil(n.totalItems/n.itemsPerPage)),c=Ke(()=>{let D,I;if(l.value<=n.maxPagesShown)D=1,I=l.value;else {let q=Math.floor(n.maxPagesShown/2),z=Math.ceil(n.maxPagesShown/2)-1;o.value<=q?(D=1,I=n.maxPagesShown):o.value+z>=l.value?(D=l.value-n.maxPagesShown+1,I=l.value):(D=o.value-q,I=o.value+z);}let B=Array.from(Array(I+1-D).keys()).map(q=>D+q);return n.dir==="rtl"&&(B=B.reverse()),{totalItems:n.totalItems,currentPage:o.value,itemsPerPage:n.itemsPerPage,totalPages:l,startPage:D,endPage:I,pages:B}}),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),w=Ke(()=>u.value?c.value.pages[0]<l.value-1:c.value.pages[0]>=3),g=Ke(()=>u.value?c.value.pages[c.value.pages.length-1]>=3:c.value.pages[c.value.pages.length-1]<l.value-1),b=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),A=Ke(()=>o.value!==1),T=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 (D,I)=>(C(),S("ul",{id:"componentContainer",class:Le(e.paginationContainerClass)},[e.showEndingButtons&&A.value?(C(),S("li",jA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:I[0]||(I[0]=_n(B=>i(u.value?l.value:1),["prevent"])),class:Le([e.firstPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(D.$slots,"first-page-button",{},()=>[P(O(e.firstPageContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showJumpButtons&&w.value?(C(),S("li",zA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:I[1]||(I[1]=_n(B=>i(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),class:Le([e.backwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackwardJumpButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(D.$slots,"backward-jump-button",{},()=>[P(O(e.backwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),!e.hidePrevNext&&f.value?(C(),S("li",HA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value+1:o.value-1),onClick:I[2]||(I[2]=_n(B=>i(u.value?o.value+1:o.value-1),["prevent"])),class:Le([e.backButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(D.$slots,"prev-button",{},()=>[P(O(e.prevButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showBreakpointButtons&&b.value?(C(),S("li",VA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:I[3]||(I[3]=_n(B=>i(u.value?l.value:1),["prevent"])),class:Le([e.firstButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledFirstButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[P(O(u.value?r(l.value):r(1)),1)]),_:1},8,["href","class","disabled"]))])):fe("",true),e.showBreakpointButtons&&w.value?(C(),S("li",qA,[(C(),et(Dn(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:I[4]||(I[4]=_n(B=>i(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:Le([e.startingBreakpointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:ge(()=>[Ge(D.$slots,"starting-breakpoint-button",{},()=>[P(O(e.startingBreakpointContent),1)])]),_:3},8,["href","disabled","class"]))])):fe("",true),(C(true),S(Ae,null,ze(c.value.pages,(B,q)=>(C(),S("li",{key:q},[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(B),onClick:_n(()=>i(B),["prevent"]),class:Le([e.paginateButtonsClass,e.numberButtonsClass,B===o.value?e.activePageClass:"",e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:ge(()=>[P(O(r(B)),1)]),_:2},1032,["href","onClick","class","disabled"]))]))),128)),e.showBreakpointButtons&&g.value?(C(),S("li",WA,[(C(),et(Dn(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:I[5]||(I[5]=_n(B=>i(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:Le([e.endingBreakPointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:ge(()=>[Ge(D.$slots,"ending-breakpoint-button",{},()=>[P(O(e.endingBreakpointButtonContent),1)])]),_:3},8,["href","disabled","class"]))])):fe("",true),e.showBreakpointButtons&&x.value?(C(),S("li",KA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:I[6]||(I[6]=_n(B=>i(u.value?1:l.value),["prevent"])),class:Le([e.lastButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledLastButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[P(O(u.value?r(1):r(l.value)),1)]),_:1},8,["href","class","disabled"]))])):fe("",true),!e.hidePrevNext&&p.value?(C(),S("li",GA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value-1:o.value+1),onClick:I[7]||(I[7]=_n(B=>i(u.value?o.value-1:o.value+1),["prevent"])),class:Le([e.paginateButtonsClass,e.nextButtonClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledNextButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(D.$slots,"next-button",{},()=>[P(O(e.nextButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showJumpButtons&&g.value?(C(),S("li",JA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:I[8]||(I[8]=_n(B=>i(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),class:Le([e.forwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledForwardJumpButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(D.$slots,"forward-jump-button",{},()=>[P(O(e.forwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showEndingButtons&&T.value?(C(),S("li",YA,[(C(),et(Dn(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:I[9]||(I[9]=_n(B=>i(u.value?1:l.value),["prevent"])),class:Le([e.lastPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(D.$slots,"last-page-button",{},()=>[P(O(e.lastPageContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true)],2))}}),dp=Pe(QA,[["__file","Pager.vue"]]),XA=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,s=`${t.paddingY}px`;return {marginTop:s,height:s,borderTop:`1px solid ${o}`}});return (o,s)=>(C(),S("div",{class:"ce-divider",style:Qn(n.value)},[Ge(o.$slots,"default")],4))}}),fp=Pe(XA,[["__file","Divider.vue"]]),ZA={class:"ce-file-list"},eP={class:"text-small text-info"},tP={class:"text-primary"},nP={class:"text-danger"},oP={class:"item-meta"},sP={key:0,class:"ce-label"},iP={key:1,class:"ce-label"},rP={key:2,class:"ce-label"},aP={key:3,class:"ce-label"},lP={key:4,class:"ce-label"},uP={key:5,class:"ce-label ce-label-danger"},cP={key:6,class:"ce-label ce-label-danger"},dP={key:7,class:"text-info"},fP={class:"text-success"},pP={class:"pure-table pure-table-bordered"},hP={class:"text-small"},mP={class:"text-success"},gP=xe({__name:"FileList",props:{group:{},pattern:{},files:{}},setup(e){const t=e,n=V([]),o=V(0),s=V(15),i=V(5),r=V(1);kt(async()=>{o.value=t.pattern.fileIds?.length||0,a();});function a(c=1){const u=[],{fileIds:f=[]}=t.pattern,p=s.value*(c-1),w=f.slice(p,p+s.value);for(const g of w){const b=t.files.get(g);if(b){const x=vs(b);u.push(x);}}n.value=u;}function l(c){a(c);}return (c,u)=>(C(),S("div",ZA,[d("div",null,[d("div",eP,[u[2]||(u[2]=d("small",null,"原始:",-1)),u[3]||(u[3]=P()),d("span",tP,O(c.pattern.value),1),u[4]||(u[4]=P(", ",-1)),u[5]||(u[5]=d("small",null,"类型:",-1)),u[6]||(u[6]=P()),d("span",nP,O(te(bw)[c.pattern.type]),1),d("div",null," fullMatch: "+O(c.pattern.fullMatch)+", caseSensitive: "+O(c.pattern.caseSensitive)+", impartible: "+O(c.pattern.impartible)+", isRegexp: "+O(c.pattern.isRegexp)+", maxSize: "+O(c.pattern.maxSize)+", patternRegexp: "+O(c.pattern.patternRegexp),1)]),u[8]||(u[8]=d("hr",null,null,-1)),d("div",oP,[c.pattern.fullMatch?(C(),S("span",sP,"全等")):fe("",true),c.pattern.caseSensitive?(C(),S("span",iP,"区分大小写")):fe("",true),c.pattern.impartible?(C(),S("span",rP,"匹配空格")):fe("",true),c.pattern.isRegexp?(C(),S("span",aP,"正则")):fe("",true),c.pattern.type===te(tt).fileHash?(C(),S("span",lP,"sha1")):fe("",true),c.pattern.maxSize===0?(C(),S("span",uP,"任意大小")):fe("",true),c.pattern.maxSize>0?(C(),S("span",cP,"不大于"+O(c.pattern.maxSize)+"MB",1)):fe("",true),c.pattern.memo?(C(),S("div",dP,[u[7]||(u[7]=d("small",null,"备注:",-1)),P(" "+O(c.pattern.memo),1)])):fe("",true)])]),u[10]||(u[10]=d("br",null,null,-1)),d("div",null,[o.value>s.value?(C(),et(dp,{key:0,"total-items":o.value,"items-per-page":s.value,"max-pages-shown":i.value,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=f=>r.value=f),onClick:l},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):fe("",true),d("span",fP,"数量: "+O(o.value),1),oe(fp,{transparent:"","padding-y":5}),d("table",pP,[u[9]||(u[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,[(C(true),S(Ae,null,ze(n.value,(f,p)=>(C(),S("tr",{key:p},[d("td",null,O(s.value*(r.value-1)+p+1),1),d("td",null,O(f.isDir?"目录":"文件"),1),d("td",null,O(f.id),1),d("td",null,O(f.name),1),d("td",null,O(f.sizeDesc),1),d("td",hP,O(f.hash),1)]))),128))])]),oe(fp,{transparent:"","padding-y":5}),o.value>s.value?(C(),et(dp,{key:1,"total-items":o.value,"items-per-page":s.value,"max-pages-shown":i.value,modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=f=>r.value=f),onClick:l},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):fe("",true),d("span",mP,"数量: "+O(o.value),1)])]))}}),wP=Pe(gP,[["__scopeId","data-v-89339f2e"],["__file","FileList.vue"]]);function yP(e,t){return Object.entries(e).map(([n,o])=>({label:o,value:n,checked:t?t(n):false}))}const bP={class:"ce-button-group"},vP=["onClick"],xP=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,s=Ke(()=>{let a=[];const l=c=>n.multiple?n.modelValue.includes(c):n.modelValue===c;return n.mapping?a=yP(n.mapping,l):n.options&&(a=_c(n.options).map(c=>({...c,checked:l(c.value)}))),a}),i=V(n.modelValue);function r(a){n.multiple?(a.checked=!a.checked,i.value=s.value.filter(l=>l.checked).map(l=>l.value)):(s.value.forEach(l=>{l.checked=l.value===a.value;}),i.value=a.value),o("update:modelValue",i.value);}return (a,l)=>(C(),S("span",bP,[(C(true),S(Ae,null,ze(s.value,c=>(C(),S("button",{key:c.value?.toString(),type:"button",class:Le(["pure-button",{"pure-button-primary":c.checked}]),onClick:u=>r(c)},O(c.label),11,vP))),128))]))}}),va=Pe(xP,[["__file","index.vue"]]),_P={class:"ce-config ce-cleaner-config"},CP={class:"pure-form pure-form-aligned"},kP={class:"pure-control-group"},SP={class:"pure-control-group"},$P={class:"pure-control-group"},EP={class:"pure-control-group"},AP=xe({__name:"Config",setup(e){const t={[po.all]:"全部",[po.file]:"文件",[po.dir]:"目录"},n={[Fo.all]:"全部",[Fo.matched]:"有匹配",[Fo.notMatched]:"无匹配"},o=V(dd());let s=false;return kt(async()=>{o.value=await mr(),s=true,He(o,ct(async i=>{s&&(await fd({showEntryOnPathBar:i.showEntryOnPathBar,keywordDefaultCategory:i.keywordDefaultCategory,keywordDefaultResult:i.keywordDefaultResult,cleanWithoutConfirm:i.cleanWithoutConfirm}),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}));},500),{deep:true});}),(i,r)=>(C(),S("div",_P,[r[11]||(r[11]=d("h2",null,"文件清理工具设置",-1)),d("form",CP,[d("fieldset",null,[r[5]||(r[5]=d("legend",null,"基础设置",-1)),d("div",kP,[r[4]||(r[4]=d("label",{for:"showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),G(d("input",{id:"showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.showEntryOnPathBar=a)},null,512),[[ve,o.value.showEntryOnPathBar]])])]),d("fieldset",null,[r[8]||(r[8]=d("legend",null,"按关键词清理设置",-1)),d("div",SP,[r[6]||(r[6]=d("label",{for:"defaultKeywordCategory"},'默认"关键词类别"',-1)),oe(va,{modelValue:o.value.keywordDefaultCategory,"onUpdate:modelValue":r[1]||(r[1]=a=>o.value.keywordDefaultCategory=a),mapping:t},null,8,["modelValue"])]),d("div",$P,[r[7]||(r[7]=d("label",{for:"defaultResultFilter"},'默认"结果筛选"',-1)),oe(va,{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",EP,[r[9]||(r[9]=d("label",{for:"cleanWithoutConfirm"},'点击"一键清理"时不需确认',-1)),G(d("input",{id:"cleanWithoutConfirm",type:"checkbox","onUpdate:modelValue":r[3]||(r[3]=a=>o.value.cleanWithoutConfirm=a)},null,512),[[ve,o.value.cleanWithoutConfirm]])])])])]))}}),PP=Pe(AP,[["__file","Config.vue"]]),IP=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,s)=>Ge(o.$slots,"default",{},()=>[d("button",{type:"button",class:"pure-button button-small",onClick:n},O(o.label),1)])}}),Ew=Pe(IP,[["__file","GoTop.vue"]]),DP=".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}";$t(DP);const LP='@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.loading{cursor:wait}.cloud115-eh-cleaner-drawer.loading button,.cloud115-eh-cleaner-drawer.loading input{cursor:no-drop;pointer-events:none}.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}';$t(LP);const TP={type:"button",class:"pure-button button-success"},MP=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 s(){unsafeWindow.parent.Core.FileSelectDG.Open(async(i,r)=>{console.log("[Core.FileSelectDG.Open]",i,r),o("select",{items:i,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 (i,r)=>(C(),S("span",{onClick:s},[Ge(i.$slots,"default",{},()=>[d("button",TP,O(i.label),1)])]))}}),Ki=Pe(MP,[["__file","DirSelector.vue"]]),BP={class:"cloud115-eh-cleaner ce-cleaner-x"},OP={class:"header actions-bar"},RP={class:"close"},FP={class:"ce-path ce-label ce-label-primary-plain"},NP=["href"],UP={class:"by-box by-suffix"},jP={class:"by-header"},zP={class:"pure-button-group",role:"group"},HP=["disabled"],VP={class:"pure-table pure-table-bordered"},qP=["onClick"],WP=["onClick"],KP=["onClick"],GP=["onClick"],JP={class:"by-header"},YP={class:"pure-button-group",role:"group"},QP=["disabled"],XP={class:"item-index"},ZP={class:"item-val"},eI=["href"],tI={class:"file-type tp-folder"},nI={class:"item-meta"},oI={key:0,class:"ce-label"},sI={key:1,class:"ce-label"},iI={key:2,class:"ce-label"},rI={key:3,class:"ce-label"},aI={key:4,class:"ce-label"},lI={key:5,class:"ce-label ce-label-danger"},uI={key:6,class:"ce-label ce-label-danger"},cI={key:7,class:"text-info"},dI={key:0,class:"text-small text-info"},fI={class:"text-primary"},pI={class:"text-danger"},hI={class:"item-num"},mI={class:"item-size"},gI={class:"item-actions"},wI=["onClick"],yI=["onClick"],bI=["onClick"],vI={class:"item-status"},xI={class:"footer actions-bar"},_I={class:"ce-path ce-label ce-label-primary-plain"},CI=["href"],kI=xe({__name:"Cleaner",setup(e){const t=V(false),n=V(true),o=V(ns({type:Fe.suffix})),s=V(ns({type:Fe.keyword})),i=V({maxSize:5,matchName:false}),r=V({maxSize:100,matchName:true,keywordCategory:po.all,resultCategory:Fo.all}),a=V([]),l=V([]),c=V(false),u=V(dd()),f=V(false),p=V(""),w=V([]),g=V(null),b=V(false),x=Ke(()=>p.value?Jn(p.value):"");async function A(){b.value=!b.value;}const T=V(false),D=new Map,I=V({});async function B(X){for(const m of X){const v=m.fid||m.cid;v&&!D.has(v)&&D.set(v,m);}}async function q(X,m){I.value.files=D,I.value.group=X,I.value.pattern=m,T.value=true;}async function z(X){X.data.type===qt.OPEN_CLEANER&&(me(X.data.payload),us({type:qt.CLEANER_OPENED},X.source));}kt(async()=>{u.value=await mr(),f.value=true,await ue();}),jt(async()=>{u.value.initialized||(u.value.initialized=true,await fd({initialized:true})),window.addEventListener("message",z);}),_s(()=>{window.removeEventListener("message",z);});async function ue(){const{keywordDefaultCategory:X,keywordDefaultResult:m}=u.value;r.value.keywordCategory=X||po.all,r.value.resultCategory=m||Fo.all;}async function me(X){t.value=true;const m=await un();if(m==="0"||m===""){await se(),await Z.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}p.value&&p.value!==m&&console.warn("目录变化,重置"),g.value=await Tt(m),w.value=[...g.value.paths.slice(1).map(v=>v.file_name),g.value.file_name],p.value=m;}async function se(){t.value=false;}async function F(X){console.log("[onSelectDir]",X);const{items:m}=X,v=m[m.length-1];await le(It.reset),await be(It.reset),p.value=v.cid,g.value=await Tt(v.cid),w.value=[...g.value.paths.slice(1).map(k=>k.file_name),g.value.file_name];}async function U(X){const m={};X.isFilter?m.type=X.pattern:m.suffix=X.pattern;let v=unsafeWindow.frames[0];for(let k=0;k<unsafeWindow.frames.length;k++)if(unsafeWindow.frames[k].name==="wangpan"){v=unsafeWindow.frames[k];break}us({type:qt.INVOKE_FILTER,payload:m},v),await se(),ee({icon:"info",text:`已调用115筛选: ${X.value}`,timer:2500});}async function Y(X,m){const{value:v}=await Z.fire({input:"textarea",title:X,html:"每行一个,最短两个字符。"+(m===Fe.keyword?`<br>默认只匹配文件名,不匹配目录名。<br>使用 "<b>${pd}目录名关键词</b>" 格式指定只匹配目录名的关键词。`:""),width:620,inputPlaceholder:"每行一个,最短两个字符",inputAttributes:{"aria-label":"每行一个,最短两个字符"},showCancelButton:true});return v!==void 0?v.trim():""}async function le(X,m){let v="",k=[];switch(X){case It.assign:v=m.trim(),v.trim()===""?a.value=[]:(k=await ts(v,Fe.suffix),a.value=k);break;case It.append:v=await Y("添加后缀",Fe.suffix),k=await ts(v,Fe.suffix);const Q=[];a.value.forEach(N=>Q.push(N.value.toLowerCase())),k.forEach(N=>{Q.includes(N.value.toLowerCase())||a.value.push(N);});break;case It.cover:v=await Y("覆盖后缀",Fe.suffix),v.trim()!==""&&(k=await ts(v,Fe.suffix),a.value=k);break;case It.clear:a.value=[];break;case It.reset:a.value.forEach(N=>{N.num=-1,N.fileIds=[],N.status=St.none,N.size=-1;});break}}async function be(X,m){let v="",k=[];switch(X){case It.assign:v=m.trim(),v.trim()===""?l.value=[]:(k=await ts(v,Fe.keyword),l.value=k);break;case It.append:v=await Y("添加关键词",Fe.keyword),k=await ts(v,Fe.keyword);const Q=[];l.value.forEach(N=>Q.push(N.value.toLowerCase())),k.forEach(N=>{Q.includes(N.value.toLowerCase())||l.value.push(N);});break;case It.cover:v=await Y("覆盖关键词",Fe.keyword),v.trim()!==""&&(k=await ts(v,Fe.keyword),l.value=k);break;case It.clear:l.value=[];break;case It.reset:l.value.forEach(N=>{N.num=-1,N.fileIds=[],N.status=St.none,N.size=-1;});break}}async function ke(X){if(console.log("[cleanBySuffix]",X),await le(It.reset),!a.value.length){await Z.fire({icon:"warning",text:"请先设置后缀!"});return}if(L=[],!X){const{isConfirmed:m}=await Z.fire({icon:"warning",html:'请在清理前确认"后缀和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!m)return}c.value=true;try{for(let m=0;m<a.value.length;m++){const v=a.value[m];await _e(v,X,!1,!0,!1);}X||(c.value=!0,await ft(Fe.suffix));}catch(m){console.error(m),Z.fire({title:"按后缀名清理 - 发生错误",html:m.toString()});}finally{c.value=false,X||Z.fire({title:"按后缀名清理 - 完成"});}}async function _e(X,m,v,k,Q){if(console.log("[cleanBySuffixSingle]",X,m),!m&&!k){const{isConfirmed:N}=await Z.fire({icon:"warning",html:`确认执行条件 "后缀: <b class="text-primary">${X.pattern}</b>, 不大于: <b>${i.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!N)return}try{if(!v){c.value=!0,X.fileIds=[],X.size=-1,X.num=-1,X.status=St.prepare;const N=await cn(X);await B(N),X.status=St.prepared;const{fileIds:K=[],size:de}=up(X,N,i.value);X.fileIds=K,X.size=de,X.num=K.length,c.value=!1;}if(!m)if(X.num&&X.num>0){X.status=St.deleting,c.value=!0;const N=X.fileIds?.length||0;Q?await El(p.value,X.fileIds||[],u.value.deleteSize,1e3):ot(Fe.suffix,X.fileIds||[],!1),c.value=!1,N>0?X.status=St.success+` / 数量 <= ${N}`:X.status=St.failed;}else X.status=St.success+" / 无";}catch(N){console.error(N),c.value=false,await Z.fire({title:"cleanBySuffixSingle - 发生错误",html:N.toString()});}}async function Se(){const X=[tt.fileKeyword,tt.fileHash];return l.value.some(m=>X.includes(m.type))}async function Ne(X,m){if(console.log("[cleanByKeyword]",X,m),await be(It.reset),!l.value.length){await Z.fire({icon:"warning",text:"请先设置关键词!"});return}if(pe=[],!X&&!u.value.cleanWithoutConfirm){const v={icon:"warning",html:'请在清理前确认"关键词和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"},{isConfirmed:k,value:Q}=await Z.fire(v);if(!k)return}c.value=true,console.time("cleanByKeyword");try{let v;await Se()&&(v=await ut(),await B(v));const k=m||r.value.keywordCategory;for(let Q=0;Q<l.value.length;Q++){const N=l.value[Q];if(k!==po.all){const K=N.type===tt.dirKeyword;if(k===po.dir&&!K||k===po.file&&K)continue}await we(N,X,!1,!0,v,!1);}X||(c.value=!0,await ft(Fe.keyword));}catch(v){console.error(v),Z.fire({title:"按关键词清理 - 发生错误",html:v.toString()});}finally{console.timeEnd("cleanByKeyword"),X||Z.fire({title:"按关键词清理 - 完成"});}c.value=false;}async function ut(){const X=p.value,m=mo({cid:X,limit:1150,type:Cn.file,record_open_time:0});return await Ms(m)}async function we(X,m,v,k,Q,N){if(console.log("[cleanByKeywordSingle]",X,m),!m&&!k){const{isConfirmed:K}=await Z.fire({icon:"warning",html:`确认执行条件 "关键词: <b class="text-primary">${X.pattern}</b>, 不大于: <b class="text-primary">${r.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!K)return}try{if(!v){c.value=!0,X.fileIds=[],X.size=-1,X.num=-1,X.status=St.prepare;let K=[];X.type!==tt.dirKeyword&&Q!==void 0?K=Q:(K=await Yt(X),await B(K)),X.status=St.prepared;const{fileIds:de,size:ce,num:ae}=up(X,K,r.value);X.fileIds=de,X.size=ce,X.num=ae,c.value=!1;}if(!m)if(X.num&&X.num>0){X.status=St.deleting,c.value=!0;const K=X.fileIds?.length||0;N?await El(p.value,X.fileIds||[],u.value.deleteSize,1e3):ot(Fe.keyword,X.fileIds||[],!1),c.value=!1,K>0?X.status=St.success+` / 数量 <= ${K}`:X.status=St.failed;}else X.status=St.success+" / 无";}catch(K){console.error(K),c.value=false;let de=true;const ce={title:"cleanByKeywordSingle - 发生错误",html:K.toString()};K instanceof oc&&(X.status=St.prepareFailed+` / ${K.message}`,K instanceof Kp&&(ce.timer=2e3,de=false)),de?await Z.fire(ce):Z.fire(ce);}}let L=[],pe=[];function ot(X,m,v){X===Fe.suffix?L=[...L,...m]:pe=[...pe,...m];}async function ft(X){const m=X===Fe.suffix?L:pe;if(!m.length)return;const v=Array.from(new Set(m));console.log("[deleteFiles] num=",v.length),await El(p.value,v,1150,1e3);}async function cn(X){const m=p.value,v=mo({cid:m,limit:u.value.pageSize});X.isFilter?v.type=X.pattern:v.suffix=X.value;const k=await Ms(v);return console.log("[files]",k),k}async function Yt(X){const m=p.value,v=lb({search_value:X.pattern,cid:m,limit:u.value.pageSize}),k=await W0(v,u.value.reqInterval,true);return console.log("[files]",k),k}function ro(X){return tm({...XE(X),cid:p.value},w.value[w.value.length-1])}async function Ss(X){console.log("[onSuffixGroupChange]",X),o.value=X,i.value.maxSize=X.size,await le(It.assign,X.values);}async function bn(X){console.log("[onKeywordGroupChange]",X),s.value=X,r.value.maxSize=X.size,await be(It.assign,X.values);}return (X,m)=>{const v=vo("VDropdown");return G((C(),S("span",BP,[Ge(X.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:me},m[10]||(m[10]=[d("span",null,"清理文件",-1)]))]),oe(Wi,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:m[9]||(m[9]=k=>t.value=false)},{default:ge(()=>[G(d("div",{class:Le(["cloud115-eh-cleaner-drawer",{loading:c.value}])},[oe(UA),d("div",OP,[m[15]||(m[15]=d("span",{class:"title"},"文件清理工具",-1)),d("span",RP,[d("button",{type:"button",class:"pure-button button-error",onClick:se},"关闭"),m[12]||(m[12]=P(" ",-1)),oe(Ki,{purpose:"清理文件",onSelect:F}),m[13]||(m[13]=P(" ",-1)),oe(v,{triggers:["click"],distance:5},{popper:ge(()=>[oe(PP)]),default:ge(()=>[m[11]||(m[11]=d("button",{type:"button",class:"pure-button"},"⚙ 设置",-1))]),_:1,__:[11]})]),d("div",FP,[d("a",{target:"_blank",href:x.value,title:"打开目录"},[m[14]||(m[14]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),P(" "+O(w.value.join(" / ")),1)],8,NP)])]),d("div",UP,[d("div",jP,[m[16]||(m[16]=d("span",{class:"title"},[P("按"),d("b",null,"后缀名"),P("清理")],-1)),m[17]||(m[17]=P(" ",-1)),d("div",zP,[d("button",{type:"button",class:"pure-button",onClick:m[0]||(m[0]=k=>ke(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:m[1]||(m[1]=k=>ke(!1)),disabled:o.value.queryOnly}," 一键清理 ",8,HP)]),m[18]||(m[18]=P(" ",-1)),m[19]||(m[19]=d("span",{class:"ce-label"},"不大于",-1)),m[20]||(m[20]=P(" ",-1)),G(d("input",{type:"number","onUpdate:modelValue":m[2]||(m[2]=k=>i.value.maxSize=k),class:"filter-size"},null,512),[[je,i.value.maxSize]]),m[21]||(m[21]=P(" MB ",-1)),m[22]||(m[22]=d("small",null,"(0表示不限制)",-1)),f.value?(C(),et(cp,{key:0,type:te(Fe).suffix,"storage-key":"suffixGroups",onChange:Ss,config:u.value},null,8,["type","config"])):fe("",!0)]),d("table",VP,[m[25]||(m[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,[(C(!0),S(Ae,null,ze(a.value,(k,Q)=>(C(),S("tr",{key:Q,class:Le(te(ap)(k))},[d("td",null,O(Q+1),1),d("td",null,[d("a",{href:"javascript:void(0)",class:"pattern",onClick:N=>U(k),title:"筛选"},O(k.value),9,qP)]),d("td",null,O(k.num&&k.num>=0?k.num:""),1),d("td",null,O(k.size>0?te(Vs)(k.size):""),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall",onClick:N=>_e(k,!0,!1,!0)},"查询",8,WP),m[23]||(m[23]=P(" ",-1)),k.num&&k.num>0&&!o.value.queryOnly?(C(),S("button",{key:0,type:"button",class:"pure-button button-warning button-xsmall",onClick:N=>_e(k,!1,!0,!1,!0)},"清理",8,KP)):fe("",!0),m[24]||(m[24]=P(" ",-1)),k.num&&k.num>0?(C(),S("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:N=>q(o.value,k)},"≡ 详情",8,GP)):fe("",!0)]),d("td",null,O(k.status),1)],2))),128))])])]),m[55]||(m[55]=d("br",null,null,-1)),oe(Wi,{"is-open":T.value,onClose:m[3]||(m[3]=k=>T.value=!1),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:ge(()=>[T.value?(C(),et(wP,{key:0,files:I.value.files,group:I.value.group,pattern:I.value.pattern},null,8,["files","group","pattern"])):fe("",!0)]),_:1},8,["is-open"]),d("div",{class:Le(["by-box by-keyword",[`kw-cate-${r.value.keywordCategory}`]])},[d("div",JP,[m[26]||(m[26]=d("span",{class:"title"},[P("按"),d("b",null,"关键词"),P("清理")],-1)),m[27]||(m[27]=P(" ",-1)),d("div",YP,[d("button",{type:"button",class:"pure-button",onClick:m[4]||(m[4]=k=>Ne(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:m[5]||(m[5]=k=>Ne(!1)),disabled:s.value.queryOnly}," 一键清理 ",8,QP)]),m[28]||(m[28]=P(" ",-1)),m[29]||(m[29]=d("span",{class:"ce-label"},"不大于",-1)),m[30]||(m[30]=P(" ",-1)),G(d("input",{type:"number","onUpdate:modelValue":m[6]||(m[6]=k=>r.value.maxSize=k),class:"filter-size"},null,512),[[je,r.value.maxSize]]),m[31]||(m[31]=P(" MB ",-1)),m[32]||(m[32]=d("small",null,"(0表示不限制)",-1)),m[33]||(m[33]=P(" ",-1)),m[34]||(m[34]=d("span",{class:"ce-label"},"关键词类别",-1)),m[35]||(m[35]=P(" ",-1)),oe(va,{modelValue:r.value.keywordCategory,"onUpdate:modelValue":m[7]||(m[7]=k=>r.value.keywordCategory=k),mapping:te(DE)},null,8,["modelValue","mapping"]),m[36]||(m[36]=P(" ",-1)),m[37]||(m[37]=d("span",{class:"ce-label"},"结果筛选",-1)),m[38]||(m[38]=P(" ",-1)),oe(va,{modelValue:r.value.resultCategory,"onUpdate:modelValue":m[8]||(m[8]=k=>r.value.resultCategory=k),mapping:te(LE)},null,8,["modelValue","mapping"]),f.value?(C(),et(cp,{key:0,type:te(Fe).keyword,"storage-key":"keywordGroups",onChange:bn,config:u.value},null,8,["type","config"])):fe("",!0)]),d("table",{class:Le(["pure-table pure-table-bordered fixed-header-table",[`table-${r.value.resultCategory}`]])},[d("thead",null,[d("tr",null,[m[40]||(m[40]=d("th",{width:"25"},"#",-1)),d("th",{width:"280"},[m[39]||(m[39]=P(" 关键词 ",-1)),d("small",{class:"text-info",onClick:A},"显示调试信息")]),m[41]||(m[41]=d("th",{width:"95"},"文件/目录数量",-1)),m[42]||(m[42]=d("th",{width:"80"},"合计大小",-1)),m[43]||(m[43]=d("th",{width:"150"},"操作",-1)),m[44]||(m[44]=d("th",{width:"200"},"状态",-1))])]),d("tbody",null,[(C(!0),S(Ae,null,ze(l.value,(k,Q)=>(C(),S("tr",{key:Q,class:Le(te(ap)(k,r.value))},[d("td",XP,O(Q+1),1),d("td",ZP,[d("a",{href:ro(k),target:"_blank",class:"pattern",title:"搜索"},[G(d("i",tI,null,512),[[Vt,k.type===te(tt).dirKeyword]]),P(" "+O(k.pattern),1)],8,eI),d("span",nI,[k.fullMatch?(C(),S("span",oI,"全等")):fe("",!0),k.caseSensitive?(C(),S("span",sI,"区分大小写")):fe("",!0),k.impartible?(C(),S("span",iI,"匹配空格")):fe("",!0),k.isRegexp?(C(),S("span",rI,"正则")):fe("",!0),k.type===te(tt).fileHash?(C(),S("span",aI,"sha1")):fe("",!0),k.maxSize===0?(C(),S("span",lI,"任意大小")):fe("",!0),k.maxSize>0?(C(),S("span",uI,"不大于"+O(k.maxSize)+"MB",1)):fe("",!0),k.memo?(C(),S("div",cI,[m[45]||(m[45]=d("small",null,"备注:",-1)),P(" "+O(k.memo),1)])):fe("",!0)]),b.value?(C(),S("div",dI,[m[46]||(m[46]=d("small",null,"raw:",-1)),m[47]||(m[47]=P()),d("span",fI,O(k.value),1),m[48]||(m[48]=P(", ",-1)),m[49]||(m[49]=d("small",null,"type:",-1)),m[50]||(m[50]=P()),d("span",pI,O(te(bw)[k.type]),1),d("div",null," fullMatch: "+O(k.fullMatch)+", caseSensitive: "+O(k.caseSensitive)+", impartible: "+O(k.impartible)+", isRegexp: "+O(k.isRegexp)+", maxSize: "+O(k.maxSize)+", patternRegexp: "+O(k.patternRegexp?.toString()),1)])):fe("",!0)]),d("td",hI,O(k.num&&k.num>=0?k.num:""),1),d("td",mI,O(k.size>0?te(Vs)(k.size):""),1),d("td",gI,[k.type!==te(tt).fileKeyword?(C(),S("button",{key:0,type:"button",class:"pure-button button-xsmall",onClick:N=>we(k,!0,!1,!0)},"查询",8,wI)):fe("",!0),k.type!==te(tt).fileKeyword&&k.num&&k.num>0&&!s.value.queryOnly?(C(),S("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:N=>we(k,!1,!0,!1,void 0,!0)},"清理",8,yI)):fe("",!0),k.num&&k.num>0?(C(),S("button",{key:2,type:"button",class:"pure-button button-xsmall",onClick:N=>q(s.value,k)},"≡ 详情",8,bI)):fe("",!0)]),d("td",vI,O(k.status),1)],2))),128))])],2)],2),m[56]||(m[56]=d("br",null,null,-1)),d("div",xI,[m[52]||(m[52]=d("span",{class:"title"},"文件清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:se},"关闭")]),m[53]||(m[53]=P(" ",-1)),oe(Ki,{purpose:"清理文件",onSelect:F}),m[54]||(m[54]=P(" ",-1)),oe(Ew,{container:".cloud115-eh-cleaner-drawer"}),d("div",_I,[d("a",{target:"_blank",href:x.value,title:"打开目录"},[m[51]||(m[51]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),P(" "+O(w.value.join(" / ")),1)],8,CI)])])],2),[[Vt,t.value]])]),_:1},8,["is-open"])],512)),[[Vt,n.value]])}}}),SI=Pe(kI,[["__file","Cleaner.vue"]]),$I={class:"ce-empty-cleaner-trigger"},EI=xe({__name:"Trigger",setup(e){V(false);const t=V(true);async function n(a){switch(a.data.type){case qt.EMPTY_CLEANER_OPENED:await r(a.data.payload);break}}jt(async()=>{window.addEventListener("message",n);}),_s(()=>{window.removeEventListener("message",n);});async function o(){await i(),us({type:qt.OPEN_EMPTY_CLEANER},window.parent);}let s;async function i(){const a=Pa("cid");!a||a==="0"||(clearTimeout(s),s=setTimeout(async()=>{ee({icon:"error",text:"打开清理空文件夹工具失败!"+location.href});},1e3));}async function r(a){console.log("成功打开EmptyCleaner"),clearTimeout(s);}return (a,l)=>G((C(),S("span",$I,[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)),[[Vt,t.value]])}}),AI=Pe(EI,[["__file","Trigger.vue"]]),PI=/^(?:\| )+\|-/;async function*II(e){const t=["/"],n=e.trim().split(`
`);let o=0;for(const s of n){const i=PI.exec(s);if(i===null)continue;const a=i[0].length,l=a/2-1,c=s.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:Kh(u)};}}function Jl(e={}){return {name:"",path:"",id:"",url:"",checked:false,deleted:false,disabled:false,repeated:false,ensured:false,...e}}function Yl(){return {suffixes:new Set,treeNameCounter:{},treeNameToPaths:{},repeatedPaths:new Set,maybeDirs:{},filesNameCounter:{},violationFiles:[]}}let DI=class{logs=[];_dirId="";_dirPath="";_dirAttr=null;_treeText="";_keepTree=false;_treeFile=null;_tailData=Yl();_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 Tt(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 Y0(this._dirId);console.log("exportTree",n),this.log("已发起导出处理,等待导出完成...");const o=await Q0(n.data.export_id,2e3);console.log("exportTree",o),this.log(`导出目录树成功,PickCode为${o.data.pick_code}`);const s=await G0(o.data.pick_code);console.log("downloadItem",s),this.log("正在读取目录树文件内容...");let i=true;try{this._treeText=await this._readFile(s),this.log("目录树文件内容读取完成");}catch(a){this.log(`读取目录树文件内容失败,${a.toString()}`),i=false;}if(this._keepTree)this.onTreeFileGenerated(s),this.log(`目录树文件保留,不会被删除。文件: ${s.file_name}`);else {const a=await Ec(this._dirId,[s.file_id]);console.log("deleteResult",a),this.log("目录树文件已删除");}const r=((Date.now()-t)/1e3).toFixed(2);i?this.log(`导出目录树完成,耗时 ${r} 秒`):this.log(`导出目录树失败,耗时 ${r} 秒`),this.log("=".repeat(60));}async _readFile(t){const n=ZE({okStatus:[200,206],useFileReader:true,fileReader:{checkBlank:true,encoding:"utf-16le"}});return await _w(t.url.url,n)}async parseTree(){const t=Date.now();this.log("解析目录树...");const n=Yl(),o=[],s=this._dirPath.split("/").slice(0,-1).join("/");console.log("[parseTree] parentPath:",s);for await(const r of II(this._treeText)){const a=s+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=Jh(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 i=((Date.now()-t)/1e3).toFixed(2);this.log(`解析目录树完成,耗时 ${i} 秒`),this.log("=".repeat(60)),this._tailData=n;}async queryFiles(){const t=Date.now(),n=this._tailData;this.log("获取文件列表...");const o=mo({type:Cn.file,limit:1150,cid:this._dirId});try{const i=Date.now(),r=await Ms(o),a=((Date.now()-i)/1e3).toFixed(2);this.log(`获取文件列表成功,文件数量:${r.length}。耗时 ${a} 秒`);for(const l of r)l.c===su.violation?(console.warn(`违规: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),this._tailData.violationFiles.push(vs(l))):l.c===su.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(i){console.error("[queryFiles] getFiles error! error:",i),this.log(`获取文件列表失败!错误: ${i.toString()}`);}const s=((Date.now()-t)/1e3).toFixed(2);this.log(`获取文件列表完成。耗时 ${s} 秒`),this.log("=".repeat(60));}async handleMaybeDirs(){const t=Date.now(),n=this._tailData;this.log("========根据上级路径排除无后缀文件========");const o=this._tailData.violationFiles.length>0,s=Object.keys(n.maybeDirs).length;let i=0;for(const[a,l]of Object.entries(n.maybeDirs)){let c="";try{c=await Ts(a,!1);}catch(f){console.error(`[handleMaybeDirs] getDirIdByPath error! path: ${a}, error:`,f),this.log(`[${i+1} / ${s}] 根据上级路径(cid=${a}) 获取目录ID失败!错误: ${f.toString()}`);continue}const u=mo({limit:1150,cid:c});try{const f=Date.now();this.log(`[${i+1} / ${s}] 正在获取上级路径 "${a}" 的文件列表...`);const p=await Ms(u),w=((Date.now()-f)/1e3).toFixed(2);this.log(`[${i+1} / ${s}] 获取上级路径 "${a}" 的文件列表成功,文件数量:${p.length}。耗时 ${w} 秒`);for(const g of p)if(l.has(g.n)){if(g.fid)this.log(`[${i+1} / ${s}] 上级路径 "${a}" 下的 "${g.n}" 是一个文件`),n.treeNameCounter[g.n]&&n.treeNameCounter[g.n]--;else if(!n.filesNameCounter[g.n]&&!o){const b=a+"/"+g.n;this.log(`[${i+1} / ${s}] 路径 "${b}" 是一个目录,该目录名称无对应的文件,且由于无违规文件,因此可确认为空目录`);const x=Jl({id:g.cid,name:g.n,path:b,url:Jn(g.cid),ensured:!0});await this.addEmptyItem(x);}}}catch(f){console.error(`[handleMaybeDirs] getFiles error! cid: ${c}, error:`,f),this.log(`[${i+1} / ${s}] 获取上级路径(cid=${c}) "${a}" 的文件列表失败!错误: ${f.toString()}`);}i++;}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 s=0,i=Object.keys(n.treeNameCounter).length;for(const[a,l]of Object.entries(n.treeNameCounter)){if(!l){s++;continue}const c=n.treeNameToPaths[a];this.log(`[${s+1} / ${i}] 名称 "${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(`[${s+1} / ${i}] 正在检测名称 "${a}" 第 ${u+1}/${l} 个路径: ${f}`);try{const p=await Ts(f,!1);if(p){this.log(`检测到该末端路径 "${f}" 是一个空目录(ID: ${p})`);const w=Jl({id:p,name:a,path:f,url:Jn(p),ensured:!o});await this.addEmptyItem(w);}}catch(p){p instanceof sc?this.log(`路径 "${f}" 不是一个目录`):(console.error(`[detectEmpty] getDirIdByPath failed! path: ${f}, error:`,p),this.log(`获取路径 "${f}" 的ID失败!错误: ${p.toString()}`));}}s++;}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=uu(n,"..",Mo.unix);console.log("[checkDirContainsRepeated] parentPath:",o);let s="";try{if(s=await Ts(o,!1),!s){this.log(`❌ 根据路径"${o}"获取目录ID失败: 目录不存在!`);return}}catch(r){console.error(`[checkDirContainsRepeated] getDirIdByPath error! path: ${o}, error:`,r),this.log(`获取路径 "${o}" 的ID失败!错误: ${r.toString()}`);return}const i=mo({limit:1150,cid:s});try{const r=Date.now();this.log(`正在获取目录(id=${s})的文件列表...`);const a=await Ms(i),l=((Date.now()-r)/1e3).toFixed(2);this.log(`获取目录(id=${s})的文件列表成功,文件数量:${a.length}。耗时 ${l} 秒`);for(const c of a)if(!(c.fid||c.n!==t))try{const u=await Tt(c.cid);if(u.file_name){if(u.folder_count===0&&u.count===0){this.log(`目录(id=${s})的子目录(id=${c.cid})为空`);const f=Jl({id:c.cid,name:u.file_name,path:[...u.paths.map(p=>p.file_name).slice(1),u.file_name].join("/"),url:Jn(c.cid),repeated:!0,ensured:!0,attr:u});await this.addEmptyItem(f);}else this.log(`目录(id=${s})的子目录(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: ${s}, error:`,r),this.log(`获取目录(id=${s})的文件列表失败!错误: ${r.toString()}`);}}async checkRealEmpty(){const t=Date.now();this.log("========确认是否真的为空目录========");for(const o of this._emptyItems.values())if(!o.ensured)try{const s=await Tt(o.id);o.ensured=!0,o.attr=s,s.count===0&&s.folder_count===0?this.log(`目录(id=${o.id}) "${o.path}" 确认为空`):(o.disabled=!0,o.memo="目录不为空,请手动检查和处理",this.log(`目录(id=${o.id}) "${o.path}" 确认不为空,请手动检查和处理`));}catch(s){console.error(`[checkRealEmpty] getAttr error! cid: ${o.id}, error:`,s),this.log(`获取目录(id=${o.id}) "${o.path}" 属性失败!异常: ${s.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=Yl(),this._treeFile=null,this._checkedRepeatedPaths=new Set,this._pendingPaths=new Set;}};const LI={},TI={class:"ce-empty-cleaner-help"};function MI(e,t){return C(),S("div",TI,t[0]||(t[0]=[wg('<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 BI=Pe(LI,[["render",MI],["__scopeId","data-v-ce900ab5"],["__file","Help.vue"]]);async function OI(){return (await Bt().get("https://115.com/?ct=tool&ac=clear_empty_folder",{timeout:12e4,withCredentials:true})).data}async function xa(){const e=t=>{Z.update({html:`清理失败!${t}`,showConfirmButton:true,allowOutsideClick:false});};try{const{isConfirmed:t,value:n}=await Z.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;Z.fire({html:"正在清理,请稍候..."}),Z.showLoading();const o=await OI();o.state?Z.update({html:o.msg}):e(`清理失败!${o.msg}`);}catch(t){console.error(t),e(`清理失败!${t.toString()}`);}finally{Z.hideLoading();}}const RI={class:"ce-empty-cleaner ce-cleaner-x"},FI={class:"header actions-bar"},NI={class:"ce-path ce-label ce-label-primary-plain"},UI=["href"],jI={class:"top-actions"},zI=["disabled"],HI={class:"pure-form pure-form-aligned"},VI={class:"pure-control-group"},qI={key:0},WI={class:"text-primary"},KI={key:1},GI={class:"text-primary"},JI={key:0},YI=["href"],QI={key:0},XI={key:0},ZI={class:"text-primary"},e5={class:"ec-items"},t5={class:"pure-table pure-table-bordered"},n5={width:"30"},o5=["disabled"],s5=["onUpdate:modelValue","onChange","disabled"],i5={key:0},r5={class:"ce-label ce-label-danger"},a5={key:0},l5={key:1},u5=["onClick","disabled"],c5=["onClick"],d5=["href"],f5={key:0},p5={class:"footer actions-bar"},h5={class:"ce-path ce-label ce-label-primary-plain"},m5=["href"],g5=xe({__name:"EmptyCleaner",setup(e){const t=V(false),n=V(true),o=V(false),s=V(""),i=V([]),r=V(null),a=V([]),l=V(false),c=V(null),u=V([]),f=V([]),p=V(null),w=V(null),g=Ke(()=>w.value?O0(w.value.pick_code):""),b=Ke(()=>s.value?Jn(s.value):"");let x;const A=V({keepTree:false});async function T(we){we.data.type===qt.OPEN_EMPTY_CLEANER&&(D(we.data.payload),us({type:qt.EMPTY_CLEANER_OPENED},we.source));}jt(async()=>{window.addEventListener("message",T),x=new DI(s.value),x.addLogSubscriber(be),x.addEmptyItemSubscriber(ke),x.addTreeFileSubscriber(le);}),_s(()=>{window.removeEventListener("message",T);});async function D(we){t.value=true;const L=await un();if(L==="0"||L===""){await ut(),await Z.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}s.value&&s.value!==L&&console.warn("目录变化,重置"),r.value=await Tt(L),i.value=[...r.value.paths.slice(1).map(pe=>pe.file_name),r.value.file_name],s.value=L;}async function I(){l.value=false,u.value=[],f.value=[],a.value=[],w.value=null;}async function B(){try{o.value=!0,await I(),await x.reset(),await x.setKeepTree(A.value.keepTree),await x.setDirId(s.value),await x.run(),Z.fire({title:"空文件夹检测已完成"});}catch(we){console.error(we),Z.fire({title:"空文件夹检测失败",text:we.toString()});}finally{o.value=false;}}async function q(we){const L=f.value.join(`
`);if(we==="copy")gt(L),ee({text:"已复制清理空文件夹日志",timer:1200});else if(we==="download"){let pe=`清理空文件夹日志-${s.value}.txt`;Wr(L,pe);}}async function z(we,L,pe="path"){const ot=L==="all"?a.value:u.value;let ft="";pe==="path"?ft=ot.map(Yt=>Yt.path).join(`
`):pe==="full"&&(ft=JSON.stringify(ot,null,2));const cn=pe==="path"?"路径":"数据";if(we==="copy")gt(ft),ee({text:`已复制${cn}到剪贴板`,timer:1200});else if(we==="download"){let Yt=`空文件夹${cn}-${s.value}-数量${ot.length}`;Wr(ft,`${Yt}.${pe==="path"?"txt":"json"}`);}}async function ue(we){const pe=u.value.map(ot=>ot.url);await Zc(pe,true);}async function me(we){console.log("[onSelectDir]",we);const{items:L}=we,pe=L[L.length-1];await I(),s.value=pe.cid,r.value=await Tt(pe.cid),i.value=[...r.value.paths.slice(1).map(ot=>ot.file_name),r.value.file_name];}async function se(we,L){if(we.deleted){ee({text:"该目录已删除,不能再次删除!",showConfirmButton:true});return}o.value=true,await U([we.id])&&(we.deleted=true),o.value=false;}async function F(){if(!u.value.length)return;const we=u.value.filter(L=>!L.deleted).map(L=>L.id);if(!we.length){ee({text:"没有可删除的目录!",showConfirmButton:true});return}if(o.value=true,await U(we))for(const L of u.value)L.deleted=true;o.value=false;}async function U(we){try{const L=await Ec(s.value,we);if(L.state)return !0;ee({text:`删除失败: ${L.errno} - ${L.error}`});}catch(L){console.error(L),ee({text:`删除失败!${L.toString()}`});}return false}async function Y(we){o.value=true;try{const L=await Tt(we.id),pe=ft=>new Date(Number(ft)*1e3).toLocaleString(),{isConfirmed:ot}=await Z.fire({title:"目录属性",html:`<div class="ce-ec-detail">
<p><span>类型:</span> 文件夹</p>
<p><span>大小:</span> ${L.size}</p>
<p><span>创建时间:</span> ${pe(L.ptime)}</p>
<p><span>修改时间:</span> ${pe(L.utime)}</p>
<p><span>位置:</span> ${we.path}</p>
</div>
`,showDenyButton:!0,denyButtonText:"关闭",showConfirmButton:!0,confirmButtonText:"查看目录"});ot&&window.open(we.url);}catch(L){ee({text:`获取目录属性失败!${L.toString()}`,timer:1e4,showConfirmButton:true});}finally{o.value=false;}}async function le(we){w.value=we;}async function be(we){f.value.push(we),await ps(),p.value.scrollTop=p.value.scrollHeight;}async function ke(we){a.value.push(we);}async function _e(){console.log("[onAllCheckedChange]",l.value);for(const we of a.value)we.disabled||(we.checked=l.value);await Ne();}async function Se(we,L){console.log("[onCheckChange]",we,L),l.value=a.value.every(pe=>pe.checked),c.value.indeterminate=!l.value&&a.value.some(pe=>pe.checked),await Ne();}async function Ne(){u.value=a.value.filter(we=>we.checked);}async function ut(){t.value=false;}return (we,L)=>G((C(),S("span",RI,[Ge(we.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:D},L[15]||(L[15]=[d("span",null,"清理空文件夹",-1)]))]),oe(Wi,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:L[14]||(L[14]=pe=>t.value=false)},{default:ge(()=>[G(d("div",{class:Le(["ce-empty-cleaner-drawer",{loading:o.value}])},[oe(BI),d("div",FI,[L[17]||(L[17]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:ut},"关闭")]),L[18]||(L[18]=P(" ",-1)),oe(Ki,{purpose:"清理空文件夹",onSelect:me}),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:L[0]||(L[0]=(...pe)=>te(xa)&&te(xa)(...pe)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 "),d("div",NI,[d("a",{target:"_blank",href:b.value,title:"打开目录"},[L[16]||(L[16]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),P(" "+O(i.value.join(" / ")),1)],8,UI)])]),d("div",null,[d("div",jI,[d("div",null,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:B,disabled:o.value},"检测空文件夹",8,zI)]),d("div",null,[d("form",HI,[d("fieldset",null,[d("div",VI,[r.value?(C(),S("label",qI,[L[19]||(L[19]=d("span",null,"文件夹数量:",-1)),L[20]||(L[20]=P(" ",-1)),d("b",WI,O(r.value?.folder_count),1)])):fe("",!0),r.value?(C(),S("label",KI,[L[21]||(L[21]=d("span",null,"文件数量:",-1)),L[22]||(L[22]=P(" ",-1)),d("b",GI,O(r.value?.count),1)])):fe("",!0),d("label",null,[G(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":L[1]||(L[1]=pe=>A.value.keepTree=pe)},null,512),[[ve,A.value.keepTree]]),L[24]||(L[24]=P(" ",-1)),L[25]||(L[25]=d("span",{title:"不会删除目录树文件"},"保留目录树文件",-1)),w.value?(C(),S("span",JI,[L[23]||(L[23]=P(" ",-1)),d("a",{href:g.value,class:"text-primary",target:"_blank"},"查看目录树文件",8,YI)])):fe("",!0)])])])])])]),d("h3",null,[L[28]||(L[28]=P(" 日志 ",-1)),f.value.length?(C(),S("span",QI,[L[26]||(L[26]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[2]||(L[2]=pe=>q("copy"))},"复制日志"),L[27]||(L[27]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[3]||(L[3]=pe=>q("download"))},"保存日志")])):fe("",!0)]),d("div",{ref_key:"refLogs",ref:p,class:"ec-logs"},[(C(!0),S(Ae,null,ze(f.value,(pe,ot)=>(C(),S("div",{key:ot},O(pe),1))),128))],512),d("h3",null,[L[33]||(L[33]=P(" 空文件夹 ",-1)),a.value.length?(C(),S("span",XI,[d("span",ZI," ( "+O(a.value.length)+" )",1),L[29]||(L[29]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[4]||(L[4]=pe=>z("copy","all","path"))},"复制路径"),L[30]||(L[30]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[5]||(L[5]=pe=>z("copy","all","full"))},"复制数据"),L[31]||(L[31]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[6]||(L[6]=pe=>z("download","all","path"))},"保存路径"),L[32]||(L[32]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[7]||(L[7]=pe=>z("download","all","full"))},"保存数据")])):fe("",!0)]),d("div",e5,[d("table",t5,[d("thead",null,[d("tr",null,[L[34]||(L[34]=d("th",{width:"25"},"#",-1)),d("th",n5,[G(d("input",{ref_key:"refAllChecked",ref:c,type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":L[8]||(L[8]=pe=>l.value=pe),onChange:_e,disabled:!a.value.length},null,40,o5),[[ve,l.value]])]),L[35]||(L[35]=d("th",{width:"140"},"ID",-1)),L[36]||(L[36]=d("th",null,"路径",-1)),L[37]||(L[37]=d("th",{width:"150"},"操作",-1))])]),d("tbody",null,[(C(!0),S(Ae,null,ze(a.value,(pe,ot)=>(C(),S("tr",{key:ot,class:Le({"tr-deleted":pe.deleted})},[d("td",null,O(ot+1),1),d("td",null,[G(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":ft=>pe.checked=ft,onChange:ft=>Se(pe,ot),disabled:pe.disabled},null,40,s5),[[ve,pe.checked]])]),d("td",null,O(pe.id),1),d("td",null,[d("div",null,O(pe.path),1),pe.memo?(C(),S("div",i5,[d("span",r5,O(pe.memo),1)])):fe("",!0)]),d("td",null,[pe.deleted?(C(),S("div",a5,L[38]||(L[38]=[d("span",{class:"label-danger"},"已删除",-1)]))):(C(),S("div",l5,[d("button",{type:"button",class:"pure-button button-xsmall button-error",onClick:ft=>se(pe,ot),disabled:pe.disabled},"删除",8,u5),L[39]||(L[39]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:ft=>Y(pe)},"详情",8,c5),L[40]||(L[40]=P(" ",-1)),d("a",{class:"pure-button button-xsmall",href:pe.url,target:"_blank"},"打开",8,d5)]))])],2))),128))])]),u.value.length?(C(),S("div",f5,[L[41]||(L[41]=d("br",null,null,-1)),d("button",{type:"button",class:"pure-button button-error",onClick:F},"删除选中 ("+O(u.value.length)+")",1),L[42]||(L[42]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[9]||(L[9]=pe=>z("copy","checked","path"))},"复制已选路径"),L[43]||(L[43]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[10]||(L[10]=pe=>z("copy","checked","full"))},"复制已选数据"),L[44]||(L[44]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[11]||(L[11]=pe=>z("download","checked","path"))},"保存已选路径"),L[45]||(L[45]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[12]||(L[12]=pe=>z("download","checked","full"))},"保存已选数据"),L[46]||(L[46]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-success button-xsmall",onClick:L[13]||(L[13]=pe=>ue("checked"))},"打开已选")])):fe("",!0)])]),d("div",p5,[L[48]||(L[48]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:ut},"关闭")]),L[49]||(L[49]=P(" ",-1)),oe(Ki,{purpose:"清理空文件夹",onSelect:me}),L[50]||(L[50]=P(" ",-1)),oe(Ew,{container:".ce-empty-cleaner-drawer"}),d("div",h5,[d("a",{target:"_blank",href:b.value,title:"打开目录"},[L[47]||(L[47]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),P(" "+O(i.value.join(" / ")),1)],8,m5)])])],2),[[Vt,t.value]])]),_:1},8,["is-open"])],512)),[[Vt,n.value]])}}),w5=Pe(g5,[["__file","EmptyCleaner.vue"]]),y5=".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}";$t(y5);function b5(){return {showEntryOnPathBar:true}}async function Aw(){const e=b5(),t=await Xe.get(mt.emptyCleanerConfig,e);return {...e,...t}}async function v5(e){return await Xe.set(mt.emptyCleanerConfig,e)}async function x5(){const{host:e}=location,t=await mr(),n=await Aw();e==="115.com"&&(console.log("[Cleaner] running..."),yn()?(await _5(t),await C5(n)):(await k5(),await S5()));}async function _5(e){if(!e.showEntryOnPathBar)return;const t="cloud115Cleaner",n=await nt("#js_path_add_dir"),o=qe(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o);const s=io(PE);s.component("VDropdown",ks),s.directive("tooltip",ad),s.mount(`#${t}`);}async function C5(e){if(!e.showEntryOnPathBar)return;const t="cloud115EmptyCleaner",n=await nt("#js_path_add_dir"),o=qe(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o),io(AI).mount(`#${t}`);}async function k5(e){const t="cloud115Cleaner",n=qe(`<div id="${t}"/>`);document.body.appendChild(n);const o=io(SI);o.component("VDropdown",ks),o.directive("tooltip",ad),o.mount(`#${t}`),wi("清理文件",async()=>{us({type:qt.OPEN_CLEANER},window.parent);});}async function S5(e){const t="cloud115EmptyCleaner",n=qe(`<div id="${t}"/>`);document.body.appendChild(n);const o=io(w5);o.component("VDropdown",ks),o.mount(`#${t}`),wi("清理空目录",async()=>{us({type:qt.OPEN_EMPTY_CLEANER},window.parent);});}function Pw(e,t){return function(){return e.apply(t,arguments)}}const{toString:$5}=Object.prototype,{getPrototypeOf:hd}=Object,{iterator:dl,toStringTag:Iw}=Symbol,fl=(e=>t=>{const n=$5.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Un=e=>(e=e.toLowerCase(),t=>fl(t)===e),pl=e=>t=>typeof t===e,{isArray:ri}=Array,Gi=pl("undefined");function gr(e){return e!==null&&!Gi(e)&&e.constructor!==null&&!Gi(e.constructor)&&sn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Dw=Un("ArrayBuffer");function E5(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Dw(e.buffer),t}const A5=pl("string"),sn=pl("function"),Lw=pl("number"),wr=e=>e!==null&&typeof e=="object",P5=e=>e===true||e===false,Hr=e=>{if(fl(e)!=="object")return false;const t=hd(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Iw in e)&&!(dl in e)},I5=e=>{if(!wr(e)||gr(e))return false;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return false}},D5=Un("Date"),L5=Un("File"),T5=Un("Blob"),M5=Un("FileList"),B5=e=>wr(e)&&sn(e.pipe),O5=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||sn(e.append)&&((t=fl(e))==="formdata"||t==="object"&&sn(e.toString)&&e.toString()==="[object FormData]"))},R5=Un("URLSearchParams"),[F5,N5,U5,j5]=["ReadableStream","Request","Response","Headers"].map(Un),z5=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function yr(e,t,{allOwnKeys:n=false}={}){if(e===null||typeof e>"u")return;let o,s;if(typeof e!="object"&&(e=[e]),ri(e))for(o=0,s=e.length;o<s;o++)t.call(null,e[o],o,e);else {if(gr(e))return;const i=n?Object.getOwnPropertyNames(e):Object.keys(e),r=i.length;let a;for(o=0;o<r;o++)a=i[o],t.call(null,e[a],a,e);}}function Tw(e,t){if(gr(e))return null;t=t.toLowerCase();const n=Object.keys(e);let o=n.length,s;for(;o-- >0;)if(s=n[o],t===s.toLowerCase())return s;return null}const ss=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Mw=e=>!Gi(e)&&e!==ss;function Fu(){const{caseless:e}=Mw(this)&&this||{},t={},n=(o,s)=>{const i=e&&Tw(t,s)||s;Hr(t[i])&&Hr(o)?t[i]=Fu(t[i],o):Hr(o)?t[i]=Fu({},o):ri(o)?t[i]=o.slice():t[i]=o;};for(let o=0,s=arguments.length;o<s;o++)arguments[o]&&yr(arguments[o],n);return t}const H5=(e,t,n,{allOwnKeys:o}={})=>(yr(t,(s,i)=>{n&&sn(s)?e[i]=Pw(s,n):e[i]=s;},{allOwnKeys:o}),e),V5=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),q5=(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);},W5=(e,t,n,o)=>{let s,i,r;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)r=s[i],(!o||o(r,e,t))&&!a[r]&&(t[r]=e[r],a[r]=true);e=n!==false&&hd(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},K5=(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},G5=e=>{if(!e)return null;if(ri(e))return e;let t=e.length;if(!Lw(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},J5=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&hd(Uint8Array)),Y5=(e,t)=>{const o=(e&&e[dl]).call(e);let s;for(;(s=o.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1]);}},Q5=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},X5=Un("HTMLFormElement"),Z5=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,s){return o.toUpperCase()+s}),pp=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),eD=Un("RegExp"),Bw=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};yr(n,(s,i)=>{let r;(r=t(s,i,e))!==false&&(o[i]=r||s);}),Object.defineProperties(e,o);},tD=e=>{Bw(e,(t,n)=>{if(sn(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return false;const o=e[n];if(sn(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+"'")});}});},nD=(e,t)=>{const n={},o=s=>{s.forEach(i=>{n[i]=true;});};return ri(e)?o(e):o(String(e).split(t)),n},oD=()=>{},sD=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function iD(e){return !!(e&&sn(e.append)&&e[Iw]==="FormData"&&e[dl])}const rD=e=>{const t=new Array(10),n=(o,s)=>{if(wr(o)){if(t.indexOf(o)>=0)return;if(gr(o))return o;if(!("toJSON"in o)){t[s]=o;const i=ri(o)?[]:{};return yr(o,(r,a)=>{const l=n(r,s+1);!Gi(l)&&(i[a]=l);}),t[s]=void 0,i}}return o};return n(e,0)},aD=Un("AsyncFunction"),lD=e=>e&&(wr(e)||sn(e))&&sn(e.then)&&sn(e.catch),Ow=((e,t)=>e?setImmediate:t?((n,o)=>(ss.addEventListener("message",({source:s,data:i})=>{s===ss&&i===n&&o.length&&o.shift()();},false),s=>{o.push(s),ss.postMessage(n,"*");}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",sn(ss.postMessage)),uD=typeof queueMicrotask<"u"?queueMicrotask.bind(ss):typeof process<"u"&&process.nextTick||Ow,cD=e=>e!=null&&sn(e[dl]),j={isArray:ri,isArrayBuffer:Dw,isBuffer:gr,isFormData:O5,isArrayBufferView:E5,isString:A5,isNumber:Lw,isBoolean:P5,isObject:wr,isPlainObject:Hr,isEmptyObject:I5,isReadableStream:F5,isRequest:N5,isResponse:U5,isHeaders:j5,isUndefined:Gi,isDate:D5,isFile:L5,isBlob:T5,isRegExp:eD,isFunction:sn,isStream:B5,isURLSearchParams:R5,isTypedArray:J5,isFileList:M5,forEach:yr,merge:Fu,extend:H5,trim:z5,stripBOM:V5,inherits:q5,toFlatObject:W5,kindOf:fl,kindOfTest:Un,endsWith:K5,toArray:G5,forEachEntry:Y5,matchAll:Q5,isHTMLForm:X5,hasOwnProperty:pp,hasOwnProp:pp,reduceDescriptors:Bw,freezeMethods:tD,toObjectSet:nD,toCamelCase:Z5,noop:oD,toFiniteNumber:sD,findKey:Tw,global:ss,isContextDefined:Mw,isSpecCompliantForm:iD,toJSONObject:rD,isAsyncFn:aD,isThenable:lD,setImmediate:Ow,asap:uD,isIterable:cD};function Re(e,t,n,o,s){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),s&&(this.response=s,this.status=s.status?s.status:null);}j.inherits(Re,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:j.toJSONObject(this.config),code:this.code,status:this.status}}});const Rw=Re.prototype,Fw={};["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=>{Fw[e]={value:e};});Object.defineProperties(Re,Fw);Object.defineProperty(Rw,"isAxiosError",{value:true});Re.from=(e,t,n,o,s,i)=>{const r=Object.create(Rw);return j.toFlatObject(e,r,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Re.call(r,e.message,t,n,o,s),r.cause=e,r.name=e.name,i&&Object.assign(r,i),r};const dD=null;function Nu(e){return j.isPlainObject(e)||j.isArray(e)}function Nw(e){return j.endsWith(e,"[]")?e.slice(0,-2):e}function hp(e,t,n){return e?e.concat(t).map(function(s,i){return s=Nw(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function fD(e){return j.isArray(e)&&!e.some(Nu)}const pD=j.toFlatObject(j,{},null,function(t){return /^is[A-Z]/.test(t)});function hl(e,t,n){if(!j.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=j.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,function(b,x){return !j.isUndefined(x[b])});const o=n.metaTokens,s=n.visitor||u,i=n.dots,r=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&j.isSpecCompliantForm(t);if(!j.isFunction(s))throw new TypeError("visitor must be a function");function c(g){if(g===null)return "";if(j.isDate(g))return g.toISOString();if(j.isBoolean(g))return g.toString();if(!l&&j.isBlob(g))throw new Re("Blob is not supported. Use a Buffer instead.");return j.isArrayBuffer(g)||j.isTypedArray(g)?l&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function u(g,b,x){let A=g;if(g&&!x&&typeof g=="object"){if(j.endsWith(b,"{}"))b=o?b:b.slice(0,-2),g=JSON.stringify(g);else if(j.isArray(g)&&fD(g)||(j.isFileList(g)||j.endsWith(b,"[]"))&&(A=j.toArray(g)))return b=Nw(b),A.forEach(function(D,I){!(j.isUndefined(D)||D===null)&&t.append(r===true?hp([b],I,i):r===null?b:b+"[]",c(D));}),false}return Nu(g)?true:(t.append(hp(x,b,i),c(g)),false)}const f=[],p=Object.assign(pD,{defaultVisitor:u,convertValue:c,isVisitable:Nu});function w(g,b){if(!j.isUndefined(g)){if(f.indexOf(g)!==-1)throw Error("Circular reference detected in "+b.join("."));f.push(g),j.forEach(g,function(A,T){(!(j.isUndefined(A)||A===null)&&s.call(t,A,j.isString(T)?T.trim():T,b,p))===true&&w(A,b?b.concat(T):[T]);}),f.pop();}}if(!j.isObject(e))throw new TypeError("data must be an object");return w(e),t}function mp(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function md(e,t){this._pairs=[],e&&hl(e,this,t);}const Uw=md.prototype;Uw.append=function(t,n){this._pairs.push([t,n]);};Uw.toString=function(t){const n=t?function(o){return t.call(this,o,mp)}:mp;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function hD(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function jw(e,t,n){if(!t)return e;const o=n&&n.encode||hD;j.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=j.isURLSearchParams(t)?t.toString():new md(t,n).toString(o),i){const r=e.indexOf("#");r!==-1&&(e=e.slice(0,r)),e+=(e.indexOf("?")===-1?"?":"&")+i;}return e}class gp{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){j.forEach(this.handlers,function(o){o!==null&&t(o);});}}const zw={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false},mD=typeof URLSearchParams<"u"?URLSearchParams:md,gD=typeof FormData<"u"?FormData:null,wD=typeof Blob<"u"?Blob:null,yD={isBrowser:true,classes:{URLSearchParams:mD,FormData:gD,Blob:wD},protocols:["http","https","file","blob","url","data"]},gd=typeof window<"u"&&typeof document<"u",Uu=typeof navigator=="object"&&navigator||void 0,bD=gd&&(!Uu||["ReactNative","NativeScript","NS"].indexOf(Uu.product)<0),vD=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",xD=gd&&window.location.href||"http://localhost",_D=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:gd,hasStandardBrowserEnv:bD,hasStandardBrowserWebWorkerEnv:vD,navigator:Uu,origin:xD},Symbol.toStringTag,{value:"Module"})),Ft={..._D,...yD};function CD(e,t){return hl(e,new Ft.classes.URLSearchParams,{visitor:function(n,o,s,i){return Ft.isNode&&j.isBuffer(n)?(this.append(o,n.toString("base64")),false):i.defaultVisitor.apply(this,arguments)},...t})}function kD(e){return j.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function SD(e){const t={},n=Object.keys(e);let o;const s=n.length;let i;for(o=0;o<s;o++)i=n[o],t[i]=e[i];return t}function Hw(e){function t(n,o,s,i){let r=n[i++];if(r==="__proto__")return true;const a=Number.isFinite(+r),l=i>=n.length;return r=!r&&j.isArray(s)?s.length:r,l?(j.hasOwnProp(s,r)?s[r]=[s[r],o]:s[r]=o,!a):((!s[r]||!j.isObject(s[r]))&&(s[r]=[]),t(n,o,s[r],i)&&j.isArray(s[r])&&(s[r]=SD(s[r])),!a)}if(j.isFormData(e)&&j.isFunction(e.entries)){const n={};return j.forEachEntry(e,(o,s)=>{t(kD(o),s,n,0);}),n}return null}function $D(e,t,n){if(j.isString(e))try{return (t||JSON.parse)(e),j.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return (n||JSON.stringify)(e)}const br={transitional:zw,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",s=o.indexOf("application/json")>-1,i=j.isObject(t);if(i&&j.isHTMLForm(t)&&(t=new FormData(t)),j.isFormData(t))return s?JSON.stringify(Hw(t)):t;if(j.isArrayBuffer(t)||j.isBuffer(t)||j.isStream(t)||j.isFile(t)||j.isBlob(t)||j.isReadableStream(t))return t;if(j.isArrayBufferView(t))return t.buffer;if(j.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),t.toString();let a;if(i){if(o.indexOf("application/x-www-form-urlencoded")>-1)return CD(t,this.formSerializer).toString();if((a=j.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return hl(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||s?(n.setContentType("application/json",false),$D(t)):t}],transformResponse:[function(t){const n=this.transitional||br.transitional,o=n&&n.forcedJSONParsing,s=this.responseType==="json";if(j.isResponse(t)||j.isReadableStream(t))return t;if(t&&j.isString(t)&&(o&&!this.responseType||s)){const r=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(a){if(r)throw a.name==="SyntaxError"?Re.from(a,Re.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}}};j.forEach(["delete","get","head","post","put","patch"],e=>{br.headers[e]={};});const ED=j.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"]),AD=e=>{const t={};let n,o,s;return e&&e.split(`
`).forEach(function(r){s=r.indexOf(":"),n=r.substring(0,s).trim().toLowerCase(),o=r.substring(s+1).trim(),!(!n||t[n]&&ED[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o);}),t},wp=Symbol("internals");function pi(e){return e&&String(e).trim().toLowerCase()}function Vr(e){return e===false||e==null?e:j.isArray(e)?e.map(Vr):String(e)}function PD(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 ID=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ql(e,t,n,o,s){if(j.isFunction(o))return o.call(this,t,n);if(s&&(t=n),!!j.isString(t)){if(j.isString(o))return t.indexOf(o)!==-1;if(j.isRegExp(o))return o.test(t)}}function DD(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function LD(e,t){const n=j.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(s,i,r){return this[o].call(this,t,s,i,r)},configurable:true});});}let rn=class{constructor(t){t&&this.set(t);}set(t,n,o){const s=this;function i(a,l,c){const u=pi(l);if(!u)throw new Error("header name must be a non-empty string");const f=j.findKey(s,u);(!f||s[f]===void 0||c===true||c===void 0&&s[f]!==false)&&(s[f||l]=Vr(a));}const r=(a,l)=>j.forEach(a,(c,u)=>i(c,u,l));if(j.isPlainObject(t)||t instanceof this.constructor)r(t,n);else if(j.isString(t)&&(t=t.trim())&&!ID(t))r(AD(t),n);else if(j.isObject(t)&&j.isIterable(t)){let a={},l,c;for(const u of t){if(!j.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[c=u[0]]=(l=a[c])?j.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1];}r(a,n);}else t!=null&&i(n,t,o);return this}get(t,n){if(t=pi(t),t){const o=j.findKey(this,t);if(o){const s=this[o];if(!n)return s;if(n===true)return PD(s);if(j.isFunction(n))return n.call(this,s,o);if(j.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=pi(t),t){const o=j.findKey(this,t);return !!(o&&this[o]!==void 0&&(!n||Ql(this,this[o],o,n)))}return false}delete(t,n){const o=this;let s=false;function i(r){if(r=pi(r),r){const a=j.findKey(o,r);a&&(!n||Ql(o,o[a],a,n))&&(delete o[a],s=true);}}return j.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let o=n.length,s=false;for(;o--;){const i=n[o];(!t||Ql(this,this[i],i,t,true))&&(delete this[i],s=true);}return s}normalize(t){const n=this,o={};return j.forEach(this,(s,i)=>{const r=j.findKey(o,i);if(r){n[r]=Vr(s),delete n[i];return}const a=t?DD(i):String(i).trim();a!==i&&delete n[i],n[a]=Vr(s),o[a]=true;}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return j.forEach(this,(o,s)=>{o!=null&&o!==false&&(n[s]=t&&j.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(s=>o.set(s)),o}static accessor(t){const o=(this[wp]=this[wp]={accessors:{}}).accessors,s=this.prototype;function i(r){const a=pi(r);o[a]||(LD(s,r),o[a]=true);}return j.isArray(t)?t.forEach(i):i(t),this}};rn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);j.reduceDescriptors(rn.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return {get:()=>e,set(o){this[n]=o;}}});j.freezeMethods(rn);function Xl(e,t){const n=this||br,o=t||n,s=rn.from(o.headers);let i=o.data;return j.forEach(e,function(a){i=a.call(n,i,s.normalize(),t?t.status:void 0);}),s.normalize(),i}function Vw(e){return !!(e&&e.__CANCEL__)}function ai(e,t,n){Re.call(this,e??"canceled",Re.ERR_CANCELED,t,n),this.name="CanceledError";}j.inherits(ai,Re,{__CANCEL__:true});function qw(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new Re("Request failed with status code "+n.status,[Re.ERR_BAD_REQUEST,Re.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}function TD(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function MD(e,t){e=e||10;const n=new Array(e),o=new Array(e);let s=0,i=0,r;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[i];r||(r=c),n[s]=l,o[s]=c;let f=i,p=0;for(;f!==s;)p+=n[f++],f=f%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-r<t)return;const w=u&&c-u;return w?Math.round(p*1e3/w):void 0}}function BD(e,t){let n=0,o=1e3/t,s,i;const r=(c,u=Date.now())=>{n=u,s=null,i&&(clearTimeout(i),i=null),e(...c);};return [(...c)=>{const u=Date.now(),f=u-n;f>=o?r(c,u):(s=c,i||(i=setTimeout(()=>{i=null,r(s);},o-f)));},()=>s&&r(s)]}const _a=(e,t,n=3)=>{let o=0;const s=MD(50,250);return BD(i=>{const r=i.loaded,a=i.lengthComputable?i.total:void 0,l=r-o,c=s(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:i,lengthComputable:a!=null,[t?"download":"upload"]:true};e(f);},n)},yp=(e,t)=>{const n=e!=null;return [o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},bp=e=>(...t)=>j.asap(()=>e(...t)),OD=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,RD=Ft.hasStandardBrowserEnv?{write(e,t,n,o,s,i){const r=[e+"="+encodeURIComponent(t)];j.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),j.isString(o)&&r.push("path="+o),j.isString(s)&&r.push("domain="+s),i===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 FD(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function ND(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ww(e,t,n){let o=!FD(t);return e&&(o||n==false)?ND(e,t):t}const vp=e=>e instanceof rn?{...e}:e;function ws(e,t){t=t||{};const n={};function o(c,u,f,p){return j.isPlainObject(c)&&j.isPlainObject(u)?j.merge.call({caseless:p},c,u):j.isPlainObject(u)?j.merge({},u):j.isArray(u)?u.slice():u}function s(c,u,f,p){if(j.isUndefined(u)){if(!j.isUndefined(c))return o(void 0,c,f,p)}else return o(c,u,f,p)}function i(c,u){if(!j.isUndefined(u))return o(void 0,u)}function r(c,u){if(j.isUndefined(u)){if(!j.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:i,method:i,data:i,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)=>s(vp(c),vp(u),f,true)};return j.forEach(Object.keys({...e,...t}),function(u){const f=l[u]||s,p=f(e[u],t[u],u);j.isUndefined(p)&&f!==a||(n[u]=p);}),n}const Kw=e=>{const t=ws({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:r,auth:a}=t;t.headers=r=rn.from(r),t.url=jw(Ww(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(j.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&&j.isFunction(o)&&(o=o(t)),o||o!==false&&OD(t.url))){const c=s&&i&&RD.read(i);c&&r.set(s,c);}return t},UD=typeof XMLHttpRequest<"u",jD=UD&&function(e){return new Promise(function(n,o){const s=Kw(e);let i=s.data;const r=rn.from(s.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:c}=s,u,f,p,w,g;function b(){w&&w(),g&&g(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u);}let x=new XMLHttpRequest;x.open(s.method.toUpperCase(),s.url,true),x.timeout=s.timeout;function A(){if(!x)return;const D=rn.from("getAllResponseHeaders"in x&&x.getAllResponseHeaders()),B={data:!a||a==="text"||a==="json"?x.responseText:x.response,status:x.status,statusText:x.statusText,headers:D,config:e,request:x};qw(function(z){n(z),b();},function(z){o(z),b();},B),x=null;}"onloadend"in x?x.onloadend=A:x.onreadystatechange=function(){!x||x.readyState!==4||x.status===0&&!(x.responseURL&&x.responseURL.indexOf("file:")===0)||setTimeout(A);},x.onabort=function(){x&&(o(new Re("Request aborted",Re.ECONNABORTED,e,x)),x=null);},x.onerror=function(){o(new Re("Network Error",Re.ERR_NETWORK,e,x)),x=null;},x.ontimeout=function(){let I=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const B=s.transitional||zw;s.timeoutErrorMessage&&(I=s.timeoutErrorMessage),o(new Re(I,B.clarifyTimeoutError?Re.ETIMEDOUT:Re.ECONNABORTED,e,x)),x=null;},i===void 0&&r.setContentType(null),"setRequestHeader"in x&&j.forEach(r.toJSON(),function(I,B){x.setRequestHeader(B,I);}),j.isUndefined(s.withCredentials)||(x.withCredentials=!!s.withCredentials),a&&a!=="json"&&(x.responseType=s.responseType),c&&([p,g]=_a(c,true),x.addEventListener("progress",p)),l&&x.upload&&([f,w]=_a(l),x.upload.addEventListener("progress",f),x.upload.addEventListener("loadend",w)),(s.cancelToken||s.signal)&&(u=D=>{x&&(o(!D||D.type?new ai(null,e,x):D),x.abort(),x=null);},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const T=TD(s.url);if(T&&Ft.protocols.indexOf(T)===-1){o(new Re("Unsupported protocol "+T+":",Re.ERR_BAD_REQUEST,e));return}x.send(i||null);})},zD=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,s;const i=function(c){if(!s){s=true,a();const u=c instanceof Error?c:this.reason;o.abort(u instanceof Re?u:new ai(u instanceof Error?u.message:u));}};let r=t&&setTimeout(()=>{r=null,i(new Re(`timeout ${t} of ms exceeded`,Re.ETIMEDOUT));},t);const a=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(i):c.removeEventListener("abort",i);}),e=null);};e.forEach(c=>c.addEventListener("abort",i));const{signal:l}=o;return l.unsubscribe=()=>j.asap(a),l}},HD=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let o=0,s;for(;o<n;)s=o+t,yield e.slice(o,s),o=s;},VD=async function*(e,t){for await(const n of qD(e))yield*HD(n,t);},qD=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();}},xp=(e,t,n,o)=>{const s=VD(e,t);let i=0,r,a=l=>{r||(r=true,o&&o(l));};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await s.next();if(c){a(),l.close();return}let f=u.byteLength;if(n){let p=i+=f;n(p);}l.enqueue(new Uint8Array(u));}catch(c){throw a(c),c}},cancel(l){return a(l),s.return()}},{highWaterMark:2})},ml=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Gw=ml&&typeof ReadableStream=="function",WD=ml&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Jw=(e,...t)=>{try{return !!e(...t)}catch{return false}},KD=Gw&&Jw(()=>{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}),_p=64*1024,ju=Gw&&Jw(()=>j.isReadableStream(new Response("").body)),Ca={stream:ju&&(e=>e.body)};ml&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Ca[t]&&(Ca[t]=j.isFunction(e[t])?n=>n[t]():(n,o)=>{throw new Re(`Response type '${t}' is not supported`,Re.ERR_NOT_SUPPORT,o)});});})(new Response);const GD=async e=>{if(e==null)return 0;if(j.isBlob(e))return e.size;if(j.isSpecCompliantForm(e))return (await new Request(Ft.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(j.isArrayBufferView(e)||j.isArrayBuffer(e))return e.byteLength;if(j.isURLSearchParams(e)&&(e=e+""),j.isString(e))return (await WD(e)).byteLength},JD=async(e,t)=>{const n=j.toFiniteNumber(e.getContentLength());return n??GD(t)},YD=ml&&(async e=>{let{url:t,method:n,data:o,signal:s,cancelToken:i,timeout:r,onDownloadProgress:a,onUploadProgress:l,responseType:c,headers:u,withCredentials:f="same-origin",fetchOptions:p}=Kw(e);c=c?(c+"").toLowerCase():"text";let w=zD([s,i&&i.toAbortSignal()],r),g;const b=w&&w.unsubscribe&&(()=>{w.unsubscribe();});let x;try{if(l&&KD&&n!=="get"&&n!=="head"&&(x=await JD(u,o))!==0){let B=new Request(t,{method:"POST",body:o,duplex:"half"}),q;if(j.isFormData(o)&&(q=B.headers.get("content-type"))&&u.setContentType(q),B.body){const[z,ue]=yp(x,_a(bp(l)));o=xp(B.body,_p,z,ue);}}j.isString(f)||(f=f?"include":"omit");const A="credentials"in Request.prototype;g=new Request(t,{...p,signal:w,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:o,duplex:"half",credentials:A?f:void 0});let T=await fetch(g,p);const D=ju&&(c==="stream"||c==="response");if(ju&&(a||D&&b)){const B={};["status","statusText","headers"].forEach(me=>{B[me]=T[me];});const q=j.toFiniteNumber(T.headers.get("content-length")),[z,ue]=a&&yp(q,_a(bp(a),!0))||[];T=new Response(xp(T.body,_p,z,()=>{ue&&ue(),b&&b();}),B);}c=c||"text";let I=await Ca[j.findKey(Ca,c)||"text"](T,e);return !D&&b&&b(),await new Promise((B,q)=>{qw(B,q,{data:I,headers:rn.from(T.headers),status:T.status,statusText:T.statusText,config:e,request:g});})}catch(A){throw b&&b(),A&&A.name==="TypeError"&&/Load failed|fetch/i.test(A.message)?Object.assign(new Re("Network Error",Re.ERR_NETWORK,e,g),{cause:A.cause||A}):Re.from(A,A&&A.code,e,g)}}),zu={http:dD,xhr:jD,fetch:YD};j.forEach(zu,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t});}catch{}Object.defineProperty(e,"adapterName",{value:t});}});const Cp=e=>`- ${e}`,QD=e=>j.isFunction(e)||e===null||e===false,Yw={getAdapter:e=>{e=j.isArray(e)?e:[e];const{length:t}=e;let n,o;const s={};for(let i=0;i<t;i++){n=e[i];let r;if(o=n,!QD(n)&&(o=zu[(r=String(n)).toLowerCase()],o===void 0))throw new Re(`Unknown adapter '${r}'`);if(o)break;s[r||"#"+i]=o;}if(!o){const i=Object.entries(s).map(([a,l])=>`adapter ${a} `+(l===false?"is not supported by the environment":"is not available in the build"));let r=t?i.length>1?`since :
`+i.map(Cp).join(`
`):" "+Cp(i[0]):"as no adapter specified";throw new Re("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return o},adapters:zu};function Zl(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ai(null,e)}function kp(e){return Zl(e),e.headers=rn.from(e.headers),e.data=Xl.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",false),Yw.getAdapter(e.adapter||br.adapter)(e).then(function(o){return Zl(e),o.data=Xl.call(e,e.transformResponse,o),o.headers=rn.from(o.headers),o},function(o){return Vw(o)||(Zl(e),o&&o.response&&(o.response.data=Xl.call(e,e.transformResponse,o.response),o.response.headers=rn.from(o.response.headers))),Promise.reject(o)})}const Qw="1.11.0",gl={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{gl[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e};});const Sp={};gl.transitional=function(t,n,o){function s(i,r){return "[Axios v"+Qw+"] Transitional option '"+i+"'"+r+(o?". "+o:"")}return (i,r,a)=>{if(t===false)throw new Re(s(r," has been removed"+(n?" in "+n:"")),Re.ERR_DEPRECATED);return n&&!Sp[r]&&(Sp[r]=true,console.warn(s(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,r,a):true}};gl.spelling=function(t){return (n,o)=>(console.warn(`${o} is likely a misspelling of ${t}`),true)};function XD(e,t,n){if(typeof e!="object")throw new Re("options must be an object",Re.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let s=o.length;for(;s-- >0;){const i=o[s],r=t[i];if(r){const a=e[i],l=a===void 0||r(a,i,e);if(l!==true)throw new Re("option "+i+" must be "+l,Re.ERR_BAD_OPTION_VALUE);continue}if(n!==true)throw new Re("Unknown option "+i,Re.ERR_BAD_OPTION)}}const qr={assertOptions:XD,validators:gl},zn=qr.validators;let ls=class{constructor(t){this.defaults=t||{},this.interceptors={request:new gp,response:new gp};}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{o.stack?i&&!String(o.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(o.stack+=`
`+i):o.stack=i;}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ws(this.defaults,n);const{transitional:o,paramsSerializer:s,headers:i}=n;o!==void 0&&qr.assertOptions(o,{silentJSONParsing:zn.transitional(zn.boolean),forcedJSONParsing:zn.transitional(zn.boolean),clarifyTimeoutError:zn.transitional(zn.boolean)},false),s!=null&&(j.isFunction(s)?n.paramsSerializer={serialize:s}:qr.assertOptions(s,{encode:zn.function,serialize:zn.function},true)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=true),qr.assertOptions(n,{baseUrl:zn.spelling("baseURL"),withXsrfToken:zn.spelling("withXSRFToken")},true),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=i&&j.merge(i.common,i[n.method]);i&&j.forEach(["delete","get","head","post","put","patch","common"],g=>{delete i[g];}),n.headers=rn.concat(r,i);const a=[];let l=true;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(n)===false||(l=l&&b.synchronous,a.unshift(b.fulfilled,b.rejected));});const c=[];this.interceptors.response.forEach(function(b){c.push(b.fulfilled,b.rejected);});let u,f=0,p;if(!l){const g=[kp.bind(this),void 0];for(g.unshift(...a),g.push(...c),p=g.length,u=Promise.resolve(n);f<p;)u=u.then(g[f++],g[f++]);return u}p=a.length;let w=n;for(f=0;f<p;){const g=a[f++],b=a[f++];try{w=g(w);}catch(x){b.call(this,x);break}}try{u=kp.call(this,w);}catch(g){return Promise.reject(g)}for(f=0,p=c.length;f<p;)u=u.then(c[f++],c[f++]);return u}getUri(t){t=ws(this.defaults,t);const n=Ww(t.baseURL,t.url,t.allowAbsoluteUrls);return jw(n,t.params,t.paramsSerializer)}};j.forEach(["delete","get","head","options"],function(t){ls.prototype[t]=function(n,o){return this.request(ws(o||{},{method:t,url:n,data:(o||{}).data}))};});j.forEach(["post","put","patch"],function(t){function n(o){return function(i,r,a){return this.request(ws(a||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:i,data:r}))}}ls.prototype[t]=n(),ls.prototype[t+"Form"]=n(true);});let ZD=class Xw{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i;});const o=this;this.promise.then(s=>{if(!o._listeners)return;let i=o._listeners.length;for(;i-- >0;)o._listeners[i](s);o._listeners=null;}),this.promise.then=s=>{let i;const r=new Promise(a=>{o.subscribe(a),i=a;}).then(s);return r.cancel=function(){o.unsubscribe(i);},r},t(function(i,r,a){o.reason||(o.reason=new ai(i,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 Xw(function(s){t=s;}),cancel:t}}};function eL(e){return function(n){return e.apply(null,n)}}function tL(e){return j.isObject(e)&&e.isAxiosError===true}const Hu={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(Hu).forEach(([e,t])=>{Hu[t]=e;});function Zw(e){const t=new ls(e),n=Pw(ls.prototype.request,t);return j.extend(n,ls.prototype,t,{allOwnKeys:true}),j.extend(n,t,null,{allOwnKeys:true}),n.create=function(s){return Zw(ws(e,s))},n}const vt=Zw(br);vt.Axios=ls;vt.CanceledError=ai;vt.CancelToken=ZD;vt.isCancel=Vw;vt.VERSION=Qw;vt.toFormData=hl;vt.AxiosError=Re;vt.Cancel=vt.CanceledError;vt.all=function(t){return Promise.all(t)};vt.spread=eL;vt.isAxiosError=tL;vt.mergeConfig=ws;vt.AxiosHeaders=rn;vt.formToJSON=e=>Hw(j.isHTMLForm(e)?new FormData(e):e);vt.getAdapter=Yw.getAdapter;vt.HttpStatusCode=Hu;vt.default=vt;const{Axios:$R,AxiosError:nL,CanceledError:ER,isCancel:AR,CancelToken:PR,VERSION:IR,all:DR,Cancel:LR,isAxiosError:TR,spread:MR,toFormData:BR,AxiosHeaders:OR,HttpStatusCode:RR,formToJSON:FR,getAdapter:NR,mergeConfig:UR}=vt;var eu,$p;function oL(){if($p)return eu;$p=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 eu=t=>!e.has(t&&t.code),eu}var sL=oL();const iL=Jp(sL),wd="axios-retry";function ey(e){const t=["ERR_CANCELED","ECONNABORTED"];return e.response||!e.code||t.includes(e.code)?false:iL(e)}const ty=["get","head","options"],rL=ty.concat(["put","delete"]);function yd(e){return e.code!=="ECONNABORTED"&&(!e.response||e.response.status===429||e.response.status>=500&&e.response.status<=599)}function aL(e){return e.config?.method?yd(e)&&ty.indexOf(e.config.method)!==-1:false}function ny(e){return e.config?.method?yd(e)&&rL.indexOf(e.config.method)!==-1:false}function oy(e){return ey(e)||ny(e)}function bd(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 lL(e=0,t=void 0){return Math.max(0,bd(t))}function uL(e=0,t=void 0,n=100){const o=2**e*n,s=Math.max(o,bd(t)),i=s*.2*Math.random();return s+i}function cL(e=100){return (t=0,n=void 0)=>{const o=t*e;return Math.max(o,bd(n))}}const dL={retries:3,retryCondition:oy,retryDelay:lL,shouldResetTimeout:false,onRetry:()=>{},onMaxRetryTimesExceeded:()=>{},validateResponse:null};function fL(e,t){return {...dL,...t,...e[wd]}}function Ep(e,t,n=false){const o=fL(e,t||{});return o.retryCount=o.retryCount||0,(!o.lastRequestTime||n)&&(o.lastRequestTime=Date.now()),e[wd]=o,o}function pL(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 hL(e,t){const{retries:n,retryCondition:o}=e,s=(e.retryCount||0)<n&&o(t);if(typeof s=="object")try{return await s!==!1}catch{return false}return s}async function mL(e,t,n,o){t.retryCount+=1;const{retryDelay:s,shouldResetTimeout:i,onRetry:r}=t,a=s(t.retryCount,n);if(pL(e,o),!i&&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 gL(e,t){e.retryCount>=e.retries&&await e.onMaxRetryTimesExceeded(t,e.retryCount);}const Ko=(e,t)=>{const n=e.interceptors.request.use(s=>(Ep(s,t,true),s[wd]?.validateResponse&&(s.validateStatus=()=>false),s)),o=e.interceptors.response.use(null,async s=>{const{config:i}=s;if(!i)return Promise.reject(s);const r=Ep(i,t);return s.response&&r.validateResponse?.(s.response)?s.response:await hL(r,s)?mL(e,r,s,i):(await gL(r,s),Promise.reject(s))});return {requestInterceptorId:n,responseInterceptorId:o}};Ko.isNetworkError=ey;Ko.isSafeRequestError=aL;Ko.isIdempotentRequestError=ny;Ko.isNetworkOrIdempotentRequestError=oy;Ko.exponentialDelay=uL;Ko.linearDelay=cL;Ko.isRetryableError=yd;const wL="pan115_api";var ka=(e=>(e.evenly="evenly",e.asap="asap",e))(ka||{});const sy={points:1,duration:1,execEvenly:true};function iy(e){return {clientId:wL,rateLimit:sy,msDelayAdjustment:30,...e}}function yL(e){const t=iy(e),n=vt.create({});Ko(n,{retries:5,shouldResetTimeout:true,retryDelay:s=>(console.log(`[axios] Retry ${s}...`),s*1e3)});const o=new Ti.RateLimiterMemory(t.rateLimit);return n.interceptors.request.use(async s=>{try{const i=await o.consume(t.clientId);return s}catch(i){if(console.warn("[axios] RateLimiter:",i),i instanceof Ti.RateLimiterRes){const r=i.msBeforeNext+t.msDelayAdjustment;return console.log(`[axios] Delay ${r}ms for next request...`),await an(r),s}else throw new nL(i)}},s=>(console.warn("[axios] onRejected:",s),Promise.reject(s))),n}const ry=mt.basic;function bL(e){return {limiterDuration:1,limiterPoints:1,limitExecPolicy:ka.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 wl(){const e=bL(),t=await Xe.get(ry,e);return {...e,...t}}async function vL(e){await Xe.set(ry,e);}function vd(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 xL(e){if(!e.offlineDialogEntry||!yn())return;console.log("[Cloud115 Enhancer] showOfflineDialogEntry");const t=await Wn("a#js_filter_btn"),n="background:#fffcea;",o="点击打开「云下载」页面",s=e.offlineDialogEntryLabel?`<span>${e.offlineDialogEntryLabel}</span>`:"",i=vd('<i class="icon-operate ifo-linktask"></i>',e.offlineDialogEntryIconCustomized,e.offlineDialogEntryIcon),r=$(`<a href="javascript:;" class="button btn-line" title="${o}" style="${n}">
${i} ${s}
</a>`);t.after(r),r.on("click",()=>{try{Pt().Core.FileDialogApi.OpenTransferTabDialog("offline_task");}catch(a){console.warn("[showOfflineDialogEntry]",a),ee({title:"打开云下载窗口失败",text:a.message,icon:"error"});}});}async function _L(e){if(!e.showOfflineEntry||!yn())return;console.log("[Cloud115 Enhancer] showOfflineEntry");const t=await Wn("a#js_filter_btn"),n="https://115.com/?ct=index&ac=offline_new_tpl&offline=1&tab=offline",o="background:#fffcea;",s="点击跳转到「云下载」页面",i=e.offlineEntryLabel?`<span>${e.offlineEntryLabel}</span>`:"",r=vd('<i class="icon-operate ifo-linktask"></i>',e.offlineEntryIconCustomized,e.offlineEntryIcon),a=$(`<a href="javascript:;" class="button btn-line" title="${s}" tab_btn="wangpan" mode-tab="offline" style="${o}">
${r}
${i}
</a>`);t.after(a),a.on("click",()=>{try{Pt().oofUtil.urlMaintain.changeMode("wangpan",{tab:"offline"});}catch(l){console.warn("[showOfflineEntry]",l),location.href=n;}});}async function CL(e){if(!yn())return;const{showAddOffline2:t,addOfflineLabel:n}=e,o=Ue('#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 s=await Wn("a#js_filter_btn"),i="background:#fffcea;",r="点击打开「添加云下载」对话框",a=e.addOfflineLabel?`<span>${e.addOfflineLabel}</span>`:"",l=vd('<i class="icon-operate ifo-linktask"></i>',e.addOfflineIconCustomized,e.addOfflineIcon),c=$(`<a href="javascript:;" class="button btn-line" menu="offline_task" style="${i}" title="${r}">
${l}${a}
</a>`);s.after(c);}async function kL(e){if(!e.showFavEntry||!yn())return;console.log("[Cloud115 Enhancer] showFavEntry");const t=await Wn("a#js_filter_btn"),n="https://115.com/?tab=label&show_label=1&label_id=-1&mode=wangpan",o="background:#fffcea;",s="点击跳转到「星标」页面",i=e.favEntryLabel?`<span>${e.favEntryLabel}</span>`:"",r=$(`<a href="javascript:;" class="button btn-line" title="${s}" tab_btn="wangpan" mode-tab="{tab:'label',label_id:-1,show_label:1}" style="${o}">
<i class="icon-operate ifo-fav"></i>
${i}
</a>`);t.after(r),r.on("click",()=>{try{Pt().oofUtil.urlMaintain.changeMode("wangpan",{tab:"label",label_id:-1,show_label:1});}catch(a){console.warn("[showFavEntry]",a),location.href=n;}});}async function SL(e){if(!e.hideMusicEntry||!yn())return;console.log("[Cloud115 Enhancer] hideMusicEntry"),await nt("#js_top_panel_box");const t=Ue("a#top_btn_music_play");t&&(t.style.display="none");}async function $L(e){if(e.hideWatermark){console.log("[Cloud115 Enhancer] hideWatermark");try{const t=await nt('div[class^="fp-"]');t.classList.add("hidden-watermark"),t.style.display="none";}catch(t){console.error("[Cloud115 Enhancer] hideWatermark",t.message);}}}async function EL(e){window.top===window.self&&(await an(1e3),Vu(e),window.addEventListener("message",async t=>{const n=t.data.event,o=t.data.body;n===it.basicConfigChange&&(console.log("[Cloud115 Enhancer] basicConfigChange"),Vu(o));}));}let Ii=null;async function AL(){Ii&&clearTimeout(Ii),Ii=setTimeout(async()=>{const e=await wl();Vu(e);},5e3);}async function Vu(e){Ii&&clearTimeout(Ii);const t=async(n,o)=>{const s=await Wn('[rel="user_id"]',100);s.data("origin")||s.data("origin",s.text()),o?s.text(s.data("origin")):s.text(n.fakeAccountId);const i=await Wn('[rel="user_name"]',100);i.data("origin")||i.data("origin",$(i[0]).text()),o?i.text(i.data("origin")):i.text(n.fakeAccountName);const r=await Wn('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 Wn(".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&&AL();}}const PL='@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}';$t(PL);async function IL(){const e=await wl(),{host:t}=location;/115\.com$/.test(t)&&($L(e),_L(e),xL(e),CL(e),kL(e),SL(e),EL(e));}const ay=Symbol("addTab"),ly=Symbol("updateTab"),uy=Symbol("deleteTab"),cy=Symbol("tabsProvider");function Br(e,t){const n=Ci(e,t);if(typeof n>"u")throw new Error(`Could not resolve ${e.description}`);return n}const DL=["data-tab-id","aria-hidden"],xn=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=V(false),s=Br(cy),i=Br(ay),r=Br(ly),a=Br(uy),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 He(()=>s.activeTabHash,()=>{o.value=f.value===s.activeTabHash;}),He(()=>Object.assign({},n),()=>{r(c,{name:n.name,header:n.prefix+n.name+n.suffix,isDisabled:n.isDisabled,hash:f.value,index:s.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),kt(()=>{i({name:n.name,header:l,isDisabled:n.isDisabled,hash:f.value,index:s.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),qm(()=>{a(c);}),t({header:l,computedId:c,paneId:u,hash:f,isActive:o}),(p,w)=>G((C(),S("section",{ref:"tab",id:u,"data-tab-id":te(c),"aria-hidden":!o.value,class:Le(e.panelClass),role:"tabpanel",tabindex:"-1"},[Ge(p.$slots,"default")],10,DL)),[[Vt,o.value]])}});class LL{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 s=new Date().getTime(),i=new Date(s+o*6e4);localStorage.setItem(t,JSON.stringify({value:n,expires:i}));}}const Ap=new LL,TL=["id"],ML=["aria-controls","aria-selected","href","onClick","innerHTML"],BL=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,s=Ga({activeTabHash:"",lastActiveTabHash:"",tabs:[]});gi(cy,s),gi(ay,l=>{s.tabs.push(l);}),gi(ly,(l,c)=>{const u=s.tabs.findIndex(f=>f.computedId===l);c.isActive=s.tabs[u].isActive,s.tabs[u]=c;}),gi(uy,l=>{const c=s.tabs.findIndex(u=>u.computedId===l);s.tabs.splice(c,1);});const i=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(s.lastActiveTabHash===u.hash){n("clicked",{tab:u});return}s.tabs.forEach(f=>{f.isActive=f.hash===u.hash;}),n("changed",{tab:u}),s.lastActiveTabHash=s.activeTabHash=u.hash,!(o.cacheLifetime<=0)&&Ap.set(i.value,u.hash,o.cacheLifetime);}},a=l=>s.tabs.find(c=>c.hash===l);return jt(()=>{if(s.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=Ap.get(i.value);if(l!==null&&a(l)){r(l);return}}if(o.options.defaultTabHash&&a("#"+o.options.defaultTabHash)){r("#"+o.options.defaultTabHash);return}r(s.tabs[0].hash);}}),t({...c_(s),selectTab:r,findTab:a}),(l,c)=>(C(),S("div",{class:Le(e.wrapperClass),id:e.id},[d("ul",{role:"tablist",class:Le(e.navClass)},[(C(true),S(Ae,null,ze(s.tabs,(u,f)=>{var p,w;return C(),S("li",{key:f,class:Le([(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:Le([(w=u.navItemLinkClass)!=null?w: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:g=>r(u.hash,g),innerHTML:u.header,tabindex:"0"},null,10,ML)],2)}),128))],2),d("div",{class:Le(e.panelsWrapperClass)},[Ge(l.$slots,"default")],2)],10,TL))}});function qu(e,t,n,o){return e<t||e>n?o:e}const OL={class:"pure-control-group"},RL=["for"],FL=["id","checked"],NL={class:"pure-form-message text-success"},UL=["value"],jL=["for"],zL=["id","checked"],HL=["value"],VL=["innerHTML"],qL="支持HTTP链接、base64数据或SVG XML",WL=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(s,i){return !s||!i?"":i.startsWith("<svg")?`<span class="ce-func-btn-icon-svg">${i}</span>`:`<img src="${i}" class="ce-func-btn-icon" alt="自定义图标" />`}const o=Ke(()=>n(t.iconCustomized,t.icon));return console.log("ButtonConfigGroup props:",t),(s,i)=>(C(),S("div",OL,[d("label",{for:s.id},O(s.label),9,RL),d("input",{id:s.id,type:"checkbox",checked:t.enabled,onChange:i[0]||(i[0]=r=>s.$emit("update:enabled",r.target.checked))},null,40,FL),d("div",NL,[P(O(s.description)+" 按钮文本为 ",1),d("input",{value:t.buttonLabel||"",onInput:i[1]||(i[1]=r=>s.$emit("update:buttonLabel",r.target.value)),class:"input-small",placeholder:"可以为空"},null,40,UL),i[4]||(i[4]=P(" , ",-1)),d("label",{for:`${s.id}_iconCustomized`,style:{width:"auto"}},"自定义图标",8,jL),d("input",{id:`${s.id}_iconCustomized`,type:"checkbox",checked:t.iconCustomized,onChange:i[2]||(i[2]=r=>s.$emit("update:iconCustomized",r.target.checked))},null,40,zL),i[5]||(i[5]=P(" ",-1)),t.iconCustomized?(C(),S("input",{key:0,value:t.icon||"",onInput:i[3]||(i[3]=r=>s.$emit("update:icon",r.target.value)),class:"pure-input",placeholder:"支持HTTP链接、base64数据或SVG XML",title:qL},null,40,HL)):fe("",true),i[6]||(i[6]=P(" ",-1)),t.iconCustomized&&t.icon?(C(),S("span",{key:1,innerHTML:o.value},null,8,VL)):fe("",true)])]))}}),tu=Pe(WL,[["__scopeId","data-v-f3bc02fe"],["__file","ButtonConfigGroup.vue"]]),KL={class:"ce-config ce-basic-config"},GL={class:"pure-form pure-form-aligned"},JL={class:"pure-control-group"},YL=["value"],QL=["value"],XL={class:"pure-control-group"},ZL={class:"pure-form-message text-success"},eT={class:"pure-control-group"},tT={class:"pure-control-group"},nT={class:"pure-control-group"},oT={class:"pure-control-group"},sT={class:"pure-control-group"},iT={class:"pure-control-group"},rT={class:"avatar-preview"},aT=["src"],lT={class:"pure-control-group"},uT=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>wl()),t=await t,n(),t)),s=true;kt(async()=>{});function i(c){const u=(f,p)=>Math.floor(qu(f,1,p,1));return c.limiterDuration=u(c.limiterDuration,300),c.limiterPoints=u(c.limiterPoints,3e3),c}He(o,ct(async c=>{i(c),await vL(c),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:it.basicConfigChange,body:_c(c)});},500),{deep:true});async function r(c,u,f="warning"){const{isConfirmed:p}=await Z.fire({title:c,text:u,icon:f,showCancelButton:true,confirmButtonText:"确认"});return p}async function a(){if(await r("导出配置","是否确认导出当前配置?"))try{await Uy(),ee({icon:"success",title:"导出成功"});}catch(c){Z.fire(c.toString());}}async function l(){if(await r("导入配置","导入后将覆盖当前配置,是否继续?"))try{const c=await jy();console.log(c),Ls.fire({icon:"success",title:"导入成功,刷新页面后生效。将在5秒后自动刷新页面...",timer:5e3}),setTimeout(()=>{window.location.reload();},5e3);}catch(c){Z.fire({title:"导入失败",html:c.toString()+'<br/><p class="text-danger">必须有字段 "_schema": "pan115_enhancer_configs" 。</p>'});}}return (c,u)=>(C(),S("div",KL,[d("form",GL,[d("fieldset",null,[u[47]||(u[47]=d("legend",null,"API",-1)),d("div",JL,[u[25]||(u[25]=d("label",null,"全局请求频率控制",-1)),te(s)?fe("",true):(C(),S(Ae,{key:0},[G(d("select",{"onUpdate:modelValue":u[0]||(u[0]=f=>o.value.limitExecPolicy=f)},[d("option",{value:te(ka).asap},"尽快消耗",8,YL),d("option",{value:te(ka).evenly},"尽量均匀",8,QL)],512),[[In,o.value.limitExecPolicy]]),u[24]||(u[24]=P(" 地 ",-1))],64)),u[26]||(u[26]=P(" 在 ",-1)),G(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),[[je,o.value.limiterDuration]]),u[27]||(u[27]=P(" 秒内最多请求 ",-1)),G(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),[[je,o.value.limiterPoints]]),u[28]||(u[28]=P(" 次 ",-1)),u[29]||(u[29]=d("div",{class:"pure-form-message text-success"},[P(" 默认 1 秒内最多 1 次。"),d("span",{class:"text-warning"},"请填写整数数值。")],-1))]),u[48]||(u[48]=d("legend",null,"UI优化",-1)),oe(tu,{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"]),oe(tu,{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"]),oe(tu,{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",XL,[u[31]||(u[31]=d("label",{for:"basic_showFavEntry"},"显示星标入口按钮",-1)),G(d("input",{id:"basic_showFavEntry",type:"checkbox","onUpdate:modelValue":u[15]||(u[15]=f=>o.value.showFavEntry=f)},null,512),[[ve,o.value.showFavEntry]]),d("div",ZL,[u[30]||(u[30]=P(" 在「网盘」页面顶部工具栏显示「星标」入口按钮。 按钮文本为 ",-1)),G(d("input",{"onUpdate:modelValue":u[16]||(u[16]=f=>o.value.favEntryLabel=f),class:"input-small",placeholder:"可以为空"},null,512),[[je,o.value.favEntryLabel]])])]),d("div",eT,[u[32]||(u[32]=d("label",{for:"basic_hideMusicEntry"},'隐藏"我听"入口按钮',-1)),G(d("input",{id:"basic_hideMusicEntry",type:"checkbox","onUpdate:modelValue":u[17]||(u[17]=f=>o.value.hideMusicEntry=f)},null,512),[[ve,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]=P(" ",-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,"导入说明:"),P(" 如有导入部分配置的需求,可以自行编辑json配置文件,只保留需要的配置key(仅限第一级),但必须保留`_`开头的key。 ")],-1)),u[38]||(u[38]=d("br",null,null,-1))]),u[50]||(u[50]=d("legend",null,"隐私保护",-1)),d("div",tT,[u[39]||(u[39]=d("label",{for:"basic_hideWatermark"},"隐藏水印",-1)),G(d("input",{id:"basic_hideWatermark",type:"checkbox","onUpdate:modelValue":u[18]||(u[18]=f=>o.value.hideWatermark=f)},null,512),[[ve,o.value.hideWatermark]]),u[40]||(u[40]=d("div",{class:"pure-form-message text-success"}," 网页水印是肉眼看不到的,但通过一些处理可以看到,水印内容是你的账号标识。 如果你需要截图并发给别人,可以考虑开启隐藏。 ",-1))]),d("div",nT,[u[41]||(u[41]=d("label",{for:"basic_fakeAccountEnabled"},"隐藏身份",-1)),G(d("input",{id:"basic_fakeAccountEnabled",type:"checkbox","onUpdate:modelValue":u[19]||(u[19]=f=>o.value.fakeAccountEnabled=f)},null,512),[[ve,o.value.fakeAccountEnabled]]),u[42]||(u[42]=d("div",{class:"pure-form-message text-success"}," 修改左下角显示的账号信息,不会真的修改。编辑后即可生效,无需刷新页面。 ",-1))]),d("div",oT,[u[43]||(u[43]=d("label",null,"账号ID",-1)),G(d("input",{"onUpdate:modelValue":u[20]||(u[20]=f=>o.value.fakeAccountId=f),placeholder:"自定义账号ID",class:"pure-input-2-3"},null,512),[[je,o.value.fakeAccountId]])]),d("div",sT,[u[44]||(u[44]=d("label",null,"用户名",-1)),G(d("input",{"onUpdate:modelValue":u[21]||(u[21]=f=>o.value.fakeAccountName=f),placeholder:"自定义用户名",class:"pure-input-2-3"},null,512),[[je,o.value.fakeAccountName]])]),d("div",iT,[u[45]||(u[45]=d("label",null,"头像",-1)),G(d("input",{"onUpdate:modelValue":u[22]||(u[22]=f=>o.value.fakeAccountAvatar=f),placeholder:"支持网络图片地址或base64编码",class:"pure-input-2-3"},null,512),[[je,o.value.fakeAccountAvatar]]),d("span",rT,[o.value.fakeAccountAvatar?(C(),S("img",{key:0,src:o.value.fakeAccountAvatar,alt:"头像预览",width:"20",height:"20"},null,8,aT)):fe("",true)])]),d("div",lT,[u[46]||(u[46]=d("label",null,"VIP等级",-1)),G(d("input",{"onUpdate:modelValue":u[23]||(u[23]=f=>o.value.fakeAccountVip=f),placeholder:"自定义VIP等级",class:"pure-input-2-3"},null,512),[[je,o.value.fakeAccountVip]])])])])]))}}),cT=Pe(uT,[["__file","Config.vue"]]),dT={class:"pure-form pure-form-aligned"},fT=["disabled"],pT={class:"pure-control-group"},hT={class:"pure-control-group"},mT={class:"pure-control-group"},gT=["value"],wT={style:{width:"auto"}},yT={class:"text-success text-ul"},bT={class:"pure-control-group"},vT=xe({__name:"ConfigItem",props:{config:{},deletable:{type:Boolean}},emits:["change","delete","activate"],setup(e,{emit:t}){const n=e,o=t,s={content:"如果是macOS版,建议平台选「macos」,可以避免播放链接可能无效的问题,「版本小于 0.8.16」选项同理。"};kt(async()=>{});async function i(){n.config.active=true,o("activate",n.config);}async function r(){o("delete");}return He(n.config,ct(async a=>{o("change",a);},500),{deep:true}),(a,l)=>{const c=B_("tooltip");return C(),S("div",{class:Le(["ce-clouddrive-config-item",{active:a.config.active}])},[d("form",dT,[d("fieldset",null,[d("legend",null,[d("button",{type:"button",class:Le(["pure-button button-small",[a.config.active?"button-success":"pure-button-primary"]]),onClick:i,disabled:a.config.active},O(a.config.active?"当前使用该配置":"使用该配置"),11,fT),a.deletable?(C(),S("button",{key:0,type:"button",class:"pure-button button-error button-small",onClick:r}," 删除 ")):fe("",true)]),d("div",pT,[l[5]||(l[5]=d("label",null,[d("span",{class:"text-danger"},"*"),P(" 地址")],-1)),G(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),[[je,a.config.url]])]),d("div",hT,[l[6]||(l[6]=d("label",null,[d("span",{class:"text-danger"},"*"),P(" 资源根路径")],-1)),G(d("input",{"onUpdate:modelValue":l[1]||(l[1]=u=>a.config.root=u),placeholder:"即当前115账号在CloudDrive中的资源名称,如「115」",class:"pure-input-2-3"},null,512),[[je,a.config.root]])]),d("div",mT,[l[9]||(l[9]=d("label",null,[d("span",{class:"text-danger"},"*"),P(" 平台")],-1)),G(d("select",{"onUpdate:modelValue":l[2]||(l[2]=u=>a.config.platform=u)},[(C(true),S(Ae,null,ze(te(To),u=>(C(),S("option",{key:u,value:u},O(u),9,gT))),128))],512),[[In,a.config.platform]]),l[10]||(l[10]=P(" ",-1)),d("label",wT,[G(d("input",{type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=u=>a.config.ver_lt_0816=u)},null,512),[[ve,a.config.ver_lt_0816]]),l[7]||(l[7]=P(" 版本小于 0.8.16 ",-1))]),l[11]||(l[11]=P(" ",-1)),G((C(),S("span",yT,l[8]||(l[8]=[P("说明",-1)]))),[[c,s]])]),d("div",bT,[l[12]||(l[12]=d("label",null,"备注",-1)),G(d("input",{"onUpdate:modelValue":l[4]||(l[4]=u=>a.config.memo=u),placeholder:"备注信息",class:"pure-input-2-3"},null,512),[[je,a.config.memo]])])])])],2)}}}),xT=Pe(vT,[["__file","ConfigItem.vue"]]),_T={class:"ce-config ce-clouddrive-config"},CT={class:"ce-list"},kT={class:"ce-actions"},ST=["disabled"],$T=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>Wh()),t=await t,n(),t));kt(async()=>{});async function s(){await Od(o.value),ee({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}async function i(){o.value.push(vc());}async function r(l,c){const{isConfirmed:u}=await Z.fire({icon:"warning",html:`确定要删除第 ${c+1} 个配置「${l.url}」吗?`});u&&(o.value.splice(c,1),await s(),ee({icon:"success",title:`「${l.url}」已删除!`}));}async function a(l,c){l.forEach((u,f)=>{u.active=f===c;}),await Od(l),ee({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}return (l,c)=>(C(),S("div",_T,[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"),P(" 是一个强大的多云盘管理工具,为用户提供包含云盘本地挂载的一站式的多云盘解决方案。 ")]),d("p",null,"本脚本主要是借助CloudDrive实现原码视频播放的功能(具体可以在「播放菜单」面板中查看)。")],-1)),d("div",CT,[(C(true),S(Ae,null,ze(o.value,(u,f)=>(C(),et(xT,{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",kT,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:s,disabled:!o.value.length}," 保存全部配置 ",8,ST),c[0]||(c[0]=P(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:i}," + 添加配置 ")])]))}}),ET=Pe($T,[["__file","Config.vue"]]),AT={class:"ce-config ce-list-config"},PT={class:"pure-form pure-form-aligned"},IT={class:"pure-control-group"},DT={class:"pure-control-group"},LT={class:"pure-control-group"},TT={class:"pure-control-group"},MT={class:"pure-control-group"},BT={class:"pure-control-group"},OT={class:"pure-control-group"},RT={class:"pure-control-group"},FT={class:"pure-control-group"},NT={class:"pure-control-group"},UT={class:"pure-control-group"},jT={class:"pure-control-group"},zT={class:"pure-control-group"},HT={class:"pure-control-group"},VT={class:"pure-control-group"},qT={class:"pure-control-group"},WT={class:"pure-control-group"},KT={class:"pure-control-group"},GT={class:"pure-control-group"},JT={class:"pure-control-group"},YT={class:"pure-control-group"},Pp="按下 Command/Ctrl 键点击文件sha1时触发查找重复文件",Ip="鼠标悬浮触发",Dp="鼠标悬浮触发",QT=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>hr()),t=await t,n(),t));kt(async()=>{}),He(o,ct(async i=>{await J2(i),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:it.listConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true});async function s(){Z.fire({title:"快捷键说明",html:`<pre style="font-size:12px;">${aw.replace(/==/g,"=".repeat(32))}</pre>`,showCloseButton:true,showConfirmButton:false,width:720,customClass:{popup:"ce-swal-text-left"}});}return (i,r)=>(C(),S("div",AT,[d("form",PT,[d("fieldset",null,[r[36]||(r[36]=d("legend",null,"文件大小相关",-1)),d("div",IT,[r[26]||(r[26]=d("label",{for:"sizeSorter"},"大小排序",-1)),G(d("input",{id:"sizeSorter",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.sizeSorter=a)},null,512),[[ve,o.value.sizeSorter]]),r[27]||(r[27]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「排序」按钮,可以获取文件夹的大小,然后进行排序。"),d("div",null,"请注意该功能只会对当前加载的文件进行排序,如果有多页文件并需要对全部文件进行排序,请先点击「加载全部」后再使用该排序功能。")],-1))]),d("div",DT,[r[28]||(r[28]=d("label",{for:"showBatchFolderSizeButton"},"批量获取文件夹大小",-1)),G(d("input",{id:"showBatchFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[1]||(r[1]=a=>o.value.showBatchFolderSizeButton=a)},null,512),[[ve,o.value.showBatchFolderSizeButton]]),r[29]||(r[29]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「大小」按钮,可以获取文件夹的大小。"),d("div",null,"请注意该功能只会对当前加载的文件夹进行获取,如果有多页,请先点击「加载全部」后再使用该功能。")],-1))]),d("div",LT,[r[30]||(r[30]=d("label",{for:"showFolderSizeButton"},"显示文件夹获取大小按钮",-1)),G(d("input",{id:"showFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[2]||(r[2]=a=>o.value.showFolderSizeButton=a)},null,512),[[ve,o.value.showFolderSizeButton]]),r[31]||(r[31]=P(" ",-1)),d("small",{onClick:r[3]||(r[3]=a=>o.value.hoverShowFolderSize=!o.value.hoverShowFolderSize),class:Le(["ce-label",{"ce-label-success":o.value.hoverShowFolderSize}])},O(o.value.hoverShowFolderSize?`✓ ${Ip}(已启用)`:`× ${Ip}(未启用)`),3),r[32]||(r[32]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「大小」按钮,点击按钮可以获取单个文件夹的大小。 ",-1))]),d("div",TT,[r[33]||(r[33]=d("label",{for:"showQuickViewButton"},[P(" 显示快速查看按钮 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{id:"showQuickViewButton",type:"checkbox","onUpdate:modelValue":r[4]||(r[4]=a=>o.value.showQuickViewButton=a)},null,512),[[ve,o.value.showQuickViewButton]]),r[34]||(r[34]=P(" ",-1)),d("small",{onClick:r[5]||(r[5]=a=>o.value.hoverShowQuickView=!o.value.hoverShowQuickView),class:Le(["ce-label",{"ce-label-success":o.value.hoverShowQuickView}])},O(o.value.hoverShowQuickView?`✓ ${Dp}(已启用)`:`× ${Dp}(未启用)`),3),r[35]||(r[35]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「查看」按钮,点击按钮可以在当前页面小窗口快速查看目录文件列表。 ",-1))])]),d("fieldset",null,[r[51]||(r[51]=d("legend",null,"列表显示与操作",-1)),d("div",MT,[r[37]||(r[37]=d("label",{for:"showSha1"},"显示文件SHA1",-1)),G(d("input",{id:"showSha1",type:"checkbox","onUpdate:modelValue":r[6]||(r[6]=a=>o.value.showSha1=a)},null,512),[[ve,o.value.showSha1]]),r[38]||(r[38]=P(" ",-1)),d("small",{onClick:r[7]||(r[7]=a=>o.value.clickSha1WithCtrlToFindRepeat=!o.value.clickSha1WithCtrlToFindRepeat),class:Le(["ce-label",{"ce-label-success":o.value.clickSha1WithCtrlToFindRepeat}])},O(o.value.clickSha1WithCtrlToFindRepeat?`✓ ${Pp}(已启用)`:`× ${Pp}(未启用)`),3),r[39]||(r[39]=d("div",{class:"pure-form-message text-success"}," 在文件名下方显示文件SHA1,点击可以复制。 ",-1))]),d("div",BT,[r[40]||(r[40]=d("label",{for:"followHistoryState"}," 文件列表跟随页面前进后退 ",-1)),G(d("input",{id:"followHistoryState",type:"checkbox","onUpdate:modelValue":r[8]||(r[8]=a=>o.value.followHistoryState=a)},null,512),[[ve,o.value.followHistoryState]]),r[41]||(r[41]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 默认情况下,点击浏览器的前进或后退,页面链接中的目录ID虽然会发生变化,但文件列表并没有随之更新。 这个功能尝试解决这个问题。 ")],-1))]),d("div",OT,[r[42]||(r[42]=d("label",{for:"showOnlyFileFilter"}," 显示「仅文件」筛选 ",-1)),G(d("input",{id:"showOnlyFileFilter",type:"checkbox","onUpdate:modelValue":r[9]||(r[9]=a=>o.value.showOnlyFileFilter=a)},null,512),[[ve,o.value.showOnlyFileFilter]]),r[43]||(r[43]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 筛选当前目录下全部文件。 ")],-1))]),d("div",RT,[r[44]||(r[44]=d("label",{for:"fileFilterExtensions"}," 自定义筛选扩展名 ",-1)),G(d("input",{id:"fileFilterExtensions",type:"text","onUpdate:modelValue":r[10]||(r[10]=a=>o.value.fileFilterExtensions=a),placeholder:"例如: zip,rar,7z",style:{width:"60%"}},null,512),[[je,o.value.fileFilterExtensions]]),r[45]||(r[45]=d("div",{class:"pure-form-message text-success"}," 多个扩展名用英文逗号分隔,设置后在文件列表顶部筛选栏会显示对应的扩展名筛选按钮。 点击按钮可以筛选出当前目录下对应扩展名的文件。 ",-1))]),d("div",FT,[r[48]||(r[48]=d("label",{for:"fixShortcut"},[P(" 修复文件列表快捷键 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{id:"fixShortcut",type:"checkbox","onUpdate:modelValue":r[11]||(r[11]=a=>o.value.fixShortcut=a)},null,512),[[ve,o.value.fixShortcut]]),d("div",{class:"pure-form-message text-success"},[r[46]||(r[46]=P(" 文件列表按下Ctrl+/显示了一些快捷键,但大部分并未生效,该功能尝试修复这些快捷键。 ",-1)),d("a",{href:"javascript:void(0)",onClick:s,class:"pure-button button-small"},"💡 更完整的快捷键说明"),r[47]||(r[47]=d("h3",{class:"text-danger"},"⚠️ 副作用: 不能使用Ctrl+C复制页面上的文本(不影响输入框里复制),如有此需求,请使用鼠标右键进行复制。",-1))])]),d("div",NT,[r[49]||(r[49]=d("label",{for:"enhanceLocationLinks"},' 优化"所在位置"链接 ',-1)),G(d("input",{id:"enhanceLocationLinks",type:"checkbox","onUpdate:modelValue":r[12]||(r[12]=a=>o.value.enhanceLocationLinks=a)},null,512),[[ve,o.value.enhanceLocationLinks]]),r[50]||(r[50]=d("div",{class:"pure-form-message text-success"},' 启用该选项后,可以复制链接,或通过"鼠标中键"或"Ctrl+单击"在新标签页中打开。 相关页面: 一键排重详情、SHA1查重结果页、搜索结果页、最近上传、最近接收和最近操作。 ',-1))])]),d("fieldset",null,[r[60]||(r[60]=d("legend",null,"目录操作增强",-1)),d("div",UT,[r[52]||(r[52]=d("label",{for:"showOpenDirContextMenu"},'显示"目录功能菜单"按钮',-1)),G(d("input",{id:"showOpenDirContextMenu",type:"checkbox","onUpdate:modelValue":r[13]||(r[13]=a=>o.value.showOpenDirContextMenu=a)},null,512),[[ve,o.value.showOpenDirContextMenu]]),r[53]||(r[53]=P(" ",-1)),d("small",{onClick:r[14]||(r[14]=a=>o.value.hoverShowDirContextMenu=!o.value.hoverShowDirContextMenu),class:Le(["ce-label",{"ce-label-success":o.value.hoverShowDirContextMenu}]),title:"鼠标悬浮在按钮代替点击操作"},O(o.value.hoverShowDirContextMenu?"✓ 鼠标悬浮触发(已启用)":"× 鼠标悬浮触发(未启用)"),3),r[54]||(r[54]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「目录功能菜单」按钮,点击即可打开当前目录的右键菜单。")],-1))]),d("div",jT,[r[55]||(r[55]=d("label",{for:"showCreateDirButton"},'显示"新建文件夹"按钮',-1)),G(d("input",{id:"showCreateDirButton",type:"checkbox","onUpdate:modelValue":r[15]||(r[15]=a=>o.value.showCreateDirButton=a)},null,512),[[ve,o.value.showCreateDirButton]]),r[56]||(r[56]=P(" ",-1)),d("small",{onClick:r[16]||(r[16]=a=>o.value.hideTopCreateButton=!o.value.hideTopCreateButton),class:Le(["ce-label",{"ce-label-success":o.value.hideTopCreateButton}]),title:"隐藏顶部「新建」按钮"},O(o.value.hideTopCreateButton?"✓ 隐藏顶部「新建」按钮(已启用)":"× 隐藏顶部「新建」按钮(未启用)"),3),r[57]||(r[57]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「新建文件夹」按钮。可以隐藏顶部「新建」按钮,页面左侧的「新建」中也有新建文档按钮。")],-1))]),d("div",zT,[r[58]||(r[58]=d("label",{for:"claimSelectedAfterCreateDir"}," 移动选中文件到新文件夹 ",-1)),G(d("input",{id:"claimSelectedAfterCreateDir",type:"checkbox","onUpdate:modelValue":r[17]||(r[17]=a=>o.value.claimSelectedAfterCreateDir=a)},null,512),[[ve,o.value.claimSelectedAfterCreateDir]]),r[59]||(r[59]=d("div",{class:"pure-form-message text-success text-linethrough"},[d("b",null,"启用后如果先选中文件,然后创建新文件夹,将会自动把选中文件移动到新文件夹。"),P(" 该选项可以在创建文件夹对话框里临时修改。 ")],-1))])]),d("fieldset",null,[r[65]||(r[65]=d("legend",null,"路径栏增强",-1)),d("div",HT,[r[61]||(r[61]=d("label",{for:"showCopyButtonOnPathBar"},"在路径栏显示复制按钮",-1)),G(d("input",{id:"showCopyButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[18]||(r[18]=a=>o.value.showCopyButtonOnPathBar=a)},null,512),[[ve,o.value.showCopyButtonOnPathBar]]),r[62]||(r[62]=d("div",{class:"pure-form-message text-success"}," 点击后,复制当前路径到剪贴板。 ",-1))]),d("div",VT,[r[63]||(r[63]=d("label",{for:"showGotoButtonOnPathBar"},[P(" 在路径栏显示前往按钮 "),d("small",{class:"ce-label"},"DEV")],-1)),G(d("input",{id:"showGotoButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[19]||(r[19]=a=>o.value.showGotoButtonOnPathBar=a)},null,512),[[ve,o.value.showGotoButtonOnPathBar]]),r[64]||(r[64]=d("div",{class:"pure-form-message text-success"}," 点击后,路径栏下方会显示路径输入框,输入路径后按回车即可前往该路径。 ",-1))])]),d("fieldset",null,[r[70]||(r[70]=d("legend",null,"刷新行为",-1)),d("div",qT,[r[66]||(r[66]=d("label",{for:"noUpdateDirAfterRename"}," 重命名后不刷新文件列表 ",-1)),G(d("input",{id:"noUpdateDirAfterRename",type:"checkbox","onUpdate:modelValue":r[20]||(r[20]=a=>o.value.noUpdateDirAfterRename=a)},null,512),[[ve,o.value.noUpdateDirAfterRename]]),r[67]||(r[67]=d("div",{class:"pure-form-message text-success"}," 仅支持单个文件或目录的重命名。在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。 ",-1))]),d("div",WT,[r[68]||(r[68]=d("label",{for:"noReloadAfterMove"}," 移动后不刷新文件列表 ",-1)),G(d("input",{id:"noReloadAfterMove",type:"checkbox","onUpdate:modelValue":r[21]||(r[21]=a=>o.value.noReloadAfterMove=a)},null,512),[[ve,o.value.noReloadAfterMove]]),r[69]||(r[69]=d("div",{class:"pure-form-message text-success text-linethrough"},[d("b",null,"启用后如果进行了移动操作,列表的全选会受影响,如已选数量不准确。"),d("br"),d("b",{class:"text-danger"},"该功能主要目的是持续高效地在进行移动操作,如果在移动后还需要其他操作,请记得手动刷新列表!")],-1))])]),d("fieldset",null,[r[77]||(r[77]=d("legend",null,"拖拽行为",-1)),d("div",KT,[r[71]||(r[71]=d("label",{for:"dragToQuickEntry"}," 支持拖动文件到快捷入口 ",-1)),G(d("input",{id:"dragToQuickEntry",type:"checkbox","onUpdate:modelValue":r[22]||(r[22]=a=>o.value.dragToQuickEntry=a)},null,512),[[ve,o.value.dragToQuickEntry]]),r[72]||(r[72]=d("div",{class:"pure-form-message text-success"},[P(" 可以从文件列表拖动文件到快捷入口,实现移动操作。 "),d("b",{class:"text-danger"},"选中文件时,顶部菜单可能会遮挡快捷入口,可按`Ctrl`键临时隐藏顶部菜单,或者开启「拖动文件时隐藏顶部菜单」选项。")],-1))]),d("div",GT,[r[73]||(r[73]=d("label",{for:"hideSelectionMenuOnDrag"},[P(" 拖动文件时隐藏顶部菜单 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{id:"hideSelectionMenuOnDrag",type:"checkbox","onUpdate:modelValue":r[23]||(r[23]=a=>o.value.hideSelectionMenuOnDrag=a)},null,512),[[ve,o.value.hideSelectionMenuOnDrag]]),r[74]||(r[74]=P(" ",-1)),r[75]||(r[75]=d("span",{class:"text-warning"},"该功能可能会影响页面性能,如发现该情况请先关闭并反馈🤝",-1)),r[76]||(r[76]=d("div",{class:"pure-form-message text-success"}," 选中文件时,顶部菜单可能会遮挡快捷入口等元素,开启此选项后,在拖动文件时会自动隐藏顶部菜单。 ",-1))])]),d("fieldset",null,[r[82]||(r[82]=d("legend",null,"其他功能",-1)),d("div",JT,[r[79]||(r[79]=d("label",{for:"fileSelectorDefaultView"},"文件选择器默认视图",-1)),G(d("select",{id:"fileSelectorDefaultView","onUpdate:modelValue":r[24]||(r[24]=a=>o.value.fileSelectorDefaultView=a)},r[78]||(r[78]=[d("option",{value:"view"},"大图标",-1),d("option",{value:"list"},"列表",-1),d("option",{value:"_"},"系统默认",-1)]),512),[[In,o.value.fileSelectorDefaultView]]),r[80]||(r[80]=d("div",{class:"pure-form-message text-success"},[P(" 设置打开页面后初次使用的视图。 "),d("span",{class:"text-warning"},"如果在刷新页面前在选择器切换到了其他视图,该选项将不会生效,但刷新页面后会恢复。")],-1))]),d("div",YT,[r[81]||(r[81]=d("label",{for:"makeMoreImageViewable"}," 支持webp图片预览 ",-1)),G(d("input",{id:"makeMoreImageViewable",type:"checkbox","onUpdate:modelValue":r[25]||(r[25]=a=>o.value.makeMoreImageViewable=a)},null,512),[[ve,o.value.makeMoreImageViewable]])])])])]))}}),XT=Pe(QT,[["__file","Config.vue"]]),dy=mt.search;function ZT(e){return {showSelectTargetButtonOnPathBar:true,showSelectAllDir:false,resultWidth:"",...e}}async function fy(){const e=ZT(),t=await Xe.get(dy,e);return {...e,...t}}async function eM(e){await Xe.set(dy,e);}const tM={class:"ce-config ce-search-config"},nM={class:"pure-form pure-form-aligned"},oM={class:"pure-control-group"},sM={class:"pure-control-group"},iM={class:"pure-control-group"},rM=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>fy()),t=await t,n(),t));return kt(async()=>{}),He(o,ct(async s=>{await eM(s),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:it.searchConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:true}),(s,i)=>(C(),S("div",tM,[d("form",nM,[d("fieldset",null,[d("div",oM,[i[3]||(i[3]=d("label",{for:"showSelectTargetButtonOnPathBar"},'显示"选择目录"按钮',-1)),G(d("input",{id:"showSelectTargetButtonOnPathBar",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.showSelectTargetButtonOnPathBar=r)},null,512),[[ve,o.value.showSelectTargetButtonOnPathBar]]),i[4]||(i[4]=d("div",{class:"pure-form-message text-success"},' 在路径栏显示"选择目录"按钮。即可以在搜索结果页直接选择其他目录进行搜索,而不必返回列表页进入目录后再搜索。 ',-1))]),d("div",sM,[i[5]||(i[5]=d("label",{for:"showSelectAllDir"},'显示"选中全部文件夹"按钮',-1)),G(d("input",{id:"showSelectAllDir",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.showSelectAllDir=r)},null,512),[[ve,o.value.showSelectAllDir]]),i[6]||(i[6]=d("div",{class:"pure-form-message text-success"},' 在搜索结果文件列表顶部显示"选中全部文件夹"按钮。 ',-1))]),d("div",iM,[i[7]||(i[7]=d("label",{for:"resultWidth"},"搜索结果宽度",-1)),G(d("input",{id:"resultWidth",class:"input-small","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.resultWidth=r)},null,512),[[je,o.value.resultWidth]]),i[8]||(i[8]=d("div",{class:"pure-form-message text-success"},[P(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),P("。 ")],-1))])])])]))}}),aM=Pe(rM,[["__file","Config.vue"]]);function yl(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 lM(e){const t=`https://qrcodeapi.115.com/api/1.0/${e}/1.0/token/`,n=await fetch(t);return yl(n,"getQrcodeToken","获取二维码登录token失败"),n.json()}const uM={0:"等待扫码",1:"已扫码",2:"登录成功",[-1]:"已失效",[-2]:"已取消"};let Wu=new AbortController;async function cM(e){Wu.abort(e);}async function dM(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();Wu=new AbortController;const o=await fetch(n,{signal:Wu.signal});return yl(o,"getQrcodeStatus","获取扫码状态失败"),o.json()}function fM(e){return {domain:"",hostOnly:false,httpOnly:true,name:"",path:"",sameSite:"",secure:false,session:false,storeId:"0",value:"",id:0,...e}}async function pM(e){let t=`UID=${e.UID}; CID=${e.CID}; SEID=${e.SEID}`;return e.KID&&(t+=`; KID=${e.KID}`),t}async function hM(e,t=[]){const n=[],o=Object.keys(e);let s=["115.com",...t];s=[...new Set(s)];const i={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 s)c.push(fM({...i,name:l,value:e[l],domain:u,id:r++}));n.push(...c);}return n}function mM(e){const{errno:t,error:n}=e;return `错误码: ${t}, 错误信息: ${n}`}async function gM(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/`,s=await fetch(o,{method:"POST",body:n});return yl(s,"postQrcodeResult","获取二维码登录结果失败"),s.json()}async function wM(e,t){const n=`https://qrcodeapi.115.com/api/1.0/web/1.0/qrcode?uid=${t}`,o=await fetch(n);return yl(o,"getQrcode","获取二维码图片失败"),o.blob()}var xd=(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))(xd||{});const yM={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 bM(e,t){return new Promise((n,o)=>{const s=new FileReader;s.onloadend=()=>{if(typeof s.result=="string"){if(t instanceof HTMLImageElement)t.src=s.result;else {const i=document.createElement("img");i.src=s.result,t.appendChild(i);}n();}else console.error("[renderQrcode]","reader.result is not string!"),o("reader.result is not string!");},s.onerror=i=>{console.error("[renderQrcode]",i),o(i);},s.readAsDataURL(e);})}async function vM(e){document.addEventListener("qrcodeStatusChange",t=>{const n=t.detail;e(n);});}async function xM(e){const t=new CustomEvent("qrcodeStatusChange",{detail:e});document.dispatchEvent(t);}async function _M(e,t,n=6e4){return new Promise(async(o,s)=>{console.log("[qrcodeLogin]",e,t,n);const i=await lM(e),r=await wM(e,i.data.uid);await bM(r,t);let a=true,l=setTimeout(()=>{a=false,s("[qrcode login] timeout!");},n),c="";for(;a;)try{const f=(await dM(i.data)).data.status;if(xM(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?s(c):o(gM(i.data.uid,e));})}const py=mt.tools;function CM(e){return {scanApp:xd.alipaymini,...e}}async function kM(){const e=CM(),t=await Xe.get(py,e);return {...e,...t}}async function SM(e){await Xe.set(py,e);}const $M={class:"ce-tools-item"},EM={class:"pure-form pure-form-aligned"},AM={class:"pure-control-group"},PM=["disabled"],IM=["value"],DM=["disabled"],LM={key:0,class:"text-warning text-bold"},TM={key:1},MM={class:"pure-control-group"},BM=6e4,OM=xe({__name:"GetCookie",props:{app:{}},emits:["app-change"],setup(e,{emit:t}){const n=e,o=t,s=V(n.app),i=V(false),r=V(false),a=V(false),l=V(),c=V(),u=Ke(()=>c.value?uM[c.value]:""),f=Ke(()=>{const T=[xd.harmony],D={};for(const[I,B]of Object.entries(yM))T.includes(I)||(D[I]=B);return D});He(s,T=>{o("app-change",T),w();}),kt(async()=>{}),jt(async()=>{await vM(b);});async function p(){await w();try{const T=document.querySelector("#ceGetCookieQrcode"),D=await _M(s.value,T,BM);let I="";if(D.data?l.value=D.data:I=mM(D)||"未知错误",I)throw new Error(I)}catch(T){if(console.error(T),T.name==="AbortError")return;Z.fire({icon:"error",title:"扫码失败",text:typeof T=="string"?T:T.toString()});}finally{i.value=false,r.value=false,c.value=void 0;}}async function w(){l.value=void 0,r.value=false,a.value=false,i.value=false,c.value=void 0,await A();}async function g(){r.value=true;}async function b(T){console.log("[handleStatusChange]",T),c.value=T;}async function x(T){const D=l.value?.cookie;if(!D)return;let I="";if(T==="text")I=await pM(D);else if(T==="json"){const B=await hM(D);I=JSON.stringify(B,null,2);}gt(I),Ls.fire({icon:"success",title:"已复制到剪贴板",timer:1500});}async function A(){await cM();}return (T,D)=>(C(),S("div",$M,[d("form",EM,[d("fieldset",null,[D[7]||(D[7]=d("legend",null,"扫码获取Cookie",-1)),d("div",AM,[G(d("select",{"onUpdate:modelValue":D[0]||(D[0]=I=>s.value=I),disabled:i.value},[(C(true),S(Ae,null,ze(f.value,(I,B)=>(C(),S("option",{value:B,key:B},O(I),9,IM))),128))],8,PM),[[In,s.value]]),D[5]||(D[5]=P(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:p,disabled:i.value}," 开始 ",8,DM),D[6]||(D[6]=P(" ",-1)),u.value?(C(),S("span",LM,O(u.value),1)):fe("",true),l.value?(C(),S("span",TM,[D[3]||(D[3]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:D[1]||(D[1]=I=>x("text"))}," 复制文本格式Cookie "),D[4]||(D[4]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:D[2]||(D[2]=I=>x("json"))}," 复制JSON格式Cookie ")])):fe("",true)]),D[8]||(D[8]=d("div",{class:"text-danger"},"扫码登录后,所选设备之前的登录将会失效,所以请尽量选不常用的。",-1)),D[9]||(D[9]=d("div",{class:"text-primary"},"请注意,扫码得到的Cookie会跟随发起扫码的设备,如果发起扫码的设备退出登录,扫码得到的Cookie也会随之失效。",-1)),D[10]||(D[10]=d("div",{class:"text-success"},"如要避免上述问题,可以考虑使用手机验证码登录小程序并获取其Cookie。",-1)),G(d("div",MM,[d("img",{id:"ceGetCookieQrcode",alt:"qrcode",onLoad:g},null,32)],512),[[Vt,r.value]])])])]))}}),RM=Pe(OM,[["__file","GetCookie.vue"]]),FM={class:"ce-tools-item"},NM={class:"pure-form pure-form-aligned"},UM={class:"pure-control-group"},jM={class:"pure-control-group"},zM={class:"pure-control-group"},HM={class:"pure-control-group"},VM=xe({__name:"Cleaner",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>mr()),t=await t,n(),t)),s=V(([t,n]=Mt(()=>Aw()),t=await t,n(),t));He(o,ct(async a=>{await fd({showEntryOnPathBar:a.showEntryOnPathBar}),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true}),He(s,ct(async a=>{await v5(a),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true});async function i(a,l){a&&(await r(),await an(1e3)),window.postMessage({event:it.closeConfig}),postMessage({type:l==="FileCleaner"?qt.OPEN_CLEANER:qt.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(w){Z.fire({icon:"error",title:"打开文件夹失败",text:`请在文件列表页面中打开!不要在离线任务之类的页面打开。异常: ${w.toString()}`});}},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"打开清理工具",select_txt:"清理"});})}return (a,l)=>(C(),S("div",FM,[d("form",NM,[d("fieldset",null,[l[14]||(l[14]=d("legend",null,"文件清理",-1)),d("div",UM,[l[7]||(l[7]=d("label",{for:"cleanerConfig_showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),G(d("input",{id:"cleanerConfig_showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":l[0]||(l[0]=c=>o.value.showEntryOnPathBar=c)},null,512),[[ve,o.value.showEntryOnPathBar]])]),d("div",jM,[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=>i(false,"FileCleaner"))}," 清理当前文件夹 "),l[9]||(l[9]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[2]||(l[2]=c=>i(true,"FileCleaner"))}," 清理指定文件夹 ")]),l[15]||(l[15]=d("br",null,null,-1)),d("div",zM,[l[10]||(l[10]=d("label",{for:"emptyCleanConfig_emptyCleanConfig"},'在路径栏显示"空文件夹"入口按钮',-1)),G(d("input",{id:"emptyCleanConfig_emptyCleanConfig",type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=c=>s.value.showEntryOnPathBar=c)},null,512),[[ve,s.value.showEntryOnPathBar]])]),d("div",HM,[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=>i(false,"EmptyCleaner"))}," 清理当前文件夹下的空文件夹 "),l[12]||(l[12]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[5]||(l[5]=c=>i(true,"EmptyCleaner"))}," 清理指定文件夹下的空文件夹 "),l[13]||(l[13]=P(" ",-1)),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:l[6]||(l[6]=(...c)=>te(xa)&&te(xa)(...c)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 ")])])])]))}}),qM=Pe(VM,[["__file","Cleaner.vue"]]),WM={class:"ce-config ce-tools-config"},KM={class:"item"},GM=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>kM()),t=await t,n(),t));kt(async()=>{}),He(o,ct(async i=>{await SM(i),window.postMessage({event:it.toolsConfigChange,body:JSON.parse(JSON.stringify(i))});},100),{deep:true});async function s(i){o.value.scanApp=i;}return (i,r)=>(C(),S("div",WM,[d("div",KM,[oe(RM,{app:o.value.scanApp,onAppChange:s},null,8,["app"]),oe(qM)])]))}}),JM=Pe(GM,[["__file","Config.vue"]]),YM={class:"menu-config-block menu-basic-config"},QM={class:"pure-form pure-form-stacked"},XM={class:"pure-control-group"},ZM={class:"pure-control-group"},eB={class:"pure-control-group"},tB={class:"pure-control-group"},nB={class:"pure-control-group"},oB=["value"],sB={class:"pure-control-group"},iB={class:"pure-control-group"},rB=xe({__name:"BasicConfig",props:{config:{}},setup(e){const t=e;async function n(s){const r={keyToTriggerManual:"在按下该按键时点击菜单项(搜索/播放),会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",m3u8TempDir:"「M3U8临时目录」用于临时存放生成的m3u8文件。在选中多个视频文件后,在顶部菜单栏会有一个「播放」菜单项,点击后会生成对应的m3u8文件,然后调用播放器播放这个m3u8以实现播放多个视频的效果。",cloudDriveFormalization:'<h2>使用CloudDrive的文件名规范</h2><p>启用后,在使用脚本功能复制文件名或路径时,将会根据CloudDrive的规范对文件名进行处理,请确保当前使用的CloudDrive配置设置了正确的"平台"。</p>'}[s];r&&Z.fire({html:r,customClass:{popup:"ce-swal-text-left"}});}function o(s){console.log("[onSelectM3U8Dir]",s),t.config.m3u8TempDir=s.items[s.items.length-1].path.slice(1).map(i=>i.name).join("/");}return (s,i)=>(C(),S("div",YM,[d("form",QM,[d("fieldset",null,[i[18]||(i[18]=d("legend",null,"全局设置",-1)),d("div",XM,[i[10]||(i[10]=d("label",{for:"basic_enabled"},"启用",-1)),G(d("input",{id:"basic_enabled",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>t.config.enabled=r)},null,512),[[ve,t.config.enabled]])]),d("div",ZM,[i[11]||(i[11]=d("label",{for:"basic_hideSelectionMenuLabel"},"隐藏顶部菜单文本",-1)),G(d("input",{id:"basic_hideSelectionMenuLabel",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>t.config.hideSelectionMenuLabel=r)},null,512),[[ve,t.config.hideSelectionMenuLabel]])]),d("div",eB,[i[12]||(i[12]=d("label",{for:"basic_enableInSearch"},"在搜索结果页中启用",-1)),G(d("input",{id:"basic_enableInSearch",type:"checkbox","onUpdate:modelValue":i[2]||(i[2]=r=>t.config.enableInSearch=r)},null,512),[[ve,t.config.enableInSearch]])]),d("div",tB,[i[13]||(i[13]=d("label",{for:"basic_manageOfficialMenus"},"控制官方菜单是否隐藏",-1)),G(d("input",{id:"basic_manageOfficialMenus",type:"checkbox","onUpdate:modelValue":i[3]||(i[3]=r=>t.config.manageOfficialMenus=r)},null,512),[[ve,t.config.manageOfficialMenus]])]),d("div",nB,[i[14]||(i[14]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"强制使用手动输入模式的辅助键",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:i[4]||(i[4]=r=>n("keyToTriggerManual"))},"说明"),G(d("select",{id:"basic_forceManualBeforeOpenOnKey","onUpdate:modelValue":i[5]||(i[5]=r=>t.config.keyToTriggerManual=r)},[(C(true),S(Ae,null,ze(te(Kn),(r,a)=>(C(),S("option",{key:a,value:a},O(r),9,oB))),128))],512),[[In,t.config.keyToTriggerManual]])]),d("div",sB,[i[16]||(i[16]=d("label",{for:"basic_m3u8TempDirName"},"M3U8临时目录",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:i[6]||(i[6]=r=>n("m3u8TempDir"))},"说明"),G(d("input",{id:"basic_m3u8TempDirName","onUpdate:modelValue":i[7]||(i[7]=r=>t.config.m3u8TempDir=r)},null,512),[[je,t.config.m3u8TempDir]]),oe(Ki,{purpose:"作为M3U8临时目录",onSelect:o},{default:ge(()=>i[15]||(i[15]=[d("a",{class:"text-primary",href:"javascript:void(0)"},"选择目录",-1)])),_:1,__:[15]})]),d("div",iB,[i[17]||(i[17]=d("label",{for:"basic_cloudDriveFormalization"},"CloudDrive文件名规范",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:i[8]||(i[8]=r=>n("cloudDriveFormalization"))},"说明"),G(d("input",{id:"basic_cloudDriveFormalization",type:"checkbox","onUpdate:modelValue":i[9]||(i[9]=r=>t.config.cloudDriveFormalization=r)},null,512),[[ve,t.config.cloudDriveFormalization]])])])])]))}}),aB=Pe(rB,[["__file","BasicConfig.vue"]]),lB={class:"official-menu-config"},uB={class:"pure-form pure-form-stacked"},cB=["onClick"],dB={class:"menu-key"},fB=["onClick"],pB=xe({__name:"OfficialMenuConfig",setup(e){const t=V([]),n=V(false);kt(async()=>{t.value=await sw(),console.log("official menu groups",t.value,location.href);}),jt(()=>{document.body.addEventListener("click",()=>{n.value||(n.value=true);});}),He(t,ct(async i=>{if(!n.value)return;const r=await W2(i);await q2(r,true),ee({icon:"success",title:"官方菜单设置已保存,已生效。",timer:1e3,position:"top-end"});},500),{deep:true});async function o(i){i.hidden=!i.hidden;}async function s(i){const{isConfirmed:r}=await Z.fire({icon:"warning",html:`确认要重置分组「${i.label}」的隐藏状态吗?`,confirmButtonText:"确认",showDenyButton:true,denyButtonText:"关闭"});r&&i.items.forEach(a=>{a.hidden=false;});}return (i,r)=>(C(),S("div",lB,[r[0]||(r[0]=d("div",{class:"ce-tips"},[d("p",null,"开启「菜单设置 - 全局设置 - 控制官方菜单是否隐藏」后才会生效。"),d("p",{class:"text-primary"},"该功能作用为隐藏官方菜单。点击「隐藏」后刷新页面生效,如需取消请点击「取消隐藏」。")],-1)),(C(true),S(Ae,null,ze(t.value,(a,l)=>(C(),S("div",{key:l,class:"menu-config-block"},[d("form",uB,[d("fieldset",null,[d("legend",null,[P(O(a.label)+" ",1),d("span",{class:"ce-label ce-label-warning",title:"取消该分组下全部的隐藏设置",onClick:c=>s(a)}," 重置 ",8,cB)]),(C(true),S(Ae,null,ze(a.items,(c,u)=>(C(),S("div",{key:u,class:Le([{hidden:c.hidden},"menu-item"])},[d("label",null,[P(O(c.label)+" ",1),d("small",dB,O(c.key),1)]),d("span",{class:"ce-toggle",onClick:f=>o(c)},O(c.hidden?"取消隐藏":"隐藏"),9,fB)],2))),128))])])]))),128))]))}}),hB=Pe(pB,[["__file","OfficialMenuConfig.vue"]]);var pt=(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))(pt||{});function vr(e,t={}){return e.map(n=>({...t,...n}))}const mB=["for"],gB={class:"ce-field-extra ce-field-prefix"},wB=["type","id","name","required","placeholder"],yB=["id","name","required","placeholder"],bB=["value"],vB={key:2},xB=["value","required"],_B=["id","name","required"],CB={key:3},kB=["value","required"],SB=["id","name","required"],$B={class:"ce-field-extra ce-field-suffix"},EB=xe({__name:"CeField",props:{field:{},modelValue:{},formConfig:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,s=V(o.modelValue),i=Ke(()=>(o.formConfig.idPrefix||"")+o.field.name);return He(s,(r,a)=>{console.log(`[CeField] mutValue changed from ${a} to ${r}`),n("update:modelValue",r);}),(r,a)=>(C(),S("div",{class:Le(["ce-field",r.field.customClass||""])},[Ge(r.$slots,"label",{},()=>[d("label",{for:i.value},O(r.field.label),9,mB)]),d("span",gB,[Ge(r.$slots,"prefix")]),!r.field.type||r.field.type===te(pt).input||r.field.type===te(pt).number?G((C(),S("input",{key:0,type:r.field.type,id:i.value,name:r.field.name,"onUpdate:modelValue":a[0]||(a[0]=l=>s.value=l),required:r.field.required,placeholder:r.field.placeholder},null,8,wB)),[[GC,s.value]]):r.field.type===te(pt).select?G((C(),S("select",{key:1,id:i.value,name:r.field.name,"onUpdate:modelValue":a[1]||(a[1]=l=>s.value=l),required:r.field.required,placeholder:r.field.placeholder},[(C(true),S(Ae,null,ze(r.field.options,(l,c)=>(C(),S("option",{key:c,value:l.value},O(l.label),9,bB))),128))],8,yB)),[[In,s.value]]):r.field.type===te(pt).checkbox?(C(),S("span",vB,[r.field.options&&r.field.options.length>0?(C(true),S(Ae,{key:0},ze(r.field.options,(l,c)=>(C(),S("label",{key:c},[G(d("input",{type:"checkbox",value:l.value,"onUpdate:modelValue":a[2]||(a[2]=u=>s.value=u),required:r.field.required},null,8,xB),[[ve,s.value]]),P(" "+O(l.label),1)]))),128)):G((C(),S("input",{key:1,type:"checkbox",id:i.value,name:r.field.name,"onUpdate:modelValue":a[3]||(a[3]=l=>s.value=l),required:r.field.required},null,8,_B)),[[ve,s.value]])])):r.field.type===te(pt).radio?(C(),S("span",CB,[(C(true),S(Ae,null,ze(r.field.options,(l,c)=>(C(),S("label",{key:c},[G(d("input",{type:"radio",value:l.value,"onUpdate:modelValue":a[4]||(a[4]=u=>s.value=u),required:r.field.required},null,8,kB),[[Cg,s.value]]),P(" "+O(l.label),1)]))),128))])):r.field.type===te(pt).date?G((C(),S("input",{key:4,type:"date",id:i.value,name:r.field.name,"onUpdate:modelValue":a[5]||(a[5]=l=>s.value=l),required:r.field.required},null,8,SB)),[[je,s.value]]):fe("",true),d("span",$B,[Ge(r.$slots,"suffix")])],2))}}),AB=Pe(EB,[["__file","CeField.vue"]]),PB={class:"ce-form pure-form pure-form-stacked"},IB=xe({__name:"CeForm",props:{config:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,s=(i,r)=>{console.log("[CeForm.handleFieldValueChange]",i,o.modelValue,r),n("update:modelValue",{...o.modelValue});};return (i,r)=>(C(),S("div",PB,[d("fieldset",null,[d("legend",null,[Ge(i.$slots,"header",{},()=>[P(O(i.config.label),1)])]),(C(true),S(Ae,null,ze(i.config.fields,a=>Ge(i.$slots,a.name,{key:a.name,data:a},()=>[oe(AB,{field:a,modelValue:i.modelValue[a.name],"onUpdate:modelValue":l=>i.modelValue[a.name]=l,"form-config":i.config,onChange:l=>s(a.name,l)},{label:ge(()=>[Ge(i.$slots,`${a.name}_label`,{data:a})]),prefix:ge(()=>[Ge(i.$slots,`${a.name}_prefix`,{data:a})]),suffix:ge(()=>[Ge(i.$slots,`${a.name}_suffix`,{data:a})]),_:2},1032,["field","modelValue","onUpdate:modelValue","form-config","onChange"])])),128)),Ge(i.$slots,"footer")])]))}}),li=Pe(IB,[["__file","CeForm.vue"]]),DB={class:"menu-name-path-block menu-config-block"},LB=xe({__name:"NamePathConfig",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,s=V(n.modelValue);He(s,l=>{o("update:modelValue",l);});const i=V([{label:"完整名称",name:"copyFullName",type:pt.checkbox,disabled:true},{label:"不含后缀的名称",name:"copyPureName",type:pt.checkbox},{label:"文件SHA1",name:"copySha1",type:pt.checkbox},{label:"文件SHA1(带文件名)",name:"copySha1WithName",type:pt.checkbox},{label:"文件ID",name:"copyId",type:pt.checkbox},{label:"文件PickCode",name:"copyPickCode",type:pt.checkbox},{label:"Unix风格路径",name:"copyUnixPath",type:pt.checkbox},{label:"Windows风格路径",name:"copyWinPath",type:pt.checkbox},{label:"父目录Unix风格路径",name:"copyParentUnixPath",type:pt.checkbox},{label:"父目录Windows风格路径",name:"copyParentWinPath",type:pt.checkbox},{label:"在CloudDrive2 Web页面查看",name:"viewInCloudDrive",type:pt.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=V({label:"名称路径子菜单设置",fields:i.value.filter(l=>r(l.name)),idPrefix:"namePath_"});return (l,c)=>(C(),S("div",DB,[d("div",null,[oe(li,{modelValue:s.value,"onUpdate:modelValue":c[0]||(c[0]=u=>s.value=u),config:a.value},null,8,["modelValue","config"])])]))}}),TB=Pe(LB,[["__file","NamePathConfig.vue"]]),MB={class:"menu-name-path-config-button"},BB=xe({__name:"NamePathConfigButton",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,s=V(n.modelValue);return He(s,i=>{o("update:modelValue",i);}),(i,r)=>{const a=vo("VDropdown");return C(),S("span",MB,[oe(a,{distance:5,triggers:["click"],placement:"left"},{popper:ge(()=>[oe(TB,{modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=l=>s.value=l),include:n.include,exclude:n.exclude},null,8,["modelValue","include","exclude"])]),default:ge(()=>[Ge(i.$slots,"default",{},()=>[r[1]||(r[1]=d("span",{class:"text-bold text-info"},">>",-1))])]),_:3})])}}}),xr=Pe(BB,[["__file","NamePathConfigButton.vue"]]);var Ji={name:"115不大助手"};async function OB(){if(window!==window.parent)return;new MutationObserver(async([t])=>{t.type==="childList"&&window.postMessage({event:it.topDomChanged});}).observe(document.body,{childList:true});}async function RB(){const e=document.querySelector(".bottom-side .navigation-ceiling ul");if(!e){jB();return}const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.style.textAlign="center",n.style.backgroundColor="#fefcea",n.style.padding="4px 10px 4px",n.addEventListener("click",async o=>{await so();}),n.title=`打开「${Ji.name}」设置`,n.innerHTML='<i class="isn-setting"></i><span>不大助手</span>',t.appendChild(n),e.insertBefore(t,e.firstChild);}async function FB(){return !!document.querySelector("#js-login-box")}async function NB(){console.log("[handleLoginPage]"),await FB()&&(document.body.classList.add("ce-login-page"),UB());}async function UB(){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 so();}),t.title=`打开「${Ji.name}」设置`,t.innerHTML=`<i class="isn-setting"></i><span>${Ji.name}</span>`,e.insertAdjacentElement("beforebegin",t);const n=document.createElement("a");n.href="javascript:;",n.className="ce-entry",n.addEventListener("click",async o=>{await so(yt.tools);}),n.title="打开扫码获取Cookie",n.innerHTML='<i class="isn-scan"></i><span>扫码获取Cookie</span>',e.insertAdjacentElement("beforebegin",n);}async function jB(){const e=document.querySelector(".sub-footer ul");if(!e)return;const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.addEventListener("click",async o=>{await so();}),n.title=`打开「${Ji.name}」设置`,n.innerHTML=`<i class="isn-setting"></i><span>${Ji.name}</span>`,t.appendChild(n),e.insertBefore(t,e.firstChild);}async function so(e){window.postMessage({event:it.openConfig,body:e});}const zB={class:"menu-config-block"},HB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},VB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=V(e.modelValue);He(o,l=>{s("update:modelValue",l);});const s=t,i=vr([{label:"启用",name:"enabled"},{label:"新标签页打开",name:"openInNewTab"},{label:"搜索",name:"search"},{label:"播放",name:"play"},{label:"名称路径",name:"copyNames"},{label:"查找重复文件",name:"findRepeat"}],{type:pt.checkbox}),r=V(i),a=V({label:ms.listItemHover,fields:r.value,idPrefix:"listItemHover_"});return (l,c)=>(C(),S("div",zB,[d("div",null,[oe(li,{modelValue:o.value,"onUpdate:modelValue":c[3]||(c[3]=u=>o.value=u),config:a.value},{search_label:ge(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(so)(te(yt).searchMenus))},O(u.label),1)]),play_label:ge(({data:u})=>[d("label",{class:"text-primary",onClick:c[1]||(c[1]=f=>te(so)(te(yt).playMenus))},O(u.label),1)]),copyNames_label:ge(({data:u})=>[oe(xr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[2]||(c[2]=f=>o.value.namePathConfig=f)},{default:ge(()=>[d("label",HB,[P(O(u.label)+" ",1),c[4]||(c[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),qB=Pe(VB,[["__file","Config.vue"]]),WB={class:"menu-config-block"},KB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},GB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=V(e.modelValue),s=[];He(o,l=>{i("update:modelValue",l);});const i=t,r=V(vr([{label:"启用",name:"enabled"},{label:"名称路径",name:"copyNames"}],{type:pt.checkbox})),a=V({label:ms.listItemContext,fields:r.value,idPrefix:"listItemContext_"});return (l,c)=>(C(),S("div",WB,[d("div",null,[oe(li,{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=u=>o.value=u),config:a.value},{copyNames_label:ge(({data:u})=>[oe(xr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[0]||(c[0]=f=>o.value.namePathConfig=f),exclude:s},{default:ge(()=>[d("label",KB,[P(O(u.label)+" ",1),c[2]||(c[2]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),JB=Pe(GB,[["__file","Config.vue"]]),YB={class:"menu-config-block"},QB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},XB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=["viewInCloudDrive"],s=V(n.modelValue);He(s,c=>{i("update:modelValue",c);});const i=t;function r(c){return Object.entries(c).map(([u,f])=>({value:u,label:f}))}const a=V(vr([{label:"启用",name:"enabled"},{label:"移动到同名目录",name:"moveToSelfNameDir"},{label:"新标签页打开",name:"openInNewTab"},{label:"名称路径",name:"copyNames"},{label:"播放",name:"play"},{label:"搜索",name:"search"},{label:"打开搜索页面方式",name:"searchOpenType",type:pt.select,options:r($k),customClass:"ce-search-sub"}],{type:pt.checkbox})),l=V({label:ms.selection,fields:a.value,idPrefix:"selection_"});return (c,u)=>(C(),S("div",YB,[d("div",null,[oe(li,{modelValue:s.value,"onUpdate:modelValue":u[3]||(u[3]=f=>s.value=f),config:l.value},{search_label:ge(({data:f})=>[d("label",{class:"text-primary",onClick:u[0]||(u[0]=p=>te(so)(te(yt).searchMenus))},O(f.label),1)]),play_label:ge(({data:f})=>[d("label",{class:"text-primary",onClick:u[1]||(u[1]=p=>te(so)(te(yt).playMenus))},O(f.label),1)]),copyNames_label:ge(({data:f})=>[oe(xr,{modelValue:s.value.namePathConfig,"onUpdate:modelValue":u[2]||(u[2]=p=>s.value.namePathConfig=p),exclude:o},{default:ge(()=>[d("label",QB,[P(O(f.label)+" ",1),u[4]||(u[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),ZB=Pe(XB,[["__file","Config.vue"]]),eO={class:"menu-config-block"},tO={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},nO=["onClick"],oO=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=V(e.modelValue),s=["copyPureName","copySha1","copySha1WithName"];He(o,w=>{i("update:modelValue",w);});const i=t,r=vr([{label:"启用",name:"enabled"},{label:"重命名",name:"rename"},{label:"删除",name:"delete"},{label:"播放全部",name:"play"},{label:"名称路径",name:"copyNames"},{label:"搜索",name:"search"},{label:"移动",name:"move"},{label:"复制",name:"copy"},{label:"复制到",name:"copyTo"},{label:"查看属性",name:"viewProp"},{label:"子文件夹大小",name:"showSubFolderSize"},{label:"子文件夹大小+排序",name:"showSubFolderSizeAndSort"}],{type:pt.checkbox}),a=V(r),l=V({label:ms.dirContext,fields:a.value,idPrefix:"dirContext_"}),c=Ke(()=>{const w=["enabled","play","copyNames"];return Object.keys(o.value).filter(g=>!w.includes(g))}),u=Ke(()=>{const w=[];for(const g of Object.keys(o.value))w.push({name:g,prefix:`${g}_prefix`,suffix:`${g}_suffix`});return w}),f=w=>{o.value.topLevelMenus.includes(w.name)?o.value.topLevelMenus=o.value.topLevelMenus.filter(g=>g!==w.name):o.value.topLevelMenus.push(w.name);};async function p(){Z.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 (w,g)=>(C(),S("div",eO,[d("div",null,[oe(li,{modelValue:o.value,"onUpdate:modelValue":g[2]||(g[2]=b=>o.value=b),config:l.value},O_({header:ge(()=>[P(O(te(ms).dirContext)+" ",1),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:p},"说明")]),play_label:ge(({data:b})=>[d("label",{class:"text-primary",onClick:g[0]||(g[0]=x=>te(so)(te(yt).playMenus))},O(b.label),1)]),copyNames_label:ge(({data:b})=>[oe(xr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":g[1]||(g[1]=x=>o.value.namePathConfig=x),exclude:s},{default:ge(()=>[d("label",tO,[P(O(b.label)+" ",1),g[3]||(g[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:2},[ze(u.value,b=>({name:b.suffix,fn:ge(({data:x})=>[c.value.includes(x.name)?(C(),S("span",{key:0,class:Le(["btn-toggle-top",{active:o.value.topLevelMenus.includes(x.name)}]),onClick:A=>f(x),title:"点亮表示显示为一级菜单,否则将显示在「更多」菜单中"},"👁",10,nO)):fe("",!0)])}))]),1032,["modelValue","config"])])]))}}),sO=Pe(oO,[["__file","Config.vue"]]),iO={class:"menu-config-block"},rO={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},aO=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=V(e.modelValue),s=["copyPickCode","copyUnixPath","copyWinPath","copyParentUnixPath","copyParentWinPath","viewInCloudDrive"];He(o,l=>{i("update:modelValue",l);});const i=t,r=V(vr([{label:"启用",name:"enabled"},{label:"搜索",name:"search"},{label:"名称",name:"copyNames"}],{type:pt.checkbox})),a=V({label:ms.shareListItemHover,fields:r.value,idPrefix:"shareListItemHover_"});return (l,c)=>(C(),S("div",iO,[d("div",null,[oe(li,{modelValue:o.value,"onUpdate:modelValue":c[2]||(c[2]=u=>o.value=u),config:a.value},{search_label:ge(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(so)(te(yt).searchMenus))},O(u.label),1)]),copyNames_label:ge(({data:u})=>[oe(xr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[1]||(c[1]=f=>o.value.namePathConfig=f),exclude:s},{default:ge(()=>[d("label",rO,[P(O(u.label)+" ",1),c[3]||(c[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),lO=Pe(aO,[["__file","Config.vue"]]),uO={key:0,class:"ce-menu-config"},cO=xe({__name:"MenuConfig",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>dt()),t=await t,n(),t));return kt(async()=>{}),He(o,ct(async s=>{const i=await dt();s.defaultPlayer=i.defaultPlayer,s.defaultSearch=i.defaultSearch,await nd(s),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(s,i)=>o.value.enabled!==void 0?(C(),S("div",uO,[i[6]||(i[6]=d("div",{class:"ce-tips"},[d("p",null,"「搜索」功能菜单支持自定义,可在「搜索菜单」设置面板中添加和管理。 「播放」功能菜单支持自定义,可在「播放菜单」设置面板中添加和管理。")],-1)),oe(aB,{config:o.value},null,8,["config"]),oe(qB,{modelValue:o.value.listItemHover,"onUpdate:modelValue":i[0]||(i[0]=r=>o.value.listItemHover=r)},null,8,["modelValue"]),oe(JB,{modelValue:o.value.listItemContext,"onUpdate:modelValue":i[1]||(i[1]=r=>o.value.listItemContext=r)},null,8,["modelValue"]),oe(ZB,{modelValue:o.value.selection,"onUpdate:modelValue":i[2]||(i[2]=r=>o.value.selection=r)},null,8,["modelValue"]),oe(sO,{modelValue:o.value.dirContext,"onUpdate:modelValue":i[3]||(i[3]=r=>o.value.dirContext=r)},null,8,["modelValue"]),oe(lO,{modelValue:o.value.shareListItemHover,"onUpdate:modelValue":i[4]||(i[4]=r=>o.value.shareListItemHover=r)},null,8,["modelValue"]),i[7]||(i[7]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[i[5]||(i[5]=d("h1",null,"官方菜单设置",-1)),d("div",null,[oe(hB)])])])):fe("",true)}}),dO=Pe(cO,[["__file","MenuConfig.vue"]]),fO={class:"ce-custom-url"},pO={class:"pure-form pure-form-aligned"},hO={class:"ce-custom-url-index"},mO={class:"pure-control-group"},gO={class:"pure-control-group"},wO={class:"pure-control-group"},yO={class:"pure-control-group"},bO={key:0,class:"item-icon"},vO=["src"],xO={class:"pure-control-group"},_O={class:"pure-control-group"},CO={class:"pure-control-group"},kO={key:0,class:"pure-control-group"},SO=xe({__name:"CustomUrl",props:{item:{},index:{}},emits:["delete"],setup(e,{emit:t}){const n=V(true),o=t;function s(){o("delete");}async function i(){n.value=!n.value,n.value&&ee({title:"已开启高级模式",text:"请谨慎修改,不正确的代码可能会导致脚本崩溃。",icon:"info",timer:2e3});}async function r(){window.postMessage({event:"customUrlHelp"},"*");}async function a(){await Z.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)=>(C(),S("div",fO,[d("form",pO,[d("fieldset",null,[d("legend",null,[d("span",hO,"# "+O(l.index+1),1),d("button",{type:"button",class:"pure-button button-error button-small",onClick:s}," 删除 ")]),d("div",mO,[c[8]||(c[8]=d("label",null,"启用",-1)),G(d("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>l.item.enabled=u),type:"checkbox",id:"customUrl_enabled"},null,512),[[ve,l.item.enabled]])]),d("div",gO,[c[9]||(c[9]=d("label",null,"唯一标识",-1)),G(d("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>l.item.key=u),id:"customUrl_key",class:"pure-input-2-3",placeholder:"英文、数字或下划线"},null,512),[[je,l.item.key]])]),d("div",wO,[c[10]||(c[10]=d("label",null,"显示名称",-1)),G(d("input",{"onUpdate:modelValue":c[2]||(c[2]=u=>l.item.label=u),id:"customUrl_label",class:"pure-input-2-3",placeholder:"菜单文本,尽量简洁"},null,512),[[je,l.item.label]])]),d("div",yO,[c[11]||(c[11]=d("label",null,"图标",-1)),G(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),[[je,l.item.icon]]),c[12]||(c[12]=P(" ",-1)),l.item.icon?(C(),S("span",bO,[d("img",{src:l.item.icon,referrerpolicy:"no-referrer",width:"25"},null,8,vO)])):fe("",true)]),d("div",xO,[d("label",{onDblclick:i}," 链接 ",32),G(d("textarea",{"onUpdate:modelValue":c[4]||(c[4]=u=>l.item.url=u),id:"customUrl_url",class:"pure-input-2-3",placeholder:"链接地址,支持变量,变量列表请点击右侧「查看变量」"},null,512),[[je,l.item.url]]),c[13]||(c[13]=P(" ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:r},"查看变量")]),d("div",_O,[c[14]||(c[14]=d("label",null,"后台打开",-1)),G(d("input",{"onUpdate:modelValue":c[5]||(c[5]=u=>l.item.openInBackground=u),id:"customUrl_openInBackground",type:"checkbox"},null,512),[[ve,l.item.openInBackground]])]),d("div",CO,[c[15]||(c[15]=d("label",null,"备注",-1)),G(d("input",{"onUpdate:modelValue":c[6]||(c[6]=u=>l.item.memo=u),id:"customUrl_memo",class:"pure-input-2-3"},null,512),[[je,l.item.memo]])]),n.value?(C(),S("div",kO,[c[16]||(c[16]=d("label",null,"Mutation",-1)),G(d("textarea",{"onUpdate:modelValue":c[7]||(c[7]=u=>l.item.mutation=u),id:"customUrl_mutation",class:"pure-input-2-3",placeholder:"自定义代码生成最终链接,具体请看右侧「查看说明」"},null,512),[[je,l.item.mutation]]),c[17]||(c[17]=P(" ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:a},"查看说明")])):fe("",true)])])]))}}),hy=Pe(SO,[["__file","CustomUrl.vue"]]),$O={class:"ce-config ce-search-urls ce-custom-urls"},EO={class:"pure-form pure-form-aligned"},AO=["value"],PO={class:"ce-menu-urls-builtin"},IO={class:"pure-form pure-form-aligned"},DO={key:0,class:"item-icon"},LO=["src"],TO=["for"],MO=["id","onUpdate:modelValue"],BO={class:"text-info item-memo"},OO=["onClick"],RO={class:"ce-custom-urls-list"},FO={class:"ce-custom-urls-actions"},NO=["disabled"],UO=xe({__name:"SearchUrls",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>rr()),t=await t,n(),t)),s=V(([t,n]=Mt(()=>xs(to.search)),t=await t,n(),t)),i=Ke(()=>[...o.value.filter(w=>w.enabled),...s.value.filter(w=>w.enabled)]),r=([t,n]=Mt(()=>dt()),t=await t,n(),t),a=V(r.defaultSearch||"");kt(async()=>{}),He(o,ct(async w=>{const g=[];w.forEach(b=>{b.enabled&&g.push(b.key);}),await px(g),ee({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),He(a,ct(async w=>{const g=await dt();g.defaultSearch=w,await nd(g),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function l(){const w=[];for(const g of s.value){if(!await c(g,w.length))return;if(w.includes(g.key)){ee({icon:"error",title:`第 ${w.length+1} 个记录的「唯一标识: ${g.key}」重复!`});return}w.push(g.key);}await fm(to.search,s.value),ee({icon:"success",title:"保存成功!"});}async function c(w,g){const b=/^\w+$/;return w.key=w.key.trim(),b.test(w.key)?(w.label=w.label.trim(),w.label===""?(ee({icon:"error",title:`第 ${g+1} 个记录的「显示名称」不能为空!`}),false):(w.url=w.url.trim(),w.url===""?(ee({icon:"error",title:`第 ${g+1} 个记录的「链接」不能为空!`}),false):(w.icon=w.icon.trim(),w.memo=w.memo.trim(),true))):(ee({icon:"error",title:`第 ${g+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function u(){s.value.push(Ct({key:Fa()}));}async function f(w,g){const{isConfirmed:b}=await Z.fire({icon:"warning",html:`确定要删除第 ${g+1} 个记录「${w.label}」吗?`});b&&(s.value.splice(g,1),await l(),ee({icon:"success",title:`「${w.label}」已删除!`}));}async function p(w){const g=JSON.stringify(w,null,2),b=`ce-url-item-denifition-${w.key}`,{isConfirmed:x}=await Z.fire({title:`「${w.label}」的定义`,html:`<h3>${w.memo}</h3>
<pre id="${b}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(b).textContent=g;}});x&&(navigator.clipboard.writeText(g),ee({icon:"success",title:"已复制到剪贴板!"}));}return (w,g)=>(C(),S("div",$O,[d("form",EO,[d("fieldset",null,[g[1]||(g[1]=d("span",{class:"ce-label ce-label-primary"},"默认搜索: ",-1)),g[2]||(g[2]=P(" ",-1)),G(d("select",{"onUpdate:modelValue":g[0]||(g[0]=b=>a.value=b)},[(C(true),S(Ae,null,ze(i.value,(b,x)=>(C(),S("option",{key:x,value:b.key},O(b.label),9,AO))),128))],512),[[In,a.value]])])]),d("h1",null,[g[3]||(g[3]=P("预置搜索菜单 ",-1)),G(d("small",null,"( "+O(o.value.length)+" )",513),[[Vt,o.value.length]])]),d("div",PO,[d("form",IO,[d("fieldset",null,[(C(true),S(Ae,null,ze(o.value,(b,x)=>(C(),S("div",{key:x,class:"pure-control-group"},[b.icon?(C(),S("span",DO,[d("img",{src:b.icon,referrerpolicy:"no-referrer",width:"25"},null,8,LO)])):fe("",true),d("label",{for:`builtin_${b.key}`},O(b.label),9,TO),G(d("input",{id:`builtin_${b.key}`,type:"checkbox","onUpdate:modelValue":A=>b.enabled=A},null,8,MO),[[ve,b.enabled]]),g[4]||(g[4]=P(" ",-1)),d("span",BO,O(b.memo),1),g[5]||(g[5]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:A=>p(b)},"查看定义",8,OO)]))),128))])])]),d("h1",null,[g[6]||(g[6]=P("自定义搜索菜单 ",-1)),G(d("small",null,"( "+O(s.value.length)+" )",513),[[Vt,s.value.length]])]),d("div",RO,[(C(true),S(Ae,null,ze(s.value,(b,x)=>(C(),et(hy,{key:x,item:b,index:x,onDelete:A=>f(b,x)},null,8,["item","index","onDelete"]))),128))]),d("div",FO,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:l,disabled:!s.value.length}," 保存自定义搜索菜单 ",8,NO),g[7]||(g[7]=P(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:u}," + 添加自定义搜索菜单 ")])]))}}),jO=Pe(UO,[["__file","SearchUrls.vue"]]),zO={class:"ce-config ce-play-urls ce-custom-urls"},HO={class:"pure-form pure-form-aligned"},VO=["value"],qO={class:"ce-menu-urls-builtin"},WO={class:"pure-form pure-form-aligned"},KO={key:0,class:"item-icon"},GO=["src"],JO=["for"],YO=["id","onUpdate:modelValue"],QO={class:"text-info item-memo"},XO=["onClick"],ZO=["innerHTML"],e3={class:"ce-custom-urls-list"},t3={class:"ce-custom-urls-actions"},n3=["disabled"],o3=xe({__name:"PlayUrls",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>mm()),t=await t,n(),t)),s=V(([t,n]=Mt(()=>xs(to.play)),t=await t,n(),t)),i=([t,n]=Mt(()=>dt()),t=await t,n(),t),r=V(i.defaultPlayer||""),a=Ke(()=>[...o.value.filter(w=>w.enabled),...s.value.filter(w=>w.enabled)]);kt(async()=>{}),He(o,ct(async w=>{const g=[];w.forEach(b=>{b.enabled&&g.push(b.key);}),await hx(g),ee({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),He(r,ct(async w=>{const g=await dt();g.defaultPlayer=w,await nd(g),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function l(){const w=[];for(const g of s.value){if(!await c(g,w.length))return;if(w.includes(g.key)){ee({icon:"error",title:`第 ${w.length+1} 个记录的「唯一标识: ${g.key}」重复!`});return}w.push(g.key);}await fm(to.play,s.value),ee({icon:"success",title:"保存成功!"});}async function c(w,g){const b=/^\w+$/;return w.key=w.key.trim(),b.test(w.key)?(w.label=w.label.trim(),w.label===""?(ee({icon:"error",title:`第 ${g+1} 个记录的「显示名称」不能为空!`}),false):(w.url=w.url.trim(),w.url===""?(ee({icon:"error",title:`第 ${g+1} 个记录的「链接」不能为空!`}),false):(w.icon=w.icon.trim(),w.memo=w.memo.trim(),true))):(ee({icon:"error",title:`第 ${g+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function u(){s.value.push(Ct({key:Fa()}));}async function f(w,g){const{isConfirmed:b}=await Z.fire({icon:"warning",html:`确定要删除第 ${g+1} 个记录「${w.label}」吗?`});b&&(s.value.splice(g,1),await l(),ee({icon:"success",title:`「${w.label}」已删除!`}));}async function p(w){const g=JSON.stringify(w,null,2),b=`ce-url-item-denifition-${w.key}`,{isConfirmed:x}=await Z.fire({title:`「${w.label}」的定义`,html:`<h3>${w.memo}</h3>
<pre id="${b}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(b).innerText=g;}});x&&(navigator.clipboard.writeText(g),ee({icon:"success",title:"已复制到剪贴板!"}));}return (w,g)=>(C(),S("div",zO,[d("form",HO,[d("fieldset",null,[g[1]||(g[1]=d("span",{class:"ce-label ce-label-primary"},"默认播放菜单: ",-1)),g[2]||(g[2]=P(" ",-1)),G(d("select",{"onUpdate:modelValue":g[0]||(g[0]=b=>r.value=b)},[(C(true),S(Ae,null,ze(a.value,(b,x)=>(C(),S("option",{key:x,value:b.key},O(b.label),9,VO))),128))],512),[[In,r.value]])])]),d("h1",null,[g[3]||(g[3]=P("预置播放菜单 ",-1)),G(d("small",null,"( "+O(o.value.length)+" )",513),[[Vt,o.value.length]])]),g[8]||(g[8]=d("div",{class:"ce-tips"},[d("p",null,[P("支持常见的视频、音频和图片格式,也支持目录播放。预置播放菜单使用的链接变量是 "),d("b",null,"{clouddrive_stream_url}"),P(" , 会根据文件或目录自动使用相应的链接。")]),d("p",null,"调用本地播放器播放功能依赖CloudDrive,请先在「CloudDrive」设置面板中进行配置。")],-1)),d("div",qO,[d("form",WO,[d("fieldset",null,[(C(true),S(Ae,null,ze(o.value,(b,x)=>(C(),S("div",{key:x,class:"pure-control-group"},[b.icon?(C(),S("span",KO,[d("img",{src:b.icon,referrerpolicy:"no-referrer",width:"25"},null,8,GO)])):fe("",true),d("label",{for:`builtin_${b.key}`},O(b.label),9,JO),G(d("input",{id:`builtin_${b.key}`,type:"checkbox","onUpdate:modelValue":A=>b.enabled=A},null,8,YO),[[ve,b.enabled]]),g[4]||(g[4]=P(" ",-1)),d("span",QO,O(b.memo),1),g[5]||(g[5]=P(" ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:A=>p(b)},"查看定义",8,XO),b.extraMemo?(C(),S("span",{key:1,innerHTML:b.extraMemo,class:"extra-memo"},null,8,ZO)):fe("",true)]))),128))])])]),d("h1",null,[g[6]||(g[6]=P("自定义播放菜单 ",-1)),G(d("small",null,"( "+O(s.value.length)+" )",513),[[Vt,s.value.length]])]),d("div",e3,[(C(true),S(Ae,null,ze(s.value,(b,x)=>(C(),et(hy,{key:x,item:b,index:x,onDelete:A=>f(b,x)},null,8,["item","index","onDelete"]))),128))]),g[9]||(g[9]=d("div",{class:"ce-tips"}," 编辑后,请记得点击「保存自定义播放菜单」。 ",-1)),d("div",t3,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:l,disabled:!s.value.length}," 保存自定义播放菜单 ",8,n3),g[7]||(g[7]=P(" ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:u}," + 添加自定义播放菜单 ")])]))}}),s3=Pe(o3,[["__file","PlayUrls.vue"]]),i3={class:"ce-config ce-anxia-config"},r3={class:"pure-form pure-form-aligned"},a3={class:"pure-control-group"},l3={class:"pure-control-group"},u3={class:"pure-control-group"},c3=["value"],d3=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>Xh()),t=await t,n(),t));return kt(async()=>{}),He(o,ct(async s=>{await S0(s),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:it.listConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:true}),(s,i)=>(C(),S("div",i3,[d("form",r3,[d("fieldset",null,[d("div",a3,[i[3]||(i[3]=d("label",{for:"defaultWebFull"},"自动网页全屏",-1)),G(d("input",{id:"defaultWebFull",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.defaultWebFull=r)},null,512),[[ve,o.value.defaultWebFull]]),i[4]||(i[4]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动使播放器网页全屏。")],-1))]),d("div",l3,[i[5]||(i[5]=d("label",{for:"defaultOpenPlayList"},"自动展开播放列表",-1)),G(d("input",{id:"defaultOpenPlayList",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.defaultOpenPlayList=r)},null,512),[[ve,o.value.defaultOpenPlayList]]),i[6]||(i[6]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动展开播放列表。")],-1))]),d("div",u3,[i[8]||(i[8]=d("label",{for:"defaultDefinition"},"默认清晰度",-1)),G(d("select",{id:"defaultDefinition","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.defaultDefinition=r)},[i[7]||(i[7]=d("option",{value:""},"官方默认",-1)),(C(true),S(Ae,null,ze(te(Qh),(r,a)=>(C(),S("option",{key:a,value:a},O(r),9,c3))),128))],512),[[In,o.value.defaultDefinition]]),i[9]||(i[9]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-warning"},"如果没有该清晰度,则会使用官方默认。")],-1))])])])]))}}),f3=Pe(d3,[["__file","Config.vue"]]),my=mt.share;function p3(e){return {autoConfirmPassword:true,pageWidth:"",showListSummary:true,freshMode:false,...e}}async function gy(){const e=p3(),t=await Xe.get(my,e);return {...e,...t}}async function h3(e){await Xe.set(my,e);}function m3(e,t=true,n=false){const o=qp();let s=e.match(/((115|115cdn|anxia)\.com(\/s)?\/)?([a-z\d]{6,})(\?password=(\w{4,}))?/);if(!s)throw new Error("无法解析分享链接");const i=!!s[1];if(!i&&!n)throw new Error("无法解析分享链接: 缺少有效的域名或访问码");if(o.share_code=s[4],s[5])return o.receive_code=s[6],o;if(s=e.match(/(\?|&)password=(\w{4,})/),s&&(o.receive_code=s[2]),!o.receive_code&&t&&(s=e.match(/访问码(:|:)\s*(\w{4,})/),s&&(o.receive_code=s[2])),!i&&!o.receive_code)throw new Error("分享链接缺少访问码");return o}function g3(e){const t=qp(),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 w3(e,t=true,n=false){try{return m3(e,t,n)}catch{}try{return g3(e)}catch{}throw new Error("无法解析分享链接或口令")}function y3(e,t=true,n=false){e=e.replace(/[,,]\s*(https:\/\/)/g,`
$1`);const o=[],s=e.split(`
`).map(r=>r.trim()).filter(r=>r);for(const r of s)try{const a=w3(r,t,n);o.push(a);}catch{}const i={};for(const r of o)r.share_code&&!i[r.share_code]&&(i[r.share_code]=r);return Object.values(i)}function b3(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 v3={class:"ce-tools-item ce-share-tool"},x3={class:"pure-form pure-form-aligned"},_3={class:"pure-control-group"},C3={key:0,style:{padding:"4px 0"}},k3={style:{width:"auto"}},S3={key:0,style:{padding:"6px","max-height":"300px","overflow-y":"auto",border:"1px solid #ccc"}},$3=xe({__name:"ShareTool",setup(e){const n=V(false),o=V(""),s=V(null),i=V([]);return kt(async()=>{}),jt(async()=>{}),He(o,ct(r=>{if(i.value=[],r=r.trim(),!!r)try{if(i.value=y3(r,!0,!0),console.log("[parseBatch]",i.value),!i.value.length)throw new Error("未找到有效的分享链接或口令");n.value;for(const a of i.value){const l=b3(a);Di(l,{active:!0});}o.value="";}catch(a){console.error(a),Ls.fire({icon:"error",title:`解析分享内容失败:${a instanceof Error?a.message:String(a)}`}),s.value&&s.value.select();}},300),{immediate:true}),(r,a)=>(C(),S("div",v3,[d("form",x3,[d("fieldset",null,[a[5]||(a[5]=d("legend",null,"分享工具",-1)),d("div",_3,[a[4]||(a[4]=d("div",null,[d("b",null,"打开分享详情"),P(" - 粘贴分享内容,自动打开分享详情页面,支持链接和口令,支持多个")],-1)),G(d("textarea",{ref_key:"refShareText",ref:s,rows:"2","onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),placeholder:"请粘贴分享内容",style:{width:"80%"},onclick:"this.select()"},null,512),[[je,o.value]]),te(true)?fe("",true):(C(),S("div",C3,[d("label",k3,[G(d("input",{type:"checkbox","onUpdate:modelValue":a[1]||(a[1]=l=>n.value=l)},null,512),[[ve,n.value]]),a[3]||(a[3]=P(" 调试模式",-1))]),d("button",{type:"button",onClick:a[2]||(a[2]=l=>o.value="")},"清空"),i.value&&i.value.length?(C(),S("div",S3,[d("pre",null,O(i.value),1)])):fe("",true)]))])])])]))}}),E3=Pe($3,[["__file","ShareTool.vue"]]),A3={class:"ce-config ce-share-config"},P3={class:"pure-form pure-form-aligned"},I3={class:"pure-control-group"},D3={class:"pure-control-group"},L3={class:"pure-control-group"},T3={class:"pure-control-group"},M3=xe({__name:"Config",async setup(e){let t,n;const o=V(([t,n]=Mt(()=>gy()),t=await t,n(),t));return kt(async()=>{}),He(o,ct(async s=>{await h3(s),ee({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:it.shareConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:true}),(s,i)=>(C(),S("div",A3,[oe(E3),d("form",P3,[d("fieldset",null,[i[12]||(i[12]=d("legend",null,"分享设置",-1)),d("div",I3,[i[4]||(i[4]=d("label",{for:"autoAccess"},"自动确定访问码",-1)),G(d("input",{id:"autoAccess",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.autoConfirmPassword=r)},null,512),[[ve,o.value.autoConfirmPassword]]),i[5]||(i[5]=d("div",{class:"pure-form-message text-success"}," 如果打开页面时已有访问码,则自动确定进入分享详情。 ",-1))]),d("div",D3,[i[6]||(i[6]=d("label",{for:"pageWidth"},"页面宽度",-1)),G(d("input",{id:"pageWidth",class:"input-small","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.pageWidth=r)},null,512),[[je,o.value.pageWidth]]),i[7]||(i[7]=d("div",{class:"pure-form-message text-success"},[P(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),P("。 ")],-1))]),d("div",L3,[i[8]||(i[8]=d("label",{for:"showListSummary"},"显示列表概要",-1)),G(d("input",{id:"showListSummary",type:"checkbox","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.showListSummary=r)},null,512),[[ve,o.value.showListSummary]]),i[9]||(i[9]=d("div",{class:"pure-form-message text-success"}," 在列表`名称`列头部显示当前列表的概要信息,如文件数量、文件合计大小、目录数量等。 ",-1))]),d("div",T3,[i[10]||(i[10]=d("label",{for:"freshMode"},"清爽模式",-1)),G(d("input",{id:"freshMode",type:"checkbox","onUpdate:modelValue":i[3]||(i[3]=r=>o.value.freshMode=r)},null,512),[[ve,o.value.freshMode]]),i[11]||(i[11]=d("div",{class:"pure-form-message text-success"},[P(" 隐藏顶部广告和底部警告。"),d("span",{class:"text-warning"},"请注意,这些区域的内容可能会发生变化,隐藏后可能会使你错过相关信息,比如新活动等。")],-1))])])])]))}}),B3=Pe(M3,[["__file","Config.vue"]]);var O3={name:"115不大助手",version:"0.7.102"};const R3=xe({__name:"FeedbackButton",setup(e){const t=O3,n=By;function o(){let i=`脚本: ${t.name} - v${t.version}
`;return i+=`TM: ${n.version}
`,i+=`UA: ${navigator.userAgent}
`,i+=`我在使用脚本的 xxxxxx 功能时,出现了问题,希望你能帮我解决。
`,i+=`复现步骤: xxxxxx
`,i+=`问题截图:
`,i}function s(){let i=o();gt(i),ee({icon:"success",text:"已复制反馈模版,请添加详细的描述以便排查和解决问题。"});}return (i,r)=>(C(),S("button",{type:"button",class:"pure-button pure-button-success",onClick:s}," 复制反馈模版 "))}}),F3=Pe(R3,[["__file","FeedbackButton.vue"]]);var N3={name:"115不大助手",version:"0.7.102",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 U3={class:"ce-about"},j3=["href"],z3=xe({__name:"About",setup(e){const t=N3;return (n,o)=>(C(),S("div",U3,[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,[oe(F3)]),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查看"},[P(O(te(t).name)+" ",1),d("small",null,"v"+O(te(t).version),1)],8,j3),o[0]||(o[0]=P(" ",-1)),d("small",null,"by "+O(te(t).author.name),1)])]))}}),H3=Pe(z3,[["__file","About.vue"]]);var V3={name:"115不大助手",version:"0.7.102",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 q3={class:"ce-config-main"},W3={class:"ce-config-main-header"},K3={class:"ce-intro"},G3=["href"],J3={class:"ce-config-main-body"},Y3=xe({__name:"Config",setup(e){const t=V3,n=V(false),o=V(false),s=V();jt(async()=>{window.addEventListener("message",c=>{const{event:u,body:f}=c.data;u===it.openConfig&&(n.value||(n.value=true),i(f)),u===it.closeConfig&&r();},false);});async function i(c){o.value=true,console.log("[openDrawer]",c),c&&(await ps(),s.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)=>(C(),et(dg,null,{default:ge(()=>[d("div",q3,[oe(Wi,{"is-open":o.value,onClose:r,"max-width":"1225px",speed:500},{default:ge(()=>[d("div",W3,[u[1]||(u[1]=d("h1",null,"设置",-1)),d("span",K3,[d("a",{href:te(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[P(O(te(t).name)+" ",1),d("small",null,"v"+O(te(t).version),1)],8,G3),u[0]||(u[0]=P(" ",-1)),d("small",null,"by "+O(te(t).author.name),1)]),d("div",{class:"ce-config-main-close",onClick:r},"关闭")]),d("div",J3,[oe(te(BL),{ref_key:"refTabs",ref:s,options:{useUrlFragment:!1},onClicked:a,onChanged:l},{default:ge(()=>[oe(te(xn),{id:te(yt).basic,name:te(vn).basic},{default:ge(()=>[oe(cT)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).clouddrive,name:te(vn).clouddrive},{default:ge(()=>[oe(ET)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).list,name:te(vn).list},{default:ge(()=>[oe(XT)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).search,name:te(vn).search},{default:ge(()=>[oe(aM)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).menus,name:te(vn).menus},{default:ge(()=>[oe(dO)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).searchMenus,name:te(vn).searchMenus},{default:ge(()=>[oe(jO)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).playMenus,name:te(vn).playMenus},{default:ge(()=>[oe(s3)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).offline,name:te(vn).offline},{default:ge(()=>[oe(ww)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).tools,name:te(vn).tools},{default:ge(()=>[oe(JM)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).anxia,name:te(vn).anxia},{default:ge(()=>[oe(f3)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).share,name:te(vn).share},{default:ge(()=>[oe(B3)]),_:1},8,["id","name"]),oe(te(xn),{id:te(yt).about,name:te(vn).about},{default:ge(()=>[oe(H3)]),_:1},8,["id","name"])]),_:1},512)])]),_:1},8,["is-open"])])]),_:1}))}}),Q3=Pe(Y3,[["__file","Config.vue"]]),X3=".ce-login-page a.ce-entry{display:inline-block;background:#fefcea;padding:2px 6px;border-radius:4px;border:1px solid #234888;margin:0 4px}";$t(X3);async function Z3(){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}`),e4(),RB(),OB());}async function e4(){console.log("[Cloud115 Enhancer - main] injectUI");const e="cloud115ConfigMain",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=io(Q3);n.component("VDropdown",ks),n.directive("tooltip",ad),n.mount(`#${e}`),wi("设置",async()=>{window.postMessage({event:it.openConfig});}),wi("扫码获取Cookie",async()=>{window.postMessage({event:it.openConfig,body:yt.tools});}),wi("解析分享文本",async()=>{window.postMessage({event:it.openConfig,body:yt.share});}),NB();}const t4='@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}';$t(t4);function xo(e){return Array.isArray?Array.isArray(e):by(e)==="[object Array]"}function n4(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function o4(e){return e==null?"":n4(e)}function Gn(e){return typeof e=="string"}function wy(e){return typeof e=="number"}function s4(e){return e===true||e===false||i4(e)&&by(e)=="[object Boolean]"}function yy(e){return typeof e=="object"}function i4(e){return yy(e)&&e!==null}function pn(e){return e!=null}function nu(e){return !e.trim().length}function by(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const r4="Incorrect 'index' type",a4=e=>`Invalid value for key ${e}`,l4=e=>`Pattern length exceeds max of ${e}.`,u4=e=>`Missing ${e} property in key`,c4=e=>`Property 'weight' in key '${e}' must be a positive integer`,Lp=Object.prototype.hasOwnProperty;class d4{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(o=>{let s=vy(o);this._keys.push(s),this._keyMap[s.id]=s,n+=s.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 vy(e){let t=null,n=null,o=null,s=1,i=null;if(Gn(e)||xo(e))o=e,t=Tp(e),n=Ku(e);else {if(!Lp.call(e,"name"))throw new Error(u4("name"));const r=e.name;if(o=r,Lp.call(e,"weight")&&(s=e.weight,s<=0))throw new Error(c4(r));t=Tp(r),n=Ku(r),i=e.getFn;}return {path:t,id:n,weight:s,src:o,getFn:i}}function Tp(e){return xo(e)?e:e.split(".")}function Ku(e){return xo(e)?e.join("."):e}function f4(e,t){let n=[],o=false;const s=(i,r,a)=>{if(pn(i))if(!r[a])n.push(i);else {let l=r[a];const c=i[l];if(!pn(c))return;if(a===r.length-1&&(Gn(c)||wy(c)||s4(c)))n.push(o4(c));else if(xo(c)){o=true;for(let u=0,f=c.length;u<f;u+=1)s(c[u],r,a+1);}else r.length&&s(c,r,a+1);}};return s(e,Gn(t)?t.split("."):t,0),o?n:n[0]}const p4={includeMatches:false,findAllMatches:false,minMatchCharLength:1},h4={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},m4={location:0,threshold:.6,distance:100},g4={useExtendedSearch:false,getFn:f4,ignoreLocation:false,ignoreFieldNorm:false,fieldNormWeight:1};var Te={...h4,...p4,...m4,...g4};const w4=/[^ ]+/g;function y4(e=1,t=3){const n=new Map,o=Math.pow(10,t);return {get(s){const i=s.match(w4).length;if(n.has(i))return n.get(i);const r=1/Math.pow(i,.5*e),a=parseFloat(Math.round(r*o)/o);return n.set(i,a),a},clear(){n.clear();}}}class _d{constructor({getFn:t=Te.getFn,fieldNormWeight:n=Te.fieldNormWeight}={}){this.norm=y4(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,Gn(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();Gn(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(!pn(t)||nu(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((s,i)=>{let r=s.getFn?s.getFn(t):this.getFn(t,s.path);if(pn(r)){if(xo(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(pn(u))if(Gn(u)&&!nu(u)){let f={v:u,i:c,n:this.norm.get(u)};a.push(f);}else xo(u)&&u.forEach((f,p)=>{l.push({nestedArrIndex:p,value:f});});}o.$[i]=a;}else if(Gn(r)&&!nu(r)){let a={v:r,n:this.norm.get(r)};o.$[i]=a;}}}),this.records.push(o);}toJSON(){return {keys:this.keys,records:this.records}}}function xy(e,t,{getFn:n=Te.getFn,fieldNormWeight:o=Te.fieldNormWeight}={}){const s=new _d({getFn:n,fieldNormWeight:o});return s.setKeys(e.map(vy)),s.setSources(t),s.create(),s}function b4(e,{getFn:t=Te.getFn,fieldNormWeight:n=Te.fieldNormWeight}={}){const{keys:o,records:s}=e,i=new _d({getFn:t,fieldNormWeight:n});return i.setKeys(o),i.setIndexRecords(s),i}function Or(e,{errors:t=0,currentLocation:n=0,expectedLocation:o=0,distance:s=Te.distance,ignoreLocation:i=Te.ignoreLocation}={}){const r=t/e.length;if(i)return r;const a=Math.abs(o-n);return s?r+a/s:a?1:r}function v4(e=[],t=Te.minMatchCharLength){let n=[],o=-1,s=-1,i=0;for(let r=e.length;i<r;i+=1){let a=e[i];a&&o===-1?o=i:!a&&o!==-1&&(s=i-1,s-o+1>=t&&n.push([o,s]),o=-1);}return e[i-1]&&i-o>=t&&n.push([o,i-1]),n}const os=32;function x4(e,t,n,{location:o=Te.location,distance:s=Te.distance,threshold:i=Te.threshold,findAllMatches:r=Te.findAllMatches,minMatchCharLength:a=Te.minMatchCharLength,includeMatches:l=Te.includeMatches,ignoreLocation:c=Te.ignoreLocation}={}){if(t.length>os)throw new Error(l4(os));const u=t.length,f=e.length,p=Math.max(0,Math.min(o,f));let w=i,g=p;const b=a>1||l,x=b?Array(f):[];let A;for(;(A=e.indexOf(t,g))>-1;){let z=Or(t,{currentLocation:A,expectedLocation:p,distance:s,ignoreLocation:c});if(w=Math.min(z,w),g=A+u,b){let ue=0;for(;ue<u;)x[A+ue]=1,ue+=1;}}g=-1;let T=[],D=1,I=u+f;const B=1<<u-1;for(let z=0;z<u;z+=1){let ue=0,me=I;for(;ue<me;)Or(t,{errors:z,currentLocation:p+me,expectedLocation:p,distance:s,ignoreLocation:c})<=w?ue=me:I=me,me=Math.floor((I-ue)/2+ue);I=me;let se=Math.max(1,p-me+1),F=r?f:Math.min(p+me,f)+u,U=Array(F+2);U[F+1]=(1<<z)-1;for(let le=F;le>=se;le-=1){let be=le-1,ke=n[e.charAt(be)];if(b&&(x[be]=+!!ke),U[le]=(U[le+1]<<1|1)&ke,z&&(U[le]|=(T[le+1]|T[le])<<1|1|T[le+1]),U[le]&B&&(D=Or(t,{errors:z,currentLocation:be,expectedLocation:p,distance:s,ignoreLocation:c}),D<=w)){if(w=D,g=be,g<=p)break;se=Math.max(1,2*p-g);}}if(Or(t,{errors:z+1,currentLocation:p,expectedLocation:p,distance:s,ignoreLocation:c})>w)break;T=U;}const q={isMatch:g>=0,score:Math.max(.001,D)};if(b){const z=v4(x,a);z.length?l&&(q.indices=z):q.isMatch=false;}return q}function _4(e){let t={};for(let n=0,o=e.length;n<o;n+=1){const s=e.charAt(n);t[s]=(t[s]||0)|1<<o-n-1;}return t}const Sa=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 _y{constructor(t,{location:n=Te.location,threshold:o=Te.threshold,distance:s=Te.distance,includeMatches:i=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:s,includeMatches:i,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreDiacritics:c,ignoreLocation:u},t=l?t:t.toLowerCase(),t=c?Sa(t):t,this.pattern=t,this.chunks=[],!this.pattern.length)return;const f=(w,g)=>{this.chunks.push({pattern:w,alphabet:_4(w),startIndex:g});},p=this.pattern.length;if(p>os){let w=0;const g=p%os,b=p-g;for(;w<b;)f(this.pattern.substr(w,os),w),w+=os;if(g){const x=p-os;f(this.pattern.substr(x),x);}}else f(this.pattern,0);}searchIn(t){const{isCaseSensitive:n,ignoreDiacritics:o,includeMatches:s}=this.options;if(t=n?t:t.toLowerCase(),t=o?Sa(t):t,this.pattern===t){let b={isMatch:true,score:0};return s&&(b.indices=[[0,t.length-1]]),b}const{location:i,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,ignoreLocation:u}=this.options;let f=[],p=0,w=false;this.chunks.forEach(({pattern:b,alphabet:x,startIndex:A})=>{const{isMatch:T,score:D,indices:I}=x4(t,b,x,{location:i+A,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,includeMatches:s,ignoreLocation:u});T&&(w=true),p+=D,T&&I&&(f=[...f,...I]);});let g={isMatch:w,score:w?p/this.chunks.length:1};return w&&s&&(g.indices=f),g}}class Go{constructor(t){this.pattern=t;}static isMultiMatch(t){return Mp(t,this.multiRegex)}static isSingleMatch(t){return Mp(t,this.singleRegex)}search(){}}function Mp(e,t){const n=e.match(t);return n?n[1]:null}class C4 extends Go{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 k4 extends Go{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 S4 extends Go{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 $4 extends Go{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 E4 extends Go{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 A4 extends Go{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 Cy extends Go{constructor(t,{location:n=Te.location,threshold:o=Te.threshold,distance:s=Te.distance,includeMatches:i=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 _y(t,{location:n,threshold:o,distance:s,includeMatches:i,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 ky extends Go{constructor(t){super(t);}static get type(){return "include"}static get multiRegex(){return /^'"(.*)"$/}static get singleRegex(){return /^'(.*)$/}search(t){let n=0,o;const s=[],i=this.pattern.length;for(;(o=t.indexOf(this.pattern,n))>-1;)n=o+i,s.push([o,n-1]);const r=!!s.length;return {isMatch:r,score:r?0:1,indices:s}}}const Gu=[C4,ky,S4,$4,A4,E4,k4,Cy],Bp=Gu.length,P4=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,I4="|";function D4(e,t={}){return e.split(I4).map(n=>{let o=n.trim().split(P4).filter(i=>i&&!!i.trim()),s=[];for(let i=0,r=o.length;i<r;i+=1){const a=o[i];let l=false,c=-1;for(;!l&&++c<Bp;){const u=Gu[c];let f=u.isMultiMatch(a);f&&(s.push(new u(f,t)),l=true);}if(!l)for(c=-1;++c<Bp;){const u=Gu[c];let f=u.isSingleMatch(a);if(f){s.push(new u(f,t));break}}}return s})}const L4=new Set([Cy.type,ky.type]);class T4{constructor(t,{isCaseSensitive:n=Te.isCaseSensitive,ignoreDiacritics:o=Te.ignoreDiacritics,includeMatches:s=Te.includeMatches,minMatchCharLength:i=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:s,minMatchCharLength:i,findAllMatches:a,ignoreLocation:r,location:l,threshold:c,distance:u},t=n?t:t.toLowerCase(),t=o?Sa(t):t,this.pattern=t,this.query=D4(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:s,ignoreDiacritics:i}=this.options;t=s?t:t.toLowerCase(),t=i?Sa(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,w=f.length;p<w;p+=1){const g=f[p],{isMatch:b,indices:x,score:A}=g.search(t);if(b){if(r+=1,l+=A,o){const T=g.constructor.type;L4.has(T)?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 Ju=[];function M4(...e){Ju.push(...e);}function Yu(e,t){for(let n=0,o=Ju.length;n<o;n+=1){let s=Ju[n];if(s.condition(e,t))return new s(e,t)}return new _y(e,t)}const $a={AND:"$and",OR:"$or"},Qu={PATH:"$path",PATTERN:"$val"},Xu=e=>!!(e[$a.AND]||e[$a.OR]),B4=e=>!!e[Qu.PATH],O4=e=>!xo(e)&&yy(e)&&!Xu(e),Op=e=>({[$a.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Sy(e,t,{auto:n=true}={}){const o=s=>{let i=Object.keys(s);const r=B4(s);if(!r&&i.length>1&&!Xu(s))return o(Op(s));if(O4(s)){const l=r?s[Qu.PATH]:i[0],c=r?s[Qu.PATTERN]:s[l];if(!Gn(c))throw new Error(a4(l));const u={keyId:Ku(l),pattern:c};return n&&(u.searcher=Yu(c,t)),u}let a={children:[],operator:i[0]};return i.forEach(l=>{const c=s[l];xo(c)&&c.forEach(u=>{a.children.push(o(u));});}),a};return Xu(e)||(e=Op(e)),o(e)}function R4(e,{ignoreFieldNorm:t=Te.ignoreFieldNorm}){e.forEach(n=>{let o=1;n.matches.forEach(({key:s,norm:i,score:r})=>{const a=s?s.weight:null;o*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:i));}),n.score=o;});}function F4(e,t){const n=e.matches;t.matches=[],pn(n)&&n.forEach(o=>{if(!pn(o.indices)||!o.indices.length)return;const{indices:s,value:i}=o;let r={indices:s,value:i};o.key&&(r.key=o.key.src),o.idx>-1&&(r.refIndex=o.idx),t.matches.push(r);});}function N4(e,t){t.score=e.score;}function U4(e,t,{includeMatches:n=Te.includeMatches,includeScore:o=Te.includeScore}={}){const s=[];return n&&s.push(F4),o&&s.push(N4),e.map(i=>{const{idx:r}=i,a={item:t[r],refIndex:r};return s.length&&s.forEach(l=>{l(i,a);}),a})}class ui{constructor(t,n={},o){this.options={...Te,...n},this.options.useExtendedSearch,this._keyStore=new d4(this.options.keys),this.setCollection(t,o);}setCollection(t,n){if(this._docs=t,n&&!(n instanceof _d))throw new Error(r4);this._myIndex=n||xy(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight});}add(t){pn(t)&&(this._docs.push(t),this._myIndex.add(t));}remove(t=()=>false){const n=[];for(let o=0,s=this._docs.length;o<s;o+=1){const i=this._docs[o];t(i,o)&&(this.removeAt(o),o-=1,s-=1,n.push(i));}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:s,shouldSort:i,sortFn:r,ignoreFieldNorm:a}=this.options;let l=Gn(t)?Gn(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return R4(l,{ignoreFieldNorm:a}),i&&l.sort(r),wy(n)&&n>-1&&(l=l.slice(0,n)),U4(l,this._docs,{includeMatches:o,includeScore:s})}_searchStringList(t){const n=Yu(t,this.options),{records:o}=this._myIndex,s=[];return o.forEach(({v:i,i:r,n:a})=>{if(!pn(i))return;const{isMatch:l,score:c,indices:u}=n.searchIn(i);l&&s.push({item:i,idx:r,matches:[{score:c,value:i,norm:a,indices:u}]});}),s}_searchLogical(t){const n=Sy(t,this.options),o=(a,l,c)=>{if(!a.children){const{keyId:f,searcher:p}=a,w=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(l,f),searcher:p});return w&&w.length?[{idx:c,item:l,matches:w}]:[]}const u=[];for(let f=0,p=a.children.length;f<p;f+=1){const w=a.children[f],g=o(w,l,c);if(g.length)u.push(...g);else if(a.operator===$a.AND)return []}return u},s=this._myIndex.records,i={},r=[];return s.forEach(({$:a,i:l})=>{if(pn(a)){let c=o(n,a,l);c.length&&(i[l]||(i[l]={idx:l,item:a,matches:[]},r.push(i[l])),c.forEach(({matches:u})=>{i[l].matches.push(...u);}));}}),r}_searchObjectList(t){const n=Yu(t,this.options),{keys:o,records:s}=this._myIndex,i=[];return s.forEach(({$:r,i:a})=>{if(!pn(r))return;let l=[];o.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}));}),l.length&&i.push({idx:a,item:r,matches:l});}),i}_findMatches({key:t,value:n,searcher:o}){if(!pn(n))return [];let s=[];if(xo(n))n.forEach(({v:i,i:r,n:a})=>{if(!pn(i))return;const{isMatch:l,score:c,indices:u}=o.searchIn(i);l&&s.push({score:c,key:t,value:i,idx:r,norm:a,indices:u});});else {const{v:i,n:r}=n,{isMatch:a,score:l,indices:c}=o.searchIn(i);a&&s.push({score:l,key:t,value:i,norm:r,indices:c});}return s}}ui.version="7.1.0";ui.createIndex=xy;ui.parseIndex=b4;ui.config=Te;ui.parseQuery=Sy;M4(T4);const j4={class:"ce-goto-input-wrap"},z4=["disabled"],H4=["disabled"],V4={class:"ce-goto-sug"},q4=["onMousedown","sid"],W4={class:"ce-goto-sug-index"},K4={class:"ce-goto-sug-prefix"},G4={class:"ce-goto-sug-name"},J4=xe({__name:"GotoPath",setup(e){const t=V(false),n=V(false),o=V(null),s=V(null),i=V(""),r=V([]),a=V(false),l=Ke(()=>i.value.trim().length>0);let c="";jt(async()=>{t.value=true,s.value?.focus(),window.addEventListener("message",async U=>{if(U.data.event===it.listRendered){const le=await un(false);le!==c&&(r.value=[],await z(false)),c=le;}});});async function u(U){if(console.log("[handleKeydown]",U.key),Up(U),U.key==="Enter"){I.value>-1?me():await se(i.value);return}if(U.key==="Escape"){await F();return}["ArrowUp","ArrowDown"].includes(U.key)?B(U):f(U);}const f=ct(async U=>{p();},200);async function p(){try{r.value=[],await z(!1);const U={keyword:"",parentId:await un(!1),parentPath:cu(),isSubOfCurrent:!0};console.log("[getSug] searchData:",U);const Y=await T(U,!1);if(console.log("[searchData] items:",Y),!Y.length){ee({icon:"warning",text:"没有匹配的建议",timer:1500,position:"top-right"});return}const le=await w(Y,U);console.log("[searchData] sugs:",le),r.value=le,I.value=-1,await z(le.length>0);}catch(U){console.warn(U),await z(false),ee({icon:"error",text:U.toString(),timer:2e3,position:"top-right"});}}async function w(U,Y){const le=[];for(let Se=0;Se<U.length;Se++){const Ne=U[Se];le.push({id:Ne.id,prefix:Y.parentPath==="/"?"":Y.parentPath,name:Ne.name,active:false});}const be=i.value.trim();if(!be)return le;const ke=/^(\.\/)?[^\/]+/.test(be),_e=uu(be,"../");if(console.log("[toSug] isSubOfCurrent:",ke,"kwParentPath:",_e),ke||_e===Y.parentPath){const Se=new ui(le,{keys:["name"],threshold:.6,includeScore:true});let Ne=be;if(_e===Y.parentPath){const L=be.split(/[\\/]/).filter(Boolean);Ne=L[L.length-1];}const ut=Se.search(Ne);console.log("[toSug] fuse res:",ut);let we=false;return ut.forEach(L=>{L.score===void 0?(console.warn("[toSug] r.score is undefined:",L),we=true,L.score=0):L.score!==void 0&&isNaN(L.score)&&(console.warn("[toSug] r.score is NaN:",L),we=true,L.score=0);}),we&&ut.sort((L,pe)=>L.score-pe.score),ut.map(L=>L.item)}return le}const g=new Map,b=new Map;async function x(U){return g.get(U)||false}async function A(U,Y){g.set(U,Y);}async function T(U,Y){const le=b.get(U.parentPath);if(le)return console.log(`[getSubDirs] path "${U.parentPath}" is cached`),le.items;if(await x(U.parentPath))return console.warn(`[getSubDirs] path "${U.parentPath}" is loading`),[];await A(U.parentPath,true);try{const be=mo({cid:U.parentId,limit:1150,show_dir:La.true}),ke=await $c(be);if(!ke.count)return [];const _e=[];for(let Se=0;Se<ke.data.length;Se++){const Ne=vs(ke.data[Se]);Ne.isDir&&_e.push(Ne);}return b.set(U.parentPath,{count:_e.length,dirPath:U.parentPath,dirId:U.parentId,items:_e}),_e}catch(be){console.warn(be);}finally{await A(U.parentPath,false);}return []}async function D(U,Y){console.log("[handleSugClick]",U,Y);const le=na([U.prefix,U.name]);console.log("[handleSugClick] path:",le),await se(le);}const I=V(-1);async function B(U){console.log("[navigateSug]",U.key),U.preventDefault(),U.stopPropagation();let Y=I.value;if(U.key==="ArrowUp")Y--;else if(U.key==="ArrowDown")Y++;else if(U.key==="Enter"){const ke=r.value[I.value];ke&&await D(ke,U);return}else return;Y<0?Y=0:Y>=r.value.length&&(Y=r.value.length-1),I.value=Y,r.value.forEach((ke,_e)=>{ke.active=_e===Y;});const le=r.value[Y];if(!le)return;o.value?.querySelector(`[sid="${le.id}"]`)?.scrollIntoView();}async function q(){i.value="",s.value?.focus(),await p();}async function z(U){a.value=U,U&&s.value?.focus();}async function ue(U){if(y0(U))return "0";const Y=cu();return U=Na(U,Mo.unix),U=uu(Y,U,Mo.unix),await Ts(U,true)}async function me(){const U=r.value[I.value];if(!U)return;const Y=na([U.prefix,U.name],Mo.unix);console.log("[gotoByCurrentSug] path:",Y),await se(Y);}async function se(U){if(!n.value){U=U.trim(),ee({text:"正在获取路径信息...",timer:0,position:"top-right"}),Z.showLoading(),n.value=true;try{const Y=await ue(U);unsafeWindow.Main.GotoDir(1,Y,0,""),ee({icon:"success",text:"获取路径信息成功,现在打开...",timer:1e3,position:"top-right"}),s.value?.focus(),r.value=[],I.value=-1;}catch(Y){Z.fire({icon:"error",title:"跳转失败",text:Y.message});}finally{Z.hideLoading(),n.value=false;}}}async function F(){I.value>-1?(r.value.forEach(U=>U.active=false),I.value=-1,await z(false)):(document.querySelector("#ceGotoPathApp")?.style.setProperty("display","none"),document.querySelector(".ce-goto-path-active")?.classList.remove("ce-goto-path-active"),t.value=false);}return (U,Y)=>(C(),S("div",{ref_key:"refMain",ref:o,class:Le(["ce-goto-main",{"ce-goto-sug-shown":a.value}])},[d("div",j4,[G(d("input",{ref_key:"refInput",ref:s,"onUpdate:modelValue":Y[0]||(Y[0]=le=>i.value=le),class:"ce-goto-input",placeholder:"回车确认跳转 | Esc关闭 | 可搜索当前目录的子目录显示下拉列表,上下方向键选择",onKeydown:u},null,544),[[je,i.value]]),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"clear",onClick:q,title:"清空输入框",disabled:!l.value},"清空",8,z4),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"toggle",onClick:Y[1]||(Y[1]=le=>z(false)),title:"收起建议列表",disabled:!a.value},"收起",8,H4)]),d("div",V4,[(C(true),S(Ae,null,ze(r.value,(le,be)=>(C(),S("div",{key:be,class:Le(["ce-goto-sug-item",{active:le.active}]),onMousedown:_n(ke=>D(le,ke),["left","stop","prevent"]),sid:le.id},[d("span",W4,O(be+1),1),d("span",K4,O(le.prefix),1),Y[2]||(Y[2]=d("span",{class:"ce-goto-sep"},"/",-1)),d("span",G4,O(le.name),1)],42,q4))),128))])],2))}}),Y4=Pe(J4,[["__file","GotoPath.vue"]]);async function Q4(e){if(!yn())return;const t=await nt("#js_top_header_file_path_box");e.showGotoButtonOnPathBar&&Z4(e,t),e.showCopyButtonOnPathBar&&X4(e,t);}async function X4(e,t){const n="ceCopyPath";let o=t.querySelector(`#${n}`);const s=async()=>{const r=cu();gt(r),ee({icon:"success",text:"路径已复制",timer:1e3,position:"top-right"});};o||(o=await(async()=>{const r=qe(`<button type="button" class="pure-button button-mini ce-path-btn" id="${n}" title="复制路径">
<span>复制</span>
</button>`);return r.addEventListener("click",s),r})(),t.prepend(o));}async function Z4(e,t){const n=t.querySelector(".top-file-path"),o="ceGotoPath";let s=t.querySelector(`#${o}`);const i=io(Y4),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):i.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()=>qe(`<div id="${r}" style="width: 50%"/>`);s||(s=await u(),t.prepend(s));}async function eR(){const e=await hr(),{host:t}=location;/115\.com$/.test(t)&&(console.log("[List] running...",e),(yn()||ko())&&xS(),Q4(e),lS(e),setTimeout(async()=>{Y2().then(()=>{cS(e),dS(e),fS(e);}).catch(n=>{console.error("awaitDataAPI error:",n);});},2e3),Q2(e),eS(e),tS(e),nS(),oS(e),iS(e),pS(e),aS());}const tR='@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}';$t(tR);async function nR(e){const t=await nt(".top-file-path");oR(e,t),sR(e,t);}async function oR(e,t){if(!e.showSelectTargetButtonOnPathBar)return;console.log("[showSelectTargetButtonOnPathBar]");const n="ce-btn-select";let o=t.querySelector(`.${n}`);const s=async()=>{unsafeWindow.parent.Core.FileSelectDG.Open((r,a)=>{console.log("[Core.FileSelectDG.Open]",r,a);const l=r[r.length-1],c=qe(`
<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=qe(`
<a href="javascript:;" class="dir-tab ${n}" title="选择指定目录进行搜索">选择目录</a>
`);return r.addEventListener("click",s),r})(),t.append(o));}async function sR(e,t){if(!e.showSelectAllDir)return;const n="ce-btn-select-dir";let o=t.querySelector(`.${n}`);const s=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=qe(`
<button type="button" class="pure-button button-success button-small ${n}" title="仅会选中已加载的文件夹">选中全部文件夹</label>
`);return a.setAttribute("style","margin-left: 10px;"),a.addEventListener("click",s),a})(),t.append(o));}async function iR(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 nt("div.wrap-view");o&&(o.style.width=`${t}`);}async function rR(e){document.body.classList.add("ce-search-page"),parent.document.body.classList.add("ce-search-page");}async function aR(){const e=await fy();iR(e),ko()&&(console.log("[Search] running...",e),rR(),nR(e));}const lR="";$t(lR);async function uR(){console.log("[Tools] running...");}const cR="";$t(cR);async function dR(e){const t=async o=>{const s=qe(`<li pickcode="${o.pickCode}" style="padding:0px;"></li>`),i=qe(`
<a style="height:auto;text-decoration:none;padding:5px 0 5px 5px;">
<span style="word-break:break-all">${o.name}</span>
</a>
`);return i.href="/?hls=1&pickcode="+o.pickCode,i.setAttribute("title",o.name),s.appendChild(i),s};let n="";window.addEventListener("message",async o=>{if(o.data.event==="play"){const s=await nt("ul#js-video_list"),i=o.data.body.id;if(n&&n===i)if(s.childElementCount){console.log(`[playSelected] same id: ${i} 但是播放列表已经渲染过了,忽略`);return}else console.warn(`[playSelected] same id: ${i} 但是播放列表为空,将会进行渲染`);n=i;const r=o.data.body.files;console.log(`[playSelected] id: ${i}, files: `,r);const a=await Promise.all(r.map(t));s?.append(...a);const l=document.querySelector(".video-playlist .vpl-container");l&&(l.style.display="block"),s?.querySelector("a")?.click();const u=document.querySelector("#js-video_container");u&&u.classList.remove("video-container-nolist");}});}async function fR(e){if(!e.defaultWebFull)return;const t=await nt('[rel="web_fullscreen"]');t.querySelector('[rel="tooltips"]').innerText==="网页全屏"&&t.click();}async function pR(e){if(!e.defaultOpenPlayList)return;const t=await nt("a#js_pl_control_expand");t.querySelector('[rel="tooltips"]').innerText==="展开播放列表"&&t.click();}async function hR(e){if(!e.defaultDefinition)return;const t=Qh[e.defaultDefinition],n=unsafeWindow.__HLS,o=n.setCurrentLevel;(async()=>{const i=await nt('div[rel="level_menu"]'),r=await tc('a[btn="level"]',100,12e4,i);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=i=>{const r=n.hls();if(!r||!r.levels){o(i);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=i;for(let c=0;c<a.length;c++)if(a[c].name===e.defaultDefinition){l=c;break}l!==i&&console.warn(`[level changed] ${i} -> ${l}`),o(l);};}async function mR(){const{host:e}=location;if(!Sc(e))return;console.log("[anxia] run");const t=await Xh();fR(t),pR(t),dR(),hR(t);}const gR='@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}';$t(gR);async function wR(){const e=await gy();du()&&(console.log("[Share] running...",e),cw(e),s$(e),i$(e),fw(e),a$());}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 wl(),t=qu(e.limiterDuration,1,3e3,1),n=qu(e.limiterPoints,1,300,1),o=t*500/n,s=iy({rateLimit:{...sy,duration:t,points:n,execEvenly:true,execEvenlyMinDelayMs:o}}),i=yL(s);hb(i),f$(),kE(),x5(),IL(),eR(),aR(),uR(),mR(),wR(),Z3();})();
})();