From 149f598f6d19898b425ab13158090b002ad5731b Mon Sep 17 00:00:00 2001 From: GeekMaster Date: Thu, 17 Jul 2025 18:05:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E9=A1=B5=E9=9D=A2=E6=95=B4?= =?UTF-8?q?=E5=90=88=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 +- web/src/App.vue | 12 + web/src/assets/css/keling.styl | 363 ------------ web/src/assets/css/luma.css | 142 ----- web/src/assets/css/luma.styl | 362 ------------ web/src/assets/css/theme-light.styl | 1 + web/src/assets/css/video.styl | 567 +++++++++++++++++++ web/src/assets/iconfont/iconfont.css | 144 ++++- web/src/assets/iconfont/iconfont.js | 2 +- web/src/assets/iconfont/iconfont.json | 240 +++++++- web/src/assets/iconfont/iconfont.ttf | Bin 42688 -> 54084 bytes web/src/assets/iconfont/iconfont.woff | Bin 27768 -> 35196 bytes web/src/assets/iconfont/iconfont.woff2 | Bin 23952 -> 30412 bytes web/src/router.js | 14 +- web/src/store/video.js | 590 ++++++++++++++++++++ web/src/views/KeLing.vue | 745 ------------------------- web/src/views/Luma.vue | 387 ------------- web/src/views/Video.vue | 645 +++++++++++++++++++++ 18 files changed, 2203 insertions(+), 2016 deletions(-) delete mode 100644 web/src/assets/css/keling.styl delete mode 100644 web/src/assets/css/luma.css delete mode 100644 web/src/assets/css/luma.styl create mode 100644 web/src/assets/css/video.styl create mode 100644 web/src/store/video.js delete mode 100644 web/src/views/KeLing.vue delete mode 100644 web/src/views/Luma.vue create mode 100644 web/src/views/Video.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index 6123875c..33fee544 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,12 @@ ## v4.2.5 -- 功能优化:在代码右下角增加复制代码功能按钮,增加收起和展开代码功能。 +- 功能优化:在代码右下角增加复制代码功能按钮,增加收起和展开代码功能 - Bug 修复:修复 Shift + Enter 不换行的 Bug - Bug 修复:修复管理后台菜单添加页面的文本错误 +- Bug 修复:解决聊天页面异常退出不断重连的 bug +- 功能优化:把 Luma 和可灵视频生成页面整合成一个视频创作中心页面,统一管理视频任务 +- 功能新增:增加即梦 AI 专题页面,支持即梦官方原生 API 的图片和视频生成 🎉🎉🎉 ## v4.2.4 diff --git a/web/src/App.vue b/web/src/App.vue index 2875a867..41319f43 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -118,6 +118,18 @@ html, body { } } +.el-popper.is-customized { + /* 设置内边距以保证高度为32px */ + padding: 6px 12px; + background: linear-gradient(180deg, #e1bee7, #7e57c2); + color #fff +} + +.el-popper.is-customized .el-popper__arrow::before { + background: linear-gradient(180deg, #b39ddb, #7e57c2); + right: 0; +} + /* 省略显示 */ .ellipsis { overflow: hidden; diff --git a/web/src/assets/css/keling.styl b/web/src/assets/css/keling.styl deleted file mode 100644 index 0605d130..00000000 --- a/web/src/assets/css/keling.styl +++ /dev/null @@ -1,363 +0,0 @@ -.page-keling - display flex - min-height 100vh - :deep(.el-form-item__label) - color var(--text-theme-color) - .grid-content - // background-color #383838 - background var(--card-bg) - border-radius 8px - padding 8px 14px - display flex - cursor pointer - margin-bottom 10px - // border 1px solid #383838 - border 1px solid var(--chat-bg) - &:hover - border 1px solid var(--theme-border-hover) - .icon - width 20px - height 20px - margin-bottom 5px - .texts - margin-left 5px - margin-top 2px - color var(--text-theme-color) - .param-line.pt - padding-top 5px - padding-bottom 5px - .grid-content.active - // color #47fff1 - // background-color #585858 - border 1px solid var(--theme-border-hover) - .h-20 - height 4rem !important - .main-content - padding-right 1.5rem - padding-left 1.5rem - padding-bottom 1rem - flex 1 - background var(--chat-bg) - // width: 100%; - // padding 0 10px 10px 10px - color var(--text-theme-color) - overflow-x hidden - .camera-control - padding 10px - border-radius 4px - background var(--card-bg) - :deep(.el-form-item:last-child) - margin-bottom 0 !important - .title-tabs - :deep(.el-tabs__item.is-active) - color var(--theme-textcolor-normal) - font-size 18px - :deep(.el-tabs__item) - color var(--text-theme-color) - font-size 18px - .el-tabs - --el-tabs-header-height 55px - .el-tabs__item - color var(--text-theme-color) - font-size 18px - .el-tabs__item.is-active, .title-tabs .el-tabs__item.is-active - .title-tabs .el-tabs__active-bar - background-color var(--theme-textcolor-normal) - :deep(.el-textarea) - --el-input-focus-border-color var(--el-color-primary) - :deep(.el-textarea__inner) - background transparent - color var(--text-theme-color) - .el-input__wrapper - background transparent - padding 5px - .text - margin-bottom 10px - color #6b778c - font-size 15px - .param-line.pt - padding-top 5px - padding-bottom 5px - .form-item-inner - display flex - align-items center - .el-icon - margin-left 10px - .el-form-item__label - color var(--text-theme-color) - // 图片上传样式 - .img-inline - display flex - gap 20px - align-items center - .img-uploader - text-align center - :deep(.el-upload) - border 1px dashed var(--el-border-color) - border-radius 6px - cursor pointer - position relative - overflow hidden - width 120px - height 120px - line-height 120px - transition var(--el-transition-duration-fast) - margin-bottom 20px - &:hover - border-color var(--el-color-primary) - .el-icon.uploader-icon - font-size 28px - color #8c939d - width 100% - height 120px - text-align center - .img-list-box - display flex - .img-item - width 120px - position relative - margin-right 10px - .el-image - width 120px - height 120px - border-radius 5px - .el-button - position absolute - right 5px - top 5px - width 20px - height 20px - .el-row.text-info - width 100% - padding 10px 0 - .el-tag - margin-right 10px - // 提交按钮 - .submit-btn - display flex - margin 20px 0 - .el-button - width 200px - .video-list - .btn - margin-right 10px - border none - border-radius 5px - padding 5px 10px - cursor pointer - color var(--theme-text-color-primary) - background-color var(--btn-bg) - &:hover - opacity 0.7 - .list-box - padding 0 - .item - display flex - flex-flow row - align-items center - min-height 100px - padding 10px 15px - border-radius 10px - cursor pointer - margin-bottom 20px - background var(--chat-bg) - .left - .container - width 160px - position relative - max-height 120px - overflow hidden - display flex - justify-content center - align-items center - .video - width 160px - border-radius 5px - .el-image - width 160px - height 90px - border-radius 5px - .duration - position absolute - bottom 0 - right 0 - background-color rgba(14, 8, 8, 0.7) - padding 0 3px - font-family 'Input Sans' - font-size 14px - font-weight 700 - border-radius 0.125rem - .play - position absolute - width 100% - height 100% - top 0 - left 50% - border none - border-radius 5px - background rgba(100, 100, 100, 0.3) - cursor pointer - color var(--text-theme-color) - opacity 0 - transform translate(-50%, 0px) - transition opacity 0.3s ease 0s - &:hover - .play - opacity 1 - // display block - .center - width 100% - // border 1px solid saddlebrown - display flex - justify-content center - align-items flex-start - flex-flow column - padding 0 20px - .prompt, .failed - padding 0 - font-size 16px - max-height 60px - line-height 28px - overflow hidden - text-overflow ellipsis - .prompt - color var(--text-fb) - cursor text - .failed - color #E4696B - .right - display flex - justify-content right - min-width 200px - font-size 14px - padding 0 - .tools - display flex - justify-content left - align-items center - flex-flow row - height 90px - .btn-publish - padding 2px 10px - .text - margin-right 10px - .btn-icon - background none - padding 6px - transition background 0.6s ease 0s - color #919191 - &:hover - // background #5f5958 - // color #e1e1e1 - color var(--el-color-primary) - .downloading - width 16px - .pagination - margin-top 20px - display flex - justify-content center - .inner - display flex - width 100% - .mj-box - margin 10px - // background-color #262626 - // border 1px solid #454545 - // height: calc(100vh - 50px) - // overflow: scroll - min-width 300px - max-width 300px - padding 20px - border-radius 10px - color var(--text-theme-color) - font-size 14px - overflow auto - h2 - font-weight bold - font-size 20px - text-align center - color var(--theme-textcolor-normal) - // 隐藏滚动条 - ::-webkit-scrollbar - width 0 - height 0 - background-color transparent - .mj-params - margin-top 10px - overflow auto - .param-line - padding 0 10px - .el-icon - position relative - .model - background var(--card-bg) - // border 1px solid #454545 - border-radius 8px - padding 5px - margin-bottom 10px - display flex - flex-flow column - align-items center - cursor pointer - border 1px solid var(--chat-bg) - &:hover - border 1px solid var(--theme-border-hover) - .el-image - height 40px - width 100% - .text - margin-top 4px - font-size 12px - .model.active - // color #47fff1 - // background-color #585858 - border 1px solid var(--theme-border-hover) - .form-item-inner - display flex - align-items center - .el-select - --el-select-input-focus-border-color var(--el-color-primary) - --el-input-focus-border-color var(--el-color-primary) - .el-input__wrapper - background var(--chat-bg) - .el-input__inner - color var(--text-theme-color) - .el-icon - margin-left 10px - .img-uploader - .el-upload - border 1px dashed var(--el-border-color) - border-radius 6px - cursor pointer - position relative - overflow hidden - width 100% - transition var(--el-transition-duration-fast) - &:hover - border-color var(--el-color-primary) - .el-icon.uploader-icon - font-size 28px - color #8c939d - width 100% - height 120px - text-align center - .param-line.pt - display flex - align-items center - padding-top 5px - padding-bottom 5px - .el-form - .el-form-item__label - color var(--text-theme-color) - .el-input, .el-slider - width 180px - .uploader-icon - font-size 24px - position relative - top 3px - .no-more-data - text-align center - padding 30px - .generate-btn - .iconfont - margin-right 5px diff --git a/web/src/assets/css/luma.css b/web/src/assets/css/luma.css deleted file mode 100644 index ec316d99..00000000 --- a/web/src/assets/css/luma.css +++ /dev/null @@ -1,142 +0,0 @@ -.page-luma { - display: flex; - height: 100%; - background-color: #0e0808; - overflow: auto; - flex-flow: column; - align-items: center; - background: linear-gradient(180deg, rgba(75,62,53,0.8), rgba(144,50,181,0.3)); -} -.page-luma .prompt-box { - display: flex; - max-width: 56rem; - width: 100%; - padding: 20px; - flex-flow: column; -} -.page-luma .prompt-box .images { - display: flex; - flex-flow: row; - padding-bottom: 10px; - justify-content: center; -} -.page-luma .prompt-box .images .item { - position: relative; -} -.page-luma .prompt-box .images .item .el-image { - width: 100px; - height: 100px; - border-radius: 6px; - margin-right: 10px; -} -.page-luma .prompt-box .images .item .el-icon { - position: absolute; - cursor: pointer; - font-size: 20px; - color: #545454; - right: 10px; - top: 0; -} -.page-luma .prompt-box .images .item .el-icon:hover { - color: #888; -} -.page-luma .prompt-box .prompt-container { - width: 100%; -} -.page-luma .prompt-box .prompt-container .input-container { - background: linear-gradient(90deg, rgba(75,62,53,0.8), rgba(144,50,181,0.3)); - border-radius: 28px; - padding: 10px 20px; - display: flex; - align-items: center; - box-shadow: 0 2px 10px rgba(0,0,0,0.2); -} -.page-luma .prompt-box .prompt-container .input-container .prompt-input { - background: transparent; - border: none; - outline: none; - color: #fff; - font-size: 14px; - width: 100%; - padding: 10px; - resize: none; - white-space: pre-wrap; - word-wrap: break-word; - line-height: 24px; - overflow-wrap: break-word; - scrollbar-width: none; /* 隐藏滚动条 */ -} -.page-luma .prompt-box .prompt-container .input-container .prompt-input::placeholder { - color: rgba(255,255,255,0.6); -} -.page-luma .prompt-box .prompt-container .input-container .prompt-input::-webkit-scrollbar { - display: none; -} -.page-luma .prompt-box .prompt-container .input-container .upload-icon, -.page-luma .prompt-box .prompt-container .input-container .send-icon { - color: #e1e1e1; -} -.page-luma .prompt-box .prompt-container .input-container .upload-icon .iconfont, -.page-luma .prompt-box .prompt-container .input-container .send-icon .iconfont { - font-size: 20px; - cursor: pointer; -} -.page-luma .prompt-box .prompt-container .input-container .upload-icon { - position: relative; -} -.page-luma .video-container { - display: flex; - flex-flow: column; - width: 100%; - padding: 0 40px; -} -.page-luma .video-container .h-title { - color: #fff; - width: 100%; - font-size: 36px; - text-align: left; -} -.page-luma .video-container .videos .item { - margin-bottom: 20px; -} -.page-luma .video-container .videos .item .video-box { - width: 100%; - border-radius: 10px; -} -.page-luma .video-container .videos .item .video-box video, -.page-luma .video-container .videos .item .video-box img { - width: 100%; - height: 100%; - object-fit: cover; - border-radius: 10px; - cursor: pointer; -} -.page-luma .video-container .videos .item .video-name { - color: #e1e1e1; - font-size: 16px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - padding: 6px 0; - text-align: center; -} -.page-luma .video-container .videos .item .opts { - display: flex; - justify-content: center; -} -.page-luma .video-container .videos .item .opts .btn { - margin-right: 10px; - background-color: rgba(255,255,255,0.15); - border: none; - border-radius: 20px; - padding: 3px 15px; - cursor: pointer; - color: #fff; - font-size: 14px; -} -.page-luma .video-container .videos .item .opts .btn .iconfont { - font-size: 12px; -} -.page-luma .video-container .videos .item .opts .btn:hover { - background-color: rgba(255,255,255,0.2); -} diff --git a/web/src/assets/css/luma.styl b/web/src/assets/css/luma.styl deleted file mode 100644 index aebc0a25..00000000 --- a/web/src/assets/css/luma.styl +++ /dev/null @@ -1,362 +0,0 @@ -.page-luma { - display flex - height 100% - // background-color #0E0808 - // background: var(--chat-bg); - - overflow auto - //justify-content center - flex-flow column - align-items center - // background: linear-gradient(180deg, rgba(75, 62, 53, 0.8), rgba(144, 50, 181, 0.3)); - - - .prompt-box { - display flex - max-width 56rem - width 100% - padding 20px - flex-flow column - - .images { - display flex - flex-flow row - padding-bottom 10px - justify-content center - align-items center - - .item { - position relative - - .el-image { - width 100px - height 100px - border-radius 6px - margin-right 10px - } - - .el-icon { - position absolute - cursor pointer - font-size 20px - color #545454 - right 10px - top 0 - - &:hover { - color #888888 - } - } - } - - .btn-swap { - margin-right 10px - .icon-exchange{ - color var(--text-theme-color) - cursor pointer - } - } - } - - - .prompt-container { - width: 100%; - .input-container { - background: var(--chat-bg); - // background: linear-gradient(90deg, rgba(75, 62, 53, 0.8), rgba(144, 50, 181, 0.3)); - border-radius: 28px; - padding: 10px 20px; - display: flex; - align-items: center; - margin-bottom: 16px; - // box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); - - .prompt-input { - background: transparent; - border: none; - outline: none; - color var(--text-theme-color); - font-size: 14px; - width: 100%; - padding: 10px; - resize: none; - white-space: pre-wrap; - word-wrap: break-word; - line-height 24px - overflow-wrap: break-word; - - scrollbar-width: none; /* 隐藏滚动条 */ - - &::-webkit-scrollbar { - display: none; - } - } - - .upload-icon, .send-icon { - color var( --el-color-primary) - .iconfont { - font-size 20px - cursor pointer - } - } - .upload-icon { - position relative - } - } - .params { - display flex - justify-content right - color var(--text-theme-color); - font-size 14px - padding 10px 30px - - .item-group { - margin-left 20px - .label { - margin-right 5px - position relative - top 1px - } - } - } - } - - } - - - .video-container { - display flex - flex-flow column - width 100% - padding 0 40px - - .h-title { - color var(--text-theme-color) - width 100% - // font-size 36px - text-align left - } - - .list-box { - padding 0 - .item { - display flex - flex-flow row - align-items center - min-height 100px - padding 10px 15px - border-radius 10px - cursor pointer - margin-bottom 20px - background: var(--chat-bg); - - - - .left { - .container { - width 160px - position relative - - .video{ - width 160px - border-radius 5px - } - - .el-image { - width 160px - height 90px - border-radius 5px - } - - .duration { - position absolute - bottom 0 - right 0 - background-color rgba(14,8,8,.7) - padding 0 3px - font-family 'Input Sans' - font-size 14px - font-weight 700 - border-radius .125rem - } - - .play { - position absolute - width: 100% - height 100% - top: 0; - left: 50%; - border none - border-radius 5px - background rgba(100, 100, 100, 0.3) - cursor pointer - color var(--text-theme-color) - - opacity 0 - transform: translate(-50%, 0px); - transition opacity 0.3s ease 0s - } - - &:hover { - .play { - opacity 1 - //display block - } - } - } - } - - .center { - width 100% - //border 1px solid saddlebrown - display flex - justify-content center - align-items flex-start - flex-flow column - padding 0 20px - - .prompt,.failed { - padding 0 - font-size 16px - max-height 80px - line-height 28px - overflow hidden - text-overflow ellipsis - } - .prompt { - color var( --text-fb) - cursor: text - } - .failed { - color #E4696B - } - } - - .right { - display flex - justify-content right - min-width 200px; - font-size 14px - padding 0 - - .tools { - display flex - justify-content left - align-items center - flex-flow row - height 90px - - .btn-publish { - padding 2px 10px - - .text { - margin-right 10px - } - } - - .btn-icon { - background none - padding 6px - transition background 0.6s ease 0s - color #919191 - - &:hover { - // background #5f5958 - // color #e1e1e1 - color:var(--el-color-primary) - } - - .downloading { - width 16px - } - } - } - } - } - - } - - .pagination { - margin-top 20px - display flex - justify-content center - } - - //.videos { - // .item { - // margin-bottom 20px - // - // .video-box { - // width 100% - // aspect-ratio: 16/9; - // border-radius 10px - // video,img { - // width: 100%; - // height: 100%; - // object-fit: cover; - // border-radius 10px - // cursor pointer - // } - // } - // - // - // .video-name { - // color #e1e1e1 - // font-size 16px - // white-space nowrap - // overflow hidden - // text-overflow ellipsis - // padding 6px 0 - // text-align center - // } - // - // .opts { - // display flex - // justify-content center - // .btn { - // margin-right 10px - // background-color hsla(0,0%,100%,.15) - // border none - // border-radius 20px - // padding 3px 15px - // cursor pointer - // color var(--text-theme-color) - // font-size 14px - // - // .iconfont { - // font-size 11px - // position relative - // margin-right 5px - // top -2px - // } - // - // .el-image { - // width 14px - // height 14px - // margin-right 5px - // } - // - // &:hover { - // background-color hsla(0,0%,100%,.2) - // } - // } - // } - // } - //} - } - - .btn { - margin-right 10px - border none - border-radius 5px - padding 5px 10px - cursor pointer - color: var(--theme-text-color-primary) - background-color var(--btn-bg) - - &:hover { - opacity: 0.7 - } - } - -} \ No newline at end of file diff --git a/web/src/assets/css/theme-light.styl b/web/src/assets/css/theme-light.styl index 3642c494..69405a1a 100644 --- a/web/src/assets/css/theme-light.styl +++ b/web/src/assets/css/theme-light.styl @@ -5,6 +5,7 @@ --text-fb:#000; --text-color: #5b62ce; // 主要的文本颜色 --normal-color: rgba(43, 54, 116, 1); // 普通颜色 + --theme-textcolor-normal:#5b62ce;; p, h1, h2, h3, h4, h5, h6, article { font-family: $font-regular; } diff --git a/web/src/assets/css/video.styl b/web/src/assets/css/video.styl new file mode 100644 index 00000000..21d11a40 --- /dev/null +++ b/web/src/assets/css/video.styl @@ -0,0 +1,567 @@ +// 视频生成页面统一样式 +.page-video { + display: flex; + min-height: 100vh; + background: var(--chat-bg); + + // Element Plus 样式覆盖 + :deep(.el-form-item__label) { + color: var(--text-theme-color); + } + + :deep(.el-textarea) { + --el-input-focus-border-color: var(--el-color-primary); + } + + :deep(.el-textarea__inner) { + background: transparent; + color: var(--text-theme-color); + } + + .el-input__wrapper { + background: transparent; + padding: 5px; + } + + // 左侧参数面板 + .params-panel { + min-width: 320px; + max-width: 320px; + margin: 10px; + padding: 0 15px 20px 15px; + border-radius: 10px; + color: var(--text-theme-color); + font-size: 14px; + overflow: auto; + background: var(--card-bg); + + h2 { + font-weight: bold; + font-size: 20px; + text-align: center; + color: var(--theme-textcolor-normal); + margin-bottom: 20px; + } + + // 隐藏滚动条 + ::-webkit-scrollbar { + width: 0; + height: 0; + background-color: transparent; + } + + // 标签页样式 + .video-type-tabs { + margin-bottom: 20px; + + :deep(.el-tabs__item.is-active) { + color: var(--theme-textcolor-normal); + font-size: 16px; + } + + :deep(.el-tabs__item) { + color: var(--text-theme-color); + font-size: 16px; + } + + :deep(.el-tabs__active-bar) { + background-color: var(--theme-textcolor-normal); + } + + .el-tabs { + --el-tabs-header-height: 45px; + } + } + + // 参数行 + .param-line { + padding: 5px 0; + + &.pt { + padding-top: 10px; + padding-bottom: 10px; + } + + .label { + margin-right: 5px; + position: relative; + top: 1px; + } + + .form-item-inner { + display: flex; + align-items: center; + + .el-icon { + margin-left: 10px; + } + } + } + + // 表单项样式 + .el-form { + .el-form-item__label { + color: var(--text-theme-color); + } + + .el-input, .el-slider { + width: 100%; + } + + .el-select { + width: 100%; + --el-select-input-focus-border-color: var(--el-color-primary); + --el-input-focus-border-color: var(--el-color-primary); + + .el-input__wrapper { + background: var(--chat-bg); + } + + .el-input__inner { + color: var(--text-theme-color); + } + } + } + + // 网格内容项 + .grid-content { + background: var(--card-bg); + border-radius: 8px; + padding: 8px 14px; + display: flex; + cursor: pointer; + margin-bottom: 10px; + border: 1px solid var(--chat-bg); + + &:hover { + border: 1px solid var(--theme-border-hover); + } + + &.active { + border: 1px solid var(--theme-border-hover); + } + + .icon { + width: 20px; + height: 20px; + margin-bottom: 5px; + + &.proportion { + width: 20px; + height: 20px; + } + } + + .texts { + margin-left: 5px; + margin-top: 2px; + color: var(--text-theme-color); + } + } + + // 运镜控制 + .camera-control { + padding: 10px; + border-radius: 4px; + background: var(--card-bg); + + :deep(.el-form-item:last-child) { + margin-bottom: 0 !important; + } + } + + // 生成按钮 + .generate-btn { + .iconfont { + margin-right: 5px; + } + } + + // 项目组样式 + .item-group { + display: flex; + align-items: center; + margin-bottom: 15px; + + .label { + margin-right: 10px; + } + } + + // 图片模式切换样式 + .image-mode-toggle { + display: flex; + align-items: center; + justify-content: space-between; + + .label { + margin-right: 10px; + color: var(--text-theme-color); + } + } + + // 过渡动画 + .slide-fade-enter-active { + transition: all 0.3s ease-out; + } + + .slide-fade-leave-active { + transition: all 0.3s ease-in; + } + + .slide-fade-enter-from { + transform: translateY(-10px); + opacity: 0; + } + + .slide-fade-leave-to { + transform: translateY(-10px); + opacity: 0; + } + } + + + // KeLing 参数面板特有样式 + .params-container { + // 任务类型标签页 + .task-type-tabs { + margin-bottom: 20px; + + .text { + margin-bottom: 10px; + color: #6b778c; + font-size: 15px; + } + } + + // 图片上传样式 + .img-inline { + display: flex; + flex-wrap: wrap; + + .img-uploader { + text-align: center; + position: relative; + + :deep(.el-upload) { + border: 1px dashed var(--el-border-color); + border-radius: 6px; + cursor: pointer; + position: relative; + overflow: hidden; + width: 120px; + height: 120px; + transition: var(--el-transition-duration-fast); + margin-bottom: 20px; + + &:hover { + border-color: var(--el-color-primary); + } + } + + .removeimg { + position: absolute; + right: -5px; + top: -5px; + z-index: 10; + cursor: pointer; + color: #f56c6c; + font-size: 20px; + } + + } + + .btn-swap { + .icon-exchange { + color: var(--text-theme-color); + cursor: pointer; + font-size: 20px; + } + } + } + + // 提交按钮 + .submit-btn { + display: flex; + margin: 20px 0; + + .el-button { + width: 100%; + } + } + + // 算力信息 + .text-info { + width: 100%; + padding: 10px 0; + + .el-tag { + margin-right: 10px; + } + } + } + + // 右侧主要内容区域 + .main-content { + padding: 1.5rem; + flex: 1; + background: var(--chat-bg); + color: var(--text-theme-color); + overflow-x: hidden; + + // 作品标题栏 + .works-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + + .h-title { + color: var(--text-theme-color); + margin: 0; + } + + // .filter-buttons { + // .el-button-group { + // .el-button { + // --el-button-bg-color: var(--card-bg); + // --el-button-border-color: var(--chat-bg); + // --el-button-text-color: var(--text-theme-color); + // --el-button-hover-bg-color: var(--theme-border-hover); + // --el-button-hover-border-color: var(--theme-border-hover); + // --el-button-active-bg-color: var(--el-color-primary); + // --el-button-active-border-color: var(--el-color-primary); + + // &.is-type-primary { + // --el-button-bg-color: var(--el-color-primary); + // --el-button-border-color: var(--el-color-primary); + // --el-button-text-color: #ffffff; + // } + // } + // } + // } + } + + // 任务列表 + .video-list { + .list-box { + padding: 0; + + .item { + display: flex; + flex-flow: row; + align-items: center; + min-height: 100px; + padding: 10px 15px; + border-radius: 10px; + cursor: pointer; + margin-bottom: 20px; + background: var(--card-bg); + + .left { + .container { + width: 160px; + position: relative; + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; + + .video { + width: 160px; + height: 120px; + border-radius: 5px; + background-color: var(--el-fill-color-light); + } + + .el-image { + width: 160px; + height: 90px; + border-radius: 5px; + } + + .duration { + position: absolute; + bottom: 0; + right: 0; + background-color: rgba(14, 8, 8, 0.7); + padding: 0 3px; + font-family: 'Input Sans'; + font-size: 14px; + font-weight: 700; + border-radius: 0.125rem; + } + + .play { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 50%; + border: none; + border-radius: 5px; + background: rgba(100, 100, 100, 0.3); + cursor: pointer; + color: var(--text-theme-color); + opacity: 0; + transform: translate(-50%, 0px); + transition: opacity 0.3s ease 0s; + } + + &:hover { + .play { + opacity: 1; + } + } + } + } + + .center { + width: 100%; + display: flex; + justify-content: center; + align-items: flex-start; + flex-flow: column; + padding: 0 20px; + + .prompt, .failed { + padding: 0; + font-size: 16px; + max-height: 80px; + line-height: 28px; + overflow: hidden; + text-overflow: ellipsis; + } + + .prompt { + color: var(--text-fb); + cursor: text; + } + + .failed { + color: #E4696B; + } + + .pb-2 { + padding-bottom: 8px; + + .el-tag { + margin-right: 4px; + margin-bottom: 4px; + } + } + } + + .right { + display: flex; + justify-content: right; + min-width: 200px; + font-size: 14px; + padding: 0; + + .tools { + display: flex; + justify-content: left; + align-items: center; + flex-flow: row; + height: 90px; + + .btn-publish { + padding: 2px 10px; + + .text { + margin-right: 10px; + } + } + + .btn-icon { + background: none; + padding: 6px; + transition: background 0.6s ease 0s; + color: #919191; + + &:hover { + color: var(--el-color-primary); + } + + .downloading { + width: 16px; + } + } + } + } + + .right-error { + display: flex; + justify-content: center; + align-items: center; + } + } + } + + // 分页 + .pagination { + margin-top: 20px; + display: flex; + justify-content: center; + } + } + } + + // 通用按钮样式 + .btn { + margin-right: 10px; + border: none; + border-radius: 5px; + padding: 5px 10px; + cursor: pointer; + color: var(--theme-text-color-primary); + background-color: var(--btn-bg); + + &:hover { + opacity: 0.7; + } + } + + // 无数据样式 + .no-data { + text-align: center; + padding: 40px; + color: var(--text-theme-color); + } +} + +// 响应式设计 +@media (max-width: 768px) { + .page-video { + flex-direction: column; + + .params-panel { + min-width: 100%; + max-width: 100%; + margin: 10px 0; + } + + .main-content { + padding: 1rem; + + .video-list .list-box .item { + .left .container { + width: 120px; + + .video, .el-image { + width: 120px; + } + } + + .center { + padding: 0 10px; + } + + .right { + min-width: 120px; + } + } + } + } +} \ No newline at end of file diff --git a/web/src/assets/iconfont/iconfont.css b/web/src/assets/iconfont/iconfont.css index 9f31c509..834e6462 100644 --- a/web/src/assets/iconfont/iconfont.css +++ b/web/src/assets/iconfont/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 4125778 */ - src: url('iconfont.woff2?t=1740279975534') format('woff2'), - url('iconfont.woff?t=1740279975534') format('woff'), - url('iconfont.ttf?t=1740279975534') format('truetype'); + src: url('iconfont.woff2?t=1752731646117') format('woff2'), + url('iconfont.woff?t=1752731646117') format('woff'), + url('iconfont.ttf?t=1752731646117') format('truetype'); } .iconfont { @@ -13,6 +13,142 @@ -moz-osx-font-smoothing: grayscale; } +.icon-video:before { + content: "\e63f"; +} + +.icon-empty-box:before { + content: "\e638"; +} + +.icon-check2:before { + content: "\e7e2"; +} + +.icon-creator:before { + content: "\e6a1"; +} + +.icon-withdraw:before { + content: "\e689"; +} + +.icon-withdraw-log:before { + content: "\e635"; +} + +.icon-money:before { + content: "\e831"; +} + +.icon-doller:before { + content: "\e633"; +} + +.icon-wallet:before { + content: "\e64d"; +} + +.icon-check:before { + content: "\e810"; +} + +.icon-refuse:before { + content: "\e629"; +} + +.icon-Reject:before { + content: "\e70d"; +} + +.icon-clock:before { + content: "\e65d"; +} + +.icon-eye-close:before { + content: "\e7aa"; +} + +.icon-eye-open:before { + content: "\e7ab"; +} + +.icon-list:before { + content: "\e650"; +} + +.icon-categroy:before { + content: "\e620"; +} + +.icon-zhankai:before { + content: "\e632"; +} + +.icon-wechat-mini:before { + content: "\e63d"; +} + +.icon-niutou:before { + content: "\e64c"; +} + +.icon-qiniu:before { + content: "\e62c"; +} + +.icon-storage:before { + content: "\e69a"; +} + +.icon-localstorage:before { + content: "\ea8d"; +} + +.icon-minio:before { + content: "\e855"; +} + +.icon-aliyun:before { + content: "\e672"; +} + +.icon-sms:before { + content: "\e82c"; +} + +.icon-duanxin:before { + content: "\e65c"; +} + +.icon-yanzm:before { + content: "\e625"; +} + +.icon-yaoqm:before { + content: "\e66e"; +} + +.icon-epay:before { + content: "\e628"; +} + +.icon-coze:before { + content: "\e61b"; +} + +.icon-token:before { + content: "\e68e"; +} + +.icon-reset:before { + content: "\e649"; +} + +.icon-stats:before { + content: "\e878"; +} + .icon-keling:before { content: "\eab7"; } @@ -289,7 +425,7 @@ content: "\e6c4"; } -.icon-mp1:before { +.icon-mp4:before { content: "\e647"; } diff --git a/web/src/assets/iconfont/iconfont.js b/web/src/assets/iconfont/iconfont.js index eaf24581..0e090b2d 100644 --- a/web/src/assets/iconfont/iconfont.js +++ b/web/src/assets/iconfont/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_4125778='',(a=>{var l=(c=(c=document.getElementsByTagName("script"))[c.length-1]).getAttribute("data-injectcss"),c=c.getAttribute("data-disable-injectsvg");if(!c){var h,t,i,o,p,z=function(l,c){c.parentNode.insertBefore(l,c)};if(l&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}h=function(){var l,c=document.createElement("div");c.innerHTML=a._iconfont_svg_string_4125778,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(l=document.body).firstChild?z(c,l.firstChild):l.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),h()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(i=h,o=a.document,p=!1,s(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,m())})}function m(){p||(p=!0,i())}function s(){try{o.documentElement.doScroll("left")}catch(l){return void setTimeout(s,50)}m()}})(window); \ No newline at end of file +window._iconfont_svg_string_4125778='',(a=>{var l=(c=(c=document.getElementsByTagName("script"))[c.length-1]).getAttribute("data-injectcss"),c=c.getAttribute("data-disable-injectsvg");if(!c){var h,t,i,o,z,m=function(l,c){c.parentNode.insertBefore(l,c)};if(l&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}h=function(){var l,c=document.createElement("div");c.innerHTML=a._iconfont_svg_string_4125778,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(l=document.body).firstChild?m(c,l.firstChild):l.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),h()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(i=h,o=a.document,z=!1,v(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,p())})}function p(){z||(z=!0,i())}function v(){try{o.documentElement.doScroll("left")}catch(l){return void setTimeout(v,50)}p()}})(window); \ No newline at end of file diff --git a/web/src/assets/iconfont/iconfont.json b/web/src/assets/iconfont/iconfont.json index 31dab4f6..9f5dc208 100644 --- a/web/src/assets/iconfont/iconfont.json +++ b/web/src/assets/iconfont/iconfont.json @@ -5,6 +5,244 @@ "css_prefix_text": "icon-", "description": "", "glyphs": [ + { + "icon_id": "1283", + "name": "视频", + "font_class": "video", + "unicode": "e63f", + "unicode_decimal": 58943 + }, + { + "icon_id": "35224131", + "name": "empty-box", + "font_class": "empty-box", + "unicode": "e638", + "unicode_decimal": 58936 + }, + { + "icon_id": "9143175", + "name": "审核", + "font_class": "check2", + "unicode": "e7e2", + "unicode_decimal": 59362 + }, + { + "icon_id": "15450788", + "name": "创作者中心", + "font_class": "creator", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "1134341", + "name": "提现", + "font_class": "withdraw", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "10887127", + "name": "提现记录", + "font_class": "withdraw-log", + "unicode": "e635", + "unicode_decimal": 58933 + }, + { + "icon_id": "34452904", + "name": "money-rmb", + "font_class": "money", + "unicode": "e831", + "unicode_decimal": 59441 + }, + { + "icon_id": "34467697", + "name": "doller", + "font_class": "doller", + "unicode": "e633", + "unicode_decimal": 58931 + }, + { + "icon_id": "9512709", + "name": "钱包¥", + "font_class": "wallet", + "unicode": "e64d", + "unicode_decimal": 58957 + }, + { + "icon_id": "8365142", + "name": "check", + "font_class": "check", + "unicode": "e810", + "unicode_decimal": 59408 + }, + { + "icon_id": "10213506", + "name": "refuse", + "font_class": "refuse", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "19393806", + "name": "Reject", + "font_class": "Reject", + "unicode": "e70d", + "unicode_decimal": 59149 + }, + { + "icon_id": "248916", + "name": "clock", + "font_class": "clock", + "unicode": "e65d", + "unicode_decimal": 58973 + }, + { + "icon_id": "6151096", + "name": "eye-close", + "font_class": "eye-close", + "unicode": "e7aa", + "unicode_decimal": 59306 + }, + { + "icon_id": "6151097", + "name": "eye-open", + "font_class": "eye-open", + "unicode": "e7ab", + "unicode_decimal": 59307 + }, + { + "icon_id": "6145570", + "name": "list", + "font_class": "list", + "unicode": "e650", + "unicode_decimal": 58960 + }, + { + "icon_id": "13127646", + "name": "categroy", + "font_class": "categroy", + "unicode": "e620", + "unicode_decimal": 58912 + }, + { + "icon_id": "1613505", + "name": "展开", + "font_class": "zhankai", + "unicode": "e632", + "unicode_decimal": 58930 + }, + { + "icon_id": "10905663", + "name": "微信小程序", + "font_class": "wechat-mini", + "unicode": "e63d", + "unicode_decimal": 58941 + }, + { + "icon_id": "21530643", + "name": "牛头", + "font_class": "niutou", + "unicode": "e64c", + "unicode_decimal": 58956 + }, + { + "icon_id": "24877229", + "name": "七牛云", + "font_class": "qiniu", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "3717493", + "name": "存储服务", + "font_class": "storage", + "unicode": "e69a", + "unicode_decimal": 59034 + }, + { + "icon_id": "7133059", + "name": "本地存储", + "font_class": "localstorage", + "unicode": "ea8d", + "unicode_decimal": 60045 + }, + { + "icon_id": "9360420", + "name": "minio", + "font_class": "minio", + "unicode": "e855", + "unicode_decimal": 59477 + }, + { + "icon_id": "21053628", + "name": "阿里云", + "font_class": "aliyun", + "unicode": "e672", + "unicode_decimal": 58994 + }, + { + "icon_id": "30046100", + "name": "comment-sms", + "font_class": "sms", + "unicode": "e82c", + "unicode_decimal": 59436 + }, + { + "icon_id": "4893414", + "name": "短信", + "font_class": "duanxin", + "unicode": "e65c", + "unicode_decimal": 58972 + }, + { + "icon_id": "553324", + "name": "验证码", + "font_class": "yanzm", + "unicode": "e625", + "unicode_decimal": 58917 + }, + { + "icon_id": "1264836", + "name": "邀请码", + "font_class": "yaoqm", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "24827618", + "name": "网易支付", + "font_class": "epay", + "unicode": "e628", + "unicode_decimal": 58920 + }, + { + "icon_id": "43863501", + "name": "Coze", + "font_class": "coze", + "unicode": "e61b", + "unicode_decimal": 58907 + }, + { + "icon_id": "11551884", + "name": "token", + "font_class": "token", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "38795534", + "name": "reset", + "font_class": "reset", + "unicode": "e649", + "unicode_decimal": 58953 + }, + { + "icon_id": "5838820", + "name": "统计", + "font_class": "stats", + "unicode": "e878", + "unicode_decimal": 59512 + }, { "icon_id": "42692844", "name": "可灵大模型", @@ -491,7 +729,7 @@ { "icon_id": "12600802", "name": "mp4", - "font_class": "mp1", + "font_class": "mp4", "unicode": "e647", "unicode_decimal": 58951 }, diff --git a/web/src/assets/iconfont/iconfont.ttf b/web/src/assets/iconfont/iconfont.ttf index 085f047cbca45d905b6cf3c3130130029919369b..47385b321e65e85fab906c0d0fccd957a28dca08 100644 GIT binary patch delta 14249 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 KYiEB)Dfxd;OJEZK delta 2989 zcmbu>eN0vN9mnza0aWA}LgsQs%m*HO4-~Y|Hl^h_kM#HZ`5@bNJe3|1RU?#kuEt zulL;F_xt_)IDaDX?4J{!DU1CJf&)OyhK|;*KOP!rgQOBjt!&%gv$?12rNfZ55e~iD zzNvNNto}Eb>a|y;wp~wT_h%m0<1D{{*^#5Ihgjw4=H?*!^+r17lm+QI0 zj@BJr!7ITWJ6Y%$|jT65*-@SFWGyU_#{kl#jA$nFn(fbYt)r{&Z4LX9-zGs5g zlRXKG6CU0-^iL%Ak~s8evd$^`()&nCd{A#Xz;1?L2GR!824DLk_4etzcfqhin_v}IWmELYwKh+m z++ZuL+1A|qSxT3;efdzvV_U3(8|nKkNlXml(L59q|(m! zd4TzJ^Ao00NIfwYu#kD=^F!9Lj9om*Bpy6V<$Fq@Qd~P77kgk7&Kjuz60ifYmuo1vcMlKCpVHNx>F6%}fky(1mDxutujr!WKJ?6t=`^xUi*;7M+(l z%^TL_Gawsdz>-^ z+vk)f*nX#6!45hl4A$qAHP{O-rr5!bIt38+qEi%M$DBe5JMI)u*a@fVVZV2ZEbL{c z@WM_x#Ta(lDbTQUPSJ+F5!L?t3SZ(!onn}{Rx6@F zCjP!tG!wt<6w<^$c8Y7_*CnQ3N^ZhZM~TkWPH9e9=alP&EskED+nl1FaGO);6Yh12 zf5LN48v&tKF`_Mj@RHN!KrH+~7ovTF@FS-kgK)rU?;yP9w2Kga;e*653^@9uQ7Cf-v)WY^frHi^2 z-ELUj@MYty#{G*c7r(OP$tAazez@#HQ(;q0Q~!MroqT!zyu-o4lYi?k2m(&l|0O#i Mn0~VPuQ!AL0E@vQH2?qr diff --git a/web/src/assets/iconfont/iconfont.woff b/web/src/assets/iconfont/iconfont.woff index 7f78795aeb2e4cafd450198399d19e127453dd36..6029718b472c6dc6d77181460a1864860cad7763 100644 GIT binary patch delta 34962 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%0A`3!7b~_c)2B(~E4`cl`nw1wh~8%? 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 z zTlNpxE_XKQc1u1!0cD$>Px6NBQi54Uwo6BX#i5jJm}&VL86Ro$ z9Cv%VrGG=$pV22Xoe!j2+S9te!U}-LZgcbBKlUc<6Dp)2i4Mb{Ph4Mpd?_pnmuTZGvMqY`@$x{E`T@R~_daFA4Tsvbn# zf1JYaay5sBe-RE@bP9?~{Ifd#xEX??qjmqL(76le7XPNswa=Y{%sB?ovG5%{7ADC) zApZ6dwJ#ZssnP?YCVE}OU#8(Qc=RH4d%4$@unPIjx7_ik z?>>Fir%FSk%>x`_MF&+^L%U~?kxg|SPWSZX9k9vX{#gYUQ81M#Ci~4m zVZJYyf3t%j8*>7E{_LLmFlOWSu>@aDGZU>!I_M4~Ju=j)&LoChvH^hG9gBEW)8i5j z`6aKR{m7$0J66!8d^T@Jqo(SW4A$q?yxB;=R)ee^beD1k0eGMu2xZg7e0rd7Sw7^A zM7_cMvc5ugcHLkGuycYS3dCBU^}4*GH{$Z@e>TSlGO4Hy@ht_V-zVRgS6qq!RL$lg zgc0+MiB|^>2oO^$il`&aLzHpoxAhJ5J~YGRm^F0&Ae$q=t<f3l96Qqz(CIAWhg|8Z~cM-EMm@41SFiY9(|muLu= zf8Q_Ssh>TzrIAP`V(<9C$3F0mSUl7D@a5~*4wjB?=Xr_ew;fdF?b`&eux%3pyldt_ zqf}b6AwbBiWlaHSme8mRmIj5!94TABo`xRFyMZJ&fFG^MeqY3NBD-#Z=hyW?PSNCJ;)qv!qiUv5x)qEz)A`N$bTb-k?c9pEzBR|+-K?$YW6?IyW_}1Ze|H|= z{P^Q%Hb(MaFKrn2YMOU^L+R`J=tk=_ULd~SI=Q9fx3`>ZeO+YP)5pQe%`9=F=J2FX z(Ya=T8Dd76^~?_H6@&VmSv3Ep5V+3bxCC#-b{y7KO@TU2qRVN9IvHAGWt^>RISJyQ z3F;EC(bt5|X3oQZ#Vu}=Tqgx$f56B!BGoAPU9=Lda&B1w?by%|*nNjf+9SGw*cW*q z71$FO3T_M^U~Yh= zc#HR)>1#jm5~=i^&cl(um&g{wLNn_H;g8?df&?e;fKB(x}~J z33HdsMRRG#U3=n^Jb}jfPtHI1e5P7Xy_hVcGPwEqRJokO0jzWy&u1&;eiiA=kf>TD_{Y5IHdUMWsddBXoj=W&1CT`kL1OEeTOk+v_* z5IxH#{sTmRp&t;$iA51tf0?Q*)l*B98X8Ts^lEO2hT>AKL}5u9>`;Bakk9w$3XQfT z68}As0IP$8q1jnnq_iI+;p}Xv7{UkKnje9$sfH0YjLyfvJ@{I+a~g->AsVSmikviD z=~Heex!XxQz0`YWXJ^~rhT+g)aK=#EuizF{7*>2U_`dB|LW7}Ze;)k)V)fg}{ldn6 zC;AlWXvnvS@js2ffh2i~j_izbrkK_0B9v0_BxhNHjAO-H+|WwmXnf_m+134JbgtaL zdUoAPaE@9wCtDkexZ0FgkEV*X@pI?KYsFMl_b&A>;%E8@;{PA@jGn1fkmwLUQM?I)5YTLgz2ttRRCmhSE7h>Vvx#15Y!nfM6)?&ye=udevxu7J6oIl?o{U z-^Ep`;4ZKVe`fu($`5gse)yr=_?P~Spjr$_As>`GuRM%rrC$mmw@UShA7MX)b~7S= zc47SN=9n$ie=g8bpdz$qccT}*O_>9rjn`(!!5cn=W|u^YQk(%h$1f_G}0xS9v-P-r@-I#9og!F)DN6z>C_mfYZI`qV~;NY6s_~|XV zy^rkP{m9;3kL-ij*^y{567Kxg8wkdN0nDsilK(Z_e|F#YVgW+L0*+t#?lX_>{rH~M zw|7p=UROENGS}Vt=$-4=-_@O8oi)dcXRBq*`zcxr{(Pac8-$kH2xN$lsb)^dI?m{F zf{lp_;#x|uiR+6hl~Lvz&0LC*g_tNT(Y*;%NagBeGlDLxB!TnIDxvvGpc$hwNu0M$ zLi%B1f5t=M`f(mIg|*{}#Q54xPE_cd%jf4dkO16&lo#u_?A5%nC!>aE?=5waKYCOU zNRbwOGNzLvLGbwmNtHdRxf#_LjF{$L(~Jatp6R)?Dyx!UE?;Q~n9fntbJL#13L#^$ zf^P-f93Nl1c@4S$n$2s+7SRrR^u}9n+3S-La&8$8U98|+ zzMOV?NuRp3!E@*4Tduy*MtnH$@w+(u*t}uzQ*dbN#1uXbVIr;6x!}ML0yZ_4K2qIU#m8aLIZL%& zS+elfb_xK`RUB^4o&(JlP=OTCsEoO>YU=A@Kq+S3lUZ5HX z28F~=60tf#jENCq7F3AA3qOc|Afiaqf0((jY{wuS4^(ie2NX02iGUsRECS-A#1ZQx zM2@(hish`XD{M>TC{8burA%FB7_+qo$ zk>>8U7d#k9@a{N>yM;ucbA^$O;txCvZkT~0@^O3+aeu9<%0zQOpIEVGi?f6bi2+|I`trdeAQ*73eBhhsQpy(!3O)~I$LSzLwg zN>8^lsZwAzSIani)TFk8-VF1y3v>O{hTIWcv;q2+v7W>ov^9yfy zNJm7$A{{Yg(np}uGTBH(Nr@5aT==m|<_w+{q#ui%Vq`;_rR!lCB1KB&qiVX()9Vwi zFAEAL>918oazK(JVUN?sf1agPjL`pH^WF(!wmI?sm4|UpQUmF*ZRT=X)Sp@YH058< zqmQA}OcZl04Jz+hB!wcNi<4Gegb1hDW8KAsHxfO_9aPL`XXpNG*-S2<8cSxTGO!N^ zGo4>v5sXL5W0gqsbmt_sq5>B#Up>{zWV4yp)apGjJ(}!%#M!q5e@BK^biQ=mS*1Ku z3WrO>B`~{CBlAtIi}~eXLE>4|G>QO$V{oDU#4(mR2Y!;tgCBR8-oD3^=ux~DZetFT zc_t+|=HiQ65`4Fyt1?Bm?ct;YR7D+iryPZu9uh@Ych#XvOT;)lhkRYn-reS@`Xy;zoq)VIxWGNRasY!n!UjYpW z^7kKKwtnO4+16lgNE4)3AnVawyd-ntCo=VHww{5X0YDZpB@%SYl5WsJkBM|B_1 zyWO$m;qlp4xlhBF$bQ==7=WnTNOE>)!&kRXR4d86=2P6+bhCKu%zwz-WVPSxmB=0% z=zK7k%?82KBnb3n90001ZoMT{QU|;~^jpi#k;v@NOzA|vLFo3|5c@DKO z`v158`MlqmCjhw|3``(V07s1s%#+b&9Dl%i0K>Bgu6UedVPIfju?J!XV(|a}5Da8X z;*giarUy*_!*4E>eT#vCl@p1N&2CDt0TFJ%h3)_U0n@h`82A^V=>1DX*!?9=9oDcT z&ff-5^WPC0POvb=7PeT#SpNS+a?>}wX0w9zL&B>8$(%EU+y<0?0;DGqjvoNmaDPje z000000000~0R#bP0w@B+1I`341#kvR280IK2POyF2s{XO2-XRL3Cs#s3nmM+4C)PB z4hjxr50($^5OxvX66zC<6VMbU6kZhe6<`(u7AzLX7X%lq7#k#q z9EKdY9UvX79vmKy9^fA`AE+Q`A%EH;L?Wgl(jzn@Vk5pJZY4G)XeF8@@FpTAekW2V z)+ksgtSR;?I4a;P{wxwKek}SeTrH+8>MkNKb}t++hA+r3{xCu?h%mr0A~AF^m@&pO z8Zt^UmNNV^fHU|sG&F!UGBvn18aKQ+o;d(Icsocujy%LYz&+|dXg=CMY=1xcKw?1{ zL1;n7LS#bNLr_EBL}*0pMLI>!MtnxjM@mPoNAgIBN=!pBnM??2DQ!ImGR1V z?G>(!=~@~~8?Scd-BoO-%*@QpaQzcI>!k1Xhw44gj`U^+zV92)&ChK-3v>Vf9Kbv} zh!7(|iY|Isz#^8g1zWKV+i?&M#vwQqhv9G>fg^Dgj>a)K7RTXuoPZN?5>Cb`I2EVi zbbp+IGjSHq#yL0_8P3D`xB$!8ft}ce3vm%H#wEBEm*H|;fh%zpuEsUkjcaiouE!0y z5jWvx?7?2#f?Kf)`S5`RzOX*`2x@f@DV3wRMP;bpvnSMeHN#~XMP zZ{cmcgLm;B-p2>{5Fg=Ve1cE$89v7s_!3{?YkY%m@g2U$5BL#3;b;7UU-27$#~=6; zf8hZBo{QIHL8eD_3Og`+HS?-=>aR5hX2gI-xdS;t*yMq2#pH9ap=wXoa3g9Z!W`ui2VW9Z@5uQEt{L z_GU;rw&b{1=Y@C4kd)MATuM*Gjei$JbbORo{YUJxY1_X z)illm4hc;fp^G#(%CXZOwd6v&t-JRWt*lzHvdY#h?32Y_(^_U^JI~culz$a+z$|cR zB=x{-tBs|sGFGk|?S)Diqp}hvYEUcLS8A(7l`+)8%?=BBn~ERjW%LH(?qYp;$8QRO$7((p#f4C+kL0x0d;g zmzm=$skaF4MPBjTo)!JyH|JB=kQkC>(KAAwe%~=BIcaV#6rQhF<9{M-N<3lV7HLoi zGc@lC#wf749L-2?tl?c;m~}TRzLX1{6ZaIpbSBD014g1#n7q>zgHF@#ua zNW-AaL|BUe??B`f^^F;JS(O=NL?Ft)qMueOhGDP8S&yQj#`-y84S*!Zi3nAw`GvBu|9|<3!+)r+;nb{ zC87C$fEnXGE22Ir6;-BY&^WHc>(~ojXFRi7oOv5sjYD;xY~%@28OSmfjm(BLjkqfH m3gN20;hfz@I5*}IBHrmD;gqKJ32%MX_UGpQ0h%TVj{pGW+Fk^=bH0Tg#nMn(Vu00000Yq00fEv z01GI&j_GG-YaBp*T003y* z000A;000F;vF!$wlL!Gp0#Ra7{&4LkCrl(c}5T@2ufvA z1}TWlASgJZf+9G8fC@MP&K8u4upsP6z;00f01_76m`Y?(LfAkE1mfzsZyN%{hzTT! z=k2K^u31QLKW%!`^!K*+JkKf69w?KCrCjfIl*qSgb+^=dzl_eU_sh$c>+3y#d`$(F zF(`({$QT{fF)=2^)R+-7V^J)LWwA2W#M;;pTVi|cjJntzdt-mp$B{T14RJh9#K|}n zr{jEFk6T4~F|1fstS|Nz2Z}>QeQ~BZS6nKtq^eY%YSQYoE^SP^Qe$dLXVZmrF*T>l z=~{ECxw56Q<=BlbHydu>h9Cxi$M6^xV`8jMGbN_!G_zuHER7Xyr`Z%+qxQ~e4#wfu z(=_TdO?P>ktIhoPH22I~Nl)t+e&ZykIL$d-=lNaNHU8jF{%X5!@^`7-ovUN1TkF+J zSD(AQ`jrO!d+9Wr*gzfY+08nZ^Az)_W*5VGk0A`=KAz`MzNIg{=|N9_y7Pc?SEjVh zq9a4u$y%1OkXLwF@ZjeVhr1uLVx;y@eSYcKA$m+CzwqwAF`bh zQ%P4nq>BGLCilQwW&Ti6-}cp>Jkh4q5G7N7h<2tV5oM-K5#^?I5$#PmBPvXZBRZI} zM|3o$kmzK}BhlHEOrnb^qeP`CtwdK-Zi#ND1QXp&StfdzQcd)KH07J)O_iZdTavqnMHWabc$a!35^4&8Toa#8#xQLMn209BmYi+JB>Umb*5cP>^5yxVy|hx z68nw(Ob(iME^)}TeTg59oRNAXXZf&^pW#oYElvDv+SkMpBR|`tM$Scpk!PjRwAYDW zO&gv#Zsg~A!nE~?Ce!{WPMVs4IA!Vt;@&3u#Q{_AP#iKf5JkPIizv>RT8ZMEsh=n=nVO2?im9_mRi^eLRhxQ@ zRAXv1(rQz;k=B`7jQCF(bScsW>agDE}Qz3 zbk)?Pq-&;5C4XzCcBQ#w>RJ6~W@=noDox!>%Q4G;|Kr~1V!4HGHkg{ZRGQohy8QzN z$EbHUtF0 z2NsG7Vs8ZN^Cu`aEbpli5q&&S^odXZFK6@z#>42l16bWcAg1 zn{f~tv=fNe5IDzB0U+R0=O7@ML|!%kSHQPlTA9D)oU>Q0=|Vl1&EI#yMLV{QIB(y7 zKKXvB+Ki&R57Qsz>8>@a&OT?$*y2Subrl1Drdr9*uXc9f#>d+N0oT*fO-JN8AcQYn zJ%hFl4M>X~grgQC=dOOyYB(B%T|ki@~EZR6>r)KR!} zvU_7;X7%*Za~rR;JoAt4&nTUeGyp)Ultj_cU$aaAAEiRnV(6(1X)G78NjH^9V{4Uv zVh<`7aJf_)MU_G)$`s&RE2m4rI0|Seo6Z!fMr8~&LpTWF;2WgPeP?aGt=QI9ylv}Q z&+XXaIk)V1?d3$5E`3zeGzrBdy?a@=^KMBitu3QXlCDe6hm)Nep7m0lmVxVRZ0<}d zlCDW(1oXD5N9vZPUe6vduAdGZLWK%3IkYHBBSF?9(9LOtt7X^gJ) z&{?D4Hh?!YI*>qRBgo-GtzNAZvS|z2pUo7C)hua7f(Fb91cy--x}uywag-+g(1TbP z#tXEq03ep3ZcFXvoF(&QuSoAo}zo-k0u9yY+s`j z$wEPp(VvW9Z4yn^gT|kb%ohcje%@!-CL4Q6WD`afJr9XSiZI)kL1i=3)z_Wzqk5*V zFXKFm()G!D+Ic2ZM$YJ-(6@c|)h_H2+xMODp36^#K#o`2zHdi%-!2PRc>XH{<*$lx z1+OUl6{76o#Yub=QtP5W&(GlJ@hZxsrl}3oK59SY44Dz6sv2n{5QI^w zRSgWCS+Bux6yZl^Vg?*AJITbe0(Ouj&=5f~J58{%2jyWZ+9f+^2dw~qfI<3vg-p+K zjf4Sw5314$mg!(v=lX1zJ{HN06c`2vgNEI{Vk&1#G11ParjuP^f55^F?#vD*6%o%` z$%^x-bWdB6Rdh)U+PPVValWcaK7}b3x^tN0W;2~=o%3OEVYJD4e>j^Bqn&6%!nu^0 z(+olBiDy+c8@K&D?^knwf%Yht64lgU$-umQI8{li}!-+q4-o;hl*D#|Q#eDd;KZWglMu*S=J%?2oCHkZR!lMGjUY~|9! zB=5sZSAJ{-DW-8m7B0?&EuW+tl0Ovd?5`qvpquA7jUSjsbUHV$UPuO2Q({HYN?$C< z8w65}Op$Q}x-`pBcozDzo0|FWs4YSGg4=5@QWKo!%mBxKBMqhsEKgOSz_0`%AiFgf z?0v5%l&*8%p*=f?hKGlC?)iPo@otWBe#L0I#yk`VngR9}#4;MMNB$APJ+bVJB$1xA_ej_BYZ-ZPoCPdmu6WR-HJW55W3bYVfRLJPiB*4lfX=|`FP8tgh#s3JG z==_HSJt%yC=tDwKC+}14Z@+mv(d-)_J-73rH*ZyQPCWTv5<*Hkky#<@ok!Op2u33b^G}D7D2j+9g8{rmElJa>KA^s6h7e*g+J(;2Oj-Ez zWwQSQO=kJjL{LXcTr^~7g|kxeNhuM@=<|bvZxwrg5apb-ty`X8M2rTUXBG3@r;{pA ze_e|$Hx*US+_6y7xadGY_3L?=me3LBs6;DmvR^_sl}cCe6eW?4XAu1|xGX9|bx@sD zof@F#1C?D)Q6^N^Tc?W%yN(`2TG$Ld-D6~7IV_E#Dxo6m>pW!8z%@eun<%h`)VRye zV7$72hBJ2KF3Dg85#`Ym5$SPX<2$~%jzqMi>34oR;)|tXzHBK=Q>UCKJ~;w!5@tK= zSu>y{g6Lz;>R>_%m@J)fu$GP+Mm(*dhUca)_r-kh0EvBvFJ>67D;&<{AQ#dF0*vXG z@YnEsa9hCr4MXeCrY@t703N0TWFD2sjH-}-xs@R^iUkCO9?%gNv=KzYbOLv_AJ*x@ z7-8`MH4~`Vf*^QWt@Hxn!u%VcSkDbG9(WSE)y!rHp4elEhV^)Cc+dXV_U{=P8yj&Q z!(&*znh(m(N5j4=WTc{;-mRmYN-FZ!fr!PfKyHTl6M2Hi_pi9!8*Ov z#rqu0{e{#P>U`=g)b;-e^Ya;v28ug|VI1sY;nYx=0BE{HaVB=x{}(WPr3jo_FL2B@ zA@a4NU57!=AjheWkM2G1|DCsgcXa%egI;<5SC1BwOOAc>(F@}7@%wk~)@6TG1N?;mq|-HXjD+Cc z$Y%gzg#Y@^QfMNppxLX>+c!EkHoEV;zqcG$@BG;F`{oZt&VTqDI|oL8U%1Yc#aS(_ zIKS3)6jn2XcZkAm0?0VR6<71L7P#rZ0}zlF_&|Gp8bTPm`x#xI7yjD$L*XbP&FXo|wTM~=@(6{3r`R5@$hmxO(Um8mM~TPfmuj{rh5|a%L0B1eR1Vtx2{ev^B)VGb zLA@vm!ECW!9H(s}uw)5;_csh&a*)U=WkRw$2?eKn_N-ae(IqPLhPSQTnq4v#n^~Ks zv-xy-Yl!FgJZ*V*|$P#54xQ9%9(#z0Mc&UiYi0GIR(-9*kEKJ>!&T+bg7E2L75}nuR z%T&`;8@GUrh5QkJ$@!{8!=H3o8Hki&atT6L4AQw(1Gw%nR79SL^2yf~;ryUk#HZaN zkleV16hU9+yyg~xMo$&t%39yTpTTvQy9=O5!UYj=5@r(-tzA(ypu-G<;Us85coEZ; z!GKF1M+F#jf+e144jf@AXahqP#1EtVzumj`-qFQUA_)9{2c=u`^7g&;W!JZHAy&OW zkhP$G(hXgENi*;wK`y*}-uUl-PdKr=B z)0Owe$(ZtgtcD1~RRdqyoi*P6O|@1i{+{ERiA6gOa+uCAz=|SCQ@E>H(_%BgO~Hhi zKe1$d=>VWrK%={0y(hpdLuXjt^f|8qXZ9B66mWK)3(O-^qvHr8n_&(zJ+>BnL1KgoZ>(x16uhGy%jiO8{}14#^FFN#vy&0RW`{1AxQO(H3g*oR8oi z7pN8Po_$xvgcqlP*?d2f`o z26?+h&~}c8`X^n++C}PG9a>yuiN8!5)d^(GZEcoFgTp|^YPd5qoXrkrp8pR$oA5V1 z^!mmlz7TEswiw|bSfS@#xAUAoyv`pE``3kkb1er*^}`uw9lY)mk&!TVLVENlyw(H! zN=Syn#-8icpbtF`o^>QiHoV>lhmG~%fJ|DreU$zc$l^AYrK%KFCnT2)7#XgA;AR2y z0|eVMq!*z5rN;xYSb%Px;Z5t9C;jQti&`1|12+p}M8+csJioiClEEwIs^nGAt7@})URCe^ z|5Zum)SgBFs6;oBQ_!5KJ173uU3TSlEDX+8%XP9Ws9m zW8#douA?zAaSIEp=deGmumvL=%a!``?bB^-)9u-KD587&UdQm$u!bb4LFy9f7V0+A zT6Z7K#c@8vWrXL zx7;LkSDeN;^9;okJjhEpjxoqbpsGc7@T}4|Qgo9qFze3}g&~<$}%(x;xW( z2`%s8>VhE_pD-0(cgGzI%N+U$`G$-+|$P!R^T9jmPiS*E{ zCl@}*`0z@~pw6RirtYR5ran*oih331MJ>qjtQ{m%(-Y+4Z8A)IW1a0CV( zTxym969B4J!!=0d^YW_siiH~A%!q7A(4-I^3dDtawb0}tArn*sww%*x&fR6fU(kH2 zcH;ZJEatHgU`Iutzi5Yl!ah41GJSd^9@YJTzm_KHVP7a>`y&ZkSGAB@C=q%&8p_4w!H*Ge}?6-&+C3Tnz{})GD=@&8LbQ z7tpe?K*ASgonN!2__a?@vi>ML_UIQyZt2B0iy~)8M}KgY5~7uV8{Q@am~*ysropfq zwh?^si(hzqcOe(`^Dx*5bGpnBe4}YWq9d7H`;Cu_ME?wNS<~6liT$RC+b1|Z#!b^edeDB>NBb&m_$a+{Xc~M}Ne4sotwY;2_In45a z@ib;xh38Q`&MzLD>b-jb<8Ry`i7{~|W{vY|j325rc}Spt`Cp^|OpOs9GVkr%xR_8U z$m=3Xf3?^|RUi^T>S^FP2q|zw`>hr_<-LubKoE_rziz=f+g1+RQJ!mWTRzsEGI-Sp zr8~-_SI?i?zC&A)&T3uaqu2M0j%*(p(Fga=U$HxAt3ETGO!^eR z$iG{ZM1==`0b$pQ9X7TFGagRoZ6l&e4+^5FNHWjM!<&bOwhU38+~m^DNq3E?Ldz&L zC&JFH3HjG;l)CLfWdGP>m#P+V6Bpjm*Sli%vDGVj`%XDd9DgHCN3;1_{?vnJcbt)e zICi{oB|$^cd_H=t^@5}xPXwQaQO|6Ul;53 zdVz#3ub=*I$|c{#SAxti4?Mh`@OY(O5b0bcT!w5BS50^Ia2H9S2367xNrWrz_OaVL zJa(~zaFE=3r_SH+DAg1 zyTbXo$b7i9*Y52@%OF(^5!D$gbhxU6+#=o_+IN(bO4*qtzrQMG)*nLOwIIy9`oPmJ~{l z&Xw)-HA{dOoZ%rE57B(zrn$K8gfsg&YteEPb;4;F6L#KUo6P-kFVIbYj`xa z_S#%wba?mPE4Hs&eRXQ7^W5e8b`Osx;EFqe@AB14l2@-;x6Lg&pSx~t{1>CcyY^kNcG=>Q zv2`2IcEj6>Gu3#4-UV6tB4x|N4b)w-c%Z&$D&7Vg|$h`R9Wy(gFCj@21&Z( zXG1!_Kkbvh7pW}zJityr(1LwndLB`JF)rPm#oIwLkzG0iD~Ms&4a^#B-e~E4hy31A;PR`B(E4KW%PU&~QL*MyremoEHWBL4; zTgEN;5BM@z_aamW1#6anS*aJHAL<1}HmE!{1g4ffMiX*VOmX42_>n@v`x@=wGv5s3dZrQc{qf-wqKsU%v7Wt)G z+k=bRI?!xy&(Zxa??2j&HfEFW7)fPvnQPV@9o|}LJYLy4e00r!HJRMR=+#}Qt-bVg z|I+Z)^S17!pg*XSPvQ3h&!JEuSULKr5o!x{7Ep+z)Z3^#2@Q59syAtQGLnSfhj#JJ ztyi*Ov8TClQ|U=~D)tmExXFjT%!;QFJzKS{Vzq1qirH#Y@kTU`R+cQ@W3;=-7d;vR z^yyR~JqRQpT@UDg`fI$U@fjhY3*|ndwCIyHjeeTEW#YdnBj^?n-EKL5TQP5{0H`#j zCIUYRB-E*5Td_DbFa8tw)21Vt(o886nVwoXap2km6DuFkEh}MJL+^l`q<2cNqR_wa zvLr>UZ{^CrKq?W?74L(@Y^y$~Se%^y{`r$d&D?Iqnk8;{xOEEEi)_unOS zgY;a^#=3>OVplAjJTQSK4@@q+;*kK9od`HPylh?G@Z^b;vrHUcPo)66hN-2*DgwkH z7HdT8D&oAme^}3(V~9vvCR^ouLD)?~C@R)#LH>EjC* zLP%DLEM6Rv(-4Bb$%PXU;cn*-eji5*28zxKkhdw^fYPR)!Mxx3<1MIk5&yzpFFyZ2 zetUznDV0`}Gt*%u*QSJL7DScHQYkGtGZR*_ZE9$LW2y#F`7k3GFV-I1Vy9B} zyvvt=8X=Z7qj8(fM5jVy#=>kozG}_y4_~rjQ+A;#M~~Q*;HW(i%C4G8Sw7y+YbH_! zGnijBuYl6sDbe*?{bXuec-cu_7PvIwnNvU=|&2wk#o)snR| zD<<*_hjS^P#?Tw)q4#TMyIwS+eoNChAspzA3`Fy*Gx>mR2lAQK`RG8TI}jE)UA6pC zqo}u=#4OF_J$|nKCyoHc?FK1r3v~^3EA?^eDe9-xzqz~zXJKzfSL+pTN3_;7d~)}H z_r1WTkoJFqCIrdi3CShQ4Cw}UE$Zi+8JLxVt8_ReE$08P3A`jaku!k#F69+gjGsGkV4=ucvDi${L@lB*GJl>NoKzm> zm-JU75rJP!KK!Z{@P&&+J{XNH=$@!WHC7hRlU(4%{k0ab%&{kyUMd*){%OW9ACwg4 z+ADZTCL!oL5c$8iQx?v4n{!Z*aKtY)-Xm!W|AcH@da$%A8c)60VHq5LkXJB&>l01w zTONd8`p6tan+eqAL0-m;Pc@Z@%%`=U;q#_S+cL>S+GnIC)sWFGn)b{7@pPoxH=c?- z@;}4qX7HbR{*@O=gmcq}<)FaPy;AVm#;v4u`aDS!Jvs6SeiY=54l;KNMI(6T1}u!N z7sB;)#KTS z*+EZ1^HfdnBi3fkY3{muPUpxh4T#<|7|{iP$tU^{3aUO) z<7ft9tmhHS$5dI5Ci|E4Mhx1LFptDkq_=lE8K!9wafayQLy92Mh@}NcALe*XGDJgw z3}~R{j8Z5}PQ7nxGG9bk#4P$Tr&&R!s>gzz`8EKQqJR&K%5`)gAdZ&V>+_qEjuGNa z$zXZEW~nyg(*%);gnTJ~mSGtsDj8P1Z7>(}1w`=IM3uuVy>`J&TSrIx^ujd^W-#ln zjg6CkVK7#xZPa0Emii*}YM`ZWCfkSb8>8KgL(fw?y_Z{nuwu06q}#W|_OhvcBMa*( z8rp;M8NM|%@FQem%-yHyFR-nhBr^k~f^1K?dz+s9UoitTs!6AR!B_Xj2`G(MLBb8X zWj#sLi0&(P8ZnI()nt&7Ek*Y!K}}M4kVV@L?<@_>4E5wXv$m=;41*=8J7dOr&ObLE zwIei3i!9Iwe%`jj=K_DgvEhwxUA5!B3%g92r@zARK0X1{K@ud>_C@?5L0}mn?7TxY z{2{}5JIzWQ!ieL4c!BkCsxHzjhanrD$A;`n@{%%ahziRKn2q`*E|kJ7oA8A#M&xOp z*W%i6HYzb{+?TVeYc*S97?D#2S>r;M?yp-C18WU0_!ZR%M%qJhBSTBFPqYeBz=#0a zu$UGwCoHm}SsFt zk%|EL36z;d+b~0GvM()QybJ29`AyZ(fvIV$GZ?TKT8X{6_(l94JW8|{$RGj%Z8}HL zQTSbhzWgg^>Q}#_PRTpp1Gk9kgiqBKw#qRzyR_=54iXyd(0r9etKY$5A1IVB@mUP|xpU0bqG-0KStchmcq z%0UqBI*jSVK#kt!1vo!z1zb+jI6rHp zp^qznK2Ii`#V_D}Airj)9%2#c?w~eDwWYT86uJpw>P=>54;cKXnaGd6Q*ni%~Vx$!*uN`5@&Y#D*S!AJc4S!DdkU-JJ*76m(%RFG>v z?fhoJp_!RO3sBUv_j7(z7%#v>KRwd;;K&Gny=COWM-7xIK~hMWOxc1cw|L>F@Y5jY z`#>t_fflsCPMzM|(E?gzq~TXX>1y*tKsAl;a-zl{a^EV|FR zqhsk%DmApU10BQ@wsGRQ7OZnDGdwe#i8+6vk2|kL9p3{0wHAOMXzl-gn*KJWgB;v{ zPWCy^tP<-Un_%~Uuo%QeS$66PzWOv;A-f!Uol z@~6!CJ>{Yaa(DgI_P-AuZ~ToWy!K^qH#ewVTjpN6fNI6lh?%>E?Fs&LEzjA_O&>xFi8(;pGm8eA`BUr z3I}{4-vJ@y6Yj@M=uJb>pBRQ_?iX!CywG_Qp!Oq2@6(r7iq7`?| zn?~6pMB)GX$5}T1_J63GXZziMIC-Pnms!`M+SOYV!5WtL1np{0iAt*8vW4I|(*qbI zqC1EVu;};Dt`?QpwsU>k3S?Ms+H_;s?=MYEhMzP8er>_#nM}S|crsn;ecwzun=Lq|Fox+y#{S@QcKd2erTU}DouX4|=cTQg7Q0|B&P z0unIP z%e)$qkN-lBsJ#3OCxwooW6lJcb>N4{Z{y#HJ=oul@?o3jXJ>id4)e39=ukvuK*PUA z>iBVV?D%nSt^G5;9BV*-*V3n1)wGCm`t<=w&5h=AqYKH4mgd}819#&OZa|Lqd*3ts z?)v`}eg~c=@_^}D9L+I@Ni-)^!_PXc$XBx?nZtiGeReXOG8h*AXeAX%$9&QU9_r7I z%n(|N$FsxP@165q71$+N>yjV-@Y7!vI(!PtD#DF7x4o1lKw0{K>g-7N%zAjIedf%> zbTnrN20yDMngHj4eUSPse|nRO$PeGwmpQ#6`@iK@MDJ`>MCG6&Z@;d1Mn#(P$rtbf zs7n$&g}HiIoXrPLtH>BRy5X1aY?wwQ8_W7wqNi4Jv3$~y9{Y`zF%=noU3kk6HMiU@ z<)a(ce&d^BClt(osKV{X^klE)hw^wA=io<)lu9LFB`Z-iYRFqV;;?2_3Pn3Tj+zF! zWF;Ytb=FLKXMsonISquexNHJ%LjK`Y<5=4OrUstVoWE#)J4ppn*pEZRtS1DHRN(Q( z1CcDQ;PwbQ9%%Kf-G3fGaRg+kqfq}el?QH$YVmk2?!n+sTX@Q8R4;<8WD|}H#uxgM{&3?@?KAE0 z(2sOXw=eBVHP)xPx>D$?&Py+Skj_8k-1$ND>Ah-R>wl=EBD@(O8|#}X_@&M?0j3{G zbu~US`Ov?AJm}p05c<;|l~(&7>{s)rcvx50M%E~bXa~zyx?0ZHZ4s!HQD&$U6tsQT znfUj0Wa6&-_t{xAaqQT8h!=sE?riZLkJATnUrWb}TKZ<=4G#42!4(4oD+W)0)6caH z46Ga&aQ^wsZ>x^?Lmelm0yW@j0A1zY=`3h%?j+`aDdReuuksqLx5T?LnswFEt_kXd zYUXSC&c&ULWAK89-f{eR@18H-)z5XO7cbno>wt_W0K!xo50C^8kfaZ^K;e~o?zuw< zFS=o~^p0~^uj=kb%{lTT{Jd-X2P5qr-OG3<_R@i1OW6XWI*Zozwslqp4-J*O+IpQw zPxGLE*|GObOc%SliqjMC89UAGohzDk@hR%!5^EGr+mpzj?lb55;S^=WlTJK3T1h4= zW0fSjI5tvEB&uVT#Ih4FCP`=#$J{Ud?8VM?vR&*c+IG=K_ik{$MSN|x-DW#i&cP+! zbkJ@E+WicSPX(}mr@~a+#dc!R)(`y7AT>&VQGit0I`CR-$!3W;4$l&UZ-VrBh+*O1 zfA_ur{_oSpUx3EThrlz4xBD_x}6wu7CW+9$~A*Wj~*Sm_S$R7ckr5Pt|7R_HT!rLc-1KIYXczJttEV7)*zOFwpFfw zk`J*$>^^2_37z4dF@Php`NKegp^Pk z{Si&q*41Zb>g#ILAB=Vdgl{KV8< zQxo|jxZB%i7OcBl)^*vrhrFLm4s?b(X4cMhggOV31KaEM?FY$g*-^f?d(q;5^#o=q zNlP+WN_^`VFY4~)k3wGX;Co0i=h=>#4tP+R8U_%>D0u^>+{8l=|gWjG(AzwUw<$=l+6y!kk{0;*9se_ z7p|H7C_uo@)%BJ*`&}I#$_O z@ro~RJa=Q+mBN5(nPewdBCd{ngwv` zRJ}d`^}5WpN_Fv>_qM~bndbTrgI{;e0uwYjGLFc}WKY5C*`qd10^MYPP33Ph0WrjC zDtwW*&z5O!q*Yx#1pv_xqzXe5@wju38Wv^2NJUtQQB}^+(G2TjMZY9q9y?F6LP!^Q z5C-@9d0rIscwe|nbM6kCx^9MtmK7J;=mJJk2nbIDr_Ve07-2ny`Yz}jNaup0Buc>? z+7nxhC)Ch6V{MCK&bw59l>r8l;Y2m8rb68sTFVH$eo36)9v^ri7=O_-2>tK}jF=C0{%k*GX~ z@J5X30fP#7O!k>^gN^oP154^w+%%N@Sa&$wGqyDlj+la9^@lKGRaF$B-8ck(=b6%h zzWRV{N=77&P$oREdC@20IZM!DogHGlU1QAh@ci7OD~ft35R)SFR%||d^U8VXzSz*p z@v!U*8-gI4RwNgHwE{9H`oq4)6WwRG_X57A?7yODcG<|gEhgFRKk++%N0@2SoBzT$ zU;|c;ZfY9(V(zwus;4n=5B7K}V{8$YuM9KGACUFG z5~sh4d@}t5MphaNkZ&RKHSR(`WN{y6kGb#nbkn}>2rB7+@-bQeG)eJk*XewRk#*XS zUViSmea_?eVwT1CdT+!yC&-*Jp$*@|f54-#BBp_3odCMIhdM;vLfu0>Mm+8m?808)lKZ6kI&YkQaJGS@?fdR^AH&p)gqX z>?io^TQYqj5*h% zi_uUyykNylq%%5zrY$o(vvNVm4EC)&YgO;Z+ZRTE0>S<@XRqlG1|kdFdRFvUrkmId z^elg%aa&tqUSi{}jfrq@IHa?U>z7Y6baMTU^+}qESR-M*aT~o4si9%hPHo(|F*Uh} z)*@jqMZ~qG`j^t?R5&`a_sYE^(Qs;WX=vwAIOOIK3J>i>fyoOe`#T4^>@YYcFT9Xd z1wj>mD-29Dg?zv#pjnRi#1cn*LWw6JVr|(#Z!(d|Br*qQ@X|WQ{YfAJsZ;{fxr-;6 z(ft|XiFefgk{YxLoIRN8UDeyW>cvblJe=xV)8D_QFEt!aX3$wZ%X<=oK>}|NB*4@7 z~y)-_}Lrd|O){(?(!_aCvV(+ugae?$=3B#|>zzxG+wj;|q(! zyN8E&JHP2DBo`M)_l}J09W5?S7CO+Uq2Yy@I7twnDS+p{QuTDK-`KT`PSq#tse2hg z5d?)f;}dY-XFN^)@JqmdMS%ZGx@WlOQ7fn|)K%2&FpJz9Oj^gm$a?ttqe865e2~L` zVjTZ}bfaFBE%I3qy!a#{YpgptTywW79*5X*RIc0QB;suyW%*(jW~)gy$f{+#UbgU) zC+>fKwxo!&F=%*dNaz{tm*WvSZ@Pe+h z!^6DHvcSXg9ll?M#bh{~6vLu;%5@HZALP?wM~4{cPSI|S8c-ul=~814$(FuH((m?| zqkFv19`CbPCrXo+4?U6SPr%dPpRgQ9AZj)!nZ|&!w3XXU9D`|@{4`D-rkYR-v7f3_kE-zMki9v(c4Awb~P=l zcif@MX>{$r4eLr3TrEBR%*J(lm|E%a-Gn1Jc=q;@u}F8<$A5P2o_i)DkvsOx-{RNx z&)g0@ce|#f)Z066S5pcloNSzbypAd313=X;q;93|r9Mi1nfeX&+8fSGkUg+6Im*!7 z-aGTagdMcsaAG3Mz4?g=?jN3*C{+HhCnmE0nWjp9!;GcEK1~nnwbcTDRs!Puoa|HW zV!16s%r7|wn66@}E#fyqeqXe`)E=^BUh9hSmXGFgWAq2BrTWc+W(l_q4GbniLZ(CG zgIXaTOc^oGd5#T8-}~x(&Wv-DpZS)^t-9i!lEj(PEf*cQPL0s&ZSR%>?76#vG_dTp zbI7>~Q~Kt6``QZe0FP;Z%=r|S#@Ia}gQK}Z_ibMUUh*tC&dM8l3m1tNuq^vGJxPb7 zsJvD*ImEHzg}h&vu0WRUQ<36RRYj6DRhCpyQ+>?wt=h4s>@jHB9XTp8qE5 zt<=rb+gy8KpsSvLxq$8-%hd_dC8_{|Ye}NW15vOvj)*DwIMHvGD!sI8U5<%0KHcM9 zeM1n^-R}l^?WzK7LbW|TI`Da1o`{jIyhB7oSBvV+rRIlE7x6M#;0wUSi%d$zDqh2Z zI1t!GjzHm*8zo9^#3oMTS`lh|W=M>zDHcp6`op#Hu3*@I&tlB_!@;ijT2yI;a85YW zA1)M&VY`Ul!!lCil?zzEX|RPotZe$(C%MK;9G-A{60_oFPQ@G(b_+FImEn2Q3r|U6 zE7-ZwEELy7#G#qEEw+kvo_T#meyCnjN(ZxnV6IRMJ8M{UBP&Q^`Bq&P*y9{WbTnjN z;$?g-bszPA3F@2FzqgMt(^hKwM?Ukz?HQ)pug_! zZMjrF9Zo~uRdEF`x1x9a?vzED8(ts7?u}FKk>qlS2QaWUboh;3aQY%jHsa*>G|y#BNDTAtv^6=OGmAEeqqhatN-j&tTg%%uWEsCIKQwS zk0jEFR$}dmwQD&U1^hYfA!1-K)*FjgH{weSg~cq0lG4gmiYbWT$So}YuLE&E-EOIf zCir8245j>8pBbc)CT9W&(Fk#JDfvS>pc#q+Ff=O>7+*(F0hnOtqI3EKnFz-b$PP=P zT?pU6cn!D=sG{oTf@nFgx%Mx#sT;CFP6MjG;fz0%2?4c33{c!fJNuQ=O23Hc6R#>9 zuSR(m%0gNwBCrVEq_S@oq($5yElfgM`?1%5;Lqcultsl)X>-Ym_FBnigH1yRvhfZ- z{H_x}^Vxxzip~;45;~~H0=9FXte-X z!WUKJTpuU+Q;0#F!Ul6{6fK{AP)gZI=rsb{6~qX#h!JlXipFxB!UfEbx##_Vs1g;` z9>2fyRzte>?y2?nLqap;9c~KiD7laOr3GDO{kURGF#(Z#qUT zrk1$-yJ?N)2@Vf?2KeJmgPmFrGQH~@iA}V3M_*I=n7a+iKK+s?`&2L+5?M(>NYH9p%sDE|NY)LZ0zzzr+V! z9shi4*%?+CfX(DG3eSR;%wF8ou#j8m$W5SWcN-EKUW108epu&}eFFaGiHjvwmC)rP z|D0Zk0r8Q(FRJRaCjLNwQjzNCujfVQbE2k+^vj~=TNR-?Oy4d+C;C-Rk!u8~1IlR5n*j>!aV*taNB>ax?^Wy)#jX$15Y{ zM563yg^5C8VhMTCL+Pz4B7mi~ra=HZ9twv;tV~~(2;0%ia4gxqYzxV`Cz-ssqg>r| z?xt#A`xRYV(*!PmwSGN4-OO{O5^ubkpIAz4P~r8nRLU9}w9;v7@YH$I_u}8-Lx2bK zsFl<<=p%AbN`UB--NEL)qj5#DMFXs-dtF7Pd8109da57X%UM7W^5l)Vvog?`XLxYs zVjx!X#TU!Lq;m0`TXsGYTU4xVt-;f|H1-Rjw)Fzysduk`iT_kXzB^UUNCMtu1~Zw# zdF0i2H8Yq_56&mAD-TLmQa*4%hV0-S^xT$YMB~smo2%)>JEO5G>Hc#!SBlx&bIY>l z2+1%fqOYdwQ}wj_a-K{LOb(>n7wH>v?&W>>MZDY9IUBILovzE8=bq1OZZz;^D{D3X z5#3htb$&B{Z{#syut12)){AArAdRCkZ{u${tI@|muy1^^^><_Quhw{muKZ|%0q&ne zzo#l-qzrDo;3E3(4c#ZxpI3Z0t@`4s>MFE-)sI^a2c1X%`Mk!i!;;P!_|RuR zd!eDFF8K84y?e)w;7_>s+UBVZ)H&1v>MCMm@0zE7yH|vAyy5A}Nu%;LyG%?uIuTG= zGOB41D-Cj=YcP4*L-;-SaaUZjj8^LeJ6d)UUt&%PRcLgjVI%ourHX8o_LDrJn&>R zPb&xoQ$hH5;;n!hNaXM&FK`^qLe4B=7z7+TFheNJL6ICS2)y&6W@+#|=zT6~oyM8d z&6-r7cdN}C^siZ{HZaa}U*L~wb?8d?;@e)Qh26Yxe>bpcm_2Xuphzrt_bv|+s!*^P!+JeTCQfRZ>aZ)KXlg?j@5T|^(^mbZ-4o$)qD4@ z*x6kfe_gtGvV?y5MAubUy`l2xNA&ovn)4CVKb6gWWXH;7TZ)rM7b2y)6^#S&fKz9D%b2*x4P$tUxGa)$%CBA!ZjT-E3}t8b)t2EYPlKHZ*K)y4>U+&SHj zf6x>LAtRXFm~S^kf~B`|PhU;$1o5|c;KWe|hsO+c#Fm#=Z=GnhN`!JN@DFLkp&OY{_}4ae!Q}jDAr3{qKu6+;;A{x7~2|*~Hyk*Ny;xL-0FK4U&7j zJ$wID-P>Q_30q!dn_uhHZL{c2psFoyo@n7xL=Q4Ke!&5R51v0hwcy69o#(HE=m z={7~JJEm-65M|iz72Rd`I&T(6f1X$_r-|h z3#JYcX<(+&%aPg^YkZ$@oM@BtVV{j`AKeR|(2q0yD4q=d^u!A>ygn8?@kk8SIHX6y z5uN7R`x6q96a6UM6^cZ{-SrB`g;iZwan1Ql<7Jl-{spkBwy%+f%z_3je;a+7AOFZs zy({j#7>}b^-1*CtzlZLbp6=r)+ThdB{RMU{~Yh76j;L( zR3|myo^sznY;UzWZtfKCnr|H^&7WdhfQ2!M33m@YMh8(7E@QS-Sf~f$5)fCQFOGCo zx+3mtN4CFzroSJZ7baJ_e`Xt6iGN8hzNMmjo1CN!73Z~V$^#lRbL z5jRbDINaSxko;!)9q*FZkw`PQNEf>N^fZl!t>Mnj;ZF1|Jzk8*i%!mLMM0shJBdBJ zmig31;Q5H{K=w>yw0bdDbhZ1%o-^znYxT5C>dVzS;RT4g)hcs*e^7O|keb&tx;x#F znxU$jYmK+nHdoNSxe7LW`oYfUw`#gM2o^s za#6(hqC=x7(1=ZUW;B^)eEvwPI5R!9qCPS8RrEJ6M>pq=#XZd7+J^R?NMuvBGuso4 ziJT?`<;f+*1)Y0Xe}+HQx!~aL;My$_D;o<1&7i8AMsb0A=P}twdlH|dUxIm)rTU50 zg?ajE=CZecHb)<-WG5_p#);>0|7)4PzIlCpX(XL@&W`&kmHT#_^Zc$I_m#`{?bvl5 zk|1_|Utb2jzc2Gp8o(aP^f{kPBraI=(83Gj$z=S(g%2&de;|=S3+Cd<7?C@&{(!%P zW59d%QB%}*_w)WN_Yvjt)aYiV_6vTsBAQ^BMp2P3((E$LyaC)}B~)A2}gX}mkqIImXO z&^I|#U1}v_e*xuSFc_LwiPr~mJ<+o052YqRWCiXXgXEX68czmcei@-r`rT`C!Nx&4 zlC&BxhwP~4#~8zMhj~+1Sy;9r9rQycoP4h9pAmpog6BltIf%L{=QxB~h}!(;;nmN3TMf0ksSA1awf2m_mwU`E<(S^?r3=WI(Y3qJVyCPOLh+*1Ns{Ifx?5FB!Ju zmZE5q0v)eeA(gY07%lpe;eeRU#OGB~eohI5)%Z*@pJ%jy7O+)3uV>l*%l0qt>RJw; zWj!zX6N(%h(9=CQXD#zdI-|vn_Up14Iv(#Ye~0YmI{NSU^Ed+QXo@Phc80*}HMytO zNkZPP&RtsHivqB27$#t6+AbT2esuA?WQP?JFvm*1bgVlv5LZiPn&W+1!fZQ^(1NM! zzUTZA&BHxtq4VGo;OT>Qe;{P(0ZE_{{m>pnvwSpVsKCVhQ~iR^qHXB=*FJ|<&u;{A ze-D|%e?R#!eg)5WZNXO%>$LpoW67TGA@bHVkr$V%e1z5<0Xye`UA1XZv!z?#(idZnQp0U z%-(B-HOvAd#?kL>9Ldr4el46Wdbt*}e_@T*BAJ#q6Vd1y-408?XishJfPOUNS^ea` zBYH3-Sy80=B}32?#Vz#bP*Vrs-rFL;*z^%A8Pl_* zvz~MoM+samjWP9;v0`zcSfo?kGkswz*Aot8d!mh}1KHjvdbp?9nQpv0)|rDP^g(NZ1rn!C;f?SQ96 zg03{Z|Kh?sKx?-X>e`cej&FscG(d=XW| z5+kL9el=E^|BgXSe@^<+0%m1HQDs_Y#B|WmhZ8}4ywfz0!Y~{r*GLi#lJi+(;Z)F1 z4BFhR6v@k~lzx-I?81-v7fb~WFMGxalY&{uyfUu3ce}KS*D*_X6OdJ!yegXN} z&n9tjY;2Af>=5h(5)gukV?yma(zyAOK z{#DyH&9sKo@mOd1wv{XPtdq{+c|8%w^n&36u?T;RF{}{c5ri-nHwD}c)L>W`6fN9k zhGCIEtb}+Ge<*TXQ~j;^*L=e<#bl+7%Iw{ugu*%5$LY$xs_M1Xv>jd5TM{RCFRRNt zA;V~Lsi=jukXEn-Ro1o5y}e9D@te4>piR=uIr!C^cmtJ&3Z!M4v^w4?g41vaR z+MHMKf4Kig|M~_L;P=ns7jp*w*Zh;YMq_oOk@MlnL{;G%hCDw z$w43@k$dA66H5+7F@Qm{;?90u=lGM$+GA-9`8^>-?gp-Z&Gzkw!8F5<5`g$9CcnE z%|_ah?C1k(Fqkq;0Q;s1MVQ_(y)2ViHvL&n5=0(Knz)r$Suu+x3oKDEtY06NREzUx z^}Oz!0+EpOmeFfR0*MlSrJrmE`!d1wbRVY$a}j434S;mtvOUSyNe;evitHvxbE%+X zf8$oRPZMHAc9~~+Ly&mDOTrc&@lt`sGcJSqNW~oW;(p6nBd3RX-ru_+ZD#wzaEsZS z4_|+MAXSMv=Yml#X;5iX>I`J+S;`wfgFc7GJt0robCz&MRKHp6T5i)Ri^Fp$wHl`2 zQv{`}3jxTr272iU7naJ6FI9KVQ%RLBfBUznJ0)UYYjORoO8h>_WKSePYFFew^qNaj zTNF~+hD>e*&qaulBPGQj3wn7*KuR4f5AAG^-8MF|E5smq$He4ECzoF=Gh+Z4N7rrG zv2$kns1`|=;%ZzB?`#w0qO6BClV=L?ZR6>oh`<02k4j6AiI7p$EHUtD%@}H2f9dV{ z(0V>)M02@lAjR*vw^CIC;hxjI8IECjLB%r|0o7$AF>v+RtYulz*--|qJC(_1)2G&O z*^6$q3#Hmgo zlZ{%N)68rw7c%(O?Xej#XWo_Qf9dMb{|S8seix78T35=$G9JT&t_ggN;!)a1 z(9=_xfsb_J8@8>F|2z#MiRohRbZTrOnVcAznVBgbICh}m`~trmBCK@2e`Oy$e$bxj zj^7v2OK78K*wgW>^z8Cng?o!Xk)~_T-=IuUvyq8Y>wgjmt{)cYo5x3ZLUR>`W3WkU z;$Md4geLy2=v@)$-VG2Ap3(YjTN2}{>Gx~>sr=YPrdbL^d;&6LEvROjSs}#rj->)0 zv#eNji;ADh=J%7>G9=o}f7?e~w7MhjKeBU2z1ghq*!l882HdTx(hWX4X~t7ZAb`k{ z3p-IS)-3NGY%m(}`a*uAl#eh&ep%CM$R5eW%B#f4K!kT*(7BtXcnvN#GB$=Ad7CtQ z{!16MLNlJOPvd!XKVs<0L&r0XpXL$Ib@+J_*lJ>JfQOr#V%7nVe=#@3gT_5eaGD5L zg3n`4iqs@%mAC{@tDS`cJW_-1jqC!!y}sZazvM0)d>y`u(5nzV0ZHcbWOFmq2Ox(I zAolDmgtG|I)cL_Iau4u!7p(wU@WUmA|BJ7{g&Y8X^ArQF1$bkgLSP?6Kca{G0nWo~ z@F9Zx0PZ(J`%riHe}e|#F|P(1`0@sH9$C!72H-x}grp91cXJn<`&<)WKg$63+&gPs zET%bYi2WL|2_6Mqj;xM9H;Q(Up>`c~K5G(ML{yuQP>%plVPOaBE`F{<@Pe|d&8x{_p37yWX`OlUHk ztjvm;AxsU1GGel_JelcPKb%SpukXnuC*~hjeNgwRE45;!oY9SRxl+_ts@~_?Rv_J9 zFJ}UZJmmb^tBIVDSvygS#cC64v(nr|<%4WK;8z(Wk;bsRDKI=IAruW{uC7eRQ)S#5 zZnT_=PgYiXe{pNu)()q=qm_x*F88Xc_xo+XW@LJ6<+P#6qyOPkSEc$a+*%-0wt@xR z9q$naAthd&Siig)QxVlMo&WWN=-23sr|vm~zw0xePkUbM+W*p}D%VvvNEcz;5Mo%e z3Q;sR3SQJT$RQ|zB!CX3`2ApE(SaBccjv$Qpd0Cke~4*uK!_W8QFwYGp^M!AQ29ZGcKDR|P@a z%v9%ZZ(|lcC#wh(7O>MR2k{};2pBVPafVor*?w!aVw`NS4?*ib!N;&5VisZ}B4DBsZfi|oe_3rfVNb1BV&d-Gueq9&{fzUE4;-Fq z?dlBcI^UP+bj*wLy@-WZR@Fd>ftVq8v*cDrJ-k@6M zq)@09_`9hh`g=lQpunFc`LlvOU<)8Ae<_RlxH&9GZ}eQ^x!v=y=Q(Pn!V`E)cjbUC z=Tg&f8o4WI23<`(jgd&1=I+{p3#CfPFc}ln9n3|*Yw(#xA5>zmlJ71BQ~NvuXHW|f za-7G!1?xf%g;)aTVHb>M!!4#}x^5vJR6ODcilR;6s<7xlLSMDWvKb9zQx6RWf0++J zACICrfM=mL%lXAXJP{E69NWR%GYj%jBw&t@ggIs*yyQI2O04sk zB!TUWm$_L5W5=%fnx^w9$Z-fBf8YdgnDGmjvpj$+5oWP(5ZD(a8Q`wT0fWmxG01Tt z31&G%^vTgY@JZo;kk@BNeLgY3rJ)p}=QErkdF7}rOQFi)Xn7zj8O2Dt@?lAOTFRN= zeP&L2PQqKxoMUgvb@XR-{W*Os@7$B?Xiw|<>R<#scE-m&i_o*2&pGSkf1XBYZC_>T z)W)FmiY27}l=DI!^RjV40-T7>F%pZQ=;_9yy&D0{I}GD5hPuL~wY0g2p!%DrOm>Un zHgzKr*VA2eCUmOFF!Q&=YZ(S-ba{SE)^!;^E9>sd5}e{jm6tDvwXJ}dD7_Yxhmnbx}h<7n>u+~WWE-2B`e^vrnx z9Sh&UV_}S}1LAKVQU78>7+PQv9JdQDZ4w@a`j?U@NVNqZYGT(#;$<3MgF~-CpUVE5 z9P>kN>rJ=*;SDFQc)T*OtaU(xG2|0j{#H#D#r>Dwa5X7kIsXVNe>@{eEU*|x^fGq} zSau)UJ2+(LZ{4=@z~%dPPkBv_JA~yEFSABOQ9FOj_MQ8$JL0T^%z_>4FVQ~ux+g=m z5DRpQT1iob7-a*xu~>+Y>xJMU{v{9|_{X~96dhDu3+)Am3_IHmIK5ym?}AM(te@3j z8AY?{a;Dde^sFoue+r?f6~dB0DQxd)4q-8FA4BlfG&9|)<)XeA(&Gc2`b2ubD;WUz ze95@tHx(~`C@iXm_NpSoP_joCi+0gWBuu|58ce{asdhXP@<*9a)K@9=@IZlj#Ikec zVy>^WqG+k{gc>cbDD~Kr8~gKsnc{hYC*Jyu>Qx0b?p5^=f6GPk*+dB9CV9CxAe}DC zUYQ4eEyO_xQXZkp+@9J!d|M2_2W&@WxQgID<- zTM*#969)z>l?|ICgw0yf;(-?A2b+9QgZ$tWDciJ(rbR0JEME*^*y7VmCXarx`I7EIlbwQe;h!ZDc)ltaqU_TFqJ>yWr+`N zJi2Upa@;O}Fuw7)fVnHN(-ELQD2%H?C5-P!GZFqVp`U=7GrXi8& zvH_$LM!^+N#)vBjDM=zWgvYy4H?t_$i6&aP;?`oWm56qBZAWZr!{s-$8XHOs+5zT0 z-vV2me{);UojZ9^y!cFIb6eFkwY|CWOfhj$@B}6h&vdTbRtbl;UDhL(64 z+fA(?Li{s9Qv@OO72es(D%_WS!Vb}UB~Kg}f7!u!Jpq26s3q#GPvXIRa$o@LzSS%4 z5qv->#Xpvf?1^M=ixVpyFzLL2FL$m158yxWWjx_r$+8b$Dtf)*KkVhiBQguwvh!tp zGrWPRK8E5g-hZ+*|FPFdrEfSNkC$E}OGvMk;@|)S0?xmK4$C^9Zh}3|!}SHb&i_XD ze3PRp+6~v9zTlWZ*&frUSt(tiy zTSYbS;g>VjYUbrk4OEdjkp3n)`Xe-y>Y%b$!mK*K4xpt$RP3Y><_#$CXi6H*JXJqtzt)4QM z;?CxSv~PY$Ks4SXbhmT$NA3mre^zfkhf5SC@^*yfu zhQW{+5Wrdq7?$LG-FZRKdFL;D3@?EVhU}aq^}(I8fv1_ZfH&m%&yf4UO@3qkvrw79 zRcfRFd=poxgFC=l{F(LAD&N9Ydf`XTaIbxWpjz~aRsc%Qn;*xs(p$Xc^HV$GN0^VG z-5voyyBL0UQ=V8qWK``-AJ-F}T-I#AzEIlHG;%7^ry7H@69eUyvIJjXl zbz)m#_L1GYADO-6k$v#`P&`qN$DE(3k!Ug+!NSS~$8WEmsyR zSjJ+7z-qWP)t=e9fwaG2>r6Z4+~4g1PKKXMYU*z_y;wv$f2in#zun|QpA5@wGG@I~ zA+Tx{?evm9b$NroL;KJGeoI9f|9vBVQv;)2hlDu9)6qK?Z(2XhyKjxmieSN3f?7jk znK(nd#;77`i9ikC96vsHe7wI6a-%u$WNtJIKzi6|)VE){z3$u!epbyotFxFMX2Fx$ zDsWzkSA*Wtf3m^UP*DkcS^U`47G( zEf5R}iJu{Ab%Gd^B+M+R5r-G9AOAo^k*2Y55e&Hwf9ZIjf(s*{pngac>{w>u5tkr= zSjQl8)%{d07wm?@#tfmGc0J?WC2Zm;6EqA(wi2tCnW2$CZnMQeYHdo*h@8;7!rR;t zwC3gCQ2~7S#n$dCceiK)dyjF2T4?0fkx6#!aV6f-wIV^>|=Q;3& zR<|Rq-SaAVFp}ncDUkB<>4Baa6a547Y4y3Nl&^YTZYO zE8nH`bUBk61=@v1-d&?6wOtvKDv{{AlIh-peW%7447qSa=`QHYI{@i!Fogv8juepn zmf{QYf@D|;E5HlKMAN6lEL{>wfg%2K8DvE%g+;(&O_z+g#6sv7vps>3j%gSa!A^Rm ze=bQn-eK_^vCf^Mq-7LKG`jZyo^GbQ`^#c4t4ZhIkaPxjUr&VWRG;0PeQ~zjo9kUU z{bPl6MBsy@BZfr!2>i56GSUfBVpz`kZ+j)y;22)~w!q4UZD~PWk4X^8Vz!v@=Ss># zpKyJNmoZC!%5O;#QHsYD_a1weRxzxfe{Q&Kl(=n<-nHgZ+>>lyE*3Hi1uYTIuX>uw zuV>Li=!7SMC6+;|?^$Gp;-HI@R$qh&r`Tg%V!|2e1;`y#F4~h*pI9+bC}u}8`SCm~ z;bg*j>#}GnULC2$6DOQ2sTUPEzjyt3CvV&N&iML0Ft;q@eAHdH1cwJ!J72v1e>%B3 zT#3ahLlrPN-5~Q#ql@|FVnO0r)HKQffunGG{)wZEXAXQPUj*NFJPYd{PohULE!^Qb zNamR=@4AaGE=h3Rg09IFUABi~E>IN>)SYz=W)_ery0)t>S6U&?;RO`vM*hYeKKvKr z9&PXhA`}Utsr4#8H69$dOZ|;{f3sX27bH_n`E?&B@JQs1sHlsq2qdv!Rs5N7PqEov zvFW1qlb!y;fX0i-h^=T|PLx>Tlli7?H}mi_07wGnM4~=P)Xm27<`o0>GCja?K3_6( zX?wC$Eot}?DI5y$1|a4(qGS(jero$@y_P9z0oiBgTIHiBho{Esy{ambe>F7V+#9v+ zD0rHr3z%vzqgT*&VrK?ipJT$96JYf2l8_s$a-#dPd0;;a#+yF2y<$+A)i*WeeH zmT-pHLf|LZ?DF-ej~^Xd4mRDhS5@*qlIX+%LXt0#Oy&g^#XE`cc=n=3Ur6V*zVKz0001ZoMT{QU|??e-@p*Vzv%zB|6h5(GXO>fBCo*yC~njh96A|TWu zS|Pk6UL-&yq9z(9>L@TMW+`GRj4BE$d@BwsoGb(^x-AMVXf6gWdM@%WfG`R$jxgLY za55e;a5C&Oe^4`&G%7XjHbyr7H_|vJILtYKIy^gQJI*}nJvu#9J+wY(KO#SHKl(sY zK>R^8L5e~sLaIZ4L-s`6MaV`RMleRqM_72AV_;-pVCZGkW)Nlo0VW{k0zw9c|6o1? z039m<;{bS^g^@jO!axv(pTUp>lqgE1G-*~TC=$v1v)+R#0e@3xcjGn?)QC-%?Ym3w zy%#3&`O@p9-zAscn*)(65*7$R0BA{0@AdMVvylBEAHw&zSn@5l%*+mkgQI6W`2Xi3 zhDeYiLyiI?Y+#H{Y+)NGa1y6*2`Lkg}ZSN?tjI7xF01Rz=L=QJ2;J9oWa9*1drk|JdP*uB%Z?4cm~hnIh@7wcmXfs zCA^GR@G8#XJYK`=xPUkCCf>r^cn9y|J-m+(@F70J$M^)F;xl}XFR+I%AuvIO8iXkt zw2;`x3<@1I3@qkw@CfK}fCZLV;SgWpYkY%m@g2U$50gZO5r1!7#6N?4MoQ`?Yh)nG z9o0l#rc5JsVI6tWVM|sm zx)W#5)xB(cv46ME){HO6`n>6#rqwAQ#6(e9%jvZD9GXf!H77gcsBDdsheijXiX~6e z3X@vZ`^{*|O1er>5rkX`-HcW}Bg4)H<8V+~(a?sbWmtQ;C*i7gxRe8tyo#1^4jz(sfY7c(BPK;>D^Xi7OjvQC$ ztums{8Ny10j5;Az-kFJ1l-5o(X=e^7<$AM3Sesc9If$L6u}PjvteDMp5Y;k_BJMHa z_8JFfB}i^9_pNZWlloqpq_eyH?wsI~!5LM0*;z%SPF8DP)=p@p-WDN)ZtsL?O`T@mX5Z*?&4HGp;6A@a+Shh@qd+$Pu^eB4?&1 zm9va^aW?0@tY!=b=P!=IOeTF3rEFY?qA82`QDfren}J zF5z|Dh+UUFv)WvHM_SEd^^hOsiBg%$rVv(^Gg_rwl{RYO+lk?vBP+aL@CYgIbe(fb U(+`K7x4!KsgTcSE6qpbI009+n6#xJL diff --git a/web/src/assets/iconfont/iconfont.woff2 b/web/src/assets/iconfont/iconfont.woff2 index 5fe0cc004bc27d540aed7f29d686a1fcd6217b32..ceefa2f654653fc1bde5af05636306dac5397099 100644 GIT binary patch literal 30412 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

