(self["webpackChunksanyue_imghub"]=self["webpackChunksanyue_imghub"]||[]).push([[157],{415:function(e,t,a){"use strict";a(5331),a(3565)},2388:function(e,t,a){"use strict";function i(e){if(!e||""===e.trim())return{valid:!0};if("/"===e)return{valid:!0};if(!e.startsWith("/"))return{valid:!1,error:'目标目录必须以 "/" 开头'};const t=/[\\:\*\?"'<>\| \(\)\[\]\{\}#%\^`~;@&=\+\$,]/;return t.test(e)?{valid:!1,error:"目标目录包含非法字符,请使用合法的路径格式"}:e.includes("//")?{valid:!1,error:"目标目录不能包含连续的斜杠"}:{valid:!0}}a.d(t,{G:function(){return i}})},2907:function(e,t,a){"use strict";a(5331),a(6808),a(6711)},3189:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return qa}});var i=a(6768),n=a(5130),s=a(4232);const r={class:"mobile-drawer-header"},o={class:"mobile-drawer-content"},l=["onClick"];function c(e,t,a,c,d,h){const u=(0,i.g2)("font-awesome-icon");return(0,i.uX)(),(0,i.Wv)(i.Im,{to:"body"},[(0,i.bF)(n.eB,{name:"drawer-slide"},{default:(0,i.k6)(()=>[a.modelValue?((0,i.uX)(),(0,i.CE)("div",{key:0,class:"mobile-drawer-overlay",onClick:t[3]||(t[3]=(...e)=>h.close&&h.close(...e))},[(0,i.Lk)("div",{class:"mobile-drawer",onClick:t[2]||(t[2]=(0,n.D$)(()=>{},["stop"]))},[(0,i.Lk)("div",r,[t[4]||(t[4]=(0,i.Lk)("span",{class:"mobile-drawer-title"},"目录导航",-1)),(0,i.bF)(u,{icon:"times",class:"mobile-drawer-close",onClick:h.close},null,8,["onClick"])]),(0,i.Lk)("div",o,[(0,i.Lk)("div",{class:(0,s.C4)(["mobile-drawer-item",{active:!a.currentPath}]),onClick:t[0]||(t[0]=e=>h.navigate(""))},[(0,i.bF)(u,{icon:"home",class:"mobile-drawer-item-icon"}),t[5]||(t[5]=(0,i.Lk)("span",null,"根目录",-1))],2),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(h.pathParts,(e,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t,class:(0,s.C4)(["mobile-drawer-item",{active:t===h.pathParts.length-1}]),style:(0,s.Tr)({paddingLeft:16*(t+1)+16+"px"}),onClick:e=>h.navigate(h.pathParts.slice(0,t+1).join("/"))},[(0,i.bF)(u,{icon:"folder",class:"mobile-drawer-item-icon"}),(0,i.Lk)("span",null,(0,s.v_)(e),1)],14,l))),128)),a.currentPath?((0,i.uX)(),(0,i.CE)("div",{key:0,class:"mobile-drawer-back",onClick:t[1]||(t[1]=(...e)=>h.goBack&&h.goBack(...e))},[(0,i.bF)(u,{icon:"arrow-left",class:"mobile-drawer-item-icon"}),t[6]||(t[6]=(0,i.Lk)("span",null,"返回上一级",-1))])):(0,i.Q3)("",!0)])])])):(0,i.Q3)("",!0)]),_:1})])}a(8111),a(2489);var d={name:"MobileDirectoryDrawer",props:{modelValue:{type:Boolean,default:!1},currentPath:{type:String,default:""}},emits:["update:modelValue","navigate","goBack"],computed:{pathParts(){return this.currentPath.split("/").filter(Boolean)}},methods:{close(){this.$emit("update:modelValue",!1)},navigate(e){this.$emit("navigate",e),this.close()},goBack(){this.$emit("goBack"),this.close()}}},h=a(1241);const u=(0,h.A)(d,[["render",c],["__scopeId","data-v-2d8e83ec"]]);var f=u;const m={class:"bottom-sheet-header"},p={class:"bottom-sheet-title"},g={class:"bottom-sheet-content"};function b(e,t,a,r,o,l){const c=(0,i.g2)("font-awesome-icon");return(0,i.uX)(),(0,i.Wv)(i.Im,{to:"body"},[(0,i.bF)(n.eB,{name:"bottom-sheet"},{default:(0,i.k6)(()=>[a.modelValue?((0,i.uX)(),(0,i.CE)("div",{key:0,class:"bottom-sheet-overlay",onClick:t[9]||(t[9]=(...e)=>l.close&&l.close(...e))},[(0,i.Lk)("div",{class:"bottom-sheet",onClick:t[8]||(t[8]=(0,n.D$)(()=>{},["stop"]))},[(0,i.Lk)("div",m,[t[10]||(t[10]=(0,i.Lk)("div",{class:"bottom-sheet-handle"},null,-1)),(0,i.Lk)("span",p,(0,s.v_)(a.title),1)]),(0,i.Lk)("div",g,[a.isFolder?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.Lk)("div",{class:"bottom-sheet-item",onClick:t[5]||(t[5]=e=>l.handleAction("folderCopy"))},[(0,i.bF)(c,{icon:"copy",class:"bottom-sheet-icon"}),t[16]||(t[16]=(0,i.Lk)("span",null,"复制链接",-1))]),(0,i.Lk)("div",{class:"bottom-sheet-item",onClick:t[6]||(t[6]=e=>l.handleAction("move"))},[(0,i.bF)(c,{icon:"file-export",class:"bottom-sheet-icon"}),t[17]||(t[17]=(0,i.Lk)("span",null,"移动文件夹",-1))])],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",{class:"bottom-sheet-item",onClick:t[0]||(t[0]=e=>l.handleAction("detail"))},[(0,i.bF)(c,{icon:"info-circle",class:"bottom-sheet-icon"}),t[11]||(t[11]=(0,i.Lk)("span",null,"查看详情",-1))]),(0,i.Lk)("div",{class:"bottom-sheet-item",onClick:t[1]||(t[1]=e=>l.handleAction("copy"))},[(0,i.bF)(c,{icon:"copy",class:"bottom-sheet-icon"}),t[12]||(t[12]=(0,i.Lk)("span",null,"复制链接",-1))]),(0,i.Lk)("div",{class:"bottom-sheet-item",onClick:t[2]||(t[2]=e=>l.handleAction("download"))},[(0,i.bF)(c,{icon:"download",class:"bottom-sheet-icon"}),t[13]||(t[13]=(0,i.Lk)("span",null,"下载文件",-1))]),(0,i.Lk)("div",{class:"bottom-sheet-item",onClick:t[3]||(t[3]=e=>l.handleAction("move"))},[(0,i.bF)(c,{icon:"file-export",class:"bottom-sheet-icon"}),t[14]||(t[14]=(0,i.Lk)("span",null,"移动文件",-1))]),(0,i.Lk)("div",{class:"bottom-sheet-item",onClick:t[4]||(t[4]=e=>l.handleAction("tag"))},[(0,i.bF)(c,{icon:"tags",class:"bottom-sheet-icon"}),t[15]||(t[15]=(0,i.Lk)("span",null,"标签管理",-1))])],64)),(0,i.Lk)("div",{class:"bottom-sheet-item bottom-sheet-danger",onClick:t[7]||(t[7]=e=>l.handleAction("delete"))},[(0,i.bF)(c,{icon:"trash-alt",class:"bottom-sheet-icon"}),(0,i.Lk)("span",null,(0,s.v_)(a.isFolder?"删除文件夹":"删除文件"),1)])])])])):(0,i.Q3)("",!0)]),_:1})])}var v={name:"MobileActionSheet",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},isFolder:{type:Boolean,default:!1}},emits:["update:modelValue","action"],methods:{close(){this.$emit("update:modelValue",!1)},handleAction(e){this.$emit("action",e),this.close()}}};const k=(0,h.A)(v,[["render",b],["__scopeId","data-v-7579ad69"]]);var y=k,_=a(9267),w=(a(5331),a(5616),a(4275)),F=a(9559),C=a(2687),T=(a(8785),a(9623)),x=(a(6711),a(47));a(9648);const S={class:"batch-tag-container"},L={class:"tab-content"},E={class:"tab-description"},A={class:"input-section"},I={key:0,class:"suggestions-panel"},D=["onClick"],U={class:"tags-to-add-section"},z={key:0,class:"tags-container"},B={key:1,class:"empty-message"},W={class:"action-buttons"},O={class:"tab-content"},$={key:0,class:"common-tags-section"},P={class:"tags-container"},R={key:1,class:"empty-message"},N={class:"tab-content"},j={class:"tab-description"},V={class:"action-buttons"};function M(e,t,a,r,o,l){const c=(0,i.g2)("font-awesome-icon"),d=x.S2,h=T.WK,u=C.u,f=w.v$,m=F.KR,p=w.q,g=_.kZ;return(0,i.uX)(),(0,i.Wv)(g,{title:"批量标签管理",modelValue:l.visible,"onUpdate:modelValue":t[2]||(t[2]=e=>l.visible=e),width:l.dialogWidth,onClose:l.handleClose},{default:(0,i.k6)(()=>[(0,i.Lk)("div",S,[(0,i.bF)(p,{modelValue:o.activeTab,"onUpdate:modelValue":t[1]||(t[1]=e=>o.activeTab=e),type:"border-card"},{default:(0,i.k6)(()=>[(0,i.bF)(f,{label:"添加",name:"add"},{default:(0,i.k6)(()=>[(0,i.Lk)("div",L,[(0,i.Lk)("p",E,"为选中的 "+(0,s.v_)(l.fileCount)+" 个文件添加标签",1),(0,i.Lk)("div",A,[(0,i.bF)(h,{modelValue:o.inputTag,"onUpdate:modelValue":t[0]||(t[0]=e=>o.inputTag=e),placeholder:"输入标签名称",onKeyup:(0,n.jR)(l.handleAddInputTag,["enter"]),onInput:l.handleInputChange,clearable:""},{append:(0,i.k6)(()=>[(0,i.bF)(d,{onClick:l.handleAddInputTag,type:"primary"},{default:(0,i.k6)(()=>[(0,i.bF)(c,{icon:"plus"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup","onInput"]),o.showSuggestions&&o.suggestions.length>0?((0,i.uX)(),(0,i.CE)("div",I,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.suggestions,e=>((0,i.uX)(),(0,i.CE)("div",{key:e,class:"suggestion-item",onClick:t=>l.selectSuggestion(e)},(0,s.v_)(e),9,D))),128))])):(0,i.Q3)("",!0)]),(0,i.Lk)("div",U,[t[3]||(t[3]=(0,i.Lk)("h4",null,"待添加的标签",-1)),o.tagsToAdd.length>0?((0,i.uX)(),(0,i.CE)("div",z,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.tagsToAdd,e=>((0,i.uX)(),(0,i.Wv)(u,{key:e,closable:"",onClose:t=>l.removeFromToAdd(e),class:"tag-item"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e),1)]),_:2},1032,["onClose"]))),128))])):((0,i.uX)(),(0,i.CE)("div",B," 暂无待添加标签 "))]),(0,i.Lk)("div",W,[(0,i.bF)(d,{type:"primary",onClick:l.executeAddTags,loading:o.loading,disabled:0===o.tagsToAdd.length},{default:(0,i.k6)(()=>[...t[4]||(t[4]=[(0,i.eW)(" 添加到所有文件 ",-1)])]),_:1},8,["onClick","loading","disabled"])])])]),_:1}),(0,i.bF)(f,{label:"移除",name:"remove"},{default:(0,i.k6)(()=>[(0,i.Lk)("div",O,[t[6]||(t[6]=(0,i.Lk)("p",{class:"tab-description"},"移除选中文件的共有标签",-1)),o.commonTags.length>0?((0,i.uX)(),(0,i.CE)("div",$,[t[5]||(t[5]=(0,i.Lk)("h4",null,"共有标签",-1)),(0,i.Lk)("div",P,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.commonTags,e=>((0,i.uX)(),(0,i.Wv)(u,{key:e,closable:"",onClose:t=>l.handleRemoveCommonTag(e),class:"tag-item",type:"warning"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e),1)]),_:2},1032,["onClose"]))),128))])])):((0,i.uX)(),(0,i.CE)("div",R," 选中的文件没有共有标签 "))])]),_:1}),(0,i.bF)(f,{label:"清空",name:"clear"},{default:(0,i.k6)(()=>[(0,i.Lk)("div",N,[(0,i.Lk)("p",j,"清空选中的 "+(0,s.v_)(l.fileCount)+" 个文件的所有标签",1),(0,i.bF)(m,{title:"⚠️警告",type:"warning",description:"此操作将清空所有选中文件的标签,且不可恢复",closable:!1,style:{"margin-bottom":"20px"},center:""}),(0,i.Lk)("div",V,[(0,i.bF)(d,{type:"danger",onClick:l.handleClearAllTags,loading:o.loading},{default:(0,i.k6)(()=>[...t[7]||(t[7]=[(0,i.eW)(" 确认清空所有标签 ",-1)])]),_:1},8,["onClick","loading"])])])]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["modelValue","width","onClose"])}a(4114),a(1701),a(3110);var X=a(1219),Z=a(2933),K=a(797),G={name:"BatchTagDialog",props:{modelValue:{type:Boolean,default:!1},selectedFiles:{type:Array,required:!0,default:()=>[]}},emits:["update:modelValue","tagsUpdated"],data(){return{activeTab:"add",inputTag:"",tagsToAdd:[],commonTags:[],suggestions:[],showSuggestions:!1,loading:!1,debounceTimer:null}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},dialogWidth(){return window.innerWidth<768?"90%":"600px"},selectedFilesOnly(){return this.selectedFiles.filter(e=>!e.isFolder)},fileCount(){return this.selectedFilesOnly.length},fileIds(){return this.selectedFilesOnly.map(e=>e.name)}},watch:{visible(e){e?this.loadCommonTags():this.resetData()},activeTab(e){"remove"===e&&this.loadCommonTags()}},methods:{resetData(){this.tagsToAdd=[],this.inputTag="",this.showSuggestions=!1,this.activeTab="add"},async loadCommonTags(){if(0!==this.selectedFilesOnly.length)try{const e=this.selectedFilesOnly.map(e=>(0,K.A)(`/api/manage/tags/${encodeURIComponent(e.name)}`,{method:"GET"})),t=await Promise.all(e),a=[];for(const i of t)if(i.ok){const e=await i.json();a.push(e.tags||[])}a.length>0?this.commonTags=a[0].filter(e=>a.every(t=>t.includes(e))):this.commonTags=[]}catch(e){console.error("Error loading common tags:",e),X.nk.error("加载共有标签失败")}else this.commonTags=[]},handleInputChange(){clearTimeout(this.debounceTimer),this.inputTag&&0!==this.inputTag.trim().length?this.debounceTimer=setTimeout(()=>{this.fetchSuggestions()},300):this.showSuggestions=!1},async fetchSuggestions(){try{const e=this.inputTag.trim().toLowerCase(),t=await(0,K.A)(`/api/manage/tags/autocomplete?prefix=${encodeURIComponent(e)}&limit=10`,{method:"GET"});if(t.ok){const e=await t.json();this.suggestions=(e.tags||[]).filter(e=>!this.tagsToAdd.includes(e)),this.showSuggestions=this.suggestions.length>0}}catch(e){console.error("Error fetching suggestions:",e)}},selectSuggestion(e){this.inputTag=e,this.showSuggestions=!1,this.handleAddInputTag()},handleAddInputTag(){const e=this.inputTag.trim();if(e){if(this.tagsToAdd.includes(e))return X.nk.warning("标签已在列表中"),this.inputTag="",void(this.showSuggestions=!1);this.tagsToAdd.push(e),this.inputTag="",this.showSuggestions=!1}},removeFromToAdd(e){const t=this.tagsToAdd.indexOf(e);t>-1&&this.tagsToAdd.splice(t,1)},async executeAddTags(){if(0!==this.tagsToAdd.length){this.loading=!0;try{const e=await(0,K.A)("/api/manage/tags/batch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileIds:this.fileIds,action:"add",tags:this.tagsToAdd})});if(!e.ok)throw new Error("批量添加标签失败");{const t=await e.json();if(!(t.success||t.updated>0))throw new Error("批量添加标签失败");X.nk.success(`成功为 ${t.updated} 个文件添加标签`),this.$emit("tagsUpdated"),this.tagsToAdd=[]}}catch(e){console.error("Error adding tags:",e),X.nk.error("批量添加标签失败")}finally{this.loading=!1}}else X.nk.warning("请先添加要批量添加的标签")},async handleRemoveCommonTag(e){this.loading=!0;try{const t=await(0,K.A)("/api/manage/tags/batch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileIds:this.fileIds,action:"remove",tags:[e]})});if(!t.ok)throw new Error("移除标签失败");{const e=await t.json();if(!(e.success||e.updated>0))throw new Error("移除标签失败");X.nk.success(`成功从 ${e.updated} 个文件中移除标签`),this.$emit("tagsUpdated"),await this.loadCommonTags()}}catch(t){console.error("Error removing tag:",t),X.nk.error("移除标签失败")}finally{this.loading=!1}},handleClearAllTags(){Z.s.confirm(`确定要清空选中的 ${this.fileCount} 个文件的所有标签吗?此操作不可恢复。`,"确认清空",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.executeClearTags()}).catch(()=>{X.nk.info("已取消清空操作")})},async executeClearTags(){this.loading=!0;try{const e=await(0,K.A)("/api/manage/tags/batch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileIds:this.fileIds,action:"set",tags:[]})});if(!e.ok)throw new Error("清空标签失败");{const t=await e.json();if(!(t.success||t.updated>0))throw new Error("清空标签失败");X.nk.success(`成功清空 ${t.updated} 个文件的标签`),this.$emit("tagsUpdated"),this.commonTags=[]}}catch(e){console.error("Error clearing tags:",e),X.nk.error("清空标签失败")}finally{this.loading=!1}},handleClose(){this.visible=!1}}};const H=(0,h.A)(G,[["render",M],["__scopeId","data-v-dacf7742"]]);var q=H,Q=a(813);a(4896);const Y={class:"tag-management-container"},J={class:"input-section"},ee={key:0,class:"suggestions-panel"},te=["onClick"],ae={class:"current-tags-section"},ie={key:0,class:"tags-container"},ne={key:1,class:"empty-message"},se={class:"popular-tags-section"},re={key:0,class:"tags-container"},oe={key:1,class:"empty-message"},le={key:2,class:"empty-message"},ce={class:"dialog-footer"};function de(e,t,a,r,o,l){const c=(0,i.g2)("font-awesome-icon"),d=x.S2,h=T.WK,u=C.u,f=(0,i.g2)("Loading"),m=Q.tk,p=_.kZ;return(0,i.uX)(),(0,i.Wv)(p,{title:"标签管理",modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),width:l.dialogWidth,onClose:l.handleClose},{footer:(0,i.k6)(()=>[(0,i.Lk)("span",ce,[(0,i.bF)(d,{onClick:l.handleClose},{default:(0,i.k6)(()=>[...t[5]||(t[5]=[(0,i.eW)("关闭",-1)])]),_:1},8,["onClick"])])]),default:(0,i.k6)(()=>[(0,i.Lk)("div",Y,[(0,i.Lk)("div",J,[(0,i.bF)(h,{modelValue:o.inputTag,"onUpdate:modelValue":t[0]||(t[0]=e=>o.inputTag=e),placeholder:"输入标签名称",onKeyup:(0,n.jR)(l.handleAddTag,["enter"]),onInput:l.handleInputChange,clearable:""},{append:(0,i.k6)(()=>[(0,i.bF)(d,{onClick:l.handleAddTag,type:"primary"},{default:(0,i.k6)(()=>[(0,i.bF)(c,{icon:"plus"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup","onInput"]),o.showSuggestions&&o.suggestions.length>0?((0,i.uX)(),(0,i.CE)("div",ee,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.suggestions,e=>((0,i.uX)(),(0,i.CE)("div",{key:e,class:"suggestion-item",onClick:t=>l.selectSuggestion(e)},(0,s.v_)(e),9,te))),128))])):(0,i.Q3)("",!0)]),(0,i.Lk)("div",ae,[t[2]||(t[2]=(0,i.Lk)("h4",null,"当前标签",-1)),o.currentTags.length>0?((0,i.uX)(),(0,i.CE)("div",ie,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.currentTags,e=>((0,i.uX)(),(0,i.Wv)(u,{key:e,closable:"",onClose:t=>l.handleRemoveTag(e),class:"tag-item"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e),1)]),_:2},1032,["onClose"]))),128))])):((0,i.uX)(),(0,i.CE)("div",ne," 暂无标签 "))]),(0,i.Lk)("div",se,[t[4]||(t[4]=(0,i.Lk)("h4",null,"常用标签",-1)),o.popularTags.length>0?((0,i.uX)(),(0,i.CE)("div",re,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.popularTags,e=>((0,i.uX)(),(0,i.Wv)(u,{key:e,onClick:t=>l.handleAddPopularTag(e),class:"tag-item clickable",type:"info"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e),1)]),_:2},1032,["onClick"]))),128))])):o.loadingPopularTags?((0,i.uX)(),(0,i.CE)("div",oe,[(0,i.bF)(m,{class:"is-loading"},{default:(0,i.k6)(()=>[(0,i.bF)(f)]),_:1}),t[3]||(t[3]=(0,i.eW)(" 加载中... ",-1))])):((0,i.uX)(),(0,i.CE)("div",le," 暂无常用标签 "))])])]),_:1},8,["modelValue","width","onClose"])}var he=a(7477),ue={name:"TagManagementDialog",components:{Loading:he.Loading},props:{modelValue:{type:Boolean,default:!1},fileId:{type:String,required:!0}},emits:["update:modelValue","tagsUpdated"],data(){return{currentTags:[],inputTag:"",suggestions:[],popularTags:[],showSuggestions:!1,loading:!1,loadingPopularTags:!1,debounceTimer:null}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},dialogWidth(){return window.innerWidth<768?"90%":"500px"}},watch:{visible(e){e&&(this.loadFileTags(),this.loadPopularTags())}},methods:{async loadFileTags(){try{const e=await(0,K.A)(`/api/manage/tags/${encodeURIComponent(this.fileId)}`,{method:"GET"});if(!e.ok)throw new Error("Failed to load tags");{const t=await e.json();this.currentTags=t.tags||[]}}catch(e){console.error("Error loading file tags:",e),X.nk.error("加载标签失败")}},async loadPopularTags(){this.loadingPopularTags=!0;try{const e=await(0,K.A)("/api/manage/tags/autocomplete?limit=20",{method:"GET"});if(e.ok){const t=await e.json();this.popularTags=(t.tags||[]).filter(e=>!this.currentTags.includes(e))}}catch(e){console.error("Error loading popular tags:",e)}finally{this.loadingPopularTags=!1}},handleInputChange(){clearTimeout(this.debounceTimer),this.inputTag&&0!==this.inputTag.trim().length?this.debounceTimer=setTimeout(()=>{this.fetchSuggestions()},300):this.showSuggestions=!1},async fetchSuggestions(){try{const e=this.inputTag.trim().toLowerCase(),t=await(0,K.A)(`/api/manage/tags/autocomplete?prefix=${encodeURIComponent(e)}&limit=10`,{method:"GET"});if(t.ok){const e=await t.json();this.suggestions=(e.tags||[]).filter(e=>!this.currentTags.includes(e)),this.showSuggestions=this.suggestions.length>0}}catch(e){console.error("Error fetching suggestions:",e)}},selectSuggestion(e){this.inputTag=e,this.showSuggestions=!1,this.handleAddTag()},async handleAddTag(){const e=this.inputTag.trim();if(e){if(this.currentTags.includes(e))return X.nk.warning("标签已存在"),this.inputTag="",void(this.showSuggestions=!1);try{const t=await(0,K.A)(`/api/manage/tags/${encodeURIComponent(this.fileId)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"add",tags:[e]})});if(!t.ok){const e=await t.json();throw new Error(e.message||"添加标签失败")}{const e=await t.json();this.currentTags=e.tags||[],this.inputTag="",this.showSuggestions=!1,X.nk.success("标签添加成功"),this.$emit("tagsUpdated",this.currentTags),this.loadPopularTags()}}catch(t){console.error("Error adding tag:",t),X.nk.error(t.message||"添加标签失败")}}},async handleRemoveTag(e){try{const t=await(0,K.A)(`/api/manage/tags/${encodeURIComponent(this.fileId)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"remove",tags:[e]})});if(!t.ok)throw new Error("删除标签失败");{const e=await t.json();this.currentTags=e.tags||[],X.nk.success("标签删除成功"),this.$emit("tagsUpdated",this.currentTags),this.loadPopularTags()}}catch(t){console.error("Error removing tag:",t),X.nk.error("删除标签失败")}},handleAddPopularTag(e){this.inputTag=e,this.handleAddTag()},handleClose(){this.visible=!1,this.inputTag="",this.showSuggestions=!1,this.currentTags=[],this.popularTags=[]}}};const fe=(0,h.A)(ue,[["render",de],["__scopeId","data-v-8b4291b4"]]);var me=fe,pe=a(5558),ge=(a(8075),a(6810)),be=(a(4396),a(4885),a(9869)),ve=(a(415),a(3565),a(7009));a(8450);const ke={class:"detail-actions"},ye={class:"preview-section"},_e={class:"preview-content"},we=["src"],Fe=["src"],Ce={key:0,style:{display:"flex","flex-wrap":"wrap",gap:"5px"}},Te={key:1,style:{color:"#909399"}};function xe(e,t,a,n,r,o){const l=(0,i.g2)("font-awesome-icon"),c=x.S2,d=T.WK,h=w.v$,u=w.q,f=ve.Zq,m=be.MF,p=C.u,g=be.TS,b=_.kZ;return(0,i.uX)(),(0,i.Wv)(b,{title:"文件详情",modelValue:o.visible,"onUpdate:modelValue":t[14]||(t[14]=e=>o.visible=e),width:o.dialogWidth},{default:(0,i.k6)(()=>[(0,i.Lk)("div",ke,[(0,i.bF)(c,{type:"primary",onClick:t[0]||(t[0]=t=>e.$emit("download")),round:"",size:"small",class:"detail-action"},{default:(0,i.k6)(()=>[(0,i.bF)(l,{icon:"download",style:{"margin-right":"3px"}}),t[15]||(t[15]=(0,i.eW)(" 下载 ",-1))]),_:1}),(0,i.bF)(c,{type:"primary",onClick:t[1]||(t[1]=t=>e.$emit("tagManagement")),round:"",size:"small",class:"detail-action"},{default:(0,i.k6)(()=>[(0,i.bF)(l,{icon:"tags",style:{"margin-right":"3px"}}),t[16]||(t[16]=(0,i.eW)(" 标签 ",-1))]),_:1}),(0,i.bF)(c,{type:"primary",onClick:t[2]||(t[2]=t=>e.$emit("block")),round:"",size:"small",class:"detail-action"},{default:(0,i.k6)(()=>[(0,i.bF)(l,{icon:"ban",style:{"margin-right":"3px"}}),t[17]||(t[17]=(0,i.eW)(" 黑名单 ",-1))]),_:1}),(0,i.bF)(c,{type:"primary",onClick:t[3]||(t[3]=t=>e.$emit("white")),round:"",size:"small",class:"detail-action"},{default:(0,i.k6)(()=>[(0,i.bF)(l,{icon:"user-plus",style:{"margin-right":"3px"}}),t[18]||(t[18]=(0,i.eW)(" 白名单 ",-1))]),_:1}),(0,i.bF)(c,{type:"danger",onClick:t[4]||(t[4]=t=>e.$emit("delete")),round:"",size:"small",class:"detail-action"},{default:(0,i.k6)(()=>[(0,i.bF)(l,{icon:"trash-alt",style:{"margin-right":"3px"}}),t[19]||(t[19]=(0,i.eW)(" 删除 ",-1))]),_:1})]),(0,i.bF)(u,{modelValue:r.activeTab,"onUpdate:modelValue":t[12]||(t[12]=e=>r.activeTab=e),onTabClick:o.handleTabClick,style:{"margin-bottom":"10px"}},{default:(0,i.k6)(()=>[(0,i.bF)(h,{label:"原始链接",name:"originUrl"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{modelValue:a.urls.originUrl,"onUpdate:modelValue":t[5]||(t[5]=e=>a.urls.originUrl=e),readonly:"",onClick:o.handleUrlClick},null,8,["modelValue","onClick"])]),_:1}),(0,i.bF)(h,{label:"Markdown",name:"mdUrl"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{modelValue:a.urls.mdUrl,"onUpdate:modelValue":t[6]||(t[6]=e=>a.urls.mdUrl=e),readonly:"",onClick:o.handleUrlClick},null,8,["modelValue","onClick"])]),_:1}),(0,i.bF)(h,{label:"HTML",name:"htmlUrl"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{modelValue:a.urls.htmlUrl,"onUpdate:modelValue":t[7]||(t[7]=e=>a.urls.htmlUrl=e),readonly:"",onClick:o.handleUrlClick},null,8,["modelValue","onClick"])]),_:1}),(0,i.bF)(h,{label:"BBCode",name:"bbUrl"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{modelValue:a.urls.bbUrl,"onUpdate:modelValue":t[8]||(t[8]=e=>a.urls.bbUrl=e),readonly:"",onClick:o.handleUrlClick},null,8,["modelValue","onClick"])]),_:1}),a.file?.metadata?.TgFileId?((0,i.uX)(),(0,i.Wv)(h,{key:0,label:"TG File ID",name:"tgId"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{modelValue:a.urls.tgId,"onUpdate:modelValue":t[9]||(t[9]=e=>a.urls.tgId=e),readonly:"",onClick:o.handleUrlClick},null,8,["modelValue","onClick"])]),_:1})):(0,i.Q3)("",!0),a.file?.metadata?.S3Location?((0,i.uX)(),(0,i.Wv)(h,{key:1,label:"S3 Location",name:"s3Location"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{modelValue:a.urls.S3Location,"onUpdate:modelValue":t[10]||(t[10]=e=>a.urls.S3Location=e),readonly:"",onClick:o.handleUrlClick},null,8,["modelValue","onClick"])]),_:1})):(0,i.Q3)("",!0),a.file?.metadata?.S3CdnFileUrl?((0,i.uX)(),(0,i.Wv)(h,{key:2,label:"S3 CDN URL",name:"s3CdnFileUrl"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{modelValue:a.urls.S3CdnFileUrl,"onUpdate:modelValue":t[11]||(t[11]=e=>a.urls.S3CdnFileUrl=e),readonly:"",onClick:o.handleUrlClick},null,8,["modelValue","onClick"])]),_:1})):(0,i.Q3)("",!0)]),_:1},8,["modelValue","onTabClick"]),(0,i.Lk)("div",ye,[(0,i.Lk)("div",_e,[o.isVideo?((0,i.uX)(),(0,i.CE)("video",{key:0,src:a.fileLink,autoplay:"",muted:"",loop:"",class:"video-preview",onClick:t[13]||(t[13]=(...e)=>o.openImageLink&&o.openImageLink(...e))},null,8,we)):o.isAudio?((0,i.uX)(),(0,i.CE)("audio",{key:1,src:a.fileLink,controls:"",autoplay:"",class:"audio-preview"},null,8,Fe)):o.isImage?((0,i.uX)(),(0,i.Wv)(f,{key:2,src:a.fileLink,"preview-src-list":[a.fileLink],"preview-teleported":!0,fit:"contain",lazy:"",class:"image-preview"},null,8,["src","preview-src-list"])):((0,i.uX)(),(0,i.Wv)(l,{key:3,icon:"file",class:"file-icon-detail"}))])]),(0,i.bF)(g,{border:"",column:o.descColumn},{default:(0,i.k6)(()=>[(0,i.bF)(m,{label:"文件名"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(a.file?.metadata?.FileName||a.file?.name),1)]),_:1}),(0,i.bF)(m,{label:"文件类型"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(a.file?.metadata?.FileType||"未知"),1)]),_:1}),(0,i.bF)(m,{label:"文件大小"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(o.fileSizeDisplay),1)]),_:1}),o.imageDimensions?((0,i.uX)(),(0,i.Wv)(m,{key:0,label:"图片尺寸"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(o.imageDimensions),1)]),_:1})):(0,i.Q3)("",!0),(0,i.bF)(m,{label:"上传时间"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(o.uploadTime),1)]),_:1}),(0,i.bF)(m,{label:"渠道类型/名称"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(a.file?.metadata?.Channel||"未知")+" / "+(0,s.v_)(a.file?.metadata?.ChannelName||"-"),1)]),_:1}),(0,i.bF)(m,{label:"访问状态/审查"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(o.accessType)+" / "+(0,s.v_)(a.file?.metadata?.Label||"无"),1)]),_:1}),(0,i.bF)(m,{label:"上传IP"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(a.file?.metadata?.UploadIP||"未知"),1)]),_:1}),(0,i.bF)(m,{label:"上传地址"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(a.file?.metadata?.UploadAddress||"未知"),1)]),_:1}),(0,i.bF)(m,{label:"文件标签"},{default:(0,i.k6)(()=>[a.file?.metadata?.Tags&&a.file?.metadata?.Tags.length>0?((0,i.uX)(),(0,i.CE)("div",Ce,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.file?.metadata?.Tags,e=>((0,i.uX)(),(0,i.Wv)(p,{key:e,size:"small"},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e),1)]),_:2},1024))),128))])):((0,i.uX)(),(0,i.CE)("span",Te,"暂无标签"))]),_:1})]),_:1},8,["column"])]),_:1},8,["modelValue","width"])}var Se={name:"FileDetailDialog",props:{modelValue:{type:Boolean,default:!1},file:{type:Object,default:null},fileLink:{type:String,default:""},urls:{type:Object,default:()=>({originUrl:"",mdUrl:"",htmlUrl:"",bbUrl:"",tgId:"",S3Location:"",S3CdnFileUrl:""})}},emits:["update:modelValue","download","tagManagement","block","white","delete"],data(){return{activeTab:"originUrl"}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},dialogWidth(){return window.innerWidth<768?"95%":"900px"},descColumn(){return window.innerWidth<768?1:2},isVideo(){const e=this.file?.metadata?.FileType?.toLowerCase()||"";if(e.includes("video"))return!0;const t=this.file?.name?.toLowerCase()||"";return t.endsWith(".mp4")||t.endsWith(".webm")||t.endsWith(".mov")||t.endsWith(".avi")},isAudio(){const e=this.file?.metadata?.FileType?.toLowerCase()||"";if(e.includes("audio"))return!0;const t=this.file?.name?.toLowerCase()||"";return t.endsWith(".mp3")||t.endsWith(".wav")||t.endsWith(".ogg")||t.endsWith(".flac")},isImage(){const e=this.file?.metadata?.FileType?.toLowerCase()||"";if(e.includes("image"))return!0;const t=this.file?.name?.toLowerCase()||"";return t.endsWith(".jpg")||t.endsWith(".jpeg")||t.endsWith(".png")||t.endsWith(".gif")||t.endsWith(".webp")||t.endsWith(".svg")||t.endsWith(".bmp")||t.endsWith(".avif")||t.endsWith(".heic")||t.endsWith(".heif")},uploadTime(){return this.file?.metadata?.TimeStamp?new Date(this.file.metadata.TimeStamp).toLocaleString():"未知"},accessType(){const e=this.file?.metadata?.ListType,t=this.file?.metadata?.Label;return"White"===e?"正常(白名单)":"Block"===e?"已屏蔽(黑名单)":"adult"===t?"已屏蔽(审查不通过)":"正常"},imageDimensions(){const e=this.file?.metadata?.Width,t=this.file?.metadata?.Height;if(e&&t){const a=e/t;let i="";return i=a>1.1?"横图":a<.9?"竖图":"方图",`${e} × ${t} (${i})`}return null},fileSizeDisplay(){const e=this.file?.metadata?.FileSizeBytes,t=this.file?.metadata?.FileSize;return e?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(2)} KB`:`${(e/1024/1024).toFixed(2)} MB`:t?`${t} MB`:"未知"}},methods:{handleVideoClick(e){const t=e.target;t.paused?t.play():t.pause()},handleTabClick(){},handleUrlClick(e){const t=e.target;t.select(),navigator.clipboard.writeText(t.value).then(()=>{X.nk.success("链接已复制")})},openImageLink(){if(this.fileLink){const e=this.fileLink.replace(/\?from=admin$/,"");window.open(e,"_blank")}}}};const Le=(0,h.A)(Se,[["render",xe],["__scopeId","data-v-7018c729"]]);var Ee=Le,Ae=a(4880),Ie=(a(4318),a(7815)),De=(a(2907),a(8507));a(213);const Ue={class:"list-col list-col-checkbox"},ze=["src"],Be=["src"],We=["title"],Oe={class:"filename-start"},$e={class:"filename-end"},Pe={class:"list-col list-col-tags"},Re={key:1,class:"list-empty"},Ne={class:"list-col list-col-channel"},je={class:"list-col list-col-channel-name"},Ve={key:0,class:"channel-name-box"},Me={key:1,class:"list-empty"},Xe={class:"list-col list-col-address"},Ze={key:0,class:"address-box"},Ke={key:1,class:"list-empty"},Ge={class:"list-col list-col-size"},He={class:"list-col list-col-date"},qe={class:"list-col list-col-actions"};function Qe(e,t,a,r,o,l){const c=(0,i.g2)("font-awesome-icon"),d=De.R7;return(0,i.uX)(),(0,i.CE)("div",{class:"list-item",onTouchstart:t[9]||(t[9]=t=>e.$emit("touchstart",t)),onTouchend:t[10]||(t[10]=t=>e.$emit("touchend",t)),onTouchmove:t[11]||(t[11]=t=>e.$emit("touchmove",t))},[(0,i.Lk)("div",Ue,[(0,i.Lk)("span",{class:(0,s.C4)(["custom-checkbox",{checked:o.localSelected}]),onClick:t[0]||(t[0]=(0,n.D$)((...e)=>l.toggleSelect&&l.toggleSelect(...e),["stop"]))},[o.localSelected?((0,i.uX)(),(0,i.Wv)(c,{key:0,icon:"check",class:"check-icon"})):(0,i.Q3)("",!0)],2)]),(0,i.Lk)("div",{class:"list-col list-col-preview",onClick:t[1]||(t[1]=(...e)=>l.handlePreviewClick&&l.handlePreviewClick(...e))},[l.isFolder?((0,i.uX)(),(0,i.Wv)(c,{key:0,icon:"folder-open",class:"list-folder-icon"})):l.isVideo?((0,i.uX)(),(0,i.CE)("video",{key:1,src:a.fileLink,class:"list-preview-img",muted:"",preload:"metadata"},null,8,ze)):l.isImage?((0,i.uX)(),(0,i.CE)("img",{key:2,src:a.fileLink,class:"list-preview-img",loading:"lazy",decoding:"async"},null,8,Be)):((0,i.uX)(),(0,i.Wv)(c,{key:3,icon:"file",class:"list-file-icon"}))]),(0,i.Lk)("div",{class:"list-col list-col-name",onClick:t[2]||(t[2]=(...e)=>l.handlePreviewClick&&l.handlePreviewClick(...e))},[(0,i.Lk)("span",{class:"filename-ellipsis",title:l.displayName},[(0,i.Lk)("span",Oe,(0,s.v_)(l.fileNameStart),1),(0,i.Lk)("span",$e,(0,s.v_)(l.fileNameEnd),1)],8,We)]),(0,i.Lk)("div",Pe,[!l.isFolder&&a.item.metadata?.Tags&&a.item.metadata.Tags.length>0?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(a.item.metadata.Tags.slice(0,3),(e,t)=>((0,i.uX)(),(0,i.CE)("span",{key:t,class:"color-tag",style:(0,s.Tr)({background:l.getTagColor(t)})},(0,s.v_)(e),5))),128)),a.item.metadata.Tags.length>3?((0,i.uX)(),(0,i.CE)("span",{key:0,class:"color-tag color-tag-more",style:(0,s.Tr)({background:l.getTagColor(3)})},"+"+(0,s.v_)(a.item.metadata.Tags.length-3),5)):(0,i.Q3)("",!0)],64)):((0,i.uX)(),(0,i.CE)("span",Re,"-"))]),(0,i.Lk)("div",Ne,(0,s.v_)(l.isFolder?"-":a.item.metadata?.Channel||a.item.channelTag||"-"),1),(0,i.Lk)("div",je,[!l.isFolder&&a.item.metadata?.ChannelName?((0,i.uX)(),(0,i.CE)("div",Ve,(0,s.v_)(a.item.metadata.ChannelName),1)):((0,i.uX)(),(0,i.CE)("span",Me,"-"))]),(0,i.Lk)("div",Xe,[!l.isFolder&&a.item.metadata?.UploadIP?((0,i.uX)(),(0,i.CE)("div",Ze,(0,s.v_)(a.item.metadata.UploadIP),1)):((0,i.uX)(),(0,i.CE)("span",Ke,"-"))]),(0,i.Lk)("div",Ge,(0,s.v_)(l.isFolder?"-":l.fileSizeDisplay),1),(0,i.Lk)("div",He,(0,s.v_)(l.uploadDate),1),(0,i.Lk)("div",qe,[l.isFolder?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.bF)(d,{content:"复制链接",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"list-action-btn",onClick:t[6]||(t[6]=(0,n.D$)(t=>e.$emit("folderCopy"),["stop"]))},[(0,i.bF)(c,{icon:"copy"})])]),_:1}),(0,i.bF)(d,{content:"移动",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"list-action-btn",onClick:t[7]||(t[7]=(0,n.D$)(t=>e.$emit("move"),["stop"]))},[(0,i.bF)(c,{icon:"file-export"})])]),_:1})],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.bF)(d,{content:"复制链接",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"list-action-btn",onClick:t[3]||(t[3]=(0,n.D$)(t=>e.$emit("copy"),["stop"]))},[(0,i.bF)(c,{icon:"copy"})])]),_:1}),(0,i.bF)(d,{content:"下载",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"list-action-btn",onClick:t[4]||(t[4]=(0,n.D$)(t=>e.$emit("download"),["stop"]))},[(0,i.bF)(c,{icon:"download"})])]),_:1}),(0,i.bF)(d,{content:"移动",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"list-action-btn",onClick:t[5]||(t[5]=(0,n.D$)(t=>e.$emit("move"),["stop"]))},[(0,i.bF)(c,{icon:"file-export"})])]),_:1})],64)),(0,i.bF)(d,{content:"删除",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"list-action-btn list-action-danger",onClick:t[8]||(t[8]=(0,n.D$)(t=>e.$emit("delete"),["stop"]))},[(0,i.bF)(c,{icon:"trash-alt"})])]),_:1})])],32)}var Ye={name:"FileListItem",props:{item:{type:Object,required:!0},selected:{type:Boolean,default:!1},fileLink:{type:String,default:""}},emits:["update:selected","enter","detail","copy","folderCopy","move","delete","download","touchstart","touchend","touchmove"],data(){return{localSelected:this.selected,tagColors:["#f472b6","#a78bfa","#60a5fa","#34d399"]}},computed:{isFolder(){return this.item.isFolder||this.item.name?.endsWith("/")},isVideo(){const e=this.item.name?.toLowerCase()||"";return e.endsWith(".mp4")||e.endsWith(".webm")||e.endsWith(".mov")||e.endsWith(".avi")},isImage(){const e=this.item.name?.toLowerCase()||"";return e.endsWith(".jpg")||e.endsWith(".jpeg")||e.endsWith(".png")||e.endsWith(".gif")||e.endsWith(".webp")||e.endsWith(".svg")||e.endsWith(".bmp")},displayName(){if(this.isFolder){const e=this.item.name.split("/").filter(Boolean);return e[e.length-1]||this.item.name}return this.item.metadata?.FileName||this.getFileName(this.item.name)},fileNameStart(){const e=this.displayName;return e.length<=20?e:e.slice(0,-8)},fileNameEnd(){const e=this.displayName;return e.length<=20?"":e.slice(-8)},uploadDate(){return this.item.uploaded?new Date(this.item.uploaded).toLocaleDateString():this.item.metadata?.TimeStamp?new Date(this.item.metadata.TimeStamp).toLocaleDateString():"-"},fileSizeDisplay(){const e=this.item.metadata?.FileSizeBytes,t=this.item.metadata?.FileSize;return e?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`:t?`${t} MB`:"-"}},watch:{selected(e){this.localSelected=e}},methods:{toggleSelect(){this.localSelected=!this.localSelected,this.$emit("update:selected",this.localSelected)},handlePreviewClick(){this.isFolder?this.$emit("enter"):this.$emit("detail")},getFileName(e){const t=(e||"").split("/");return t[t.length-1]},getTagColor(e){return this.tagColors[e%this.tagColors.length]}}};const Je=(0,h.A)(Ye,[["render",Qe],["__scopeId","data-v-a52dff64"]]);var et=Je,tt=a(683),at=(a(5385),a(850));a(8736);const it={class:"file-short-info"},nt={key:0,class:"success-tag"},st={key:1,class:"fail-tag"},rt={key:2,class:"success-tag"},ot={key:3,class:"primary-tag"},lt={key:0,style:{"margin-left":"2px"}},ct={key:0,class:"skeleton-wrapper"},dt=["src"],ht={key:3,class:"file-preview"},ut={class:"card-bottom-overlay"},ft={class:"file-name-row"},mt={class:"file-name"},pt={class:"action-bar"},gt={class:"action-bar-left"},bt={class:"action-bar-right"};function vt(e,t,a,r,o,l){const c=at.dI,d=(0,i.g2)("font-awesome-icon"),h=ve.Zq,u=De.R7,f=tt.Ik;return(0,i.uX)(),(0,i.Wv)(f,{class:"img-card",onTouchstart:t[17]||(t[17]=t=>e.$emit("touchstart",t)),onTouchend:t[18]||(t[18]=t=>e.$emit("touchend",t)),onTouchmove:t[19]||(t[19]=t=>e.$emit("touchmove",t))},{default:(0,i.k6)(()=>[(0,i.bF)(c,{modelValue:o.localSelected,"onUpdate:modelValue":t[0]||(t[0]=e=>o.localSelected=e),onChange:t[1]||(t[1]=t=>e.$emit("update:selected",o.localSelected))},null,8,["modelValue"]),(0,i.Lk)("div",it,["White"===a.item.metadata?.ListType?((0,i.uX)(),(0,i.CE)("div",nt,(0,s.v_)(l.channelTag),1)):"Block"===a.item.metadata?.ListType||"adult"===a.item.metadata?.Label?((0,i.uX)(),(0,i.CE)("div",st,(0,s.v_)(l.channelTag),1)):((0,i.uX)(),(0,i.CE)("div",rt,(0,s.v_)(l.channelTag),1)),a.item.metadata?.Tags&&a.item.metadata?.Tags.length>0?((0,i.uX)(),(0,i.CE)("div",ot,[(0,i.bF)(d,{icon:"tag",style:{"margin-right":"3px","font-size":"12px"}}),(0,i.eW)(" "+(0,s.v_)(a.item.metadata.Tags[0])+" ",1),a.item.metadata.Tags.length>1?((0,i.uX)(),(0,i.CE)("span",lt," (+"+(0,s.v_)(a.item.metadata.Tags.length-1)+") ",1)):(0,i.Q3)("",!0)])):(0,i.Q3)("",!0)]),l.isVideo?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[o.videoLoading?((0,i.uX)(),(0,i.CE)("div",ct)):o.videoError?((0,i.uX)(),(0,i.CE)("div",{key:1,class:"error-wrapper",onClick:t[2]||(t[2]=t=>e.$emit("detail"))},[(0,i.bF)(d,{icon:"exclamation-triangle",class:"error-icon"}),t[20]||(t[20]=(0,i.Lk)("span",{class:"error-text"},"加载失败",-1))])):(0,i.Q3)("",!0),(0,i.bo)((0,i.Lk)("video",{src:a.fileLink,muted:"",loop:"",preload:"metadata",class:"video-preview",onClick:t[3]||(t[3]=(...e)=>l.handleVideoClick&&l.handleVideoClick(...e)),onMouseenter:t[4]||(t[4]=e=>l.handleVideoHover(e,!0)),onMouseleave:t[5]||(t[5]=e=>l.handleVideoHover(e,!1)),onFullscreenchange:t[6]||(t[6]=(...e)=>l.handleFullscreenChange&&l.handleFullscreenChange(...e)),onWebkitfullscreenchange:t[7]||(t[7]=(...e)=>l.handleFullscreenChange&&l.handleFullscreenChange(...e)),onLoadeddata:t[8]||(t[8]=e=>o.videoLoading=!1),onError:t[9]||(t[9]=(...e)=>l.handleVideoError&&l.handleVideoError(...e))},null,40,dt),[[n.aG,!o.videoLoading&&!o.videoError]])],64)):l.isAudio?((0,i.uX)(),(0,i.CE)("div",{key:1,class:"file-preview audio-card-preview",onClick:t[10]||(t[10]=t=>e.$emit("detail"))},[(0,i.bF)(d,{icon:"music",class:"file-icon audio-icon"})])):l.isImage?((0,i.uX)(),(0,i.Wv)(h,{key:2,"preview-teleported":!0,src:a.fileLink,"preview-src-list":a.previewSrcList,fit:"cover",lazy:"",class:"image-preview"},{placeholder:(0,i.k6)(()=>[...t[21]||(t[21]=[(0,i.Lk)("div",{class:"skeleton-wrapper"},null,-1)])]),error:(0,i.k6)(()=>[(0,i.Lk)("div",{class:"error-wrapper",onClick:t[11]||(t[11]=(0,n.D$)(t=>e.$emit("detail"),["stop"]))},[(0,i.bF)(d,{icon:"image",class:"error-icon"}),t[22]||(t[22]=(0,i.Lk)("span",{class:"error-text"},"加载失败",-1))])]),_:1},8,["src","preview-src-list"])):((0,i.uX)(),(0,i.CE)("div",ht,[(0,i.bF)(d,{icon:"file",class:"file-icon"})])),(0,i.Lk)("div",ut,[(0,i.Lk)("div",ft,[(0,i.Lk)("span",mt,(0,s.v_)(l.displayName),1)]),(0,i.Lk)("div",pt,[(0,i.Lk)("div",gt,[(0,i.bF)(u,{disabled:a.disableTooltip,content:"详情",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn",onClick:t[12]||(t[12]=(0,n.D$)(t=>e.$emit("detail"),["stop"]))},[(0,i.bF)(d,{icon:"info-circle"})])]),_:1},8,["disabled"])]),(0,i.Lk)("div",bt,[(0,i.bF)(u,{disabled:a.disableTooltip,content:"移动",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn",onClick:t[13]||(t[13]=(0,n.D$)(t=>e.$emit("move"),["stop"]))},[(0,i.bF)(d,{icon:"file-export"})])]),_:1},8,["disabled"]),(0,i.bF)(u,{disabled:a.disableTooltip,content:"删除",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn action-btn-danger",onClick:t[14]||(t[14]=(0,n.D$)(t=>e.$emit("delete"),["stop"]))},[(0,i.bF)(d,{icon:"trash-alt"})])]),_:1},8,["disabled"]),(0,i.bF)(u,{disabled:a.disableTooltip,content:"下载",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn",onClick:t[15]||(t[15]=(0,n.D$)(t=>e.$emit("download"),["stop"]))},[(0,i.bF)(d,{icon:"download"})])]),_:1},8,["disabled"]),(0,i.bF)(u,{disabled:a.disableTooltip,content:"复制链接",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn",onClick:t[16]||(t[16]=(0,n.D$)(t=>e.$emit("copy"),["stop"]))},[(0,i.bF)(d,{icon:"copy"})])]),_:1},8,["disabled"])])])])]),_:1})}var kt={name:"FileCard",props:{item:{type:Object,required:!0},selected:{type:Boolean,default:!1},fileLink:{type:String,required:!0},previewSrcList:{type:Array,default:()=>[]},disableTooltip:{type:Boolean,default:!1}},emits:["update:selected","detail","copy","move","delete","download","touchstart","touchend","touchmove"],data(){return{localSelected:this.selected,videoLoading:!0,videoError:!1}},computed:{channelTag(){return this.item.channelTag||""},isVideo(){const e=this.item.metadata?.FileType?.toLowerCase()||"";if(e.includes("video"))return!0;const t=this.item.name?.toLowerCase()||"";return t.endsWith(".mp4")||t.endsWith(".webm")||t.endsWith(".mov")||t.endsWith(".avi")},isAudio(){const e=this.item.metadata?.FileType?.toLowerCase()||"";if(e.includes("audio"))return!0;const t=this.item.name?.toLowerCase()||"";return t.endsWith(".mp3")||t.endsWith(".wav")||t.endsWith(".ogg")||t.endsWith(".flac")},isImage(){const e=this.item.metadata?.FileType?.toLowerCase()||"";if(e.includes("image"))return!0;const t=this.item.name?.toLowerCase()||"";return t.endsWith(".jpg")||t.endsWith(".jpeg")||t.endsWith(".png")||t.endsWith(".gif")||t.endsWith(".webp")||t.endsWith(".svg")||t.endsWith(".bmp")||t.endsWith(".avif")||t.endsWith(".heic")||t.endsWith(".heif")},displayName(){const e=this.item.metadata?.FileName||this.item.name||"",t=e.split("/");return t[t.length-1]}},watch:{selected(e){this.localSelected=e},fileLink(){this.videoLoading=!0,this.videoError=!1}},methods:{handleVideoError(){this.videoLoading=!1,this.videoError=!0},handleVideoClick(e){const t=e.target;t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen&&t.msRequestFullscreen()},handleFullscreenChange(e){const t=e.target,a=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;a?(t.muted=!1,t.loop=!1):(t.muted=!0,t.loop=!0,t.pause(),t.currentTime=0)},handleVideoHover(e,t){const a=e.target;t?a.play().catch(()=>{}):(a.pause(),a.currentTime=0)}}};const yt=(0,h.A)(kt,[["render",vt],["__scopeId","data-v-ddf49ce2"]]);var _t=yt;const wt={class:"card-bottom-overlay"},Ft={class:"file-name-row"},Ct={class:"file-name"},Tt={key:0,class:"action-bar"},xt={class:"action-bar-right"};function St(e,t,a,r,o,l){const c=at.dI,d=(0,i.g2)("font-awesome-icon"),h=De.R7,u=tt.Ik;return(0,i.uX)(),(0,i.Wv)(u,{class:"img-card folder-card",onTouchstart:t[6]||(t[6]=t=>e.$emit("touchstart",t)),onTouchend:t[7]||(t[7]=t=>e.$emit("touchend",t)),onTouchmove:t[8]||(t[8]=t=>e.$emit("touchmove",t))},{default:(0,i.k6)(()=>[(0,i.bF)(c,{modelValue:o.localSelected,"onUpdate:modelValue":t[0]||(t[0]=e=>o.localSelected=e),onChange:t[1]||(t[1]=t=>e.$emit("update:selected",o.localSelected))},null,8,["modelValue"]),(0,i.Lk)("div",{class:"folder-icon",onClick:t[2]||(t[2]=t=>e.$emit("enter"))},[(0,i.bF)(d,{icon:"folder-open",class:"folder-icon-svg"})]),(0,i.Lk)("div",wt,[(0,i.Lk)("div",Ft,[(0,i.Lk)("span",Ct,(0,s.v_)(l.folderName),1)]),a.showActions?((0,i.uX)(),(0,i.CE)("div",Tt,[t[9]||(t[9]=(0,i.Lk)("div",{class:"action-bar-left"},null,-1)),(0,i.Lk)("div",xt,[(0,i.bF)(h,{disabled:a.disableTooltip,content:"复制链接",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn",onClick:t[3]||(t[3]=(0,n.D$)(t=>e.$emit("copy"),["stop"]))},[(0,i.bF)(d,{icon:"copy"})])]),_:1},8,["disabled"]),(0,i.bF)(h,{disabled:a.disableTooltip,content:"移动",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn",onClick:t[4]||(t[4]=(0,n.D$)(t=>e.$emit("move"),["stop"]))},[(0,i.bF)(d,{icon:"file-export"})])]),_:1},8,["disabled"]),(0,i.bF)(h,{disabled:a.disableTooltip,content:"删除",placement:"top"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{class:"action-btn action-btn-danger",onClick:t[5]||(t[5]=(0,n.D$)(t=>e.$emit("delete"),["stop"]))},[(0,i.bF)(d,{icon:"trash-alt"})])]),_:1},8,["disabled"])])])):(0,i.Q3)("",!0)])]),_:1})}var Lt={name:"FolderCard",props:{name:{type:String,required:!0},selected:{type:Boolean,default:!1},showActions:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1}},emits:["update:selected","enter","copy","move","delete","touchstart","touchend","touchmove"],data(){return{localSelected:this.selected}},computed:{folderName(){const e=this.name.split("/").filter(Boolean);return e[e.length-1]||this.name}},watch:{selected(e){this.localSelected=e}}};const Et=(0,h.A)(Lt,[["render",St],["__scopeId","data-v-20e5d6b4"]]);var At=Et;function It(e,t,a,n,s,r){return"card"===a.type?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:0},(0,i.pI)(a.count,e=>((0,i.uX)(),(0,i.CE)("div",{key:"skeleton-"+e,class:"skeleton-card"},[...t[0]||(t[0]=[(0,i.Lk)("div",{class:"skeleton-image"},null,-1),(0,i.Lk)("div",{class:"skeleton-info"},[(0,i.Lk)("div",{class:"skeleton-text"})],-1)])]))),128)):"list"===a.type?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(a.count,e=>((0,i.uX)(),(0,i.CE)("div",{key:"list-skeleton-"+e,class:"list-item skeleton-list-item"},[...t[1]||(t[1]=[(0,i.Fv)('
',10)])]))),128)):(0,i.Q3)("",!0)}var Dt={name:"SkeletonLoader",props:{type:{type:String,default:"card",validator:e=>["card","list"].includes(e)},count:{type:Number,default:15}}};const Ut=(0,h.A)(Dt,[["render",It],["__scopeId","data-v-71848b62"]]);var zt=Ut,Bt=a(1095),Wt=(a(7128),a(2086)),Ot=(a(670),a(8830),a(3597),a(9187),a(5407));a(2099);const $t={class:"el-dropdown-link filter-trigger"},Pt={class:"filter-section"},Rt={class:"filter-options"},Nt={class:"filter-section"},jt={class:"filter-options"},Vt={class:"filter-section"},Mt={class:"filter-options"},Xt={class:"filter-section"},Zt={class:"filter-options"},Kt={class:"filter-section"},Gt={class:"filter-options"},Ht={key:0,class:"filter-section"},qt={class:"filter-options"},Qt={key:0,class:"channel-divider"},Yt={class:"channel-group-title"},Jt={class:"filter-actions"};function ea(e,t,a,n,r,o){const l=(0,i.g2)("font-awesome-icon"),c=Ot.z_,d=at.dI,h=at.o5,u=x.S2,f=Wt.Iy,m=Wt.dW;return(0,i.uX)(),(0,i.Wv)(m,{"hide-on-click":!1,trigger:"click",class:"filter-dropdown",ref:"dropdownRef"},{dropdown:(0,i.k6)(()=>[(0,i.bF)(f,{class:"filter-dropdown-menu"},{default:(0,i.k6)(()=>[(0,i.Lk)("div",Pt,[t[12]||(t[12]=(0,i.Lk)("div",{class:"filter-title"},"访问状态",-1)),(0,i.Lk)("div",Rt,[(0,i.bF)(h,{modelValue:r.localFilters.accessStatus,"onUpdate:modelValue":t[0]||(t[0]=e=>r.localFilters.accessStatus=e),onChange:t[1]||(t[1]=e=>o.handleFilterChange("accessStatus"))},{default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(r.accessStatusOptions,e=>((0,i.uX)(),(0,i.Wv)(d,{key:"accessStatus-"+e.value,label:e.value},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),(0,i.Lk)("div",Nt,[t[13]||(t[13]=(0,i.Lk)("div",{class:"filter-title"},"黑白名单",-1)),(0,i.Lk)("div",jt,[(0,i.bF)(h,{modelValue:r.localFilters.listType,"onUpdate:modelValue":t[2]||(t[2]=e=>r.localFilters.listType=e),onChange:t[3]||(t[3]=e=>o.handleFilterChange("listType"))},{default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(r.listTypeOptions,e=>((0,i.uX)(),(0,i.Wv)(d,{key:"listType-"+e.value,label:e.value},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),(0,i.Lk)("div",Vt,[t[14]||(t[14]=(0,i.Lk)("div",{class:"filter-title"},"审查结果",-1)),(0,i.Lk)("div",Mt,[(0,i.bF)(h,{modelValue:r.localFilters.label,"onUpdate:modelValue":t[4]||(t[4]=e=>r.localFilters.label=e),onChange:t[5]||(t[5]=e=>o.handleFilterChange("label"))},{default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(r.labelOptions,e=>((0,i.uX)(),(0,i.Wv)(d,{key:"label-"+e.value,label:e.value},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),(0,i.Lk)("div",Xt,[t[15]||(t[15]=(0,i.Lk)("div",{class:"filter-title"},"文件类型",-1)),(0,i.Lk)("div",Zt,[(0,i.bF)(h,{modelValue:r.localFilters.fileType,"onUpdate:modelValue":t[6]||(t[6]=e=>r.localFilters.fileType=e),onChange:t[7]||(t[7]=e=>o.handleFilterChange("fileType"))},{default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(r.fileTypeOptions,e=>((0,i.uX)(),(0,i.Wv)(d,{key:"fileType-"+e.value,label:e.value},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),(0,i.Lk)("div",Kt,[t[16]||(t[16]=(0,i.Lk)("div",{class:"filter-title"},"渠道类型",-1)),(0,i.Lk)("div",Gt,[(0,i.bF)(h,{modelValue:r.localFilters.channel,"onUpdate:modelValue":t[8]||(t[8]=e=>r.localFilters.channel=e),onChange:t[9]||(t[9]=e=>o.handleFilterChange("channel"))},{default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(r.channelOptions,e=>((0,i.uX)(),(0,i.Wv)(d,{key:"channel-"+e.value,label:e.value},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),a.channelNameOptions.length>0?((0,i.uX)(),(0,i.CE)("div",Ht,[t[17]||(t[17]=(0,i.Lk)("div",{class:"filter-title"},"渠道名称",-1)),(0,i.Lk)("div",qt,[(0,i.bF)(h,{modelValue:r.localFilters.channelName,"onUpdate:modelValue":t[10]||(t[10]=e=>r.localFilters.channelName=e),onChange:t[11]||(t[11]=e=>o.handleFilterChange("channelName"))},{default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.groupedChannelNames,(e,t)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:"group-"+e.type},[t>0?((0,i.uX)(),(0,i.CE)("div",Qt)):(0,i.Q3)("",!0),(0,i.Lk)("div",Yt,(0,s.v_)(e.typeLabel),1),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channels,e=>((0,i.uX)(),(0,i.Wv)(d,{key:"channelName-"+e.type+"-"+e.name,label:e.type+":"+e.name},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e.name),1)]),_:2},1032,["label"]))),128))],64))),128))]),_:1},8,["modelValue"])])])):(0,i.Q3)("",!0),(0,i.Lk)("div",Jt,[(0,i.bF)(u,{size:"small",onClick:o.clearFilters,disabled:0===o.activeFilterCount},{default:(0,i.k6)(()=>[...t[18]||(t[18]=[(0,i.eW)("清除筛选",-1)])]),_:1},8,["onClick","disabled"])])]),_:1})]),default:(0,i.k6)(()=>[(0,i.Lk)("span",$t,[(0,i.bF)(c,{value:o.activeFilterCount,hidden:0===o.activeFilterCount,class:"filter-badge"},{default:(0,i.k6)(()=>[(0,i.bF)(l,{icon:"filter",class:"header-icon"})]),_:1},8,["value","hidden"])])]),_:1},512)}a(7588),a(8237);var ta={name:"FilterDropdown",props:{filters:{type:Object,default:()=>({accessStatus:[],listType:[],label:[],fileType:[],channel:[],channelName:[]})},channelNameOptions:{type:Array,default:()=>[]}},emits:["update:filters","change"],data(){return{accessStatusOptions:[{label:"正常",value:"normal"},{label:"已屏蔽",value:"blocked"}],listTypeOptions:[{label:"白名单",value:"White"},{label:"黑名单",value:"Block"},{label:"未设置",value:"None"}],labelOptions:[{label:"正常",value:"normal"},{label:"12+内容",value:"teen"},{label:"成人内容",value:"adult"}],fileTypeOptions:[{label:"图片",value:"image"},{label:"视频",value:"video"},{label:"音频",value:"audio"},{label:"其他",value:"other"}],channelOptions:[{label:"Telegram",value:"TelegramNew"},{label:"Cloudflare R2",value:"CloudflareR2"},{label:"S3",value:"S3"},{label:"Discord",value:"Discord"},{label:"HuggingFace",value:"HuggingFace"},{label:"外链",value:"External"}],localFilters:{accessStatus:[],listType:[],label:[],fileType:[],channel:[],channelName:[]}}},computed:{activeFilterCount(){return Object.values(this.localFilters).reduce((e,t)=>e+t.length,0)},groupedChannelNames(){const e={};return this.channelNameOptions.forEach(t=>{e[t.type]||(e[t.type]={type:t.type,typeLabel:t.typeLabel,channels:[]}),e[t.type].channels.push(t)}),Object.values(e)}},watch:{filters:{handler(e){this.localFilters={accessStatus:Array.isArray(e.accessStatus)?[...e.accessStatus]:[],listType:Array.isArray(e.listType)?[...e.listType]:[],label:Array.isArray(e.label)?[...e.label]:[],fileType:Array.isArray(e.fileType)?[...e.fileType]:[],channel:Array.isArray(e.channel)?[...e.channel]:[],channelName:Array.isArray(e.channelName)?[...e.channelName]:[]}},immediate:!0,deep:!0}},methods:{handleFilterChange(e){this.$emit("update:filters",{...this.localFilters}),this.$emit("change",{type:e,filters:{...this.localFilters}})},clearFilters(){this.localFilters={accessStatus:[],listType:[],label:[],fileType:[],channel:[],channelName:[]},this.$emit("update:filters",{...this.localFilters}),this.$emit("change",{type:"clear",filters:{...this.localFilters}})}}};const aa=(0,h.A)(ta,[["render",ea],["__scopeId","data-v-062d5f10"]]);var ia=aa,na=a(6011);const sa={class:"container"},ra={class:"header-content"},oa={class:"search-area"},la={class:"search-card"},ca={class:"actions"},da={class:"el-dropdown-link"},ha={class:"el-dropdown-link"},ua={class:"el-dropdown-link"},fa={class:"breadcrumb-container"},ma={class:"mobile-directory-path"},pa={class:"breadcrumb desktop-only"},ga=["title"],ba={key:0,class:"content"},va={key:1,class:"empty-state"},ka={class:"empty-text"},ya={class:"empty-hint"},_a={key:1,class:"list-view"},wa={class:"list-header"},Fa={class:"list-col list-col-checkbox"},Ca={key:1,class:"empty-state list-empty"},Ta={class:"empty-text"},xa={class:"empty-hint"},Sa={class:"pagination-container"},La={class:"pagination-center"},Ea={class:"pagination-right"},Aa={class:"page-total"},Ia={class:"page-jump"},Da={class:"dialog-section"},Ua={class:"section-content"},za={class:"dialog-section"},Ba={class:"section-header"},Wa={class:"section-content"},Oa={class:"setting-item"},$a={key:0,class:"setting-item"},Pa={class:"dialog-action"};function Ra(e,t,a,r,o,l){const c=na.A,d=(0,i.g2)("font-awesome-icon"),h=T.WK,u=ia,m=Wt.c6,p=Wt.Iy,g=Wt.dW,b=De.R7,v=Ae.bZ,k=Bt.WZ,w=Bt.vp,F=zt,C=At,S=_t,L=et,E=Ie.aQ,A=x.S2,I=Ae.ZO,D=Ae.lX,U=Ee,z=ge.ll,B=ge.MQ,W=pe.qi,O=_.kZ,$=me,P=q,R=y,N=f;return(0,i.uX)(),(0,i.CE)("div",sa,[(0,i.bF)(D,null,{default:(0,i.k6)(()=>[(0,i.bF)(v,null,{default:(0,i.k6)(()=>[(0,i.Lk)("div",ra,[(0,i.bF)(c,{activeTab:"dashboard"}),(0,i.Lk)("div",oa,[(0,i.Lk)("div",la,[(0,i.bF)(h,{modelValue:o.tempSearch,"onUpdate:modelValue":t[0]||(t[0]=e=>o.tempSearch=e),size:"mini",placeholder:"搜索:#标签 -#排除标签",onKeyup:(0,n.jR)(l.handleSearch,["enter"])},{suffix:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"search",class:"search-icon",onClick:l.handleSearch},null,8,["onClick"])]),_:1},8,["modelValue","onKeyup"])]),(0,i.bF)(u,{filters:o.filters,"onUpdate:filters":t[1]||(t[1]=e=>o.filters=e),channelNameOptions:o.channelNameOptions,onChange:l.handleFilterChange},null,8,["filters","channelNameOptions","onChange"])]),(0,i.Lk)("div",ca,[(0,i.bF)(g,{onCommand:l.sort,"hide-on-click":!1},{dropdown:(0,i.k6)(()=>[(0,i.bF)(p,null,{default:(0,i.k6)(()=>[(0,i.bF)(m,{command:"dateDesc"},{default:(0,i.k6)(()=>[...t[22]||(t[22]=[(0,i.eW)("按时间倒序",-1)])]),_:1}),(0,i.bF)(m,{command:"nameAsc"},{default:(0,i.k6)(()=>[...t[23]||(t[23]=[(0,i.eW)("按名称升序",-1)])]),_:1})]),_:1})]),default:(0,i.k6)(()=>[(0,i.Lk)("span",da,[(0,i.bF)(d,{icon:l.sortIcon,class:"header-icon"},null,8,["icon"])])]),_:1},8,["onCommand"]),(0,i.bF)(b,{disabled:l.disableTooltip,content:"全选此页",placement:"bottom"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:l.selectPageIcon,class:"header-icon",onClick:l.handleSelectPage},null,8,["icon","onClick"])]),_:1},8,["disabled"]),(0,i.bF)(g,{onCommand:l.handleBatchAction,"hide-on-click":!1,disabled:0===o.selectedFiles.length},{dropdown:(0,i.k6)(()=>[(0,i.bF)(p,null,{default:(0,i.k6)(()=>[(0,i.bF)(m,{command:"copy"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"copy",class:"batch-action-item-icon"}),t[24]||(t[24]=(0,i.eW)(" 复制 ",-1))]),_:1}),(0,i.bF)(m,{command:"delete"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"trash-alt",class:"batch-action-item-icon"}),t[25]||(t[25]=(0,i.eW)(" 删除 ",-1))]),_:1}),(0,i.bF)(m,{command:"download"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"download",class:"batch-action-item-icon"}),t[26]||(t[26]=(0,i.eW)(" 下载 ",-1))]),_:1}),(0,i.bF)(m,{command:"move"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"file-export",class:"batch-action-item-icon"}),t[27]||(t[27]=(0,i.eW)(" 移动 ",-1))]),_:1}),(0,i.bF)(m,{command:"tagManagement"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"tags",class:"batch-action-item-icon"}),t[28]||(t[28]=(0,i.eW)(" 标签管理 ",-1))]),_:1}),(0,i.bF)(m,{command:"ban"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"ban",class:"batch-action-item-icon"}),t[29]||(t[29]=(0,i.eW)(" 加入黑名单 ",-1))]),_:1}),(0,i.bF)(m,{command:"white"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"user-plus",class:"batch-action-item-icon"}),t[30]||(t[30]=(0,i.eW)(" 加入白名单 ",-1))]),_:1})]),_:1})]),default:(0,i.k6)(()=>[(0,i.Lk)("span",ha,[(0,i.bF)(d,{icon:"ellipsis-h",class:(0,s.C4)(["header-icon",{disabled:0===o.selectedFiles.length}])},null,8,["class"])])]),_:1},8,["onCommand","disabled"]),(0,i.bF)(b,{disabled:l.disableTooltip,content:"链接格式",placement:"bottom"},{default:(0,i.k6)(()=>[(0,i.Lk)("span",ua,[(0,i.bF)(d,{icon:"link",class:"header-icon",onClick:t[2]||(t[2]=e=>o.showUrlDialog=!0)})])]),_:1},8,["disabled"]),(0,i.bF)(b,{disabled:l.disableTooltip,content:"card"===o.viewMode?"列表视图":"卡片视图",placement:"bottom"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"card"===o.viewMode?"list":"th-large",class:"header-icon",onClick:l.toggleViewMode},null,8,["icon","onClick"])]),_:1},8,["disabled","content"]),(0,i.bF)(b,{disabled:l.disableTooltip,content:"退出登录",placement:"bottom"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"sign-out-alt",class:"header-icon",onClick:l.handleLogout},null,8,["onClick"])]),_:1},8,["disabled"])])])]),_:1}),(0,i.bF)(I,{class:"main-container"},{default:(0,i.k6)(()=>[(0,i.Lk)("div",fa,[(0,i.Lk)("div",{class:"mobile-directory-trigger",onClick:t[3]||(t[3]=e=>o.showMobileDirectoryDrawer=!0)},[(0,i.bF)(d,{icon:"folder-open",class:"mobile-directory-icon"}),(0,i.Lk)("span",ma,(0,s.v_)(o.currentPath&&o.currentPath.split("/").filter(Boolean).length>0?o.currentPath.split("/").filter(Boolean).pop():"根目录"),1),(0,i.bF)(d,{icon:"chevron-down",class:"mobile-directory-arrow"})]),(0,i.Lk)("div",pa,[(0,i.bF)(w,{separator:"/"},{default:(0,i.k6)(()=>[(0,i.bF)(k,{onClick:t[4]||(t[4]=e=>l.navigateToFolder(""))},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"home",class:"breadcrumb-home-icon"})]),_:1}),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.currentPath.split("/").filter(Boolean),(e,t)=>((0,i.uX)(),(0,i.Wv)(k,{key:t,onClick:e=>l.navigateToFolder(o.currentPath.split("/").filter(Boolean).slice(0,t+1).join("/"))},{default:(0,i.k6)(()=>[(0,i.eW)((0,s.v_)(e),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),(0,i.Lk)("span",{class:"stats-badge",title:`共 ${e.$data.Number} 个文件`},[(0,i.bF)(d,{icon:"database",class:"stats-badge-icon"}),(0,i.eW)(" "+(0,s.v_)(o.Number),1)],8,ga)]),"card"===o.viewMode?((0,i.uX)(),(0,i.CE)("div",ba,[o.loading?((0,i.uX)(),(0,i.Wv)(F,{key:0,type:"card",count:15})):0===l.paginatedTableData.length?((0,i.uX)(),(0,i.CE)("div",va,[(0,i.bF)(d,{icon:"folder-open",class:"empty-icon"}),(0,i.Lk)("p",ka,(0,s.v_)(l.hasSearchOrFilter?"未找到匹配的文件或文件夹":"当前目录为空"),1),(0,i.Lk)("p",ya,(0,s.v_)(l.hasSearchOrFilter?"尝试调整搜索条件或筛选器":"上传文件后将显示在这里"),1)])):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:2},(0,i.pI)(l.paginatedTableData,(e,t)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:t},[l.isFolder(e)?((0,i.uX)(),(0,i.Wv)(C,{key:0,name:e.name,selected:e.selected,"onUpdate:selected":t=>e.selected=t,showActions:!o.isSearchMode,disableTooltip:l.disableTooltip,onEnter:t=>l.enterFolder(e.name),onCopy:t=>l.handleFolderCopy(e.name),onMove:a=>l.handleMove(t,e.name),onDelete:a=>l.handleDelete(t,e.name),onTouchstart:a=>l.handleFolderTouchStart(e,t),onTouchend:l.handleTouchEnd,onTouchmove:l.handleTouchEnd},null,8,["name","selected","onUpdate:selected","showActions","disableTooltip","onEnter","onCopy","onMove","onDelete","onTouchstart","onTouchend","onTouchmove"])):((0,i.uX)(),(0,i.Wv)(S,{key:1,item:e,selected:e.selected,"onUpdate:selected":t=>e.selected=t,fileLink:l.getFileLink(e.name),previewSrcList:e.previewSrcList,disableTooltip:l.disableTooltip,onDetail:a=>l.openDetailDialog(t,e.name),onCopy:a=>l.handleCopy(t,e.name),onMove:a=>l.handleMove(t,e.name),onDelete:a=>l.handleDelete(t,e.name),onDownload:t=>l.handleDownload(e.name),onTouchstart:a=>l.handleTouchStart(e,t),onTouchend:l.handleTouchEnd,onTouchmove:l.handleTouchEnd},null,8,["item","selected","onUpdate:selected","fileLink","previewSrcList","disableTooltip","onDetail","onCopy","onMove","onDelete","onDownload","onTouchstart","onTouchend","onTouchmove"]))],64))),128))])):((0,i.uX)(),(0,i.CE)("div",_a,[(0,i.Lk)("div",wa,[(0,i.Lk)("div",Fa,[(0,i.Lk)("span",{class:(0,s.C4)(["custom-checkbox",{checked:l.isSelectAll,indeterminate:l.isIndeterminate}]),onClick:t[5]||(t[5]=e=>l.handleSelectAllPage(!l.isSelectAll))},[l.isSelectAll?((0,i.uX)(),(0,i.Wv)(d,{key:0,icon:"check",class:"check-icon"})):l.isIndeterminate?((0,i.uX)(),(0,i.Wv)(d,{key:1,icon:"minus",class:"check-icon"})):(0,i.Q3)("",!0)],2)]),t[31]||(t[31]=(0,i.Lk)("div",{class:"list-col list-col-preview"},"预览",-1)),t[32]||(t[32]=(0,i.Lk)("div",{class:"list-col list-col-name"},"文件名",-1)),t[33]||(t[33]=(0,i.Lk)("div",{class:"list-col list-col-tags"},"标签",-1)),t[34]||(t[34]=(0,i.Lk)("div",{class:"list-col list-col-channel"},"渠道类型",-1)),t[35]||(t[35]=(0,i.Lk)("div",{class:"list-col list-col-channel-name"},"渠道名称",-1)),t[36]||(t[36]=(0,i.Lk)("div",{class:"list-col list-col-address"},"上传地址",-1)),t[37]||(t[37]=(0,i.Lk)("div",{class:"list-col list-col-size"},"大小",-1)),t[38]||(t[38]=(0,i.Lk)("div",{class:"list-col list-col-date"},"上传时间",-1)),t[39]||(t[39]=(0,i.Lk)("div",{class:"list-col list-col-actions"},"操作",-1))]),o.loading?((0,i.uX)(),(0,i.Wv)(F,{key:0,type:"list",count:15})):0===l.paginatedTableData.length?((0,i.uX)(),(0,i.CE)("div",Ca,[(0,i.bF)(d,{icon:"folder-open",class:"empty-icon"}),(0,i.Lk)("p",Ta,(0,s.v_)(l.hasSearchOrFilter?"未找到匹配的文件或文件夹":"当前目录为空"),1),(0,i.Lk)("p",xa,(0,s.v_)(l.hasSearchOrFilter?"尝试调整搜索条件或筛选器":"上传文件后将显示在这里"),1)])):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:2},(0,i.pI)(l.paginatedTableData,(e,t)=>((0,i.uX)(),(0,i.Wv)(L,{key:t,item:e,selected:e.selected,"onUpdate:selected":t=>e.selected=t,fileLink:l.getFileLink(e.name),onEnter:t=>l.enterFolder(e.name),onDetail:a=>l.openDetailDialog(t,e.name),onCopy:a=>l.handleCopy(t,e.name),onFolderCopy:t=>l.handleFolderCopy(e.name),onMove:a=>l.handleMove(t,e.name),onDelete:a=>l.handleDelete(t,e.name),onDownload:t=>l.handleDownload(e.name),onTouchstart:a=>l.isFolder(e)?l.handleFolderTouchStart(e,t):l.handleTouchStart(e,t),onTouchend:l.handleTouchEnd,onTouchmove:l.handleTouchEnd},null,8,["item","selected","onUpdate:selected","fileLink","onEnter","onDetail","onCopy","onFolderCopy","onMove","onDelete","onDownload","onTouchstart","onTouchend","onTouchmove"]))),128))])),(0,i.Lk)("div",Sa,[(0,i.Lk)("div",La,[(0,i.bF)(E,{background:"",layout:"prev, pager, next",total:l.filteredTableData.length,"page-size":o.pageSize,"current-page":o.currentPage,"pager-count":l.pagerCount,onCurrentChange:l.handlePageChange},null,8,["total","page-size","current-page","pager-count","onCurrentChange"]),(0,i.bF)(A,{type:"primary",onClick:l.refreshFileList,class:"refresh-btn"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"sync",class:(0,s.C4)({"fa-spin":o.refreshLoading})},null,8,["class"])]),_:1},8,["onClick"]),o.currentPage===Math.ceil(l.filteredTableData.length/o.pageSize)?((0,i.uX)(),(0,i.Wv)(A,{key:0,type:"primary",onClick:l.loadMoreData,loading:o.loading,class:"load-more"},{default:(0,i.k6)(()=>[...t[40]||(t[40]=[(0,i.eW)(" 加载更多 ",-1)])]),_:1},8,["onClick","loading"])):(0,i.Q3)("",!0)]),(0,i.Lk)("div",Ea,[(0,i.Lk)("span",Aa,"共 "+(0,s.v_)(l.realTotalPages)+" 页",1),(0,i.Lk)("div",Ia,[t[42]||(t[42]=(0,i.Lk)("span",null,"跳至",-1)),(0,i.bF)(h,{modelValue:o.jumpPage,"onUpdate:modelValue":t[6]||(t[6]=e=>o.jumpPage=e),size:"small",class:"jump-input",onKeyup:(0,n.jR)(l.handleJumpPage,["enter"])},null,8,["modelValue","onKeyup"]),(0,i.bF)(A,{size:"small",type:"primary",onClick:l.handleJumpPage,class:"jump-btn"},{default:(0,i.k6)(()=>[...t[41]||(t[41]=[(0,i.eW)("GO",-1)])]),_:1},8,["onClick"])])])])]),_:1})]),_:1}),(0,i.bF)(U,{modelValue:o.showdetailDialog,"onUpdate:modelValue":t[7]||(t[7]=e=>o.showdetailDialog=e),file:o.detailFile,fileLink:l.getFileLink(o.detailFile?.name),urls:l.allUrl,onDownload:t[8]||(t[8]=e=>l.handleDownload(o.detailFile?.name)),onTagManagement:t[9]||(t[9]=e=>l.handleTagManagement(o.detailFile?.name)),onBlock:t[10]||(t[10]=e=>l.handleBlock(o.detailFile?.name)),onWhite:t[11]||(t[11]=e=>l.handleWhite(o.detailFile?.name)),onDelete:t[12]||(t[12]=e=>l.handleDetailDelete(o.detailFile?.name))},null,8,["modelValue","file","fileLink","urls"]),(0,i.bF)(O,{title:"链接格式",modelValue:o.showUrlDialog,"onUpdate:modelValue":t[17]||(t[17]=e=>o.showUrlDialog=e),width:l.dialogWidth,"show-close":!1,class:"settings-dialog"},{default:(0,i.k6)(()=>[(0,i.Lk)("div",Da,[t[49]||(t[49]=(0,i.Lk)("div",{class:"section-header"},[(0,i.Lk)("span",{class:"section-title"},"默认复制链接")],-1)),(0,i.Lk)("div",Ua,[(0,i.bF)(B,{modelValue:o.defaultUrlFormat,"onUpdate:modelValue":t[13]||(t[13]=e=>o.defaultUrlFormat=e),class:"radio-card-group grid-2x2"},{default:(0,i.k6)(()=>[(0,i.bF)(z,{label:"originUrl",class:"radio-card"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"link",class:"radio-icon"}),t[43]||(t[43]=(0,i.Lk)("span",null,"原始链接",-1))]),_:1}),(0,i.bF)(z,{label:"mdUrl",class:"radio-card"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"code",class:"radio-icon"}),t[44]||(t[44]=(0,i.Lk)("span",null,"Markdown",-1))]),_:1}),(0,i.bF)(z,{label:"htmlUrl",class:"radio-card"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"code-branch",class:"radio-icon"}),t[45]||(t[45]=(0,i.Lk)("span",null,"HTML",-1))]),_:1}),(0,i.bF)(z,{label:"bbUrl",class:"radio-card"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"quote-right",class:"radio-icon"}),t[46]||(t[46]=(0,i.Lk)("span",null,"BBCode",-1))]),_:1}),(0,i.bF)(z,{label:"tgId",class:"radio-card"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"paper-plane",class:"radio-icon"}),t[47]||(t[47]=(0,i.Lk)("span",null,"TG File ID",-1))]),_:1}),(0,i.bF)(z,{label:"s3Location",class:"radio-card"},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"cloud",class:"radio-icon"}),t[48]||(t[48]=(0,i.Lk)("span",null,"S3链接",-1))]),_:1})]),_:1},8,["modelValue"])])]),(0,i.Lk)("div",za,[(0,i.Lk)("div",Ba,[t[50]||(t[50]=(0,i.Lk)("span",{class:"section-title"},"自定义链接",-1)),(0,i.bF)(b,{content:"默认链接为https://your.domain/file/xxx.jpg
如果启用自定义链接格式,只保留xxx.jpg部分,其他部分请自行输入",placement:"top","raw-content":""},{default:(0,i.k6)(()=>[(0,i.bF)(d,{icon:"question-circle",class:"section-help-icon"})]),_:1})]),(0,i.Lk)("div",Wa,[(0,i.Lk)("div",Oa,[t[51]||(t[51]=(0,i.Lk)("span",{class:"setting-label"},"启用自定义",-1)),(0,i.bF)(W,{modelValue:o.useCustomUrl,"onUpdate:modelValue":t[14]||(t[14]=e=>o.useCustomUrl=e),"active-value":"true","inactive-value":"false"},null,8,["modelValue"])]),"true"===o.useCustomUrl?((0,i.uX)(),(0,i.CE)("div",$a,[t[52]||(t[52]=(0,i.Lk)("span",{class:"setting-label"},"自定义前缀",-1)),(0,i.bF)(h,{modelValue:o.customUrlPrefix,"onUpdate:modelValue":t[15]||(t[15]=e=>o.customUrlPrefix=e),placeholder:"请输入自定义链接前缀",class:"setting-input"},null,8,["modelValue"])])):(0,i.Q3)("",!0)])]),(0,i.Lk)("div",Pa,[(0,i.bF)(A,{type:"primary",onClick:t[16]||(t[16]=e=>o.showUrlDialog=!1),class:"confirm-btn"},{default:(0,i.k6)(()=>[...t[53]||(t[53]=[(0,i.eW)("确定",-1)])]),_:1})])]),_:1},8,["modelValue","width"]),(0,i.bF)($,{modelValue:o.showTagDialog,"onUpdate:modelValue":t[18]||(t[18]=e=>o.showTagDialog=e),fileId:o.currentTagFile,onTagsUpdated:l.handleTagsUpdated},null,8,["modelValue","fileId","onTagsUpdated"]),(0,i.bF)(P,{modelValue:o.showBatchTagDialog,"onUpdate:modelValue":t[19]||(t[19]=e=>o.showBatchTagDialog=e),selectedFiles:o.selectedFiles,onTagsUpdated:l.handleBatchTagsUpdated},null,8,["modelValue","selectedFiles","onTagsUpdated"]),(0,i.bF)(R,{modelValue:o.showMobileActionModal,"onUpdate:modelValue":t[20]||(t[20]=e=>o.showMobileActionModal=e),title:o.mobileActionIsFolder?l.getFolderName(o.mobileActionFile?.name||""):o.mobileActionFile?.metadata?.FileName||l.getFileName(o.mobileActionFile?.name||""),isFolder:o.mobileActionIsFolder,onAction:l.handleMobileAction},null,8,["modelValue","title","isFolder","onAction"]),(0,i.bF)(N,{modelValue:o.showMobileDirectoryDrawer,"onUpdate:modelValue":t[21]||(t[21]=e=>o.showMobileDirectoryDrawer=e),currentPath:o.currentPath,onNavigate:l.navigateToFolder,onGoBack:l.handleGoBack},null,8,["modelValue","currentPath","onNavigate","onGoBack"])])}a(1148),a(116),a(3579),a(7642),a(8004),a(3853),a(5876),a(2475),a(5024),a(1698),a(4603),a(7566),a(8721);var Na=a(8401),ja=a(4813),Va=a.n(ja);a(8335);class Ma{constructor(){this.FILE_LIST_PATH="data/fileList.json"}getLocalFileList(){try{const e=localStorage.getItem(this.FILE_LIST_PATH);return e?JSON.parse(e):{files:[],directories:[]}}catch(e){return console.error("Error reading local file list:",e),{files:[],directories:[]}}}saveFileList(e){try{return localStorage.setItem(this.FILE_LIST_PATH,JSON.stringify(e)),!0}catch(t){return console.error("Error saving file list:",t),!1}}addFile(e){try{const t=this.getLocalFileList();return t.files.push(e),this.saveFileList(t)}catch(t){return console.error("Error adding file:",t),!1}}addFolder(e){try{const t=this.getLocalFileList();return!t.directories.includes(e)&&(t.directories.push(e),this.saveFileList(t))}catch(t){return console.error("Error adding folder:",t),!1}}moveFile(e,t,a=!1,i=""){try{let n=this.getLocalFileList();if(a){const t=n.directories.indexOf(e);-1!==t&&n.directories.splice(t,1)}else{const t=n.files.findIndex(t=>t.name===e);-1!==t&&n.files.splice(t,1)}if(t.startsWith(i)){const e=t.substring(i.length).split("/");if(e.length>1){const t=i+e[0];n.directories.includes(t)||n.directories.push(t)}}return this.saveFileList(n)}catch(n){return console.error("Error moving file:",n),!1}}removeFile(e){try{let t=this.getLocalFileList();return t.files=t.files.filter(t=>t.name!==e),this.saveFileList(t)}catch(t){return console.error("Error removing file:",t),!1}}removeFolder(e){try{let t=this.getLocalFileList();return t.files=t.files.filter(t=>!t.name.startsWith(e+"/")),t.directories=t.directories.filter(t=>t!==e),this.saveFileList(t)}catch(t){return console.error("Error removing folder:",t),!1}}getFilesInFolder(e){try{const t=this.getLocalFileList(),a=t.files.filter(t=>t.name.startsWith(e+"/")),i=t.directories.filter(t=>t.startsWith(e+"/"));return{files:a,directories:i}}catch(t){return console.error("Error getting files in folder:",t),{files:[],directories:[]}}}buildFilterParams(e){let t="";return e.accessStatus&&e.accessStatus.length>0&&(t+=`&accessStatus=${encodeURIComponent(e.accessStatus.join(","))}`),e.listType&&e.listType.length>0&&(t+=`&listType=${encodeURIComponent(e.listType.join(","))}`),e.label&&e.label.length>0&&(t+=`&label=${encodeURIComponent(e.label.join(","))}`),e.fileType&&e.fileType.length>0&&(t+=`&fileType=${encodeURIComponent(e.fileType.join(","))}`),e.channel&&e.channel.length>0&&(t+=`&channel=${encodeURIComponent(e.channel.join(","))}`),e.channelName&&e.channelName.length>0&&(t+=`&channelName=${encodeURIComponent(e.channelName.join(","))}`),t}async refreshFileList(e,t="",a="",i="",n={}){t=t.trim();try{let s=`/api/manage/list?count=60&dir=${e}&search=${encodeURIComponent(t)}`;a&&(s+=`&includeTags=${encodeURIComponent(a)}`),i&&(s+=`&excludeTags=${encodeURIComponent(i)}`),s+=this.buildFilterParams(n);const r=await(0,K.A)(s,{method:"GET"}),o=await r.json();return o.isIndexedResponse||X.nk.warning("索引构建中,当前搜索和排序结果可能不准确,请稍后再试。"),this.saveFileList(o)}catch(s){return console.error("Error refreshing file list:",s),!1}}async loadMoreFiles(e,t="",a="",i="",n=60,s={}){t=t.trim();try{const r=this.getLocalFileList(),o=r.files.length;let l=`/api/manage/list?dir=${e}&start=${o}&count=${n}&search=${encodeURIComponent(t)}`;a&&(l+=`&includeTags=${encodeURIComponent(a)}`),i&&(l+=`&excludeTags=${encodeURIComponent(i)}`),l+=this.buildFilterParams(s);const c=await(0,K.A)(l,{method:"GET"}),d=await c.json();return r.files.push(...d.files),this.saveFileList(r)}catch(r){return console.error("Error loading more files:",r),{files:[],directories:[]}}}}const Xa=new Ma;var Za=a(2388),Ka=a(8903),Ga={name:"AdminDashBoard",mixins:[Ka.A],data(){return{Number:0,directFileCount:0,directFolderCount:0,showLogoutButton:!1,tableData:[],tempSearch:"",search:"",searchKeywords:"",searchIncludeTags:"",searchExcludeTags:"",isSearchMode:!1,currentPage:1,pageSize:15,selectedFiles:[],sortOption:"dateDesc",isUploading:!1,showdetailDialog:!1,detailFile:null,activeUrlTab:"originUrl",defaultUrlFormat:"originUrl",showUrlDialog:!1,useCustomUrl:"false",customUrlPrefix:"",loading:!1,currentPath:"",refreshLoading:!1,showTagDialog:!1,showBatchTagDialog:!1,currentTagFile:"",viewMode:"card",showMobileActionModal:!1,mobileActionFile:null,mobileActionIndex:-1,mobileActionIsFolder:!1,longPressTimer:null,showMobileDirectoryDrawer:!1,jumpPage:"",filters:{accessStatus:[],listType:[],label:[],fileType:[],channel:[],channelName:[]},channelNameOptions:[]}},components:{DashboardTabs:na.A,TagManagementDialog:me,BatchTagDialog:q,SkeletonLoader:zt,FileCard:_t,FolderCard:At,FileListItem:et,FileDetailDialog:Ee,MobileActionSheet:y,MobileDirectoryDrawer:f,FilterDropdown:ia},computed:{...(0,Na.L8)(["adminUrlSettings","userConfig"]),filteredTableData(){return this.tableData},totalPages(){return Math.ceil(this.filteredTableData.length/this.pageSize)||1},realTotalPages(){const e=this.directFolderCount+this.directFileCount;return Math.ceil(e/this.pageSize)||1},activeFilterCount(){return Object.values(this.filters).reduce((e,t)=>e+(Array.isArray(t)?t.length:0),0)},hasSearchOrFilter(){return this.isSearchMode||this.activeFilterCount>0},paginatedTableData(){const e=this.sortData(this.filteredTableData),t=(this.currentPage-1)*this.pageSize,a=t+this.pageSize;let i=e.slice(t,a);const n=i.filter(e=>this.isImage(e)).map(e=>this.getFileLink(e.name));return i.forEach(e=>{this.isImage(e)&&(e.previewSrcList=n.slice(n.indexOf(this.getFileLink(e.name))).concat(n.slice(0,n.indexOf(this.getFileLink(e.name)))))}),i.forEach(e=>{"TelegramNew"===e.metadata?.Channel||"Telegram"===e.metadata?.Channel?e.channelTag="TG":"CloudflareR2"===e.metadata?.Channel?e.channelTag="R2":"S3"===e.metadata?.Channel?e.channelTag="S3":"Discord"===e.metadata?.Channel?e.channelTag="DC":"HuggingFace"===e.metadata?.Channel?e.channelTag="HF":"External"===e.metadata?.Channel?e.channelTag="外链":e.channelTag="未知"}),i},sortIcon(){return"dateDesc"===this.sortOption?"sort-amount-down":"sort-alpha-up"},dialogWidth(){return window.innerWidth>768?"50%":"90%"},detailDialogWidth(){return window.innerWidth>768?"70%":"90%"},accessType(){return"White"===this.detailFile?.metadata?.ListType?"正常":"Block"===this.detailFile?.metadata?.ListType||"adult"===this.detailFile?.metadata?.Label?"受限":"正常"},allUrl(){return"External"===this.detailFile?.metadata?.Channel?{originUrl:`${this.detailFile?.metadata?.ExternalLink}`,mdUrl:``,htmlUrl:`
`,bbUrl:`[img]${this.detailFile?.metadata?.ExternalLink}[/img]`,tgId:this.detailFile?.metadata?.TgFileId||"未知",S3Location:this.detailFile?.metadata?.S3Location||"未知",S3CdnFileUrl:this.detailFile?.metadata?.S3CdnFileUrl||"未知"}:{originUrl:`${this.rootUrl}${this.detailFile?.name}`,mdUrl:``,htmlUrl:`
`,bbUrl:`[img]${this.rootUrl}${this.detailFile?.name}[/img]`,tgId:this.detailFile?.metadata?.TgFileId||"未知",S3Location:this.detailFile?.metadata?.S3Location||"未知",S3CdnFileUrl:this.detailFile?.metadata?.S3CdnFileUrl||"未知"}},tableColumnNum(){return window.innerWidth>768?3:1},tablePreviewSpan(){return window.innerWidth>768?2:1},disableTooltip(){return window.innerWidth<768},selectPage(){return this.paginatedTableData.every(e=>e.selected)},selectedPageFiles(){return this.paginatedTableData.some(e=>e.selected)},selectPageIcon(){return this.selectPage?"check-square":this.selectedPageFiles?"minus-square":"square"},rootUrl(){return"true"===this.useCustomUrl?this.customUrlPrefix:this.userConfig?.urlPrefix||`${document.location.origin}/file/`},isSelectAll:{get(){return this.paginatedTableData.length>0&&this.paginatedTableData.every(e=>e.selected)},set(e){this.paginatedTableData.forEach(t=>t.selected=e)}},isIndeterminate(){const e=this.paginatedTableData.filter(e=>e.selected).length;return e>0&&ee.selected&&!this.selectedFiles.includes(e))),this.selectedFiles=this.selectedFiles.filter(e=>e.selected),this.selectedFiles=this.selectedFiles.filter(t=>e.includes(t))},deep:!0},sortOption(e){localStorage.setItem("sortOption",e)},defaultUrlFormat(e){localStorage.setItem("defaultUrlFormat",e)},showdetailDialog(e){e&&(this.activeUrlTab=this.defaultUrlFormat||"originUrl")},customUrlPrefix(e){this.$store.commit("setAdminUrlSettings",{key:"customUrlPrefix",value:e})},useCustomUrl(e){this.$store.commit("setAdminUrlSettings",{key:"useCustomUrl",value:e})},currentPath(e){this.tableData.forEach(e=>e.selected=!1)}},methods:{toggleViewMode(){this.viewMode="card"===this.viewMode?"list":"card",localStorage.setItem("viewMode",this.viewMode)},handleSelectAllPage(e){this.paginatedTableData.forEach(t=>t.selected=e)},handleTouchStart(e,t){this.longPressTimer=setTimeout(()=>{this.mobileActionFile=e,this.mobileActionIndex=t,this.mobileActionIsFolder=!1,this.showMobileActionModal=!0},500)},handleTouchEnd(){this.longPressTimer&&(clearTimeout(this.longPressTimer),this.longPressTimer=null)},handleFolderTouchStart(e,t){this.longPressTimer=setTimeout(()=>{this.mobileActionFile=e,this.mobileActionIndex=t,this.mobileActionIsFolder=!0,this.showMobileActionModal=!0},500)},handleMobileAction(e){const t=this.mobileActionFile,a=this.mobileActionIndex;if(this.showMobileActionModal=!1,t)switch(e){case"detail":this.openDetailDialog(a,t.name);break;case"copy":this.handleCopy(a,t.name);break;case"folderCopy":this.handleFolderCopy(t.name);break;case"download":this.handleDownload(t.name);break;case"move":this.handleMove(a,t.name);break;case"delete":this.handleDelete(a,t.name);break;case"tag":this.handleTagManagement(t.name);break}},handleGoBack(){const e=this.currentPath.split("/").filter(Boolean);if(e.length>0){e.pop();const t=e.join("/");this.navigateToFolder(t)}this.showMobileDirectoryDrawer=!1},getTagColor(e){const t=["linear-gradient(135deg, #667eea 0%, #764ba2 100%)","linear-gradient(135deg, #f093fb 0%, #f5576c 100%)","linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)","linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)","linear-gradient(135deg, #fa709a 0%, #fee140 100%)","linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)"];return t[e%t.length]},handleVideoHover(e,t){const a=e.target;t?a.play().catch(()=>{}):(a.pause(),a.currentTime=0)},formatFileSize(e){if(!e||0===e)return"-";if(e=Number(e),isNaN(e))return"-";const t=["B","KB","MB","GB","TB"];let a=0;while(e>=1024&&a0?1:0)+" "+t[a]},handleSearch(){if(this.search=this.tempSearch,this.isSearchMode=""!==this.search.trim(),this.currentPage=1,this.search&&this.search.trim()){const e=[],t=[];let a=this.search;const i=/-#([\w\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af\.\+\-]+)/g;a=a.replace(i,(e,a)=>(t.push(a.toLowerCase())," "));const n=/#([\w\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af\.\+\-]+)/g;a=a.replace(n,(t,a)=>(e.push(a.toLowerCase())," ")),this.searchKeywords=a.replace(/\s+/g," ").trim(),this.searchIncludeTags=e.join(","),this.searchExcludeTags=t.join(","),console.log("Search keywords:",this.searchKeywords),console.log("Include tags:",this.searchIncludeTags),console.log("Exclude tags:",this.searchExcludeTags)}else this.searchKeywords="",this.searchIncludeTags="",this.searchExcludeTags="";this.refreshFileList()},handleFilterChange({type:e,filters:t}){this.filters=t,this.currentPage=1,this.refreshFileList()},clearFilters(){this.filters={listType:[],label:[],fileType:[],channel:[],channelName:[]},this.currentPage=1,this.refreshFileList()},async extractChannelNames(){try{const e=await(0,K.A)("/api/channels?includeDisabled=true",{method:"GET"});if(e.ok){const t=await e.json(),a=[],i={telegram:"Telegram",cfr2:"Cloudflare R2",s3:"S3",discord:"Discord",huggingface:"HuggingFace"};Object.entries(t).forEach(([e,t])=>{Array.isArray(t)&&t.length>0&&t.forEach(t=>{t.name&&a.push({name:t.name,type:t.type,typeLabel:i[e]||e,value:`${t.type}:${t.name}`})})}),a.sort((e,t)=>e.type!==t.type?e.type.localeCompare(t.type):e.name.localeCompare(t.name)),this.channelNameOptions=a}}catch(e){console.error("Failed to fetch channel names:",e)}},handleDownload(e){const t=document.createElement("a");t.href=this.getFileLink(e),t.download=e,t.click()},openDetailDialog(e,t){this.detailFile=this.paginatedTableData[e],this.showdetailDialog=!0},handleTabClick(e){this.activeUrlTab=e.props.name},handleUrlClick(e){navigator.clipboard.writeText(e.target.value).then(()=>{this.$message({type:"success",message:"复制成功"})}).catch(()=>{this.$message({type:"error",message:"复制失败"})})},handleDetailDelete(e){this.$confirm("此操作将永久删除该文件, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{(0,K.A)(`/api/manage/delete/${e}`,{method:"GET"}).then(t=>{if(!t.ok)return Promise.reject("请求失败");{const t=this.tableData.findIndex(t=>t.name===e);-1!==t&&this.tableData.splice(t,1)}}).then(()=>{this.updateStats(-1,!1),this.$message.success("删除成功"),this.showdetailDialog=!1}).catch(()=>this.$message.error("删除失败"))}).catch(()=>console.log("已取消删除"))},handleBlock(e){this.$confirm("此操作将把该文件加入黑名单, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{(0,K.A)(`/api/manage/block/${e}`,{method:"GET"}).then(t=>{if(!t.ok)return Promise.reject("请求失败");{const t=this.tableData.findIndex(t=>t.name===e);-1!==t&&(this.tableData[t].metadata.ListType="Block")}}).then(()=>{this.$message.success("加入黑名单成功")}).catch(()=>this.$message.error("加入黑名单失败"))}).catch(()=>console.log("已取消加入黑名单"))},handleWhite(e){this.$confirm("此操作将把该文件加入白名单, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{(0,K.A)(`/api/manage/white/${e}`,{method:"GET"}).then(t=>{if(!t.ok)return Promise.reject("请求失败");{const t=this.tableData.findIndex(t=>t.name===e);-1!==t&&(this.tableData[t].metadata.ListType="White")}}).then(()=>{this.$message.success("加入白名单成功")}).catch(()=>this.$message.error("加入白名单失败"))}).catch(()=>console.log("已取消加入白名单"))},handleDelete(e,t){const a=this.tableData.find(e=>e.name===t).isFolder;this.$confirm(`此操作将永久删除${a?"文件夹":"该文件"}, 是否继续?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{(0,K.A)(`/api/manage/delete/${t}?folder=${a}`,{method:"GET"}).then(e=>{if(!e.ok)return Promise.reject("请求失败");{const e=this.tableData.findIndex(e=>e.name===t);-1!==e&&this.tableData.splice(e,1)}}).then(()=>{this.updateStats(-1,!1),Xa.removeFile(t),this.$message.success("删除成功")}).catch(()=>this.$message.error("删除失败"))}).catch(()=>console.log("已取消删除"))},handleBatchDelete(){this.$confirm("此操作将永久删除选中的文件及文件夹, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{const e=this.selectedFiles.map(e=>{const t=e.isFolder;return(0,K.A)(`/api/manage/delete/${e.name}?folder=${t}`,{method:"GET"})});Promise.all(e).then(e=>{let t=0;e.forEach((e,a)=>{if(e.ok){t++;const e=this.tableData.findIndex(e=>e.name===this.selectedFiles[a].name);-1!==e&&this.tableData.splice(e,1),Xa.removeFile(this.selectedFiles[a].name)}}),this.selectedFiles=[],this.updateStats(-t,!1),this.$message.success("批量删除成功")}).catch(()=>this.$message.error("批量删除失败"))}).catch(()=>console.log("已取消批量删除"))},async handleBatchCopy(){const e=this.selectedFiles.filter(e=>!e.isFolder),t=this.selectedFiles.filter(e=>e.isFolder);let a=null;t.length>0&&(a=this.$loading({lock:!0,text:"正在获取文件列表..."}));try{let n=[...e];for(const e of t)try{const t=await(0,K.A)(`/api/manage/list?dir=${encodeURIComponent(e.name)}&recursive=true&count=-1`,{method:"GET"}),a=await t.json();a.files&&a.files.length>0&&(n=n.concat(a.files))}catch(i){console.error(`获取文件夹 ${e.name} 内容失败:`,i)}if(a&&a.close(),0===n.length)return void this.$message.warning("没有可复制的链接");const s=n.map(e=>this.generateFileLink(e.name,e.metadata)).filter(e=>e);if(0===s.length)return void this.$message.warning("没有可复制的链接");const r=s.join("\n");navigator.clipboard?(await navigator.clipboard.writeText(r),this.$message.success(`批量复制 ${s.length} 个链接成功`)):this.copyToClipboardFallback(r)}catch(i){a&&a.close(),console.error("批量复制链接失败:",i),this.$message.error("批量复制链接失败,请重试")}},copyToClipboardFallback(e){const t=document.createElement("textarea");document.body.appendChild(t),t.style.position="fixed",t.style.clip="rect(0 0 0 0)",t.style.top="10px",t.value=e,t.select(),document.execCommand("copy"),document.body.removeChild(t),this.$message.success("批量复制链接成功")},handleCopy(e,t){let a="";if("External"===this.paginatedTableData[e].metadata?.Channel)switch(this.defaultUrlFormat){case"originUrl":a=this.paginatedTableData[e].metadata?.ExternalLink;break;case"mdUrl":a=`![${this.paginatedTableData[e].metadata?.FileName||t}](${this.paginatedTableData[e].metadata?.ExternalLink})`;break;case"htmlUrl":a=`
`;break;case"bbUrl":a=`[img]${this.paginatedTableData[e].metadata?.ExternalLink}[/img]`;break;case"tgId":a=this.paginatedTableData[e].metadata?.TgFileId||"none";break;case"s3Location":a=this.paginatedTableData[e].metadata?.S3Location||"none";break}else switch(this.defaultUrlFormat){case"originUrl":a=`${this.rootUrl}${t}`;break;case"mdUrl":a=`![${this.paginatedTableData[e].metadata?.FileName||t}](${this.rootUrl}${t})`;break;case"htmlUrl":a=`
`;break;case"bbUrl":a=`[img]${this.rootUrl}${t}[/img]`;break;case"tgId":a=this.paginatedTableData[e].metadata?.TgFileId||"none";break;case"s3Location":a=this.paginatedTableData[e].metadata?.S3Location||"none";break}navigator.clipboard?navigator.clipboard.writeText(a).then(()=>this.$message.success("复制文件链接成功")):this.copyToClipboardFallback(a)},async loadMoreData(){this.loading=!0;try{await Xa.loadMoreFiles(this.currentPath,this.searchKeywords,this.searchIncludeTags,this.searchExcludeTags,60,this.filters),await this.fetchFileList()}catch(e){this.$message.error("加载更多文件失败,请检查网络连接")}finally{this.loading=!1}},updateStats(e,t=!1){t?this.Number=e:this.Number+=e},sort(e){this.sortOption=e},sortData(e){const t=e.filter(e=>e.isFolder),a=e.filter(e=>!e.isFolder);return"dateDesc"===this.sortOption?(t.sort((e,t)=>new Date(t.metadata?.TimeStamp)-new Date(e.metadata?.TimeStamp)),a.sort((e,t)=>new Date(t.metadata?.TimeStamp)-new Date(e.metadata?.TimeStamp))):(t.sort((e,t)=>e.name.localeCompare(t.name)),a.sort((e,t)=>e.name.localeCompare(t.name))),t.concat(a)},handleVideoClick(e){const t=e.target;t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen&&t.msRequestFullscreen()},handleLogout(){this.$store.commit("setCredentials",null),this.$router.push("/adminLogin")},handleSelectPage(){this.selectPage?this.paginatedTableData.forEach(e=>e.selected=!1):this.paginatedTableData.forEach(e=>e.selected=!0)},handleBatchAction(e){"copy"===e?this.handleBatchCopy():"delete"===e?this.handleBatchDelete():"download"===e?this.handleBatchDownload():"move"===e?this.handleBatchMove():"tagManagement"===e?this.handleBatchTagManagement():"ban"===e?this.handleBatchBlock():"white"===e&&this.handleBatchWhite()},handleMove(e,t){this.$prompt("请输入新的目录","移动文件",{confirmButtonText:"确定",cancelButtonText:"取消",inputValue:"/",beforeClose:(e,t,a)=>{if("confirm"===e){const e=t.inputValue,i=(0,Za.G)(e);if(!i.valid)return void this.$message.error(i.error);a()}else a()}}).then(({value:e})=>{const a=e.replace(/^\/+/,"")+(e.endsWith("/")||""===e?"":"/"),i=this.tableData.find(e=>e.name===t).isFolder;a!==this.currentPath?(0,K.A)(`/api/manage/move/${t}?folder=${i}&dist=${a}`,{method:"GET"}).then(e=>{if(!e.ok)return Promise.reject("请求失败");{const e=this.tableData.findIndex(e=>e.name===t);if(-1!==e){const n=a+t.split("/").pop();Xa.moveFile(t,n,i,this.currentPath),this.tableData.splice(e,1),this.$nextTick(()=>{const e=[...this.tableData];this.tableData=[],this.$nextTick(()=>{this.tableData=e})})}this.updateStats(-1,!1),this.$message.success("移动成功")}}).then(()=>{this.refreshLocalFileList()}).catch(()=>this.$message.error("移动失败")):this.$message.warning("目标文件夹不能是当前文件夹")}).catch(()=>console.log("已取消移动文件"))},handleBatchMove(){this.$prompt("请输入新的目录","移动文件",{confirmButtonText:"确定",cancelButtonText:"取消",inputValue:"/",beforeClose:(e,t,a)=>{if("confirm"===e){const e=t.inputValue,i=(0,Za.G)(e);if(!i.valid)return void this.$message.error(i.error);a()}else a()}}).then(({value:e})=>{const t=e.replace(/^\/+/,"")+(e.endsWith("/")||""===e?"":"/");if(t===this.currentPath)return void this.$message.warning("目标文件夹不能是当前文件夹");const a=this.selectedFiles.map(e=>{const a=e.isFolder;return(0,K.A)(`/api/manage/move/${e.name}?folder=${a}&dist=${t}`,{method:"GET"})});Promise.all(a).then(e=>{let a=0;e.forEach((e,i)=>{if(e.ok){a++;const e=this.selectedFiles[i];e.selected=!1;const n=this.tableData.findIndex(t=>t.name===e.name);if(-1!==n){const a=t+e.name.split("/").pop();Xa.moveFile(e.name,a,e.isFolder,this.currentPath),this.tableData.splice(n,1)}}}),this.$nextTick(()=>{const e=[...this.tableData];this.tableData=[],this.$nextTick(()=>{this.tableData=e})}),this.updateStats(-a,!1),this.$message.success("移动成功")}).then(()=>{this.refreshLocalFileList()}).catch(()=>this.$message.error("移动失败"))}).catch(()=>console.log("已取消移动文件"))},handleBatchBlock(){this.$confirm("此操作将把选中的文件加入黑名单, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{const e=this.selectedFiles.map(e=>e.isFolder?Promise.resolve({ok:!1}):(0,K.A)(`/api/manage/block/${e.name}`,{method:"GET"}));Promise.all(e).then(e=>{e.forEach((e,t)=>{if(e.ok){const e=this.tableData.findIndex(e=>e.name===this.selectedFiles[t].name);-1!==e&&(this.tableData[e].metadata.ListType="Block")}}),this.$message.success("批量加入黑名单成功")}).catch(()=>this.$message.error("批量加入黑名单失败"))}).catch(()=>console.log("已取消批量加入黑名单"))},handleBatchWhite(){this.$confirm("此操作将把选中的文件加入白名单, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{const e=this.selectedFiles.map(e=>e.isFolder?Promise.resolve({ok:!1}):(0,K.A)(`/api/manage/white/${e.name}`,{method:"GET"}));Promise.all(e).then(e=>{e.forEach((e,t)=>{if(e.ok){const e=this.tableData.findIndex(e=>e.name===this.selectedFiles[t].name);-1!==e&&(this.tableData[e].metadata.ListType="White")}}),this.$message.success("批量加入白名单成功")}).catch(()=>this.$message.error("批量加入白名单失败"))}).catch(()=>console.log("已取消批量加入白名单"))},handleBatchDownload(){const e=new(Va()),t=e.folder("files"),a={},i=this.selectedFiles.map(async e=>{if(e.isFolder)return;const i=await fetch(this.getFileLink(e.name)),n=await i.blob();let s=e.metadata?.FileName||e.name;if(a[s]){const t=s.substring(s.lastIndexOf(".")),i=s.substring(0,s.lastIndexOf("."));s=`${i}(${a[s]})${t}`,a[e.name]++}else a[s]=1;t.file(s,n)});Promise.all(i).then(()=>e.generateAsync({type:"blob"})).then(e=>{const t=document.createElement("a");t.href=URL.createObjectURL(e),t.download="files.zip",t.click()})},isVideo(e){if(this.isAudio(e))return!1;let t=e.metadata?.FileType?.includes("video");if(!t){const a=["mp4","webm","ogg","avi","mov","flv","wmv","mkv","rmvb","3gp","mpg","mpeg","m4v","f4v","rm","asf","dat","ts","vob","swf","divx","xvid","m2ts","mts","m2v","3g2","3gp2","3gpp","3gpp2","mpe","m1v","mpv","mpv2","mp2v","m2t","m2ts","m2v","m4v"],i=e.name.substring(e.name.lastIndexOf(".")+1).toLowerCase();t=a.includes(i)}return t},isAudio(e){let t=e.metadata?.FileType?.includes("audio");if(!t){const a=["mp3","wav","flac","aac","ogg","wma","m4a","ape","aiff","alac","opus","mid","midi","m4b","m4p","m4r","amr","au","ra","ram"],i=e.name.substring(e.name.lastIndexOf(".")+1).toLowerCase();t=a.includes(i)}return t},isImage(e){let t=e.metadata?.FileType?.includes("image");if(!t){const a=["jpg","jpeg","png","gif","bmp","webp","svg","ico","tiff","tif","psd","ai","eps","raw","cr2","nef","orf","sr2","dng","arw","rw2","raf","pef","x3f","srf","erf","mrw","nrw","kdc","dcr","mef","mos","crw","raf","rwl","srw","3fr","fff","iiq","qtk","bay","k25","kdc","dcs","drf","dng","erf","kdc","mdc","mef","mos","mrw","nef","nrw","orf","pef","ptx","pxn","r3d","raf","raw","rwl","rw2","rwz","sr2","srf","x3f"],i=e.name.substring(e.name.lastIndexOf(".")+1).toLowerCase();t=a.includes(i)}return t},getFileLink(e){const t=`/file/${e}?from=admin`;return t},handlePageChange(e){this.currentPage=e,this.currentPage===Math.ceil(this.tableData.length/this.pageSize)&&this.loadMoreData()},handleJumpPage(){const e=parseInt(this.jumpPage);isNaN(e)||e<1?this.$message.warning("请输入有效的页码"):e>this.realTotalPages?this.$message.warning(`页码不能超过 ${this.realTotalPages}`):(e>this.totalPages?(this.$message.info("正在加载数据,请稍候..."),this.loadMoreDataUntilPage(e)):this.currentPage=e,this.jumpPage="")},async loadMoreDataUntilPage(e){this.loading=!0;try{const t=e*this.pageSize,a=this.filteredTableData.filter(e=>e.isFolder).length,i=this.filteredTableData.filter(e=>!e.isFolder).length,n=Math.max(0,t-a-i);n>0&&(await Xa.loadMoreFiles(this.currentPath,this.searchKeywords,this.searchIncludeTags,this.searchExcludeTags,n,this.filters),await this.fetchFileList()),this.currentPage=Math.min(e,this.totalPages)}catch(t){this.$message.error("加载数据失败,请检查网络连接")}finally{this.loading=!1}},isFolder(e){if(e.isFolder)return!0;let t=e.name;if(t.startsWith("http")&&(t=t.split("/file/")[1]),t&&t.includes("/")){const e=this.currentPath?t.substring(this.currentPath.length):t;return""===this.currentPath?!t.split("/")[0].includes("."):e.includes("/")}return!1},getFolderName(e){let t="";if(e&&e.includes("/")){const a=e.split("/");if(""===this.currentPath)t=a[0];else{const a=e.substring(this.currentPath.length);t=a.split("/")[0]}}else t=e;const a=20;if(t.length>a){const e=Math.floor((a-3)/2),i=Math.ceil((a-3)/2);return`${t.substring(0,e)}...${t.substring(t.length-i)}`}return t},getFileName(e){let t=e.split("/").pop();const a=20;if(t.length>a){const e=Math.floor((a-3)/2),i=Math.ceil((a-3)/2);return`${t.substring(0,e)}...${t.substring(t.length-i)}`}return t},getFileNameStart(e){if(!e)return"";if(e.length<=30)return e;const t=e.lastIndexOf(".");if(t>0){const a=e.substring(0,t),i=Math.min(a.length,Math.floor(.6*e.length));return a.substring(0,i)}return e.substring(0,Math.floor(.6*e.length))},getFileNameEnd(e){if(!e)return"";if(e.length<=30)return"";const t=e.lastIndexOf(".");if(t>0){const a=e.substring(t),i=e.substring(0,t),n=Math.min(8,Math.floor(.2*i.length));return"…"+i.substring(i.length-n)+a}const a=Math.min(10,Math.floor(.3*e.length));return"…"+e.substring(e.length-a)},enterFolder(e){this.currentPath=e+(e.endsWith("/")?"":"/"),this.refreshFileList()},navigateToFolder(e){this.currentPath=e?e+(e.endsWith("/")?"":"/"):"",this.refreshFileList()},async fetchFileList(){this.loading=!0;try{const e=Xa.getLocalFileList(),t=new Set(e.directories||[]),a=e.files||[],i=Array.from(t).map(e=>({name:e,isFolder:!0,selected:!1,metadata:{FileName:e.split("/").pop()}})),n=a.map(e=>({name:e.name,isFolder:!1,selected:!1,metadata:e.metadata}));this.tableData=[...i,...n],this.updateStats(e.totalCount,!0),this.directFileCount=e.directFileCount||0,this.directFolderCount=e.directFolderCount||0}catch(e){console.error("Error fetching file list:",e),this.$message.error("获取文件列表失败")}finally{this.loading=!1}},async refreshFileList(){this.refreshLoading=!0,this.loading=!0;try{const e=await Xa.refreshFileList(this.currentPath,this.searchKeywords,this.searchIncludeTags,this.searchExcludeTags,this.filters);if(!e)throw new Error("Refresh failed");await this.fetchFileList()}catch(e){console.error("Error refreshing file list:",e),this.$message.error("刷新失败,请重试")}finally{this.refreshLoading=!1,this.loading=!1}},async refreshLocalFileList(){this.refreshLoading=!0,this.loading=!0;try{await this.fetchFileList()}catch(e){console.error("Error refreshing local file list:",e),this.$message.error("刷新失败,请重试")}finally{this.refreshLoading=!1,this.loading=!1}},handleTagManagement(e){this.currentTagFile=e,this.showTagDialog=!0},handleBatchTagManagement(){0!==this.selectedFiles.length?this.showBatchTagDialog=!0:this.$message.warning("请先选择文件")},async handleTagsUpdated(e){const t=this.tableData.findIndex(e=>e.name===this.currentTagFile);-1!==t&&(this.tableData[t].metadata||(this.tableData[t].metadata={}),this.tableData[t].metadata.Tags=e,this.showdetailDialog&&this.detailFile?.name===this.currentTagFile&&(this.detailFile.metadata||(this.detailFile.metadata={}),this.detailFile.metadata.Tags=e))},async handleBatchTagsUpdated(){await this.refreshLocalFileList()},generateFileLink(e,t){const a="External"===t?.Channel,i=a?t?.ExternalLink:`${this.rootUrl}${e}`,n=t?.FileName||e;switch(this.defaultUrlFormat){case"originUrl":return i;case"mdUrl":return``;case"htmlUrl":return`
`;case"bbUrl":return`[img]${i}[/img]`;case"tgId":return t?.TgFileId||"";case"s3Location":return t?.S3Location||"";default:return i}},async handleFolderCopy(e){const t=this.$loading({lock:!0,text:"正在获取文件列表..."});try{const a=await(0,K.A)(`/api/manage/list?dir=${encodeURIComponent(e)}&recursive=true&count=-1`,{method:"GET"}),i=await a.json();if(t.close(),!i.files||0===i.files.length)return void this.$message.warning("文件夹为空,没有可复制的链接");const n=i.files.map(e=>this.generateFileLink(e.name,e.metadata)).filter(e=>e);if(0===n.length)return void this.$message.warning("没有可复制的链接");const s=n.join("\n");navigator.clipboard?(await navigator.clipboard.writeText(s),this.$message.success(`已复制 ${n.length} 个文件链接`)):(this.copyToClipboardFallback(s),this.$message.success(`已复制 ${n.length} 个文件链接`))}catch(a){t.close(),console.error("复制文件夹链接失败:",a),this.$message.error("复制文件夹链接失败,请重试")}}},mounted(){this.initializeBackground("adminBkImg",".container",!1,!0),this.loading=!0,(0,K.A)("/api/manage/check",{method:"GET"}).then(e=>e.text()).then(e=>{if("true"==e)return this.showLogoutButton=!0,!0;if("Not using basic auth."==e)return!0;throw new Error("Unauthorized")}).then(()=>this.refreshFileList()).then(()=>this.extractChannelNames()).catch(e=>{"Unauthorized"!==e.message&&this.$message.error("同步数据时出错,请检查网络连接")}).finally(()=>{this.loading=!1}),this.customUrlPrefix=this.adminUrlSettings.customUrlPrefix,this.useCustomUrl=this.adminUrlSettings.useCustomUrl}};const Ha=(0,h.A)(Ga,[["render",Ra],["__scopeId","data-v-d2ac7aea"]]);var qa=Ha},3565:function(e,t,a){"use strict";a(5331)},4396:function(e,t,a){"use strict";a(5331),a(4885)},4813:function(e,t,a){a(4114),a(6573),a(8100),a(7936),a(8111),a(2489),a(7588),a(9577),a(1549),a(9797),a(9631),a(5623),a(9848),function(t){e.exports=t()}(function(){return function e(t,a,i){function n(r,o){if(!a[r]){if(!t[r]){var l=void 0;if(!o&&l)return require(r,!0);if(s)return s(r,!0);var c=new Error("Cannot find module '"+r+"'");throw c.code="MODULE_NOT_FOUND",c}var d=a[r]={exports:{}};t[r][0].call(d.exports,function(e){var a=t[r][1][e];return n(a||e)},d,d.exports,e,t,a,i)}return a[r].exports}for(var s=void 0,r=0;r>2,o=(3&t)<<4|a>>4,l=1>6:64,c=2>4,a=(15&r)<<4|(o=s.indexOf(e.charAt(c++)))>>2,i=(3&o)<<6|(l=s.indexOf(e.charAt(c++))),u[d++]=t,64!==o&&(u[d++]=a),64!==l&&(u[d++]=i);return u}},{"./support":30,"./utils":32}],2:[function(e,t,a){"use strict";var i=e("./external"),n=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),r=e("./stream/DataLengthProbe");function o(e,t,a,i,n){this.compressedSize=e,this.uncompressedSize=t,this.crc32=a,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var e=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,a){return e.pipe(new s).pipe(new r("uncompressedSize")).pipe(t.compressWorker(a)).pipe(new r("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,a){"use strict";var i=e("./stream/GenericWorker");a.STORE={magic:"\0\0",compressWorker:function(){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},a.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,a){"use strict";var i=e("./utils"),n=function(){for(var e,t=[],a=0;a<256;a++){e=a;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[a]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==i.getTypeOf(e)?function(e,t,a,i){var s=n,r=i+a;e^=-1;for(var o=i;o>>8^s[255&(e^t[o])];return-1^e}(0|t,e,e.length,0):function(e,t,a,i){var s=n,r=i+a;e^=-1;for(var o=i;o>>8^s[255&(e^t.charCodeAt(o))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,a){"use strict";a.base64=!1,a.binary=!1,a.dir=!1,a.createFolders=!0,a.date=null,a.compression=null,a.compressionOptions=null,a.comment=null,a.unixPermissions=null,a.dosPermissions=null},{}],6:[function(e,t,a){"use strict";var i=null;i="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:i}},{lie:37}],7:[function(e,t,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=e("pako"),s=e("./utils"),r=e("./stream/GenericWorker"),o=i?"uint8array":"array";function l(e,t){r.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}a.magic="\b\0",s.inherits(l,r),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},l.prototype.flush=function(){r.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},a.compressWorker=function(e){return new l("Deflate",e)},a.uncompressWorker=function(){return new l("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,a){"use strict";function i(e,t){var a,i="";for(a=0;a>>=8;return i}function n(e,t,a,n,r,d){var h,u,f=e.file,m=e.compression,p=d!==o.utf8encode,g=s.transformTo("string",d(f.name)),b=s.transformTo("string",o.utf8encode(f.name)),v=f.comment,k=s.transformTo("string",d(v)),y=s.transformTo("string",o.utf8encode(v)),_=b.length!==f.name.length,w=y.length!==v.length,F="",C="",T="",x=f.dir,S=f.date,L={crc32:0,compressedSize:0,uncompressedSize:0};t&&!a||(L.crc32=e.crc32,L.compressedSize=e.compressedSize,L.uncompressedSize=e.uncompressedSize);var E=0;t&&(E|=8),p||!_&&!w||(E|=2048);var A=0,I=0;x&&(A|=16),"UNIX"===r?(I=798,A|=function(e,t){var a=e;return e||(a=t?16893:33204),(65535&a)<<16}(f.unixPermissions,x)):(I=20,A|=function(e){return 63&(e||0)}(f.dosPermissions)),h=S.getUTCHours(),h<<=6,h|=S.getUTCMinutes(),h<<=5,h|=S.getUTCSeconds()/2,u=S.getUTCFullYear()-1980,u<<=4,u|=S.getUTCMonth()+1,u<<=5,u|=S.getUTCDate(),_&&(C=i(1,1)+i(l(g),4)+b,F+="up"+i(C.length,2)+C),w&&(T=i(1,1)+i(l(k),4)+y,F+="uc"+i(T.length,2)+T);var D="";return D+="\n\0",D+=i(E,2),D+=m.magic,D+=i(h,2),D+=i(u,2),D+=i(L.crc32,4),D+=i(L.compressedSize,4),D+=i(L.uncompressedSize,4),D+=i(g.length,2),D+=i(F.length,2),{fileRecord:c.LOCAL_FILE_HEADER+D+g+F,dirRecord:c.CENTRAL_FILE_HEADER+i(I,2)+D+i(k.length,2)+"\0\0\0\0"+i(A,4)+i(n,4)+g+F+k}}var s=e("../utils"),r=e("../stream/GenericWorker"),o=e("../utf8"),l=e("../crc32"),c=e("../signature");function d(e,t,a,i){r.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=a,this.encodeFileName=i,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}s.inherits(d,r),d.prototype.push=function(e){var t=e.meta.percent||0,a=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,r.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:a?(t+100*(a-i-1))/a:100}}))},d.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var a=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:a.fileRecord,meta:{percent:0}})}else this.accumulate=!0},d.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,a=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(a.dirRecord),t)this.push({data:function(e){return c.DATA_DESCRIPTOR+i(e.crc32,4)+i(e.compressedSize,4)+i(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:a.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},d.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)a=(a<<8)+this.byteAt(t);return this.index+=e,a},readString:function(e){return i.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=n},{"../utils":32}],19:[function(e,t,a){"use strict";var i=e("./Uint8ArrayReader");function n(e){i.call(this,e)}e("../utils").inherits(n,i),n.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=n},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,a){"use strict";var i=e("./DataReader");function n(e){i.call(this,e)}e("../utils").inherits(n,i),n.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},n.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},n.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},n.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=n},{"../utils":32,"./DataReader":18}],21:[function(e,t,a){"use strict";var i=e("./ArrayReader");function n(e){i.call(this,e)}e("../utils").inherits(n,i),n.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=n},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,a){"use strict";var i=e("../utils"),n=e("../support"),s=e("./ArrayReader"),r=e("./StringReader"),o=e("./NodeBufferReader"),l=e("./Uint8ArrayReader");t.exports=function(e){var t=i.getTypeOf(e);return i.checkSupport(t),"string"!==t||n.uint8array?"nodebuffer"===t?new o(e):n.uint8array?new l(i.transformTo("uint8array",e)):new s(i.transformTo("array",e)):new r(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,a){"use strict";a.LOCAL_FILE_HEADER="PK",a.CENTRAL_FILE_HEADER="PK",a.CENTRAL_DIRECTORY_END="PK",a.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",a.ZIP64_CENTRAL_DIRECTORY_END="PK",a.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,a){"use strict";var i=e("./GenericWorker"),n=e("../utils");function s(e){i.call(this,"ConvertWorker to "+e),this.destType=e}n.inherits(s,i),s.prototype.processChunk=function(e){this.push({data:n.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,a){"use strict";var i=e("./GenericWorker"),n=e("../crc32");function s(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,i),s.prototype.processChunk=function(e){this.streamInfo.crc32=n(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,a){"use strict";var i=e("../utils"),n=e("./GenericWorker");function s(e){n.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}i.inherits(s,n),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}n.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,a){"use strict";var i=e("../utils"),n=e("./GenericWorker");function s(e){n.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=i.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,a){"use strict";function i(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var a=0;a "+e:e}},t.exports=i},{}],29:[function(e,t,a){"use strict";var i=e("../utils"),n=e("./ConvertWorker"),s=e("./GenericWorker"),r=e("../base64"),o=e("../support"),l=e("../external"),c=null;if(o.nodestream)try{c=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function d(e,t){return new l.Promise(function(a,n){var s=[],o=e._internalType,l=e._outputType,c=e._mimeType;e.on("data",function(e,a){s.push(e),t&&t(a)}).on("error",function(e){s=[],n(e)}).on("end",function(){try{var e=function(e,t,a){switch(e){case"blob":return i.newBlob(i.transformTo("arraybuffer",t),a);case"base64":return r.encode(t);default:return i.transformTo(e,t)}}(l,function(e,t){var a,i=0,n=null,s=0;for(a=0;a>>6:(a<65536?t[r++]=224|a>>>12:(t[r++]=240|a>>>18,t[r++]=128|a>>>12&63),t[r++]=128|a>>>6&63),t[r++]=128|63&a);return t}(e)},a.utf8decode=function(e){return n.nodebuffer?i.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,a,n,s,r=e.length,l=new Array(2*r);for(t=a=0;t>10&1023,l[a++]=56320|1023&n)}return l.length!==a&&(l.subarray?l=l.subarray(0,a):l.length=a),i.applyFromCharCode(l)}(e=i.transformTo(n.uint8array?"uint8array":"array",e))},i.inherits(c,r),c.prototype.processChunk=function(e){var t=i.transformTo(n.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(n.uint8array){var s=t;(t=new Uint8Array(s.length+this.leftOver.length)).set(this.leftOver,0),t.set(s,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var r=function(e,t){var a;for((t=t||e.length)>e.length&&(t=e.length),a=t-1;0<=a&&128==(192&e[a]);)a--;return a<0||0===a?t:a+o[e[a]]>t?a:t}(t),l=t;r!==t.length&&(n.uint8array?(l=t.subarray(0,r),this.leftOver=t.subarray(r,t.length)):(l=t.slice(0,r),this.leftOver=t.slice(r,t.length))),this.push({data:a.utf8decode(l),meta:e.meta})},c.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:a.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},a.Utf8DecodeWorker=c,i.inherits(d,r),d.prototype.processChunk=function(e){this.push({data:a.utf8encode(e.data),meta:e.meta})},a.Utf8EncodeWorker=d},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var i=e("./support"),n=e("./base64"),s=e("./nodejsUtils"),r=e("./external");function o(e){return e}function l(e,t){for(var a=0;a>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===n.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===n.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===n.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===n.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,a,i,n=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4>>6:(a<65536?t[r++]=224|a>>>12:(t[r++]=240|a>>>18,t[r++]=128|a>>>12&63),t[r++]=128|a>>>6&63),t[r++]=128|63&a);return t},a.buf2binstring=function(e){return l(e,e.length)},a.binstring2buf=function(e){for(var t=new i.Buf8(e.length),a=0,n=t.length;a>10&1023,c[i++]=56320|1023&n)}return l(c,i)},a.utf8border=function(e,t){var a;for((t=t||e.length)>e.length&&(t=e.length),a=t-1;0<=a&&128==(192&e[a]);)a--;return a<0||0===a?t:a+r[e[a]]>t?a:t}},{"./common":41}],43:[function(e,t,a){"use strict";t.exports=function(e,t,a,i){for(var n=65535&e,s=e>>>16&65535,r=0;0!==a;){for(a-=r=2e3>>1:e>>>1;t[a]=e}return t}();t.exports=function(e,t,a,n){var s=i,r=n+a;e^=-1;for(var o=n;o>>8^s[255&(e^t[o])];return-1^e}},{}],46:[function(e,t,a){"use strict";var i,n=e("../utils/common"),s=e("./trees"),r=e("./adler32"),o=e("./crc32"),l=e("./messages"),c=0,d=4,h=0,u=-2,f=-1,m=4,p=2,g=8,b=9,v=286,k=30,y=19,_=2*v+1,w=15,F=3,C=258,T=C+F+1,x=42,S=113,L=1,E=2,A=3,I=4;function D(e,t){return e.msg=l[t],t}function U(e){return(e<<1)-(4e.avail_out&&(a=e.avail_out),0!==a&&(n.arraySet(e.output,t.pending_buf,t.pending_out,a,e.next_out),e.next_out+=a,t.pending_out+=a,e.total_out+=a,e.avail_out-=a,t.pending-=a,0===t.pending&&(t.pending_out=0))}function W(e,t){s._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,B(e.strm)}function O(e,t){e.pending_buf[e.pending++]=t}function $(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function P(e,t){var a,i,n=e.max_chain_length,s=e.strstart,r=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-T?e.strstart-(e.w_size-T):0,c=e.window,d=e.w_mask,h=e.prev,u=e.strstart+C,f=c[s+r-1],m=c[s+r];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do{if(c[(a=t)+r]===m&&c[a+r-1]===f&&c[a]===c[s]&&c[++a]===c[s+1]){s+=2,a++;do{}while(c[++s]===c[++a]&&c[++s]===c[++a]&&c[++s]===c[++a]&&c[++s]===c[++a]&&c[++s]===c[++a]&&c[++s]===c[++a]&&c[++s]===c[++a]&&c[++s]===c[++a]&&sl&&0!=--n);return r<=e.lookahead?r:e.lookahead}function R(e){var t,a,i,s,l,c,d,h,u,f,m=e.w_size;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=m+(m-T)){for(n.arraySet(e.window,e.window,m,m,0),e.match_start-=m,e.strstart-=m,e.block_start-=m,t=a=e.hash_size;i=e.head[--t],e.head[t]=m<=i?i-m:0,--a;);for(t=a=m;i=e.prev[--t],e.prev[t]=m<=i?i-m:0,--a;);s+=m}if(0===e.strm.avail_in)break;if(c=e.strm,d=e.window,h=e.strstart+e.lookahead,u=s,f=void 0,f=c.avail_in,u=F)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<=F&&(e.ins_h=(e.ins_h<=F)if(i=s._tr_tally(e,e.strstart-e.match_start,e.match_length-F),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=F){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=F&&(e.ins_h=(e.ins_h<=F&&e.match_length<=e.prev_length){for(n=e.strstart+e.lookahead-F,i=s._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-F),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=n&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(a=e.pending_buf_size-5);;){if(e.lookahead<=1){if(R(e),0===e.lookahead&&t===c)return L;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+a;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,W(e,!1),0===e.strm.avail_out))return L;if(e.strstart-e.block_start>=e.w_size-T&&(W(e,!1),0===e.strm.avail_out))return L}return e.insert=0,t===d?(W(e,!0),0===e.strm.avail_out?A:I):(e.strstart>e.block_start&&(W(e,!1),e.strm.avail_out),L)}),new V(4,4,8,4,N),new V(4,5,16,8,N),new V(4,6,32,32,N),new V(4,4,16,16,j),new V(8,16,32,32,j),new V(8,16,128,128,j),new V(8,32,128,256,j),new V(32,128,258,1024,j),new V(32,258,258,4096,j)],a.deflateInit=function(e,t){return K(e,t,g,15,8,0)},a.deflateInit2=K,a.deflateReset=Z,a.deflateResetKeep=X,a.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?u:(e.state.gzhead=t,h):u},a.deflate=function(e,t){var a,n,r,l;if(!e||!e.state||5>8&255),O(n,n.gzhead.time>>16&255),O(n,n.gzhead.time>>24&255),O(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),O(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(O(n,255&n.gzhead.extra.length),O(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=o(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(O(n,0),O(n,0),O(n,0),O(n,0),O(n,0),O(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),O(n,3),n.status=S);else{var f=g+(n.w_bits-8<<4)<<8;f|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(f|=32),f+=31-f%31,n.status=S,$(n,f),0!==n.strstart&&($(n,e.adler>>>16),$(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(r=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>r&&(e.adler=o(e.adler,n.pending_buf,n.pending-r,r)),B(e),r=n.pending,n.pending!==n.pending_buf_size));)O(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>r&&(e.adler=o(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){r=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>r&&(e.adler=o(e.adler,n.pending_buf,n.pending-r,r)),B(e),r=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindexr&&(e.adler=o(e.adler,n.pending_buf,n.pending-r,r)),0===l&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){r=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>r&&(e.adler=o(e.adler,n.pending_buf,n.pending-r,r)),B(e),r=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindexr&&(e.adler=o(e.adler,n.pending_buf,n.pending-r,r)),0===l&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&B(e),n.pending+2<=n.pending_buf_size&&(O(n,255&e.adler),O(n,e.adler>>8&255),e.adler=0,n.status=S)):n.status=S),0!==n.pending){if(B(e),0===e.avail_out)return n.last_flush=-1,h}else if(0===e.avail_in&&U(t)<=U(a)&&t!==d)return D(e,-5);if(666===n.status&&0!==e.avail_in)return D(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==c&&666!==n.status){var m=2===n.strategy?function(e,t){for(var a;;){if(0===e.lookahead&&(R(e),0===e.lookahead)){if(t===c)return L;break}if(e.match_length=0,a=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,a&&(W(e,!1),0===e.strm.avail_out))return L}return e.insert=0,t===d?(W(e,!0),0===e.strm.avail_out?A:I):e.last_lit&&(W(e,!1),0===e.strm.avail_out)?L:E}(n,t):3===n.strategy?function(e,t){for(var a,i,n,r,o=e.window;;){if(e.lookahead<=C){if(R(e),e.lookahead<=C&&t===c)return L;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=F&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=F?(a=s._tr_tally(e,1,e.match_length-F),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(a=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),a&&(W(e,!1),0===e.strm.avail_out))return L}return e.insert=0,t===d?(W(e,!0),0===e.strm.avail_out?A:I):e.last_lit&&(W(e,!1),0===e.strm.avail_out)?L:E}(n,t):i[n.level].func(n,t);if(m!==A&&m!==I||(n.status=666),m===L||m===A)return 0===e.avail_out&&(n.last_flush=-1),h;if(m===E&&(1===t?s._tr_align(n):5!==t&&(s._tr_stored_block(n,0,0,!1),3===t&&(z(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),B(e),0===e.avail_out))return n.last_flush=-1,h}return t!==d?h:n.wrap<=0?1:(2===n.wrap?(O(n,255&e.adler),O(n,e.adler>>8&255),O(n,e.adler>>16&255),O(n,e.adler>>24&255),O(n,255&e.total_in),O(n,e.total_in>>8&255),O(n,e.total_in>>16&255),O(n,e.total_in>>24&255)):($(n,e.adler>>>16),$(n,65535&e.adler)),B(e),0=a.w_size&&(0===o&&(z(a.head),a.strstart=0,a.block_start=0,a.insert=0),f=new n.Buf8(a.w_size),n.arraySet(f,t,m-a.w_size,a.w_size,0),t=f,m=a.w_size),l=e.avail_in,c=e.next_in,d=e.input,e.avail_in=m,e.next_in=0,e.input=t,R(a);a.lookahead>=F;){for(i=a.strstart,s=a.lookahead-(F-1);a.ins_h=(a.ins_h<>>=y=k>>>24,m-=y,0===(y=k>>>16&255))x[s++]=65535&k;else{if(!(16&y)){if(0==(64&y)){k=p[(65535&k)+(f&(1<>>=y,m-=y),m<15&&(f+=T[i++]<>>=y=k>>>24,m-=y,!(16&(y=k>>>16&255))){if(0==(64&y)){k=g[(65535&k)+(f&(1<>>=y,m-=y,(y=s-r)>3,f&=(1<<(m-=_<<3))-1,e.next_in=i,e.next_out=s,e.avail_in=i>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function g(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function b(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=u,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(f),t.distcode=t.distdyn=new i.Buf32(m),t.sane=1,t.back=-1,d):h}function v(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,b(e)):h}function k(e,t){var a,i;return e&&e.state?(i=e.state,t<0?(a=0,t=-t):(a=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=r.wsize?(i.arraySet(r.window,t,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n<(s=r.wsize-r.wnext)&&(s=n),i.arraySet(r.window,t,a-n,s,r.wnext),(n-=s)?(i.arraySet(r.window,t,a-n,n,0),r.wnext=n,r.whave=r.wsize):(r.wnext+=s,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,a.check=s(a.check,R,2,0),_=y=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&y)<<8)+(y>>8))%31){e.msg="incorrect header check",a.mode=30;break}if(8!=(15&y)){e.msg="unknown compression method",a.mode=30;break}if(_-=4,B=8+(15&(y>>>=4)),0===a.wbits)a.wbits=B;else if(B>a.wbits){e.msg="invalid window size",a.mode=30;break}a.dmax=1<>8&1),512&a.flags&&(R[0]=255&y,R[1]=y>>>8&255,a.check=s(a.check,R,2,0)),_=y=0,a.mode=3;case 3:for(;_<32;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}a.head&&(a.head.time=y),512&a.flags&&(R[0]=255&y,R[1]=y>>>8&255,R[2]=y>>>16&255,R[3]=y>>>24&255,a.check=s(a.check,R,4,0)),_=y=0,a.mode=4;case 4:for(;_<16;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}a.head&&(a.head.xflags=255&y,a.head.os=y>>8),512&a.flags&&(R[0]=255&y,R[1]=y>>>8&255,a.check=s(a.check,R,2,0)),_=y=0,a.mode=5;case 5:if(1024&a.flags){for(;_<16;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}a.length=y,a.head&&(a.head.extra_len=y),512&a.flags&&(R[0]=255&y,R[1]=y>>>8&255,a.check=s(a.check,R,2,0)),_=y=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&(v<(x=a.length)&&(x=v),x&&(a.head&&(B=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),i.arraySet(a.head.extra,f,g,x,B)),512&a.flags&&(a.check=s(a.check,f,x,g)),v-=x,g+=x,a.length-=x),a.length))break e;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===v)break e;for(x=0;B=f[g+x++],a.head&&B&&a.length<65536&&(a.head.name+=String.fromCharCode(B)),B&&x>9&1,a.head.done=!0),e.adler=a.check=0,a.mode=12;break;case 10:for(;_<32;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}e.adler=a.check=p(y),_=y=0,a.mode=11;case 11:if(0===a.havedict)return e.next_out=b,e.avail_out=k,e.next_in=g,e.avail_in=v,a.hold=y,a.bits=_,2;e.adler=a.check=1,a.mode=12;case 12:if(5===t||6===t)break e;case 13:if(a.last){y>>>=7&_,_-=7&_,a.mode=27;break}for(;_<3;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}switch(a.last=1&y,_-=1,3&(y>>>=1)){case 0:a.mode=14;break;case 1:if(C(a),a.mode=20,6!==t)break;y>>>=2,_-=2;break e;case 2:a.mode=17;break;case 3:e.msg="invalid block type",a.mode=30}y>>>=2,_-=2;break;case 14:for(y>>>=7&_,_-=7&_;_<32;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}if((65535&y)!=(y>>>16^65535)){e.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&y,_=y=0,a.mode=15,6===t)break e;case 15:a.mode=16;case 16:if(x=a.length){if(v>>=5,_-=5,a.ndist=1+(31&y),y>>>=5,_-=5,a.ncode=4+(15&y),y>>>=4,_-=4,286>>=3,_-=3}for(;a.have<19;)a.lens[N[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,O={bits:a.lenbits},W=o(0,a.lens,0,19,a.lencode,0,a.work,O),a.lenbits=O.bits,W){e.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have>>16&255,I=65535&P,!((E=P>>>24)<=_);){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}if(I<16)y>>>=E,_-=E,a.lens[a.have++]=I;else{if(16===I){for($=E+2;_<$;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}if(y>>>=E,_-=E,0===a.have){e.msg="invalid bit length repeat",a.mode=30;break}B=a.lens[a.have-1],x=3+(3&y),y>>>=2,_-=2}else if(17===I){for($=E+3;_<$;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}_-=E,B=0,x=3+(7&(y>>>=E)),y>>>=3,_-=3}else{for($=E+7;_<$;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}_-=E,B=0,x=11+(127&(y>>>=E)),y>>>=7,_-=7}if(a.have+x>a.nlen+a.ndist){e.msg="invalid bit length repeat",a.mode=30;break}for(;x--;)a.lens[a.have++]=B}}if(30===a.mode)break;if(0===a.lens[256]){e.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,O={bits:a.lenbits},W=o(l,a.lens,0,a.nlen,a.lencode,0,a.work,O),a.lenbits=O.bits,W){e.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,O={bits:a.distbits},W=o(c,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,O),a.distbits=O.bits,W){e.msg="invalid distances set",a.mode=30;break}if(a.mode=20,6===t)break e;case 20:a.mode=21;case 21:if(6<=v&&258<=k){e.next_out=b,e.avail_out=k,e.next_in=g,e.avail_in=v,a.hold=y,a.bits=_,r(e,F),b=e.next_out,m=e.output,k=e.avail_out,g=e.next_in,f=e.input,v=e.avail_in,y=a.hold,_=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;A=(P=a.lencode[y&(1<>>16&255,I=65535&P,!((E=P>>>24)<=_);){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}if(A&&0==(240&A)){for(D=E,U=A,z=I;A=(P=a.lencode[z+((y&(1<>D)])>>>16&255,I=65535&P,!(D+(E=P>>>24)<=_);){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}y>>>=D,_-=D,a.back+=D}if(y>>>=E,_-=E,a.back+=E,a.length=I,0===A){a.mode=26;break}if(32&A){a.back=-1,a.mode=12;break}if(64&A){e.msg="invalid literal/length code",a.mode=30;break}a.extra=15&A,a.mode=22;case 22:if(a.extra){for($=a.extra;_<$;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}a.length+=y&(1<>>=a.extra,_-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;A=(P=a.distcode[y&(1<>>16&255,I=65535&P,!((E=P>>>24)<=_);){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}if(0==(240&A)){for(D=E,U=A,z=I;A=(P=a.distcode[z+((y&(1<>D)])>>>16&255,I=65535&P,!(D+(E=P>>>24)<=_);){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}y>>>=D,_-=D,a.back+=D}if(y>>>=E,_-=E,a.back+=E,64&A){e.msg="invalid distance code",a.mode=30;break}a.offset=I,a.extra=15&A,a.mode=24;case 24:if(a.extra){for($=a.extra;_<$;){if(0===v)break e;v--,y+=f[g++]<<_,_+=8}a.offset+=y&(1<>>=a.extra,_-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){e.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===k)break e;if(x=F-k,a.offset>x){if((x=a.offset-x)>a.whave&&a.sane){e.msg="invalid distance too far back",a.mode=30;break}S=x>a.wnext?(x-=a.wnext,a.wsize-x):a.wnext-x,x>a.length&&(x=a.length),L=a.window}else L=m,S=b-a.offset,x=a.length;for(kv?(y=O[$+h[C]],U[z+h[C]]):(y=96,0),f=1<>E)+(m-=f)]=k<<24|y<<16|_,0!==m;);for(f=1<>=1;if(0!==f?(D&=f-1,D+=f):D=0,C++,0==--B[F]){if(F===x)break;F=t[a+h[C]]}if(S>>7)]}function O(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function $(e,t,a){e.bi_valid>p-a?(e.bi_buf|=t<>p-e.bi_valid,e.bi_valid+=a-p):(e.bi_buf|=t<>>=1,a<<=1,0<--t;);return a>>>1}function N(e,t,a){var i,n,s=new Array(m+1),r=0;for(i=1;i<=m;i++)s[i]=r=r+a[i-1]<<1;for(n=0;n<=t;n++){var o=e[2*n+1];0!==o&&(e[2*n]=R(s[o]++,o))}}function j(e){var t;for(t=0;t>1;1<=a;a--)X(e,s,a);for(n=l;a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],X(e,s,1),i=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=i,s[2*n]=s[2*a]+s[2*i],e.depth[n]=(e.depth[a]>=e.depth[i]?e.depth[a]:e.depth[i])+1,s[2*a+1]=s[2*i+1]=n,e.heap[1]=n++,X(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var a,i,n,s,r,o,l=t.dyn_tree,c=t.max_code,d=t.stat_desc.static_tree,h=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,p=t.stat_desc.extra_base,g=t.stat_desc.max_length,b=0;for(s=0;s<=m;s++)e.bl_count[s]=0;for(l[2*e.heap[e.heap_max]+1]=0,a=e.heap_max+1;a>=7;i>>=1)if(1&a&&0!==e.dyn_ltree[2*t])return n;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return s;for(t=32;t>>3,(o=e.static_len+3+7>>>3)<=r&&(r=o)):r=o=a+5,a+4<=r&&-1!==t?Q(e,t,a,i):4===e.strategy||o===r?($(e,2+(i?1:0),3),Z(e,T,x)):($(e,4+(i?1:0),3),function(e,t,a,i){var n;for($(e,t-257,5),$(e,a-1,5),$(e,i-4,4),n=0;n>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&a,e.last_lit++,0===t?e.dyn_ltree[2*a]++:(e.matches++,t--,e.dyn_ltree[2*(L[a]+c+1)]++,e.dyn_dtree[2*W(t)]++),e.last_lit===e.lit_bufsize-1},a._tr_align=function(e){$(e,2,3),P(e,b,T),function(e){16===e.bi_valid?(O(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,a){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,i){(function(e){!function(e,t){"use strict";if(!e.setImmediate){var a,i,n,s,r=1,o={},l=!1,c=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,a="[object process]"==={}.toString.call(e.process)?function(e){process.nextTick(function(){u(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,a=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=a,t}}()?(s="setImmediate$"+Math.random()+"$",e.addEventListener?e.addEventListener("message",f,!1):e.attachEvent("onmessage",f),function(t){e.postMessage(s+t,"*")}):e.MessageChannel?((n=new MessageChannel).port1.onmessage=function(e){u(e.data)},function(e){n.port2.postMessage(e)}):c&&"onreadystatechange"in c.createElement("script")?(i=c.documentElement,function(e){var t=c.createElement("script");t.onreadystatechange=function(){u(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):function(e){setTimeout(u,0,e)},d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),i=0;i