Rwo0-hEIcBD^i9ou7zKX5f;*G(z%NSM4 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 diff --git a/web/src/router.js b/web/src/router.js index beb2550d..8e05f8ac 100644 --- a/web/src/router.js +++ b/web/src/router.js @@ -104,16 +104,10 @@ const routes = [ component: () => import('@/views/Song.vue'), }, { - name: 'luma', - path: '/luma', - meta: { title: 'Luma视频创作' }, - component: () => import('@/views/Luma.vue'), - }, - { - name: 'keling', - path: '/keling', - meta: { title: 'KeLing视频创作' }, - component: () => import('@/views/KeLing.vue'), + name: 'video', + path: '/video', + meta: { title: '视频创作中心' }, + component: () => import('@/views/Video.vue'), }, ], }, diff --git a/web/src/store/video.js b/web/src/store/video.js new file mode 100644 index 00000000..e84c01fc --- /dev/null +++ b/web/src/store/video.js @@ -0,0 +1,590 @@ +// * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +// * Copyright 2023 The Geek-AI Authors. All rights reserved. +// * Use of this source code is governed by a Apache-2.0 license +// * that can be found in the LICENSE file. +// * @Author yangjian102621@163.com +// * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +import nodata from '@/assets/img/no-data.png' +import { checkSession, getSystemInfo } from '@/store/cache' +import { closeLoading, showLoading, showMessageError, showMessageOK } from '@/utils/dialog' +import { httpDownload, httpGet, httpPost } from '@/utils/http' +import { replaceImg, substr } from '@/utils/libs' +import Clipboard from 'clipboard' +import { ElMessage, ElMessageBox } from 'element-plus' +import { defineStore } from 'pinia' +import { computed, reactive, ref } from 'vue' + +export const useVideoStore = defineStore('video', () => { + // 当前活跃的视频类型 + const activeVideoType = ref('luma') + + // 共同状态 + const loading = ref(false) + const list = ref([]) + const noData = ref(true) + const page = ref(1) + const pageSize = ref(10) + const total = ref(0) + const taskPulling = ref(true) + const pullHandler = ref(null) + const clipboard = ref(null) + + // 视频预览 + const showDialog = ref(false) + const currentVideoUrl = ref('') + + // 用户信息 + const isLogin = ref(false) + const availablePower = ref(100) + + // 任务筛选 + const taskFilter = ref('all') // 'all', 'luma', 'keling' + + // Luma 相关状态 + const lumaUseImageMode = ref(false) // 是否使用图片辅助生成 + const lumaParams = reactive({ + prompt: '', + expand_prompt: false, + loop: false, + image: '', // 起始帧 + image_tail: '', // 结束帧 + }) + + // KeLing 相关状态 + const isGenerating = ref(false) + const generating = ref(false) + const kelingPowerCost = ref(10) + const lumaPowerCost = ref(10) + const showCameraControl = ref(false) + const keLingPowers = ref({}) + + const models = ref([ + { text: '可灵 1.6', value: 'kling-v1-6' }, + { text: '可灵 1.5', value: 'kling-v1-5' }, + { text: '可灵 1.0', value: 'kling-v1' }, + ]) + + const rates = [ + { css: 'square', value: '1:1', text: '1:1', img: '/images/mj/rate_1_1.png' }, + { css: 'size16-9', value: '16:9', text: '16:9', img: '/images/mj/rate_16_9.png' }, + { css: 'size9-16', value: '9:16', text: '9:16', img: '/images/mj/rate_9_16.png' }, + ] + + // KeLing 相关状态 + const kelingUseImageMode = ref(false) // 是否使用图片辅助生成 + const kelingParams = reactive({ + model: 'kling-v1-6', + prompt: '', + negative_prompt: '', + cfg_scale: 0.7, + mode: 'std', + aspect_ratio: '16:9', + duration: '5', + camera_control: { + type: '', + config: { + horizontal: 0, + vertical: 0, + pan: 0, + tilt: 0, + roll: 0, + zoom: 0, + }, + }, + image: '', + image_tail: '', + }) + + // 计算属性 + const currentList = computed(() => { + return list.value.filter((item) => { + if (taskFilter.value === 'all') { + return true + } else if (taskFilter.value === 'luma') { + return item.type === 'luma' || !item.type // 兼容旧数据 + } else if (taskFilter.value === 'keling') { + return item.type === 'keling' + } + return true + }) + }) + + // 初始化方法 + const init = async () => { + try { + const user = await checkSession() + isLogin.value = true + availablePower.value = user.power + + // 初始化剪贴板 + if (clipboard.value) { + clipboard.value.destroy() + } + clipboard.value = new Clipboard('.copy-prompt') + clipboard.value.on('success', () => { + ElMessage.success('复制成功!') + }) + clipboard.value.on('error', () => { + ElMessage.error('复制失败!') + }) + + // 获取系统信息 + const sysInfo = await getSystemInfo() + lumaPowerCost.value = sysInfo.data.luma_power + keLingPowers.value = sysInfo.data.keling_powers + updateModelPower() + + // 获取数据并开始轮询 + await fetchData(1) + startPolling() + } catch (error) { + console.error('初始化失败:', error) + } + } + + // 清理方法 + const cleanup = () => { + if (clipboard.value) { + clipboard.value.destroy() + } + stopPolling() + } + + // 开始轮询 + const startPolling = () => { + if (pullHandler.value) { + clearInterval(pullHandler.value) + } + pullHandler.value = setInterval(() => { + if (taskPulling.value) { + fetchData(page.value) + } + }, 5000) + } + + // 停止轮询 + const stopPolling = () => { + if (pullHandler.value) { + clearInterval(pullHandler.value) + pullHandler.value = null + } + } + + // 获取任务列表 + const fetchData = async (_page) => { + if (_page) { + page.value = _page + } + + try { + const res = await httpGet('/api/video/list', { + page: page.value, + page_size: pageSize.value, + type: taskFilter.value === 'all' ? '' : taskFilter.value, + }) + + total.value = res.data.total + let needPull = false + const items = [] + + for (let v of res.data.items) { + if (v.progress === 0 || v.progress === 102) { + needPull = true + } + items.push({ + ...v, + downloading: false, + }) + } + + loading.value = false + taskPulling.value = needPull + + if (JSON.stringify(list.value) !== JSON.stringify(items)) { + list.value = items + } + noData.value = list.value.length === 0 + } catch (error) { + loading.value = false + noData.value = true + console.error('获取任务列表失败:', error) + } + } + + // Luma 相关方法 + const uploadLumaStartImage = async (file) => { + const formData = new FormData() + formData.append('file', file.file) + + try { + showLoading('图片上传中...') + const res = await httpPost('/api/upload', formData) + lumaParams.image = res.data.url + ElMessage.success('上传成功') + closeLoading() + } catch (error) { + showMessageError('上传失败: ' + error.message) + closeLoading() + } + } + + const uploadLumaEndImage = async (file) => { + const formData = new FormData() + formData.append('file', file.file) + + try { + showLoading('图片上传中...') + const res = await httpPost('/api/upload', formData) + lumaParams.image_tail = res.data.url + ElMessage.success('上传成功') + } catch (error) { + showMessageError('上传失败: ' + error.message) + } finally { + closeLoading() + } + } + + const removeLumaImage = (type) => { + if (type === 'start') { + lumaParams.image = '' + } else if (type === 'end') { + lumaParams.image_tail = '' + } + } + + const switchLumaImages = () => { + ;[lumaParams.image, lumaParams.image_tail] = [lumaParams.image_tail, lumaParams.image] + } + + const toggleLumaImageMode = (enabled) => { + lumaUseImageMode.value = enabled + // 关闭时清空图片 + if (!enabled) { + lumaParams.image = '' + lumaParams.image_tail = '' + } + } + + const createLumaVideo = async () => { + if (!lumaParams.prompt?.trim()) { + return ElMessage.error('请输入视频描述') + } + + if (lumaUseImageMode.value && !lumaParams.image) { + return ElMessage.error('请上传起始帧图片') + } + + // 处理参数 + const requestData = { + ...lumaParams, + task_type: lumaUseImageMode.value ? 'image2video' : 'text2video', + } + + // 处理图片链接 + if (requestData.image) { + requestData.first_frame_img = replaceImg(requestData.image) + } + if (requestData.image_tail) { + requestData.end_frame_img = replaceImg(requestData.image_tail) + } + + try { + await httpPost('/api/video/luma/create', requestData) + await fetchData(1) + taskPulling.value = true + showMessageOK('创建任务成功') + } catch (error) { + showMessageError('创建任务失败:' + error.message) + } + } + + // KeLing 相关方法 + const changeRate = (item) => { + kelingParams.aspect_ratio = item.value + } + + const updateModelPower = () => { + showCameraControl.value = kelingParams.model === 'kling-v1-5' && kelingParams.mode === 'pro' + kelingPowerCost.value = + keLingPowers.value[`${kelingParams.model}_${kelingParams.mode}_${kelingParams.duration}`] || + 10 + } + + const toggleKelingImageMode = (enabled) => { + kelingUseImageMode.value = enabled + // 关闭时清空图片 + if (!enabled) { + kelingParams.image = '' + kelingParams.image_tail = '' + } + } + + const uploadKelingStartImage = async (file) => { + const formData = new FormData() + formData.append('file', file.file) + + try { + showLoading('图片上传中...') + const res = await httpPost('/api/upload', formData) + kelingParams.image = res.data.url + ElMessage.success('上传成功') + closeLoading() + } catch (error) { + showMessageError('上传失败: ' + error.message) + closeLoading() + } + } + + const uploadKelingEndImage = async (file) => { + const formData = new FormData() + formData.append('file', file.file) + + try { + showLoading('图片上传中...') + const res = await httpPost('/api/upload', formData) + kelingParams.image_tail = res.data.url + ElMessage.success('上传成功') + } catch (error) { + showMessageError('上传失败: ' + error.message) + } finally { + closeLoading() + } + } + + const removeKelingImage = (type) => { + if (type === 'start') { + kelingParams.image = '' + } else if (type === 'end') { + kelingParams.image_tail = '' + } + } + + const switchKelingImages = () => { + ;[kelingParams.image, kelingParams.image_tail] = [kelingParams.image_tail, kelingParams.image] + } + + const createKelingVideo = async () => { + if (generating.value) return + + if (!kelingParams.prompt?.trim()) { + return ElMessage.error('请输入视频描述') + } + + if (kelingParams.prompt.length > 500) { + return ElMessage.error('视频描述不能超过 500 个字符') + } + + if (kelingUseImageMode.value && !kelingParams.image) { + return ElMessage.error('请上传起始帧图片') + } + + generating.value = true + + // 处理参数 + const requestData = { + ...kelingParams, + task_type: kelingUseImageMode.value ? 'image2video' : 'text2video', + } + + // 处理图片链接 + if (requestData.image) { + requestData.image = replaceImg(requestData.image) + } + if (requestData.image_tail) { + requestData.image_tail = replaceImg(requestData.image_tail) + } + + try { + await httpPost('/api/video/keling/create', requestData) + showMessageOK('任务创建成功') + + // 新增重置 + page.value = 1 + list.value.unshift({ + progress: 0, + prompt: requestData.prompt, + raw_data: { + task_type: requestData.task_type, + model: requestData.model, + duration: requestData.duration, + mode: requestData.mode, + }, + }) + taskPulling.value = true + } catch (error) { + showMessageError('创建失败: ' + error.message) + } finally { + generating.value = false + } + } + + // 提示词生成 + const generatePrompt = async () => { + if (isGenerating.value) return + + const prompt = activeVideoType.value === 'luma' ? lumaParams.prompt : kelingParams.prompt + if (!prompt) { + return showMessageError('请输入原始提示词') + } + + isGenerating.value = true + showLoading('正在生成视频脚本...') + + try { + const res = await httpPost('/api/prompt/video', { prompt }) + if (activeVideoType.value === 'luma') { + lumaParams.prompt = res.data + } else { + kelingParams.prompt = res.data + } + closeLoading() + } catch (error) { + showMessageError('生成提示词失败:' + error.message) + closeLoading() + } finally { + isGenerating.value = false + } + } + + // 视频预览 + const playVideo = (item) => { + currentVideoUrl.value = replaceImg(item.video_url) + showDialog.value = true + } + + // 视频下载 + const downloadVideo = async (item) => { + const url = replaceImg(item.video_url) + const downloadURL = `${import.meta.env.VITE_API_HOST}/api/download?url=${url}` + const urlObj = new URL(url) + const fileName = urlObj.pathname.split('/').pop() + + item.downloading = true + + try { + const response = await httpDownload(downloadURL) + const blob = new Blob([response.data]) + const link = document.createElement('a') + link.href = URL.createObjectURL(blob) + link.download = fileName + document.body.appendChild(link) + link.click() + document.body.removeChild(link) + URL.revokeObjectURL(link.href) + item.downloading = false + } catch (error) { + showMessageError('下载失败') + item.downloading = false + } + } + + // 删除任务 + const removeJob = async (item) => { + try { + await ElMessageBox.confirm('此操作将会删除任务相关文件,继续操作码?', '删除提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }) + + await httpGet('/api/video/remove', { id: item.id }) + ElMessage.success('任务删除成功') + await fetchData() + } catch (error) { + if (error !== 'cancel') { + ElMessage.error('任务删除失败:' + error.message) + } + } + } + + // 发布任务 + const publishJob = async (item) => { + try { + await httpGet('/api/video/publish', { id: item.id, publish: item.publish }) + ElMessage.success('操作成功') + } catch (error) { + ElMessage.error('操作失败:' + error.message) + } + } + + // 切换视频类型 + const switchVideoType = (type) => { + activeVideoType.value = type + } + + // 切换任务筛选 + const switchTaskFilter = (filter) => { + taskFilter.value = filter + page.value = 1 + fetchData(1) + } + + return { + // 状态 + activeVideoType, + loading, + list, + currentList, + noData, + page, + pageSize, + total, + taskPulling, + showDialog, + currentVideoUrl, + isLogin, + availablePower, + nodata, + taskFilter, + + // Luma 状态 + lumaUseImageMode, + lumaParams, + lumaPowerCost, + // KeLing 状态 + kelingUseImageMode, + isGenerating, + generating, + kelingPowerCost, + showCameraControl, + keLingPowers, + models, + rates, + kelingParams, + + // 方法 + init, + cleanup, + fetchData, + switchVideoType, + switchTaskFilter, + + // Luma 方法 + toggleLumaImageMode, + uploadLumaStartImage, + uploadLumaEndImage, + removeLumaImage, + switchLumaImages, + createLumaVideo, + + // KeLing 方法 + toggleKelingImageMode, + changeRate, + updateModelPower, + uploadKelingStartImage, + uploadKelingEndImage, + removeKelingImage, + switchKelingImages, + createKelingVideo, + + // 共同方法 + generatePrompt, + playVideo, + downloadVideo, + removeJob, + publishJob, + substr, + replaceImg, + } +}) diff --git a/web/src/views/KeLing.vue b/web/src/views/KeLing.vue deleted file mode 100644 index c9fd13e2..00000000 --- a/web/src/views/KeLing.vue +++ /dev/null @@ -1,745 +0,0 @@ - - - - - diff --git a/web/src/views/Luma.vue b/web/src/views/Luma.vue deleted file mode 100644 index 778a90ff..00000000 --- a/web/src/views/Luma.vue +++ /dev/null @@ -1,387 +0,0 @@ - - - - - diff --git a/web/src/views/Video.vue b/web/src/views/Video.vue new file mode 100644 index 00000000..c8281602 --- /dev/null +++ b/web/src/views/Video.vue @@ -0,0 +1,645 @@ + + + + +