@hbixinlian/as-editor-components 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"as-editor-components.es.js","sources":["../src/components/componentscom/auxiliarysegmentation/index.vue","../src/utils/linkNavigate.js","../src/components/componentscom/captiontext/index.vue","../src/components/componentscom/commoditysearch/index.vue","../src/assets/images/powder.png","../src/components/componentscom/communitypowder/index.vue","../src/assets/images/imgs.png","../src/components/componentscom/coursemodule/index.vue","../src/components/componentscom/crowdoperation/index.vue","../src/components/componentscom/custommodule/index.vue","../src/components/componentscom/entertheshop/index.vue","../src/components/componentscom/follow/index.vue","../src/components/componentscom/graphicnavigation/index.vue","../src/components/componentscom/investigate/index.vue","../src/components/componentscom/listswitching/index.vue","../src/components/componentscom/livemodule/index.vue","../src/assets/images/mor.png","../src/components/componentscom/magiccube/index.vue","../src/components/componentscom/notice/index.vue","../src/components/componentscom/onlineservice/index.vue","../src/components/componentscom/personalizedrecommendation/index.vue","../src/components/componentscom/pictureads/index.vue","../src/components/componentscom/placementarea/index.vue","../src/assets/images/fwb.png","../src/components/componentscom/richtext/index.vue","../src/assets/images/backimg.png","../src/assets/images/headerimg.png","../src/components/componentscom/storeinformation/index.vue","../src/components/componentscom/storenotecard/index.vue","../src/assets/images/suspension-button.svg","../src/components/componentscom/suspension/index.vue","../src/assets/images/tabbar-home-active.svg","../src/assets/images/tabbar-home-inactive.svg","../src/assets/images/tabbar-profile-active.svg","../src/assets/images/tabbar-profile-inactive.svg","../src/components/componentscom/tabBar/index.vue","../src/components/componentscom/videoss/index.vue","../src/components/ComponentRenderer/index.vue","../src/assets/images/tabbar-home-active.svg?inline","../src/assets/images/tabbar-home-inactive.svg?inline","../src/assets/images/tabbar-profile-active.svg?inline","../src/assets/images/tabbar-profile-inactive.svg?inline","../src/utils/componentProperties.js","../lib/index.js"],"sourcesContent":["<template>\n <div class=\"auxiliarysegmentation\">\n <section\n class=\"contan\"\n :style=\"{\n height: datas.blankHeight + 'px',\n padding: datas.paddType === 0 ? '0px' : '0px 15px',\n }\"\n >\n <div\n v-show=\"datas.segmentationtype === 1\"\n style=\"height: 1px; width: 100%; border-top-width: 1px\"\n :style=\"{\n 'border-top-style': datas.bordertp,\n 'border-top-color': datas.auxliarColor,\n }\"\n />\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'auxiliarysegmentation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.auxiliarysegmentation {\n position: relative;\n .contan {\n display: flex;\n align-items: center;\n }\n}\n</style>\n","/**\n * DIY 组件链接跳转工具\n * 根据门户编辑器保存的链接数据,解析并执行跳转\n *\n * 数据结构:\n * {\n * linktype: '10' | '11', // 10=内部页面, 11=外部链接\n * http: {\n * routePath?: string, // 内部页面路径,如 '/product/detail'\n * queryParams?: Record<string, string>, // 路由参数,如 { productId: '123' }\n * externalLink?: string, // 外部链接完整URL\n * }\n * }\n */\n\n/**\n * 解析链接数据,生成可跳转的路径\n * @param {object} linkData - 链接数据 { linktype, http }\n * @returns {{ type: 'internal' | 'external', path?: string, url?: string } | null}\n */\nexport function resolveLink(linkData) {\n if (!linkData) return null\n\n const http = linkData.http || {}\n const linktype = String(linkData.linktype ?? linkData.type ?? '10')\n\n // 兼容旧数据:linktype=10 但使用 externalLink 作为内部路径\n if (linktype === '10') {\n // 优先使用新字段 routePath\n if (http.routePath) {\n const query = http.queryParams || {}\n const hasQuery = Object.keys(query).some((k) => query[k])\n const queryString = hasQuery\n ? '?' +\n Object.entries(query)\n .filter(([, v]) => v)\n .map(([k, v]) => `${k}=${encodeURIComponent(v)}`)\n .join('&')\n : ''\n return { type: 'internal', path: http.routePath + queryString }\n }\n\n // 兼容旧数据:externalLink 作为内部路径\n if (http.externalLink) {\n return { type: 'internal', path: http.externalLink }\n }\n\n return null\n }\n\n if (linktype === '11') {\n if (http.externalLink) {\n return { type: 'external', url: http.externalLink }\n }\n return null\n }\n\n return null\n}\n\n/**\n * 执行链接跳转\n * @param {object} linkData - 链接数据\n * @param {object} [router] - vue-router 实例(可选,用于内部页面跳转)\n * @param {function} [getPrefix] - 获取路由前缀的函数,如 getPrefixRouteParmas\n */\nexport function navigateByLink(linkData, router, getPrefix) {\n const resolved = resolveLink(linkData)\n if (!resolved) return\n\n if (resolved.type === 'internal') {\n if (router) {\n router.push(resolved.path)\n } else {\n // 无 router 实例时,拼接完整 hash URL\n const prefix = getPrefix ? getPrefix(false) : ''\n window.location.hash = prefix + resolved.path\n }\n } else if (resolved.type === 'external') {\n window.location.href = resolved.url\n }\n}\n","<template>\n <div class=\"captiontext\" :style=\"{ background: datas.backColor }\">\n <div\n style=\"padding: 6px 0\"\n :style=\"{\n 'border-bottom': datas.borderBott\n ? '1px solid #F9F9F9'\n : '1px solid #fff',\n }\"\n >\n <!-- 标题 -->\n <h2\n :style=\"{\n 'font-size': datas.wordSize + 'px',\n 'font-weight': datas.wordWeight,\n color: datas.wordColor,\n 'text-align': datas.positions,\n height: datas.wordHeight + 'px',\n 'line-height': datas.wordHeight + 'px',\n 'padding-right': !(datas.positions !== 'center' && datas.more.show)\n ? '0'\n : '60px',\n }\"\n v-if=\"datas.name\"\n >\n {{ datas.name }}\n </h2>\n\n <!-- 描述文字 -->\n <p\n :style=\"{\n 'font-size': datas.descriptionSize + 'px',\n 'font-weight': datas.descriptionWeight,\n color: datas.descriptionColor,\n 'text-align': datas.positions,\n }\"\n style=\"margin-top: 8px\"\n v-if=\"datas.description\"\n >\n {{ datas.description }}\n </p>\n\n <!-- 更多 -->\n <p\n class=\"more\"\n v-show=\"datas.more.show\"\n :class=\"datas.positions !== 'center' ? 'lef' : ''\"\n :style=\"{\n color: datas.more.type === 0 ? '#38f' : '',\n top: (datas.wordHeight - 6) / 2 + 'px',\n }\"\n @click=\"handleMoreClick\"\n >\n {{ datas.more.type === 2 ? '' : datas.more.text }}\n <span> {{ datas.more.type === 0 ? '' : '>' }}</span>\n </p>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'captiontext',\n props: {\n datas: Object,\n },\n methods: {\n handleMoreClick() {\n const more = this.datas?.more\n if (!more?.http && !more?.httpType) return\n // 兼容 captiontext 的特殊结构:httpType(数字) + http(字符串或对象)\n const linkData = {\n linktype: String(more.httpType ?? 10),\n http: typeof more.http === 'object' ? more.http : { externalLink: more.http || '' },\n }\n navigateByLink(linkData, this.$router)\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.captiontext {\n border: 2px solid #fff;\n box-sizing: border-box;\n width: 100%;\n padding: 0 14px;\n min-height: 20px;\n position: relative;\n\n h2,\n p {\n word-wrap: break-word;\n min-height: 10px;\n }\n\n /* 更多 */\n .more {\n font-size: 10px;\n color: #969799;\n text-align: center;\n &.lef {\n position: absolute;\n right: 15px;\n top: 12px;\n }\n }\n}\n</style>\n","<template>\n <div\n class=\"commoditysearch\"\n :class=\"{ 'commoditysearch--sticky': Number(datas.position) === 1 }\"\n :style=\"{\n background: datas.backgroundColor,\n }\"\n @click=\"handleSearchClick\"\n >\n <!-- 搜索框 -->\n <section\n class=\"search-container\"\n :style=\"{\n height: datas.heights + 'px',\n background: datas.borderColor,\n 'border-radius': datas.borderRadius === 0 ? '0px' : '4px',\n }\"\n >\n <div\n class=\"search-content\"\n :class=\"{ 'search-content--center': Number(datas.textPosition) === 1 }\"\n >\n <van-icon name=\"search\" class=\"search-icon\" :style=\"{ color: datas.textColor }\" />\n <span class=\"placeholder-text\" :style=\"{ color: datas.textColor }\">搜索商品</span>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { resolveLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'commoditysearch',\n props: {\n datas: {\n type: Object,\n default: () => ({}),\n },\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n },\n methods: {\n getRoutePrefix() {\n const params = this.$route?.params || {}\n if (params.uniacid && params.type) {\n return `/${params.uniacid}/${params.type}`\n }\n\n return ''\n },\n withRoutePrefix(path) {\n if (!path || !path.startsWith('/')) return path\n\n const routePrefix = this.getRoutePrefix()\n if (!routePrefix || path.startsWith(`${routePrefix}/`)) return path\n\n return `${routePrefix}${path}`\n },\n parseInternalPath(rawPath) {\n const [path, queryString = ''] = String(rawPath || '').split('?')\n const query = {}\n\n if (queryString) {\n new URLSearchParams(queryString).forEach((value, key) => {\n query[key] = value\n })\n }\n\n return {\n path: this.withRoutePrefix(path || '/product/search'),\n query,\n }\n },\n navigateInternal(rawPath, extraQuery = {}) {\n const target = this.parseInternalPath(rawPath)\n const query = { ...target.query, ...extraQuery }\n\n if (this.$router) {\n this.$router.push({\n path: target.path,\n query,\n })\n return\n }\n\n const queryString = new URLSearchParams(query).toString()\n window.location.hash = queryString ? `${target.path}?${queryString}` : target.path\n },\n handleSearchClick() {\n if (!this.componentInteractive) return\n\n const hasCustomLink = this.datas?.http?.routePath || this.datas?.http?.externalLink\n if (hasCustomLink) {\n const resolved = resolveLink({\n linktype: this.datas.linktype || this.datas.type || '10',\n http: this.datas.http,\n })\n\n if (resolved?.type === 'external') {\n window.location.href = resolved.url\n return\n }\n\n if (resolved?.type === 'internal') {\n this.navigateInternal(resolved.path)\n return\n }\n }\n\n this.navigateInternal('/product/search')\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.commoditysearch {\n position: relative;\n padding: 8px 15px;\n box-sizing: border-box;\n transition: all 0.3s ease;\n\n /* 搜索框容器 */\n .search-container {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n padding: 0 12px;\n box-sizing: border-box;\n overflow: hidden;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);\n\n .search-content {\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n justify-content: flex-start;\n\n &.search-content--center {\n justify-content: center;\n }\n\n .search-icon {\n flex: 0 0 auto;\n font-size: 16px;\n margin-right: 8px;\n opacity: 0.8;\n }\n\n .placeholder-text {\n min-width: 0;\n font-size: 14px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n }\n}\n\n.commoditysearch.commoditysearch--sticky {\n position: sticky;\n top: 0;\n z-index: 1000;\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div class=\"communitypowder\">\n <!-- 社区粉丝 -->\n <section class=\"powder\" :style=\"{ background: datas.backColor }\">\n <!-- 内容 -->\n <div class=\"container\">\n <div class=\"lef\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/powder.png\"\n alt=\"\"\n v-if=\"!datas.mainImg\"\n />\n <img draggable=\"false\" :src=\"datas.mainImg\" alt=\"\" v-else />\n <div class=\"text\">\n <p class=\"first\">{{ datas.title }}</p>\n <p class=\"last\">{{ datas.describe }}</p>\n </div>\n </div>\n <van-button class=\"rig\" type=\"danger\" color=\"#f44\">{{\n datas.buttonName\n }}</van-button>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'communitypowder',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.communitypowder {\n position: relative;\n /* 社区涨粉 */\n .powder {\n width: 100%;\n height: 90px;\n display: flex;\n align-items: center;\n .container {\n height: 60px;\n width: 100%;\n box-sizing: border-box;\n padding: 0 15px;\n align-items: center;\n display: flex;\n justify-content: space-between;\n /* 左半部分 */\n .lef {\n display: flex;\n img {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n }\n .text {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin-left: 10px;\n width: 146px;\n padding: 8px 0;\n .first {\n width: 100%;\n color: #333;\n font-weight: 700;\n font-size: 14px;\n line-height: 20px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .last {\n width: 100%;\n color: #a9a9a9;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n }\n }\n }\n }\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div class=\"coursemodule\" :style=\"containerStyle\">\n <!-- 标题区域 -->\n <div class=\"course-header\" v-if=\"datas.showTitle\">\n <h3 class=\"course-title\" :style=\"titleStyle\">{{ datas.title }}</h3>\n <div\n class=\"more-btn\"\n v-if=\"datas.showMore\"\n :style=\"{ color: datas.moreColor }\"\n >\n {{ datas.moreText }}\n </div>\n </div>\n\n <!-- 课程列表 -->\n <div class=\"course-list\">\n <!-- 没有数据时显示默认内容 -->\n <div\n v-if=\"!datas.courseList || datas.courseList.length === 0\"\n class=\"default-courses\"\n :style=\"listStyle\"\n >\n <div\n v-for=\"index in 3\"\n :key=\"index\"\n class=\"course-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n ]\"\n :style=\"courseItemStyle\"\n >\n <!-- 课程封面 -->\n <div class=\"course-cover\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"课程封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n <!-- 课程时长 -->\n <div class=\"course-duration\" v-if=\"datas.showDuration\">\n {{ '12:34' }}\n </div>\n <!-- 课程标签 -->\n <van-tag\n v-if=\"datas.showTag\"\n :color=\"datas.tagColor\"\n class=\"course-tag\"\n size=\"mini\"\n >\n {{ datas.defaultTag }}\n </van-tag>\n </div>\n\n <!-- 课程信息 -->\n <div class=\"course-info\">\n <!-- 课程标题 -->\n <h4 :style=\"courseTitleStyle\">\n {{ `示例课程标题${index}` }}\n </h4>\n\n <!-- 课程描述 -->\n <p v-if=\"datas.showDescription\" :style=\"descriptionStyle\">\n {{ '这里是课程的简短描述,介绍课程的主要内容和特点' }}\n </p>\n\n <!-- 讲师信息 -->\n <div v-if=\"datas.showTeacher\" class=\"teacher-info\">\n <span :style=\"teacherStyle\">讲师:{{ '示例讲师' }}</span>\n </div>\n\n <!-- 课程底部信息 -->\n <div class=\"course-bottom\">\n <!-- 课程价格 -->\n <div v-if=\"datas.showPrice\" class=\"course-price\">\n <span class=\"price-symbol\">¥</span>\n <span class=\"price-value\" :style=\"priceStyle\">{{\n '99.00'\n }}</span>\n <span v-if=\"datas.showOriginalPrice\" class=\"original-price\"\n >¥199.00</span\n >\n </div>\n\n <!-- 学习人数 -->\n <div\n v-if=\"datas.showStudentCount\"\n class=\"student-count\"\n :style=\"studentCountStyle\"\n >\n {{ '1234人学习' }}\n </div>\n\n <!-- 操作按钮 -->\n <div v-if=\"datas.showButton\" class=\"course-action\">\n <van-button\n size=\"mini\"\n :color=\"datas.buttonColor\"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n >\n {{ datas.buttonText }}\n </van-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 有数据时显示实际内容 -->\n <div v-else class=\"actual-courses\">\n <div\n v-for=\"(course, index) in datas.courseList\"\n :key=\"index\"\n class=\"course-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n ]\"\n :style=\"courseItemStyle\"\n >\n <!-- 课程封面 -->\n <div class=\"course-cover\">\n <img\n draggable=\"false\"\n :src=\"course.coverUrl || '../../../assets/images/imgs.png'\"\n alt=\"课程封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n <!-- 课程时长 -->\n <div\n class=\"course-duration\"\n v-if=\"datas.showDuration && course.duration\"\n >\n {{ course.duration }}\n </div>\n <!-- 课程标签 -->\n <van-tag\n v-if=\"datas.showTag && course.tag\"\n :color=\"datas.tagColor\"\n class=\"course-tag\"\n size=\"mini\"\n >\n {{ course.tag }}\n </van-tag>\n </div>\n\n <!-- 课程信息 -->\n <div class=\"course-info\">\n <!-- 课程标题 -->\n <h4 :style=\"courseTitleStyle\">\n {{ course.title }}\n </h4>\n\n <!-- 课程描述 -->\n <p\n v-if=\"datas.showDescription && course.description\"\n :style=\"descriptionStyle\"\n >\n {{ course.description }}\n </p>\n\n <!-- 讲师信息 -->\n <div\n v-if=\"datas.showTeacher && course.teacher\"\n class=\"teacher-info\"\n >\n <span :style=\"teacherStyle\">讲师:{{ course.teacher }}</span>\n </div>\n\n <!-- 课程底部信息 -->\n <div class=\"course-bottom\">\n <!-- 课程价格 -->\n <div v-if=\"datas.showPrice\" class=\"course-price\">\n <span class=\"price-symbol\">¥</span>\n <span class=\"price-value\" :style=\"priceStyle\">{{\n course.price || '0.00'\n }}</span>\n <span\n v-if=\"datas.showOriginalPrice && course.originalPrice\"\n class=\"original-price\"\n >¥{{ course.originalPrice }}</span\n >\n </div>\n\n <!-- 学习人数 -->\n <div\n v-if=\"datas.showStudentCount && course.studentCount\"\n class=\"student-count\"\n :style=\"studentCountStyle\"\n >\n {{ course.studentCount }}人学习\n </div>\n\n <!-- 操作按钮 -->\n <div v-if=\"datas.showButton\" class=\"course-action\">\n <van-button\n size=\"mini\"\n :color=\"datas.buttonColor\"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n >\n {{ datas.buttonText }}\n </van-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'coursemodule',\n props: {\n datas: {\n type: Object,\n required: true,\n },\n },\n computed: {\n containerStyle() {\n return {\n backgroundColor: this.datas.backgroundColor,\n padding: `${this.datas.containerPadding}px`,\n margin: `${this.datas.containerMargin}px`,\n }\n },\n titleStyle() {\n return {\n fontSize: this.datas.titleFontSize + 'px',\n color: this.datas.titleColor,\n fontWeight: this.datas.titleFontWeight,\n textAlign: this.datas.titleAlign,\n }\n },\n listStyle() {\n return {\n display: this.datas.layoutType === 0 ? 'grid' : 'flex',\n gridTemplateColumns:\n this.datas.layoutType === 0\n ? `repeat(${this.datas.columnsPerRow}, 1fr)`\n : 'none',\n flexDirection: this.datas.layoutType === 1 ? 'column' : 'row',\n gap: this.datas.itemSpacing + 'px',\n padding: `${this.datas.listPadding}px`,\n }\n },\n courseItemStyle() {\n return {\n backgroundColor: this.datas.itemBackgroundColor,\n borderRadius: this.datas.itemRadius + 'px',\n padding: this.datas.itemPadding + 'px',\n border: this.datas.showBorder\n ? `1px solid ${this.datas.borderColor}`\n : 'none',\n boxShadow: this.datas.showShadow ? '0 2px 8px rgba(0,0,0,0.1)' : 'none',\n }\n },\n courseTitleStyle() {\n return {\n fontSize: this.datas.courseTitleFontSize + 'px',\n color: this.datas.courseTitleColor,\n fontWeight: this.datas.courseTitleFontWeight,\n margin: '8px 0 4px 0',\n lineHeight: '1.4',\n }\n },\n descriptionStyle() {\n return {\n fontSize: this.datas.descriptionFontSize + 'px',\n color: this.datas.descriptionColor,\n margin: '4px 0',\n lineHeight: '1.4',\n }\n },\n teacherStyle() {\n return {\n fontSize: this.datas.teacherFontSize + 'px',\n color: this.datas.teacherColor,\n margin: '4px 0',\n }\n },\n priceStyle() {\n return {\n fontSize: this.datas.priceFontSize + 'px',\n color: this.datas.priceColor,\n fontWeight: 'bold',\n }\n },\n studentCountStyle() {\n return {\n fontSize: this.datas.studentCountFontSize + 'px',\n color: this.datas.studentCountColor,\n }\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.coursemodule {\n position: relative;\n\n .course-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n\n .course-title {\n margin: 0;\n }\n\n .more-btn {\n font-size: 14px;\n cursor: pointer;\n }\n }\n\n .course-list {\n .course-item {\n display: flex;\n overflow: hidden;\n\n &.layout-grid {\n flex-direction: column;\n }\n\n &.layout-list {\n flex-direction: row;\n\n .course-cover {\n width: 120px;\n height: 80px;\n flex-shrink: 0;\n margin-right: 12px;\n }\n\n .course-info {\n flex: 1;\n }\n }\n\n &.layout-card {\n flex-direction: column;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n }\n\n .course-cover {\n position: relative;\n width: 100%;\n height: 120px;\n overflow: hidden;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .course-duration {\n position: absolute;\n bottom: 4px;\n right: 4px;\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 12px;\n }\n\n .course-tag {\n position: absolute;\n top: 4px;\n left: 4px;\n }\n }\n\n .course-info {\n padding: 8px 0;\n\n h4 {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n p {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .teacher-info {\n margin: 4px 0;\n }\n\n .course-bottom {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n\n .course-price {\n display: flex;\n align-items: baseline;\n\n .price-symbol {\n font-size: 12px;\n margin-right: 2px;\n }\n\n .original-price {\n font-size: 12px;\n color: #999;\n text-decoration: line-through;\n margin-left: 8px;\n }\n }\n\n .student-count {\n font-size: 12px;\n }\n\n .course-action {\n margin-left: auto;\n }\n }\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"crowdoperation\">\n {{ datas.text }}\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'crowdoperation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.crowdoperation {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"custommodule\">\n {{ datas.demo }}\n <img :src=\"datas.img\" alt=\"\">\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'custommodule',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.custommodule {\n position: relative;\n img{\n width: 100%;\n }\n}\n</style>\n","<template>\n <div class=\"entertheshop\">\n <!-- 内容 -->\n <van-cell\n class=\"pointer-events\"\n :icon=\"datas.icon\"\n :title=\"datas.shopName\"\n is-link\n :value=\"datas.copywriting\"\n :to=\"datas.type==10?datas.http.externalLink:''\"\n :url=\"datas.type==11?datas.http.externalLink:''\"\n />\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'entertheshop',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.entertheshop {\n position: relative;\n :deep(.van-cell__left-icon){\n display: flex;\n align-items: center;\n }\n}\n</style>\n","<template>\n <div id=\"follow\">\n <div class=\"follow-box\">\n <div class=\"follow-pic\">\n <img :src=\"datas.heade\" alt=\"\" />\n </div>\n <div class=\"follow-info\">\n <span>{{ datas.followName }}</span>\n </div>\n <div class=\"follow-right\">\n <van-button color=\"#07C160\">关注公众号</van-button>\n </div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'follow',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style lang=\"less\" scoped>\n#follow {\n position: relative;\n width: 100%;\n padding: 5px 10px;\n box-sizing: border-box;\n .follow-box {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border: 1px solid #999;\n border-radius: 5px;\n padding: 10px;\n box-sizing: border-box;\n .follow-pic {\n width: 50px;\n height: 50px;\n img {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n }\n }\n .follow-info {\n flex: 1;\n margin-left: 20px;\n font-size: 14px;\n color: #333;\n }\n }\n}\n</style>\n","<template>\n <div\n class=\"graphicnavigation\"\n :style=\"{ backgroundImage: 'url(' + datas.bgImg + ')' }\"\n >\n <!-- 默认导航 -->\n <section\n class=\"defaultNavigation\"\n v-if=\"!datas.imageList[0]\"\n :style=\"{\n background: datas.backgroundColor,\n display: datas.imgStyle === 0 ? 'flex' : '-webkit-box',\n 'overflow-x': datas.imgStyle === 0 ? '' : 'scroll',\n }\"\n >\n <!-- 导航 -->\n <div\n class=\"navigationList\"\n v-for=\"index in 5\"\n :key=\"index\"\n :style=\"{\n width:\n datas.imgStyle === 0 ? 'auto' : 375 / datas.showSize - 1 + 'px',\n }\"\n >\n <!-- 图片 -->\n <img\n src=\"../../../assets/images/imgs.png\"\n alt=\"默认图片\"\n v-show=\"datas.navigationType === 0\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + '%' }\"\n />\n <!-- 文字 -->\n <p :style=\"{ color: datas.textColor }\">导航</p>\n </div>\n </section>\n\n <!-- 导航列表 -->\n <section\n class=\"defaultNavigation\"\n v-else\n :style=\"{\n background: datas.backgroundColor,\n display: datas.imgStyle === 0 ? 'flex' : '-webkit-box',\n 'flex-wrap': datas.imgStyle === 0 ? 'wrap' : 'nowrap',\n 'justify-content':\n datas.imgStyle === 0 ? 'space-evenly' : 'space-around',\n 'overflow-x': datas.imgStyle === 0 ? '' : 'scroll',\n }\"\n >\n <!-- 导航 -->\n <div\n class=\"navigationList\"\n v-for=\"(item, index) in datas.imageList\"\n :key=\"index\"\n :style=\"{\n width: datas.imgStyle === 0 ? '20%' : 375 / datas.showSize - 1 + 'px',\n }\"\n @click=\"handleItemClick(item)\"\n >\n <!-- 图片 -->\n <img\n :src=\"item.src\"\n alt=\"默认图片\"\n v-show=\"datas.navigationType === 0\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + '%' }\"\n />\n <!-- 文字 -->\n <p\n :style=\"{\n color: datas.textColor,\n 'font-size': datas.textSize + 'px',\n height: datas.textHeight + 'px',\n 'line-height': datas.textHeight + 'px',\n }\"\n >\n {{ item.text }}\n </p>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'graphicnavigation',\n props: {\n datas: Object,\n },\n created() {\n console.log(this.datas, '--------graphicnavigation')\n },\n methods: {\n handleItemClick(item) {\n if (!item.linktype && !item.type) return\n navigateByLink(item, this.$router)\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.graphicnavigation {\n position: relative;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n /* 默认导航 */\n .defaultNavigation {\n // overflow-x: scroll;\n justify-content: space-evenly;\n &::-webkit-scrollbar {\n height: 1px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #155bd4;\n }\n :deep(.el-collapse-item__header),\n :deep(.el-collapse-item__wrap) {\n border-bottom: 0 !important;\n }\n /* 导航 */\n .navigationList {\n display: flex;\n flex-direction: column;\n align-items: center;\n img {\n margin-top: 5px;\n width: 45px;\n height: 45px;\n }\n p {\n font-size: 12px;\n margin-top: 5px;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n box-sizing: border-box;\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"investigate\" @click=\"guanbi\">\n <!-- 内容 -->\n <div class=\"title\">{{ datas.title }}</div>\n <div\n class=\"rescon\"\n v-for=\"(item1, index1) in datas.jsonData\"\n :key=\"index1\"\n @mouseleave=\"leave()\"\n >\n <!-- 输入框 -->\n <div v-if=\"item1.type == 0\">\n <van-cell-group>\n <van-field\n :label=\"item1.name\"\n :placeholder=\"item1.value\"\n :value=\"item1.value2\"\n readonly=\"readonly\"\n />\n </van-cell-group>\n </div>\n\n <!-- 下拉框 -->\n <div v-if=\"item1.type == 1\" class=\"xiala\">\n <div class=\"titlename\">{{ item1.name }}</div>\n <div class=\"select\">\n <input\n type=\"text\"\n readonly=\"readonly\"\n :placeholder=\"'点击选择' + item1.name\"\n class=\"readinput\"\n @click=\"showpic(index1)\"\n :value=\"item1.value2\"\n />\n <ul :class=\"{ ulshow: item1.showPicker, ultext: true }\">\n <li\n v-for=\"(item, index) in item1.value1\"\n :key=\"index\"\n @click=\"xuanze(index1, item)\"\n >\n {{ item }}\n </li>\n </ul>\n </div>\n </div>\n\n <!-- 单选框 -->\n <van-field name=\"radio\" :label=\"item1.name\" v-if=\"item1.type == 2\">\n <template #input>\n <van-radio-group :value=\"item1.value2\" direction=\"horizontal\">\n <van-radio\n :name=\"item\"\n v-for=\"(item, index) in item1.value1\"\n :key=\"index\"\n >{{ item }}</van-radio\n >\n </van-radio-group>\n </template>\n </van-field>\n\n <!-- 复选框 -->\n\n <van-field\n name=\"checkboxGroup\"\n :label=\"item1.name\"\n v-if=\"item1.type == 3\"\n >\n <template #input>\n <van-checkbox-group direction=\"horizontal\">\n <van-checkbox\n :name=\"item\"\n v-for=\"(item, index) in item1.value1\"\n :key=\"index\"\n :shape=\"item1.name\"\n >{{ item }}</van-checkbox\n >\n </van-checkbox-group>\n </template>\n </van-field>\n </div>\n <div class=\"button\">\n <button>提交</button>\n </div>\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'investigate',\n data() {\n return {\n jsonData: [],\n }\n },\n props: {\n datas: Object,\n },\n created() {},\n mounted() {},\n methods: {\n //点击显示下拉框\n showpic(index1) {\n event.stopPropagation()\n this.datas.jsonData.forEach((el) => {\n el.showPicker = false\n })\n this.datas.jsonData[index1].showPicker = !this.datas.jsonData[index1]\n .showPicker\n },\n\n // //下拉选择\n xuanze(index1) {\n this.datas.jsonData[index1].showPicker = false\n },\n\n //关闭下拉选项\n guanbi() {\n this.datas.jsonData.forEach((el) => {\n el.showPicker = false\n })\n },\n leave() {\n this.datas.jsonData.forEach((el) => {\n el.showPicker = false\n })\n },\n //\n },\n watch: {},\n}\n</script>\n\n<style scoped lang=\"less\">\n.investigate {\n position: relative;\n padding: 12px;\n box-sizing: border-box;\n}\n\n.rescon {\n margin-bottom: 12px;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n}\nform select {\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n.xiala {\n position: relative;\n display: -webkit-box;\n display: -webkit-flex;\n display: flex;\n box-sizing: border-box;\n width: 100%;\n padding: 14px 16px;\n color: #323233;\n font-size: 14px;\n line-height: 24px;\n background-color: #fff;\n border: 1px solid #ebeef5;\n border-radius: 12px;\n box-shadow: none !important;\n .titlename {\n width: 5.6em;\n margin-right: 12px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n}\nselect {\n border: none;\n outline: none;\n}\n.title {\n text-align: center;\n padding: 4px 0 16px;\n font-size: 18px;\n font-weight: bold;\n}\n:deep(.van-cell) {\n display: block;\n padding: 14px 16px;\n background: #fff;\n border: 1px solid #ebeef5;\n border-radius: 12px;\n box-shadow: none !important;\n}\n:deep(.van-cell-group) {\n overflow: hidden;\n border-radius: 12px;\n background: transparent;\n box-shadow: none !important;\n}\n:deep(.van-field) {\n padding: 14px 16px;\n background: #fff;\n box-shadow: none !important;\n}\n:deep(.van-field__body) {\n display: block;\n padding-top: 10px;\n}\n:deep(.van-radio-group),\n:deep(.van-checkbox-group) {\n display: flex;\n flex-wrap: wrap;\n gap: 12px 16px;\n padding-top: 2px;\n}\n:deep(.el-form-item__label) {\n text-align: center;\n width: 100% !important;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n:deep(.el-form-item__content) {\n margin-left: 100% !important;\n}\n/* 上传图片按钮 */\n.uploadImg {\n width: 200px;\n height: 40px;\n margin-top: 20px;\n}\n:deep(.van-radio),\n.van-checkbox {\n margin: 0 !important;\n padding: 0 !important;\n}\n:deep(.van-field__label) {\n width: 100%;\n padding-left: 0;\n border-bottom: 1px solid #dddddd;\n padding-bottom: 10px;\n line-height: 20px;\n font-size: 13px;\n}\n:deep(.van-field__value) {\n padding-left: 0;\n font-size: 13px;\n padding-top: 10px;\n}\n:deep(.van-cell::after),\n:deep(.van-field::after),\n:deep(.van-cell-group::after) {\n display: none !important;\n}\n.button {\n padding: 20px 8px 8px;\n button {\n width: 100%;\n background: rgb(48, 116, 243);\n color: #fff;\n padding: 10px 8px;\n border-radius: 20px;\n text-align: center;\n font-size: 14px;\n border: none;\n }\n}\n.select {\n position: relative;\n width: 100%;\n .readinput {\n display: block;\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n margin: 0;\n padding: 0;\n color: #323233;\n line-height: inherit;\n text-align: left;\n background-color: transparent;\n border: 0;\n resize: none;\n cursor: default;\n }\n}\n.ultext {\n display: none;\n height: 0;\n overflow: hidden;\n transition: all linear 1s;\n background: #fff;\n z-index: 100;\n border-radius: 6px;\n border: 1px solid #ebeef5;\n box-shadow: none !important;\n li {\n padding: 8px 16px;\n border-bottom: 1px solid #eeeeee;\n &:hover {\n background: #c3d4f5;\n }\n }\n}\n.ulshow {\n display: block;\n height: auto;\n max-height: 200px;\n overflow-y: auto;\n margin-top: 6px;\n position: absolute;\n}\n</style>\n","<template>\n <div\n class=\"listswitching\"\n :ref=\"listSwitchName\"\n :style=\"{ backgroundImage: 'url(' + datas.bgImg + ')' }\"\n >\n <!-- 没有视频展示默认 -->\n <!-- 类型一 -->\n <div\n class=\"more\"\n v-show=\"datas.showMore && datas.commoditylisttype == 0\"\n :style=\"{ 'margin-right': datas.pageMargin + 'px' }\"\n >\n 更多》\n </div>\n <section\n v-show=\"!datas.imageList[0] && datas.commoditylisttype === 0\"\n :class=\"[\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n datas.commodityType === 1 ? 'defaultcommodityListFlex' : '',\n ]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 0\"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 1\"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 2\"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 3\"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品名称,最多显示1行\n </h5>\n <!-- 视频描述 -->\n <p\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品描述,最多显示1行\n </p>\n <div class=\"mony\">\n <span v-show=\"datas.priceofcommodity\"><i>¥</i>99</span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <section\n v-show=\"datas.imageList[0] && datas.commoditylisttype === 0\"\n :class=\"[\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n datas.commodityType === 1 ? 'defaultcommodityListFlex' : '',\n ]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in datas.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n isCommodityClickable(item) ? 'defaultcommodityList--clickable' : '',\n ]\"\n :style=\"{\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n :src=\"item.coverUrl\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 0\"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 1\"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 2\"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 3\"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n {{ item.name }}\n </h5>\n <!-- 视频描述 -->\n <div\n class=\"commodity-description\"\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n v-html=\"formatCommodityDescription(item.introduce)\"\n />\n <div\n class=\"mony\"\n v-if=\"datas.priceofcommodity || datas.purchasebutton\"\n >\n <span v-show=\"datas.priceofcommodity\"\n ><i>¥</i>\n {{ item.price }}\n </span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- 类型二 -->\n <div class=\"tab-type2\">\n <div\n class=\"more\"\n v-show=\"datas.showMore && datas.commoditylisttype == 1\"\n :style=\"{\n 'margin-right': datas.pageMargin + 'px',\n 'margin-top': '0px',\n }\"\n >\n 更多》\n </div>\n <van-tabs\n v-model:active=\"active1\"\n v-if=\"datas.commoditylisttype === 1\"\n animated\n swipeable\n :color=\"datas.tabColor\"\n >\n <van-tab\n :name=\"index\"\n :title=\"item.text\"\n v-for=\"(item, index) in datas.commoditylisttypetab\"\n :key=\"index\"\n :style=\"{\n 'font-size': item.wordSize + 'px',\n 'font-weight': item.wordWeight,\n }\"\n >\n <section\n v-show=\"!item.imageList[0] && datas.commoditylisttype === 1\"\n :class=\"[datas.commodityType === 5 ? 'defaultcommodityList5' : '']\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n border:\n datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品名称,最多显示1行\n </h5>\n <!-- 视频描述 -->\n <p\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品描述,最多显示1行\n </p>\n <div class=\"mony\">\n <span v-show=\"datas.priceofcommodity\"><i>¥</i>99</span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section\n v-show=\"item.imageList[0] && datas.commoditylisttype === 1\"\n :class=\"[datas.commodityType === 5 ? 'defaultcommodityList5' : '']\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in item.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n isCommodityClickable(item) ? 'defaultcommodityList--clickable' : '',\n ]\"\n :style=\"{\n border:\n datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n :src=\"item.coverUrl\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n {{ item.name }}\n </h5>\n <!-- 视频描述 -->\n <div\n class=\"commodity-description\"\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n v-html=\"formatCommodityDescription(item.introduce)\"\n />\n <div\n class=\"mony\"\n v-if=\"datas.priceofcommodity || datas.purchasebutton\"\n >\n <span v-show=\"datas.priceofcommodity\"\n ><i>¥</i>\n {{ item.price }}\n </span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n </van-tab>\n </van-tabs>\n </div>\n\n <!-- 类型三 -->\n\n <div>\n <div\n class=\"more\"\n v-show=\"datas.showMore && datas.commoditylisttype == 2\"\n :style=\"{\n 'margin-right': datas.pageMargin + 'px',\n 'margin-top': '0px',\n }\"\n >\n 更多》\n </div>\n <van-tree-select\n v-model:main-active-index=\"active\"\n height=\"auto\"\n :items=\"datas.commoditylisttypetab\"\n v-show=\"datas.commoditylisttype === 2\"\n class=\"type3\"\n @click-nav=\"treeSelect\"\n >\n <template #content>\n <div v-for=\"(item, index) in datas.commoditylisttypetab\" :key=\"index\">\n <section\n v-if=\"active === index\"\n v-show=\"!item.imageList[0]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"defaultcommodityList defaultcommodityList3\"\n :style=\"{\n border:\n datas.moditystyle === 2\n ? '1px solid rgba(50,50,51,0.1)'\n : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品名称,最多显示1行\n </h5>\n <!-- 视频描述 -->\n <p\n :style=\"{\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品描述,最多显示1行\n </p>\n <div class=\"mony\">\n <span v-show=\"datas.priceofcommodity\"><i>¥</i>99</span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section\n v-if=\"active === index\"\n v-show=\"item.imageList[0]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in item.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList defaultcommodityList3\"\n :class=\"[\n isCommodityClickable(item) ? 'defaultcommodityList--clickable' : '',\n ]\"\n :style=\"{\n border:\n datas.moditystyle === 2\n ? '1px solid rgba(50,50,51,0.1)'\n : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n :src=\"item.coverUrl\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n >\n {{ item.name }}\n </h5>\n <!-- 视频描述 -->\n <div\n class=\"commodity-description\"\n :style=\"{\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n v-html=\"formatCommodityDescription(item.introduce)\"\n />\n <div\n class=\"mony\"\n v-if=\"datas.priceofcommodity || datas.purchasebutton\"\n >\n <span v-show=\"datas.priceofcommodity\"\n ><i>¥</i>\n {{ item.price }}\n </span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </template>\n </van-tree-select>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'listswitching',\n props: {\n datas: Object,\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n },\n data() {\n return {\n active1: 0,\n active: 0,\n listSwitchName: null,\n tagColor: '#07c160',\n styleString: {},\n }\n },\n created() {\n console.log(this.datas, '--------------listswitching datas')\n },\n mounted() {\n this.$nextTick(() => {\n if (this.$refs[this.listSwitchName]) {\n this.$refs[this.listSwitchName][0].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n }\n\n this.listSwitchName =\n 'listswitching' + document.querySelectorAll('.listswitching').length\n this.tagPositionStyle()\n })\n },\n methods: {\n getPurchaseButtonType(type) {\n if ([4, 5, 6, 7].includes(type)) return type\n\n // 兼容旧数据里的购物车图标样式,统一映射为圆角实心按钮\n return 5\n },\n getPurchaseButtonText() {\n const text = typeof this.datas.purchase === 'string' ? this.datas.purchase.trim() : ''\n return text || '立即购买'\n },\n formatCommodityDescription(description) {\n if (description === undefined || description === null) return ''\n\n return String(description)\n },\n getCommodityProductId(item) {\n if (!item) return ''\n\n const productId = [\n item.productId,\n item.product_id,\n item.goodsId,\n item.goods_id,\n item.id,\n ].find((value) => value !== undefined && value !== null && value !== '')\n\n return productId ?? ''\n },\n isCommodityClickable(item) {\n return this.componentInteractive && Boolean(this.getCommodityProductId(item))\n },\n getProductDetailRoutePath() {\n const currentPath = this.$route?.path || ''\n const mainIndex = currentPath.indexOf('/main')\n\n if (mainIndex > -1) {\n return `${currentPath.slice(0, mainIndex)}/main/product/detail`\n }\n\n const params = this.$route?.params || {}\n if (\n params.uniacid &&\n params.type &&\n params.liveId &&\n String(params.liveId) !== '0'\n ) {\n return `/${params.uniacid}/${params.type}/${params.liveId}/main/product/detail`\n }\n\n return '/product/detail'\n },\n handlePurchaseClick(item, event) {\n if (!this.componentInteractive) return\n\n const productId = this.getCommodityProductId(item)\n if (!productId) return\n\n event?.stopPropagation()\n\n navigateByLink(\n {\n linktype: '10',\n http: {\n routePath: this.getProductDetailRoutePath(),\n queryParams: {\n id: productId,\n },\n },\n },\n this.$router\n )\n },\n // 这里有个bug 当出现多个商品组件且同为类型3时 点击某一个商品组件会无法匹配 .van-sidebar-item 个数\n treeSelect(index) {\n setTimeout(() => {\n this.$refs[this.listSwitchName]\n .querySelectorAll('.van-sidebar-item')\n .forEach((item, i) => {\n if (i !== index) {\n item.style.borderColor = 'transparent'\n }\n })\n this.$refs[this.listSwitchName].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n })\n },\n\n // 处理标记位置\n tagPositionStyle() {\n this.styleString = {\n position: 'absolute',\n }\n // if(!this.datas.tagPosition) {\n // this.styleString.top = '5px'\n // this.styleString.left = '0px'\n // this.datas.commoditycornertype === 0 ? this.styleString.borderRadius = '10px 0px 0px 10px !important' : ''\n // return\n // }\n /* '左上',\n '左下',\n '又上',\n '又下' */\n switch (this.datas.tagPosition) {\n case 0: // 左上\n this.styleString.top = '5px'\n this.styleString.left = '0px'\n break\n case 1: // 左下\n this.styleString.bottom = '5px'\n this.styleString.left = '0px'\n break\n case 2: // 右上\n this.styleString.top = '5px'\n this.styleString.right = '0px'\n this.datas.commoditycornertype === 0\n ? (this.styleString.borderRadius = '10px 0px 0px 10px !important')\n : ''\n break\n case 3: // 右下\n this.styleString.bottom = '5px'\n this.styleString.right = '0px'\n this.datas.commoditycornertype === 0\n ? (this.styleString.borderRadius = '10px 0px 0px 10px !important')\n : ''\n break\n }\n },\n },\n watch: {\n 'datas.tabColor': function () {\n this.$refs[this.listSwitchName].querySelector(\n '.van-tabs__line'\n ).style.backgroundColor = this.datas.tabColor\n this.$refs[this.listSwitchName].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n },\n 'datas.commoditylisttype': function () {\n if (this.datas.commoditylisttype === 2) {\n this.$refs[this.listSwitchName].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n }\n },\n 'datas.tagPosition': function () {\n this.tagPositionStyle()\n },\n 'datas.commoditycornertype': function () {\n this.tagPositionStyle()\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.listswitching {\n position: relative;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n padding: 10px 0;\n .more {\n margin-top: 10px;\n height: 25px;\n line-height: 25px;\n text-align: right;\n font-size: 12px;\n color: #999;\n cursor: pointer;\n }\n /* 默认商品 */\n .defaultcommodity {\n box-sizing: border-box;\n &.defaultcommodityList5 {\n overflow-x: scroll;\n display: flex;\n flex-wrap: nowrap;\n /* 滚动条 */\n &::-webkit-scrollbar {\n height: 1px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #155bd4;\n }\n :deep(.el-collapse-item__header),\n :deep(.el-collapse-item__wrap) {\n border-bottom: 0 !important;\n }\n }\n .bg-pic {\n width: 100%;\n height: 240px;\n position: relative;\n }\n .defaultcommodityList {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n // border: 1px solid #fff;\n\n &.defaultcommodityList--clickable {\n cursor: pointer;\n }\n\n &.defaultcommodityList0 {\n width: 100%;\n // height: 340px;\n margin-left: 0 !important;\n margin-right: 0 !important;\n margin-top: 0 !important;\n &:nth-of-type(1) {\n margin-top: 0 !important;\n }\n .bg-pic {\n width: 100%;\n height: 240px;\n }\n }\n &.defaultcommodityList1 {\n // border: none !important;\n margin-top: 0 !important;\n &:nth-of-type(even) {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n &:nth-of-type(odd) {\n margin-left: 0 !important;\n }\n .bg-pic {\n width: 100%;\n height: 120px;\n }\n }\n &.defaultcommodityList2 {\n max-width: 33%;\n margin-top: 0 !important;\n margin-left: 0 !important;\n &:nth-of-type(3n) {\n margin-right: 0 !important;\n }\n .text {\n h5 {\n font-size: 12px !important;\n }\n p {\n font-size: 10px !important;\n }\n .mony {\n span {\n font-size: 12px !important;\n i {\n font-size: 12px !important;\n }\n }\n i {\n font-size: 14px !important;\n }\n em {\n font-size: 5px !important;\n padding: 1px 5px !important;\n }\n }\n }\n .bg-pic {\n width: 100%;\n height: 70px;\n }\n }\n &.defaultcommodityList3 {\n width: 100%;\n flex-direction: row !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n margin-top: 0 !important;\n height: 105px;\n display: flex;\n .bg-pic {\n width: 40%;\n height: 100%;\n // float: left;\n }\n .text {\n width: 60%;\n // float: right;\n }\n }\n &.defaultcommodityList4 {\n &:nth-of-type(3n-2) {\n width: 100% !important;\n margin-left: 0px !important;\n margin-right: 0px !important;\n .bg-pic {\n width: 100%;\n height: 240px;\n }\n }\n &:nth-of-type(3n-1) {\n margin-left: 0px !important;\n .bg-pic {\n width: 100%;\n height: 120px;\n }\n }\n &:nth-of-type(3n) {\n margin-left: 0px !important;\n margin-right: 0px !important;\n .bg-pic {\n width: 100%;\n height: 120px;\n }\n }\n }\n &.defaultcommodityList5 {\n width: 100px;\n // height: 160px;\n margin-top: 0 !important;\n margin-right: 0px !important;\n &:first-of-type {\n margin-left: 0px !important;\n }\n .text {\n h5 {\n font-size: 12px !important;\n }\n p {\n font-size: 10px !important;\n }\n .mony {\n span {\n font-size: 12px !important;\n i {\n font-size: 12px !important;\n }\n }\n i {\n font-size: 14px !important;\n }\n em {\n font-size: 5px !important;\n padding: 1px 5px !important;\n }\n }\n }\n .bg-pic {\n width: 100px;\n height: 70px;\n }\n }\n /* 标签 */\n // .marks {\n // &:nth-of-type(1) {\n // position: absolute;\n // top: 5px;\n // right: 0;\n // }\n // &:nth-of-type(2) {\n // position: absolute;\n // top: 10px;\n // display: flex;\n // right: 5px;\n // }\n // &:nth-of-type(3) {\n // position: absolute;\n // top: 5px;\n // right: 5px;\n // }\n // &:nth-of-type(4) {\n // position: absolute;\n // top: 5px;\n // right: 5px;\n // }\n // }\n // :deep(.van-tag--mark){\n // border-radius: 10px 0px 0px 10px !important;\n // padding-right: 3px;\n // padding-left: 8px;\n // }\n img {\n width: 100%;\n height: 100%;\n display: block;\n overflow: hidden;\n object-fit: cover;\n }\n /* 文字 */\n .text {\n padding: 10px;\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n /* 商品名称 */\n h5 {\n font-size: 14px;\n line-height: 20px;\n margin: 0 0 5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n /* 商品描述 */\n p,\n .commodity-description {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n height: 16px;\n color: #999;\n font-size: 12px;\n line-height: 16px;\n }\n .commodity-description {\n :deep(*) {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n :deep(br) {\n display: none;\n }\n :deep(img) {\n display: inline-block !important;\n width: auto !important;\n max-width: 100% !important;\n height: 16px !important;\n vertical-align: middle;\n }\n }\n /* 视频价格 */\n .mony {\n height: 44px;\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n span {\n font-size: 16px;\n color: #65c4aa;\n i {\n font-size: 12px;\n }\n }\n i {\n font-size: 16px;\n line-height: 44px;\n color: #65c4aa;\n }\n em {\n font-style: normal;\n cursor: pointer;\n padding: 2px 7px;\n font-size: 12px;\n border: 1px solid rgb(101, 196, 170);\n &.purchase-btn--style-4 {\n border-radius: 10px;\n color: rgb(101, 196, 170);\n }\n &.purchase-btn--style-5 {\n background-color: rgb(101, 196, 170);\n border-radius: 10px;\n color: #fff;\n }\n &.purchase-btn--style-6 {\n color: rgb(101, 196, 170);\n }\n &.purchase-btn--style-7 {\n background-color: rgb(101, 196, 170);\n color: #fff;\n }\n }\n .purchase-btn-wrapper {\n margin-left: auto;\n }\n }\n }\n }\n }\n .defaultcommodityListFlex {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n }\n .tab-type2 {\n :deep(.van-tabs__wrap) {\n min-height: 44px;\n }\n :deep(.van-tabs__line) {\n height: 2px;\n }\n }\n .type3 {\n :deep(.van-tree-select__content) {\n flex: 3.9 !important;\n .defaultcommodityList3 {\n height: 84px !important;\n .bg-pic {\n height: 84px !important;\n }\n }\n .text {\n width: 150px;\n h5 {\n font-size: 12px !important;\n }\n p {\n font-size: 10px !important;\n }\n .mony {\n span {\n font-size: 12px !important;\n i {\n font-size: 12px !important;\n }\n }\n i {\n font-size: 14px !important;\n }\n em {\n font-size: 5px !important;\n padding: 1px 5px !important;\n }\n }\n }\n }\n :deep(.van-sidebar-item) {\n font-size: 16px;\n }\n }\n}\n</style>\n","<template>\n <div class=\"livemodule\" :style=\"containerStyle\">\n <!-- 标题区域 -->\n <div class=\"live-header\" v-if=\"datas.showTitle\">\n <h3 :style=\"titleStyle\">{{ datas.title }}</h3>\n </div>\n\n <!-- 直播列表 -->\n <div class=\"live-list\">\n <!-- 没有数据时显示默认内容 -->\n <div\n v-if=\"!datas.liveList || datas.liveList.length === 0\"\n class=\"default-lives\"\n :style=\"listStyle\"\n >\n <div\n v-for=\"index in 2\"\n :key=\"index\"\n class=\"live-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n ]\"\n :style=\"liveItemStyle\"\n >\n <!-- 直播封面 -->\n <div class=\"live-cover\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"直播封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n\n <!-- 直播状态标识 -->\n <div\n class=\"live-status\"\n :class=\"`status-${index === 1 ? 'live' : 'preview'}`\"\n >\n <van-icon name=\"play-circle-o\" size=\"12\" />\n <span>{{ index === 1 ? '直播中' : '预告' }}</span>\n </div>\n\n <!-- 观看人数 -->\n <div class=\"viewer-count\" v-if=\"datas.showViewerCount\">\n <van-icon name=\"eye-o\" size=\"10\" />\n <span>{{ index === 1 ? '1.2万' : '预约中' }}</span>\n </div>\n\n <!-- 直播时间 -->\n <div class=\"live-time\" v-if=\"datas.showLiveTime\">\n {{ index === 1 ? '进行中' : '今日 20:00' }}\n </div>\n </div>\n\n <!-- 直播信息 -->\n <div class=\"live-info\">\n <!-- 直播标题 -->\n <h4 :style=\"liveTitleStyle\">\n {{ `直播标题示例${index}:精彩内容等你来看` }}\n </h4>\n\n <!-- 直播描述 -->\n <div\n v-if=\"datas.showDescription\"\n class=\"live-description\"\n :style=\"descriptionStyle\"\n >\n {{ '这里是直播的简短描述,介绍直播的主要内容和亮点' }}\n </div>\n\n <!-- 主播信息 -->\n <div v-if=\"datas.showAnchor\" class=\"anchor-info\">\n <div class=\"anchor-avatar\">\n <img src=\"../../../assets/images/imgs.png\" alt=\"主播头像\" />\n </div>\n <span :style=\"anchorStyle\">示例主播</span>\n <van-tag v-if=\"datas.showAnchorTag\" size=\"mini\" color=\"#ff6b35\"\n >认证</van-tag\n >\n </div>\n\n <!-- 直播底部信息 -->\n <div class=\"live-bottom\">\n <!-- 直播分类 -->\n <div v-if=\"datas.showCategory\" class=\"live-category\">\n <van-tag size=\"mini\" :color=\"datas.categoryColor\">\n {{ index === 1 ? '教育' : '娱乐' }}\n </van-tag>\n </div>\n\n <!-- 预约/进入按钮 -->\n <div v-if=\"datas.showButton\" class=\"live-action\">\n <van-button\n size=\"mini\"\n :color=\"\n index === 1\n ? datas.liveButtonColor\n : datas.previewButtonColor\n \"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n >\n {{\n index === 1 ? datas.liveButtonText : datas.previewButtonText\n }}\n </van-button>\n </div>\n\n <!-- 直播热度 -->\n <div\n v-if=\"datas.showHeatValue\"\n class=\"heat-value\"\n :style=\"heatValueStyle\"\n >\n <van-icon name=\"fire-o\" size=\"12\" />\n <span>{{ index === 1 ? '热度 999+' : '预约 200+' }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 有数据时显示实际内容 -->\n <div v-else class=\"actual-lives\" :style=\"listStyle\">\n <div\n v-for=\"(live, index) in datas.liveList\"\n :key=\"index\"\n class=\"live-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n componentInteractive && getLiveId(live) ? 'live-item--clickable' : '',\n ]\"\n :style=\"liveItemStyle\"\n @click=\"handleLiveClick(live, $event)\"\n >\n <!-- 直播封面 -->\n <div class=\"live-cover\">\n <img\n draggable=\"false\"\n :src=\"live.coverUrl || '../../../assets/images/imgs.png'\"\n alt=\"直播封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n\n <!-- 直播状态标识 -->\n <div\n class=\"live-status\"\n :class=\"`status-${live.status || 'preview'}`\"\n >\n <van-icon name=\"play-circle-o\" size=\"12\" />\n <span>{{ live.statusText || '预告' }}</span>\n </div>\n\n <!-- 观看人数 -->\n <div\n class=\"viewer-count\"\n v-if=\"datas.showViewerCount && live.viewerCount\"\n >\n <van-icon name=\"eye-o\" size=\"10\" />\n <span>{{ live.viewerCount }}</span>\n </div>\n\n <!-- 直播时间 -->\n <div class=\"live-time\" v-if=\"datas.showLiveTime && live.liveTime\">\n {{ live.liveTime }}\n </div>\n </div>\n\n <!-- 直播信息 -->\n <div class=\"live-info\">\n <!-- 直播标题 -->\n <h4 :style=\"liveTitleStyle\">\n {{ live.title }}\n </h4>\n\n <!-- 直播描述 -->\n <div\n v-if=\"datas.showDescription && hasLiveDescription(live.description)\"\n class=\"live-description\"\n :style=\"descriptionStyle\"\n v-html=\"formatLiveDescription(live.description)\"\n ></div>\n\n <!-- 主播信息 -->\n <div v-if=\"datas.showAnchor && live.anchor\" class=\"anchor-info\">\n <div class=\"anchor-avatar\">\n <img\n :src=\"live.anchor.avatar || '../../../assets/images/imgs.png'\"\n alt=\"主播头像\"\n />\n </div>\n <span :style=\"anchorStyle\">{{ live.anchor.name }}</span>\n <van-tag\n v-if=\"datas.showAnchorTag && live.anchor.verified\"\n size=\"mini\"\n color=\"#ff6b35\"\n >认证</van-tag\n >\n </div>\n\n <!-- 直播底部信息 -->\n <div class=\"live-bottom\">\n <!-- 直播分类 -->\n <div\n v-if=\"datas.showCategory && live.category\"\n class=\"live-category\"\n >\n <van-tag size=\"mini\" :color=\"datas.categoryColor\">\n {{ live.category }}\n </van-tag>\n </div>\n\n <!-- 预约/进入按钮 -->\n <div\n v-if=\"datas.showButton\"\n class=\"live-action\"\n :class=\"{ 'live-action--clickable': componentInteractive && getLiveId(live) }\"\n >\n <van-button\n size=\"mini\"\n :color=\"\n live.status === 'live'\n ? datas.liveButtonColor\n : datas.previewButtonColor\n \"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n @click=\"handleLiveClick(live, $event)\"\n >\n {{\n live.status === 'live'\n ? datas.liveButtonText\n : datas.previewButtonText\n }}\n </van-button>\n </div>\n\n <!-- 直播热度 -->\n <div\n v-if=\"datas.showHeatValue && live.heatValue\"\n class=\"heat-value\"\n :style=\"heatValueStyle\"\n >\n <van-icon name=\"fire-o\" size=\"12\" />\n <span>{{ live.heatValue }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'livemodule',\n props: {\n datas: {\n type: Object,\n required: true,\n },\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n containerStyle() {\n return {\n backgroundColor: this.datas.backgroundColor,\n padding: `${this.datas.containerPadding}px`,\n margin: `${this.datas.containerMargin}px`,\n }\n },\n titleStyle() {\n return {\n fontSize: this.datas.titleFontSize + 'px',\n color: this.datas.titleColor,\n fontWeight: this.datas.titleFontWeight,\n textAlign: this.datas.titleAlign,\n marginBottom: '10px',\n }\n },\n listStyle() {\n return {\n display: this.datas.layoutType === 0 ? 'grid' : 'flex',\n gridTemplateColumns:\n this.datas.layoutType === 0\n ? `repeat(${this.datas.columnsPerRow}, 1fr)`\n : 'none',\n flexDirection: this.datas.layoutType === 1 ? 'column' : 'row',\n gap: this.datas.itemSpacing + 'px',\n padding: `${this.datas.listPadding}px`,\n }\n },\n liveItemStyle() {\n return {\n backgroundColor: this.datas.itemBackgroundColor,\n borderRadius: this.datas.itemRadius + 'px',\n padding: this.datas.itemPadding + 'px',\n border: this.datas.showBorder\n ? `1px solid ${this.datas.borderColor}`\n : 'none',\n boxShadow: this.datas.showShadow ? '0 2px 8px rgba(0,0,0,0.1)' : 'none',\n }\n },\n liveTitleStyle() {\n return {\n fontSize: this.datas.liveTitleFontSize + 'px',\n color: this.datas.liveTitleColor,\n fontWeight: this.datas.liveTitleFontWeight,\n margin: '8px 0 4px 0',\n lineHeight: '1.4',\n }\n },\n descriptionStyle() {\n return {\n fontSize: this.datas.descriptionFontSize + 'px',\n color: this.datas.descriptionColor,\n margin: '4px 0',\n lineHeight: '1.4',\n }\n },\n anchorStyle() {\n return {\n fontSize: this.datas.anchorFontSize + 'px',\n color: this.datas.anchorColor,\n margin: '0 8px',\n }\n },\n heatValueStyle() {\n return {\n fontSize: this.datas.heatValueFontSize + 'px',\n color: this.datas.heatValueColor,\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n }\n },\n },\n methods: {\n normalizeRouteParamValue(value) {\n const normalizedValue = String(value ?? '').trim()\n return /^\\d+$/.test(normalizedValue) ? normalizedValue : ''\n },\n getLiveId(live) {\n return this.normalizeRouteParamValue(\n live?.liveId ?? live?.live_id ?? live?.id\n )\n },\n getRouteScope() {\n const routeParams = this.$route?.params || {}\n const browserWindow = typeof window !== 'undefined' ? window : null\n let uniacid = this.normalizeRouteParamValue(routeParams.uniacid)\n let type = this.normalizeRouteParamValue(routeParams.type)\n\n if (!uniacid || !type) {\n const hashPath = String(browserWindow?.location?.hash || '').split(\n '?'\n )[0]\n const pathSegments = hashPath.split('/').filter(Boolean)\n uniacid = uniacid || this.normalizeRouteParamValue(pathSegments[0])\n type = type || this.normalizeRouteParamValue(pathSegments[1])\n }\n\n if (!uniacid || !type) {\n uniacid =\n uniacid ||\n this.normalizeRouteParamValue(\n browserWindow?.localStorage?.getItem('uniacid')\n )\n type =\n type ||\n this.normalizeRouteParamValue(\n browserWindow?.localStorage?.getItem('type')\n )\n }\n\n return { uniacid, type }\n },\n getLiveStatus(live) {\n const status = Number(live?.liveStatus ?? live?.live_status)\n if (Number.isFinite(status) && status > 0) return status\n if (live?.status === 'live') return 2\n if (live?.status === 'replay') return 3\n return 1\n },\n hasPreviewPageSetting(live) {\n return (\n live?.enablePreviewPage !== undefined ||\n live?.enable_preview_page !== undefined\n )\n },\n shouldOpenPreviewPage(live) {\n const liveStatus = this.getLiveStatus(live)\n const enablePreviewPage = Number(\n live?.enablePreviewPage ?? live?.enable_preview_page ?? 0\n )\n const isLiving = liveStatus === 2 || live?.status === 'live'\n const isPreLive = liveStatus === 1 || live?.status === 'preview'\n\n if (isLiving) return false\n return this.hasPreviewPageSetting(live)\n ? enablePreviewPage === 1\n : isPreLive\n },\n buildLiveRoute(live) {\n const liveId = this.getLiveId(live)\n if (!liveId) return null\n\n const { uniacid, type } = this.getRouteScope()\n const targetPage = this.shouldOpenPreviewPage(live) ? 'prophesy' : 'main'\n const pathPrefix =\n uniacid && type ? `/${uniacid}/${type}/${liveId}` : `/${liveId}`\n const query = { ...(this.$route?.query || {}) }\n delete query.fromProphesy\n\n if (targetPage === 'prophesy') {\n const videoStyle = Number(live?.videoStyle ?? live?.video_style ?? 1)\n query.layout = videoStyle === 1 ? 'horizontal' : 'vertical'\n } else {\n delete query.layout\n delete query.orientation\n }\n\n return {\n path: `${pathPrefix}/${targetPage}`,\n query,\n }\n },\n stringifyRoute({ path, query }) {\n const searchParams = new URLSearchParams()\n Object.entries(query || {}).forEach(([key, value]) => {\n if (value === undefined || value === null || value === '') return\n if (Array.isArray(value)) {\n value.forEach((item) => searchParams.append(key, item))\n return\n }\n searchParams.set(key, value)\n })\n\n const queryString = searchParams.toString()\n return queryString ? `${path}?${queryString}` : path\n },\n handleLiveClick(live, event) {\n if (!this.componentInteractive) return\n event?.stopPropagation()\n\n const targetRoute = this.buildLiveRoute(live)\n if (!targetRoute) return\n\n if (this.$router) {\n this.$router.push(targetRoute)\n return\n }\n\n const browserWindow = typeof window !== 'undefined' ? window : null\n if (browserWindow) {\n browserWindow.location.hash = this.stringifyRoute(targetRoute)\n }\n },\n normalizeDescriptionHtml(description) {\n if (typeof description !== 'string') return ''\n\n const cleaned = description\n .replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, '')\n .replace(/<p>(?:\\s| |<br\\s*\\/?>)*<\\/p>/gi, '')\n .replace(/<br\\s*\\/?>/gi, '<br />')\n .trim()\n\n const plainText = cleaned\n .replace(/ /gi, ' ')\n .replace(/<br\\s*\\/?>/gi, ' ')\n .replace(/<[^>]+>/g, '')\n .trim()\n\n return plainText ? cleaned : ''\n },\n hasLiveDescription(description) {\n return Boolean(this.normalizeDescriptionHtml(description))\n },\n formatLiveDescription(description) {\n return this.normalizeDescriptionHtml(description)\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.livemodule {\n position: relative;\n\n .live-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n\n h3 {\n margin: 0;\n }\n\n .more-btn {\n font-size: 14px;\n cursor: pointer;\n }\n }\n\n .live-list {\n .live-item {\n display: flex;\n overflow: hidden;\n\n &--clickable {\n cursor: pointer;\n }\n\n &.layout-grid {\n flex-direction: column;\n }\n\n &.layout-list {\n flex-direction: row;\n\n .live-cover {\n width: 140px;\n height: 90px;\n flex-shrink: 0;\n margin-right: 12px;\n }\n\n .live-info {\n flex: 1;\n }\n }\n\n &.layout-card {\n flex-direction: column;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n }\n\n .live-cover {\n position: relative;\n width: 100%;\n height: 140px;\n overflow: hidden;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .live-status {\n position: absolute;\n top: 8px;\n left: 8px;\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: bold;\n\n &.status-live {\n background: linear-gradient(45deg, #ff6b35, #f7931e);\n color: white;\n animation: pulse 2s infinite;\n }\n\n &.status-preview {\n background: rgba(0, 0, 0, 0.7);\n color: white;\n }\n\n &.status-replay {\n background: rgba(0, 0, 0, 0.5);\n color: white;\n }\n }\n\n .viewer-count {\n position: absolute;\n top: 8px;\n right: 8px;\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 10px;\n display: flex;\n align-items: center;\n gap: 2px;\n }\n\n .live-time {\n position: absolute;\n bottom: 8px;\n right: 8px;\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 10px;\n }\n }\n\n .live-info {\n padding: 8px 0;\n\n h4 {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n p,\n .live-description {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n\n :deep(p) {\n margin: 0;\n }\n\n :deep(p + p) {\n margin-top: 4px;\n }\n }\n\n .anchor-info {\n display: flex;\n align-items: center;\n margin: 8px 0;\n\n .anchor-avatar {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n overflow: hidden;\n margin-right: 8px;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n }\n\n .live-bottom {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n flex-wrap: wrap;\n gap: 8px;\n\n .live-category {\n flex-shrink: 0;\n }\n\n .live-action {\n margin-left: auto;\n\n &--clickable {\n cursor: pointer;\n }\n }\n\n .heat-value {\n font-size: 12px;\n color: #ff6b35;\n }\n }\n }\n }\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.05);\n }\n 100% {\n transform: scale(1);\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div\n class=\"magiccube\"\n :style=\"{\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <img\n draggable=\"false\"\n v-show=\"!showimageList\"\n src=\"../../../assets/images/mor.png\"\n alt=\"\"\n style=\"width: 100%\"\n />\n\n <!-- 一行二个 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 0 && showimageList\"\n >\n <div\n v-for=\"index in 2\"\n :key=\"index\"\n class=\"rubiksCubeType0 rubiksCubeType\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index - 1].src\"\n alt=\"\"\n :style=\"{ padding: datas.imgMargin / 2 + 'px' }\"\n />\n </div>\n </section>\n\n <!-- 一行三个 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 1 && showimageList\"\n >\n <div\n v-for=\"index in 3\"\n :key=\"index\"\n class=\"rubiksCubeType1 rubiksCubeType\"\n :style=\"{\n margin: datas.imgMargin / 10 + '%',\n width: 33.33 + '%',\n }\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <!-- width: 33 - datas.imgMargin / 10 + '%', -->\n <img draggable=\"false\" :src=\"datas.imageList[index - 1].src\" alt=\"\" />\n </div>\n </section>\n\n <!-- 一行四个 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 2 && showimageList\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"rubiksCubeType2 rubiksCubeType\"\n :style=\"{\n margin: datas.imgMargin / 10 + '%',\n width: 25 - datas.imgMargin / 10 + '%',\n }\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <img draggable=\"false\" :src=\"datas.imageList[index - 1].src\" alt=\"\" />\n </div>\n </section>\n\n <!-- 二左二右 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 3 && showimageList\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"rubiksCubeType3 rubiksCubeType\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index - 1].src\"\n alt=\"\"\n :style=\"{ padding: datas.imgMargin + 'px' }\"\n />\n </div>\n </section>\n\n <!-- 一左二右 -->\n <section\n class=\"buju buju4\"\n v-show=\"datas.rubiksCubeType === 4 && showimageList\"\n >\n <div class=\"rubiksCubeType hw\" style=\"padding-top: 100%\" @click=\"handleClick(datas.imageList[0])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[0].src\"\n alt=\"\"\n style=\"height:300px\"\n :style=\"{ 'padding-right': datas.imgMargin + 'px' }\"\n />\n </div>\n <div style=\"display: inline-flex; flex-direction: column; width: 100%\">\n <div\n class=\" hw imgone\"\n v-for=\"index in 2\"\n :key=\"index\"\n style=\"padding-top: 150px;height:150px\"\n @click=\"handleClick(datas.imageList[index])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index].src\"\n alt=\"\"\n style=\"height:150px\"\n :style=\"{ padding: datas.imgMargin + 'px'}\"\n />\n </div>\n </div>\n </section>\n\n <!-- 一上二下 -->\n <section\n class=\"buju buju5\"\n v-show=\"datas.rubiksCubeType === 5 && showimageList\"\n >\n <div class=\"rubiksCubeType hw\" style=\"display: block; padding-top: 50%\" @click=\"handleClick(datas.imageList[0])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[0].src\"\n alt=\"\"\n :style=\"{ 'padding-bottom': datas.imgMargin + 'px' }\"\n />\n </div>\n <div style=\"display: flex; width: 100%\">\n <div\n class=\"rubiksCubeType hw imgtow\"\n v-for=\"index in 2\"\n :key=\"index\"\n style=\"padding-top: 50%\"\n @click=\"handleClick(datas.imageList[index])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index].src\"\n alt=\"\"\n :style=\"{ padding: datas.imgMargin + 'px' }\"\n />\n </div>\n </div>\n </section>\n\n <!-- 一左三右 -->\n <section\n class=\"buju buju4\"\n v-show=\"datas.rubiksCubeType === 6 && showimageList\"\n >\n <!-- 第一张图片 -->\n <div class=\"rubiksCubeType hw\" style=\"padding-top: 100%\" @click=\"handleClick(datas.imageList[0])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[0].src\"\n alt=\"\"\n style=\"height:300px\"\n :style=\"{ 'padding-right': datas.imgMargin + 'px' }\"\n />\n </div>\n <div style=\"display: inline-flex; flex-direction: column; width: 100%\">\n <!-- 第二张图片 -->\n <div class=\"rubiksCubeType hw\" style=\"padding-top: 150px\" @click=\"handleClick(datas.imageList[1])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[1].src\"\n alt=\"\"\n :style=\"{\n 'padding-bottom': datas.imgMargin + 'px',\n 'padding-left': datas.imgMargin + 'px',\n }\"\n />\n </div>\n <div class=\"rubiksCubeType\">\n <div\n class=\"hw\"\n style=\"\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-top: 150px;\n \"\n v-for=\"index in 2\"\n :key=\"index\"\n @click=\"handleClick(datas.imageList[index + 1])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index + 1].src\"\n alt=\"\"\n style=\"height:150px\"\n :style=\"{\n 'padding-left': datas.imgMargin + 'px',\n 'padding-top': datas.imgMargin + 'px',\n }\"\n />\n </div>\n </div>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'magiccube',\n props: {\n datas: Object,\n },\n methods: {\n /* 点击魔方格子跳转 */\n handleClick(item) {\n if (!item) return\n if (!item.linktype && !item.type) return\n navigateByLink(item, this.$router)\n },\n },\n computed: {\n showimageList() {\n if (\n this.datas.rubiksCubeType === 0 &&\n !this.datas.imageList[0].src &&\n !this.datas.imageList[1].src\n )\n return false\n\n if (\n (this.datas.rubiksCubeType === 1 ||\n this.datas.rubiksCubeType === 4 ||\n this.datas.rubiksCubeType === 5) &&\n !this.datas.imageList[0].src &&\n !this.datas.imageList[1].src &&\n !this.datas.imageList[2].src\n )\n return false\n\n if (\n (this.datas.rubiksCubeType === 2 ||\n this.datas.rubiksCubeType === 6 ||\n this.datas.rubiksCubeType === 3) &&\n !this.datas.imageList[0].src &&\n !this.datas.imageList[1].src &&\n !this.datas.imageList[2].src &&\n !this.datas.imageList[3].src\n )\n return false\n\n return true\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.magiccube {\n position: relative;\n /* 布局 */\n .imgone {\n &:last-of-type {\n img {\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n }\n }\n &:first-of-type {\n img {\n padding-top: 0 !important;\n padding-right: 0 !important;\n }\n }\n }\n .imgtow {\n &:first-of-type {\n img {\n padding-bottom: 0 !important;\n padding-left: 0 !important;\n }\n }\n &:last-of-type {\n img {\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n }\n }\n }\n .hw {\n width: 100%;\n position: relative;\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n }\n .buju {\n &.buju0 {\n display: flex;\n justify-content: space-around;\n flex-wrap: wrap;\n }\n &.buju4 {\n display: flex;\n width: 100%;\n height: 300px;\n flex-direction: row;\n justify-content: space-around;\n }\n .active {\n background: #e0edff;\n border: 1px solid #155bd4;\n color: #155bd4;\n z-index: 2;\n }\n .rubiksCubeType {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n &.rubiksCubeType0 {\n width: 50%;\n // height: 200px;\n &:first-of-type {\n img {\n padding-left: 0 !important;\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n }\n &:last-of-type {\n img {\n padding-right: 0 !important;\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n }\n img {\n width: 100%;\n // height: 200px;\n display: block;\n }\n }\n &.rubiksCubeType1 {\n width: 33.333%;\n &:nth-of-type(1) {\n margin-left: 0 !important;\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(2) {\n margin-top: 0 !important;\n margin-left: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(3) {\n margin-top: 0 !important;\n margin-right: 0 !important;\n margin-bottom: 0 !important;\n }\n img {\n width: 100%;\n height: 150px;\n display: block;\n }\n }\n &.rubiksCubeType2 {\n width: 25%;\n &:nth-of-type(1) {\n margin-left: 0 !important;\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(2) {\n margin-top: 0 !important;\n margin-left: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(3) {\n margin-top: 0 !important;\n margin-left: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(4) {\n margin-top: 0 !important;\n margin-right: 0 !important;\n margin-bottom: 0 !important;\n }\n img {\n width: 100%;\n height: 150px;\n display: block;\n }\n }\n &.rubiksCubeType3 {\n width: 50%;\n padding-top: 50%;\n position: relative;\n &:nth-of-type(1) {\n img {\n padding-top: 0 !important;\n padding-left: 0 !important;\n }\n }\n &:nth-of-type(2) {\n img {\n padding-top: 0 !important;\n padding-right: 0 !important;\n }\n }\n &:nth-of-type(3) {\n img {\n padding-bottom: 0 !important;\n padding-left: 0 !important;\n }\n }\n &:nth-of-type(4) {\n img {\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n }\n }\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n }\n &.rubiksCubeType4 {\n width: 187px;\n height: 187px;\n img {\n width: 100%;\n height: 100%;\n display: block;\n }\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"notice\">\n <!-- 公告 -->\n <van-notice-bar\n :text=\"datas.noticeText\"\n left-icon=\"volume-o\"\n :background=\"datas.backColor\"\n :color=\"datas.textColor\"\n />\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'notice',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.notice {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"onlineservice\">\n {{ datas.text }}\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'onlineservice',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.onlineservice {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"personalizedrecommendation\">\n {{ datas.text }}\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'personalizedrecommendation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.personalizedrecommendation {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"pictureads\">\n <!-- 无图片 -->\n <div class=\"upload\" v-if=\"!imageList[0]\">\n <i class=\"iconfont icon-lunbotu\"></i>\n </div>\n\n <!-- 一行一个 -->\n <div\n v-if=\"imageList[0] && swiperType === 0\"\n class=\"type0\"\n :style=\"{\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in imageList\"\n :key=\"index\"\n class=\"imgLis\"\n :style=\"{ 'margin-bottom': datas.imageMargin + 'px' }\"\n @click=\"handleItemClick(item)\"\n >\n <!-- 图片 -->\n <img\n :src=\"item.src\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 图片标题 -->\n <p class=\"title\" v-show=\"item.text ? true : false\">{{ item.text }}</p>\n </div>\n </div>\n\n <!-- 轮播组件 -->\n <div\n class=\"swiper-container pointer-events\"\n v-if=\"\n (imageList[0] && swiperType === 1) ||\n swiperType === 2 ||\n swiperType === 3\n \"\n >\n <div\n :class=\"\n swiperType === 3 && imageList[0]\n ? 'type3 type1 swiper-wrapper type3H'\n : 'swiper-wrapper type1'\n \"\n >\n <div\n class=\"swiper-slide\"\n v-for=\"(item, index) in imageList\"\n :key=\"index\"\n @click=\"handleItemClick(item)\"\n >\n <!-- 图片 -->\n <img\n :src=\"item.src\"\n alt=\"\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 图片标题 -->\n <p class=\"title\" v-show=\"item.text ? true : false\">{{ item.text }}</p>\n </div>\n </div>\n\n <!-- 分页器 -->\n <div class=\"swiper-pagination\" style=\"color: #007aff\"></div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport Swiper from 'swiper'\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'pictureads',\n props: {\n datas: Object,\n },\n data() {\n return {\n mySwiper: null,\n }\n },\n computed: {\n /* 类型切换 */\n swiperType() {\n console.log(this.datas.swiperType, '----------------轮播类型')\n this.addSwiper()\n return this.datas.swiperType\n },\n /* 图片删除或者增加 */\n imageList() {\n this.addSwiper()\n console.log(this.datas.imageList.length, '-------轮播数量')\n return this.datas.imageList\n },\n /* 分页器类型切换 */\n pagingType() {\n this.addSwiper()\n return this.datas.pagingType\n },\n /* 一行个数 */\n rowindividual() {\n this.addSwiper()\n if (this.datas.swiperType === 1) {\n return 1\n } else {\n return this.datas.rowindividual\n }\n },\n /* 图片间距 */\n imageMargin() {\n this.addSwiper()\n if (this.datas.swiperType === 1) {\n return 0\n } else {\n return this.datas.imageMargin\n }\n },\n },\n watch: {\n pagingType() {},\n rowindividual() {},\n imageMargin() {},\n },\n methods: {\n /* 点击图片跳转 */\n handleItemClick(item) {\n if (!item.linktype && !item.type) return\n navigateByLink(item, this.$router)\n },\n /* 创建轮播对象 */\n addSwiper() {\n this.$nextTick(() => {\n if (this.datas.swiperType !== 0 && this.datas.imageList[0]) {\n if (this.mySwiper instanceof Array) {\n this.mySwiper.forEach((element) => {\n element.destroy()\n })\n } else if (this.mySwiper instanceof Object) {\n // 每次重新创建swiper前都要销毁之前存在的轮播 不然轮播会重复\n this.mySwiper.destroy()\n }\n\n let params = {\n loop: true,\n autoplay: true,\n pagination: {\n el: '.swiper-pagination',\n type: this.pagingType,\n },\n }\n\n if (this.datas.swiperType === 1 || this.datas.swiperType === 2) {\n params.slidesPerView = this.rowindividual\n params.spaceBetween = this.imageMargin\n } else if (this.datas.swiperType === 3) {\n params.slidesPerView = 1.3\n params.centeredSlides = true\n }\n\n this.mySwiper = new Swiper('.swiper-container', params)\n } else {\n if (this.mySwiper instanceof Array) {\n this.mySwiper.forEach((element) => {\n element.destroy()\n })\n }\n // 每次重新创建swiper前都要销毁之前存在的轮播 不然轮播会重复\n if (this.mySwiper instanceof Object) {\n this.mySwiper.destroy()\n }\n }\n })\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.pictureads {\n position: relative;\n\n /* 无图片 */\n .upload {\n background: #979797;\n width: 100%;\n height: 250px;\n display: flex;\n justify-content: center;\n align-items: center;\n i {\n font-size: 120px;\n }\n }\n\n /* 类型0 */\n .type0 {\n box-sizing: border-box;\n /* 图片列表 */\n .imgLis {\n width: 100%;\n position: relative;\n overflow: hidden;\n &:last-child {\n margin: 0 !important;\n }\n /* 图片 */\n img {\n width: 100%;\n height: 100%;\n display: block;\n }\n .title {\n height: 36px;\n width: 100%;\n background-color: rgba(51, 51, 51, 0.8);\n text-align: center;\n line-height: 36px;\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n }\n }\n }\n\n /* 类型1 */\n .type1 {\n width: 100%;\n position: relative;\n .swiper-slide {\n width: 100%;\n height: 250px;\n }\n img {\n width: 100%;\n height: 100%;\n display: block;\n }\n .title {\n height: 36px;\n width: 100%;\n background-color: rgba(51, 51, 51, 0.8);\n text-align: center;\n line-height: 36px;\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n text-align: left;\n box-sizing: border-box;\n padding: 0 5px;\n }\n }\n\n .type3 {\n width: 100%;\n height: 250px;\n align-items: center;\n .swiper-slide {\n height: 210px !important;\n text-align: center;\n font-size: 18px;\n background: #fff;\n box-shadow: rgba(173, 173, 173, 0.8) 0px 7px 24px 0px;\n border-radius: 12px;\n overflow: hidden;\n\n /* Center slide text vertically */\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n -webkit-justify-content: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n transition: 300ms;\n transform: scale(0.8);\n img {\n width: 100%;\n height: 100%;\n }\n }\n .swiper-slide-active,\n .swiper-slide-duplicate-active {\n transform: scale(1);\n }\n .swiper-pagination {\n bottom: 0 !important;\n }\n .title {\n height: 36px;\n width: 100%;\n background-color: rgba(51, 51, 51, 0.8);\n text-align: center;\n line-height: 36px;\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n text-align: left;\n box-sizing: border-box;\n padding: 0 5px;\n }\n }\n .type3H {\n height: 250px;\n }\n .swiper-container-horizontal > .swiper-pagination-progressbar {\n height: 2px;\n }\n}\n</style>\n","<template>\n <div class=\"placementarea\">\n <span>组件放置区域</span>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'placementarea',\n}\n</script>\n\n<style scoped lang=\"less\">\n.placementarea {\n width: 100%;\n height: 40px;\n background: #94b4eb;\n display: flex;\n justify-content: center;\n align-items: center;\n background-image: url('../../../assets/images/obliqueLine.png');\n background-size: 50%, 100%;\n transition: all 0.5s;\n span {\n color: #fff;\n display: inline-block;\n width: 140px;\n height: 25px;\n font-size: 12px;\n text-align: center;\n line-height: 25px;\n background: #5487df;\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div class=\"richtext\" :style=\"{ background: datas.backColor }\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/fwb.png\"\n alt=\"\"\n v-if=\"!datas.myValue.length\"\n />\n <section v-else v-html=\"datas.myValue\" />\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'richtext',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.richtext {\n position: relative;\n}\n:deep(img) {\n max-width: 100% !important;\n display: block;\n}\n.richtext {\n position: relative;\n :deep(pre) {\n white-space: break-spaces;\n }\n :deep(p) {\n word-break: break-all;\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","<template>\n <div class=\"storeinformation\">\n <!-- 样式一 -->\n <section\n class=\"type0\"\n v-show=\"datas.rubiksCubeType === 0 || datas.rubiksCubeType === 2\"\n >\n <div\n v-if=\"datas.rubiksCubeType === 0\"\n class=\"menban\"\n style=\"background-color: rgba(0, 0, 0, 0.3)\"\n />\n <div\n v-else\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p style=\"margin-top: 5px; font-weight: 700; font-size: 18px\">\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 样式二 -->\n <section class=\"type1\" v-show=\"datas.rubiksCubeType === 1\">\n <div\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p style=\"margin-top: 5px; font-weight: 700; font-size: 18px\">\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 样式四 -->\n <section class=\"type3\" v-show=\"datas.rubiksCubeType === 3\">\n <div\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p style=\"margin-top: 5px; font-weight: 700; font-size: 18px\">\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 样式五 -->\n <section class=\"type4\" v-show=\"datas.rubiksCubeType === 4\">\n <div\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p\n style=\"\n margin-top: 5px;\n font-weight: 700;\n font-size: 18px;\n line-height: 40px;\n border-bottom: 1px solid #fff;\n \"\n >\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'storeinformation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.storeinformation {\n position: relative;\n\n /* 类型一 */\n .type0 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 185px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n height: 60px;\n position: absolute;\n left: 0;\n top: 110px;\n display: flex;\n z-index: 3;\n\n img {\n width: 60px;\n height: 60px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 5px;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n }\n }\n }\n\n .menban {\n position: absolute;\n left: 0p;\n top: 0px;\n width: 100%;\n z-index: 2;\n height: 100%;\n }\n\n /* 类型二 */\n .type1 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 238px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 185px;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n height: 60px;\n position: absolute;\n left: 0;\n top: 150px;\n display: flex;\n z-index: 3;\n\n img {\n width: 72px;\n height: 72px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 50%;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n }\n }\n }\n\n /* 类型四 */\n .type3 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 238px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 140px;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n position: absolute;\n left: 0;\n top: 100px;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 3;\n\n img {\n width: 72px;\n height: 72px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 50%;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n text-align: center;\n }\n }\n }\n\n /* 类型五 */\n .type4 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 250px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n position: absolute;\n left: 0;\n top: 50px;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 3;\n\n img {\n width: 72px;\n height: 72px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 50%;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n text-align: center;\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"storenotecard\">\n <!-- 更多 -->\n <div class=\"more1\">\n <h4>{{ datas.name }}</h4>\n <p v-show=\"datas.viewMore1\" @click=\"handleMoreClick\">查看更多 <van-icon name=\"arrow\" /></p>\n </div>\n\n <!-- 没有视频展示默认 -->\n <section\n v-show=\"!datas.imageList[0]\"\n :class=\"[datas.commodityType === 2 ? 'defaultcommodityList2' : '']\"\n class=\"defaultcommodity\"\n >\n <div\n v-for=\"index in 3\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n 'border-radius': datas.borderRadius + 'px',\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n }\"\n >\n <!-- 视频图片 -->\n <div\n class=\"imgss\"\n style=\"position: relative; width: 100%\"\n :class=\"[datas.positions === 'top' ? 'containoptions' : '']\"\n >\n <img draggable=\"false\" src=\"../../../assets/images/imgs.png\" alt=\"\" />\n <!-- 标签 -->\n <p class=\"marks\" v-if=\"datas.noteLabels\"><span>#</span>笔记标签</p>\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :class=\"[datas.positions === 'top' ? 'positionsTop' : '']\"\n :style=\"{ background: datas.moditystyle !== 3 ? '#fff' : 'none' }\"\n >\n <!-- 视频名称 -->\n <h5>这里显示商品名称,最多显示2行</h5>\n <!-- 点赞和阅读量 -->\n <div class=\"dianz\">\n <span class=\"fir\" v-if=\"datas.readingNumber\">999 阅读</span>\n <span v-else></span>\n <span v-show=\"datas.praisePoints\"\n ><van-icon name=\"good-job-o\" /> 999</span\n >\n </div>\n </div>\n </div>\n </section>\n\n <section\n v-show=\"datas.imageList[0]\"\n :class=\"[datas.commodityType === 2 ? 'defaultcommodityList2' : '']\"\n class=\"defaultcommodity\"\n >\n <div\n v-for=\"(item, index) in datas.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n @click=\"handleItemClick(item)\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n 'border-radius': datas.borderRadius + 'px',\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n }\"\n >\n <!-- 视频图片 -->\n <div\n class=\"imgss\"\n style=\"position: relative; width: 100%\"\n :class=\"[datas.positions === 'top' ? 'containoptions' : '']\"\n >\n <img draggable=\"false\" :src=\"item.src\" alt=\"\" />\n <!-- 标签 -->\n <p class=\"marks\" v-if=\"datas.noteLabels\"><span>#</span>笔记标签</p>\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :class=\"[datas.positions === 'top' ? 'positionsTop' : '']\"\n :style=\"{ background: datas.moditystyle !== 3 ? '#fff' : 'none' }\"\n >\n <!-- 视频名称 -->\n <h5>{{ item.text }}</h5>\n <!-- 点赞和阅读量 -->\n <div class=\"dianz\">\n <span class=\"fir\" v-if=\"datas.readingNumber\">999 阅读</span>\n <span v-else></span>\n <span v-show=\"datas.praisePoints\"\n ><van-icon name=\"good-job-o\" /> 999</span\n >\n </div>\n </div>\n </div>\n </section>\n\n <p class=\"more2\" v-show=\"datas.viewMore2\">\n 查看更多 <van-icon name=\"arrow\" />\n </p>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'storenotecard',\n props: {\n datas: Object,\n },\n methods: {\n handleItemClick(item) {\n if (!item) return\n navigateByLink(item, this.$router)\n },\n handleMoreClick() {\n navigateByLink(this.datas, this.$router)\n },\n },\n data() {\n return {\n active: 0,\n }\n },\n\n created() {},\n\n methods: {},\n}\n</script>\n\n<style scoped lang=\"less\">\n.storenotecard {\n position: relative;\n\n /* 更多1 */\n .more1 {\n margin: 15px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n h4 {\n font-size: 16px;\n color: #323233;\n font-weight: 400;\n width: 270px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n p {\n color: #969799;\n font-size: 12px;\n display: flex;\n align-items: center;\n }\n }\n\n /* 更多2 */\n .more2 {\n text-align: center;\n color: #969799;\n font-size: 12px;\n margin-bottom: 15px;\n }\n\n /* 默认商品 */\n .defaultcommodity {\n box-sizing: border-box;\n margin: 1px;\n padding: 0 15px;\n /* 横向滑动 */\n &.defaultcommodityList2 {\n overflow: scroll;\n display: flex;\n /* 滚动条 */\n &::-webkit-scrollbar {\n height: 1px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #155bd4;\n }\n :deep(.el-collapse-item__header),\n :deep(.el-collapse-item__wrap) {\n border-bottom: 0 !important;\n }\n }\n /* 卡片列表 */\n .defaultcommodityList {\n position: relative;\n margin-bottom: 15px;\n overflow: hidden;\n display: inline-flex;\n flex-direction: column;\n\n /* 大图模式 */\n &.defaultcommodityList0 {\n width: 100%;\n /* 标签 */\n .containoptions {\n .marks {\n bottom: 33px;\n z-index: 3;\n }\n }\n img {\n height: 147px;\n }\n /* 文字在图片中 */\n .positionsTop {\n position: absolute;\n display: flex;\n flex-direction: column-reverse;\n left: 0;\n bottom: 0;\n background: none !important;\n background-image: linear-gradient(\n to bottom,\n transparent,\n rgba(0, 0, 0, 0.5)\n ) !important;\n /* 标题 */\n h5 {\n color: #fff;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n span {\n color: #fff;\n }\n /* 点赞和阅读量 */\n .dianz {\n padding-left: 190px;\n }\n }\n }\n\n /* 一行两个 */\n &.defaultcommodityList1 {\n width: 48%;\n &:nth-of-type(even) {\n margin-left: 4%;\n }\n }\n\n /* 横向滑动 */\n &.defaultcommodityList2 {\n width: 150px;\n flex: none;\n margin-right: 5%;\n }\n\n /* 一大两小 */\n &.defaultcommodityList3 {\n display: flex;\n &:nth-of-type(3n-2) {\n margin-bottom: 0 !important;\n .marks {\n bottom: 33px;\n z-index: 3;\n }\n img {\n height: 147px;\n }\n /* 文字在图片中 */\n .text {\n position: absolute;\n display: flex;\n flex-direction: column-reverse;\n left: 0;\n bottom: 0;\n background: none !important;\n background-image: linear-gradient(\n to bottom,\n transparent,\n rgba(0, 0, 0, 0.5)\n ) !important;\n /* 标题 */\n h5 {\n color: #fff;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n span {\n color: #fff;\n }\n /* 点赞和阅读量 */\n .dianz {\n padding-left: 190px;\n }\n }\n }\n &:nth-of-type(3n) {\n flex-direction: row-reverse;\n margin-bottom: 15px;\n .imgss {\n width: 65px !important;\n height: 67px;\n z-index: 99;\n position: absolute !important;\n top: 10%;\n right: 10px;\n img {\n width: 100%;\n height: 100%;\n }\n }\n .marks {\n left: 0;\n background: #fff;\n opacity: 0.85;\n bottom: 0;\n }\n .text {\n width: 100%;\n padding: 10px 80px 10px 10px;\n min-height: 87px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n .dianz {\n justify-content: start;\n line-height: 20px;\n span {\n &.fir {\n margin-right: 30px;\n }\n }\n }\n }\n }\n &:nth-of-type(3n-1) {\n flex-direction: row-reverse;\n margin-bottom: 0;\n border-bottom: 1px solid #e5e5e5;\n border-top: 1px solid #e5e5e5;\n .marks {\n left: 0;\n bottom: 0;\n background: #fff;\n opacity: 0.85;\n }\n .imgss {\n width: 65px !important;\n height: 67px;\n z-index: 99;\n position: absolute !important;\n top: 10%;\n right: 10px;\n img {\n width: 100%;\n height: 100%;\n }\n }\n .text {\n width: 100%;\n padding: 10px 80px 10px 10px;\n min-height: 87px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n .dianz {\n justify-content: start;\n line-height: 20px;\n span {\n &.fir {\n margin-right: 30px;\n }\n }\n }\n }\n }\n &:nth-of-type(3n) {\n flex-direction: row-reverse;\n }\n }\n\n /* 详细列表 */\n &.defaultcommodityList4 {\n width: 100%;\n flex-direction: row-reverse;\n margin-bottom: 15px;\n .imgss {\n width: 120px !important;\n height: 122px;\n z-index: 99;\n position: absolute !important;\n top: 8%;\n right: 10px;\n img {\n width: 100%;\n height: 100%;\n }\n }\n .marks {\n left: 0;\n background: #fff;\n opacity: 0.85;\n bottom: 0;\n }\n .text {\n width: 100%;\n padding: 10px 160px 10px 10px;\n min-height: 145px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n .dianz {\n justify-content: start;\n line-height: 20px;\n span {\n &.fir {\n margin-right: 30px;\n }\n }\n }\n }\n }\n\n /* 标签 */\n .marks {\n position: absolute;\n bottom: 10px;\n left: 13px;\n font-size: 10px;\n padding: 2px 5px;\n background: #fff;\n opacity: 0.85;\n border-radius: 3px;\n span {\n color: #d40;\n }\n }\n\n /* 图片 */\n img {\n width: 100%;\n display: block;\n overflow: hidden;\n }\n\n /* 文字 */\n .text {\n padding: 10px 10px 0;\n width: 100%;\n box-sizing: border-box;\n /* 商品名称 */\n h5 {\n font-size: 14px;\n line-height: 20px;\n margin: 0 0 5px;\n font-weight: 400;\n width: 100%;\n display: -webkit-box;\n text-overflow: ellipsis;\n overflow: hidden;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n /* 点赞和阅读量 */\n .dianz {\n display: flex;\n justify-content: space-between;\n line-height: 35px;\n span {\n font-size: 12px;\n display: flex;\n align-items: center;\n .van-icon-good-job-o {\n margin-right: 5px;\n }\n }\n }\n }\n }\n }\n}\n</style>\n","export default \"data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSI5NiIKICBoZWlnaHQ9Ijk2IgogIHZpZXdCb3g9IjAgMCA5NiA5NiIKICBmaWxsPSJub25lIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJzdXNwZW5zaW9uLWJ1dHRvbi1iZyIgeDE9IjIwIiB5MT0iMTYiIHgyPSI3NiIgeTI9IjgwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0REI2RkYiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE1NUJENCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InN1c3BlbnNpb24tYnV0dG9uLWdsb3ciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQgMjgpIHJvdGF0ZSg0Ny45KSBzY2FsZSgzMC45NjE4KSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIHN0b3Atb3BhY2l0eT0iMC42NSIgLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZGRkZGIiBzdG9wLW9wYWNpdHk9IjAiIC8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPGZpbHRlciBpZD0ic3VzcGVuc2lvbi1idXR0b24tc2hhZG93IiB4PSI2IiB5PSI4IiB3aWR0aD0iODQiIGhlaWdodD0iODQiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIC8+CiAgICAgIDxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIgLz4KICAgICAgPGZlT2Zmc2V0IGR5PSI0IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0IiAvPgogICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwLjA4MjM1MjkgMCAwIDAgMCAwLjM1Njg2MyAwIDAgMCAwIDAuODMxMzczIDAgMCAwIDAuMjggMCIgLz4KICAgICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMV8xIiAvPgogICAgICA8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd18xXzEiIHJlc3VsdD0ic2hhcGUiIC8+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+CgogIDxnIGZpbHRlcj0idXJsKCNzdXNwZW5zaW9uLWJ1dHRvbi1zaGFkb3cpIj4KICAgIDxjaXJjbGUgY3g9IjQ4IiBjeT0iNDQiIHI9IjMyIiBmaWxsPSJ1cmwoI3N1c3BlbnNpb24tYnV0dG9uLWJnKSIgLz4KICAgIDxjaXJjbGUgY3g9IjQ4IiBjeT0iNDQiIHI9IjMyIiBmaWxsPSJ1cmwoI3N1c3BlbnNpb24tYnV0dG9uLWdsb3cpIiAvPgogICAgPGNpcmNsZSBjeD0iNDgiIGN5PSI0NCIgcj0iMzEiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjE4IiBzdHJva2Utd2lkdGg9IjIiIC8+CiAgPC9nPgoKICA8cmVjdCB4PSIzMSIgeT0iMjciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgcng9IjQuNSIgZmlsbD0id2hpdGUiIC8+CiAgPHJlY3QgeD0iNTEiIHk9IjI3IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHJ4PSI0LjUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuOTYiIC8+CiAgPHJlY3QgeD0iMzEiIHk9IjQ3IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHJ4PSI0LjUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuOTYiIC8+CiAgPHJlY3QgeD0iNTEiIHk9IjQ3IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHJ4PSI0LjUiIGZpbGw9IndoaXRlIiAvPgogIDxjaXJjbGUgY3g9IjY1IiBjeT0iMzAiIHI9IjQiIGZpbGw9IiNGRkQ2NkIiIC8+CiAgPHBhdGgKICAgIGQ9Ik02NSAyNy44TDY1LjUzOTQgMjkuNDYwNkw2Ny4yIDMwTDY1LjUzOTQgMzAuNTM5NEw2NSAzMi4yTDY0LjQ2MDYgMzAuNTM5NEw2Mi44IDMwTDY0LjQ2MDYgMjkuNDYwNkw2NSAyNy44WiIKICAgIGZpbGw9IndoaXRlIgogIC8+Cjwvc3ZnPgo=\"","<template>\n <div id=\"suspension\" :style=\"suspensionStyle\">\n <div class=\"suspension-wrap\" :style=\"wrapStyle\" @click=\"handleClick\">\n <img\n class=\"suspension-logo\"\n :src=\"buttonImage\"\n :style=\"logoStyle\"\n alt=\"悬浮按钮\"\n />\n </div>\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n<script>\nimport defaultSuspensionImage from '@/assets/images/suspension-button.svg'\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nconst toFiniteNumber = (value, fallback) => {\n const numberValue = Number(value)\n return Number.isFinite(numberValue) ? numberValue : fallback\n}\n\nexport default {\n name: 'suspension',\n props: {\n datas: Object,\n fixedInContainer: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n buttonSize() {\n return Math.max(24, Math.min(toFiniteNumber(this.datas?.size, 48), 160))\n },\n horizontalPosition() {\n return this.datas?.horizontalPosition === 'left' ? 'left' : 'right'\n },\n verticalPosition() {\n return this.datas?.verticalPosition === 'top' ? 'top' : 'bottom'\n },\n offsetX() {\n return Math.max(0, toFiniteNumber(this.datas?.offsetX, 12))\n },\n offsetY() {\n return Math.max(0, toFiniteNumber(this.datas?.offsetY, 80))\n },\n borderRadius() {\n return Math.max(0, Math.min(toFiniteNumber(this.datas?.borderRadius, 50), 50))\n },\n fixedToViewport() {\n return Boolean(this.datas?.fixedToViewport)\n },\n buttonImage() {\n return this.datas?.image || defaultSuspensionImage\n },\n suspensionStyle() {\n const oppositeVerticalPosition = this.verticalPosition === 'top' ? 'bottom' : 'top'\n\n return {\n height: `${this.buttonSize}px`,\n width: '100%',\n position: this.fixedToViewport && !this.fixedInContainer ? 'fixed' : 'absolute',\n left: '0',\n right: '0',\n [this.verticalPosition]: `${this.offsetY}px`,\n [oppositeVerticalPosition]: 'auto',\n zIndex: toFiniteNumber(this.datas?.zIndex, 999),\n border: 'none',\n boxSizing: 'border-box',\n }\n },\n wrapStyle() {\n const oppositeHorizontalPosition = this.horizontalPosition === 'left' ? 'right' : 'left'\n\n return {\n width: `${this.buttonSize}px`,\n height: `${this.buttonSize}px`,\n position: 'absolute',\n [this.horizontalPosition]: `${this.offsetX}px`,\n [oppositeHorizontalPosition]: 'auto',\n zIndex: 1001,\n }\n },\n logoStyle() {\n return {\n width: '100%',\n height: '100%',\n borderRadius: `${this.borderRadius}%`,\n }\n },\n },\n methods: {\n handleClick() {\n if (!this.datas) return\n navigateByLink(this.datas, this.$router)\n },\n },\n}\n</script>\n<style lang=\"less\" scoped>\n#suspension {\n width: 100%;\n height: 48px;\n position: absolute;\n right: 0;\n bottom: 10%;\n z-index: 999;\n border: none;\n box-sizing: border-box;\n .suspension-wrap {\n width: 48px;\n height: 48px;\n position: absolute;\n right: 12px;\n z-index: 1001;\n .suspension-logo {\n display: block;\n width: 48px;\n height: 48px;\n border-radius: 50%;\n object-fit: contain;\n }\n }\n}\n</style>\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTAgMjguNUwzMiAxMUw1NCAyOC41VjUxQzU0IDUzLjIwOTEgNTIuMjA5MSA1NSA1MCA1NUg0MEMzOC44OTU0IDU1IDM4IDU0LjEwNDYgMzggNTNWNDFDMzggMzkuODk1NCAzNy4xMDQ2IDM5IDM2IDM5SDI4QzI2Ljg5NTQgMzkgMjYgMzkuODk1NCAyNiA0MVY1M0MyNiA1NC4xMDQ2IDI1LjEwNDYgNTUgMjQgNTVIMTRDMTEuNzkwOSA1NSAxMCA1My4yMDkxIDEwIDUxVjI4LjVaIiBmaWxsPSIjMTk4OUZBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTEgMjlMMzIgMTIuNUw1MyAyOVY1MUM1MyA1Mi4xMDQ2IDUyLjEwNDYgNTMgNTEgNTNINDFWNDFDNDEgMzguMjM4NiAzOC43NjE0IDM2IDM2IDM2SDI4QzI1LjIzODYgMzYgMjMgMzguMjM4NiAyMyA0MVY1M0gxM0MxMS44OTU0IDUzIDExIDUyLjEwNDYgMTEgNTFWMjlaIiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjIyIiByPSIxMCIgZmlsbD0iIzE5ODlGQSIvPgogIDxwYXRoIGQ9Ik0xNCA1MEMxNCA0MC4wNTg5IDIyLjA1ODkgMzIgMzIgMzJDNDEuOTQxMSAzMiA1MCA0MC4wNTg5IDUwIDUwVjUyQzUwIDUzLjY1NjkgNDguNjU2OSA1NSA0NyA1NUgxN0MxNS4zNDMxIDU1IDE0IDUzLjY1NjkgMTQgNTJWNTBaIiBmaWxsPSIjMTk4OUZBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjIyIiByPSI5IiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIvPgogIDxwYXRoIGQ9Ik0xNiA1MUMxNiA0Mi4xNjM0IDIzLjE2MzQgMzUgMzIgMzVDNDAuODM2NiAzNSA0OCA0Mi4xNjM0IDQ4IDUxVjUyQzQ4IDUyLjU1MjMgNDcuNTUyMyA1MyA0NyA1M0gxN0MxNi40NDc3IDUzIDE2IDUyLjU1MjMgMTYgNTJWNTFaIiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIvPgo8L3N2Zz4K\"","<template>\n <div id=\"tabbar\" :class=\"{ 'tabbar--sticky': shouldUseFixed }\">\n <div v-if=\"hasCustomIcons\" class=\"tabbar\">\n <van-tabbar\n v-model=\"activeName\"\n :fixed=\"false\"\n :placeholder=\"false\"\n safe-area-inset-bottom\n :border=\"datas.isShowBorder\"\n :active-color=\"datas.activeColor\"\n :inactive-color=\"datas.inactiveColor\"\n @change=\"onTabChange\"\n >\n <van-tabbar-item\n v-for=\"(item, index) in datas.iconList\"\n :key=\"index\"\n :name=\"getCustomTabName(item, index)\"\n :dot=\"item.isDot\"\n >\n <span>{{ item.iconText }}</span>\n <template #icon=\"props\">\n <img :src=\"resolveIconSource(props.active ? item.iconPic : item.inactive)\" />\n </template>\n </van-tabbar-item>\n </van-tabbar>\n </div>\n\n <div v-else>\n <van-tabbar\n v-model=\"activeName\"\n :fixed=\"false\"\n :placeholder=\"false\"\n safe-area-inset-bottom\n :border=\"datas.isShowBorder\"\n :active-color=\"datas.activeColor\"\n :inactive-color=\"datas.inactiveColor\"\n @change=\"onTabChange\"\n >\n <van-tabbar-item icon=\"search\" name=\"home\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"home-o\" name=\"tab-1\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"friends-o\" name=\"tab-2\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"setting-o\" name=\"tab-3\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"setting-o\" name=\"tab-4\">标签</van-tabbar-item>\n </van-tabbar>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport tabbarHomeActiveSvg from '../../../assets/images/tabbar-home-active.svg'\nimport tabbarHomeInactiveSvg from '../../../assets/images/tabbar-home-inactive.svg'\nimport tabbarProfileActiveSvg from '../../../assets/images/tabbar-profile-active.svg'\nimport tabbarProfileInactiveSvg from '../../../assets/images/tabbar-profile-inactive.svg'\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'tabbar',\n props: {\n datas: Object\n },\n data() {\n return {\n defaultTabNames: ['home', 'tab-1', 'tab-2', 'tab-3', 'tab-4'],\n builtinTabbarIcons: {\n 'tabbar-home-active.svg': tabbarHomeActiveSvg,\n 'tabbar-home-inactive.svg': tabbarHomeInactiveSvg,\n 'tabbar-profile-active.svg': tabbarProfileActiveSvg,\n 'tabbar-profile-inactive.svg': tabbarProfileInactiveSvg,\n },\n }\n },\n\n methods: {\n onTabChange(activeValue) {\n if (!this.hasCustomIcons) return\n const names = this.getAvailableNames()\n const index = names.indexOf(activeValue)\n if (index === -1) return\n const item = this.datas.iconList[index]\n if (!item) return\n navigateByLink(item, this.$router)\n },\n getCustomTabName(item, index) {\n if (item && item.iconName) return item.iconName\n return `tabbar-${index}`\n },\n getAvailableNames() {\n if (this.hasCustomIcons) {\n return this.datas.iconList.map((item, index) => this.getCustomTabName(item, index))\n }\n return this.defaultTabNames\n },\n normalizeHighlight(value) {\n const names = this.getAvailableNames()\n if (!names.length) return 'home'\n\n if (typeof value === 'string' && names.includes(value)) {\n return value\n }\n\n if (typeof value === 'number' && value >= 0 && value < names.length) {\n return names[value]\n }\n\n return names[0]\n },\n toHighlightValue(activeName) {\n const names = this.getAvailableNames()\n const index = names.indexOf(activeName)\n if (index === -1) return this.datas?.Highlight\n if (typeof this.datas?.Highlight === 'number') return index\n return activeName\n },\n resolveIconSource(source) {\n if (!source || typeof source !== 'string') return source\n if (source.startsWith('data:image/')) return source\n\n if (source.includes('/@fs/') || source.includes('/src/assets/images/tabbar-')) {\n const hit = Object.keys(this.builtinTabbarIcons).find((filename) => source.includes(filename))\n if (hit) {\n return this.builtinTabbarIcons[hit]\n }\n }\n\n return source\n },\n },\n\n computed: {\n hasCustomIcons() {\n return Array.isArray(this.datas?.iconList) && this.datas.iconList.length !== 0\n },\n shouldUseFixed() {\n return this.datas?.useFixed !== false\n },\n activeName: {\n get() {\n return this.normalizeHighlight(this.datas?.Highlight)\n },\n set(value) {\n if (!this.datas) return\n this.datas.Highlight = this.toHighlightValue(value)\n },\n },\n },\n}\n</script>\n\n<style lang=\"less\" scoped>\n#tabbar {\n width: 100%;\n z-index: 2;\n}\n\n#tabbar.tabbar--sticky {\n position: sticky;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n background: #fff;\n padding-bottom: env(safe-area-inset-bottom);\n box-sizing: border-box;\n}\n\n.tabbar {\n :deep(.van-icon) {\n width: 25px;\n height: 25px;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n}\n</style>\n","<template>\n <div class=\"videoss\">\n <!-- 默认视频 -->\n <section class=\"default\" v-if=\"!datas.src\">\n <van-icon name=\"tv-o\" size=\"150px\" />\n </section>\n\n <!-- 选择视频后 -->\n <section v-else style=\"position: relative\">\n <video\n :src=\"datas.src\"\n controls\n :autoplay=\"datas.autoplay\"\n :poster=\"datas.coverUrl\"\n ></video>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'videoss',\n props: {\n datas: Object,\n },\n\n created() {\n },\n\n methods: {\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.videoss {\n position: relative;\n\n /* 默认视频 */\n .default {\n width: 100%;\n height: 210px;\n background: #979797;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n /* 播放图标 */\n .bof {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n font-size: 100px;\n opacity: 0.5;\n color: #999;\n }\n video{\n width: 100%;\n }\n}\n</style>\n","<template>\n <div class=\"component-renderer\" :style=\"{ minHeight: minHeight + 'px' }\">\n <!-- 页面头部导航 -->\n <div\n v-if=\"pageConfig && pageConfig.isPerson !== false\"\n class=\"page-header\"\n :style=\"{\n height: (pageConfig.titleHeight || 35) + 'px',\n backgroundColor: '#fff',\n }\"\n >\n <div class=\"header-content\">\n <van-icon\n v-if=\"pageConfig.isBack\"\n name=\"arrow-left\"\n size=\"18\"\n class=\"back-icon\"\n />\n <span class=\"page-title\">{{ pageConfig.name || '页面标题' }}</span>\n </div>\n </div>\n\n <!-- 页面主体内容 -->\n <div\n class=\"page-body\"\n :style=\"{\n position: 'absolute',\n top: headerHeight + 'px',\n left: 0,\n right: 0,\n bottom: fixedTabbar ? tabbarBottomOffset : 0,\n backgroundColor: pageConfig?.bgColor || '#f9f9f9',\n backgroundImage: pageConfig?.bgImg ? `url(${pageConfig.bgImg})` : 'none',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n }\"\n >\n <!-- 动态渲染组件 -->\n <component\n v-for=\"componentEntry in bodyComponentEntries\"\n :key=\"getComponentKey(componentEntry)\"\n :is=\"componentEntry.component.component\"\n :datas=\"componentEntry.component.setStyle\"\n :class=\"[\n 'rendered-component',\n { 'rendered-component--editable': showEditControls },\n { 'component-active': componentEntry.component.active && showEditControls }\n ]\"\n :style=\"getComponentStyle(componentEntry.component)\"\n @click=\"handleComponentClick(componentEntry.component, componentEntry.index)\"\n v-bind=\"getComponentProps(componentEntry.component)\"\n >\n <!-- 组件插槽内容 -->\n <template #deles v-if=\"showEditControls\">\n <div class=\"component-controls\" @click.stop=\"handleDeleteComponent(componentEntry.index)\">\n <span class=\"component-label\">{{ componentEntry.component.text }}</span>\n <van-icon name=\"delete\" size=\"14\" />\n </div>\n </template>\n </component>\n\n <!-- 空状态提示 -->\n <div v-if=\"bodyComponentEntries.length === 0 && fixedOverlayComponentEntries.length === 0\" class=\"empty-state\">\n <div class=\"empty-content\">\n <van-icon name=\"apps-o\" size=\"48\" color=\"#ccc\" />\n <p class=\"empty-text\">暂无组件内容</p>\n </div>\n </div>\n </div>\n\n <div\n v-if=\"fixedOverlayComponentEntries.length\"\n class=\"floating-component-layer\"\n :style=\"{\n top: headerHeight + 'px',\n bottom: fixedTabbar ? tabbarBottomOffset : 0,\n }\"\n >\n <component\n v-for=\"componentEntry in fixedOverlayComponentEntries\"\n :key=\"getComponentKey(componentEntry)\"\n :is=\"componentEntry.component.component\"\n :datas=\"componentEntry.component.setStyle\"\n :class=\"[\n 'rendered-component',\n { 'rendered-component--editable': showEditControls },\n { 'component-active': componentEntry.component.active && showEditControls }\n ]\"\n :style=\"getComponentStyle(componentEntry.component)\"\n @click=\"handleComponentClick(componentEntry.component, componentEntry.index)\"\n v-bind=\"{ ...getComponentProps(componentEntry.component), fixedInContainer: true }\"\n >\n <template #deles v-if=\"showEditControls\">\n <div class=\"component-controls\" @click.stop=\"handleDeleteComponent(componentEntry.index)\">\n <span class=\"component-label\">{{ componentEntry.component.text }}</span>\n <van-icon name=\"delete\" size=\"14\" />\n </div>\n </template>\n </component>\n </div>\n\n <div v-if=\"fixedTabbar\" class=\"fixed-tabbar\">\n <component :is=\"fixedTabbar.component\" :datas=\"{ ...fixedTabbar.setStyle, useFixed: false }\" />\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed, ref, onMounted } from 'vue'\n// 注意:组件工厂将在渲染器外部初始化和管理\n// import ComponentFactory from '@/utils/ComponentFactory'\n\n// 定义组件名称\ndefineOptions({\n name: 'ComponentRenderer'\n})\n\n// 定义Props\nconst props = defineProps({\n // 页面配置信息\n pageConfig: {\n type: Object,\n default: () => ({\n name: '页面标题',\n isPerson: false,\n isBack: true,\n titleHeight: 35,\n bgColor: '#f9f9f9',\n bgImg: '',\n }),\n },\n // 组件列表数据\n components: {\n type: Array,\n default: () => [],\n },\n // 最小高度\n minHeight: {\n type: Number,\n default: 600,\n },\n // 是否显示编辑控件\n showEditControls: {\n type: Boolean,\n default: false,\n },\n // 是否启用组件交互\n enableInteraction: {\n type: Boolean,\n default: true,\n },\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n})\n\n// 定义Emits\nconst emit = defineEmits(['component-click', 'component-delete', 'renderer-ready'])\n\n// 响应式数据\nconst isReady = ref(false)\n\nconst tabbarHeight = 50\nconst tabbarBottomOffset = `calc(${tabbarHeight}px + env(safe-area-inset-bottom))`\nconst headerHeight = computed(() => {\n if (!props.pageConfig || props.pageConfig.isPerson === false) return 0\n return Number(props.pageConfig.titleHeight || 35)\n})\n\nconst componentEntries = computed(() =>\n (props.components || [])\n .map((component, index) => ({ component, index }))\n .filter((entry) => entry.component && entry.component.component)\n)\nconst isFixedOverlayComponent = (componentData) =>\n componentData?.component === 'suspension' && Boolean(componentData?.setStyle?.fixedToViewport)\nconst fixedTabbar = computed(() => componentEntries.value.find((entry) => entry.component.component === 'tabbar')?.component || null)\nconst bodyComponentEntries = computed(() =>\n componentEntries.value.filter((entry) => entry.component.component !== 'tabbar' && !isFixedOverlayComponent(entry.component))\n)\nconst fixedOverlayComponentEntries = computed(() =>\n componentEntries.value.filter((entry) => isFixedOverlayComponent(entry.component))\n)\n\nconst getComponentKey = ({ component, index }) => `${component.__editorId || component.component}_${index}`\n\n// 获取组件样式\nconst getComponentStyle = (componentData) => {\n const styles = {}\n \n // 如果组件处于激活状态且显示编辑控件,添加边框\n if (componentData.active && props.showEditControls) {\n styles.border = '2px solid #155bd4'\n }\n \n return styles\n}\n\n// 获取组件属性\nconst getComponentProps = (componentData) => {\n const componentProps = {}\n \n // 添加数据类型属性\n if (componentData.type) {\n componentProps['data-type'] = componentData.type\n }\n\n if (['commoditysearch', 'livemodule', 'listswitching'].includes(componentData.component)) {\n componentProps.componentInteractive = props.componentInteractive\n }\n \n return componentProps\n}\n\n// 处理组件点击事件\nconst handleComponentClick = (componentData, index) => {\n if (!props.enableInteraction) return\n \n emit('component-click', {\n component: componentData,\n index,\n })\n}\n\n// 处理组件删除事件\nconst handleDeleteComponent = (index) => {\n if (!props.enableInteraction) return\n \n emit('component-delete', { index })\n}\n\n// 初始化渲染器\nconst initRenderer = () => {\n // 渲染器已准备就绪\n isReady.value = true\n emit('renderer-ready')\n}\n\n// 生命周期钩子\nonMounted(() => {\n initRenderer()\n})\n</script>\n\n<style lang=\"less\" scoped>\n.component-renderer {\n width: 100%;\n height: 100%;\n position: relative;\n\n .page-header {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n\n .header-content {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 16px;\n\n .back-icon {\n margin-right: 12px;\n color: #333;\n }\n\n .page-title {\n font-size: 16px;\n font-weight: 500;\n color: #333;\n }\n }\n }\n\n .page-body {\n overflow: auto;\n box-sizing: border-box;\n\n .rendered-component {\n transition: all 0.2s ease;\n\n &.component-active {\n position: relative;\n z-index: 5;\n }\n\n .component-controls {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 30px;\n background: rgba(21, 91, 212, 0.9);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 8px;\n font-size: 12px;\n z-index: 10;\n cursor: pointer;\n\n .component-label {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n\n &:hover {\n background: rgba(21, 91, 212, 1);\n }\n }\n }\n\n .rendered-component--editable {\n position: relative;\n }\n\n .empty-state {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 400px;\n\n .empty-content {\n text-align: center;\n\n .empty-text {\n margin-top: 16px;\n color: #999;\n font-size: 14px;\n }\n }\n }\n }\n\n .floating-component-layer {\n position: absolute;\n left: 0;\n right: 0;\n z-index: 30;\n pointer-events: none;\n overflow: hidden;\n\n .rendered-component {\n pointer-events: auto;\n\n &.component-active {\n z-index: 5;\n }\n }\n }\n\n .component-controls {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 30px;\n background: rgba(21, 91, 212, 0.9);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 8px;\n font-size: 12px;\n z-index: 10;\n cursor: pointer;\n\n .component-label {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n\n &:hover {\n background: rgba(21, 91, 212, 1);\n }\n }\n\n .fixed-tabbar {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 20;\n background: #fff;\n }\n}\n\n// 确保组件样式不受外部影响\n.rendered-component {\n box-sizing: border-box;\n}\n</style>\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTAgMjguNUwzMiAxMUw1NCAyOC41VjUxQzU0IDUzLjIwOTEgNTIuMjA5MSA1NSA1MCA1NUg0MEMzOC44OTU0IDU1IDM4IDU0LjEwNDYgMzggNTNWNDFDMzggMzkuODk1NCAzNy4xMDQ2IDM5IDM2IDM5SDI4QzI2Ljg5NTQgMzkgMjYgMzkuODk1NCAyNiA0MVY1M0MyNiA1NC4xMDQ2IDI1LjEwNDYgNTUgMjQgNTVIMTRDMTEuNzkwOSA1NSAxMCA1My4yMDkxIDEwIDUxVjI4LjVaIiBmaWxsPSIjMTk4OUZBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTEgMjlMMzIgMTIuNUw1MyAyOVY1MUM1MyA1Mi4xMDQ2IDUyLjEwNDYgNTMgNTEgNTNINDFWNDFDNDEgMzguMjM4NiAzOC43NjE0IDM2IDM2IDM2SDI4QzI1LjIzODYgMzYgMjMgMzguMjM4NiAyMyA0MVY1M0gxM0MxMS44OTU0IDUzIDExIDUyLjEwNDYgMTEgNTFWMjlaIiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjIyIiByPSIxMCIgZmlsbD0iIzE5ODlGQSIvPgogIDxwYXRoIGQ9Ik0xNCA1MEMxNCA0MC4wNTg5IDIyLjA1ODkgMzIgMzIgMzJDNDEuOTQxMSAzMiA1MCA0MC4wNTg5IDUwIDUwVjUyQzUwIDUzLjY1NjkgNDguNjU2OSA1NSA0NyA1NUgxN0MxNS4zNDMxIDU1IDE0IDUzLjY1NjkgMTQgNTJWNTBaIiBmaWxsPSIjMTk4OUZBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjIyIiByPSI5IiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIvPgogIDxwYXRoIGQ9Ik0xNiA1MUMxNiA0Mi4xNjM0IDIzLjE2MzQgMzUgMzIgMzVDNDAuODM2NiAzNSA0OCA0Mi4xNjM0IDQ4IDUxVjUyQzQ4IDUyLjU1MjMgNDcuNTUyMyA1MyA0NyA1M0gxN0MxNi40NDc3IDUzIDE2IDUyLjU1MjMgMTYgNTJWNTFaIiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIvPgo8L3N2Zz4K\"","import tabbarHomeActiveSvg from '../assets/images/tabbar-home-active.svg?inline'\nimport tabbarHomeInactiveSvg from '../assets/images/tabbar-home-inactive.svg?inline'\nimport tabbarProfileActiveSvg from '../assets/images/tabbar-profile-active.svg?inline'\nimport tabbarProfileInactiveSvg from '../assets/images/tabbar-profile-inactive.svg?inline'\n\nconst svgToDataUri = (svg) => `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`\nconst tabbarHomeActive = svgToDataUri(tabbarHomeActiveSvg)\nconst tabbarHomeInactive = svgToDataUri(tabbarHomeInactiveSvg)\nconst tabbarProfileActive = svgToDataUri(tabbarProfileActiveSvg)\nconst tabbarProfileInactive = svgToDataUri(tabbarProfileInactiveSvg)\n\nconst componentProperties = new Map()\n\n// 数据版本 每次修改组件数据 需要对版本进行修改\n// componentProperties.set('componentPropertiesVersion', 'V1.0.0')\n\ncomponentProperties.set('captiontext', {\n component: 'captiontext',\n text: '标题文字',\n type: '1-3',\n active: true,\n style: 'captiontextsstyle',\n setStyle: {\n text: '标题文字',\n name: '标题文字', //标题内容\n description: '', //描述内容\n wordSize: 16, //标题大小\n descriptionSize: 12, //描述大小\n wordWeight: 400, //标题粗细\n positions: 'left', //显示位置 可选left/center\n descriptionWeight: 200, //描述粗细\n wordColor: 'rgba(50, 50, 51, 10)', //标题颜色\n descriptionColor: 'rgba(150, 151, 153, 10)', //描述颜色\n backColor: 'rgba(255, 255, 255, 10)', //背景颜色\n borderBott: false, //底部分割线\n wordHeight: 24, //框体高度\n more: {\n //查看更多\n show: false, //是否显示查看更多\n type: 1, // 样式选择\n text: '查看更多', //自定义文字\n httpType: 10, //链接类型\n http: '', //链接\n },\n },\n})\n\ncomponentProperties.set('listswitching', {\n component: 'listswitching',\n text: '商品',\n type: '2-1',\n active: true,\n style: 'listswitchingstyle',\n setStyle: {\n text: '商品',\n commodityType: 0,\n moditystyle: 0,\n borderRadius: 0,\n pageMargin: 15,\n commodityMargin: 10,\n textWeight: 400,\n positions: 'left',\n priceofcommodity: true,\n purchasebutton: true,\n commoditycorner: true,\n purchasebuttonType: 5,\n commoditycornertype: 0,\n commodityTagColor: '#07c160',\n tagPosition: 0,\n imageList: [],\n purchase: '立即购买',\n commoditylisttype: 0,\n commoditylisttypetab: [\n {\n text: '分组',\n imageList: [],\n },\n {\n text: '分组',\n imageList: [],\n },\n ],\n tabColor: '#f39800',\n showMore: false,\n moreUrl: null,\n bgImg: '',\n },\n})\n\ncomponentProperties.set('pictureads', {\n component: 'pictureads',\n text: '图片广告',\n type: '1-3',\n active: true,\n style: 'pictureadsstyle',\n setStyle: {\n text: '图片广告',\n swiperType: 0, // 选择模板\n borderRadius: 0, // 图片倒角\n pageMargin: 0, // 页面边距\n imageMargin: 0, // 图片边距\n pagingType: 0, // 分页类型: 0/\"bullets\"/\"fraction\"/\"progressbar\"\n rowindividual: 2, // 一行个数\n imageList: [], // 添加图片\n },\n})\n\ncomponentProperties.set('graphicnavigation', {\n component: 'graphicnavigation',\n text: '图文导航',\n type: '1-4',\n active: true,\n style: 'graphicnavigationstyle',\n setStyle: {\n text: '图文导航',\n imageList: [], // 图片导航列表\n navigationType: 0, //图片导航类型\n imgStyle: 0, //图片样式\n backgroundColor: 'rgb(255, 255, 255)', //背景颜色\n textColor: 'rgb(0, 0, 0)', //文字颜色\n borderRadius: 0, //图片倒角\n showSize: 5, //一屏显示个数\n textHeight: 24, // 字体高度\n textSize: 12, // 字体大小\n bgImg: '',\n },\n})\n\ncomponentProperties.set('richtext', {\n component: 'richtext',\n text: '富文本',\n type: '1-10',\n active: true,\n style: 'richtextstyle',\n setStyle: {\n text: '富文本',\n myValue: '', //富文本内容\n backColor: 'rgb(249, 249, 249)', //背景颜色\n },\n})\ncomponentProperties.set('magiccube', {\n component: 'magiccube',\n text: '魔方',\n type: '1-6',\n active: true,\n style: 'magiccubestyle',\n setStyle: {\n text: '魔方',\n rubiksCubeType: 0, // 魔方类型\n pageMargin: 0, //页面间距\n imgMargin: 0, //图片间隙\n imageList: [\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n ], //图片列表\n },\n})\ncomponentProperties.set('auxiliarysegmentation', {\n component: 'auxiliarysegmentation',\n text: '辅助分割',\n type: '1-11',\n active: true,\n style: 'auxiliarysegmentationstyle',\n setStyle: {\n text: '辅助分割',\n blankHeight: 30, //空白高度\n segmentationtype: 0, //分割类型\n paddType: 0, //边距\n auxliarColor: 'rgb(229, 229, 229)', //辅助线颜色\n bordertp: 'solid', //线的类型\n },\n})\ncomponentProperties.set('commoditysearch', {\n component: 'commoditysearch',\n text: '商品搜索',\n type: '1-1',\n active: true,\n style: 'commoditysearchstyle',\n setStyle: {\n text: '商品搜索',\n heights: 28, //搜索栏高度\n position: 0, //显示位置\n borderRadius: 0, //框体样式\n textPosition: 0, //文本位置\n backgroundColor: 'rgb(249, 249, 249)', //背景颜色\n borderColor: 'rgb(255, 255, 255)', //框体颜色\n textColor: 'rgb(150, 151, 153)', //字体颜色\n linktype: '10',\n http: { externalLink: '', routePath: '/product/search', queryParams: {} },\n },\n})\ncomponentProperties.set('storeinformation', {\n component: 'storeinformation',\n text: '店铺信息',\n type: '1-12',\n active: true,\n style: 'storeinformationstyle',\n setStyle: {\n text: '店铺信息',\n bakcgroundImg: '', //背景图片\n headPortrait: '', //店铺头像\n rubiksCubeType: 0, //类型\n name: '店铺名称', //店铺名称\n Discount: '在线支付满150减30,满100减20', //优惠信息\n },\n})\ncomponentProperties.set('entertheshop', {\n component: 'entertheshop',\n text: '单元格',\n type: '1-13',\n active: true,\n style: 'entertheshopstyle',\n setStyle: {\n text: '单元格',\n icon: '', // 左侧图标\n shopName: '左侧标题',\n copywriting: '右侧内容',\n type: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n})\ncomponentProperties.set('notice', {\n component: 'notice',\n text: '公告',\n type: '1-7',\n active: true,\n style: 'noticestyle',\n setStyle: {\n text: '公告',\n noticeText: '请填写内容,如果过长,将会在手机上滚动显示', //内容\n backColor: 'rgb(255, 248, 233)', //背景颜色\n textColor: 'rgba(100, 101, 102)', //文字颜色\n },\n})\ncomponentProperties.set('videoss', {\n component: 'videoss',\n text: '视频',\n type: '1-8',\n active: true,\n style: 'videostyle',\n setStyle: {\n text: '视频',\n sourceType: 'custom',\n customSrc: '',\n customCoverUrl: '',\n materialId: null,\n materialFileId: '',\n materialTitle: '',\n materialSrc: '',\n materialCoverUrl: '',\n src: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4', // 视频地址\n coverUrl: null, // 封面地址\n autoplay: false, // 是否自动播放\n },\n})\n\ncomponentProperties.set('custommodule', {\n component: 'custommodule',\n text: '自定义模块',\n type: 'demo',\n active: true,\n style: 'custommodulestyle',\n setStyle: {\n text: '自定义模块',\n demo: '自定义内容',\n img: 'https://img2.baidu.com/it/u=1905875968,4289754134&fm=26&fmt=auto&gp=0.jpg',\n },\n})\ncomponentProperties.set('communitypowder', {\n component: 'communitypowder',\n text: '社群涨粉',\n type: '1-14',\n active: true,\n style: 'communitypowderstyle',\n setStyle: {\n text: '社群涨粉',\n mainImg: '', //入口图片\n qrcodeImg: '', //二维码\n title: '标题', //标题\n describe: '辅助描述', //描述\n buttonName: '立即添加', //按钮名称\n backColor: 'rgb(255, 255, 255)', //背景颜色\n },\n})\ncomponentProperties.set('storenotecard', {\n component: 'storenotecard',\n text: '文章模块',\n type: '2-2',\n active: true,\n style: 'storenotecardstyle',\n setStyle: {\n text: '文章模块',\n name: '这里显示专题名称', //专题名称\n commodityType: 0, // 选择模板\n moditystyle: 0, // 卡片样式选择\n borderRadius: 0, // 图片边角\n textWeight: 400, // 标题粗细\n noteLabels: true, // 笔记标签\n readingNumber: true, // 阅读数\n praisePoints: true, //点赞数\n viewMore1: true, //更多1\n viewMore2: true, //更多2\n imageList: [],\n positions: 'bottom', //标题位置\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n})\ncomponentProperties.set('investigate', {\n component: 'investigate',\n text: '表单模块',\n type: '2-3',\n active: true,\n style: 'investigatestyle',\n setStyle: {\n text: '表单模块',\n title: '表单模块',\n jsonData: [], //value1为sass显示内容,value2为前端显示内容\n },\n})\ncomponentProperties.set('tabbar', {\n component: 'tabbar',\n text: '底部导航',\n type: '1-5',\n active: true,\n style: 'tabbarStyle',\n setStyle: {\n text: '底部导航',\n activeColor: '#1989fa',\n inactiveColor: '#7d7e80',\n isShowBorder: true,\n iconWidth: '25',\n iconHeight: '25',\n fontSize: '14',\n Highlight: 0,\n iconList: [\n {\n iconName: 'home',\n iconText: '首页',\n iconPic: tabbarHomeActive,\n inactive: tabbarHomeInactive,\n isDot: false,\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n iconName: 'profile',\n iconText: '个人中心',\n iconPic: tabbarProfileActive,\n inactive: tabbarProfileInactive,\n isDot: false,\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n ],\n },\n})\ncomponentProperties.set('follow', {\n component: 'follow',\n text: '关注公众号',\n type: '1-15',\n active: true,\n style: 'followStyle',\n setStyle: {\n text: '关注公众号',\n heade: 'https://imgs.starfirelink.com/miniShop//logo_1618466110849.png',\n followName: '公众号名称',\n followAppId: '',\n },\n})\ncomponentProperties.set('suspension', {\n component: 'suspension',\n text: '悬浮按钮',\n type: '1-16',\n active: true,\n style: 'suspensionstyle',\n setStyle: {\n text: '悬浮按钮',\n image: '',\n size: 48,\n horizontalPosition: 'right',\n verticalPosition: 'bottom',\n offsetX: 12,\n offsetY: 80,\n borderRadius: 50,\n fixedToViewport: false,\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n})\n\ncomponentProperties.set('coursemodule', {\n component: 'coursemodule',\n text: '课程',\n type: '2-4',\n active: true,\n style: 'coursemodulestyle',\n setStyle: {\n text: '课程',\n title: '精品课程',\n showTitle: true,\n showMore: true,\n moreText: '查看更多',\n moreColor: '#1989fa',\n layoutType: 0, // 0:网格 1:列表 2:卡片\n columnsPerRow: 2,\n itemSpacing: 10,\n backgroundColor: '#ffffff',\n containerPadding: 10,\n containerMargin: 0,\n listPadding: 5,\n // 标题样式\n titleFontSize: 16,\n titleColor: '#333333',\n titleFontWeight: 'bold',\n titleAlign: 'left',\n // 课程项样式\n itemBackgroundColor: '#ffffff',\n itemRadius: 8,\n itemPadding: 8,\n showBorder: true,\n borderColor: '#f0f0f0',\n showShadow: false,\n imageRadius: 6,\n // 课程标题\n courseTitleFontSize: 14,\n courseTitleColor: '#333333',\n courseTitleFontWeight: 'normal',\n // 描述文字\n showDescription: true,\n descriptionFontSize: 12,\n descriptionColor: '#666666',\n // 讲师信息\n showTeacher: true,\n teacherFontSize: 12,\n teacherColor: '#999999',\n // 价格信息\n showPrice: true,\n priceFontSize: 16,\n priceColor: '#ff6b35',\n showOriginalPrice: true,\n // 学习人数\n showStudentCount: true,\n studentCountFontSize: 11,\n studentCountColor: '#999999',\n // 按钮\n showButton: true,\n buttonText: '立即学习',\n buttonColor: '#1989fa',\n buttonFontSize: 12,\n // 标签\n showTag: true,\n tagColor: '#07c160',\n defaultTag: '热门',\n // 时长\n showDuration: true,\n courseList: [],\n },\n})\n\ncomponentProperties.set('livemodule', {\n component: 'livemodule',\n text: '直播',\n type: '2-5',\n active: true,\n style: 'livemodulestyle',\n setStyle: {\n text: '直播',\n title: '精彩直播',\n showTitle: true,\n showMore: true,\n moreText: '查看更多',\n moreColor: '#1989fa',\n layoutType: 0, // 0:网格 1:列表 2:卡片\n columnsPerRow: 1,\n itemSpacing: 12,\n backgroundColor: '#ffffff',\n containerPadding: 10,\n containerMargin: 0,\n listPadding: 5,\n // 标题样式\n titleFontSize: 16,\n titleColor: '#333333',\n titleFontWeight: 'bold',\n titleAlign: 'left',\n // 直播项样式\n itemBackgroundColor: '#ffffff',\n itemRadius: 8,\n itemPadding: 8,\n showBorder: true,\n borderColor: '#f0f0f0',\n showShadow: false,\n imageRadius: 6,\n // 直播标题\n liveTitleFontSize: 14,\n liveTitleColor: '#333333',\n liveTitleFontWeight: 'normal',\n // 描述文字\n showDescription: true,\n descriptionFontSize: 12,\n descriptionColor: '#666666',\n // 主播信息\n showAnchor: true,\n anchorFontSize: 12,\n anchorColor: '#666666',\n showAnchorTag: true,\n // 观看人数\n showViewerCount: true,\n // 直播时间\n showLiveTime: true,\n // 分类标签\n showCategory: true,\n categoryColor: '#1989fa',\n // 按钮\n showButton: true,\n liveButtonText: '进入直播',\n previewButtonText: '预约直播',\n liveButtonColor: '#ff6b35',\n previewButtonColor: '#1989fa',\n buttonFontSize: 12,\n // 热度值\n showHeatValue: true,\n heatValueFontSize: 11,\n heatValueColor: '#ff6b35',\n liveList: [],\n },\n})\n\nexport default componentProperties\n","// lib/index.js\nimport ComponentRenderer from '../src/components/ComponentRenderer/index.vue'\nimport componentProperties from '../src/utils/componentProperties.js'\n\n// 动态导入 componentscom 目录下的组件\nconst modules = import.meta.glob('../src/components/componentscom/*/index.vue', { eager: true })\nconst components = {}\n\n// 遍历导入的模块,自动注册\nObject.keys(modules).forEach(path => {\n const match = path.match(/componentscom\\/([^\\/]+)\\//)\n if (!match) return\n const name = match[1] // 文件夹名作为组件名,不修改\n const comp = modules[path].default\n if (comp) {\n components[name] = comp\n }\n})\n\n// Vue 插件安装函数\nconst install = (app) => {\n // 注册 ComponentRenderer\n if (ComponentRenderer) {\n app.component('ComponentRenderer', ComponentRenderer)\n }\n\n // 全局注册 componentscom 下的组件\n Object.keys(components).forEach(key => {\n const comp = components[key]\n if (comp && comp.name) {\n app.component(comp.name || key, comp)\n }\n })\n}\n\n// 默认导出插件 + ComponentRenderer\nexport default {\n install,\n ComponentRenderer,\n componentProperties,\n}\n\nexport { ComponentRenderer, componentProperties, components }\n"],"names":["_sfc_main","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_normalizeStyle","$props","_vShow","_renderSlot","_ctx","resolveLink","linkData","http","linktype","query","queryString","k","v","navigateByLink","router","getPrefix","resolved","prefix","more","_a","_toDisplayString","_normalizeClass","$options","args","params","path","routePrefix","rawPath","value","key","extraQuery","target","_b","_d","_c","_createVNode","_component_van_icon","_imports_0$4","_hoisted_2","_hoisted_3","_imports_0","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_4","_component_van_button","_createTextVNode","_imports_0$3","_hoisted_5","_hoisted_12","_hoisted_15","_hoisted_17","_Fragment","_renderList","index","_createBlock","_component_van_tag","_cache","_hoisted_9","_hoisted_10","_hoisted_11","course","_hoisted_14","_hoisted_16","_hoisted_18","_hoisted_19","_hoisted_20","_component_van_cell","item","$event","index1","el","item1","_component_van_cell_group","_component_van_field","_component_van_radio_group","_component_van_radio","_component_van_checkbox_group","_component_van_checkbox","type","description","currentPath","mainIndex","event","productId","i","_hoisted_13","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_26","_hoisted_30","$data","_withDirectives","_component_van_tabs","_component_van_tab","_hoisted_21","_component_van_tree_select","_hoisted_29","_hoisted_31","normalizedValue","live","routeParams","browserWindow","uniacid","pathSegments","status","liveStatus","enablePreviewPage","isLiving","isPreLive","liveId","targetPage","pathPrefix","videoStyle","searchParams","targetRoute","cleaned","_imports_0$2","_hoisted_28","_component_van_notice_bar","element","Swiper","_imports_0$1","_imports_1","_hoisted_32","_hoisted_35","_hoisted_38","_hoisted_39","_hoisted_25","_hoisted_34","_hoisted_37","defaultSuspensionImage","toFiniteNumber","fallback","numberValue","oppositeVerticalPosition","oppositeHorizontalPosition","tabbarHomeActiveSvg$1","tabbarHomeInactiveSvg$1","tabbarProfileActiveSvg$1","tabbarProfileInactiveSvg$1","tabbarHomeActiveSvg","tabbarHomeInactiveSvg","tabbarProfileActiveSvg","tabbarProfileInactiveSvg","activeValue","names","activeName","source","hit","filename","_component_van_tabbar","_component_van_tabbar_item","_withCtx","props","tabbarHeight","__props","emit","__emit","isReady","ref","tabbarBottomOffset","headerHeight","computed","componentEntries","component","entry","isFixedOverlayComponent","componentData","fixedTabbar","bodyComponentEntries","fixedOverlayComponentEntries","getComponentKey","getComponentStyle","styles","getComponentProps","componentProps","handleComponentClick","handleDeleteComponent","initRenderer","onMounted","componentEntry","_resolveDynamicComponent","_mergeProps","_createSlots","_withModifiers","svgToDataUri","svg","tabbarHomeActive","tabbarHomeInactive","tabbarProfileActive","tabbarProfileInactive","componentProperties","modules","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5","__vite_glob_0_6","__vite_glob_0_7","__vite_glob_0_8","__vite_glob_0_9","__vite_glob_0_10","__vite_glob_0_11","__vite_glob_0_12","__vite_glob_0_13","__vite_glob_0_14","__vite_glob_0_15","__vite_glob_0_16","__vite_glob_0_17","__vite_glob_0_18","__vite_glob_0_19","__vite_glob_0_20","__vite_glob_0_21","__vite_glob_0_22","__vite_glob_0_23","__vite_glob_0_24","components","match","name","comp","install","app","ComponentRenderer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"as-editor-components.es.js","sources":["../src/components/componentscom/auxiliarysegmentation/index.vue","../src/utils/linkNavigate.js","../src/components/componentscom/captiontext/index.vue","../src/components/componentscom/commoditysearch/index.vue","../src/assets/images/powder.png","../src/components/componentscom/communitypowder/index.vue","../src/assets/images/imgs.png","../src/components/componentscom/coursemodule/index.vue","../src/components/componentscom/crowdoperation/index.vue","../src/components/componentscom/custommodule/index.vue","../src/components/componentscom/entertheshop/index.vue","../src/components/componentscom/follow/index.vue","../src/components/componentscom/graphicnavigation/index.vue","../src/components/componentscom/investigate/index.vue","../src/components/componentscom/listswitching/index.vue","../src/components/componentscom/livemodule/index.vue","../src/assets/images/mor.png","../src/components/componentscom/magiccube/index.vue","../src/components/componentscom/notice/index.vue","../src/components/componentscom/onlineservice/index.vue","../src/components/componentscom/personalizedrecommendation/index.vue","../src/components/componentscom/pictureads/index.vue","../src/components/componentscom/placementarea/index.vue","../src/assets/images/fwb.png","../src/components/componentscom/richtext/index.vue","../src/assets/images/backimg.png","../src/assets/images/headerimg.png","../src/components/componentscom/storeinformation/index.vue","../src/components/componentscom/storenotecard/index.vue","../src/assets/images/suspension-button.svg","../src/components/componentscom/suspension/index.vue","../src/assets/images/tabbar-home-active.svg","../src/assets/images/tabbar-home-inactive.svg","../src/assets/images/tabbar-profile-active.svg","../src/assets/images/tabbar-profile-inactive.svg","../src/components/componentscom/tabBar/index.vue","../src/components/componentscom/videoss/index.vue","../src/components/ComponentRenderer/index.vue","../src/assets/images/tabbar-home-active.svg?raw","../src/assets/images/tabbar-home-inactive.svg?raw","../src/assets/images/tabbar-profile-active.svg?raw","../src/assets/images/tabbar-profile-inactive.svg?raw","../src/utils/componentProperties.js","../lib/index.js"],"sourcesContent":["<template>\n <div class=\"auxiliarysegmentation\">\n <section\n class=\"contan\"\n :style=\"{\n height: datas.blankHeight + 'px',\n padding: datas.paddType === 0 ? '0px' : '0px 15px',\n }\"\n >\n <div\n v-show=\"datas.segmentationtype === 1\"\n style=\"height: 1px; width: 100%; border-top-width: 1px\"\n :style=\"{\n 'border-top-style': datas.bordertp,\n 'border-top-color': datas.auxliarColor,\n }\"\n />\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'auxiliarysegmentation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.auxiliarysegmentation {\n position: relative;\n .contan {\n display: flex;\n align-items: center;\n }\n}\n</style>\n","/**\n * DIY 组件链接跳转工具\n * 根据门户编辑器保存的链接数据,解析并执行跳转\n *\n * 数据结构:\n * {\n * linktype: '10' | '11', // 10=内部页面, 11=外部链接\n * http: {\n * routePath?: string, // 内部页面路径,如 '/product/detail'\n * queryParams?: Record<string, string>, // 路由参数,如 { productId: '123' }\n * externalLink?: string, // 外部链接完整URL\n * }\n * }\n */\n\n/**\n * 解析链接数据,生成可跳转的路径\n * @param {object} linkData - 链接数据 { linktype, http }\n * @returns {{ type: 'internal' | 'external', path?: string, url?: string } | null}\n */\nexport function resolveLink(linkData) {\n if (!linkData) return null\n\n const http = linkData.http || {}\n const linktype = String(linkData.linktype ?? linkData.type ?? '10')\n\n // 兼容旧数据:linktype=10 但使用 externalLink 作为内部路径\n if (linktype === '10') {\n // 优先使用新字段 routePath\n if (http.routePath) {\n const query = http.queryParams || {}\n const hasQuery = Object.keys(query).some((k) => query[k])\n const queryString = hasQuery\n ? '?' +\n Object.entries(query)\n .filter(([, v]) => v)\n .map(([k, v]) => `${k}=${encodeURIComponent(v)}`)\n .join('&')\n : ''\n return { type: 'internal', path: http.routePath + queryString }\n }\n\n // 兼容旧数据:externalLink 作为内部路径\n if (http.externalLink) {\n return { type: 'internal', path: http.externalLink }\n }\n\n return null\n }\n\n if (linktype === '11') {\n if (http.externalLink) {\n return { type: 'external', url: http.externalLink }\n }\n return null\n }\n\n return null\n}\n\n/**\n * 执行链接跳转\n * @param {object} linkData - 链接数据\n * @param {object} [router] - vue-router 实例(可选,用于内部页面跳转)\n * @param {function} [getPrefix] - 获取路由前缀的函数,如 getPrefixRouteParmas\n */\nexport function navigateByLink(linkData, router, getPrefix) {\n const resolved = resolveLink(linkData)\n if (!resolved) return\n\n if (resolved.type === 'internal') {\n if (router) {\n router.push(resolved.path)\n } else {\n // 无 router 实例时,拼接完整 hash URL\n const prefix = getPrefix ? getPrefix(false) : ''\n window.location.hash = prefix + resolved.path\n }\n } else if (resolved.type === 'external') {\n window.location.href = resolved.url\n }\n}\n","<template>\n <div class=\"captiontext\" :style=\"{ background: datas.backColor }\">\n <div\n style=\"padding: 6px 0\"\n :style=\"{\n 'border-bottom': datas.borderBott\n ? '1px solid #F9F9F9'\n : '1px solid #fff',\n }\"\n >\n <!-- 标题 -->\n <h2\n :style=\"{\n 'font-size': datas.wordSize + 'px',\n 'font-weight': datas.wordWeight,\n color: datas.wordColor,\n 'text-align': datas.positions,\n height: datas.wordHeight + 'px',\n 'line-height': datas.wordHeight + 'px',\n 'padding-right': !(datas.positions !== 'center' && datas.more.show)\n ? '0'\n : '60px',\n }\"\n v-if=\"datas.name\"\n >\n {{ datas.name }}\n </h2>\n\n <!-- 描述文字 -->\n <p\n :style=\"{\n 'font-size': datas.descriptionSize + 'px',\n 'font-weight': datas.descriptionWeight,\n color: datas.descriptionColor,\n 'text-align': datas.positions,\n }\"\n style=\"margin-top: 8px\"\n v-if=\"datas.description\"\n >\n {{ datas.description }}\n </p>\n\n <!-- 更多 -->\n <p\n class=\"more\"\n v-show=\"datas.more.show\"\n :class=\"datas.positions !== 'center' ? 'lef' : ''\"\n :style=\"{\n color: datas.more.type === 0 ? '#38f' : '',\n top: (datas.wordHeight - 6) / 2 + 'px',\n }\"\n @click=\"handleMoreClick\"\n >\n {{ datas.more.type === 2 ? '' : datas.more.text }}\n <span> {{ datas.more.type === 0 ? '' : '>' }}</span>\n </p>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'captiontext',\n props: {\n datas: Object,\n },\n methods: {\n handleMoreClick() {\n const more = this.datas?.more\n if (!more?.http && !more?.httpType) return\n // 兼容 captiontext 的特殊结构:httpType(数字) + http(字符串或对象)\n const linkData = {\n linktype: String(more.httpType ?? 10),\n http: typeof more.http === 'object' ? more.http : { externalLink: more.http || '' },\n }\n navigateByLink(linkData, this.$router)\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.captiontext {\n border: 2px solid #fff;\n box-sizing: border-box;\n width: 100%;\n padding: 0 14px;\n min-height: 20px;\n position: relative;\n\n h2,\n p {\n word-wrap: break-word;\n min-height: 10px;\n }\n\n /* 更多 */\n .more {\n font-size: 10px;\n color: #969799;\n text-align: center;\n &.lef {\n position: absolute;\n right: 15px;\n top: 12px;\n }\n }\n}\n</style>\n","<template>\n <div\n class=\"commoditysearch\"\n :class=\"{ 'commoditysearch--sticky': Number(datas.position) === 1 }\"\n :style=\"{\n background: datas.backgroundColor,\n }\"\n @click=\"handleSearchClick\"\n >\n <!-- 搜索框 -->\n <section\n class=\"search-container\"\n :style=\"{\n height: datas.heights + 'px',\n background: datas.borderColor,\n 'border-radius': datas.borderRadius === 0 ? '0px' : '4px',\n }\"\n >\n <div\n class=\"search-content\"\n :class=\"{ 'search-content--center': Number(datas.textPosition) === 1 }\"\n >\n <van-icon name=\"search\" class=\"search-icon\" :style=\"{ color: datas.textColor }\" />\n <span class=\"placeholder-text\" :style=\"{ color: datas.textColor }\">搜索商品</span>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { resolveLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'commoditysearch',\n props: {\n datas: {\n type: Object,\n default: () => ({}),\n },\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n },\n methods: {\n getRoutePrefix() {\n const params = this.$route?.params || {}\n if (params.uniacid && params.type) {\n return `/${params.uniacid}/${params.type}`\n }\n\n return ''\n },\n withRoutePrefix(path) {\n if (!path || !path.startsWith('/')) return path\n\n const routePrefix = this.getRoutePrefix()\n if (!routePrefix || path.startsWith(`${routePrefix}/`)) return path\n\n return `${routePrefix}${path}`\n },\n parseInternalPath(rawPath) {\n const [path, queryString = ''] = String(rawPath || '').split('?')\n const query = {}\n\n if (queryString) {\n new URLSearchParams(queryString).forEach((value, key) => {\n query[key] = value\n })\n }\n\n return {\n path: this.withRoutePrefix(path || '/product/search'),\n query,\n }\n },\n navigateInternal(rawPath, extraQuery = {}) {\n const target = this.parseInternalPath(rawPath)\n const query = { ...target.query, ...extraQuery }\n\n if (this.$router) {\n this.$router.push({\n path: target.path,\n query,\n })\n return\n }\n\n const queryString = new URLSearchParams(query).toString()\n window.location.hash = queryString ? `${target.path}?${queryString}` : target.path\n },\n handleSearchClick() {\n if (!this.componentInteractive) return\n\n const hasCustomLink = this.datas?.http?.routePath || this.datas?.http?.externalLink\n if (hasCustomLink) {\n const resolved = resolveLink({\n linktype: this.datas.linktype || this.datas.type || '10',\n http: this.datas.http,\n })\n\n if (resolved?.type === 'external') {\n window.location.href = resolved.url\n return\n }\n\n if (resolved?.type === 'internal') {\n this.navigateInternal(resolved.path)\n return\n }\n }\n\n this.navigateInternal('/product/search')\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.commoditysearch {\n position: relative;\n padding: 8px 15px;\n box-sizing: border-box;\n transition: all 0.3s ease;\n\n /* 搜索框容器 */\n .search-container {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n padding: 0 12px;\n box-sizing: border-box;\n overflow: hidden;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);\n\n .search-content {\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n justify-content: flex-start;\n\n &.search-content--center {\n justify-content: center;\n }\n\n .search-icon {\n flex: 0 0 auto;\n font-size: 16px;\n margin-right: 8px;\n opacity: 0.8;\n }\n\n .placeholder-text {\n min-width: 0;\n font-size: 14px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n }\n}\n\n.commoditysearch.commoditysearch--sticky {\n position: sticky;\n top: 0;\n z-index: 1000;\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div class=\"communitypowder\">\n <!-- 社区粉丝 -->\n <section class=\"powder\" :style=\"{ background: datas.backColor }\">\n <!-- 内容 -->\n <div class=\"container\">\n <div class=\"lef\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/powder.png\"\n alt=\"\"\n v-if=\"!datas.mainImg\"\n />\n <img draggable=\"false\" :src=\"datas.mainImg\" alt=\"\" v-else />\n <div class=\"text\">\n <p class=\"first\">{{ datas.title }}</p>\n <p class=\"last\">{{ datas.describe }}</p>\n </div>\n </div>\n <van-button class=\"rig\" type=\"danger\" color=\"#f44\">{{\n datas.buttonName\n }}</van-button>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'communitypowder',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.communitypowder {\n position: relative;\n /* 社区涨粉 */\n .powder {\n width: 100%;\n height: 90px;\n display: flex;\n align-items: center;\n .container {\n height: 60px;\n width: 100%;\n box-sizing: border-box;\n padding: 0 15px;\n align-items: center;\n display: flex;\n justify-content: space-between;\n /* 左半部分 */\n .lef {\n display: flex;\n img {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n }\n .text {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin-left: 10px;\n width: 146px;\n padding: 8px 0;\n .first {\n width: 100%;\n color: #333;\n font-weight: 700;\n font-size: 14px;\n line-height: 20px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .last {\n width: 100%;\n color: #a9a9a9;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n }\n }\n }\n }\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div class=\"coursemodule\" :style=\"containerStyle\">\n <!-- 标题区域 -->\n <div class=\"course-header\" v-if=\"datas.showTitle\">\n <h3 class=\"course-title\" :style=\"titleStyle\">{{ datas.title }}</h3>\n <div\n class=\"more-btn\"\n v-if=\"datas.showMore\"\n :style=\"{ color: datas.moreColor }\"\n >\n {{ datas.moreText }}\n </div>\n </div>\n\n <!-- 课程列表 -->\n <div class=\"course-list\">\n <!-- 没有数据时显示默认内容 -->\n <div\n v-if=\"!datas.courseList || datas.courseList.length === 0\"\n class=\"default-courses\"\n :style=\"listStyle\"\n >\n <div\n v-for=\"index in 3\"\n :key=\"index\"\n class=\"course-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n ]\"\n :style=\"courseItemStyle\"\n >\n <!-- 课程封面 -->\n <div class=\"course-cover\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"课程封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n <!-- 课程时长 -->\n <div class=\"course-duration\" v-if=\"datas.showDuration\">\n {{ '12:34' }}\n </div>\n <!-- 课程标签 -->\n <van-tag\n v-if=\"datas.showTag\"\n :color=\"datas.tagColor\"\n class=\"course-tag\"\n size=\"mini\"\n >\n {{ datas.defaultTag }}\n </van-tag>\n </div>\n\n <!-- 课程信息 -->\n <div class=\"course-info\">\n <!-- 课程标题 -->\n <h4 :style=\"courseTitleStyle\">\n {{ `示例课程标题${index}` }}\n </h4>\n\n <!-- 课程描述 -->\n <p v-if=\"datas.showDescription\" :style=\"descriptionStyle\">\n {{ '这里是课程的简短描述,介绍课程的主要内容和特点' }}\n </p>\n\n <!-- 讲师信息 -->\n <div v-if=\"datas.showTeacher\" class=\"teacher-info\">\n <span :style=\"teacherStyle\">讲师:{{ '示例讲师' }}</span>\n </div>\n\n <!-- 课程底部信息 -->\n <div class=\"course-bottom\">\n <!-- 课程价格 -->\n <div v-if=\"datas.showPrice\" class=\"course-price\">\n <span class=\"price-symbol\">¥</span>\n <span class=\"price-value\" :style=\"priceStyle\">{{\n '99.00'\n }}</span>\n <span v-if=\"datas.showOriginalPrice\" class=\"original-price\"\n >¥199.00</span\n >\n </div>\n\n <!-- 学习人数 -->\n <div\n v-if=\"datas.showStudentCount\"\n class=\"student-count\"\n :style=\"studentCountStyle\"\n >\n {{ '1234人学习' }}\n </div>\n\n <!-- 操作按钮 -->\n <div v-if=\"datas.showButton\" class=\"course-action\">\n <van-button\n size=\"mini\"\n :color=\"datas.buttonColor\"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n >\n {{ datas.buttonText }}\n </van-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 有数据时显示实际内容 -->\n <div v-else class=\"actual-courses\">\n <div\n v-for=\"(course, index) in datas.courseList\"\n :key=\"index\"\n class=\"course-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n ]\"\n :style=\"courseItemStyle\"\n >\n <!-- 课程封面 -->\n <div class=\"course-cover\">\n <img\n draggable=\"false\"\n :src=\"course.coverUrl || '../../../assets/images/imgs.png'\"\n alt=\"课程封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n <!-- 课程时长 -->\n <div\n class=\"course-duration\"\n v-if=\"datas.showDuration && course.duration\"\n >\n {{ course.duration }}\n </div>\n <!-- 课程标签 -->\n <van-tag\n v-if=\"datas.showTag && course.tag\"\n :color=\"datas.tagColor\"\n class=\"course-tag\"\n size=\"mini\"\n >\n {{ course.tag }}\n </van-tag>\n </div>\n\n <!-- 课程信息 -->\n <div class=\"course-info\">\n <!-- 课程标题 -->\n <h4 :style=\"courseTitleStyle\">\n {{ course.title }}\n </h4>\n\n <!-- 课程描述 -->\n <p\n v-if=\"datas.showDescription && course.description\"\n :style=\"descriptionStyle\"\n >\n {{ course.description }}\n </p>\n\n <!-- 讲师信息 -->\n <div\n v-if=\"datas.showTeacher && course.teacher\"\n class=\"teacher-info\"\n >\n <span :style=\"teacherStyle\">讲师:{{ course.teacher }}</span>\n </div>\n\n <!-- 课程底部信息 -->\n <div class=\"course-bottom\">\n <!-- 课程价格 -->\n <div v-if=\"datas.showPrice\" class=\"course-price\">\n <span class=\"price-symbol\">¥</span>\n <span class=\"price-value\" :style=\"priceStyle\">{{\n course.price || '0.00'\n }}</span>\n <span\n v-if=\"datas.showOriginalPrice && course.originalPrice\"\n class=\"original-price\"\n >¥{{ course.originalPrice }}</span\n >\n </div>\n\n <!-- 学习人数 -->\n <div\n v-if=\"datas.showStudentCount && course.studentCount\"\n class=\"student-count\"\n :style=\"studentCountStyle\"\n >\n {{ course.studentCount }}人学习\n </div>\n\n <!-- 操作按钮 -->\n <div v-if=\"datas.showButton\" class=\"course-action\">\n <van-button\n size=\"mini\"\n :color=\"datas.buttonColor\"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n >\n {{ datas.buttonText }}\n </van-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'coursemodule',\n props: {\n datas: {\n type: Object,\n required: true,\n },\n },\n computed: {\n containerStyle() {\n return {\n backgroundColor: this.datas.backgroundColor,\n padding: `${this.datas.containerPadding}px`,\n margin: `${this.datas.containerMargin}px`,\n }\n },\n titleStyle() {\n return {\n fontSize: this.datas.titleFontSize + 'px',\n color: this.datas.titleColor,\n fontWeight: this.datas.titleFontWeight,\n textAlign: this.datas.titleAlign,\n }\n },\n listStyle() {\n return {\n display: this.datas.layoutType === 0 ? 'grid' : 'flex',\n gridTemplateColumns:\n this.datas.layoutType === 0\n ? `repeat(${this.datas.columnsPerRow}, 1fr)`\n : 'none',\n flexDirection: this.datas.layoutType === 1 ? 'column' : 'row',\n gap: this.datas.itemSpacing + 'px',\n padding: `${this.datas.listPadding}px`,\n }\n },\n courseItemStyle() {\n return {\n backgroundColor: this.datas.itemBackgroundColor,\n borderRadius: this.datas.itemRadius + 'px',\n padding: this.datas.itemPadding + 'px',\n border: this.datas.showBorder\n ? `1px solid ${this.datas.borderColor}`\n : 'none',\n boxShadow: this.datas.showShadow ? '0 2px 8px rgba(0,0,0,0.1)' : 'none',\n }\n },\n courseTitleStyle() {\n return {\n fontSize: this.datas.courseTitleFontSize + 'px',\n color: this.datas.courseTitleColor,\n fontWeight: this.datas.courseTitleFontWeight,\n margin: '8px 0 4px 0',\n lineHeight: '1.4',\n }\n },\n descriptionStyle() {\n return {\n fontSize: this.datas.descriptionFontSize + 'px',\n color: this.datas.descriptionColor,\n margin: '4px 0',\n lineHeight: '1.4',\n }\n },\n teacherStyle() {\n return {\n fontSize: this.datas.teacherFontSize + 'px',\n color: this.datas.teacherColor,\n margin: '4px 0',\n }\n },\n priceStyle() {\n return {\n fontSize: this.datas.priceFontSize + 'px',\n color: this.datas.priceColor,\n fontWeight: 'bold',\n }\n },\n studentCountStyle() {\n return {\n fontSize: this.datas.studentCountFontSize + 'px',\n color: this.datas.studentCountColor,\n }\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.coursemodule {\n position: relative;\n\n .course-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n\n .course-title {\n margin: 0;\n }\n\n .more-btn {\n font-size: 14px;\n cursor: pointer;\n }\n }\n\n .course-list {\n .course-item {\n display: flex;\n overflow: hidden;\n\n &.layout-grid {\n flex-direction: column;\n }\n\n &.layout-list {\n flex-direction: row;\n\n .course-cover {\n width: 120px;\n height: 80px;\n flex-shrink: 0;\n margin-right: 12px;\n }\n\n .course-info {\n flex: 1;\n }\n }\n\n &.layout-card {\n flex-direction: column;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n }\n\n .course-cover {\n position: relative;\n width: 100%;\n height: 120px;\n overflow: hidden;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .course-duration {\n position: absolute;\n bottom: 4px;\n right: 4px;\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 12px;\n }\n\n .course-tag {\n position: absolute;\n top: 4px;\n left: 4px;\n }\n }\n\n .course-info {\n padding: 8px 0;\n\n h4 {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n p {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .teacher-info {\n margin: 4px 0;\n }\n\n .course-bottom {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n\n .course-price {\n display: flex;\n align-items: baseline;\n\n .price-symbol {\n font-size: 12px;\n margin-right: 2px;\n }\n\n .original-price {\n font-size: 12px;\n color: #999;\n text-decoration: line-through;\n margin-left: 8px;\n }\n }\n\n .student-count {\n font-size: 12px;\n }\n\n .course-action {\n margin-left: auto;\n }\n }\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"crowdoperation\">\n {{ datas.text }}\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'crowdoperation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.crowdoperation {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"custommodule\">\n {{ datas.demo }}\n <img :src=\"datas.img\" alt=\"\">\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'custommodule',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.custommodule {\n position: relative;\n img{\n width: 100%;\n }\n}\n</style>\n","<template>\n <div class=\"entertheshop\">\n <!-- 内容 -->\n <van-cell\n class=\"pointer-events\"\n :icon=\"datas.icon\"\n :title=\"datas.shopName\"\n is-link\n :value=\"datas.copywriting\"\n :to=\"datas.type==10?datas.http.externalLink:''\"\n :url=\"datas.type==11?datas.http.externalLink:''\"\n />\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'entertheshop',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.entertheshop {\n position: relative;\n :deep(.van-cell__left-icon){\n display: flex;\n align-items: center;\n }\n}\n</style>\n","<template>\n <div id=\"follow\">\n <div class=\"follow-box\">\n <div class=\"follow-pic\">\n <img :src=\"datas.heade\" alt=\"\" />\n </div>\n <div class=\"follow-info\">\n <span>{{ datas.followName }}</span>\n </div>\n <div class=\"follow-right\">\n <van-button color=\"#07C160\">关注公众号</van-button>\n </div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'follow',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style lang=\"less\" scoped>\n#follow {\n position: relative;\n width: 100%;\n padding: 5px 10px;\n box-sizing: border-box;\n .follow-box {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border: 1px solid #999;\n border-radius: 5px;\n padding: 10px;\n box-sizing: border-box;\n .follow-pic {\n width: 50px;\n height: 50px;\n img {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n }\n }\n .follow-info {\n flex: 1;\n margin-left: 20px;\n font-size: 14px;\n color: #333;\n }\n }\n}\n</style>\n","<template>\n <div\n class=\"graphicnavigation\"\n :style=\"{ backgroundImage: 'url(' + datas.bgImg + ')' }\"\n >\n <!-- 默认导航 -->\n <section\n class=\"defaultNavigation\"\n v-if=\"!datas.imageList[0]\"\n :style=\"{\n background: datas.backgroundColor,\n display: datas.imgStyle === 0 ? 'flex' : '-webkit-box',\n 'overflow-x': datas.imgStyle === 0 ? '' : 'scroll',\n }\"\n >\n <!-- 导航 -->\n <div\n class=\"navigationList\"\n v-for=\"index in 5\"\n :key=\"index\"\n :style=\"{\n width:\n datas.imgStyle === 0 ? 'auto' : 375 / datas.showSize - 1 + 'px',\n }\"\n >\n <!-- 图片 -->\n <img\n src=\"../../../assets/images/imgs.png\"\n alt=\"默认图片\"\n v-show=\"datas.navigationType === 0\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + '%' }\"\n />\n <!-- 文字 -->\n <p :style=\"{ color: datas.textColor }\">导航</p>\n </div>\n </section>\n\n <!-- 导航列表 -->\n <section\n class=\"defaultNavigation\"\n v-else\n :style=\"{\n background: datas.backgroundColor,\n display: datas.imgStyle === 0 ? 'flex' : '-webkit-box',\n 'flex-wrap': datas.imgStyle === 0 ? 'wrap' : 'nowrap',\n 'justify-content':\n datas.imgStyle === 0 ? 'space-evenly' : 'space-around',\n 'overflow-x': datas.imgStyle === 0 ? '' : 'scroll',\n }\"\n >\n <!-- 导航 -->\n <div\n class=\"navigationList\"\n v-for=\"(item, index) in datas.imageList\"\n :key=\"index\"\n :style=\"{\n width: datas.imgStyle === 0 ? '20%' : 375 / datas.showSize - 1 + 'px',\n }\"\n @click=\"handleItemClick(item)\"\n >\n <!-- 图片 -->\n <img\n :src=\"item.src\"\n alt=\"默认图片\"\n v-show=\"datas.navigationType === 0\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + '%' }\"\n />\n <!-- 文字 -->\n <p\n :style=\"{\n color: datas.textColor,\n 'font-size': datas.textSize + 'px',\n height: datas.textHeight + 'px',\n 'line-height': datas.textHeight + 'px',\n }\"\n >\n {{ item.text }}\n </p>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'graphicnavigation',\n props: {\n datas: Object,\n },\n created() {\n console.log(this.datas, '--------graphicnavigation')\n },\n methods: {\n handleItemClick(item) {\n if (!item.linktype && !item.type) return\n navigateByLink(item, this.$router)\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.graphicnavigation {\n position: relative;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n /* 默认导航 */\n .defaultNavigation {\n // overflow-x: scroll;\n justify-content: space-evenly;\n &::-webkit-scrollbar {\n height: 1px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #155bd4;\n }\n :deep(.el-collapse-item__header),\n :deep(.el-collapse-item__wrap) {\n border-bottom: 0 !important;\n }\n /* 导航 */\n .navigationList {\n display: flex;\n flex-direction: column;\n align-items: center;\n img {\n margin-top: 5px;\n width: 45px;\n height: 45px;\n }\n p {\n font-size: 12px;\n margin-top: 5px;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n box-sizing: border-box;\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"investigate\" @click=\"guanbi\">\n <!-- 内容 -->\n <div class=\"title\">{{ datas.title }}</div>\n <div\n class=\"rescon\"\n v-for=\"(item1, index1) in datas.jsonData\"\n :key=\"index1\"\n @mouseleave=\"leave()\"\n >\n <!-- 输入框 -->\n <div v-if=\"item1.type == 0\">\n <van-cell-group>\n <van-field\n :label=\"item1.name\"\n :placeholder=\"item1.value\"\n :value=\"item1.value2\"\n readonly=\"readonly\"\n />\n </van-cell-group>\n </div>\n\n <!-- 下拉框 -->\n <div v-if=\"item1.type == 1\" class=\"xiala\">\n <div class=\"titlename\">{{ item1.name }}</div>\n <div class=\"select\">\n <input\n type=\"text\"\n readonly=\"readonly\"\n :placeholder=\"'点击选择' + item1.name\"\n class=\"readinput\"\n @click=\"showpic(index1)\"\n :value=\"item1.value2\"\n />\n <ul :class=\"{ ulshow: item1.showPicker, ultext: true }\">\n <li\n v-for=\"(item, index) in item1.value1\"\n :key=\"index\"\n @click=\"xuanze(index1, item)\"\n >\n {{ item }}\n </li>\n </ul>\n </div>\n </div>\n\n <!-- 单选框 -->\n <van-field name=\"radio\" :label=\"item1.name\" v-if=\"item1.type == 2\">\n <template #input>\n <van-radio-group :value=\"item1.value2\" direction=\"horizontal\">\n <van-radio\n :name=\"item\"\n v-for=\"(item, index) in item1.value1\"\n :key=\"index\"\n >{{ item }}</van-radio\n >\n </van-radio-group>\n </template>\n </van-field>\n\n <!-- 复选框 -->\n\n <van-field\n name=\"checkboxGroup\"\n :label=\"item1.name\"\n v-if=\"item1.type == 3\"\n >\n <template #input>\n <van-checkbox-group direction=\"horizontal\">\n <van-checkbox\n :name=\"item\"\n v-for=\"(item, index) in item1.value1\"\n :key=\"index\"\n :shape=\"item1.name\"\n >{{ item }}</van-checkbox\n >\n </van-checkbox-group>\n </template>\n </van-field>\n </div>\n <div class=\"button\">\n <button>提交</button>\n </div>\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'investigate',\n data() {\n return {\n jsonData: [],\n }\n },\n props: {\n datas: Object,\n },\n created() {},\n mounted() {},\n methods: {\n //点击显示下拉框\n showpic(index1) {\n event.stopPropagation()\n this.datas.jsonData.forEach((el) => {\n el.showPicker = false\n })\n this.datas.jsonData[index1].showPicker = !this.datas.jsonData[index1]\n .showPicker\n },\n\n // //下拉选择\n xuanze(index1) {\n this.datas.jsonData[index1].showPicker = false\n },\n\n //关闭下拉选项\n guanbi() {\n this.datas.jsonData.forEach((el) => {\n el.showPicker = false\n })\n },\n leave() {\n this.datas.jsonData.forEach((el) => {\n el.showPicker = false\n })\n },\n //\n },\n watch: {},\n}\n</script>\n\n<style scoped lang=\"less\">\n.investigate {\n position: relative;\n padding: 12px;\n box-sizing: border-box;\n}\n\n.rescon {\n margin-bottom: 12px;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n}\nform select {\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n.xiala {\n position: relative;\n display: -webkit-box;\n display: -webkit-flex;\n display: flex;\n box-sizing: border-box;\n width: 100%;\n padding: 14px 16px;\n color: #323233;\n font-size: 14px;\n line-height: 24px;\n background-color: #fff;\n border: 1px solid #ebeef5;\n border-radius: 12px;\n box-shadow: none !important;\n .titlename {\n width: 5.6em;\n margin-right: 12px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n}\nselect {\n border: none;\n outline: none;\n}\n.title {\n text-align: center;\n padding: 4px 0 16px;\n font-size: 18px;\n font-weight: bold;\n}\n:deep(.van-cell) {\n display: block;\n padding: 14px 16px;\n background: #fff;\n border: 1px solid #ebeef5;\n border-radius: 12px;\n box-shadow: none !important;\n}\n:deep(.van-cell-group) {\n overflow: hidden;\n border-radius: 12px;\n background: transparent;\n box-shadow: none !important;\n}\n:deep(.van-field) {\n padding: 14px 16px;\n background: #fff;\n box-shadow: none !important;\n}\n:deep(.van-field__body) {\n display: block;\n padding-top: 10px;\n}\n:deep(.van-radio-group),\n:deep(.van-checkbox-group) {\n display: flex;\n flex-wrap: wrap;\n gap: 12px 16px;\n padding-top: 2px;\n}\n:deep(.el-form-item__label) {\n text-align: center;\n width: 100% !important;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n:deep(.el-form-item__content) {\n margin-left: 100% !important;\n}\n/* 上传图片按钮 */\n.uploadImg {\n width: 200px;\n height: 40px;\n margin-top: 20px;\n}\n:deep(.van-radio),\n.van-checkbox {\n margin: 0 !important;\n padding: 0 !important;\n}\n:deep(.van-field__label) {\n width: 100%;\n padding-left: 0;\n border-bottom: 1px solid #dddddd;\n padding-bottom: 10px;\n line-height: 20px;\n font-size: 13px;\n}\n:deep(.van-field__value) {\n padding-left: 0;\n font-size: 13px;\n padding-top: 10px;\n}\n:deep(.van-cell::after),\n:deep(.van-field::after),\n:deep(.van-cell-group::after) {\n display: none !important;\n}\n.button {\n padding: 20px 8px 8px;\n button {\n width: 100%;\n background: rgb(48, 116, 243);\n color: #fff;\n padding: 10px 8px;\n border-radius: 20px;\n text-align: center;\n font-size: 14px;\n border: none;\n }\n}\n.select {\n position: relative;\n width: 100%;\n .readinput {\n display: block;\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n margin: 0;\n padding: 0;\n color: #323233;\n line-height: inherit;\n text-align: left;\n background-color: transparent;\n border: 0;\n resize: none;\n cursor: default;\n }\n}\n.ultext {\n display: none;\n height: 0;\n overflow: hidden;\n transition: all linear 1s;\n background: #fff;\n z-index: 100;\n border-radius: 6px;\n border: 1px solid #ebeef5;\n box-shadow: none !important;\n li {\n padding: 8px 16px;\n border-bottom: 1px solid #eeeeee;\n &:hover {\n background: #c3d4f5;\n }\n }\n}\n.ulshow {\n display: block;\n height: auto;\n max-height: 200px;\n overflow-y: auto;\n margin-top: 6px;\n position: absolute;\n}\n</style>\n","<template>\n <div\n class=\"listswitching\"\n :ref=\"listSwitchName\"\n :style=\"{ backgroundImage: 'url(' + datas.bgImg + ')' }\"\n >\n <!-- 没有视频展示默认 -->\n <!-- 类型一 -->\n <div\n class=\"more\"\n v-show=\"datas.showMore && datas.commoditylisttype == 0\"\n :style=\"{ 'margin-right': datas.pageMargin + 'px' }\"\n >\n 更多》\n </div>\n <section\n v-show=\"!datas.imageList[0] && datas.commoditylisttype === 0\"\n :class=\"[\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n datas.commodityType === 1 ? 'defaultcommodityListFlex' : '',\n ]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 0\"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 1\"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 2\"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 3\"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品名称,最多显示1行\n </h5>\n <!-- 视频描述 -->\n <p\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品描述,最多显示1行\n </p>\n <div class=\"mony\">\n <span v-show=\"datas.priceofcommodity\"><i>¥</i>99</span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <section\n v-show=\"datas.imageList[0] && datas.commoditylisttype === 0\"\n :class=\"[\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n datas.commodityType === 1 ? 'defaultcommodityListFlex' : '',\n ]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in datas.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n isCommodityClickable(item) ? 'defaultcommodityList--clickable' : '',\n ]\"\n :style=\"{\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n :src=\"item.coverUrl\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 0\"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 1\"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 2\"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"datas.commoditycorner && datas.commoditycornertype === 3\"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n {{ item.name }}\n </h5>\n <!-- 视频描述 -->\n <div\n class=\"commodity-description\"\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n v-html=\"formatCommodityDescription(item.introduce)\"\n />\n <div\n class=\"mony\"\n v-if=\"datas.priceofcommodity || datas.purchasebutton\"\n >\n <span v-show=\"datas.priceofcommodity\"\n ><i>¥</i>\n {{ item.price }}\n </span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- 类型二 -->\n <div class=\"tab-type2\">\n <div\n class=\"more\"\n v-show=\"datas.showMore && datas.commoditylisttype == 1\"\n :style=\"{\n 'margin-right': datas.pageMargin + 'px',\n 'margin-top': '0px',\n }\"\n >\n 更多》\n </div>\n <van-tabs\n v-model:active=\"active1\"\n v-if=\"datas.commoditylisttype === 1\"\n animated\n swipeable\n :color=\"datas.tabColor\"\n >\n <van-tab\n :name=\"index\"\n :title=\"item.text\"\n v-for=\"(item, index) in datas.commoditylisttypetab\"\n :key=\"index\"\n :style=\"{\n 'font-size': item.wordSize + 'px',\n 'font-weight': item.wordWeight,\n }\"\n >\n <section\n v-show=\"!item.imageList[0] && datas.commoditylisttype === 1\"\n :class=\"[datas.commodityType === 5 ? 'defaultcommodityList5' : '']\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n border:\n datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品名称,最多显示1行\n </h5>\n <!-- 视频描述 -->\n <p\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品描述,最多显示1行\n </p>\n <div class=\"mony\">\n <span v-show=\"datas.priceofcommodity\"><i>¥</i>99</span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section\n v-show=\"item.imageList[0] && datas.commoditylisttype === 1\"\n :class=\"[datas.commodityType === 5 ? 'defaultcommodityList5' : '']\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in item.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n isCommodityClickable(item) ? 'defaultcommodityList--clickable' : '',\n ]\"\n :style=\"{\n border:\n datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n :src=\"item.coverUrl\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n >\n {{ item.name }}\n </h5>\n <!-- 视频描述 -->\n <div\n class=\"commodity-description\"\n :style=\"{\n 'text-align': datas.positions === 'center' ? 'center' : '',\n }\"\n v-html=\"formatCommodityDescription(item.introduce)\"\n />\n <div\n class=\"mony\"\n v-if=\"datas.priceofcommodity || datas.purchasebutton\"\n >\n <span v-show=\"datas.priceofcommodity\"\n ><i>¥</i>\n {{ item.price }}\n </span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n </van-tab>\n </van-tabs>\n </div>\n\n <!-- 类型三 -->\n\n <div>\n <div\n class=\"more\"\n v-show=\"datas.showMore && datas.commoditylisttype == 2\"\n :style=\"{\n 'margin-right': datas.pageMargin + 'px',\n 'margin-top': '0px',\n }\"\n >\n 更多》\n </div>\n <van-tree-select\n v-model:main-active-index=\"active\"\n height=\"auto\"\n :items=\"datas.commoditylisttypetab\"\n v-show=\"datas.commoditylisttype === 2\"\n class=\"type3\"\n @click-nav=\"treeSelect\"\n >\n <template #content>\n <div v-for=\"(item, index) in datas.commoditylisttypetab\" :key=\"index\">\n <section\n v-if=\"active === index\"\n v-show=\"!item.imageList[0]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"defaultcommodityList defaultcommodityList3\"\n :style=\"{\n border:\n datas.moditystyle === 2\n ? '1px solid rgba(50,50,51,0.1)'\n : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品名称,最多显示1行\n </h5>\n <!-- 视频描述 -->\n <p\n :style=\"{\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n >\n 这里显示商品描述,最多显示1行\n </p>\n <div class=\"mony\">\n <span v-show=\"datas.priceofcommodity\"><i>¥</i>99</span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section\n v-if=\"active === index\"\n v-show=\"item.imageList[0]\"\n class=\"defaultcommodity\"\n :style=\"{\n 'padding-top': datas.commodityMargin + 'px',\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in item.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList defaultcommodityList3\"\n :class=\"[\n isCommodityClickable(item) ? 'defaultcommodityList--clickable' : '',\n ]\"\n :style=\"{\n border:\n datas.moditystyle === 2\n ? '1px solid rgba(50,50,51,0.1)'\n : '',\n 'box-shadow':\n datas.moditystyle === 1\n ? '0 2px 8px rgba(93,113,127,0.08)'\n : '',\n margin: datas.commodityMargin + 'px',\n 'border-radius': datas.borderRadius + 'px',\n }\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n <!-- 视频图片 -->\n <div class=\"bg-pic\">\n <img\n draggable=\"false\"\n :src=\"item.coverUrl\"\n alt=\"\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 标签 -->\n <van-tag\n mark\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 0\n \"\n >新品</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 1\n \"\n >热<br />卖</van-tag\n >\n <van-tag\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 2\n \"\n >NEW</van-tag\n >\n <van-tag\n plain\n :color=\"datas.commodityTagColor || tagColor\"\n :style=\"styleString\"\n class=\"marks\"\n v-show=\"\n datas.commoditycorner && datas.commoditycornertype === 3\n \"\n >HOT</van-tag\n >\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :style=\"{\n background: datas.moditystyle !== 3 ? '#fff' : 'none',\n 'border-top-right-radius': datas.borderRadius + 'px',\n 'border-bottom-right-radius': datas.borderRadius + 'px',\n }\"\n >\n <!-- 视频名称 -->\n <h5\n :style=\"{\n 'font-weight': datas.textWeight,\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n >\n {{ item.name }}\n </h5>\n <!-- 视频描述 -->\n <div\n class=\"commodity-description\"\n :style=\"{\n 'text-align':\n datas.positions === 'center' ? 'center' : '',\n }\"\n v-html=\"formatCommodityDescription(item.introduce)\"\n />\n <div\n class=\"mony\"\n v-if=\"datas.priceofcommodity || datas.purchasebutton\"\n >\n <span v-show=\"datas.priceofcommodity\"\n ><i>¥</i>\n {{ item.price }}\n </span>\n <div v-show=\"datas.purchasebutton\" class=\"purchase-btn-wrapper\">\n <em\n :class=\"[\n 'purchase-btn',\n `purchase-btn--style-${getPurchaseButtonType(datas.purchasebuttonType)}`,\n ]\"\n @click=\"handlePurchaseClick(item, $event)\"\n >\n {{ getPurchaseButtonText() }}\n </em>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </template>\n </van-tree-select>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'listswitching',\n props: {\n datas: Object,\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n },\n data() {\n return {\n active1: 0,\n active: 0,\n listSwitchName: null,\n tagColor: '#07c160',\n styleString: {},\n }\n },\n created() {\n console.log(this.datas, '--------------listswitching datas')\n },\n mounted() {\n this.$nextTick(() => {\n if (this.$refs[this.listSwitchName]) {\n this.$refs[this.listSwitchName][0].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n }\n\n this.listSwitchName =\n 'listswitching' + document.querySelectorAll('.listswitching').length\n this.tagPositionStyle()\n })\n },\n methods: {\n getPurchaseButtonType(type) {\n if ([4, 5, 6, 7].includes(type)) return type\n\n // 兼容旧数据里的购物车图标样式,统一映射为圆角实心按钮\n return 5\n },\n getPurchaseButtonText() {\n const text = typeof this.datas.purchase === 'string' ? this.datas.purchase.trim() : ''\n return text || '立即购买'\n },\n formatCommodityDescription(description) {\n if (description === undefined || description === null) return ''\n\n return String(description)\n },\n getCommodityProductId(item) {\n if (!item) return ''\n\n const productId = [\n item.productId,\n item.product_id,\n item.goodsId,\n item.goods_id,\n item.id,\n ].find((value) => value !== undefined && value !== null && value !== '')\n\n return productId ?? ''\n },\n isCommodityClickable(item) {\n return this.componentInteractive && Boolean(this.getCommodityProductId(item))\n },\n getProductDetailRoutePath() {\n const currentPath = this.$route?.path || ''\n const mainIndex = currentPath.indexOf('/main')\n\n if (mainIndex > -1) {\n return `${currentPath.slice(0, mainIndex)}/main/product/detail`\n }\n\n const params = this.$route?.params || {}\n if (\n params.uniacid &&\n params.type &&\n params.liveId &&\n String(params.liveId) !== '0'\n ) {\n return `/${params.uniacid}/${params.type}/${params.liveId}/main/product/detail`\n }\n\n return '/product/detail'\n },\n handlePurchaseClick(item, event) {\n if (!this.componentInteractive) return\n\n const productId = this.getCommodityProductId(item)\n if (!productId) return\n\n event?.stopPropagation()\n\n navigateByLink(\n {\n linktype: '10',\n http: {\n routePath: this.getProductDetailRoutePath(),\n queryParams: {\n id: productId,\n },\n },\n },\n this.$router\n )\n },\n // 这里有个bug 当出现多个商品组件且同为类型3时 点击某一个商品组件会无法匹配 .van-sidebar-item 个数\n treeSelect(index) {\n setTimeout(() => {\n this.$refs[this.listSwitchName]\n .querySelectorAll('.van-sidebar-item')\n .forEach((item, i) => {\n if (i !== index) {\n item.style.borderColor = 'transparent'\n }\n })\n this.$refs[this.listSwitchName].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n })\n },\n\n // 处理标记位置\n tagPositionStyle() {\n this.styleString = {\n position: 'absolute',\n }\n // if(!this.datas.tagPosition) {\n // this.styleString.top = '5px'\n // this.styleString.left = '0px'\n // this.datas.commoditycornertype === 0 ? this.styleString.borderRadius = '10px 0px 0px 10px !important' : ''\n // return\n // }\n /* '左上',\n '左下',\n '又上',\n '又下' */\n switch (this.datas.tagPosition) {\n case 0: // 左上\n this.styleString.top = '5px'\n this.styleString.left = '0px'\n break\n case 1: // 左下\n this.styleString.bottom = '5px'\n this.styleString.left = '0px'\n break\n case 2: // 右上\n this.styleString.top = '5px'\n this.styleString.right = '0px'\n this.datas.commoditycornertype === 0\n ? (this.styleString.borderRadius = '10px 0px 0px 10px !important')\n : ''\n break\n case 3: // 右下\n this.styleString.bottom = '5px'\n this.styleString.right = '0px'\n this.datas.commoditycornertype === 0\n ? (this.styleString.borderRadius = '10px 0px 0px 10px !important')\n : ''\n break\n }\n },\n },\n watch: {\n 'datas.tabColor': function () {\n this.$refs[this.listSwitchName].querySelector(\n '.van-tabs__line'\n ).style.backgroundColor = this.datas.tabColor\n this.$refs[this.listSwitchName].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n },\n 'datas.commoditylisttype': function () {\n if (this.datas.commoditylisttype === 2) {\n this.$refs[this.listSwitchName].querySelector(\n '.van-sidebar-item--select'\n ).style.borderColor = this.datas.tabColor\n }\n },\n 'datas.tagPosition': function () {\n this.tagPositionStyle()\n },\n 'datas.commoditycornertype': function () {\n this.tagPositionStyle()\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.listswitching {\n position: relative;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n padding: 10px 0;\n .more {\n margin-top: 10px;\n height: 25px;\n line-height: 25px;\n text-align: right;\n font-size: 12px;\n color: #999;\n cursor: pointer;\n }\n /* 默认商品 */\n .defaultcommodity {\n box-sizing: border-box;\n &.defaultcommodityList5 {\n overflow-x: scroll;\n display: flex;\n flex-wrap: nowrap;\n /* 滚动条 */\n &::-webkit-scrollbar {\n height: 1px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #155bd4;\n }\n :deep(.el-collapse-item__header),\n :deep(.el-collapse-item__wrap) {\n border-bottom: 0 !important;\n }\n }\n .bg-pic {\n width: 100%;\n aspect-ratio: 1 / 1;\n position: relative;\n overflow: hidden;\n }\n .defaultcommodityList {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n // border: 1px solid #fff;\n\n &.defaultcommodityList--clickable {\n cursor: pointer;\n }\n\n &.defaultcommodityList0 {\n width: 100%;\n // height: 340px;\n margin-left: 0 !important;\n margin-right: 0 !important;\n margin-top: 0 !important;\n &:nth-of-type(1) {\n margin-top: 0 !important;\n }\n }\n &.defaultcommodityList1 {\n // border: none !important;\n margin-top: 0 !important;\n &:nth-of-type(even) {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n &:nth-of-type(odd) {\n margin-left: 0 !important;\n }\n }\n &.defaultcommodityList2 {\n max-width: 33%;\n margin-top: 0 !important;\n margin-left: 0 !important;\n &:nth-of-type(3n) {\n margin-right: 0 !important;\n }\n .text {\n h5 {\n font-size: 12px !important;\n }\n p {\n font-size: 10px !important;\n }\n .mony {\n span {\n font-size: 12px !important;\n i {\n font-size: 12px !important;\n }\n }\n i {\n font-size: 14px !important;\n }\n em {\n font-size: 5px !important;\n padding: 1px 5px !important;\n }\n }\n }\n }\n &.defaultcommodityList3 {\n --commodity-image-size: 105px;\n width: 100%;\n flex-direction: row !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n margin-top: 0 !important;\n height: var(--commodity-image-size);\n display: flex;\n align-items: stretch;\n .bg-pic {\n width: var(--commodity-image-size);\n min-width: var(--commodity-image-size);\n height: var(--commodity-image-size);\n }\n .text {\n flex: 1;\n width: auto;\n min-width: 0;\n }\n }\n &.defaultcommodityList4 {\n &:nth-of-type(3n-2) {\n width: 100% !important;\n margin-left: 0px !important;\n margin-right: 0px !important;\n }\n &:nth-of-type(3n-1) {\n margin-left: 0px !important;\n }\n &:nth-of-type(3n) {\n margin-left: 0px !important;\n margin-right: 0px !important;\n }\n }\n &.defaultcommodityList5 {\n width: 100px;\n // height: 160px;\n margin-top: 0 !important;\n margin-right: 0px !important;\n &:first-of-type {\n margin-left: 0px !important;\n }\n .text {\n h5 {\n font-size: 12px !important;\n }\n p {\n font-size: 10px !important;\n }\n .mony {\n span {\n font-size: 12px !important;\n i {\n font-size: 12px !important;\n }\n }\n i {\n font-size: 14px !important;\n }\n em {\n font-size: 5px !important;\n padding: 1px 5px !important;\n }\n }\n }\n }\n /* 标签 */\n // .marks {\n // &:nth-of-type(1) {\n // position: absolute;\n // top: 5px;\n // right: 0;\n // }\n // &:nth-of-type(2) {\n // position: absolute;\n // top: 10px;\n // display: flex;\n // right: 5px;\n // }\n // &:nth-of-type(3) {\n // position: absolute;\n // top: 5px;\n // right: 5px;\n // }\n // &:nth-of-type(4) {\n // position: absolute;\n // top: 5px;\n // right: 5px;\n // }\n // }\n // :deep(.van-tag--mark){\n // border-radius: 10px 0px 0px 10px !important;\n // padding-right: 3px;\n // padding-left: 8px;\n // }\n img {\n width: 100%;\n height: 100%;\n display: block;\n overflow: hidden;\n object-fit: cover;\n }\n /* 文字 */\n .text {\n padding: 10px;\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n /* 商品名称 */\n h5 {\n font-size: 14px;\n line-height: 20px;\n margin: 0 0 5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n /* 商品描述 */\n p,\n .commodity-description {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n height: 16px;\n color: #999;\n font-size: 12px;\n line-height: 16px;\n }\n .commodity-description {\n :deep(*) {\n display: inline;\n margin: 0;\n padding: 0;\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n :deep(br) {\n display: none;\n }\n :deep(img) {\n display: inline-block !important;\n width: auto !important;\n max-width: 100% !important;\n height: 16px !important;\n vertical-align: middle;\n }\n }\n /* 视频价格 */\n .mony {\n height: 44px;\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n span {\n font-size: 16px;\n color: #65c4aa;\n i {\n font-size: 12px;\n }\n }\n i {\n font-size: 16px;\n line-height: 44px;\n color: #65c4aa;\n }\n em {\n font-style: normal;\n cursor: pointer;\n padding: 2px 7px;\n font-size: 12px;\n border: 1px solid rgb(101, 196, 170);\n &.purchase-btn--style-4 {\n border-radius: 10px;\n color: rgb(101, 196, 170);\n }\n &.purchase-btn--style-5 {\n background-color: rgb(101, 196, 170);\n border-radius: 10px;\n color: #fff;\n }\n &.purchase-btn--style-6 {\n color: rgb(101, 196, 170);\n }\n &.purchase-btn--style-7 {\n background-color: rgb(101, 196, 170);\n color: #fff;\n }\n }\n .purchase-btn-wrapper {\n margin-left: auto;\n }\n }\n }\n }\n }\n .defaultcommodityListFlex {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n }\n .tab-type2 {\n :deep(.van-tabs__wrap) {\n min-height: 44px;\n }\n :deep(.van-tabs__line) {\n height: 2px;\n }\n }\n .type3 {\n :deep(.van-tree-select__content) {\n flex: 3.9 !important;\n .defaultcommodityList3 {\n --commodity-image-size: 84px;\n height: 84px !important;\n .bg-pic {\n width: 84px !important;\n min-width: 84px !important;\n height: 84px !important;\n }\n }\n .text {\n width: 150px;\n h5 {\n font-size: 12px !important;\n }\n p {\n font-size: 10px !important;\n }\n .mony {\n span {\n font-size: 12px !important;\n i {\n font-size: 12px !important;\n }\n }\n i {\n font-size: 14px !important;\n }\n em {\n font-size: 5px !important;\n padding: 1px 5px !important;\n }\n }\n }\n }\n :deep(.van-sidebar-item) {\n font-size: 16px;\n }\n }\n}\n</style>\n","<template>\n <div class=\"livemodule\" :style=\"containerStyle\">\n <!-- 标题区域 -->\n <div class=\"live-header\" v-if=\"datas.showTitle\">\n <h3 :style=\"titleStyle\">{{ datas.title }}</h3>\n </div>\n\n <!-- 直播列表 -->\n <div class=\"live-list\">\n <!-- 没有数据时显示默认内容 -->\n <div\n v-if=\"!datas.liveList || datas.liveList.length === 0\"\n class=\"default-lives\"\n :style=\"listStyle\"\n >\n <div\n v-for=\"index in 2\"\n :key=\"index\"\n class=\"live-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n ]\"\n :style=\"liveItemStyle\"\n >\n <!-- 直播封面 -->\n <div class=\"live-cover\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/imgs.png\"\n alt=\"直播封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n\n <!-- 直播状态标识 -->\n <div\n class=\"live-status\"\n :class=\"`status-${index === 1 ? 'live' : 'preview'}`\"\n >\n <van-icon name=\"play-circle-o\" size=\"12\" />\n <span>{{ index === 1 ? '直播中' : '预告' }}</span>\n </div>\n\n <!-- 观看人数 -->\n <div class=\"viewer-count\" v-if=\"datas.showViewerCount\">\n <van-icon name=\"eye-o\" size=\"10\" />\n <span>{{ index === 1 ? '1.2万' : '预约中' }}</span>\n </div>\n\n <!-- 直播时间 -->\n <div class=\"live-time\" v-if=\"datas.showLiveTime\">\n {{ index === 1 ? '进行中' : '今日 20:00' }}\n </div>\n </div>\n\n <!-- 直播信息 -->\n <div class=\"live-info\">\n <!-- 直播标题 -->\n <h4 :style=\"liveTitleStyle\">\n {{ `直播标题示例${index}:精彩内容等你来看` }}\n </h4>\n\n <!-- 直播描述 -->\n <div\n v-if=\"datas.showDescription\"\n class=\"live-description\"\n :style=\"descriptionStyle\"\n >\n {{ '这里是直播的简短描述,介绍直播的主要内容和亮点' }}\n </div>\n\n <!-- 主播信息 -->\n <div v-if=\"datas.showAnchor\" class=\"anchor-info\">\n <div class=\"anchor-avatar\">\n <img src=\"../../../assets/images/imgs.png\" alt=\"主播头像\" />\n </div>\n <span :style=\"anchorStyle\">示例主播</span>\n <van-tag v-if=\"datas.showAnchorTag\" size=\"mini\" color=\"#ff6b35\"\n >认证</van-tag\n >\n </div>\n\n <!-- 直播底部信息 -->\n <div class=\"live-bottom\">\n <!-- 直播分类 -->\n <div v-if=\"datas.showCategory\" class=\"live-category\">\n <van-tag size=\"mini\" :color=\"datas.categoryColor\">\n {{ index === 1 ? '教育' : '娱乐' }}\n </van-tag>\n </div>\n\n <!-- 预约/进入按钮 -->\n <div v-if=\"datas.showButton\" class=\"live-action\">\n <van-button\n size=\"mini\"\n :color=\"\n index === 1\n ? datas.liveButtonColor\n : datas.previewButtonColor\n \"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n >\n {{\n index === 1 ? datas.liveButtonText : datas.previewButtonText\n }}\n </van-button>\n </div>\n\n <!-- 直播热度 -->\n <div\n v-if=\"datas.showHeatValue\"\n class=\"heat-value\"\n :style=\"heatValueStyle\"\n >\n <van-icon name=\"fire-o\" size=\"12\" />\n <span>{{ index === 1 ? '热度 999+' : '预约 200+' }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 有数据时显示实际内容 -->\n <div v-else class=\"actual-lives\" :style=\"listStyle\">\n <div\n v-for=\"(live, index) in datas.liveList\"\n :key=\"index\"\n class=\"live-item\"\n :class=\"[\n datas.layoutType === 0 ? 'layout-grid' : '',\n datas.layoutType === 1 ? 'layout-list' : '',\n datas.layoutType === 2 ? 'layout-card' : '',\n componentInteractive && getLiveId(live) ? 'live-item--clickable' : '',\n ]\"\n :style=\"liveItemStyle\"\n @click=\"handleLiveClick(live, $event)\"\n >\n <!-- 直播封面 -->\n <div class=\"live-cover\">\n <img\n draggable=\"false\"\n :src=\"live.coverUrl || '../../../assets/images/imgs.png'\"\n alt=\"直播封面\"\n :style=\"{ 'border-radius': datas.imageRadius + 'px' }\"\n />\n\n <!-- 直播状态标识 -->\n <div\n class=\"live-status\"\n :class=\"`status-${live.status || 'preview'}`\"\n >\n <van-icon name=\"play-circle-o\" size=\"12\" />\n <span>{{ live.statusText || '预告' }}</span>\n </div>\n\n <!-- 观看人数 -->\n <div\n class=\"viewer-count\"\n v-if=\"datas.showViewerCount && live.viewerCount\"\n >\n <van-icon name=\"eye-o\" size=\"10\" />\n <span>{{ live.viewerCount }}</span>\n </div>\n\n <!-- 直播时间 -->\n <div class=\"live-time\" v-if=\"datas.showLiveTime && live.liveTime\">\n {{ live.liveTime }}\n </div>\n </div>\n\n <!-- 直播信息 -->\n <div class=\"live-info\">\n <!-- 直播标题 -->\n <h4 :style=\"liveTitleStyle\">\n {{ live.title }}\n </h4>\n\n <!-- 直播描述 -->\n <div\n v-if=\"datas.showDescription && hasLiveDescription(live.description)\"\n class=\"live-description\"\n :style=\"descriptionStyle\"\n v-html=\"formatLiveDescription(live.description)\"\n ></div>\n\n <!-- 主播信息 -->\n <div v-if=\"datas.showAnchor && live.anchor\" class=\"anchor-info\">\n <div class=\"anchor-avatar\">\n <img\n :src=\"live.anchor.avatar || '../../../assets/images/imgs.png'\"\n alt=\"主播头像\"\n />\n </div>\n <span :style=\"anchorStyle\">{{ live.anchor.name }}</span>\n <van-tag\n v-if=\"datas.showAnchorTag && live.anchor.verified\"\n size=\"mini\"\n color=\"#ff6b35\"\n >认证</van-tag\n >\n </div>\n\n <!-- 直播底部信息 -->\n <div class=\"live-bottom\">\n <!-- 直播分类 -->\n <div\n v-if=\"datas.showCategory && live.category\"\n class=\"live-category\"\n >\n <van-tag size=\"mini\" :color=\"datas.categoryColor\">\n {{ live.category }}\n </van-tag>\n </div>\n\n <!-- 预约/进入按钮 -->\n <div\n v-if=\"datas.showButton\"\n class=\"live-action\"\n :class=\"{ 'live-action--clickable': componentInteractive && getLiveId(live) }\"\n >\n <van-button\n size=\"mini\"\n :color=\"\n live.status === 'live'\n ? datas.liveButtonColor\n : datas.previewButtonColor\n \"\n :style=\"{ 'font-size': datas.buttonFontSize + 'px' }\"\n @click=\"handleLiveClick(live, $event)\"\n >\n {{\n live.status === 'live'\n ? datas.liveButtonText\n : datas.previewButtonText\n }}\n </van-button>\n </div>\n\n <!-- 直播热度 -->\n <div\n v-if=\"datas.showHeatValue && live.heatValue\"\n class=\"heat-value\"\n :style=\"heatValueStyle\"\n >\n <van-icon name=\"fire-o\" size=\"12\" />\n <span>{{ live.heatValue }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'livemodule',\n props: {\n datas: {\n type: Object,\n required: true,\n },\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n containerStyle() {\n return {\n backgroundColor: this.datas.backgroundColor,\n padding: `${this.datas.containerPadding}px`,\n margin: `${this.datas.containerMargin}px`,\n }\n },\n titleStyle() {\n return {\n fontSize: this.datas.titleFontSize + 'px',\n color: this.datas.titleColor,\n fontWeight: this.datas.titleFontWeight,\n textAlign: this.datas.titleAlign,\n marginBottom: '10px',\n }\n },\n listStyle() {\n return {\n display: this.datas.layoutType === 0 ? 'grid' : 'flex',\n gridTemplateColumns:\n this.datas.layoutType === 0\n ? `repeat(${this.datas.columnsPerRow}, 1fr)`\n : 'none',\n flexDirection: this.datas.layoutType === 1 ? 'column' : 'row',\n gap: this.datas.itemSpacing + 'px',\n padding: `${this.datas.listPadding}px`,\n }\n },\n liveItemStyle() {\n return {\n backgroundColor: this.datas.itemBackgroundColor,\n borderRadius: this.datas.itemRadius + 'px',\n padding: this.datas.itemPadding + 'px',\n border: this.datas.showBorder\n ? `1px solid ${this.datas.borderColor}`\n : 'none',\n boxShadow: this.datas.showShadow ? '0 2px 8px rgba(0,0,0,0.1)' : 'none',\n }\n },\n liveTitleStyle() {\n return {\n fontSize: this.datas.liveTitleFontSize + 'px',\n color: this.datas.liveTitleColor,\n fontWeight: this.datas.liveTitleFontWeight,\n margin: '8px 0 4px 0',\n lineHeight: '1.4',\n }\n },\n descriptionStyle() {\n return {\n fontSize: this.datas.descriptionFontSize + 'px',\n color: this.datas.descriptionColor,\n margin: '4px 0',\n lineHeight: '1.4',\n }\n },\n anchorStyle() {\n return {\n fontSize: this.datas.anchorFontSize + 'px',\n color: this.datas.anchorColor,\n margin: '0 8px',\n }\n },\n heatValueStyle() {\n return {\n fontSize: this.datas.heatValueFontSize + 'px',\n color: this.datas.heatValueColor,\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n }\n },\n },\n methods: {\n normalizeRouteParamValue(value) {\n const normalizedValue = String(value ?? '').trim()\n return /^\\d+$/.test(normalizedValue) ? normalizedValue : ''\n },\n getLiveId(live) {\n return this.normalizeRouteParamValue(\n live?.liveId ?? live?.live_id ?? live?.id\n )\n },\n getRouteScope() {\n const routeParams = this.$route?.params || {}\n const browserWindow = typeof window !== 'undefined' ? window : null\n let uniacid = this.normalizeRouteParamValue(routeParams.uniacid)\n let type = this.normalizeRouteParamValue(routeParams.type)\n\n if (!uniacid || !type) {\n const hashPath = String(browserWindow?.location?.hash || '').split(\n '?'\n )[0]\n const pathSegments = hashPath.split('/').filter(Boolean)\n uniacid = uniacid || this.normalizeRouteParamValue(pathSegments[0])\n type = type || this.normalizeRouteParamValue(pathSegments[1])\n }\n\n if (!uniacid || !type) {\n uniacid =\n uniacid ||\n this.normalizeRouteParamValue(\n browserWindow?.localStorage?.getItem('uniacid')\n )\n type =\n type ||\n this.normalizeRouteParamValue(\n browserWindow?.localStorage?.getItem('type')\n )\n }\n\n return { uniacid, type }\n },\n getLiveStatus(live) {\n const status = Number(live?.liveStatus ?? live?.live_status)\n if (Number.isFinite(status) && status > 0) return status\n if (live?.status === 'live') return 2\n if (live?.status === 'replay') return 3\n return 1\n },\n hasPreviewPageSetting(live) {\n return (\n live?.enablePreviewPage !== undefined ||\n live?.enable_preview_page !== undefined\n )\n },\n shouldOpenPreviewPage(live) {\n const liveStatus = this.getLiveStatus(live)\n const enablePreviewPage = Number(\n live?.enablePreviewPage ?? live?.enable_preview_page ?? 0\n )\n const isLiving = liveStatus === 2 || live?.status === 'live'\n const isPreLive = liveStatus === 1 || live?.status === 'preview'\n\n if (isLiving) return false\n return this.hasPreviewPageSetting(live)\n ? enablePreviewPage === 1\n : isPreLive\n },\n buildLiveRoute(live) {\n const liveId = this.getLiveId(live)\n if (!liveId) return null\n\n const { uniacid, type } = this.getRouteScope()\n const targetPage = this.shouldOpenPreviewPage(live) ? 'prophesy' : 'main'\n const pathPrefix =\n uniacid && type ? `/${uniacid}/${type}/${liveId}` : `/${liveId}`\n const query = { ...(this.$route?.query || {}) }\n delete query.fromProphesy\n\n if (targetPage === 'prophesy') {\n const videoStyle = Number(live?.videoStyle ?? live?.video_style ?? 1)\n query.layout = videoStyle === 1 ? 'horizontal' : 'vertical'\n } else {\n delete query.layout\n delete query.orientation\n }\n\n return {\n path: `${pathPrefix}/${targetPage}`,\n query,\n }\n },\n stringifyRoute({ path, query }) {\n const searchParams = new URLSearchParams()\n Object.entries(query || {}).forEach(([key, value]) => {\n if (value === undefined || value === null || value === '') return\n if (Array.isArray(value)) {\n value.forEach((item) => searchParams.append(key, item))\n return\n }\n searchParams.set(key, value)\n })\n\n const queryString = searchParams.toString()\n return queryString ? `${path}?${queryString}` : path\n },\n handleLiveClick(live, event) {\n if (!this.componentInteractive) return\n event?.stopPropagation()\n\n const targetRoute = this.buildLiveRoute(live)\n if (!targetRoute) return\n\n if (this.$router) {\n this.$router.push(targetRoute)\n return\n }\n\n const browserWindow = typeof window !== 'undefined' ? window : null\n if (browserWindow) {\n browserWindow.location.hash = this.stringifyRoute(targetRoute)\n }\n },\n normalizeDescriptionHtml(description) {\n if (typeof description !== 'string') return ''\n\n const cleaned = description\n .replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, '')\n .replace(/<p>(?:\\s| |<br\\s*\\/?>)*<\\/p>/gi, '')\n .replace(/<br\\s*\\/?>/gi, '<br />')\n .trim()\n\n const plainText = cleaned\n .replace(/ /gi, ' ')\n .replace(/<br\\s*\\/?>/gi, ' ')\n .replace(/<[^>]+>/g, '')\n .trim()\n\n return plainText ? cleaned : ''\n },\n hasLiveDescription(description) {\n return Boolean(this.normalizeDescriptionHtml(description))\n },\n formatLiveDescription(description) {\n return this.normalizeDescriptionHtml(description)\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.livemodule {\n position: relative;\n\n .live-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n\n h3 {\n margin: 0;\n }\n\n .more-btn {\n font-size: 14px;\n cursor: pointer;\n }\n }\n\n .live-list {\n .live-item {\n display: flex;\n overflow: hidden;\n\n &--clickable {\n cursor: pointer;\n }\n\n &.layout-grid {\n flex-direction: column;\n }\n\n &.layout-list {\n flex-direction: row;\n\n .live-cover {\n width: 140px;\n height: 90px;\n flex-shrink: 0;\n margin-right: 12px;\n }\n\n .live-info {\n flex: 1;\n }\n }\n\n &.layout-card {\n flex-direction: column;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n }\n\n .live-cover {\n position: relative;\n width: 100%;\n height: 140px;\n overflow: hidden;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .live-status {\n position: absolute;\n top: 8px;\n left: 8px;\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: bold;\n\n &.status-live {\n background: linear-gradient(45deg, #ff6b35, #f7931e);\n color: white;\n animation: pulse 2s infinite;\n }\n\n &.status-preview {\n background: rgba(0, 0, 0, 0.7);\n color: white;\n }\n\n &.status-replay {\n background: rgba(0, 0, 0, 0.5);\n color: white;\n }\n }\n\n .viewer-count {\n position: absolute;\n top: 8px;\n right: 8px;\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 10px;\n display: flex;\n align-items: center;\n gap: 2px;\n }\n\n .live-time {\n position: absolute;\n bottom: 8px;\n right: 8px;\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 10px;\n }\n }\n\n .live-info {\n padding: 8px 0;\n\n h4 {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n p,\n .live-description {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n\n :deep(p) {\n margin: 0;\n }\n\n :deep(p + p) {\n margin-top: 4px;\n }\n }\n\n .anchor-info {\n display: flex;\n align-items: center;\n margin: 8px 0;\n\n .anchor-avatar {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n overflow: hidden;\n margin-right: 8px;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n }\n\n .live-bottom {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n flex-wrap: wrap;\n gap: 8px;\n\n .live-category {\n flex-shrink: 0;\n }\n\n .live-action {\n margin-left: auto;\n\n &--clickable {\n cursor: pointer;\n }\n }\n\n .heat-value {\n font-size: 12px;\n color: #ff6b35;\n }\n }\n }\n }\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.05);\n }\n 100% {\n transform: scale(1);\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div\n class=\"magiccube\"\n :style=\"{\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <img\n draggable=\"false\"\n v-show=\"!showimageList\"\n src=\"../../../assets/images/mor.png\"\n alt=\"\"\n style=\"width: 100%\"\n />\n\n <!-- 一行二个 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 0 && showimageList\"\n >\n <div\n v-for=\"index in 2\"\n :key=\"index\"\n class=\"rubiksCubeType0 rubiksCubeType\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index - 1].src\"\n alt=\"\"\n :style=\"{ padding: datas.imgMargin / 2 + 'px' }\"\n />\n </div>\n </section>\n\n <!-- 一行三个 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 1 && showimageList\"\n >\n <div\n v-for=\"index in 3\"\n :key=\"index\"\n class=\"rubiksCubeType1 rubiksCubeType\"\n :style=\"{\n margin: datas.imgMargin / 10 + '%',\n width: 33.33 + '%',\n }\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <!-- width: 33 - datas.imgMargin / 10 + '%', -->\n <img draggable=\"false\" :src=\"datas.imageList[index - 1].src\" alt=\"\" />\n </div>\n </section>\n\n <!-- 一行四个 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 2 && showimageList\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"rubiksCubeType2 rubiksCubeType\"\n :style=\"{\n margin: datas.imgMargin / 10 + '%',\n width: 25 - datas.imgMargin / 10 + '%',\n }\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <img draggable=\"false\" :src=\"datas.imageList[index - 1].src\" alt=\"\" />\n </div>\n </section>\n\n <!-- 二左二右 -->\n <section\n class=\"buju buju0\"\n v-show=\"datas.rubiksCubeType === 3 && showimageList\"\n >\n <div\n v-for=\"index in 4\"\n :key=\"index\"\n class=\"rubiksCubeType3 rubiksCubeType\"\n @click=\"handleClick(datas.imageList[index - 1])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index - 1].src\"\n alt=\"\"\n :style=\"{ padding: datas.imgMargin + 'px' }\"\n />\n </div>\n </section>\n\n <!-- 一左二右 -->\n <section\n class=\"buju buju4\"\n v-show=\"datas.rubiksCubeType === 4 && showimageList\"\n >\n <div class=\"rubiksCubeType hw\" style=\"padding-top: 100%\" @click=\"handleClick(datas.imageList[0])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[0].src\"\n alt=\"\"\n style=\"height:300px\"\n :style=\"{ 'padding-right': datas.imgMargin + 'px' }\"\n />\n </div>\n <div style=\"display: inline-flex; flex-direction: column; width: 100%\">\n <div\n class=\" hw imgone\"\n v-for=\"index in 2\"\n :key=\"index\"\n style=\"padding-top: 150px;height:150px\"\n @click=\"handleClick(datas.imageList[index])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index].src\"\n alt=\"\"\n style=\"height:150px\"\n :style=\"{ padding: datas.imgMargin + 'px'}\"\n />\n </div>\n </div>\n </section>\n\n <!-- 一上二下 -->\n <section\n class=\"buju buju5\"\n v-show=\"datas.rubiksCubeType === 5 && showimageList\"\n >\n <div class=\"rubiksCubeType hw\" style=\"display: block; padding-top: 50%\" @click=\"handleClick(datas.imageList[0])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[0].src\"\n alt=\"\"\n :style=\"{ 'padding-bottom': datas.imgMargin + 'px' }\"\n />\n </div>\n <div style=\"display: flex; width: 100%\">\n <div\n class=\"rubiksCubeType hw imgtow\"\n v-for=\"index in 2\"\n :key=\"index\"\n style=\"padding-top: 50%\"\n @click=\"handleClick(datas.imageList[index])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index].src\"\n alt=\"\"\n :style=\"{ padding: datas.imgMargin + 'px' }\"\n />\n </div>\n </div>\n </section>\n\n <!-- 一左三右 -->\n <section\n class=\"buju buju4\"\n v-show=\"datas.rubiksCubeType === 6 && showimageList\"\n >\n <!-- 第一张图片 -->\n <div class=\"rubiksCubeType hw\" style=\"padding-top: 100%\" @click=\"handleClick(datas.imageList[0])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[0].src\"\n alt=\"\"\n style=\"height:300px\"\n :style=\"{ 'padding-right': datas.imgMargin + 'px' }\"\n />\n </div>\n <div style=\"display: inline-flex; flex-direction: column; width: 100%\">\n <!-- 第二张图片 -->\n <div class=\"rubiksCubeType hw\" style=\"padding-top: 150px\" @click=\"handleClick(datas.imageList[1])\">\n <img\n draggable=\"false\"\n :src=\"datas.imageList[1].src\"\n alt=\"\"\n :style=\"{\n 'padding-bottom': datas.imgMargin + 'px',\n 'padding-left': datas.imgMargin + 'px',\n }\"\n />\n </div>\n <div class=\"rubiksCubeType\">\n <div\n class=\"hw\"\n style=\"\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-top: 150px;\n \"\n v-for=\"index in 2\"\n :key=\"index\"\n @click=\"handleClick(datas.imageList[index + 1])\"\n >\n <img\n draggable=\"false\"\n :src=\"datas.imageList[index + 1].src\"\n alt=\"\"\n style=\"height:150px\"\n :style=\"{\n 'padding-left': datas.imgMargin + 'px',\n 'padding-top': datas.imgMargin + 'px',\n }\"\n />\n </div>\n </div>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'magiccube',\n props: {\n datas: Object,\n },\n methods: {\n /* 点击魔方格子跳转 */\n handleClick(item) {\n if (!item) return\n if (!item.linktype && !item.type) return\n navigateByLink(item, this.$router)\n },\n },\n computed: {\n showimageList() {\n if (\n this.datas.rubiksCubeType === 0 &&\n !this.datas.imageList[0].src &&\n !this.datas.imageList[1].src\n )\n return false\n\n if (\n (this.datas.rubiksCubeType === 1 ||\n this.datas.rubiksCubeType === 4 ||\n this.datas.rubiksCubeType === 5) &&\n !this.datas.imageList[0].src &&\n !this.datas.imageList[1].src &&\n !this.datas.imageList[2].src\n )\n return false\n\n if (\n (this.datas.rubiksCubeType === 2 ||\n this.datas.rubiksCubeType === 6 ||\n this.datas.rubiksCubeType === 3) &&\n !this.datas.imageList[0].src &&\n !this.datas.imageList[1].src &&\n !this.datas.imageList[2].src &&\n !this.datas.imageList[3].src\n )\n return false\n\n return true\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.magiccube {\n position: relative;\n /* 布局 */\n .imgone {\n &:last-of-type {\n img {\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n }\n }\n &:first-of-type {\n img {\n padding-top: 0 !important;\n padding-right: 0 !important;\n }\n }\n }\n .imgtow {\n &:first-of-type {\n img {\n padding-bottom: 0 !important;\n padding-left: 0 !important;\n }\n }\n &:last-of-type {\n img {\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n }\n }\n }\n .hw {\n width: 100%;\n position: relative;\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n }\n .buju {\n &.buju0 {\n display: flex;\n justify-content: space-around;\n flex-wrap: wrap;\n }\n &.buju4 {\n display: flex;\n width: 100%;\n height: 300px;\n flex-direction: row;\n justify-content: space-around;\n }\n .active {\n background: #e0edff;\n border: 1px solid #155bd4;\n color: #155bd4;\n z-index: 2;\n }\n .rubiksCubeType {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n &.rubiksCubeType0 {\n width: 50%;\n // height: 200px;\n &:first-of-type {\n img {\n padding-left: 0 !important;\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n }\n &:last-of-type {\n img {\n padding-right: 0 !important;\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n }\n img {\n width: 100%;\n // height: 200px;\n display: block;\n }\n }\n &.rubiksCubeType1 {\n width: 33.333%;\n &:nth-of-type(1) {\n margin-left: 0 !important;\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(2) {\n margin-top: 0 !important;\n margin-left: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(3) {\n margin-top: 0 !important;\n margin-right: 0 !important;\n margin-bottom: 0 !important;\n }\n img {\n width: 100%;\n height: 150px;\n display: block;\n }\n }\n &.rubiksCubeType2 {\n width: 25%;\n &:nth-of-type(1) {\n margin-left: 0 !important;\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(2) {\n margin-top: 0 !important;\n margin-left: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(3) {\n margin-top: 0 !important;\n margin-left: 0 !important;\n margin-bottom: 0 !important;\n }\n &:nth-of-type(4) {\n margin-top: 0 !important;\n margin-right: 0 !important;\n margin-bottom: 0 !important;\n }\n img {\n width: 100%;\n height: 150px;\n display: block;\n }\n }\n &.rubiksCubeType3 {\n width: 50%;\n padding-top: 50%;\n position: relative;\n &:nth-of-type(1) {\n img {\n padding-top: 0 !important;\n padding-left: 0 !important;\n }\n }\n &:nth-of-type(2) {\n img {\n padding-top: 0 !important;\n padding-right: 0 !important;\n }\n }\n &:nth-of-type(3) {\n img {\n padding-bottom: 0 !important;\n padding-left: 0 !important;\n }\n }\n &:nth-of-type(4) {\n img {\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n }\n }\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n }\n &.rubiksCubeType4 {\n width: 187px;\n height: 187px;\n img {\n width: 100%;\n height: 100%;\n display: block;\n }\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"notice\">\n <!-- 公告 -->\n <van-notice-bar\n :text=\"datas.noticeText\"\n left-icon=\"volume-o\"\n :background=\"datas.backColor\"\n :color=\"datas.textColor\"\n />\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'notice',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.notice {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"onlineservice\">\n {{ datas.text }}\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'onlineservice',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.onlineservice {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"personalizedrecommendation\">\n {{ datas.text }}\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'personalizedrecommendation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.personalizedrecommendation {\n position: relative;\n}\n</style>\n","<template>\n <div class=\"pictureads\">\n <!-- 无图片 -->\n <div class=\"upload\" v-if=\"!imageList[0]\">\n <i class=\"iconfont icon-lunbotu\"></i>\n </div>\n\n <!-- 一行一个 -->\n <div\n v-if=\"imageList[0] && swiperType === 0\"\n class=\"type0\"\n :style=\"{\n 'padding-left': datas.pageMargin + 'px',\n 'padding-right': datas.pageMargin + 'px',\n }\"\n >\n <div\n v-for=\"(item, index) in imageList\"\n :key=\"index\"\n class=\"imgLis\"\n :style=\"{ 'margin-bottom': datas.imageMargin + 'px' }\"\n @click=\"handleItemClick(item)\"\n >\n <!-- 图片 -->\n <img\n :src=\"item.src\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 图片标题 -->\n <p class=\"title\" v-show=\"item.text ? true : false\">{{ item.text }}</p>\n </div>\n </div>\n\n <!-- 轮播组件 -->\n <div\n class=\"swiper-container pointer-events\"\n v-if=\"\n (imageList[0] && swiperType === 1) ||\n swiperType === 2 ||\n swiperType === 3\n \"\n >\n <div\n :class=\"\n swiperType === 3 && imageList[0]\n ? 'type3 type1 swiper-wrapper type3H'\n : 'swiper-wrapper type1'\n \"\n >\n <div\n class=\"swiper-slide\"\n v-for=\"(item, index) in imageList\"\n :key=\"index\"\n @click=\"handleItemClick(item)\"\n >\n <!-- 图片 -->\n <img\n :src=\"item.src\"\n alt=\"\"\n draggable=\"false\"\n :style=\"{ 'border-radius': datas.borderRadius + 'px' }\"\n />\n <!-- 图片标题 -->\n <p class=\"title\" v-show=\"item.text ? true : false\">{{ item.text }}</p>\n </div>\n </div>\n\n <!-- 分页器 -->\n <div class=\"swiper-pagination\" style=\"color: #007aff\"></div>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport Swiper from 'swiper'\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'pictureads',\n props: {\n datas: Object,\n },\n data() {\n return {\n mySwiper: null,\n }\n },\n computed: {\n /* 类型切换 */\n swiperType() {\n console.log(this.datas.swiperType, '----------------轮播类型')\n this.addSwiper()\n return this.datas.swiperType\n },\n /* 图片删除或者增加 */\n imageList() {\n this.addSwiper()\n console.log(this.datas.imageList.length, '-------轮播数量')\n return this.datas.imageList\n },\n /* 分页器类型切换 */\n pagingType() {\n this.addSwiper()\n return this.datas.pagingType\n },\n /* 一行个数 */\n rowindividual() {\n this.addSwiper()\n if (this.datas.swiperType === 1) {\n return 1\n } else {\n return this.datas.rowindividual\n }\n },\n /* 图片间距 */\n imageMargin() {\n this.addSwiper()\n if (this.datas.swiperType === 1) {\n return 0\n } else {\n return this.datas.imageMargin\n }\n },\n },\n watch: {\n pagingType() {},\n rowindividual() {},\n imageMargin() {},\n },\n methods: {\n /* 点击图片跳转 */\n handleItemClick(item) {\n if (!item.linktype && !item.type) return\n navigateByLink(item, this.$router)\n },\n /* 创建轮播对象 */\n addSwiper() {\n this.$nextTick(() => {\n if (this.datas.swiperType !== 0 && this.datas.imageList[0]) {\n if (this.mySwiper instanceof Array) {\n this.mySwiper.forEach((element) => {\n element.destroy()\n })\n } else if (this.mySwiper instanceof Object) {\n // 每次重新创建swiper前都要销毁之前存在的轮播 不然轮播会重复\n this.mySwiper.destroy()\n }\n\n let params = {\n loop: true,\n autoplay: true,\n pagination: {\n el: '.swiper-pagination',\n type: this.pagingType,\n },\n }\n\n if (this.datas.swiperType === 1 || this.datas.swiperType === 2) {\n params.slidesPerView = this.rowindividual\n params.spaceBetween = this.imageMargin\n } else if (this.datas.swiperType === 3) {\n params.slidesPerView = 1.3\n params.centeredSlides = true\n }\n\n this.mySwiper = new Swiper('.swiper-container', params)\n } else {\n if (this.mySwiper instanceof Array) {\n this.mySwiper.forEach((element) => {\n element.destroy()\n })\n }\n // 每次重新创建swiper前都要销毁之前存在的轮播 不然轮播会重复\n if (this.mySwiper instanceof Object) {\n this.mySwiper.destroy()\n }\n }\n })\n },\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.pictureads {\n position: relative;\n\n /* 无图片 */\n .upload {\n background: #979797;\n width: 100%;\n height: 250px;\n display: flex;\n justify-content: center;\n align-items: center;\n i {\n font-size: 120px;\n }\n }\n\n /* 类型0 */\n .type0 {\n box-sizing: border-box;\n /* 图片列表 */\n .imgLis {\n width: 100%;\n position: relative;\n overflow: hidden;\n &:last-child {\n margin: 0 !important;\n }\n /* 图片 */\n img {\n width: 100%;\n height: 100%;\n display: block;\n }\n .title {\n height: 36px;\n width: 100%;\n background-color: rgba(51, 51, 51, 0.8);\n text-align: center;\n line-height: 36px;\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n }\n }\n }\n\n /* 类型1 */\n .type1 {\n width: 100%;\n position: relative;\n .swiper-slide {\n width: 100%;\n height: 250px;\n }\n img {\n width: 100%;\n height: 100%;\n display: block;\n }\n .title {\n height: 36px;\n width: 100%;\n background-color: rgba(51, 51, 51, 0.8);\n text-align: center;\n line-height: 36px;\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n text-align: left;\n box-sizing: border-box;\n padding: 0 5px;\n }\n }\n\n .type3 {\n width: 100%;\n height: 250px;\n align-items: center;\n .swiper-slide {\n height: 210px !important;\n text-align: center;\n font-size: 18px;\n background: #fff;\n box-shadow: rgba(173, 173, 173, 0.8) 0px 7px 24px 0px;\n border-radius: 12px;\n overflow: hidden;\n\n /* Center slide text vertically */\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n -webkit-justify-content: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n transition: 300ms;\n transform: scale(0.8);\n img {\n width: 100%;\n height: 100%;\n }\n }\n .swiper-slide-active,\n .swiper-slide-duplicate-active {\n transform: scale(1);\n }\n .swiper-pagination {\n bottom: 0 !important;\n }\n .title {\n height: 36px;\n width: 100%;\n background-color: rgba(51, 51, 51, 0.8);\n text-align: center;\n line-height: 36px;\n color: #fff;\n position: absolute;\n bottom: 0;\n left: 0;\n text-align: left;\n box-sizing: border-box;\n padding: 0 5px;\n }\n }\n .type3H {\n height: 250px;\n }\n .swiper-container-horizontal > .swiper-pagination-progressbar {\n height: 2px;\n }\n}\n</style>\n","<template>\n <div class=\"placementarea\">\n <span>组件放置区域</span>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'placementarea',\n}\n</script>\n\n<style scoped lang=\"less\">\n.placementarea {\n width: 100%;\n height: 40px;\n background: #94b4eb;\n display: flex;\n justify-content: center;\n align-items: center;\n background-image: url('../../../assets/images/obliqueLine.png');\n background-size: 50%, 100%;\n transition: all 0.5s;\n span {\n color: #fff;\n display: inline-block;\n width: 140px;\n height: 25px;\n font-size: 12px;\n text-align: center;\n line-height: 25px;\n background: #5487df;\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","<template>\n <div class=\"richtext\" :style=\"{ background: datas.backColor }\">\n <img\n draggable=\"false\"\n src=\"../../../assets/images/fwb.png\"\n alt=\"\"\n v-if=\"!datas.myValue.length\"\n />\n <section v-else v-html=\"datas.myValue\" />\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'richtext',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.richtext {\n position: relative;\n}\n:deep(img) {\n max-width: 100% !important;\n display: block;\n}\n.richtext {\n position: relative;\n :deep(pre) {\n white-space: break-spaces;\n }\n :deep(p) {\n word-break: break-all;\n }\n}\n</style>\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","<template>\n <div class=\"storeinformation\">\n <!-- 样式一 -->\n <section\n class=\"type0\"\n v-show=\"datas.rubiksCubeType === 0 || datas.rubiksCubeType === 2\"\n >\n <div\n v-if=\"datas.rubiksCubeType === 0\"\n class=\"menban\"\n style=\"background-color: rgba(0, 0, 0, 0.3)\"\n />\n <div\n v-else\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p style=\"margin-top: 5px; font-weight: 700; font-size: 18px\">\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 样式二 -->\n <section class=\"type1\" v-show=\"datas.rubiksCubeType === 1\">\n <div\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p style=\"margin-top: 5px; font-weight: 700; font-size: 18px\">\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 样式四 -->\n <section class=\"type3\" v-show=\"datas.rubiksCubeType === 3\">\n <div\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p style=\"margin-top: 5px; font-weight: 700; font-size: 18px\">\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 样式五 -->\n <section class=\"type4\" v-show=\"datas.rubiksCubeType === 4\">\n <div\n class=\"menban\"\n style=\"background-image: linear-gradient(to top, #000, transparent)\"\n />\n <!-- 蒙版 -->\n <div class=\"men\">\n <img\n draggable=\"false\"\n v-if=\"datas.bakcgroundImg\"\n :src=\"datas.bakcgroundImg\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/backimg.png\"\n alt=\"\"\n />\n </div>\n\n <!-- 店铺信息 -->\n <div class=\"storIinformation\">\n <div>\n <img\n draggable=\"false\"\n v-if=\"datas.headPortrait\"\n :src=\"datas.headPortrait\"\n alt=\"\"\n />\n <img\n draggable=\"false\"\n v-else\n src=\"../../../assets/images/headerimg.png\"\n alt=\"\"\n />\n </div>\n <div>\n <p\n style=\"\n margin-top: 5px;\n font-weight: 700;\n font-size: 18px;\n line-height: 40px;\n border-bottom: 1px solid #fff;\n \"\n >\n {{ datas.name }}\n </p>\n <p style=\"font-size: 12px; margin-top: 10px\">{{ datas.Discount }}</p>\n </div>\n </div>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'storeinformation',\n props: {\n datas: Object,\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.storeinformation {\n position: relative;\n\n /* 类型一 */\n .type0 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 185px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n height: 60px;\n position: absolute;\n left: 0;\n top: 110px;\n display: flex;\n z-index: 3;\n\n img {\n width: 60px;\n height: 60px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 5px;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n }\n }\n }\n\n .menban {\n position: absolute;\n left: 0p;\n top: 0px;\n width: 100%;\n z-index: 2;\n height: 100%;\n }\n\n /* 类型二 */\n .type1 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 238px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 185px;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n height: 60px;\n position: absolute;\n left: 0;\n top: 150px;\n display: flex;\n z-index: 3;\n\n img {\n width: 72px;\n height: 72px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 50%;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n }\n }\n }\n\n /* 类型四 */\n .type3 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 238px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 140px;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n position: absolute;\n left: 0;\n top: 100px;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 3;\n\n img {\n width: 72px;\n height: 72px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 50%;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n text-align: center;\n }\n }\n }\n\n /* 类型五 */\n .type4 {\n width: 100%;\n background-repeat: round;\n position: relative;\n height: 250px;\n /* 蒙版 */\n .men {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n\n /* 店铺信息 */\n .storIinformation {\n width: 100%;\n position: absolute;\n left: 0;\n top: 50px;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 3;\n\n img {\n width: 72px;\n height: 72px;\n margin-left: 15px;\n margin-right: 10px;\n border-radius: 50%;\n }\n\n p {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #fff;\n text-align: center;\n }\n }\n }\n}\n</style>\n","<template>\n <div class=\"storenotecard\">\n <!-- 更多 -->\n <div class=\"more1\">\n <h4>{{ datas.name }}</h4>\n <p v-show=\"datas.viewMore1\" @click=\"handleMoreClick\">查看更多 <van-icon name=\"arrow\" /></p>\n </div>\n\n <!-- 没有视频展示默认 -->\n <section\n v-show=\"!datas.imageList[0]\"\n :class=\"[datas.commodityType === 2 ? 'defaultcommodityList2' : '']\"\n class=\"defaultcommodity\"\n >\n <div\n v-for=\"index in 3\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n 'border-radius': datas.borderRadius + 'px',\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n }\"\n >\n <!-- 视频图片 -->\n <div\n class=\"imgss\"\n style=\"position: relative; width: 100%\"\n :class=\"[datas.positions === 'top' ? 'containoptions' : '']\"\n >\n <img draggable=\"false\" src=\"../../../assets/images/imgs.png\" alt=\"\" />\n <!-- 标签 -->\n <p class=\"marks\" v-if=\"datas.noteLabels\"><span>#</span>笔记标签</p>\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :class=\"[datas.positions === 'top' ? 'positionsTop' : '']\"\n :style=\"{ background: datas.moditystyle !== 3 ? '#fff' : 'none' }\"\n >\n <!-- 视频名称 -->\n <h5>这里显示商品名称,最多显示2行</h5>\n <!-- 点赞和阅读量 -->\n <div class=\"dianz\">\n <span class=\"fir\" v-if=\"datas.readingNumber\">999 阅读</span>\n <span v-else></span>\n <span v-show=\"datas.praisePoints\"\n ><van-icon name=\"good-job-o\" /> 999</span\n >\n </div>\n </div>\n </div>\n </section>\n\n <section\n v-show=\"datas.imageList[0]\"\n :class=\"[datas.commodityType === 2 ? 'defaultcommodityList2' : '']\"\n class=\"defaultcommodity\"\n >\n <div\n v-for=\"(item, index) in datas.imageList\"\n :key=\"index\"\n class=\"defaultcommodityList\"\n @click=\"handleItemClick(item)\"\n :class=\"[\n datas.commodityType === 0 ? 'defaultcommodityList0' : '',\n datas.commodityType === 1 ? 'defaultcommodityList1' : '',\n datas.commodityType === 2 ? 'defaultcommodityList2' : '',\n datas.commodityType === 3 ? 'defaultcommodityList3' : '',\n datas.commodityType === 4 ? 'defaultcommodityList4' : '',\n datas.commodityType === 5 ? 'defaultcommodityList5' : '',\n ]\"\n :style=\"{\n 'border-radius': datas.borderRadius + 'px',\n border: datas.moditystyle === 2 ? '1px solid rgba(50,50,51,0.1)' : '',\n 'box-shadow':\n datas.moditystyle === 1 ? '0 2px 8px rgba(93,113,127,0.08)' : '',\n width:\n datas.commodityType === 1\n ? 50 - datas.commodityMargin / 6 + '%'\n : datas.commodityType === 2\n ? 33 - datas.commodityMargin / 5 + '%'\n : datas.commodityType === 4\n ? 50 - datas.commodityMargin / 5 + '%'\n : '',\n }\"\n >\n <!-- 视频图片 -->\n <div\n class=\"imgss\"\n style=\"position: relative; width: 100%\"\n :class=\"[datas.positions === 'top' ? 'containoptions' : '']\"\n >\n <img draggable=\"false\" :src=\"item.src\" alt=\"\" />\n <!-- 标签 -->\n <p class=\"marks\" v-if=\"datas.noteLabels\"><span>#</span>笔记标签</p>\n </div>\n\n <!-- 文字内容 -->\n <div\n class=\"text\"\n :class=\"[datas.positions === 'top' ? 'positionsTop' : '']\"\n :style=\"{ background: datas.moditystyle !== 3 ? '#fff' : 'none' }\"\n >\n <!-- 视频名称 -->\n <h5>{{ item.text }}</h5>\n <!-- 点赞和阅读量 -->\n <div class=\"dianz\">\n <span class=\"fir\" v-if=\"datas.readingNumber\">999 阅读</span>\n <span v-else></span>\n <span v-show=\"datas.praisePoints\"\n ><van-icon name=\"good-job-o\" /> 999</span\n >\n </div>\n </div>\n </div>\n </section>\n\n <p class=\"more2\" v-show=\"datas.viewMore2\">\n 查看更多 <van-icon name=\"arrow\" />\n </p>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'storenotecard',\n props: {\n datas: Object,\n },\n methods: {\n handleItemClick(item) {\n if (!item) return\n navigateByLink(item, this.$router)\n },\n handleMoreClick() {\n navigateByLink(this.datas, this.$router)\n },\n },\n data() {\n return {\n active: 0,\n }\n },\n\n created() {},\n\n methods: {},\n}\n</script>\n\n<style scoped lang=\"less\">\n.storenotecard {\n position: relative;\n\n /* 更多1 */\n .more1 {\n margin: 15px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n h4 {\n font-size: 16px;\n color: #323233;\n font-weight: 400;\n width: 270px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n p {\n color: #969799;\n font-size: 12px;\n display: flex;\n align-items: center;\n }\n }\n\n /* 更多2 */\n .more2 {\n text-align: center;\n color: #969799;\n font-size: 12px;\n margin-bottom: 15px;\n }\n\n /* 默认商品 */\n .defaultcommodity {\n box-sizing: border-box;\n margin: 1px;\n padding: 0 15px;\n /* 横向滑动 */\n &.defaultcommodityList2 {\n overflow: scroll;\n display: flex;\n /* 滚动条 */\n &::-webkit-scrollbar {\n height: 1px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #155bd4;\n }\n :deep(.el-collapse-item__header),\n :deep(.el-collapse-item__wrap) {\n border-bottom: 0 !important;\n }\n }\n /* 卡片列表 */\n .defaultcommodityList {\n position: relative;\n margin-bottom: 15px;\n overflow: hidden;\n display: inline-flex;\n flex-direction: column;\n\n /* 大图模式 */\n &.defaultcommodityList0 {\n width: 100%;\n /* 标签 */\n .containoptions {\n .marks {\n bottom: 33px;\n z-index: 3;\n }\n }\n img {\n height: 147px;\n }\n /* 文字在图片中 */\n .positionsTop {\n position: absolute;\n display: flex;\n flex-direction: column-reverse;\n left: 0;\n bottom: 0;\n background: none !important;\n background-image: linear-gradient(\n to bottom,\n transparent,\n rgba(0, 0, 0, 0.5)\n ) !important;\n /* 标题 */\n h5 {\n color: #fff;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n span {\n color: #fff;\n }\n /* 点赞和阅读量 */\n .dianz {\n padding-left: 190px;\n }\n }\n }\n\n /* 一行两个 */\n &.defaultcommodityList1 {\n width: 48%;\n &:nth-of-type(even) {\n margin-left: 4%;\n }\n }\n\n /* 横向滑动 */\n &.defaultcommodityList2 {\n width: 150px;\n flex: none;\n margin-right: 5%;\n }\n\n /* 一大两小 */\n &.defaultcommodityList3 {\n display: flex;\n &:nth-of-type(3n-2) {\n margin-bottom: 0 !important;\n .marks {\n bottom: 33px;\n z-index: 3;\n }\n img {\n height: 147px;\n }\n /* 文字在图片中 */\n .text {\n position: absolute;\n display: flex;\n flex-direction: column-reverse;\n left: 0;\n bottom: 0;\n background: none !important;\n background-image: linear-gradient(\n to bottom,\n transparent,\n rgba(0, 0, 0, 0.5)\n ) !important;\n /* 标题 */\n h5 {\n color: #fff;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n span {\n color: #fff;\n }\n /* 点赞和阅读量 */\n .dianz {\n padding-left: 190px;\n }\n }\n }\n &:nth-of-type(3n) {\n flex-direction: row-reverse;\n margin-bottom: 15px;\n .imgss {\n width: 65px !important;\n height: 67px;\n z-index: 99;\n position: absolute !important;\n top: 10%;\n right: 10px;\n img {\n width: 100%;\n height: 100%;\n }\n }\n .marks {\n left: 0;\n background: #fff;\n opacity: 0.85;\n bottom: 0;\n }\n .text {\n width: 100%;\n padding: 10px 80px 10px 10px;\n min-height: 87px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n .dianz {\n justify-content: start;\n line-height: 20px;\n span {\n &.fir {\n margin-right: 30px;\n }\n }\n }\n }\n }\n &:nth-of-type(3n-1) {\n flex-direction: row-reverse;\n margin-bottom: 0;\n border-bottom: 1px solid #e5e5e5;\n border-top: 1px solid #e5e5e5;\n .marks {\n left: 0;\n bottom: 0;\n background: #fff;\n opacity: 0.85;\n }\n .imgss {\n width: 65px !important;\n height: 67px;\n z-index: 99;\n position: absolute !important;\n top: 10%;\n right: 10px;\n img {\n width: 100%;\n height: 100%;\n }\n }\n .text {\n width: 100%;\n padding: 10px 80px 10px 10px;\n min-height: 87px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n .dianz {\n justify-content: start;\n line-height: 20px;\n span {\n &.fir {\n margin-right: 30px;\n }\n }\n }\n }\n }\n &:nth-of-type(3n) {\n flex-direction: row-reverse;\n }\n }\n\n /* 详细列表 */\n &.defaultcommodityList4 {\n width: 100%;\n flex-direction: row-reverse;\n margin-bottom: 15px;\n .imgss {\n width: 120px !important;\n height: 122px;\n z-index: 99;\n position: absolute !important;\n top: 8%;\n right: 10px;\n img {\n width: 100%;\n height: 100%;\n }\n }\n .marks {\n left: 0;\n background: #fff;\n opacity: 0.85;\n bottom: 0;\n }\n .text {\n width: 100%;\n padding: 10px 160px 10px 10px;\n min-height: 145px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n .dianz {\n justify-content: start;\n line-height: 20px;\n span {\n &.fir {\n margin-right: 30px;\n }\n }\n }\n }\n }\n\n /* 标签 */\n .marks {\n position: absolute;\n bottom: 10px;\n left: 13px;\n font-size: 10px;\n padding: 2px 5px;\n background: #fff;\n opacity: 0.85;\n border-radius: 3px;\n span {\n color: #d40;\n }\n }\n\n /* 图片 */\n img {\n width: 100%;\n display: block;\n overflow: hidden;\n }\n\n /* 文字 */\n .text {\n padding: 10px 10px 0;\n width: 100%;\n box-sizing: border-box;\n /* 商品名称 */\n h5 {\n font-size: 14px;\n line-height: 20px;\n margin: 0 0 5px;\n font-weight: 400;\n width: 100%;\n display: -webkit-box;\n text-overflow: ellipsis;\n overflow: hidden;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n /* 点赞和阅读量 */\n .dianz {\n display: flex;\n justify-content: space-between;\n line-height: 35px;\n span {\n font-size: 12px;\n display: flex;\n align-items: center;\n .van-icon-good-job-o {\n margin-right: 5px;\n }\n }\n }\n }\n }\n }\n}\n</style>\n","export default \"data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSI5NiIKICBoZWlnaHQ9Ijk2IgogIHZpZXdCb3g9IjAgMCA5NiA5NiIKICBmaWxsPSJub25lIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJzdXNwZW5zaW9uLWJ1dHRvbi1iZyIgeDE9IjIwIiB5MT0iMTYiIHgyPSI3NiIgeTI9IjgwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0REI2RkYiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE1NUJENCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InN1c3BlbnNpb24tYnV0dG9uLWdsb3ciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQgMjgpIHJvdGF0ZSg0Ny45KSBzY2FsZSgzMC45NjE4KSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIHN0b3Atb3BhY2l0eT0iMC42NSIgLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZGRkZGIiBzdG9wLW9wYWNpdHk9IjAiIC8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPGZpbHRlciBpZD0ic3VzcGVuc2lvbi1idXR0b24tc2hhZG93IiB4PSI2IiB5PSI4IiB3aWR0aD0iODQiIGhlaWdodD0iODQiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIC8+CiAgICAgIDxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIgLz4KICAgICAgPGZlT2Zmc2V0IGR5PSI0IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0IiAvPgogICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwLjA4MjM1MjkgMCAwIDAgMCAwLjM1Njg2MyAwIDAgMCAwIDAuODMxMzczIDAgMCAwIDAuMjggMCIgLz4KICAgICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMV8xIiAvPgogICAgICA8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd18xXzEiIHJlc3VsdD0ic2hhcGUiIC8+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+CgogIDxnIGZpbHRlcj0idXJsKCNzdXNwZW5zaW9uLWJ1dHRvbi1zaGFkb3cpIj4KICAgIDxjaXJjbGUgY3g9IjQ4IiBjeT0iNDQiIHI9IjMyIiBmaWxsPSJ1cmwoI3N1c3BlbnNpb24tYnV0dG9uLWJnKSIgLz4KICAgIDxjaXJjbGUgY3g9IjQ4IiBjeT0iNDQiIHI9IjMyIiBmaWxsPSJ1cmwoI3N1c3BlbnNpb24tYnV0dG9uLWdsb3cpIiAvPgogICAgPGNpcmNsZSBjeD0iNDgiIGN5PSI0NCIgcj0iMzEiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjE4IiBzdHJva2Utd2lkdGg9IjIiIC8+CiAgPC9nPgoKICA8cmVjdCB4PSIzMSIgeT0iMjciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgcng9IjQuNSIgZmlsbD0id2hpdGUiIC8+CiAgPHJlY3QgeD0iNTEiIHk9IjI3IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHJ4PSI0LjUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuOTYiIC8+CiAgPHJlY3QgeD0iMzEiIHk9IjQ3IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHJ4PSI0LjUiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuOTYiIC8+CiAgPHJlY3QgeD0iNTEiIHk9IjQ3IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHJ4PSI0LjUiIGZpbGw9IndoaXRlIiAvPgogIDxjaXJjbGUgY3g9IjY1IiBjeT0iMzAiIHI9IjQiIGZpbGw9IiNGRkQ2NkIiIC8+CiAgPHBhdGgKICAgIGQ9Ik02NSAyNy44TDY1LjUzOTQgMjkuNDYwNkw2Ny4yIDMwTDY1LjUzOTQgMzAuNTM5NEw2NSAzMi4yTDY0LjQ2MDYgMzAuNTM5NEw2Mi44IDMwTDY0LjQ2MDYgMjkuNDYwNkw2NSAyNy44WiIKICAgIGZpbGw9IndoaXRlIgogIC8+Cjwvc3ZnPgo=\"","<template>\n <div id=\"suspension\" :style=\"suspensionStyle\">\n <div class=\"suspension-wrap\" :style=\"wrapStyle\" @click=\"handleClick\">\n <img\n class=\"suspension-logo\"\n :src=\"buttonImage\"\n :style=\"logoStyle\"\n alt=\"悬浮按钮\"\n />\n </div>\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n<script>\nimport defaultSuspensionImage from '@/assets/images/suspension-button.svg'\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nconst toFiniteNumber = (value, fallback) => {\n const numberValue = Number(value)\n return Number.isFinite(numberValue) ? numberValue : fallback\n}\n\nexport default {\n name: 'suspension',\n props: {\n datas: Object,\n fixedInContainer: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n buttonSize() {\n return Math.max(24, Math.min(toFiniteNumber(this.datas?.size, 48), 160))\n },\n horizontalPosition() {\n return this.datas?.horizontalPosition === 'left' ? 'left' : 'right'\n },\n verticalPosition() {\n return this.datas?.verticalPosition === 'top' ? 'top' : 'bottom'\n },\n offsetX() {\n return Math.max(0, toFiniteNumber(this.datas?.offsetX, 12))\n },\n offsetY() {\n return Math.max(0, toFiniteNumber(this.datas?.offsetY, 80))\n },\n borderRadius() {\n return Math.max(0, Math.min(toFiniteNumber(this.datas?.borderRadius, 50), 50))\n },\n fixedToViewport() {\n return Boolean(this.datas?.fixedToViewport)\n },\n buttonImage() {\n return this.datas?.image || defaultSuspensionImage\n },\n suspensionStyle() {\n const oppositeVerticalPosition = this.verticalPosition === 'top' ? 'bottom' : 'top'\n\n return {\n height: `${this.buttonSize}px`,\n width: '100%',\n position: this.fixedToViewport && !this.fixedInContainer ? 'fixed' : 'absolute',\n left: '0',\n right: '0',\n [this.verticalPosition]: `${this.offsetY}px`,\n [oppositeVerticalPosition]: 'auto',\n zIndex: toFiniteNumber(this.datas?.zIndex, 999),\n border: 'none',\n boxSizing: 'border-box',\n }\n },\n wrapStyle() {\n const oppositeHorizontalPosition = this.horizontalPosition === 'left' ? 'right' : 'left'\n\n return {\n width: `${this.buttonSize}px`,\n height: `${this.buttonSize}px`,\n position: 'absolute',\n [this.horizontalPosition]: `${this.offsetX}px`,\n [oppositeHorizontalPosition]: 'auto',\n zIndex: 1001,\n }\n },\n logoStyle() {\n return {\n width: '100%',\n height: '100%',\n borderRadius: `${this.borderRadius}%`,\n }\n },\n },\n methods: {\n handleClick() {\n if (!this.datas) return\n navigateByLink(this.datas, this.$router)\n },\n },\n}\n</script>\n<style lang=\"less\" scoped>\n#suspension {\n width: 100%;\n height: 48px;\n position: absolute;\n right: 0;\n bottom: 10%;\n z-index: 999;\n border: none;\n box-sizing: border-box;\n .suspension-wrap {\n width: 48px;\n height: 48px;\n position: absolute;\n right: 12px;\n z-index: 1001;\n .suspension-logo {\n display: block;\n width: 48px;\n height: 48px;\n border-radius: 50%;\n object-fit: contain;\n }\n }\n}\n</style>\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTAgMjguNUwzMiAxMUw1NCAyOC41VjUxQzU0IDUzLjIwOTEgNTIuMjA5MSA1NSA1MCA1NUg0MEMzOC44OTU0IDU1IDM4IDU0LjEwNDYgMzggNTNWNDFDMzggMzkuODk1NCAzNy4xMDQ2IDM5IDM2IDM5SDI4QzI2Ljg5NTQgMzkgMjYgMzkuODk1NCAyNiA0MVY1M0MyNiA1NC4xMDQ2IDI1LjEwNDYgNTUgMjQgNTVIMTRDMTEuNzkwOSA1NSAxMCA1My4yMDkxIDEwIDUxVjI4LjVaIiBmaWxsPSIjMTk4OUZBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTEgMjlMMzIgMTIuNUw1MyAyOVY1MUM1MyA1Mi4xMDQ2IDUyLjEwNDYgNTMgNTEgNTNINDFWNDFDNDEgMzguMjM4NiAzOC43NjE0IDM2IDM2IDM2SDI4QzI1LjIzODYgMzYgMjMgMzguMjM4NiAyMyA0MVY1M0gxM0MxMS44OTU0IDUzIDExIDUyLjEwNDYgMTEgNTFWMjlaIiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjIyIiByPSIxMCIgZmlsbD0iIzE5ODlGQSIvPgogIDxwYXRoIGQ9Ik0xNCA1MEMxNCA0MC4wNTg5IDIyLjA1ODkgMzIgMzIgMzJDNDEuOTQxMSAzMiA1MCA0MC4wNTg5IDUwIDUwVjUyQzUwIDUzLjY1NjkgNDguNjU2OSA1NSA0NyA1NUgxN0MxNS4zNDMxIDU1IDE0IDUzLjY1NjkgMTQgNTJWNTBaIiBmaWxsPSIjMTk4OUZBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjIyIiByPSI5IiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIvPgogIDxwYXRoIGQ9Ik0xNiA1MUMxNiA0Mi4xNjM0IDIzLjE2MzQgMzUgMzIgMzVDNDAuODM2NiAzNSA0OCA0Mi4xNjM0IDQ4IDUxVjUyQzQ4IDUyLjU1MjMgNDcuNTUyMyA1MyA0NyA1M0gxN0MxNi40NDc3IDUzIDE2IDUyLjU1MjMgMTYgNTJWNTFaIiBzdHJva2U9IiM3RDdFODAiIHN0cm9rZS13aWR0aD0iNCIvPgo8L3N2Zz4K\"","<template>\n <div id=\"tabbar\" :class=\"{ 'tabbar--sticky': shouldUseFixed }\">\n <div v-if=\"hasCustomIcons\" class=\"tabbar\">\n <van-tabbar\n v-model=\"activeName\"\n :fixed=\"false\"\n :placeholder=\"false\"\n safe-area-inset-bottom\n :border=\"datas.isShowBorder\"\n :active-color=\"datas.activeColor\"\n :inactive-color=\"datas.inactiveColor\"\n @change=\"onTabChange\"\n >\n <van-tabbar-item\n v-for=\"(item, index) in datas.iconList\"\n :key=\"index\"\n :name=\"getCustomTabName(item, index)\"\n :dot=\"item.isDot\"\n >\n <span>{{ item.iconText }}</span>\n <template #icon=\"props\">\n <img :src=\"resolveIconSource(props.active ? item.iconPic : item.inactive)\" />\n </template>\n </van-tabbar-item>\n </van-tabbar>\n </div>\n\n <div v-else>\n <van-tabbar\n v-model=\"activeName\"\n :fixed=\"false\"\n :placeholder=\"false\"\n safe-area-inset-bottom\n :border=\"datas.isShowBorder\"\n :active-color=\"datas.activeColor\"\n :inactive-color=\"datas.inactiveColor\"\n @change=\"onTabChange\"\n >\n <van-tabbar-item icon=\"search\" name=\"home\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"home-o\" name=\"tab-1\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"friends-o\" name=\"tab-2\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"setting-o\" name=\"tab-3\">标签</van-tabbar-item>\n <van-tabbar-item icon=\"setting-o\" name=\"tab-4\">标签</van-tabbar-item>\n </van-tabbar>\n </div>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nimport tabbarHomeActiveSvg from '../../../assets/images/tabbar-home-active.svg'\nimport tabbarHomeInactiveSvg from '../../../assets/images/tabbar-home-inactive.svg'\nimport tabbarProfileActiveSvg from '../../../assets/images/tabbar-profile-active.svg'\nimport tabbarProfileInactiveSvg from '../../../assets/images/tabbar-profile-inactive.svg'\nimport { navigateByLink } from '../../../utils/linkNavigate'\n\nexport default {\n name: 'tabbar',\n props: {\n datas: Object\n },\n data() {\n return {\n defaultTabNames: ['home', 'tab-1', 'tab-2', 'tab-3', 'tab-4'],\n builtinTabbarIcons: {\n 'tabbar-home-active.svg': tabbarHomeActiveSvg,\n 'tabbar-home-inactive.svg': tabbarHomeInactiveSvg,\n 'tabbar-profile-active.svg': tabbarProfileActiveSvg,\n 'tabbar-profile-inactive.svg': tabbarProfileInactiveSvg,\n },\n }\n },\n\n methods: {\n decodeInlineSvgPath(source) {\n const inlineSvgPrefix = 'data:image/svg+xml;utf8,'\n if (!source || typeof source !== 'string' || !source.startsWith(inlineSvgPrefix)) {\n return source\n }\n\n try {\n return decodeURIComponent(source.slice(inlineSvgPrefix.length))\n } catch (error) {\n return source\n }\n },\n onTabChange(activeValue) {\n if (!this.hasCustomIcons) return\n const names = this.getAvailableNames()\n const index = names.indexOf(activeValue)\n if (index === -1) return\n const item = this.datas.iconList[index]\n if (!item) return\n navigateByLink(item, this.$router)\n },\n getCustomTabName(item, index) {\n if (item && item.iconName) return item.iconName\n return `tabbar-${index}`\n },\n getAvailableNames() {\n if (this.hasCustomIcons) {\n return this.datas.iconList.map((item, index) => this.getCustomTabName(item, index))\n }\n return this.defaultTabNames\n },\n normalizeHighlight(value) {\n const names = this.getAvailableNames()\n if (!names.length) return 'home'\n\n if (typeof value === 'string' && names.includes(value)) {\n return value\n }\n\n if (typeof value === 'number' && value >= 0 && value < names.length) {\n return names[value]\n }\n\n return names[0]\n },\n toHighlightValue(activeName) {\n const names = this.getAvailableNames()\n const index = names.indexOf(activeName)\n if (index === -1) return this.datas?.Highlight\n if (typeof this.datas?.Highlight === 'number') return index\n return activeName\n },\n resolveIconSource(source) {\n if (!source || typeof source !== 'string') return source\n const decodedSource = this.decodeInlineSvgPath(source)\n\n if (source.startsWith('data:image/') && decodedSource === source) return source\n\n if (\n source.includes('/@fs/') ||\n source.includes('/src/assets/images/tabbar-') ||\n decodedSource.includes('/@fs/') ||\n decodedSource.includes('/src/assets/images/tabbar-')\n ) {\n const hit = Object.keys(this.builtinTabbarIcons).find(\n (filename) => source.includes(filename) || decodedSource.includes(filename)\n )\n if (hit) {\n return this.builtinTabbarIcons[hit]\n }\n }\n\n return source\n },\n },\n\n computed: {\n hasCustomIcons() {\n return Array.isArray(this.datas?.iconList) && this.datas.iconList.length !== 0\n },\n shouldUseFixed() {\n return this.datas?.useFixed !== false\n },\n activeName: {\n get() {\n return this.normalizeHighlight(this.datas?.Highlight)\n },\n set(value) {\n if (!this.datas) return\n this.datas.Highlight = this.toHighlightValue(value)\n },\n },\n },\n}\n</script>\n\n<style lang=\"less\" scoped>\n#tabbar {\n width: 100%;\n z-index: 2;\n}\n\n#tabbar.tabbar--sticky {\n position: sticky;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n background: #fff;\n padding-bottom: env(safe-area-inset-bottom);\n box-sizing: border-box;\n}\n\n.tabbar {\n :deep(.van-icon) {\n width: 25px;\n height: 25px;\n img {\n display: block;\n width: 100%;\n height: 100%;\n }\n }\n}\n</style>\n","<template>\n <div class=\"videoss\">\n <!-- 默认视频 -->\n <section class=\"default\" v-if=\"!datas.src\">\n <van-icon name=\"tv-o\" size=\"150px\" />\n </section>\n\n <!-- 选择视频后 -->\n <section v-else style=\"position: relative\">\n <video\n :src=\"datas.src\"\n controls\n :autoplay=\"datas.autoplay\"\n :poster=\"datas.coverUrl\"\n ></video>\n </section>\n\n <!-- 删除组件 -->\n <slot name=\"deles\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'videoss',\n props: {\n datas: Object,\n },\n\n created() {\n },\n\n methods: {\n },\n}\n</script>\n\n<style scoped lang=\"less\">\n.videoss {\n position: relative;\n\n /* 默认视频 */\n .default {\n width: 100%;\n height: 210px;\n background: #979797;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n /* 播放图标 */\n .bof {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n font-size: 100px;\n opacity: 0.5;\n color: #999;\n }\n video{\n width: 100%;\n }\n}\n</style>\n","<template>\n <div class=\"component-renderer\" :style=\"{ minHeight: minHeight + 'px' }\">\n <!-- 页面头部导航 -->\n <div\n v-if=\"pageConfig && pageConfig.isPerson !== false\"\n class=\"page-header\"\n :style=\"{\n height: (pageConfig.titleHeight || 35) + 'px',\n backgroundColor: '#fff',\n }\"\n >\n <div class=\"header-content\">\n <van-icon\n v-if=\"pageConfig.isBack\"\n name=\"arrow-left\"\n size=\"18\"\n class=\"back-icon\"\n />\n <span class=\"page-title\">{{ pageConfig.name || '页面标题' }}</span>\n </div>\n </div>\n\n <!-- 页面主体内容 -->\n <div\n class=\"page-body\"\n :style=\"{\n position: 'absolute',\n top: headerHeight + 'px',\n left: 0,\n right: 0,\n bottom: fixedTabbar ? tabbarBottomOffset : 0,\n backgroundColor: pageConfig?.bgColor || '#f9f9f9',\n backgroundImage: pageConfig?.bgImg ? `url(${pageConfig.bgImg})` : 'none',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n }\"\n >\n <!-- 动态渲染组件 -->\n <component\n v-for=\"componentEntry in bodyComponentEntries\"\n :key=\"getComponentKey(componentEntry)\"\n :is=\"componentEntry.component.component\"\n :datas=\"componentEntry.component.setStyle\"\n :class=\"[\n 'rendered-component',\n { 'rendered-component--editable': showEditControls },\n { 'component-active': componentEntry.component.active && showEditControls }\n ]\"\n :style=\"getComponentStyle(componentEntry.component)\"\n @click=\"handleComponentClick(componentEntry.component, componentEntry.index)\"\n v-bind=\"getComponentProps(componentEntry.component)\"\n >\n <!-- 组件插槽内容 -->\n <template #deles v-if=\"showEditControls\">\n <div class=\"component-controls\" @click.stop=\"handleDeleteComponent(componentEntry.index)\">\n <span class=\"component-label\">{{ componentEntry.component.text }}</span>\n <van-icon name=\"delete\" size=\"14\" />\n </div>\n </template>\n </component>\n\n <!-- 空状态提示 -->\n <div v-if=\"bodyComponentEntries.length === 0 && fixedOverlayComponentEntries.length === 0\" class=\"empty-state\">\n <div class=\"empty-content\">\n <van-icon name=\"apps-o\" size=\"48\" color=\"#ccc\" />\n <p class=\"empty-text\">暂无组件内容</p>\n </div>\n </div>\n </div>\n\n <div\n v-if=\"fixedOverlayComponentEntries.length\"\n class=\"floating-component-layer\"\n :style=\"{\n top: headerHeight + 'px',\n bottom: fixedTabbar ? tabbarBottomOffset : 0,\n }\"\n >\n <component\n v-for=\"componentEntry in fixedOverlayComponentEntries\"\n :key=\"getComponentKey(componentEntry)\"\n :is=\"componentEntry.component.component\"\n :datas=\"componentEntry.component.setStyle\"\n :class=\"[\n 'rendered-component',\n { 'rendered-component--editable': showEditControls },\n { 'component-active': componentEntry.component.active && showEditControls }\n ]\"\n :style=\"getComponentStyle(componentEntry.component)\"\n @click=\"handleComponentClick(componentEntry.component, componentEntry.index)\"\n v-bind=\"{ ...getComponentProps(componentEntry.component), fixedInContainer: true }\"\n >\n <template #deles v-if=\"showEditControls\">\n <div class=\"component-controls\" @click.stop=\"handleDeleteComponent(componentEntry.index)\">\n <span class=\"component-label\">{{ componentEntry.component.text }}</span>\n <van-icon name=\"delete\" size=\"14\" />\n </div>\n </template>\n </component>\n </div>\n\n <div v-if=\"fixedTabbar\" class=\"fixed-tabbar\">\n <component :is=\"fixedTabbar.component\" :datas=\"{ ...fixedTabbar.setStyle, useFixed: false }\" />\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed, ref, onMounted } from 'vue'\n// 注意:组件工厂将在渲染器外部初始化和管理\n// import ComponentFactory from '@/utils/ComponentFactory'\n\n// 定义组件名称\ndefineOptions({\n name: 'ComponentRenderer'\n})\n\n// 定义Props\nconst props = defineProps({\n // 页面配置信息\n pageConfig: {\n type: Object,\n default: () => ({\n name: '页面标题',\n isPerson: false,\n isBack: true,\n titleHeight: 35,\n bgColor: '#f9f9f9',\n bgImg: '',\n }),\n },\n // 组件列表数据\n components: {\n type: Array,\n default: () => [],\n },\n // 最小高度\n minHeight: {\n type: Number,\n default: 600,\n },\n // 是否显示编辑控件\n showEditControls: {\n type: Boolean,\n default: false,\n },\n // 是否启用组件交互\n enableInteraction: {\n type: Boolean,\n default: true,\n },\n componentInteractive: {\n type: Boolean,\n default: true,\n },\n})\n\n// 定义Emits\nconst emit = defineEmits(['component-click', 'component-delete', 'renderer-ready'])\n\n// 响应式数据\nconst isReady = ref(false)\n\nconst tabbarHeight = 50\nconst tabbarBottomOffset = `calc(${tabbarHeight}px + env(safe-area-inset-bottom))`\nconst headerHeight = computed(() => {\n if (!props.pageConfig || props.pageConfig.isPerson === false) return 0\n return Number(props.pageConfig.titleHeight || 35)\n})\n\nconst componentEntries = computed(() =>\n (props.components || [])\n .map((component, index) => ({ component, index }))\n .filter((entry) => entry.component && entry.component.component)\n)\nconst isFixedOverlayComponent = (componentData) =>\n componentData?.component === 'suspension' && Boolean(componentData?.setStyle?.fixedToViewport)\nconst fixedTabbar = computed(() => componentEntries.value.find((entry) => entry.component.component === 'tabbar')?.component || null)\nconst bodyComponentEntries = computed(() =>\n componentEntries.value.filter((entry) => entry.component.component !== 'tabbar' && !isFixedOverlayComponent(entry.component))\n)\nconst fixedOverlayComponentEntries = computed(() =>\n componentEntries.value.filter((entry) => isFixedOverlayComponent(entry.component))\n)\n\nconst getComponentKey = ({ component, index }) => `${component.__editorId || component.component}_${index}`\n\n// 获取组件样式\nconst getComponentStyle = (componentData) => {\n const styles = {}\n \n // 如果组件处于激活状态且显示编辑控件,添加边框\n if (componentData.active && props.showEditControls) {\n styles.border = '2px solid #155bd4'\n }\n \n return styles\n}\n\n// 获取组件属性\nconst getComponentProps = (componentData) => {\n const componentProps = {}\n \n // 添加数据类型属性\n if (componentData.type) {\n componentProps['data-type'] = componentData.type\n }\n\n if (['commoditysearch', 'livemodule', 'listswitching'].includes(componentData.component)) {\n componentProps.componentInteractive = props.componentInteractive\n }\n \n return componentProps\n}\n\n// 处理组件点击事件\nconst handleComponentClick = (componentData, index) => {\n if (!props.enableInteraction) return\n \n emit('component-click', {\n component: componentData,\n index,\n })\n}\n\n// 处理组件删除事件\nconst handleDeleteComponent = (index) => {\n if (!props.enableInteraction) return\n \n emit('component-delete', { index })\n}\n\n// 初始化渲染器\nconst initRenderer = () => {\n // 渲染器已准备就绪\n isReady.value = true\n emit('renderer-ready')\n}\n\n// 生命周期钩子\nonMounted(() => {\n initRenderer()\n})\n</script>\n\n<style lang=\"less\" scoped>\n.component-renderer {\n width: 100%;\n height: 100%;\n position: relative;\n\n .page-header {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n\n .header-content {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 16px;\n\n .back-icon {\n margin-right: 12px;\n color: #333;\n }\n\n .page-title {\n font-size: 16px;\n font-weight: 500;\n color: #333;\n }\n }\n }\n\n .page-body {\n overflow: auto;\n box-sizing: border-box;\n\n .rendered-component {\n transition: all 0.2s ease;\n\n &.component-active {\n position: relative;\n z-index: 5;\n }\n\n .component-controls {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 30px;\n background: rgba(21, 91, 212, 0.9);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 8px;\n font-size: 12px;\n z-index: 10;\n cursor: pointer;\n\n .component-label {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n\n &:hover {\n background: rgba(21, 91, 212, 1);\n }\n }\n }\n\n .rendered-component--editable {\n position: relative;\n }\n\n .empty-state {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 400px;\n\n .empty-content {\n text-align: center;\n\n .empty-text {\n margin-top: 16px;\n color: #999;\n font-size: 14px;\n }\n }\n }\n }\n\n .floating-component-layer {\n position: absolute;\n left: 0;\n right: 0;\n z-index: 30;\n pointer-events: none;\n overflow: hidden;\n\n .rendered-component {\n pointer-events: auto;\n\n &.component-active {\n z-index: 5;\n }\n }\n }\n\n .component-controls {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 30px;\n background: rgba(21, 91, 212, 0.9);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 8px;\n font-size: 12px;\n z-index: 10;\n cursor: pointer;\n\n .component-label {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n\n &:hover {\n background: rgba(21, 91, 212, 1);\n }\n }\n\n .fixed-tabbar {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 20;\n background: #fff;\n }\n}\n\n// 确保组件样式不受外部影响\n.rendered-component {\n box-sizing: border-box;\n}\n</style>\n","export default \"<svg width=\\\"64\\\" height=\\\"64\\\" viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M10 28.5L32 11L54 28.5V51C54 53.2091 52.2091 55 50 55H40C38.8954 55 38 54.1046 38 53V41C38 39.8954 37.1046 39 36 39H28C26.8954 39 26 39.8954 26 41V53C26 54.1046 25.1046 55 24 55H14C11.7909 55 10 53.2091 10 51V28.5Z\\\" fill=\\\"#1989FA\\\"/>\\n</svg>\\n\"","export default \"<svg width=\\\"64\\\" height=\\\"64\\\" viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M11 29L32 12.5L53 29V51C53 52.1046 52.1046 53 51 53H41V41C41 38.2386 38.7614 36 36 36H28C25.2386 36 23 38.2386 23 41V53H13C11.8954 53 11 52.1046 11 51V29Z\\\" stroke=\\\"#7D7E80\\\" stroke-width=\\\"4\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\\n\"","export default \"<svg width=\\\"64\\\" height=\\\"64\\\" viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <circle cx=\\\"32\\\" cy=\\\"22\\\" r=\\\"10\\\" fill=\\\"#1989FA\\\"/>\\n <path d=\\\"M14 50C14 40.0589 22.0589 32 32 32C41.9411 32 50 40.0589 50 50V52C50 53.6569 48.6569 55 47 55H17C15.3431 55 14 53.6569 14 52V50Z\\\" fill=\\\"#1989FA\\\"/>\\n</svg>\\n\"","export default \"<svg width=\\\"64\\\" height=\\\"64\\\" viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <circle cx=\\\"32\\\" cy=\\\"22\\\" r=\\\"9\\\" stroke=\\\"#7D7E80\\\" stroke-width=\\\"4\\\"/>\\n <path d=\\\"M16 51C16 42.1634 23.1634 35 32 35C40.8366 35 48 42.1634 48 51V52C48 52.5523 47.5523 53 47 53H17C16.4477 53 16 52.5523 16 52V51Z\\\" stroke=\\\"#7D7E80\\\" stroke-width=\\\"4\\\"/>\\n</svg>\\n\"","import tabbarHomeActiveSvg from '../assets/images/tabbar-home-active.svg?raw'\nimport tabbarHomeInactiveSvg from '../assets/images/tabbar-home-inactive.svg?raw'\nimport tabbarProfileActiveSvg from '../assets/images/tabbar-profile-active.svg?raw'\nimport tabbarProfileInactiveSvg from '../assets/images/tabbar-profile-inactive.svg?raw'\n\nconst svgToDataUri = (svg) => `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`\nconst tabbarHomeActive = svgToDataUri(tabbarHomeActiveSvg)\nconst tabbarHomeInactive = svgToDataUri(tabbarHomeInactiveSvg)\nconst tabbarProfileActive = svgToDataUri(tabbarProfileActiveSvg)\nconst tabbarProfileInactive = svgToDataUri(tabbarProfileInactiveSvg)\n\nconst componentProperties = new Map()\n\n// 数据版本 每次修改组件数据 需要对版本进行修改\n// componentProperties.set('componentPropertiesVersion', 'V1.0.0')\n\ncomponentProperties.set('captiontext', {\n component: 'captiontext',\n text: '标题文字',\n type: '1-3',\n active: true,\n style: 'captiontextsstyle',\n setStyle: {\n text: '标题文字',\n name: '标题文字', //标题内容\n description: '', //描述内容\n wordSize: 16, //标题大小\n descriptionSize: 12, //描述大小\n wordWeight: 400, //标题粗细\n positions: 'left', //显示位置 可选left/center\n descriptionWeight: 200, //描述粗细\n wordColor: 'rgba(50, 50, 51, 10)', //标题颜色\n descriptionColor: 'rgba(150, 151, 153, 10)', //描述颜色\n backColor: 'rgba(255, 255, 255, 10)', //背景颜色\n borderBott: false, //底部分割线\n wordHeight: 24, //框体高度\n more: {\n //查看更多\n show: false, //是否显示查看更多\n type: 1, // 样式选择\n text: '查看更多', //自定义文字\n httpType: 10, //链接类型\n http: '', //链接\n },\n },\n})\n\ncomponentProperties.set('listswitching', {\n component: 'listswitching',\n text: '商品',\n type: '2-1',\n active: true,\n style: 'listswitchingstyle',\n setStyle: {\n text: '商品',\n commodityType: 0,\n moditystyle: 0,\n borderRadius: 0,\n pageMargin: 15,\n commodityMargin: 10,\n textWeight: 400,\n positions: 'left',\n priceofcommodity: true,\n purchasebutton: true,\n commoditycorner: true,\n purchasebuttonType: 5,\n commoditycornertype: 0,\n commodityTagColor: '#07c160',\n tagPosition: 0,\n imageList: [],\n purchase: '立即购买',\n commoditylisttype: 0,\n commoditylisttypetab: [\n {\n text: '分组',\n imageList: [],\n },\n {\n text: '分组',\n imageList: [],\n },\n ],\n tabColor: '#f39800',\n showMore: false,\n moreUrl: null,\n bgImg: '',\n },\n})\n\ncomponentProperties.set('pictureads', {\n component: 'pictureads',\n text: '图片广告',\n type: '1-3',\n active: true,\n style: 'pictureadsstyle',\n setStyle: {\n text: '图片广告',\n swiperType: 0, // 选择模板\n borderRadius: 0, // 图片倒角\n pageMargin: 0, // 页面边距\n imageMargin: 0, // 图片边距\n pagingType: 0, // 分页类型: 0/\"bullets\"/\"fraction\"/\"progressbar\"\n rowindividual: 2, // 一行个数\n imageList: [], // 添加图片\n },\n})\n\ncomponentProperties.set('graphicnavigation', {\n component: 'graphicnavigation',\n text: '图文导航',\n type: '1-4',\n active: true,\n style: 'graphicnavigationstyle',\n setStyle: {\n text: '图文导航',\n imageList: [], // 图片导航列表\n navigationType: 0, //图片导航类型\n imgStyle: 0, //图片样式\n backgroundColor: 'rgb(255, 255, 255)', //背景颜色\n textColor: 'rgb(0, 0, 0)', //文字颜色\n borderRadius: 0, //图片倒角\n showSize: 5, //一屏显示个数\n textHeight: 24, // 字体高度\n textSize: 12, // 字体大小\n bgImg: '',\n },\n})\n\ncomponentProperties.set('richtext', {\n component: 'richtext',\n text: '富文本',\n type: '1-10',\n active: true,\n style: 'richtextstyle',\n setStyle: {\n text: '富文本',\n myValue: '', //富文本内容\n backColor: 'rgb(249, 249, 249)', //背景颜色\n },\n})\ncomponentProperties.set('magiccube', {\n component: 'magiccube',\n text: '魔方',\n type: '1-6',\n active: true,\n style: 'magiccubestyle',\n setStyle: {\n text: '魔方',\n rubiksCubeType: 0, // 魔方类型\n pageMargin: 0, //页面间距\n imgMargin: 0, //图片间隙\n imageList: [\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n src: '',\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n ], //图片列表\n },\n})\ncomponentProperties.set('auxiliarysegmentation', {\n component: 'auxiliarysegmentation',\n text: '辅助分割',\n type: '1-11',\n active: true,\n style: 'auxiliarysegmentationstyle',\n setStyle: {\n text: '辅助分割',\n blankHeight: 30, //空白高度\n segmentationtype: 0, //分割类型\n paddType: 0, //边距\n auxliarColor: 'rgb(229, 229, 229)', //辅助线颜色\n bordertp: 'solid', //线的类型\n },\n})\ncomponentProperties.set('commoditysearch', {\n component: 'commoditysearch',\n text: '商品搜索',\n type: '1-1',\n active: true,\n style: 'commoditysearchstyle',\n setStyle: {\n text: '商品搜索',\n heights: 28, //搜索栏高度\n position: 0, //显示位置\n borderRadius: 0, //框体样式\n textPosition: 0, //文本位置\n backgroundColor: 'rgb(249, 249, 249)', //背景颜色\n borderColor: 'rgb(255, 255, 255)', //框体颜色\n textColor: 'rgb(150, 151, 153)', //字体颜色\n linktype: '10',\n http: { externalLink: '', routePath: '/product/search', queryParams: {} },\n },\n})\ncomponentProperties.set('storeinformation', {\n component: 'storeinformation',\n text: '店铺信息',\n type: '1-12',\n active: true,\n style: 'storeinformationstyle',\n setStyle: {\n text: '店铺信息',\n bakcgroundImg: '', //背景图片\n headPortrait: '', //店铺头像\n rubiksCubeType: 0, //类型\n name: '店铺名称', //店铺名称\n description: '', //描述\n Discount: '', //兼容旧字段\n },\n})\ncomponentProperties.set('entertheshop', {\n component: 'entertheshop',\n text: '单元格',\n type: '1-13',\n active: true,\n style: 'entertheshopstyle',\n setStyle: {\n text: '单元格',\n icon: '', // 左侧图标\n shopName: '左侧标题',\n copywriting: '右侧内容',\n type: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n})\ncomponentProperties.set('notice', {\n component: 'notice',\n text: '公告',\n type: '1-7',\n active: true,\n style: 'noticestyle',\n setStyle: {\n text: '公告',\n noticeText: '请填写内容,如果过长,将会在手机上滚动显示', //内容\n backColor: 'rgb(255, 248, 233)', //背景颜色\n textColor: 'rgba(100, 101, 102)', //文字颜色\n },\n})\ncomponentProperties.set('videoss', {\n component: 'videoss',\n text: '视频',\n type: '1-8',\n active: true,\n style: 'videostyle',\n setStyle: {\n text: '视频',\n sourceType: 'custom',\n customSrc: '',\n customCoverUrl: '',\n materialId: null,\n materialFileId: '',\n materialTitle: '',\n materialSrc: '',\n materialCoverUrl: '',\n src: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4', // 视频地址\n coverUrl: null, // 封面地址\n autoplay: false, // 是否自动播放\n },\n})\n\ncomponentProperties.set('custommodule', {\n component: 'custommodule',\n text: '自定义模块',\n type: 'demo',\n active: true,\n style: 'custommodulestyle',\n setStyle: {\n text: '自定义模块',\n demo: '自定义内容',\n img: 'https://img2.baidu.com/it/u=1905875968,4289754134&fm=26&fmt=auto&gp=0.jpg',\n },\n})\ncomponentProperties.set('communitypowder', {\n component: 'communitypowder',\n text: '社群涨粉',\n type: '1-14',\n active: true,\n style: 'communitypowderstyle',\n setStyle: {\n text: '社群涨粉',\n mainImg: '', //入口图片\n qrcodeImg: '', //二维码\n title: '标题', //标题\n describe: '辅助描述', //描述\n buttonName: '立即添加', //按钮名称\n backColor: 'rgb(255, 255, 255)', //背景颜色\n },\n})\ncomponentProperties.set('storenotecard', {\n component: 'storenotecard',\n text: '文章模块',\n type: '2-2',\n active: true,\n style: 'storenotecardstyle',\n setStyle: {\n text: '文章模块',\n name: '这里显示专题名称', //专题名称\n commodityType: 0, // 选择模板\n moditystyle: 0, // 卡片样式选择\n borderRadius: 0, // 图片边角\n textWeight: 400, // 标题粗细\n noteLabels: true, // 笔记标签\n readingNumber: true, // 阅读数\n praisePoints: true, //点赞数\n viewMore1: true, //更多1\n viewMore2: true, //更多2\n imageList: [],\n positions: 'bottom', //标题位置\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n})\ncomponentProperties.set('investigate', {\n component: 'investigate',\n text: '表单模块',\n type: '2-3',\n active: true,\n style: 'investigatestyle',\n setStyle: {\n text: '表单模块',\n title: '表单模块',\n jsonData: [], //value1为sass显示内容,value2为前端显示内容\n },\n})\ncomponentProperties.set('tabbar', {\n component: 'tabbar',\n text: '底部导航',\n type: '1-5',\n active: true,\n style: 'tabbarStyle',\n setStyle: {\n text: '底部导航',\n activeColor: '#1989fa',\n inactiveColor: '#7d7e80',\n isShowBorder: true,\n iconWidth: '25',\n iconHeight: '25',\n fontSize: '14',\n Highlight: 0,\n iconList: [\n {\n iconName: 'home',\n iconText: '首页',\n iconPic: tabbarHomeActive,\n inactive: tabbarHomeInactive,\n isDot: false,\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n {\n iconName: 'profile',\n iconText: '个人中心',\n iconPic: tabbarProfileActive,\n inactive: tabbarProfileInactive,\n isDot: false,\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n ],\n },\n})\ncomponentProperties.set('follow', {\n component: 'follow',\n text: '关注公众号',\n type: '1-15',\n active: true,\n style: 'followStyle',\n setStyle: {\n text: '关注公众号',\n heade: 'https://imgs.starfirelink.com/miniShop//logo_1618466110849.png',\n followName: '公众号名称',\n followAppId: '',\n },\n})\ncomponentProperties.set('suspension', {\n component: 'suspension',\n text: '悬浮按钮',\n type: '1-16',\n active: true,\n style: 'suspensionstyle',\n setStyle: {\n text: '悬浮按钮',\n image: '',\n size: 48,\n horizontalPosition: 'right',\n verticalPosition: 'bottom',\n offsetX: 12,\n offsetY: 80,\n borderRadius: 50,\n fixedToViewport: false,\n linktype: '10',\n http: { externalLink: '', routePath: '', queryParams: {} },\n },\n})\n\ncomponentProperties.set('coursemodule', {\n component: 'coursemodule',\n text: '课程',\n type: '2-4',\n active: true,\n style: 'coursemodulestyle',\n setStyle: {\n text: '课程',\n title: '精品课程',\n showTitle: true,\n showMore: true,\n moreText: '查看更多',\n moreColor: '#1989fa',\n layoutType: 0, // 0:网格 1:列表 2:卡片\n columnsPerRow: 2,\n itemSpacing: 10,\n backgroundColor: '#ffffff',\n containerPadding: 10,\n containerMargin: 0,\n listPadding: 5,\n // 标题样式\n titleFontSize: 16,\n titleColor: '#333333',\n titleFontWeight: 'bold',\n titleAlign: 'left',\n // 课程项样式\n itemBackgroundColor: '#ffffff',\n itemRadius: 8,\n itemPadding: 8,\n showBorder: true,\n borderColor: '#f0f0f0',\n showShadow: false,\n imageRadius: 6,\n // 课程标题\n courseTitleFontSize: 14,\n courseTitleColor: '#333333',\n courseTitleFontWeight: 'normal',\n // 描述文字\n showDescription: true,\n descriptionFontSize: 12,\n descriptionColor: '#666666',\n // 讲师信息\n showTeacher: true,\n teacherFontSize: 12,\n teacherColor: '#999999',\n // 价格信息\n showPrice: true,\n priceFontSize: 16,\n priceColor: '#ff6b35',\n showOriginalPrice: true,\n // 学习人数\n showStudentCount: true,\n studentCountFontSize: 11,\n studentCountColor: '#999999',\n // 按钮\n showButton: true,\n buttonText: '立即学习',\n buttonColor: '#1989fa',\n buttonFontSize: 12,\n // 标签\n showTag: true,\n tagColor: '#07c160',\n defaultTag: '热门',\n // 时长\n showDuration: true,\n courseList: [],\n },\n})\n\ncomponentProperties.set('livemodule', {\n component: 'livemodule',\n text: '直播',\n type: '2-5',\n active: true,\n style: 'livemodulestyle',\n setStyle: {\n text: '直播',\n title: '精彩直播',\n showTitle: true,\n showMore: true,\n moreText: '查看更多',\n moreColor: '#1989fa',\n layoutType: 0, // 0:网格 1:列表 2:卡片\n columnsPerRow: 1,\n itemSpacing: 12,\n backgroundColor: '#ffffff',\n containerPadding: 10,\n containerMargin: 0,\n listPadding: 5,\n // 标题样式\n titleFontSize: 16,\n titleColor: '#333333',\n titleFontWeight: 'bold',\n titleAlign: 'left',\n // 直播项样式\n itemBackgroundColor: '#ffffff',\n itemRadius: 8,\n itemPadding: 8,\n showBorder: true,\n borderColor: '#f0f0f0',\n showShadow: false,\n imageRadius: 6,\n // 直播标题\n liveTitleFontSize: 14,\n liveTitleColor: '#333333',\n liveTitleFontWeight: 'normal',\n // 描述文字\n showDescription: true,\n descriptionFontSize: 12,\n descriptionColor: '#666666',\n // 主播信息\n showAnchor: true,\n anchorFontSize: 12,\n anchorColor: '#666666',\n showAnchorTag: true,\n // 观看人数\n showViewerCount: true,\n // 直播时间\n showLiveTime: true,\n // 分类标签\n showCategory: true,\n categoryColor: '#1989fa',\n // 按钮\n showButton: true,\n liveButtonText: '进入直播',\n previewButtonText: '预约直播',\n liveButtonColor: '#ff6b35',\n previewButtonColor: '#1989fa',\n buttonFontSize: 12,\n // 热度值\n showHeatValue: true,\n heatValueFontSize: 11,\n heatValueColor: '#ff6b35',\n liveList: [],\n },\n})\n\nexport default componentProperties\n","// lib/index.js\nimport ComponentRenderer from '../src/components/ComponentRenderer/index.vue'\nimport componentProperties from '../src/utils/componentProperties.js'\n\n// 动态导入 componentscom 目录下的组件\nconst modules = import.meta.glob('../src/components/componentscom/*/index.vue', { eager: true })\nconst components = {}\n\n// 遍历导入的模块,自动注册\nObject.keys(modules).forEach(path => {\n const match = path.match(/componentscom\\/([^\\/]+)\\//)\n if (!match) return\n const name = match[1] // 文件夹名作为组件名,不修改\n const comp = modules[path].default\n if (comp) {\n components[name] = comp\n }\n})\n\n// Vue 插件安装函数\nconst install = (app) => {\n // 注册 ComponentRenderer\n if (ComponentRenderer) {\n app.component('ComponentRenderer', ComponentRenderer)\n }\n\n // 全局注册 componentscom 下的组件\n Object.keys(components).forEach(key => {\n const comp = components[key]\n if (comp && comp.name) {\n app.component(comp.name || key, comp)\n }\n })\n}\n\n// 默认导出插件 + ComponentRenderer\nexport default {\n install,\n ComponentRenderer,\n componentProperties,\n}\n\nexport { ComponentRenderer, componentProperties, components }\n"],"names":["_sfc_main","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_normalizeStyle","$props","_vShow","_renderSlot","_ctx","resolveLink","linkData","http","linktype","query","queryString","k","v","navigateByLink","router","getPrefix","resolved","prefix","more","_a","_toDisplayString","_normalizeClass","$options","args","params","path","routePrefix","rawPath","value","key","extraQuery","target","_b","_d","_c","_createVNode","_component_van_icon","_imports_0$4","_hoisted_2","_hoisted_3","_imports_0","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_4","_component_van_button","_createTextVNode","_imports_0$3","_hoisted_5","_hoisted_12","_hoisted_15","_hoisted_17","_Fragment","_renderList","index","_createBlock","_component_van_tag","_cache","_hoisted_9","_hoisted_10","_hoisted_11","course","_hoisted_14","_hoisted_16","_hoisted_18","_hoisted_19","_hoisted_20","_component_van_cell","item","$event","index1","el","item1","_component_van_cell_group","_component_van_field","_component_van_radio_group","_component_van_radio","_component_van_checkbox_group","_component_van_checkbox","type","description","currentPath","mainIndex","event","productId","i","_hoisted_13","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_26","_hoisted_30","$data","_withDirectives","_component_van_tabs","_component_van_tab","_hoisted_21","_component_van_tree_select","_hoisted_29","_hoisted_31","normalizedValue","live","routeParams","browserWindow","uniacid","pathSegments","status","liveStatus","enablePreviewPage","isLiving","isPreLive","liveId","targetPage","pathPrefix","videoStyle","searchParams","targetRoute","cleaned","_imports_0$2","_hoisted_28","_component_van_notice_bar","element","Swiper","_imports_0$1","_imports_1","_hoisted_32","_hoisted_35","_hoisted_38","_hoisted_39","_hoisted_25","_hoisted_34","_hoisted_37","defaultSuspensionImage","toFiniteNumber","fallback","numberValue","oppositeVerticalPosition","oppositeHorizontalPosition","tabbarHomeActiveSvg$1","tabbarHomeInactiveSvg$1","tabbarProfileActiveSvg$1","tabbarProfileInactiveSvg$1","tabbarHomeActiveSvg","tabbarHomeInactiveSvg","tabbarProfileActiveSvg","tabbarProfileInactiveSvg","source","inlineSvgPrefix","activeValue","names","activeName","decodedSource","hit","filename","_component_van_tabbar","_component_van_tabbar_item","_withCtx","props","tabbarHeight","__props","emit","__emit","isReady","ref","tabbarBottomOffset","headerHeight","computed","componentEntries","component","entry","isFixedOverlayComponent","componentData","fixedTabbar","bodyComponentEntries","fixedOverlayComponentEntries","getComponentKey","getComponentStyle","styles","getComponentProps","componentProps","handleComponentClick","handleDeleteComponent","initRenderer","onMounted","componentEntry","_resolveDynamicComponent","_mergeProps","_createSlots","_withModifiers","svgToDataUri","svg","tabbarHomeActive","tabbarHomeInactive","tabbarProfileActive","tabbarProfileInactive","componentProperties","modules","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5","__vite_glob_0_6","__vite_glob_0_7","__vite_glob_0_8","__vite_glob_0_9","__vite_glob_0_10","__vite_glob_0_11","__vite_glob_0_12","__vite_glob_0_13","__vite_glob_0_14","__vite_glob_0_15","__vite_glob_0_16","__vite_glob_0_17","__vite_glob_0_18","__vite_glob_0_19","__vite_glob_0_20","__vite_glob_0_21","__vite_glob_0_22","__vite_glob_0_23","__vite_glob_0_24","components","match","name","comp","install","app","ComponentRenderer"],"mappings":";;;;;;;GAyBKA,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GA7BOC,KAAA,EAAA,OAAM,wBAAuB;;AAAlC,SAAAC,EAAA,GAAAC,EAoBM,OApBNF,IAoBM;AAAA,IAnBJG,EAeU,WAAA;AAAA,MAdR,OAAM;AAAA,MACL,OAAKC,EAAA;AAAA,QAAoB,QAAAC,EAAA,MAAM,cAAW;AAAA,QAA0B,SAAAA,EAAA,MAAM,aAAQ,IAAA,QAAA;AAAA;;QAKnFF,EAOE,OAAA;AAAA,QALA,UAAA,EAAuD,QAAA,OAAA,OAAA,QAAA,oBAAA,MAAA,GAAA;AAAA,UACf,oBAAAE,EAAA,MAAM;AAAA,UAAwC,oBAAAA,EAAA,MAAM;AAAA;;QAFpF,CAAAC,GAAAD,EAAA,MAAM,qBAAgB,CAAA;AAAA;;IAUlCE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACAlB,SAASC,GAAYC,GAAU;AACpC,MAAI,CAACA;AAAU,WAAO;AAEtB,QAAMC,IAAOD,EAAS,QAAQ,CAAE,GAC1BE,IAAW,OAAOF,EAAS,YAAYA,EAAS,QAAQ,IAAI;AAGlE,MAAIE,MAAa,MAAM;AAErB,QAAID,EAAK,WAAW;AAClB,YAAME,IAAQF,EAAK,eAAe,CAAE,GAE9BG,IADW,OAAO,KAAKD,CAAK,EAAE,KAAK,CAACE,MAAMF,EAAME,CAAC,CAAC,IAEpD,MACA,OAAO,QAAQF,CAAK,EACjB,OAAO,CAAC,CAAA,EAAGG,CAAC,MAAMA,CAAC,EACnB,IAAI,CAAC,CAACD,GAAGC,CAAC,MAAM,GAAGD,CAAC,IAAI,mBAAmBC,CAAC,CAAC,EAAE,EAC/C,KAAK,GAAG,IACX;AACJ,aAAO,EAAE,MAAM,YAAY,MAAML,EAAK,YAAYG,EAAa;AAAA,IAChE;AAGD,WAAIH,EAAK,eACA,EAAE,MAAM,YAAY,MAAMA,EAAK,aAAc,IAG/C;AAAA,EACR;AAED,SAAIC,MAAa,QACXD,EAAK,eACA,EAAE,MAAM,YAAY,KAAKA,EAAK,aAAc,IAKhD;AACT;AAQO,SAASM,EAAeP,GAAUQ,GAAQC,GAAW;AAC1D,QAAMC,IAAWX,GAAYC,CAAQ;AACrC,MAAKU;AAEL,QAAIA,EAAS,SAAS;AACpB,UAAIF;AACF,QAAAA,EAAO,KAAKE,EAAS,IAAI;AAAA,WACpB;AAEL,cAAMC,IAASF,IAAYA,EAAU,EAAK,IAAI;AAC9C,eAAO,SAAS,OAAOE,IAASD,EAAS;AAAA,MAC1C;AAAA;AACI,MAAIA,EAAS,SAAS,eAC3B,OAAO,SAAS,OAAOA,EAAS;AAEpC;ACfA,MAAKrB,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,SAAS;AAAA,IACP,kBAAkB;;AAChB,YAAMuB,KAAOC,IAAA,KAAK,UAAL,gBAAAA,EAAY;AACzB,UAAI,EAACD,KAAA,QAAAA,EAAM,SAAQ,EAACA,KAAA,QAAAA,EAAM;AAAU;AAEpC,YAAMZ,IAAW;AAAA,QACf,UAAU,OAAOY,EAAK,YAAY,EAAE;AAAA,QACpC,MAAM,OAAOA,EAAK,QAAS,WAAWA,EAAK,OAAO,EAAE,cAAcA,EAAK,QAAQ,GAAI;AAAA,MACrF;AACA,MAAAL,EAAeP,GAAU,KAAK,OAAO;AAAA,IACtC;AAAA,EACF;AACH;;cAlFER,EA2DM,OAAA;AAAA,IA3DD,OAAM;AAAA,IAAe,OAAKE,EAAA,EAAA,YAAgBC,EAAK,MAAC,WAAS;AAAA;IAC5DF,EAsDM,OAAA;AAAA,MArDJ,UAAA,EAAsB,SAAA,QAAA,GAAA;AAAA,QACa,iBAAAE,EAAA,MAAM;;;MAmBjCA,EAAA,MAAM,aAZdH,EAeK,MAAA;AAAA;QAdF,OAAKE,EAAA;AAAA,UAA2B,aAAAC,EAAA,MAAM,WAAQ;AAAA,UAAkC,eAAAA,EAAA,MAAM;AAAA,UAA6B,OAAAA,EAAA,MAAM;AAAA,UAAmC,cAAAA,EAAA,MAAM;AAAA,UAA6B,QAAAA,EAAA,MAAM,aAAU;AAAA,UAAkC,eAAAA,EAAA,MAAM,aAAU;AAAA,UAAsC,iBAAAA,EAAA,MAAM,cAAS,YAAiBA,QAAM,KAAK;;MAahV,GAAAmB,EAAAnB,EAAA,MAAM,IAAI,GAAA,CAAA;MAYPA,EAAA,MAAM,oBARdH,EAWI,KAAA;AAAA;QAVD,OAAKE,EAAA,CAAA;AAAA,UAA2B,aAAAC,EAAA,MAAM,kBAAe;AAAA,UAAkC,eAAAA,EAAA,MAAM;AAAA,UAAoC,OAAAA,EAAA,MAAM;AAAA,UAA0C,cAAAA,EAAA,MAAM;AAAA,WAMxL,EAAuB,cAAA,MAAA,CAAA,CAAA;AAAA,MAGpB,GAAAmB,EAAAnB,EAAA,MAAM,WAAW,GAAA,CAAA;QAItBF,EAYI,KAAA;AAAA,QAXF,OAAMsB,EAAA,CAAA,QAEEpB,EAAA,MAAM,cAAS,WAAA,QAAA,EAAA,CAAA;AAAA,QACtB,OAAKD,EAAA;AAAA,iBAAqBC,EAAK,MAAC,KAAK,SAAI,IAAA,SAAA;AAAA,UAAsC,MAAAA,EAAA,MAAM,aAAU,KAAA,IAAA;AAAA;QAI/F,mCAAOqB,EAAe,mBAAAA,EAAA,gBAAA,GAAAC,CAAA;AAAA;YAEpBtB,EAAK,MAAC,KAAK,SAAI,IAAA,KAAcA,EAAK,MAAC,KAAK,IAAI,IAAG,KAClD,CAAA;AAAA,QAAAF,EAAoD,QAA1C,MAAAqB,EAAAnB,EAAA,MAAM,KAAK,SAAI,IAAA,KAAA,GAAA,GAAA,CAAA;AAAA;YATjBA,EAAK,MAAC,KAAK,IAAI;AAAA;;IAc3BE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACxBzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,IACD,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,iBAAiB;;AACf,YAAM6B,MAASL,IAAA,KAAK,WAAL,gBAAAA,EAAa,WAAU,CAAC;AACvC,aAAIK,EAAO,WAAWA,EAAO,OACpB,IAAIA,EAAO,OAAO,IAAIA,EAAO,IAAI,KAGnC;AAAA,IACR;AAAA,IACD,gBAAgBC,GAAM;AACpB,UAAI,CAACA,KAAQ,CAACA,EAAK,WAAW,GAAG;AAAG,eAAOA;AAE3C,YAAMC,IAAc,KAAK,eAAe;AACxC,aAAI,CAACA,KAAeD,EAAK,WAAW,GAAGC,CAAW,GAAG,IAAUD,IAExD,GAAGC,CAAW,GAAGD,CAAI;AAAA,IAC7B;AAAA,IACD,kBAAkBE,GAAS;AACzB,YAAM,CAACF,GAAMf,IAAc,EAAE,IAAI,OAAOiB,KAAW,EAAE,EAAE,MAAM,GAAG,GAC1DlB,IAAQ,CAAC;AAEf,aAAIC,KACF,IAAI,gBAAgBA,CAAW,EAAE,QAAQ,CAACkB,GAAOC,MAAQ;AACvD,QAAApB,EAAMoB,CAAG,IAAID;AAAA,OACd,GAGI;AAAA,QACL,MAAM,KAAK,gBAAgBH,KAAQ,iBAAiB;AAAA,QACpD,OAAAhB;AAAA,MACF;AAAA,IACD;AAAA,IACD,iBAAiBkB,GAASG,IAAa,IAAI;AACzC,YAAMC,IAAS,KAAK,kBAAkBJ,CAAO,GACvClB,IAAQ,EAAE,GAAGsB,EAAO,OAAO,GAAGD,EAAW;AAE/C,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,KAAK;AAAA,UAChB,MAAMC,EAAO;AAAA,UACb,OAAAtB;AAAA,SACD;AACD;AAAA,MACF;AAEA,YAAMC,IAAc,IAAI,gBAAgBD,CAAK,EAAE,SAAS;AACxD,aAAO,SAAS,OAAOC,IAAc,GAAGqB,EAAO,IAAI,IAAIrB,CAAW,KAAKqB,EAAO;AAAA,IAC/E;AAAA,IACD,oBAAoB;;AAClB,UAAI,CAAC,KAAK;AAAsB;AAGhC,YADsBC,KAAAb,IAAA,KAAK,UAAL,gBAAAA,EAAY,SAAZ,gBAAAa,EAAkB,gBAAaC,KAAAC,IAAA,KAAK,UAAL,gBAAAA,EAAY,SAAZ,gBAAAD,EAAkB,eACpD;AACjB,cAAMjB,IAAWX,GAAY;AAAA,UAC3B,UAAU,KAAK,MAAM,YAAY,KAAK,MAAM,QAAQ;AAAA,UACpD,MAAM,KAAK,MAAM;AAAA,SAClB;AAED,aAAIW,KAAA,gBAAAA,EAAU,UAAS,YAAY;AACjC,iBAAO,SAAS,OAAOA,EAAS;AAChC;AAAA,QACF;AAEA,aAAIA,KAAA,gBAAAA,EAAU,UAAS,YAAY;AACjC,eAAK,iBAAiBA,EAAS,IAAI;AACnC;AAAA,QACF;AAAA,MACF;AAEA,WAAK,iBAAiB,iBAAiB;AAAA,IACxC;AAAA,EACF;AACH;;;cArHElB,EA4BM,OAAA;AAAA,IA3BJ,UAAM,mBAAiB,EAAA,2BACc,OAAOG,EAAA,MAAM,QAAQ,MAAA,EAAA,CAAA,CAAA;AAAA,IACzD,OAAKD,EAAA;AAAA,MAAsB,YAAAC,EAAA,MAAM;AAAA;IAGjC,mCAAOqB,EAAiB,qBAAAA,EAAA,kBAAA,GAAAC,CAAA;AAAA;IAGzBxB,EAeU,WAAA;AAAA,MAdR,OAAM;AAAA,MACL,OAAKC,EAAA;AAAA,QAAoB,QAAAC,EAAA,MAAM,UAAO;AAAA,QAA6B,YAAAA,EAAA,MAAM;AAAA,QAAsC,iBAAAA,EAAA,MAAM,iBAAY,IAAA,QAAA;AAAA;;MAMlIF,EAMM,OAAA;AAAA,QALJ,UAAM,kBAAgB,EAAA,0BACc,OAAOE,EAAA,MAAM,YAAY,MAAA,EAAA,CAAA,CAAA;AAAA;QAE7DkC,EAAkFC,GAAA;AAAA,UAAxE,MAAK;AAAA,UAAS,OAAM;AAAA,UAAe,OAAKpC,EAAA,EAAA,OAAWC,EAAK,MAAC,WAAS;AAAA;QAC5EF,EAA8E,QAAA;AAAA,UAAxE,OAAM;AAAA,UAAoB,OAAKC,EAAA,EAAA,OAAWC,EAAK,MAAC,WAAS;AAAA,WAAI,QAAI,CAAA;AAAA;;IAK3EE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;8CC5BViC,KAAA;AC+Bf,MAAK1C,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GAnCOC,KAAA,EAAA,OAAM,kBAAiB,GAInB0C,KAAA,EAAA,OAAM,YAAW,GACfC,KAAA,EAAA,OAAM,MAAK;;EAEZ,WAAU;AAAA,EACV,KAAAC;AAAAA,EACA,KAAI;iBAIDC,KAAA,EAAA,OAAM,OAAM,GACZC,KAAA,EAAA,OAAM,QAAO,GACbC,KAAA,EAAA,OAAM,OAAM;;;AAfzB,SAAA9C,EAAA,GAAAC,EA0BM,OA1BNF,IA0BM;AAAA,IAxBJG,EAoBU,WAAA;AAAA,MApBD,OAAM;AAAA,MAAU,OAAKC,EAAA,EAAA,YAAgBC,EAAK,MAAC,WAAS;AAAA;MAE3DF,EAiBM,OAjBNuC,IAiBM;AAAA,QAhBJvC,EAYM,OAZNwC,IAYM;AAAA,UAPKtC,EAAA,MAAM,gBAEfH,EAA4D,OAAA;AAAA;YAAvD,WAAU;AAAA,YAAS,KAAKG,EAAK,MAAC;AAAA,YAAS,KAAI;AAAA,8BANhDJ,KAAAC,EAKE,OALF8C,EAKE;AAAA,UAEF7C,EAGM,OAHN0C,IAGM;AAAA,YAFJ1C,EAAsC,KAAtC2C,IAAoBtB,EAAAnB,EAAA,MAAM,KAAK,GAAA,CAAA;AAAA,YAC/BF,EAAwC,KAAxC4C,IAAmBvB,EAAAnB,EAAA,MAAM,QAAQ,GAAA,CAAA;AAAA;;QAGrCkC,EAEeU,GAAA;AAAA,UAFH,OAAM;AAAA,UAAM,MAAK;AAAA,UAAS,OAAM;AAAA;qBAAO,MAEjD;AAAA,YADAC,EAAA1B,EAAAnB,EAAA,MAAM,UAAU,GAAA,CAAA;AAAA;;;;;IAMtBE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;8CC1BV2C,IAAA;AC0Nf,MAAKpD,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,iBAAiB;AACf,aAAO;AAAA,QACL,iBAAiB,KAAK,MAAM;AAAA,QAC5B,SAAS,GAAG,KAAK,MAAM,gBAAgB;AAAA,QACvC,QAAQ,GAAG,KAAK,MAAM,eAAe;AAAA,MACvC;AAAA,IACD;AAAA,IACD,aAAa;AACX,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,gBAAgB;AAAA,QACrC,OAAO,KAAK,MAAM;AAAA,QAClB,YAAY,KAAK,MAAM;AAAA,QACvB,WAAW,KAAK,MAAM;AAAA,MACxB;AAAA,IACD;AAAA,IACD,YAAY;AACV,aAAO;AAAA,QACL,SAAS,KAAK,MAAM,eAAe,IAAI,SAAS;AAAA,QAChD,qBACE,KAAK,MAAM,eAAe,IACtB,UAAU,KAAK,MAAM,aAAa,WAClC;AAAA,QACN,eAAe,KAAK,MAAM,eAAe,IAAI,WAAW;AAAA,QACxD,KAAK,KAAK,MAAM,cAAc;AAAA,QAC9B,SAAS,GAAG,KAAK,MAAM,WAAW;AAAA,MACpC;AAAA,IACD;AAAA,IACD,kBAAkB;AAChB,aAAO;AAAA,QACL,iBAAiB,KAAK,MAAM;AAAA,QAC5B,cAAc,KAAK,MAAM,aAAa;AAAA,QACtC,SAAS,KAAK,MAAM,cAAc;AAAA,QAClC,QAAQ,KAAK,MAAM,aACf,aAAa,KAAK,MAAM,WAAW,KACnC;AAAA,QACJ,WAAW,KAAK,MAAM,aAAa,8BAA8B;AAAA,MACnE;AAAA,IACD;AAAA,IACD,mBAAmB;AACjB,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,sBAAsB;AAAA,QAC3C,OAAO,KAAK,MAAM;AAAA,QAClB,YAAY,KAAK,MAAM;AAAA,QACvB,QAAQ;AAAA,QACR,YAAY;AAAA,MACd;AAAA,IACD;AAAA,IACD,mBAAmB;AACjB,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,sBAAsB;AAAA,QAC3C,OAAO,KAAK,MAAM;AAAA,QAClB,QAAQ;AAAA,QACR,YAAY;AAAA,MACd;AAAA,IACD;AAAA,IACD,eAAe;AACb,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,kBAAkB;AAAA,QACvC,OAAO,KAAK,MAAM;AAAA,QAClB,QAAQ;AAAA,MACV;AAAA,IACD;AAAA,IACD,aAAa;AACX,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,gBAAgB;AAAA,QACrC,OAAO,KAAK,MAAM;AAAA,QAClB,YAAY;AAAA,MACd;AAAA,IACD;AAAA,IACD,oBAAoB;AAClB,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,uBAAuB;AAAA,QAC5C,OAAO,KAAK,MAAM;AAAA,MACpB;AAAA,IACD;AAAA,EACF;AACH;;EA5SS,OAAM;GAYN2C,KAAA,EAAA,OAAM,cAAa,GAmBbC,KAAA,EAAA,OAAM,eAAc;;EAQlB,OAAM;GAeRS,KAAA,EAAA,OAAM,cAAa;;EAYQ,OAAM;GAK/BN,KAAA,EAAA,OAAM,gBAAe;;EAEI,OAAM;;;EAKK,OAAM;;;EAehB,OAAM;;;EAe/B,OAAM;GAaTO,KAAA,EAAA,OAAM,eAAc;;EASrB,OAAM;GAiBLC,KAAA,EAAA,OAAM,cAAa;;EAiBpB,OAAM;GAMHC,KAAA,EAAA,OAAM,gBAAe;;EAEI,OAAM;;;EAO9B,OAAM;;;EAemB,OAAM;;;;cApM/CrD,EAqNM,OAAA;AAAA,IArND,OAAM;AAAA,IAAgB,SAAOwB,EAAc,cAAA;AAAA;IAEbrB,EAAA,MAAM,aAAvCJ,KAAAC,EASM,OATNF,IASM;AAAA,MARJG,EAAmE,MAAA;AAAA,QAA/D,OAAM;AAAA,QAAgB,SAAOuB,EAAU,UAAA;AAAA,MAAK,GAAAF,EAAAnB,EAAA,MAAM,KAAK,GAAA,CAAA;AAAA,MAGnDA,EAAA,MAAM,iBAFdH,EAMM,OAAA;AAAA;QALJ,OAAM;AAAA,QAEL,OAAKE,EAAA,EAAA,OAAWC,EAAK,MAAC,WAAS;AAAA,MAE7B,GAAAmB,EAAAnB,EAAA,MAAM,QAAQ,GAAA,CAAA;;IAKrBF,EAmMM,OAnMNuC,IAmMM;AAAA,MAhMK,CAAArC,EAAA,MAAM,cAAcA,QAAM,WAAW,WAAM,UADpDH,EA2FM,OAAA;AAAA;QAzFJ,OAAM;AAAA,QACL,SAAOwB,EAAS,SAAA;AAAA;cAEjBxB,EAqFMsD,GAAA,MAAAC,EApFY,GAAC,CAAVC,MADTvD,EAqFM,OAAA;AAAA,UAnFH,KAAKuD;AAAA,UACN,UAAM,eAAa;AAAA,YACGrD,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA;UAKvJ,SAAOqB,EAAe,eAAA;AAAA;UAGvBvB,EAoBM,OApBNwC,IAoBM;AAAA,YAnBJxC,EAKE,OAAA;AAAA,cAJA,WAAU;AAAA,cACV,KAAAyC;AAAAA,cACA,KAAI;AAAA,cACH,OAAKxC,EAAA,EAAA,iBAAqBC,EAAK,MAAC,cAAW,MAAA;AAAA;YAGXA,EAAA,MAAM,qBAAzCH,EAEM,OAFN8C,IAEMxB,EADD,OAAO,CAAA;YAIJnB,EAAA,MAAM,gBADdsD,EAOUC,GAAA;AAAA;cALP,OAAOvD,EAAK,MAAC;AAAA,cACd,OAAM;AAAA,cACN,MAAK;AAAA;yBAEL,MAAsB;AAAA,gBAAnB6C,EAAA1B,EAAAnB,EAAA,MAAM,UAAU,GAAA,CAAA;AAAA;;;;UAKvBF,EAiDM,OAjDNiD,IAiDM;AAAA,YA/CJjD,EAEK,MAAA;AAAA,cAFA,SAAOuB,EAAgB,gBAAA;AAAA,0BACdgC,CAAK,EAAA,GAAA,CAAA;AAAA,YAIVrD,EAAA,MAAM,wBAAfH,EAEI,KAAA;AAAA;cAF6B,SAAOwB,EAAgB,gBAAA;AAAA,iBACnD,yBAAyB,GAAA,CAAA;YAInBrB,EAAA,MAAM,eAAjBJ,KAAAC,EAEM,OAFN2C,IAEM;AAAA,cADJ1C,EAAkD,QAAA;AAAA,gBAA3C,SAAOuB,EAAY,YAAA;AAAA,cAAE,GAAA,UAAM,MAAM,GAAA,CAAA;AAAA;YAI1CvB,EA+BM,OA/BN2C,IA+BM;AAAA,cA7BOzC,EAAA,MAAM,aAAjBJ,KAAAC,EAQM,OARN6C,IAQM;AAAA,gBAPJc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA1D,EAAmC,QAA7B,EAAA,OAAM,eAAc,GAAC,KAAC,EAAA;AAAA,gBAC5BA,EAES,QAAA;AAAA,kBAFH,OAAM;AAAA,kBAAe,SAAOuB,EAAU,UAAA;AAAA,qBAC1C,OAAO,GAAA,CAAA;AAAA,gBAEGrB,EAAA,MAAM,0BAAlBH,EAEC,QAFD4D,IACG,SAAO;;cAMJzD,EAAA,MAAM,yBADdH,EAMM,OAAA;AAAA;gBAJJ,OAAM;AAAA,gBACL,SAAOwB,EAAiB,iBAAA;AAAA,mBAEtB,SAAS,GAAA,CAAA;cAIHrB,EAAA,MAAM,cAAjBJ,KAAAC,EAQM,OARN6D,IAQM;AAAA,gBAPJxB,EAMaU,GAAA;AAAA,kBALX,MAAK;AAAA,kBACJ,OAAO5C,EAAK,MAAC;AAAA,kBACb,OAAKD,EAAA,EAAA,aAAiBC,EAAK,MAAC,iBAAc,MAAA;AAAA;6BAE3C,MAAsB;AAAA,oBAAnB6C,EAAA1B,EAAAnB,EAAA,MAAM,UAAU,GAAA,CAAA;AAAA;;;;;;;gBAS/BJ,KAAAC,EAkGM,OAlGN8D,IAkGM;AAAA,SAjGJ/D,EAAA,EAAA,GAAAC,EAgGMsD,WA/FsBnD,EAAK,MAAC,YAAxB,CAAA4D,GAAQP,YADlBxD,EAgGM,OAAA;AAAA,UA9FH,KAAKwD;AAAA,UACN,UAAM,eAAa;AAAA,YACGrD,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA;UAKvJ,SAAOqB,EAAe,eAAA;AAAA;UAGvBvB,EAuBM,OAvBNkD,IAuBM;AAAA,YAtBJlD,EAKE,OAAA;AAAA,cAJA,WAAU;AAAA,cACT,KAAK8D,EAAO,YAAQ;AAAA,cACrB,KAAI;AAAA,cACH,OAAK7D,EAAA,EAAA,iBAAqBC,EAAK,MAAC,cAAW,MAAA;AAAA;YAKtCA,EAAA,MAAM,gBAAgB4D,EAAO,YAFrChE,EAAA,GAAAC,EAKM,OALNgE,IAIK1C,EAAAyC,EAAO,QAAQ,GAAA,CAAA;YAIZ5D,EAAA,MAAM,WAAW4D,EAAO,YADhCN,EAOUC,GAAA;AAAA;cALP,OAAOvD,EAAK,MAAC;AAAA,cACd,OAAM;AAAA,cACN,MAAK;AAAA;yBAEL,MAAgB;AAAA,gBAAb6C,EAAA1B,EAAAyC,EAAO,GAAG,GAAA,CAAA;AAAA;;;;UAKjB9D,EAyDM,OAzDNmD,IAyDM;AAAA,YAvDJnD,EAEK,MAAA;AAAA,cAFA,SAAOuB,EAAgB,gBAAA;AAAA,YACvB,GAAAF,EAAAyC,EAAO,KAAK,GAAA,CAAA;AAAA,YAKT5D,EAAA,MAAM,mBAAmB4D,EAAO,oBADxC/D,EAKI,KAAA;AAAA;cAHD,SAAOwB,EAAgB,gBAAA;AAAA,YAErB,GAAAF,EAAAyC,EAAO,WAAW,GAAA,CAAA;YAKf5D,EAAA,MAAM,eAAe4D,EAAO,WADpChE,KAAAC,EAKM,OALNiE,IAKM;AAAA,cADJhE,EAA0D,QAAA;AAAA,gBAAnD,SAAOuB,EAAY,YAAA;AAAA,iBAAE,QAAGF,EAAGyC,EAAO,OAAO,GAAA,CAAA;AAAA;YAIlD9D,EAiCM,OAjCNoD,IAiCM;AAAA,cA/BOlD,EAAA,MAAM,aAAjBJ,KAAAC,EAUM,OAVNkE,IAUM;AAAA,gBATJP,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA1D,EAAmC,QAA7B,EAAA,OAAM,eAAc,GAAC,KAAC,EAAA;AAAA,gBAC5BA,EAES,QAAA;AAAA,kBAFH,OAAM;AAAA,kBAAe,SAAOuB,EAAU,UAAA;AAAA,gBAC1C,GAAAF,EAAAyC,EAAO,SAAK,MAAA,GAAA,CAAA;AAAA,gBAGN5D,EAAA,MAAM,qBAAqB4D,EAAO,iBAD1ChE,EAAA,GAAAC,EAIC,QAJDmE,IAGG,MAAI7C,EAAAyC,EAAO,aAAa,GAAA,CAAA;;cAMrB5D,EAAA,MAAM,oBAAoB4D,EAAO,qBADzC/D,EAMM,OAAA;AAAA;gBAJJ,OAAM;AAAA,gBACL,SAAOwB,EAAiB,iBAAA;AAAA,mBAEtBuC,EAAO,YAAY,IAAG,QAC3B,CAAA;cAGW5D,EAAA,MAAM,cAAjBJ,KAAAC,EAQM,OARNoE,IAQM;AAAA,gBAPJ/B,EAMaU,GAAA;AAAA,kBALX,MAAK;AAAA,kBACJ,OAAO5C,EAAK,MAAC;AAAA,kBACb,OAAKD,EAAA,EAAA,aAAiBC,EAAK,MAAC,iBAAc,MAAA;AAAA;6BAE3C,MAAsB;AAAA,oBAAnB6C,EAAA1B,EAAAnB,EAAA,MAAM,UAAU,GAAA,CAAA;AAAA;;;;;;;;;IAUjCE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;AC3MzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GAdOC,KAAA,EAAA,OAAM,iBAAgB;;AAA3B,SAAAC,EAAA,GAAAC,EAKM,OALNF,IAKM;AAAA,QAJDK,EAAK,MAAC,IAAI,IAAG,KAGhB,CAAA;AAAA,IAAAE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACKzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GAdOC,KAAA,EAAA,OAAM,eAAc;;AAAzB,SAAAC,EAAA,GAAAC,EAKM,OALNF,IAKM;AAAA,QAJDK,EAAK,MAAC,IAAI,IAAG,KAChB,CAAA;AAAA,IAAAF,EAA6B,OAAA;AAAA,MAAvB,KAAKE,EAAK,MAAC;AAAA,MAAK,KAAI;AAAA;IAE1BE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACczB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GAvBOC,KAAA,EAAA,OAAM,eAAc;;;AAAzB,SAAAC,EAAA,GAAAC,EAcM,OAdNF,IAcM;AAAA,IAZJuC,EAQEgC,GAAA;AAAA,MAPA,OAAM;AAAA,MACL,MAAMlE,EAAK,MAAC;AAAA,MACZ,OAAOA,EAAK,MAAC;AAAA,MACd,WAAA;AAAA,MACC,OAAOA,EAAK,MAAC;AAAA,MACb,IAAIA,QAAM,aAASA,EAAK,MAAC,KAAK,eAAY;AAAA,MAC1C,KAAKA,QAAM,aAASA,EAAK,MAAC,KAAK,eAAY;AAAA;IAI9CE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACMzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GAxBOC,KAAA,EAAA,IAAG,SAAQ,GACT0C,KAAA,EAAA,OAAM,aAAY,GAChBC,KAAA,EAAA,OAAM,aAAY,iBAGlBS,KAAA,EAAA,OAAM,cAAa,GAGnBP,KAAA,EAAA,OAAM,eAAc;;;AAR7B,SAAA5C,EAAA,GAAAC,EAeM,OAfNF,IAeM;AAAA,IAdJG,EAUM,OAVNuC,IAUM;AAAA,MATJvC,EAEM,OAFNwC,IAEM;AAAA,QADJxC,EAAiC,OAAA;AAAA,UAA3B,KAAKE,EAAK,MAAC;AAAA,UAAO,KAAI;AAAA;;MAE9BF,EAEM,OAFNiD,IAEM;AAAA,QADJjD,EAAmC,QAAA,MAAAqB,EAA1BnB,EAAK,MAAC,UAAU,GAAA,CAAA;AAAA;MAE3BF,EAEM,OAFN0C,IAEM;AAAA,QADJN,EAA8CU,GAAA,EAAlC,OAAM,UAAS,GAAA;AAAA,qBAAC,MAAK,CAAA,GAAAY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,cAAL,SAAK,EAAA;AAAA;;;;;IAKrCtD,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;AC4EzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,UAAU;AACR,YAAQ,IAAI,KAAK,OAAO,2BAA2B;AAAA,EACpD;AAAA,EACD,SAAS;AAAA,IACP,gBAAgByE,GAAM;AACpB,MAAI,CAACA,EAAK,YAAY,CAACA,EAAK,QAC5BvD,EAAeuD,GAAM,KAAK,OAAO;AAAA,IAClC;AAAA,EACF;AACH;;cAxGEtE,EAoFM,OAAA;AAAA,IAnFJ,OAAM;AAAA,IACL,OAAKE,EAAA,EAAA,iBAAA,SAA8BC,EAAK,MAAC,QAAK,KAAA;AAAA;IAKtCA,EAAA,MAAM,UAAS,CAAA,UA+BxBH,EA0CU,WAAA;AAAA;MAzCR,OAAM;AAAA,MAEL,OAAKE,EAAA;AAAA,QAAwB,YAAAC,EAAA,MAAM;AAAA,QAAkC,SAAAA,EAAA,MAAM,aAAQ,IAAA,SAAA;AAAA,QAAsD,aAAAA,EAAA,MAAM,aAAQ,IAAA,SAAA;AAAA,2BAAiEA,EAAA,MAAM,aAAQ,IAAA,iBAAA;AAAA,QAAgE,cAAAA,EAAA,MAAM,aAAQ,IAAA,KAAA;AAAA;;OAUrTJ,EAAA,EAAA,GAAAC,EA4BMsD,WA1BoBnD,EAAK,MAAC,WAAtB,CAAAmE,GAAMd,YAFhBxD,EA4BM,OAAA;AAAA,QA3BJ,OAAM;AAAA,QAEL,KAAKwD;AAAA,QACL,OAAKtD,EAAA;AAAA,UAAqB,OAAAC,EAAA,MAAM,aAA+B,IAAA,QAAA,MAAAA,EAAA,MAAM,WAAQ,IAAA;AAAA;QAG7E,SAAK,CAAAoE,MAAE/C,EAAe,gBAAC8C,CAAI;AAAA;UAG5BrE,EAME,OAAA;AAAA,UALC,KAAKqE,EAAK;AAAA,UACX,KAAI;AAAA,UAEJ,WAAU;AAAA,UACT,OAAKpE,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,KAAA;AAAA;UAFrC,CAAAC,GAAAD,EAAA,MAAM,mBAAc,CAAA;AAAA;QAK9BF,EASI,KAAA;AAAA,UARD,OAAKC,EAAA;AAAA,YAAuB,OAAAC,EAAA,MAAM;AAAA,YAAoC,aAAAA,EAAA,MAAM,WAAQ;AAAA,YAA6B,QAAAA,EAAA,MAAM,aAAU;AAAA,YAAoC,eAAAA,EAAA,MAAM,aAAU;AAAA;QAOnL,GAAAmB,EAAAgD,EAAK,IAAI,GAAA,CAAA;AAAA;mBAxElBtE,EA8BU,WAAA;AAAA;MA7BR,OAAM;AAAA,MAEL,OAAKE,EAAA;AAAA,QAAwB,YAAAC,EAAA,MAAM;AAAA,QAAkC,SAAAA,EAAA,MAAM,aAAQ,IAAA,SAAA;AAAA,QAAuD,cAAAA,EAAA,MAAM,aAAQ,IAAA,KAAA;AAAA;;YAOzJH,EAmBMsD,GAAA,MAAAC,EAjBY,GAAC,CAAVC,MAFTvD,EAmBM,OAAA;AAAA,QAlBJ,OAAM;AAAA,QAEL,KAAKuD;AAAA,QACL,OAAKtD,EAAA;AAAA,iBAAiCC,EAAA,MAAM,aAAgC,IAAA,SAAA,MAAAA,EAAA,MAAM,WAAQ,IAAA;AAAA;;UAM3FF,EAME,OAAA;AAAA,UALA,KAAAyC;AAAAA,UACA,KAAI;AAAA,UAEJ,WAAU;AAAA,UACT,OAAKxC,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,KAAA;AAAA;UAFrC,CAAAC,GAAAD,EAAA,MAAM,mBAAc,CAAA;AAAA;QAK9BF,EAA6C,KAAA;AAAA,UAAzC,OAAKC,EAAA,EAAA,OAAWC,EAAK,MAAC,WAAS;AAAA,WAAI,MAAE,CAAA;AAAA;;IAkD7CE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACKzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AACL,WAAO;AAAA,MACL,UAAU,CAAE;AAAA,IACd;AAAA,EACD;AAAA,EACD,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,UAAU;AAAA,EAAE;AAAA,EACZ,UAAU;AAAA,EAAE;AAAA,EACZ,SAAS;AAAA;AAAA,IAEP,QAAQ2E,GAAQ;AACd,YAAM,gBAAgB,GACtB,KAAK,MAAM,SAAS,QAAQ,CAACC,MAAO;AAClC,QAAAA,EAAG,aAAa;AAAA,OACjB,GACD,KAAK,MAAM,SAASD,CAAM,EAAE,aAAa,CAAC,KAAK,MAAM,SAASA,CAAM,EACjE;AAAA,IACJ;AAAA;AAAA,IAGD,OAAOA,GAAQ;AACb,WAAK,MAAM,SAASA,CAAM,EAAE,aAAa;AAAA,IAC1C;AAAA;AAAA,IAGD,SAAS;AACP,WAAK,MAAM,SAAS,QAAQ,CAACC,MAAO;AAClC,QAAAA,EAAG,aAAa;AAAA,OACjB;AAAA,IACF;AAAA,IACD,QAAQ;AACN,WAAK,MAAM,SAAS,QAAQ,CAACA,MAAO;AAClC,QAAAA,EAAG,aAAa;AAAA,OACjB;AAAA,IACF;AAAA;AAAA,EAEF;AAAA,EACD,OAAO,CAAE;AACX,GAhIS3E,KAAA,EAAA,OAAM,QAAO;;EAoBY,OAAM;GAC3BgD,KAAA,EAAA,OAAM,YAAW,GACjBI,KAAA,EAAA,OAAM,SAAQ;;;cAxBzBlD,EAoFM,OAAA;AAAA,IApFD,OAAM;AAAA,IAAe,mCAAOwB,EAAM,UAAAA,EAAA,OAAA,GAAAC,CAAA;AAAA;IAErCxB,EAA0C,OAA1CH,IAAsBwB,EAAAnB,EAAA,MAAM,KAAK,GAAA,CAAA;AAAA,KACjCJ,EAAA,EAAA,GAAAC,EA2EMsD,WAzEsBnD,EAAK,MAAC,UAAxB,CAAAuE,GAAOF,YAFjBxE,EA2EM,OAAA;AAAA,MA1EJ,OAAM;AAAA,MAEL,KAAKwE;AAAA,MACL,qCAAYhD,EAAK,MAAA;AAAA;MAGPkD,EAAM,QAAI,UAArB1E,EASM,OAAAwC,IAAA;AAAA,QARJH,EAOiBsC,GAAA,MAAA;AAAA,qBANf,MAKE;AAAA,YALFtC,EAKEuC,GAAA;AAAA,cAJC,OAAOF,EAAM;AAAA,cACb,aAAaA,EAAM;AAAA,cACnB,OAAOA,EAAM;AAAA,cACd,UAAS;AAAA;;;;;MAMJA,EAAM,QAAI,KAArB3E,KAAAC,EAqBM,OArBNyC,IAqBM;AAAA,QApBJxC,EAA6C,OAA7C6C,IAA0BxB,EAAAoD,EAAM,IAAI,GAAA,CAAA;AAAA,QACpCzE,EAkBM,OAlBNiD,IAkBM;AAAA,UAjBJjD,EAOE,SAAA;AAAA,YANA,MAAK;AAAA,YACL,UAAS;AAAA,YACR,aAAW,SAAWyE,EAAM;AAAA,YAC7B,OAAM;AAAA,YACL,SAAK,CAAAH,MAAE/C,EAAO,QAACgD,CAAM;AAAA,YACrB,OAAOE,EAAM;AAAA;UAEhBzE,EAQK,MAAA;AAAA,YARA,OAAKsB,EAAA,EAAA,QAAYmD,EAAM,YAAU,QAAA,IAAA;AAAA;aACpC3E,EAAA,EAAA,GAAAC,EAMKsD,WALqBoB,EAAM,QAAtB,CAAAJ,GAAMd,YADhBxD,EAMK,MAAA;AAAA,cAJF,KAAKwD;AAAA,cACL,SAAO,CAAAe,MAAA/C,EAAA,OAAOgD,GAAQF,CAAI;AAAA,iBAExBA,CAAI,GAAA,GAAA1B,EAAA;;;;MAOmC8B,EAAM,QAAI,UAA5DjB,EAWYmB,GAAA;AAAA;QAXD,MAAK;AAAA,QAAS,OAAOF,EAAM;AAAA;QACzB,SACT,MAOkB;AAAA,UAPlBrC,EAOkBwC,GAAA;AAAA,YAPA,OAAOH,EAAM;AAAA,YAAQ,WAAU;AAAA;uBAG7C,MAAqC;AAAA,eAFvC3E,EAAA,EAAA,GAAAC,EAKCsD,WAHyBoB,EAAM,QAAtB,CAAAJ,GAAMd,YAFhBC,EAKCqB,GAAA;AAAA,gBAJE,MAAMR;AAAA,gBAEN,KAAKd;AAAA;2BACL,MAAU;AAAA,sBAAPc,CAAI,GAAA,CAAA;AAAA;;;;;;;;;MAWRI,EAAM,QAAI,UAHlBjB,EAgBYmB,GAAA;AAAA;QAfV,MAAK;AAAA,QACJ,OAAOF,EAAM;AAAA;QAGH,SACT,MAQqB;AAAA,UARrBrC,EAQqB0C,GAAA,EARD,WAAU,aAAY,GAAA;AAAA,uBAGtC,MAAqC;AAAA,eAFvChF,EAAA,EAAA,GAAAC,EAMCsD,WAJyBoB,EAAM,QAAtB,CAAAJ,GAAMd,YAFhBC,EAMCuB,GAAA;AAAA,gBALE,MAAMV;AAAA,gBAEN,KAAKd;AAAA,gBACL,OAAOkB,EAAM;AAAA;2BACb,MAAU;AAAA,sBAAPJ,CAAI,GAAA,CAAA;AAAA;;;;;;;;;;oBAMlBrE,EAEM,OAAA,EAFD,OAAM,YAAQ;AAAA,MACjBA,EAAmB,gBAAX,IAAE;AAAA;IAGZI,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;AC+wBzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,IACP,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,aAAa,CAAE;AAAA,IACjB;AAAA,EACD;AAAA,EACD,UAAU;AACR,YAAQ,IAAI,KAAK,OAAO,mCAAmC;AAAA,EAC5D;AAAA,EACD,UAAU;AACR,SAAK,UAAU,MAAM;AACnB,MAAI,KAAK,MAAM,KAAK,cAAc,MAChC,KAAK,MAAM,KAAK,cAAc,EAAE,CAAC,EAAE;AAAA,QACjC;AAAA,MACD,EAAC,MAAM,cAAc,KAAK,MAAM,WAGnC,KAAK,iBACH,kBAAkB,SAAS,iBAAiB,gBAAgB,EAAE,QAChE,KAAK,iBAAiB;AAAA,KACvB;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,sBAAsBoF,GAAM;AAC1B,aAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,SAASA,CAAI,IAAUA,IAGjC;AAAA,IACR;AAAA,IACD,wBAAwB;AAEtB,cADa,OAAO,KAAK,MAAM,YAAa,WAAW,KAAK,MAAM,SAAS,KAAK,IAAI,OACrE;AAAA,IAChB;AAAA,IACD,2BAA2BC,GAAa;AACtC,aAAiCA,KAAgB,OAAa,KAEvD,OAAOA,CAAW;AAAA,IAC1B;AAAA,IACD,sBAAsBZ,GAAM;AAC1B,aAAKA,IAEa;AAAA,QAChBA,EAAK;AAAA,QACLA,EAAK;AAAA,QACLA,EAAK;AAAA,QACLA,EAAK;AAAA,QACLA,EAAK;AAAA,QACL,KAAK,CAACxC,MAAiCA,KAAU,QAAQA,MAAU,EAAE,KAEnD,KAVF;AAAA,IAWnB;AAAA,IACD,qBAAqBwC,GAAM;AACzB,aAAO,KAAK,wBAAwB,EAAQ,KAAK,sBAAsBA,CAAI;AAAA,IAC5E;AAAA,IACD,4BAA4B;;AAC1B,YAAMa,MAAc9D,IAAA,KAAK,WAAL,gBAAAA,EAAa,SAAQ,IACnC+D,IAAYD,EAAY,QAAQ,OAAO;AAE7C,UAAIC,IAAY;AACd,eAAO,GAAGD,EAAY,MAAM,GAAGC,CAAS,CAAC;AAG3C,YAAM1D,MAASQ,IAAA,KAAK,WAAL,gBAAAA,EAAa,WAAU,CAAC;AACvC,aACER,EAAO,WACPA,EAAO,QACPA,EAAO,UACP,OAAOA,EAAO,MAAM,MAAM,MAEnB,IAAIA,EAAO,OAAO,IAAIA,EAAO,IAAI,IAAIA,EAAO,MAAM,yBAGpD;AAAA,IACR;AAAA,IACD,oBAAoB4C,GAAMe,GAAO;AAC/B,UAAI,CAAC,KAAK;AAAsB;AAEhC,YAAMC,IAAY,KAAK,sBAAsBhB,CAAI;AACjD,MAAKgB,MAELD,KAAA,QAAAA,EAAO,mBAEPtE;AAAA,QACE;AAAA,UACE,UAAU;AAAA,UACV,MAAM;AAAA,YACJ,WAAW,KAAK,0BAA2B;AAAA,YAC3C,aAAa;AAAA,cACX,IAAIuE;AAAA,YACL;AAAA,UACF;AAAA,QACF;AAAA,QACD,KAAK;AAAA,MACP;AAAA,IACD;AAAA;AAAA,IAED,WAAW9B,GAAO;AAChB,iBAAW,MAAM;AACf,aAAK,MAAM,KAAK,cAAc,EAC3B,iBAAiB,mBAAmB,EACpC,QAAQ,CAACc,GAAMiB,MAAM;AACpB,UAAIA,MAAM/B,MACRc,EAAK,MAAM,cAAc;AAAA,SAE5B,GACH,KAAK,MAAM,KAAK,cAAc,EAAE;AAAA,UAC9B;AAAA,QACD,EAAC,MAAM,cAAc,KAAK,MAAM;AAAA,OAClC;AAAA,IACF;AAAA;AAAA,IAGD,mBAAmB;AAcjB,cAbA,KAAK,cAAc;AAAA,QACjB,UAAU;AAAA,MACZ,GAWQ,KAAK,MAAM,aAAW;AAAA,QAC5B,KAAK;AACH,eAAK,YAAY,MAAM,OACvB,KAAK,YAAY,OAAO;AACxB;AAAA,QACF,KAAK;AACH,eAAK,YAAY,SAAS,OAC1B,KAAK,YAAY,OAAO;AACxB;AAAA,QACF,KAAK;AACH,eAAK,YAAY,MAAM,OACvB,KAAK,YAAY,QAAQ,OACzB,KAAK,MAAM,wBAAwB,MAC9B,KAAK,YAAY,eAAe;AAErC;AAAA,QACF,KAAK;AACH,eAAK,YAAY,SAAS,OAC1B,KAAK,YAAY,QAAQ,OACzB,KAAK,MAAM,wBAAwB,MAC9B,KAAK,YAAY,eAAe;AAErC;AAAA,MACJ;AAAA,IACD;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,kBAAkB,WAAY;AAC5B,WAAK,MAAM,KAAK,cAAc,EAAE;AAAA,QAC9B;AAAA,MACD,EAAC,MAAM,kBAAkB,KAAK,MAAM,UACrC,KAAK,MAAM,KAAK,cAAc,EAAE;AAAA,QAC9B;AAAA,MACD,EAAC,MAAM,cAAc,KAAK,MAAM;AAAA,IAClC;AAAA,IACD,2BAA2B,WAAY;AACrC,MAAI,KAAK,MAAM,sBAAsB,MACnC,KAAK,MAAM,KAAK,cAAc,EAAE;AAAA,QAC9B;AAAA,MACD,EAAC,MAAM,cAAc,KAAK,MAAM;AAAA,IAEpC;AAAA,IACD,qBAAqB,WAAY;AAC/B,WAAK,iBAAiB;AAAA,IACvB;AAAA,IACD,6BAA6B,WAAY;AACvC,WAAK,iBAAiB;AAAA,IACvB;AAAA,EACF;AACH,GAr+BaxE,KAAA,EAAA,OAAM,SAAQ,GAkEZ0C,KAAA,EAAA,OAAM,OAAM,GAEoBC,KAAA,EAAA,OAAM,uBAAsB,qBA2D9DS,KAAA,EAAA,OAAM,SAAQ;;EAmEf,OAAM;GAO6BU,KAAA,EAAA,OAAM,uBAAsB,qBAiBlEE,KAAA,EAAA,OAAM,YAAW,GAsEPX,KAAA,EAAA,OAAM,SAAQ,GA0EZqC,KAAA,EAAA,OAAM,OAAM,GAEoBxB,KAAA,EAAA,OAAM,uBAAsB,qBA0D9DC,KAAA,EAAA,OAAM,SAAQ;;EA2Ef,OAAM;GAO6BG,KAAA,EAAA,OAAM,uBAAsB,qBAsE5DqB,KAAA,EAAA,OAAM,SAAQ,GA4EZC,KAAA,EAAA,OAAM,OAAM,GAEoBC,KAAA,EAAA,OAAM,uBAAsB,qBA8C9DC,KAAA,EAAA,OAAM,SAAQ;;EA6Ef,OAAM;GAO6BC,KAAA,EAAA,OAAM,uBAAsB;;;cAt0BjF7F,EA41BM,OAAA;AAAA,IA31BJ,OAAM;AAAA,IACL,KAAK8F,EAAc;AAAA,IACnB,OAAK5F,EAAA,EAAA,iBAAA,SAA8BC,EAAK,MAAC,QAAK,KAAA;AAAA;MAI/CF,EAMM,OAAA;AAAA,MALJ,OAAM;AAAA,MAEL,OAAKC,EAAA,EAAA,gBAAoBC,EAAK,MAAC,aAAU,MAAA;AAAA,OAC3C,SAED,CAAA,GAAA;AAAA,MAJU,CAAAC,GAAAD,EAAA,MAAM,YAAYA,EAAA,MAAM,qBAAiB,CAAA;AAAA;MAKnDF,EA2HU,WAAA;AAAA,MAzHP,OAAKsB,EAAA,CAAA;AAAA,QAAYpB,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,QAA+CA,EAAA,MAAM,kBAAa,IAAA,6BAAA;AAAA,SAIjG,kBAAkB,CAAA;AAAA,MACvB,OAAKD,EAAA;AAAA,QAA2B,eAAAC,EAAA,MAAM,kBAAe;AAAA,QAAiC,gBAAAA,EAAA,MAAM,aAAU;AAAA,QAAkC,iBAAAA,EAAA,MAAM,aAAU;AAAA;;YAMzJH,EA6GMsD,GAAA,MAAAC,EA5GY,GAAC,CAAVC,MADTvD,EA6GM,OAAA;AAAA,QA3GH,KAAKuD;AAAA,QACN,UAAM,wBAAsB;AAAA,UACRrD,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA;QAQ1X,OAAKD,EAAA;AAAA,UAAsB,QAAAC,EAAA,MAAM,gBAAW,IAAA,iCAAA;AAAA,wBAAkFA,EAAA,MAAM,gBAAW,IAAA,oCAAA;AAAA,UAAmE,QAAAA,EAAA,MAAM,kBAAe;AAAA,iBAAsCA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA;UAA0D,iBAAAA,EAAA,MAAM,eAAY;AAAA;;QAiB5lBF,EAsCM,OAtCNH,IAsCM;AAAA,UArCJG,EAKE,OAAA;AAAA,YAJA,WAAU;AAAA,YACV,KAAAyC;AAAAA,YACA,KAAI;AAAA,YACH,OAAKxC,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;YAG/CkC,EAOCqB,GAAA;AAAA,YANC,MAAA;AAAA,YACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAE,CAAA,GAAAnC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAF,MAAE,EAAA;AAAA;;;YADK,CAAAvD,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;YAG5DkC,EAMCqB,GAAA;AAAA,YALE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAC,CAAA,GAAAnC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,KAAC,EAAA;AAAA,cAAA1D,EAAM,MAAA,MAAA,MAAA,EAAA;AAAA,gBAAA,KAAC,EAAA;AAAA;;;YADD,CAAAG,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;YAG5DkC,EAMCqB,GAAA;AAAA,YALE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAG,CAAA,GAAAnC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAH,OAAG,EAAA;AAAA;;;YADI,CAAAvD,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;YAG5DkC,EAOCqB,GAAA;AAAA,YANC,OAAA;AAAA,YACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAG,CAAA,GAAAnC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAH,OAAG,EAAA;AAAA;;;YADI,CAAAvD,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;;QAM9DF,EAsCM,OAAA;AAAA,UArCJ,OAAM;AAAA,UACL,OAAKC,EAAA;AAAA,YAA4B,YAAAC,EAAA,MAAM,gBAAW,IAAA,SAAA;AAAA,YAAiE,2BAAAA,EAAA,MAAM,eAAY;AAAA,YAAmD,8BAAAA,EAAA,MAAM,eAAY;AAAA;;UAO3MF,EAOK,MAAA;AAAA,YANF,OAAKC,EAAA;AAAA,cAAiC,eAAAC,EAAA,MAAM;AAAA,cAAwC,cAAAA,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;aAIrG,qBAED,CAAA;AAAA,UAEAF,EAMI,KAAA;AAAA,YALD,OAAKC,EAAA;AAAA,cAAgC,cAAAC,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;aAGtD,qBAED,CAAA;AAAA,UACAF,EAYM,OAZNuC,IAYM;AAAA,cAXJvC,EAAuD,QAAA,MAAA,CAAA,GAAA0D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,cAAjB1D,EAAQ,WAAL,KAAC,EAAA;AAAA,gBAAI,MAAE,EAAA;AAAA;cAAlC,CAAAG,GAAAD,EAAA,MAAM,gBAAgB;AAAA;YACpC4F,EAAA9F,EASM,OATNwC,IASM;AAAA,cARJxC,EAOK,MAAA;AAAA,gBANF,OAAKsB,EAAA;AAAA;yCAA+EC,EAAqB,sBAACrB,EAAK,MAAC,kBAAkB,CAAA;AAAA;mBAKhIqB,EAAqB,sBAAA,CAAA,GAAA,CAAA;AAAA;cAPf,CAAApB,GAAAD,EAAA,MAAM,cAAc;AAAA;;;;;MA7G9B,CAAAC,GAAA,CAAAD,EAAA,MAAM,UAAgB,CAAA,KAAAA,EAAA,MAAM,sBAAiB,CAAA;AAAA;MA4HxDF,EAoIU,WAAA;AAAA,MAlIP,OAAKsB,EAAA,CAAA;AAAA,QAAYpB,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,QAA+CA,EAAA,MAAM,kBAAa,IAAA,6BAAA;AAAA,SAIjG,kBAAkB,CAAA;AAAA,MACvB,OAAKD,EAAA;AAAA,QAA2B,eAAAC,EAAA,MAAM,kBAAe;AAAA,QAAiC,gBAAAA,EAAA,MAAM,aAAU;AAAA,QAAkC,iBAAAA,EAAA,MAAM,aAAU;AAAA;;OAMzJJ,EAAA,EAAA,GAAAC,EAsHMsD,WArHoBnD,EAAK,MAAC,WAAtB,CAAAmE,GAAMd,YADhBxD,EAsHM,OAAA;AAAA,QApHH,KAAKwD;AAAA,QACN,UAAM,wBAAsB;AAAA,UACRrD,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDqB,EAAA,qBAAqB8C,CAAI,IAAA,oCAAA;AAAA;QASpc,OAAKpE,EAAA;AAAA,UAAsB,QAAAC,EAAA,MAAM,gBAAW,IAAA,iCAAA;AAAA,wBAAkFA,EAAA,MAAM,gBAAW,IAAA,oCAAA;AAAA,UAAmE,QAAAA,EAAA,MAAM,kBAAe;AAAA,iBAAsCA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA;UAA0D,iBAAAA,EAAA,MAAM,eAAY;AAAA;QAe3lB,SAAO,CAAAoE,MAAA/C,EAAA,oBAAoB8C,GAAMC,CAAM;AAAA;QAGxCtE,EAsCM,OAtCNiD,IAsCM;AAAA,UArCJjD,EAKE,OAAA;AAAA,YAJA,WAAU;AAAA,YACT,KAAKqE,EAAK;AAAA,YACX,KAAI;AAAA,YACH,OAAKpE,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;YAG/CkC,EAOCqB,GAAA;AAAA,YANC,MAAA;AAAA,YACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAE,CAAA,GAAAnC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAF,MAAE,EAAA;AAAA;;;YADK,CAAAvD,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;YAG5DkC,EAMCqB,GAAA;AAAA,YALE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAC,CAAA,GAAAnC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAD,KAAC,EAAA;AAAA,cAAA1D,EAAM,MAAA,MAAA,MAAA,EAAA;AAAA,gBAAA,KAAC,EAAA;AAAA;;;YADD,CAAAG,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;YAG5DkC,EAMCqB,GAAA;AAAA,YALE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAG,CAAA,GAAAnC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAH,OAAG,EAAA;AAAA;;;YADI,CAAAvD,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;YAG5DkC,EAOCqB,GAAA;AAAA,YANC,OAAA;AAAA,YACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,YAC1C,SAAOA,EAAW,WAAA;AAAA,YACnB,OAAM;AAAA;uBAEL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,gBAAH,OAAG,EAAA;AAAA;;;YADI,CAAAvD,GAAAD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB,CAAA;AAAA;;QAM9DF,EA6CM,OAAA;AAAA,UA5CJ,OAAM;AAAA,UACL,OAAKC,EAAA;AAAA,YAA4B,YAAAC,EAAA,MAAM,gBAAW,IAAA,SAAA;AAAA,YAAiE,2BAAAA,EAAA,MAAM,eAAY;AAAA,YAAmD,8BAAAA,EAAA,MAAM,eAAY;AAAA;;UAO3MF,EAOK,MAAA;AAAA,YANF,OAAKC,EAAA;AAAA,cAAiC,eAAAC,EAAA,MAAM;AAAA,cAAwC,cAAAA,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;UAKjG,GAAAmB,EAAAgD,EAAK,IAAI,GAAA,CAAA;AAAA,UAGdrE,EAME,OAAA;AAAA,YALA,OAAM;AAAA,YACL,OAAKC,EAAA;AAAA,cAAgC,cAAAC,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;YAGrD,WAAQqB,EAAA,2BAA2B8C,EAAK,SAAS;AAAA;UAI3CnE,EAAA,MAAM,oBAAoBA,EAAA,MAAM,kBAFxCJ,KAAAC,EAmBM,OAnBN6C,IAmBM;AAAA,cAfJ5C,EAGO,QAAA,MAAA;AAAA,cAFJ0D,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA1D,EAAQ,WAAL,KAAC,EAAA;AAAA,gBAAI,MACTqB,EAAGgD,EAAK,KAAK,GAAA,CAAA;AAAA;cAFD,CAAAlE,GAAAD,EAAA,MAAM,gBAAgB;AAAA;YAIpC4F,EAAA9F,EAUM,OAVN2D,IAUM;AAAA,cATJ3D,EAQK,MAAA;AAAA,gBAPF,OAAKsB,EAAA;AAAA;yCAA+EC,EAAqB,sBAACrB,EAAK,MAAC,kBAAkB,CAAA;AAAA;gBAIlI,SAAO,CAAAoE,MAAA/C,EAAA,oBAAoB8C,GAAMC,CAAM;AAAA,mBAErC/C,EAAqB,sBAAA,CAAA,GAAA,IAAAqC,EAAA;AAAA;cARf,CAAAzD,GAAAD,EAAA,MAAM,cAAc;AAAA;;;;;MArH/B,CAAAC,GAAAD,EAAA,MAAM,UAAgB,CAAA,KAAAA,EAAA,MAAM,sBAAiB,CAAA;AAAA;IAsIvDF,EA+SM,OA/SN6D,IA+SM;AAAA,QA9SJ7D,EASM,OAAA;AAAA,QARJ,OAAM;AAAA,QAEL,OAAKC,EAAA;AAAA,UAA8B,gBAAAC,EAAA,MAAM,aAAU;AAAA;;SAIrD,SAED,CAAA,GAAA;AAAA,QAPU,CAAAC,GAAAD,EAAA,MAAM,YAAYA,EAAA,MAAM,qBAAiB,CAAA;AAAA;MAU3CA,EAAA,MAAM,sBAAiB,UAF/BsD,EAmSWuC,GAAA;AAAA;QAlSD,QAAQF,EAAO;AAAA,kDAAPA,EAAO,UAAAvB;AAAA,QAEvB,UAAA;AAAA,QACA,WAAA;AAAA,QACC,OAAOpE,EAAK,MAAC;AAAA;mBAKZ,MAAmD;AAAA,WAHrDJ,EAAA,EAAA,GAAAC,EA2RUsD,WAxRgBnD,EAAK,MAAC,sBAAtB,CAAAmE,GAAMd,YAHhBC,EA2RUwC,GAAA;AAAA,YA1RP,MAAMzC;AAAA,YACN,OAAOc,EAAK;AAAA,YAEZ,KAAKd;AAAA,YACL,OAAKtD,EAAA;AAAA,cAA6B,aAAAoE,EAAK,WAAQ;AAAA,cAAoC,eAAAA,EAAK;AAAA;;uBAKzF,MAmIU;AAAA,gBAnIVrE,EAmIU,WAAA;AAAA,gBAjIP,OAAQsB,EAAA,CAAA,CAAApB,EAAA,MAAM,qDACT,kBAAkB,CAAA;AAAA,gBACvB,OAAKD,EAAA;AAAA,kBAAiC,eAAAC,EAAA,MAAM,kBAAe;AAAA,kBAAuC,gBAAAA,EAAA,MAAM,aAAU;AAAA,kBAAwC,iBAAAA,EAAA,MAAM,aAAU;AAAA;;sBAM3KH,EAwHMsD,GAAA,MAAAC,EAvHY,GAAC,CAAVC,MADTvD,EAwHM,OAAA;AAAA,kBAtHH,KAAKuD;AAAA,kBACN,UAAM,wBAAsB;AAAA,oBACFrD,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA;kBAQ9Z,OAAKD,EAAA;AAAA,4BAA8CC,EAAA,MAAM,gBAAW,IAAA,iCAAA;AAAA,kCAA8FA,EAAA,MAAM,gBAAW;oBAAiH,QAAAA,EAAA,MAAM,kBAAe;AAAA,2BAAkDA,EAAA,MAAM,kBAAa,IAAkC,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAAiCA,EAAA,MAAM,kBAAa,IAAkC,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAAiCA,EAAA,MAAM,kBAAa,IAAkC,KAAAA,EAAA,MAAM,kBAAe,IAAA;oBAAsE,iBAAAA,EAAA,MAAM,eAAY;AAAA;;kBAoBpuBF,EA8CM,OA9CNkD,IA8CM;AAAA,oBA7CJlD,EAKE,OAAA;AAAA,sBAJA,WAAU;AAAA,sBACV,KAhSNyC;AAAAA,sBAiSM,KAAI;AAAA,sBACH,OAAKxC,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;sBAG/CkC,EASCqB,GAAA;AAAA,sBARC,MAAA;AAAA,sBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAE,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAF,MAAE,EAAA;AAAA;;;;;wBAH0BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;sBAKjFkC,EAQCqB,GAAA;AAAA,sBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAC,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAD,KAAC,EAAA;AAAA,wBAAA1D,EAAM,MAAA,MAAA,MAAA,EAAA;AAAA,0BAAA,KAAC,EAAA;AAAA;;;;;wBAHoBE,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;sBAKjFkC,EAQCqB,GAAA;AAAA,sBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAH,OAAG,EAAA;AAAA;;;;;wBAHyBxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;sBAKjFkC,EASCqB,GAAA;AAAA,sBARC,OAAA;AAAA,sBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAH,OAAG,EAAA;AAAA;;;;;wBAHyBxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;;kBAQnFF,EAsCM,OAAA;AAAA,oBArCJ,OAAM;AAAA,oBACL,OAAKC,EAAA;AAAA,sBAAkC,YAAAC,EAAA,MAAM,gBAAW,IAAA,SAAA;AAAA,sBAAuE,2BAAAA,EAAA,MAAM,eAAY;AAAA,sBAAyD,8BAAAA,EAAA,MAAM,eAAY;AAAA;;oBAO7NF,EAOK,MAAA;AAAA,sBANF,OAAKC,EAAA;AAAA,wBAAuC,eAAAC,EAAA,MAAM;AAAA,wBAA8C,cAAAA,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;uBAIjH,qBAED,CAAA;AAAA,oBAEAF,EAMI,KAAA;AAAA,sBALD,OAAKC,EAAA;AAAA,wBAAsC,cAAAC,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;uBAG5D,qBAED,CAAA;AAAA,oBACAF,EAYM,OAZNuF,IAYM;AAAA,wBAXJvF,EAAuD,QAAA,MAAA,CAAA,GAAA0D,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAjB1D,EAAQ,WAAL,KAAC,EAAA;AAAA,0BAAI,MAAE,EAAA;AAAA;wBAAlC,CAAAG,GAAAD,EAAA,MAAM,gBAAgB;AAAA;sBACpC4F,EAAA9F,EASM,OATN+D,IASM;AAAA,wBARJ/D,EAOK,MAAA;AAAA,0BANF,OAAKsB,EAAA;AAAA;mDAA2FC,EAAqB,sBAACrB,EAAK,MAAC,kBAAkB,CAAA;AAAA;6BAK5IqB,EAAqB,sBAAA,CAAA,GAAA,CAAA;AAAA;wBAPf,CAAApB,GAAAD,EAAA,MAAM,cAAc;AAAA;;;;;gBArH9B,CAAAC,GAAA,CAAAkE,EAAK,UAAgB,CAAA,KAAAnE,EAAA,MAAM,sBAAiB,CAAA;AAAA;gBAmIvDF,EA4IU,WAAA;AAAA,gBA1IP,OAAQsB,EAAA,CAAA,CAAApB,EAAA,MAAM,qDACT,kBAAkB,CAAA;AAAA,gBACvB,OAAKD,EAAA;AAAA,kBAAiC,eAAAC,EAAA,MAAM,kBAAe;AAAA,kBAAuC,gBAAAA,EAAA,MAAM,aAAU;AAAA,kBAAwC,iBAAAA,EAAA,MAAM,aAAU;AAAA;;iBAM3KJ,EAAA,EAAA,GAAAC,EAiIMsD,WAhIoBgB,EAAK,WAArB,CAAAA,GAAMd,YADhBxD,EAiIM,OAAA;AAAA,kBA/HH,KAAKwD;AAAA,kBACN,UAAM,wBAAsB;AAAA,oBACFrD,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,oBAAuDqB,EAAA,qBAAqB8C,CAAI,IAAA,oCAAA;AAAA;kBAS9e,OAAKpE,EAAA;AAAA,4BAA8CC,EAAA,MAAM,gBAAW,IAAA,iCAAA;AAAA,kCAA8FA,EAAA,MAAM,gBAAW;oBAAiH,QAAAA,EAAA,MAAM,kBAAe;AAAA,2BAAkDA,EAAA,MAAM,kBAAa,IAAkC,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAAiCA,EAAA,MAAM,kBAAa,IAAkC,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAAiCA,EAAA,MAAM,kBAAa,IAAkC,KAAAA,EAAA,MAAM,kBAAe,IAAA;oBAAsE,iBAAAA,EAAA,MAAM,eAAY;AAAA;kBAkBnuB,SAAO,CAAAoE,MAAA/C,EAAA,oBAAoB8C,GAAMC,CAAM;AAAA;kBAGxCtE,EA8CM,OA9CNgE,IA8CM;AAAA,oBA7CJhE,EAKE,OAAA;AAAA,sBAJA,WAAU;AAAA,sBACT,KAAKqE,EAAK;AAAA,sBACX,KAAI;AAAA,sBACH,OAAKpE,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;sBAG/CkC,EASCqB,GAAA;AAAA,sBARC,MAAA;AAAA,sBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAE,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAF,MAAE,EAAA;AAAA;;;;;wBAH0BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;sBAKjFkC,EAQCqB,GAAA;AAAA,sBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAC,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAD,KAAC,EAAA;AAAA,wBAAA1D,EAAM,MAAA,MAAA,MAAA,EAAA;AAAA,0BAAA,KAAC,EAAA;AAAA;;;;;wBAHoBE,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;sBAKjFkC,EAQCqB,GAAA;AAAA,sBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAH,OAAG,EAAA;AAAA;;;;;wBAHyBxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;sBAKjFkC,EASCqB,GAAA;AAAA,sBARC,OAAA;AAAA,sBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,sBAC1C,SAAOA,EAAW,WAAA;AAAA,sBACnB,OAAM;AAAA;iCAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAAH,OAAG,EAAA;AAAA;;;;;wBAHyBxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;;kBAQnFF,EA6CM,OAAA;AAAA,oBA5CJ,OAAM;AAAA,oBACL,OAAKC,EAAA;AAAA,sBAAkC,YAAAC,EAAA,MAAM,gBAAW,IAAA,SAAA;AAAA,sBAAuE,2BAAAA,EAAA,MAAM,eAAY;AAAA,sBAAyD,8BAAAA,EAAA,MAAM,eAAY;AAAA;;oBAO7NF,EAOK,MAAA;AAAA,sBANF,OAAKC,EAAA;AAAA,wBAAuC,eAAAC,EAAA,MAAM;AAAA,wBAA8C,cAAAA,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;oBAK7G,GAAAmB,EAAAgD,EAAK,IAAI,GAAA,CAAA;AAAA,oBAGdrE,EAME,OAAA;AAAA,sBALA,OAAM;AAAA,sBACL,OAAKC,EAAA;AAAA,wBAAsC,cAAAC,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;sBAG3D,WAAQqB,EAAA,2BAA2B8C,EAAK,SAAS;AAAA;oBAI3CnE,EAAA,MAAM,oBAAoBA,EAAA,MAAM,kBAFxCJ,KAAAC,EAmBM,OAnBNmE,IAmBM;AAAA,wBAfJlE,EAGO,QAAA,MAAA;AAAA,wBAFJ0D,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA1D,EAAQ,WAAL,KAAC,EAAA;AAAA,0BAAI,MACTqB,EAAGgD,EAAK,KAAK,GAAA,CAAA;AAAA;wBAFD,CAAAlE,GAAAD,EAAA,MAAM,gBAAgB;AAAA;sBAIpC4F,EAAA9F,EAUM,OAVNmE,IAUM;AAAA,wBATJnE,EAQK,MAAA;AAAA,0BAPF,OAAKsB,EAAA;AAAA;mDAA2FC,EAAqB,sBAACrB,EAAK,MAAC,kBAAkB,CAAA;AAAA;0BAI9I,SAAO,CAAAoE,MAAA/C,EAAA,oBAAoB8C,GAAMC,CAAM;AAAA,6BAErC/C,EAAqB,sBAAA,CAAA,GAAA,IAAA0E,EAAA;AAAA;wBARf,CAAA9F,GAAAD,EAAA,MAAM,cAAc;AAAA;;;;;gBA7H/B,CAAAC,GAAAkE,EAAK,UAAgB,CAAA,KAAAnE,EAAA,MAAM,sBAAiB,CAAA;AAAA;;;;;;;;IAkJ5DF,EAmRM,OAAA,MAAA;AAAA,QAlRJA,EASM,OAAA;AAAA,QARJ,OAAM;AAAA,QAEL,OAAKC,EAAA;AAAA,UAA8B,gBAAAC,EAAA,MAAM,aAAU;AAAA;;SAIrD,SAED,CAAA,GAAA;AAAA,QAPU,CAAAC,GAAAD,EAAA,MAAM,YAAYA,EAAA,MAAM,qBAAiB,CAAA;AAAA;QAQnDkC,EAuQkB8D,GAAA;AAAA,QAtQR,qBAAmBL,EAAM;AAAA,2DAANA,EAAM,SAAAvB;AAAA,QACjC,QAAO;AAAA,QACN,OAAOpE,EAAK,MAAC;AAAA,QAEd,OAAM;AAAA,QACL,YAAWqB,EAAU;AAAA;QAEX,WACJ,MAAmD;AAAA,WAAxDzB,EAAA,EAAA,GAAAC,EA4PMsD,WA5PuBnD,EAAK,MAAC,sBAAtB,CAAAmE,GAAMd,YAAnBxD,EA4PM,OAAA,EA5PoD,KAAKwD,KAAK;AAAA,YAE1DsC,EAAA,WAAWtC,YADnBxD,EAuHU,WAAA;AAAA;cApHR,OAAM;AAAA,cACL,OAAKE,EAAA;AAAA,gBAAmC,eAAAC,EAAA,MAAM,kBAAe;AAAA,gBAAyC,gBAAAA,EAAA,MAAM,aAAU;AAAA,gBAA0C,iBAAAA,EAAA,MAAM,aAAU;AAAA;;oBAMjLH,EA4GMsD,GAAA,MAAAC,EA3GY,GAAC,CAAVC,MADTvD,EA4GM,OAAA;AAAA,gBA1GH,KAAKuD;AAAA,gBACN,OAAM;AAAA,gBACL,OAAKtD,EAAA;AAAA,0BAAkDC,EAAA,MAAM,gBAAW;gCAA8IA,EAAA,MAAM,gBAAW;kBAAuH,QAAAA,EAAA,MAAM,kBAAe;AAAA,kBAA4C,iBAAAA,EAAA,MAAM,eAAY;AAAA;;gBAclbF,EA8CM,OA9CNwF,IA8CM;AAAA,kBA7CJxF,EAKE,OAAA;AAAA,oBAJA,WAAU;AAAA,oBACV,KA9jBRyC;AAAAA,oBA+jBQ,KAAI;AAAA,oBACH,OAAKxC,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;oBAG/CkC,EASCqB,GAAA;AAAA,oBARC,MAAA;AAAA,oBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAE,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAF,MAAE,EAAA;AAAA;;;;;sBAH4BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;oBAKnFkC,EAQCqB,GAAA;AAAA,oBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAC,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAD,KAAC,EAAA;AAAA,sBAAA1D,EAAM,MAAA,MAAA,MAAA,EAAA;AAAA,wBAAA,KAAC,EAAA;AAAA;;;;;sBAHsBE,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;oBAKnFkC,EAQCqB,GAAA;AAAA,oBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAH,OAAG,EAAA;AAAA;;;;;sBAH2BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;oBAKnFkC,EASCqB,GAAA;AAAA,oBARC,OAAA;AAAA,oBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAH,OAAG,EAAA;AAAA;;;;;sBAH2BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;;gBAQrFF,EAwCM,OAAA;AAAA,kBAvCJ,OAAM;AAAA,kBACL,OAAKC,EAAA;AAAA,oBAAoC,YAAAC,EAAA,MAAM,gBAAW,IAAA,SAAA;AAAA,oBAAyE,2BAAAA,EAAA,MAAM,eAAY;AAAA,oBAA2D,8BAAAA,EAAA,MAAM,eAAY;AAAA;;kBAOnOF,EAQK,MAAA;AAAA,oBAPF,OAAKC,EAAA;AAAA,sBAAyC,eAAAC,EAAA,MAAM;AAAA,oCAAwEA,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;qBAK7I,qBAED,CAAA;AAAA,kBAEAF,EAOI,KAAA;AAAA,oBAND,OAAKC,EAAA;AAAA,oCAAgEC,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;qBAItF,qBAED,CAAA;AAAA,kBACAF,EAYM,OAZNyF,IAYM;AAAA,sBAXJzF,EAAuD,QAAA,MAAA,CAAA,GAAA0D,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,sBAAjB1D,EAAQ,WAAL,KAAC,EAAA;AAAA,wBAAI,MAAE,EAAA;AAAA;sBAAlC,CAAAG,GAAAD,EAAA,MAAM,gBAAgB;AAAA;oBACpC4F,EAAA9F,EASM,OATN0F,IASM;AAAA,sBARJ1F,EAOK,MAAA;AAAA,wBANF,OAAKsB,EAAA;AAAA;iDAA+FC,EAAqB,sBAACrB,EAAK,MAAC,kBAAkB,CAAA;AAAA;2BAKhJqB,EAAqB,sBAAA,CAAA,GAAA,CAAA;AAAA;sBAPf,CAAApB,GAAAD,EAAA,MAAM,cAAc;AAAA;;;;;cAxG9B,CAAAC,GAAA,CAAAkE,EAAK,UAAS,CAAA,CAAA;AAAA;YAuHjBwB,EAAA,WAAWtC,YADnBxD,EAkIU,WAAA;AAAA;cA/HR,OAAM;AAAA,cACL,OAAKE,EAAA;AAAA,gBAAmC,eAAAC,EAAA,MAAM,kBAAe;AAAA,gBAAyC,gBAAAA,EAAA,MAAM,aAAU;AAAA,gBAA0C,iBAAAA,EAAA,MAAM,aAAU;AAAA;;eAMjLJ,EAAA,EAAA,GAAAC,EAuHMsD,WAtHoBgB,EAAK,WAArB,CAAAA,GAAMd,YADhBxD,EAuHM,OAAA;AAAA,gBArHH,KAAKwD;AAAA,gBACN,UAAM,8CAA4C;AAAA,kBACtBhC,EAAA,qBAAqB8C,CAAI,IAAA,oCAAA;AAAA;gBAGpD,OAAKpE,EAAA;AAAA,0BAAkDC,EAAA,MAAM,gBAAW;gCAA8IA,EAAA,MAAM,gBAAW;kBAAuH,QAAAA,EAAA,MAAM,kBAAe;AAAA,kBAA4C,iBAAAA,EAAA,MAAM,eAAY;AAAA;gBAYjb,SAAO,CAAAoE,MAAA/C,EAAA,oBAAoB8C,GAAMC,CAAM;AAAA;gBAGxCtE,EA8CM,OA9CN2F,IA8CM;AAAA,kBA7CJ3F,EAKE,OAAA;AAAA,oBAJA,WAAU;AAAA,oBACT,KAAKqE,EAAK;AAAA,oBACX,KAAI;AAAA,oBACH,OAAKpE,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;oBAG/CkC,EASCqB,GAAA;AAAA,oBARC,MAAA;AAAA,oBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAE,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAF,MAAE,EAAA;AAAA;;;;;sBAH4BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;oBAKnFkC,EAQCqB,GAAA;AAAA,oBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAC,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAD,KAAC,EAAA;AAAA,sBAAA1D,EAAM,MAAA,MAAA,MAAA,EAAA;AAAA,wBAAA,KAAC,EAAA;AAAA;;;;;sBAHsBE,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;oBAKnFkC,EAQCqB,GAAA;AAAA,oBAPE,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAH,OAAG,EAAA;AAAA;;;;;sBAH2BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;oBAKnFkC,EASCqB,GAAA;AAAA,oBARC,OAAA;AAAA,oBACC,OAAOvD,EAAA,MAAM,qBAAqB2F,EAAQ;AAAA,oBAC1C,SAAOA,EAAW,WAAA;AAAA,oBACnB,OAAM;AAAA;+BAIL,MAAG,CAAA,GAAAnC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBAAH,OAAG,EAAA;AAAA;;;;;sBAH2BxD,EAAA,MAAM,mBAAmBA,EAAA,MAAM,wBAAmB;AAAA;;;gBAQrFF,EA+CM,OAAA;AAAA,kBA9CJ,OAAM;AAAA,kBACL,OAAKC,EAAA;AAAA,oBAAoC,YAAAC,EAAA,MAAM,gBAAW,IAAA,SAAA;AAAA,oBAAyE,2BAAAA,EAAA,MAAM,eAAY;AAAA,oBAA2D,8BAAAA,EAAA,MAAM,eAAY;AAAA;;kBAOnOF,EAQK,MAAA;AAAA,oBAPF,OAAKC,EAAA;AAAA,sBAAyC,eAAAC,EAAA,MAAM;AAAA,oCAAwEA,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;kBAMzI,GAAAmB,EAAAgD,EAAK,IAAI,GAAA,CAAA;AAAA,kBAGdrE,EAOE,OAAA;AAAA,oBANA,OAAM;AAAA,oBACL,OAAKC,EAAA;AAAA,oCAAgEC,EAAA,MAAM,cAAS,WAAA,WAAA;AAAA;oBAIrF,WAAQqB,EAAA,2BAA2B8C,EAAK,SAAS;AAAA;kBAI3CnE,EAAA,MAAM,oBAAoBA,EAAA,MAAM,kBAFxCJ,KAAAC,EAmBM,OAnBNoG,IAmBM;AAAA,sBAfJnG,EAGO,QAAA,MAAA;AAAA,sBAFJ0D,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA1D,EAAQ,WAAL,KAAC,EAAA;AAAA,wBAAI,MACTqB,EAAGgD,EAAK,KAAK,GAAA,CAAA;AAAA;sBAFD,CAAAlE,GAAAD,EAAA,MAAM,gBAAgB;AAAA;oBAIpC4F,EAAA9F,EAUM,OAVN4F,IAUM;AAAA,sBATJ5F,EAQK,MAAA;AAAA,wBAPF,OAAKsB,EAAA;AAAA;iDAA+FC,EAAqB,sBAACrB,EAAK,MAAC,kBAAkB,CAAA;AAAA;wBAIlJ,SAAO,CAAAoE,MAAA/C,EAAA,oBAAoB8C,GAAMC,CAAM;AAAA,2BAErC/C,EAAqB,sBAAA,CAAA,GAAA,IAAA6E,EAAA;AAAA;sBARf,CAAAjG,GAAAD,EAAA,MAAM,cAAc;AAAA;;;;;cAlH/B,CAAAC,GAAAkE,EAAK,UAAS,CAAA,CAAA;AAAA;;;;;QAhIpB,CAAAlE,GAAAD,EAAA,MAAM,sBAAiB,CAAA;AAAA;;IAuQnCE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACxlBzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACD,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,iBAAiB;AACf,aAAO;AAAA,QACL,iBAAiB,KAAK,MAAM;AAAA,QAC5B,SAAS,GAAG,KAAK,MAAM,gBAAgB;AAAA,QACvC,QAAQ,GAAG,KAAK,MAAM,eAAe;AAAA,MACvC;AAAA,IACD;AAAA,IACD,aAAa;AACX,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,gBAAgB;AAAA,QACrC,OAAO,KAAK,MAAM;AAAA,QAClB,YAAY,KAAK,MAAM;AAAA,QACvB,WAAW,KAAK,MAAM;AAAA,QACtB,cAAc;AAAA,MAChB;AAAA,IACD;AAAA,IACD,YAAY;AACV,aAAO;AAAA,QACL,SAAS,KAAK,MAAM,eAAe,IAAI,SAAS;AAAA,QAChD,qBACE,KAAK,MAAM,eAAe,IACtB,UAAU,KAAK,MAAM,aAAa,WAClC;AAAA,QACN,eAAe,KAAK,MAAM,eAAe,IAAI,WAAW;AAAA,QACxD,KAAK,KAAK,MAAM,cAAc;AAAA,QAC9B,SAAS,GAAG,KAAK,MAAM,WAAW;AAAA,MACpC;AAAA,IACD;AAAA,IACD,gBAAgB;AACd,aAAO;AAAA,QACL,iBAAiB,KAAK,MAAM;AAAA,QAC5B,cAAc,KAAK,MAAM,aAAa;AAAA,QACtC,SAAS,KAAK,MAAM,cAAc;AAAA,QAClC,QAAQ,KAAK,MAAM,aACf,aAAa,KAAK,MAAM,WAAW,KACnC;AAAA,QACJ,WAAW,KAAK,MAAM,aAAa,8BAA8B;AAAA,MACnE;AAAA,IACD;AAAA,IACD,iBAAiB;AACf,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,oBAAoB;AAAA,QACzC,OAAO,KAAK,MAAM;AAAA,QAClB,YAAY,KAAK,MAAM;AAAA,QACvB,QAAQ;AAAA,QACR,YAAY;AAAA,MACd;AAAA,IACD;AAAA,IACD,mBAAmB;AACjB,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,sBAAsB;AAAA,QAC3C,OAAO,KAAK,MAAM;AAAA,QAClB,QAAQ;AAAA,QACR,YAAY;AAAA,MACd;AAAA,IACD;AAAA,IACD,cAAc;AACZ,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,iBAAiB;AAAA,QACtC,OAAO,KAAK,MAAM;AAAA,QAClB,QAAQ;AAAA,MACV;AAAA,IACD;AAAA,IACD,iBAAiB;AACf,aAAO;AAAA,QACL,UAAU,KAAK,MAAM,oBAAoB;AAAA,QACzC,OAAO,KAAK,MAAM;AAAA,QAClB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,MACP;AAAA,IACD;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,yBAAyBiC,GAAO;AAC9B,YAAMwE,IAAkB,OAAOxE,KAAS,EAAE,EAAE,KAAK;AACjD,aAAO,QAAQ,KAAKwE,CAAe,IAAIA,IAAkB;AAAA,IAC1D;AAAA,IACD,UAAUC,GAAM;AACd,aAAO,KAAK;AAAA,SACVA,KAAA,gBAAAA,EAAM,YAAUA,KAAA,gBAAAA,EAAM,aAAWA,KAAA,gBAAAA,EAAM;AAAA,MACzC;AAAA,IACD;AAAA,IACD,gBAAgB;;AACd,YAAMC,MAAcnF,IAAA,KAAK,WAAL,gBAAAA,EAAa,WAAU,CAAC,GACtCoF,IAAgB,OAAO,SAAW,MAAc,SAAS;AAC/D,UAAIC,IAAU,KAAK,yBAAyBF,EAAY,OAAO,GAC3DvB,IAAO,KAAK,yBAAyBuB,EAAY,IAAI;AAEzD,UAAI,CAACE,KAAW,CAACzB,GAAM;AAIrB,cAAM0B,IAHW,SAAOzE,IAAAuE,KAAA,gBAAAA,EAAe,aAAf,gBAAAvE,EAAyB,SAAQ,EAAE,EAAE;AAAA,UAC3D;AAAA,QACD,EAAC,CAAC,EAC2B,MAAM,GAAG,EAAE,OAAO,OAAO;AACvD,QAAAwE,IAAUA,KAAW,KAAK,yBAAyBC,EAAa,CAAC,CAAC,GAClE1B,IAAOA,KAAQ,KAAK,yBAAyB0B,EAAa,CAAC,CAAC;AAAA,MAC9D;AAEA,cAAI,CAACD,KAAW,CAACzB,OACfyB,IACEA,KACA,KAAK;AAAA,SACHtE,IAAAqE,KAAA,gBAAAA,EAAe,iBAAf,gBAAArE,EAA6B,QAAQ;AAAA,MACvC,GACF6C,IACEA,KACA,KAAK;AAAA,SACH9C,IAAAsE,KAAA,gBAAAA,EAAe,iBAAf,gBAAAtE,EAA6B,QAAQ;AAAA,MACvC,IAGG,EAAE,SAAAuE,GAAS,MAAAzB,EAAK;AAAA,IACxB;AAAA,IACD,cAAcsB,GAAM;AAClB,YAAMK,IAAS,QAAOL,KAAA,gBAAAA,EAAM,gBAAcA,KAAA,gBAAAA,EAAM,YAAW;AAC3D,aAAI,OAAO,SAASK,CAAM,KAAKA,IAAS,IAAUA,KAC9CL,KAAA,gBAAAA,EAAM,YAAW,SAAe,KAChCA,KAAA,gBAAAA,EAAM,YAAW,WAAiB,IAC/B;AAAA,IACR;AAAA,IACD,sBAAsBA,GAAM;AAC1B,cACEA,KAAA,gBAAAA,EAAM,uBAAsB,WAC5BA,KAAA,gBAAAA,EAAM,yBAAwB;AAAA,IAEjC;AAAA,IACD,sBAAsBA,GAAM;AAC1B,YAAMM,IAAa,KAAK,cAAcN,CAAI,GACpCO,IAAoB;AAAA,SACxBP,KAAA,gBAAAA,EAAM,uBAAqBA,KAAA,gBAAAA,EAAM,wBAAuB;AAAA,MAC1D,GACMQ,IAAWF,MAAe,MAAKN,KAAA,gBAAAA,EAAM,YAAW,QAChDS,IAAYH,MAAe,MAAKN,KAAA,gBAAAA,EAAM,YAAW;AAEvD,aAAIQ,IAAiB,KACd,KAAK,sBAAsBR,CAAI,IAClCO,MAAsB,IACtBE;AAAA,IACL;AAAA,IACD,eAAeT,GAAM;;AACnB,YAAMU,IAAS,KAAK,UAAUV,CAAI;AAClC,UAAI,CAACU;AAAQ,eAAO;AAEpB,YAAM,EAAE,SAAAP,GAAS,MAAAzB,MAAS,KAAK,cAAc,GACvCiC,IAAa,KAAK,sBAAsBX,CAAI,IAAI,aAAa,QAC7DY,IACJT,KAAWzB,IAAO,IAAIyB,CAAO,IAAIzB,CAAI,IAAIgC,CAAM,KAAK,IAAIA,CAAM,IAC1DtG,IAAQ,EAAE,KAAIU,IAAA,KAAK,WAAL,gBAAAA,EAAa,UAAS,CAAA,EAAI;AAG9C,UAFA,OAAOV,EAAM,cAETuG,MAAe,YAAY;AAC7B,cAAME,IAAa,QAAOb,KAAA,gBAAAA,EAAM,gBAAcA,KAAA,gBAAAA,EAAM,gBAAe,CAAC;AACpE,QAAA5F,EAAM,SAASyG,MAAe,IAAI,eAAe;AAAA;AAEjD,eAAOzG,EAAM,QACb,OAAOA,EAAM;AAGf,aAAO;AAAA,QACL,MAAM,GAAGwG,CAAU,IAAID,CAAU;AAAA,QACjC,OAAAvG;AAAA,MACF;AAAA,IACD;AAAA,IACD,eAAe,EAAE,MAAAgB,GAAM,OAAAhB,KAAS;AAC9B,YAAM0G,IAAe,IAAI,gBAAgB;AACzC,aAAO,QAAQ1G,KAAS,CAAE,CAAA,EAAE,QAAQ,CAAC,CAACoB,GAAKD,CAAK,MAAM;AACpD,YAAI,EAAuBA,KAAU,QAAQA,MAAU,KACvD;AAAA,cAAI,MAAM,QAAQA,CAAK,GAAG;AACxB,YAAAA,EAAM,QAAQ,CAACwC,MAAS+C,EAAa,OAAOtF,GAAKuC,CAAI,CAAC;AACtD;AAAA,UACF;AACA,UAAA+C,EAAa,IAAItF,GAAKD,CAAK;AAAA;AAAA,OAC5B;AAED,YAAMlB,IAAcyG,EAAa,SAAS;AAC1C,aAAOzG,IAAc,GAAGe,CAAI,IAAIf,CAAW,KAAKe;AAAA,IACjD;AAAA,IACD,gBAAgB4E,GAAMlB,GAAO;AAC3B,UAAI,CAAC,KAAK;AAAsB;AAChC,MAAAA,KAAA,QAAAA,EAAO;AAEP,YAAMiC,IAAc,KAAK,eAAef,CAAI;AAC5C,UAAI,CAACe;AAAa;AAElB,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,KAAKA,CAAW;AAC7B;AAAA,MACF;AAEA,YAAMb,IAAgB,OAAO,SAAW,MAAc,SAAS;AAC/D,MAAIA,MACFA,EAAc,SAAS,OAAO,KAAK,eAAea,CAAW;AAAA,IAEhE;AAAA,IACD,yBAAyBpC,GAAa;AACpC,UAAI,OAAOA,KAAgB;AAAU,eAAO;AAE5C,YAAMqC,IAAUrC,EACb,QAAQ,uDAAuD,EAAE,EACjE,QAAQ,uCAAuC,EAAE,EACjD,QAAQ,gBAAgB,QAAQ,EAChC,KAAK;AAQR,aANkBqC,EACf,QAAQ,YAAY,GAAG,EACvB,QAAQ,gBAAgB,GAAG,EAC3B,QAAQ,YAAY,EAAE,EACtB,KAAK,IAEWA,IAAU;AAAA,IAC9B;AAAA,IACD,mBAAmBrC,GAAa;AAC9B,aAAO,EAAQ,KAAK,yBAAyBA,CAAW;AAAA,IACzD;AAAA,IACD,sBAAsBA,GAAa;AACjC,aAAO,KAAK,yBAAyBA,CAAW;AAAA,IACjD;AAAA,EACF;AACH;;EAxeS,OAAM;GAKN1C,KAAA,EAAA,OAAM,YAAW,GAmBXC,KAAA,EAAA,OAAM,aAAY;;EAkBhB,OAAM;;;EAMN,OAAM;GAMRE,KAAA,EAAA,OAAM,YAAW;;EAgBS,OAAM;GAW9BE,KAAA,EAAA,OAAM,cAAa;;EAES,OAAM;;;EAOR,OAAM;qBA8ClCM,KAAA,EAAA,OAAM,aAAY;;EAmBnB,OAAM;;;EAQH,OAAM;GAMRc,KAAA,EAAA,OAAM,YAAW;;EAewB,OAAM;GAC3CE,KAAA,EAAA,OAAM,gBAAe,iBAgBvB+B,KAAA,EAAA,OAAM,cAAa;;EAIpB,OAAM;;;;cA/MpBlG,EA+PM,OAAA;AAAA,IA/PD,OAAM;AAAA,IAAc,SAAOwB,EAAc,cAAA;AAAA;IAEbrB,EAAA,MAAM,aAArCJ,KAAAC,EAEM,OAFNF,IAEM;AAAA,MADJG,EAA8C,MAAA;AAAA,QAAzC,SAAOuB,EAAU,UAAA;AAAA,MAAK,GAAAF,EAAAnB,EAAA,MAAM,KAAK,GAAA,CAAA;AAAA;IAIxCF,EAoPM,OApPNuC,IAoPM;AAAA,MAjPK,CAAArC,EAAA,MAAM,YAAYA,QAAM,SAAS,WAAM,UADhDH,EA+GM,OAAA;AAAA;QA7GJ,OAAM;AAAA,QACL,SAAOwB,EAAS,SAAA;AAAA;cAEjBxB,EAyGMsD,GAAA,MAAAC,EAxGY,GAAC,CAAVC,MADTvD,EAyGM,OAAA;AAAA,UAvGH,KAAKuD;AAAA,UACN,UAAM,aAAW;AAAA,YACKrD,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA;UAKvJ,SAAOqB,EAAa,aAAA;AAAA;UAGrBvB,EA2BM,OA3BNwC,IA2BM;AAAA,YA1BJxC,EAKE,OAAA;AAAA,cAJA,WAAU;AAAA,cACV,KAAAyC;AAAAA,cACA,KAAI;AAAA,cACH,OAAKxC,EAAA,EAAA,iBAAqBC,EAAK,MAAC,cAAW,MAAA;AAAA;YAI9CF,EAMM,OAAA;AAAA,cALJ,OAAKsB,EAAA,CAAC,eAAa,UACDiC,MAAK,IAAA,SAAA,SAAA,EAAA,CAAA;AAAA;cAEvBnB,EAA2CC,GAAA;AAAA,gBAAjC,MAAK;AAAA,gBAAgB,MAAK;AAAA;cACpCrC,EAA6C,gBAApCuD,MAAK,IAAA,QAAA,IAAA,GAAA,CAAA;AAAA;YAIgBrD,EAAA,MAAM,mBAAtCJ,KAAAC,EAGM,OAHN8C,IAGM;AAAA,cAFJT,EAAmCC,GAAA;AAAA,gBAAzB,MAAK;AAAA,gBAAQ,MAAK;AAAA;cAC5BrC,EAA+C,gBAAtCuD,MAAK,IAAA,SAAA,KAAA,GAAA,CAAA;AAAA;YAIarD,EAAA,MAAM,qBAAnCH,EAEM,OAFNkD,IAEM5B,EADDkC,MAAK,IAAA,QAAA,UAAA,GAAA,CAAA;;UAKZvD,EA8DM,OA9DN0C,IA8DM;AAAA,YA5DJ1C,EAEK,MAAA;AAAA,cAFA,SAAOuB,EAAc,cAAA;AAAA,0BACZgC,CAAK,WAAA,GAAA,CAAA;AAAA,YAKXrD,EAAA,MAAM,wBADdH,EAMM,OAAA;AAAA;cAJJ,OAAM;AAAA,cACL,SAAOwB,EAAgB,gBAAA;AAAA,iBAErB,yBAAyB,GAAA,CAAA;YAInBrB,EAAA,MAAM,cAAjBJ,KAAAC,EAQM,OARN4C,IAQM;AAAA,8BAPJ3C,EAEM,OAAA,EAFD,OAAM,mBAAe;AAAA,gBACxBA,EAAwD,OAAA;AAAA,kBAAnD,KA7CPyC;AAAAA,kBA6C6C,KAAI;AAAA;;cAEjDzC,EAAsC,QAAA;AAAA,gBAA/B,SAAOuB,EAAW,WAAA;AAAA,iBAAE,QAAI,CAAA;AAAA,cAChBrB,EAAA,MAAM,sBAArBsD,EAECC,GAAA;AAAA;gBAFmC,MAAK;AAAA,gBAAO,OAAM;AAAA;2BACnD,MAAE,CAAA,GAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,oBAAF,MAAE,EAAA;AAAA;;;;YAKP1D,EAkCM,OAlCN4C,IAkCM;AAAA,cAhCO1C,EAAA,MAAM,gBAAjBJ,KAAAC,EAIM,OAJN4D,IAIM;AAAA,gBAHJvB,EAEUqB,GAAA;AAAA,kBAFD,MAAK;AAAA,kBAAQ,OAAOvD,EAAK,MAAC;AAAA;6BACjC,MAA+B;AAAA,wBAA5BqD,MAAK,IAAA,OAAA,IAAA,GAAA,CAAA;AAAA;;;;cAKDrD,EAAA,MAAM,cAAjBJ,KAAAC,EAcM,OAdN6D,IAcM;AAAA,gBAbJxB,EAYaU,GAAA;AAAA,kBAXX,MAAK;AAAA,kBACJ,OAA4BS,MAAK,IAA+BrD,EAAA,MAAM,kBAAwCA,EAAA,MAAM;AAAA,kBAKpH,OAAKD,EAAA,EAAA,aAAiBC,EAAK,MAAC,iBAAc,MAAA;AAAA;6BAE3C,MAEE;AAAA,oBADA6C,EAAA1B,EAAAkC,UAAcrD,EAAK,MAAC,iBAAiBA,EAAA,MAAM,iBAAiB,GAAA,CAAA;AAAA;;;;cAO1DA,EAAA,MAAM,sBADdH,EAOM,OAAA;AAAA;gBALJ,OAAM;AAAA,gBACL,SAAOwB,EAAc,cAAA;AAAA;gBAEtBa,EAAoCC,GAAA;AAAA,kBAA1B,MAAK;AAAA,kBAAS,MAAK;AAAA;gBAC7BrC,EAAsD,gBAA7CuD,MAAK,IAAA,YAAA,SAAA,GAAA,CAAA;AAAA;;;;qBAQxBxD,EA+HM,OAAA;AAAA;QA/HM,OAAM;AAAA,QAAgB,SAAOwB,EAAS,SAAA;AAAA;SAChDzB,EAAA,EAAA,GAAAC,EA6HMsD,WA5HoBnD,EAAK,MAAC,UAAtB,CAAAoG,GAAM/C,YADhBxD,EA6HM,OAAA;AAAA,UA3HH,KAAKwD;AAAA,UACN,UAAM,aAAW;AAAA,YACKrD,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAA,MAAM,eAAU,IAAA,gBAAA;AAAA,YAAyCA,EAAoB,wBAAIqB,EAAS,UAAC+E,CAAI,IAAA,yBAAA;AAAA;UAMtO,SAAO/E,EAAa,aAAA;AAAA,UACpB,SAAO,CAAA+C,MAAA/C,EAAA,gBAAgB+E,GAAMhC,CAAM;AAAA;UAGpCtE,EA8BM,OA9BNkD,IA8BM;AAAA,YA7BJlD,EAKE,OAAA;AAAA,cAJA,WAAU;AAAA,cACT,KAAKsG,EAAK,YAAQ;AAAA,cACnB,KAAI;AAAA,cACH,OAAKrG,EAAA,EAAA,iBAAqBC,EAAK,MAAC,cAAW,MAAA;AAAA;YAI9CF,EAMM,OAAA;AAAA,cALJ,OAAMsB,EAAA,CAAA,eACY,UAAAgF,EAAK,UAAM,SAAA,EAAA,CAAA;AAAA;cAE7BlE,EAA2CC,GAAA;AAAA,gBAAjC,MAAK;AAAA,gBAAgB,MAAK;AAAA;cACpCrC,EAA0C,QAAA,MAAAqB,EAAjCiF,EAAK,cAAU,IAAA,GAAA,CAAA;AAAA;YAMlBpG,EAAA,MAAM,mBAAmBoG,EAAK,eAFtCxG,KAAAC,EAMM,OANNgE,IAMM;AAAA,cAFJ3B,EAAmCC,GAAA;AAAA,gBAAzB,MAAK;AAAA,gBAAQ,MAAK;AAAA;cAC5BrC,EAAmC,QAAA,MAAAqB,EAA1BiF,EAAK,WAAW,GAAA,CAAA;AAAA;YAIEpG,EAAA,MAAM,gBAAgBoG,EAAK,YAAxDxG,EAAA,GAAAC,EAEM,OAFNoD,IACK9B,EAAAiF,EAAK,QAAQ,GAAA,CAAA;;UAKpBtG,EA6EM,OA7ENgE,IA6EM;AAAA,YA3EJhE,EAEK,MAAA;AAAA,cAFA,SAAOuB,EAAc,cAAA;AAAA,YACrB,GAAAF,EAAAiF,EAAK,KAAK,GAAA,CAAA;AAAA,YAKPpG,EAAA,MAAM,mBAAmBqB,qBAAmB+E,EAAK,WAAW,UADpEvG,EAKO,OAAA;AAAA;cAHL,OAAM;AAAA,cACL,SAAOwB,EAAgB,gBAAA;AAAA,cACxB,WAAQA,EAAA,sBAAsB+E,EAAK,WAAW;AAAA;YAIrCpG,EAAA,MAAM,cAAcoG,EAAK,UAApCxG,KAAAC,EAcM,OAdNkE,IAcM;AAAA,cAbJjE,EAKM,OALNkE,IAKM;AAAA,gBAJJlE,EAGE,OAAA;AAAA,kBAFC,KAAKsG,EAAK,OAAO,UAAM;AAAA,kBACxB,KAAI;AAAA;;cAGRtG,EAAwD,QAAA;AAAA,gBAAjD,SAAOuB,EAAW,WAAA;AAAA,mBAAK+E,EAAK,OAAO,IAAI,GAAA,CAAA;AAAA,cAEtCpG,EAAA,MAAM,iBAAiBoG,EAAK,OAAO,iBAD3C9C,EAKCC,GAAA;AAAA;gBAHC,MAAK;AAAA,gBACL,OAAM;AAAA;2BACL,MAAE,CAAA,GAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,oBAAF,MAAE,EAAA;AAAA;;;;YAKP1D,EA4CM,OA5CNiG,IA4CM;AAAA,cAzCI/F,EAAA,MAAM,gBAAgBoG,EAAK,YADnCxG,KAAAC,EAOM,OAPNyF,IAOM;AAAA,gBAHJpD,EAEUqB,GAAA;AAAA,kBAFD,MAAK;AAAA,kBAAQ,OAAOvD,EAAK,MAAC;AAAA;6BACjC,MAAmB;AAAA,oBAAhB6C,EAAA1B,EAAAiF,EAAK,QAAQ,GAAA,CAAA;AAAA;;;;cAMZpG,EAAA,MAAM,mBADdH,EAqBM,OAAA;AAAA;gBAnBJ,UAAM,eAAa,EAAA,0BACiBG,0BAAwBqB,EAAA,UAAU+E,CAAI,EAAA,CAAA,CAAA;AAAA;gBAE1ElE,EAeaU,GAAA;AAAA,kBAdX,MAAK;AAAA,kBACJ,OAA4BwD,EAAK,WAAM,SAAoCpG,EAAA,MAAM,kBAAwCA,EAAA,MAAM;AAAA,kBAK/H,OAAKD,EAAA,EAAA,aAAiBC,EAAK,MAAC,iBAAc,MAAA;AAAA,kBAC1C,SAAO,CAAAoE,MAAA/C,EAAA,gBAAgB+E,GAAMhC,CAAM;AAAA;6BAEpC,MAIE;AAAA,oBAHAvB,EAAA1B,EAAAiF,EAAK,WAAM,SAAoCpG,EAAA,MAAM,iBAAuCA,EAAA,MAAM,iBAAiB,GAAA,CAAA;AAAA;;;;cASjHA,EAAA,MAAM,iBAAiBoG,EAAK,kBADpCvG,EAOM,OAAA;AAAA;gBALJ,OAAM;AAAA,gBACL,SAAOwB,EAAc,cAAA;AAAA;gBAEtBa,EAAoCC,GAAA;AAAA,kBAA1B,MAAK;AAAA,kBAAS,MAAK;AAAA;gBAC7BrC,EAAiC,QAAA,MAAAqB,EAAxBiF,EAAK,SAAS,GAAA,CAAA;AAAA;;;;;;IASnClG,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;8CC/PVkH,KAAA;AC+Nf,MAAK3H,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,YAAYyE,GAAM;AAChB,MAAKA,MACD,CAACA,EAAK,YAAY,CAACA,EAAK,QAC5BvD,EAAeuD,GAAM,KAAK,OAAO;AAAA,IAClC;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,gBAAgB;AAkBd,aAhBE,OAAK,MAAM,mBAAmB,KAC9B,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,OACzB,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,QAKxB,KAAK,MAAM,mBAAmB,KAC7B,KAAK,MAAM,mBAAmB,KAC9B,KAAK,MAAM,mBAAmB,MAChC,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,OACzB,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,OACzB,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,QAKxB,KAAK,MAAM,mBAAmB,KAC7B,KAAK,MAAM,mBAAmB,KAC9B,KAAK,MAAM,mBAAmB,MAChC,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,OACzB,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,OACzB,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE,OACzB,CAAC,KAAK,MAAM,UAAU,CAAC,EAAE;AAAA,IAK5B;AAAA,EACF;AACH;EApQM,WAAU;AAAA,EAEV,KAAA5B;AAAAA,EACA,KAAI;AAAA,EACJ,OAAA,EAAmB,OAAA,OAAA;GAKnBF,KAAA,EAAA,OAAM,aAAY,mCAoBlBU,KAAA,EAAA,OAAM,aAAY,mCAoBlBL,KAAA,EAAA,OAAM,aAAY,mCAmBlBiB,KAAA,EAAA,OAAM,aAAY,mCAoBlBE,KAAA,EAAA,OAAM,aAAY,iBAYbC,KAAA,EAAA,OAAA,EAAiE,SAAA,eAAA,kBAAA,UAAA,OAAA,OAAA,EAAA,mCAqBtEE,KAAA,EAAA,OAAM,aAAY,iBAWb+B,KAAA,EAAA,OAAA,EAAkC,SAAA,QAAA,OAAA,OAAA,EAAA,mCAoBvCP,KAAA,EAAA,OAAM,aAAY,iBAabC,KAAA,EAAA,OAAA,EAAiE,SAAA,eAAA,kBAAA,UAAA,OAAA,OAAA,EAAA,iBAa/D6B,KAAA,EAAA,OAAM,iBAAgB;;cA1LjCzH,EAwNM,OAAA;AAAA,IAvNJ,OAAM;AAAA,IACL,OAAKE,EAAA;AAAA,MAA0B,gBAAAC,EAAA,MAAM,aAAU;AAAA,MAAgC,iBAAAA,EAAA,MAAM,aAAU;AAAA;;IAKhG4F,EAAA9F,EAME,OANFH,IAME,MAAA,GAAA,GAAA;AAAA,WAJS0B,EAAa,aAAA;AAAA;IAOxBuE,EAAA9F,EAiBU,WAjBVuC,IAiBU;AAAA,YAbRxC,EAYMsD,GAAA,MAAAC,EAXY,GAAC,CAAVC,MADTvD,EAYM,OAAA;AAAA,QAVH,KAAKuD;AAAA,QACN,OAAM;AAAA,QACL,gBAAOhC,EAAW,YAACrB,QAAM,UAAUqD,IAAK,CAAA,CAAA;AAAA;QAEzCvD,EAKE,OAAA;AAAA,UAJA,WAAU;AAAA,UACT,KAAKE,EAAK,MAAC,UAAUqD,OAAW;AAAA,UACjC,KAAI;AAAA,UACH,OAAKtD,EAAA,EAAA,SAAaC,EAAK,MAAC,YAAS,IAAA,MAAA;AAAA;;;UAZ9BA,EAAK,MAAC,mBAAc,KAAUqB,EAAa,aAAA;AAAA;IAkBrDuE,EAAA9F,EAiBU,WAjBViD,IAiBU;AAAA,YAbRlD,EAYMsD,GAAA,MAAAC,EAXY,GAAC,CAAVC,MADTvD,EAYM,OAAA;AAAA,QAVH,KAAKuD;AAAA,QACN,OAAM;AAAA,QACL,OAAKtD,EAAA;AAAA,UAAsB,QAAAC,EAAA,MAAM,YAAS,KAAA;AAAA;;QAI1C,gBAAOqB,EAAW,YAACrB,QAAM,UAAUqD,IAAK,CAAA,CAAA;AAAA;QAGzCvD,EAAsE,OAAA;AAAA,UAAjE,WAAU;AAAA,UAAS,KAAKE,EAAK,MAAC,UAAUqD,OAAW;AAAA,UAAK,KAAI;AAAA;;;UAb3DrD,EAAK,MAAC,mBAAc,KAAUqB,EAAa,aAAA;AAAA;IAkBrDuE,EAAA9F,EAgBU,WAhBV4C,IAgBU;AAAA,YAZR7C,EAWMsD,GAAA,MAAAC,EAVY,GAAC,CAAVC,MADTvD,EAWM,OAAA;AAAA,QATH,KAAKuD;AAAA,QACN,OAAM;AAAA,QACL,OAAKtD,EAAA;AAAA,UAAsB,QAAAC,EAAA,MAAM,YAAS,KAAA;AAAA,UAAmC,OAAA,KAAAA,EAAA,MAAM,YAAS,KAAA;AAAA;QAI5F,gBAAOqB,EAAW,YAACrB,QAAM,UAAUqD,IAAK,CAAA,CAAA;AAAA;QAEzCvD,EAAsE,OAAA;AAAA,UAAjE,WAAU;AAAA,UAAS,KAAKE,EAAK,MAAC,UAAUqD,OAAW;AAAA,UAAK,KAAI;AAAA;;;UAZ3DrD,EAAK,MAAC,mBAAc,KAAUqB,EAAa,aAAA;AAAA;IAiBrDuE,EAAA9F,EAiBU,WAjBV6D,IAiBU;AAAA,YAbR9D,EAYMsD,GAAA,MAAAC,EAXY,GAAC,CAAVC,MADTvD,EAYM,OAAA;AAAA,QAVH,KAAKuD;AAAA,QACN,OAAM;AAAA,QACL,gBAAOhC,EAAW,YAACrB,QAAM,UAAUqD,IAAK,CAAA,CAAA;AAAA;QAEzCvD,EAKE,OAAA;AAAA,UAJA,WAAU;AAAA,UACT,KAAKE,EAAK,MAAC,UAAUqD,OAAW;AAAA,UACjC,KAAI;AAAA,UACH,OAAKtD,EAAA,EAAA,SAAaC,EAAK,MAAC,YAAS,MAAA;AAAA;;;UAZ9BA,EAAK,MAAC,mBAAc,KAAUqB,EAAa,aAAA;AAAA;IAkBrDuE,EAAA9F,EA8BU,WA9BV+D,IA8BU;AAAA,MA1BR/D,EAQM,OAAA;AAAA,QARD,OAAM;AAAA,QAAoB,OAAA,EAAyB,eAAA,OAAA;AAAA,QAAE,SAAO0D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAY,MAAA/C,EAAA,YAAYrB,EAAA,MAAM,UAAS,CAAA,CAAA;AAAA;QAC1FF,EAME,OAAA;AAAA,UALA,WAAU;AAAA,UACT,KAAKE,EAAA,MAAM,aAAa;AAAA,UACzB,KAAI;AAAA,UACJ,OAAAD,EAAA,CAAA,EAAA,QAAA,QAAA,GAC2B,EAAA,iBAAAC,EAAA,MAAM,YAAS,KAAA,CAAA,CAAA;AAAA;;MAG9CF,EAgBM,OAhBNgE,IAgBM;AAAA,cAfJjE,EAcMsD,GAAA,MAAAC,EAZY,GAAC,CAAVC,MAFTvD,EAcM,OAAA;AAAA,UAbJ,OAAM;AAAA,UAEL,KAAKuD;AAAA,UACN,OAAA,EAAuC,eAAA,SAAA,QAAA,QAAA;AAAA,UACtC,gBAAOhC,EAAW,YAACrB,QAAM,UAAUqD,CAAK,CAAA;AAAA;UAEzCvD,EAME,OAAA;AAAA,YALA,WAAU;AAAA,YACT,KAAKE,EAAK,MAAC,UAAUqD,CAAK,EAAE;AAAA,YAC7B,KAAI;AAAA,YACJ,OAAAtD,EAAA,CAAA,EAAA,QAAA,QAAA,GACmB,EAAA,SAAAC,EAAA,MAAM,YAAS,KAAA,CAAA,CAAA;AAAA;;;;UAxBhCA,EAAK,MAAC,mBAAc,KAAUqB,EAAa,aAAA;AAAA;IA+BrDuE,EAAA9F,EA4BU,WA5BVkE,IA4BU;AAAA,MAxBRlE,EAOM,OAAA;AAAA,QAPD,OAAM;AAAA,QAAoB,OAAA,EAAwC,SAAA,SAAA,eAAA,MAAA;AAAA,QAAE,SAAO0D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAY,MAAA/C,EAAA,YAAYrB,EAAA,MAAM,UAAS,CAAA,CAAA;AAAA;QACzGF,EAKE,OAAA;AAAA,UAJA,WAAU;AAAA,UACT,KAAKE,EAAA,MAAM,aAAa;AAAA,UACzB,KAAI;AAAA,UACH,OAAKD,EAAA,EAAA,kBAAsBC,EAAK,MAAC,YAAS,MAAA;AAAA;;MAG/CF,EAeM,OAfNiG,IAeM;AAAA,cAdJlG,EAaMsD,GAAA,MAAAC,EAXY,GAAC,CAAVC,MAFTvD,EAaM,OAAA;AAAA,UAZJ,OAAM;AAAA,UAEL,KAAKuD;AAAA,UACN,OAAA,EAAwB,eAAA,MAAA;AAAA,UACvB,gBAAOhC,EAAW,YAACrB,QAAM,UAAUqD,CAAK,CAAA;AAAA;UAEzCvD,EAKE,OAAA;AAAA,YAJA,WAAU;AAAA,YACT,KAAKE,EAAK,MAAC,UAAUqD,CAAK,EAAE;AAAA,YAC7B,KAAI;AAAA,YACH,OAAKtD,EAAA,EAAA,SAAaC,EAAK,MAAC,YAAS,MAAA;AAAA;;;;UAtBhCA,EAAK,MAAC,mBAAc,KAAUqB,EAAa,aAAA;AAAA;IA6BrDuE,EAAA9F,EAqDU,WArDV0F,IAqDU;AAAA,MAhDR1F,EAQM,OAAA;AAAA,QARD,OAAM;AAAA,QAAoB,OAAA,EAAyB,eAAA,OAAA;AAAA,QAAE,SAAO0D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAY,MAAA/C,EAAA,YAAYrB,EAAA,MAAM,UAAS,CAAA,CAAA;AAAA;QAC1FF,EAME,OAAA;AAAA,UALA,WAAU;AAAA,UACT,KAAKE,EAAA,MAAM,aAAa;AAAA,UACzB,KAAI;AAAA,UACJ,OAAAD,EAAA,CAAA,EAAA,QAAA,QAAA,GAC2B,EAAA,iBAAAC,EAAA,MAAM,YAAS,KAAA,CAAA,CAAA;AAAA;;MAG9CF,EAsCM,OAtCN2F,IAsCM;AAAA,QApCJ3F,EAUM,OAAA;AAAA,UAVD,OAAM;AAAA,UAAoB,OAAA,EAA0B,eAAA,QAAA;AAAA,UAAE,SAAO0D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAY,MAAA/C,EAAA,YAAYrB,EAAA,MAAM,UAAS,CAAA,CAAA;AAAA;UAC3FF,EAQE,OAAA;AAAA,YAPA,WAAU;AAAA,YACT,KAAKE,EAAA,MAAM,aAAa;AAAA,YACzB,KAAI;AAAA,YACH,OAAKD,EAAA;AAAA,cAAoC,kBAAAC,EAAA,MAAM,YAAS;AAAA,cAAuC,gBAAAA,EAAA,MAAM,YAAS;AAAA;;;QAMnHF,EAwBM,OAxBNwH,IAwBM;AAAA,gBAvBJzH,EAsBMsD,GAAA,MAAAC,EAdY,GAAC,CAAVC,MARTvD,EAsBM,OAAA;AAAA,YArBJ,OAAM;AAAA,YACN,OAAA,EAKC,SAAA,eAAA,mBAAA,UAAA,eAAA,UAAA,eAAA,QAAA;AAAA,YAEA,KAAKuD;AAAA,YACL,gBAAOhC,EAAW,YAACrB,QAAM,UAAUqD,IAAK,CAAA,CAAA;AAAA;YAEzCvD,EASE,OAAA;AAAA,cARA,WAAU;AAAA,cACT,KAAKE,EAAK,MAAC,UAAUqD,OAAW;AAAA,cACjC,KAAI;AAAA,cACJ,UAAA,EAAoB,QAAA,QAAA,GAAA;AAAA,gBACsB,gBAAArD,EAAA,MAAM,YAAS;AAAA,gBAAwC,eAAAA,EAAA,MAAM,YAAS;AAAA;;;;;;UA3ChHA,EAAK,MAAC,mBAAc,KAAUqB,EAAa,aAAA;AAAA;IAsDrDnB,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACxMzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GApBOC,KAAA,EAAA,OAAM,SAAQ;;;AAAnB,SAAAC,EAAA,GAAAC,EAWM,OAXNF,IAWM;AAAA,IATJuC,EAKEqF,GAAA;AAAA,MAJC,MAAMvH,EAAK,MAAC;AAAA,MACb,aAAU;AAAA,MACT,YAAYA,EAAK,MAAC;AAAA,MAClB,OAAOA,EAAK,MAAC;AAAA;IAIhBE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACDzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GAdOC,KAAA,EAAA,OAAM,gBAAe;;AAA1B,SAAAC,EAAA,GAAAC,EAKM,OALNF,IAKM;AAAA,QAJDK,EAAK,MAAC,IAAI,IAAG,KAGhB,CAAA;AAAA,IAAAE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACKzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GAdOC,KAAA,EAAA,OAAM,6BAA4B;;AAAvC,SAAAC,EAAA,GAAAC,EAKM,OALNF,IAKM;AAAA,QAJDK,EAAK,MAAC,IAAI,IAAG,KAGhB,CAAA;AAAA,IAAAE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;AC4EzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,EACD;AAAA,EACD,UAAU;AAAA;AAAA,IAER,aAAa;AACX,qBAAQ,IAAI,KAAK,MAAM,YAAY,sBAAsB,GACzD,KAAK,UAAU,GACR,KAAK,MAAM;AAAA,IACnB;AAAA;AAAA,IAED,YAAY;AACV,kBAAK,UAAU,GACf,QAAQ,IAAI,KAAK,MAAM,UAAU,QAAQ,aAAa,GAC/C,KAAK,MAAM;AAAA,IACnB;AAAA;AAAA,IAED,aAAa;AACX,kBAAK,UAAU,GACR,KAAK,MAAM;AAAA,IACnB;AAAA;AAAA,IAED,gBAAgB;AAEd,aADA,KAAK,UAAU,GACX,KAAK,MAAM,eAAe,IACrB,IAEA,KAAK,MAAM;AAAA,IAErB;AAAA;AAAA,IAED,cAAc;AAEZ,aADA,KAAK,UAAU,GACX,KAAK,MAAM,eAAe,IACrB,IAEA,KAAK,MAAM;AAAA,IAErB;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,aAAa;AAAA,IAAE;AAAA,IACf,gBAAgB;AAAA,IAAE;AAAA,IAClB,cAAc;AAAA,IAAE;AAAA,EACjB;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,gBAAgByE,GAAM;AACpB,MAAI,CAACA,EAAK,YAAY,CAACA,EAAK,QAC5BvD,EAAeuD,GAAM,KAAK,OAAO;AAAA,IAClC;AAAA;AAAA,IAED,YAAY;AACV,WAAK,UAAU,MAAM;AACnB,YAAI,KAAK,MAAM,eAAe,KAAK,KAAK,MAAM,UAAU,CAAC,GAAG;AAC1D,UAAI,KAAK,oBAAoB,QAC3B,KAAK,SAAS,QAAQ,CAACqD,MAAY;AACjC,YAAAA,EAAQ,QAAQ;AAAA,WACjB,IACQ,KAAK,oBAAoB,UAElC,KAAK,SAAS,QAAQ;AAGxB,cAAIjG,IAAS;AAAA,YACX,MAAM;AAAA,YACN,UAAU;AAAA,YACV,YAAY;AAAA,cACV,IAAI;AAAA,cACJ,MAAM,KAAK;AAAA,YACZ;AAAA,UACH;AAEA,UAAI,KAAK,MAAM,eAAe,KAAK,KAAK,MAAM,eAAe,KAC3DA,EAAO,gBAAgB,KAAK,eAC5BA,EAAO,eAAe,KAAK,eAClB,KAAK,MAAM,eAAe,MACnCA,EAAO,gBAAgB,KACvBA,EAAO,iBAAiB,KAG1B,KAAK,WAAW,IAAIkG,GAAO,qBAAqBlG,CAAM;AAAA;AAEtD,UAAI,KAAK,oBAAoB,SAC3B,KAAK,SAAS,QAAQ,CAACiG,MAAY;AACjC,YAAAA,EAAQ,QAAQ;AAAA,WACjB,GAGC,KAAK,oBAAoB,UAC3B,KAAK,SAAS,QAAQ;AAAA,OAG3B;AAAA,IACF;AAAA,EACF;AACH,GAvLO7H,KAAA,EAAA,OAAM,aAAY;;EAEhB,OAAM;;;EAiCT,OAAM;;;AAnCV,SAAAC,EAAA,GAAAC,EAyEM,OAzENF,IAyEM;AAAA,IAvEuB0B,EAAS,UAAA,CAAA,iBAApCzB,KAAAC,EAEM,OAFNwC,IAEM,CAAA,GAAAmB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,MADJ1D,EAAqC,KAAA,EAAlC,OAAM,wBAAuB,GAAA,MAAA,EAAA;AAAA;IAK1BuB,EAAA,gBAAgBA,EAAU,eAAA,UADlCxB,EAwBM,OAAA;AAAA;MAtBJ,OAAM;AAAA,MACL,OAAKE,EAAA;AAAA,QAA4B,gBAAAC,EAAA,MAAM,aAAU;AAAA,QAAkC,iBAAAA,EAAA,MAAM,aAAU;AAAA;;OAKpGJ,EAAA,EAAA,GAAAC,EAeMsD,GAdoB,MAAAC,EAAA/B,EAAA,WAAhB,CAAA8C,GAAMd,YADhBxD,EAeM,OAAA;AAAA,QAbH,KAAKwD;AAAA,QACN,OAAM;AAAA,QACL,OAAKtD,EAAA,EAAA,iBAAqBC,EAAK,MAAC,cAAW,MAAA;AAAA,QAC3C,SAAK,CAAAoE,MAAE/C,EAAe,gBAAC8C,CAAI;AAAA;QAG5BrE,EAIE,OAAA;AAAA,UAHC,KAAKqE,EAAK;AAAA,UACX,WAAU;AAAA,UACT,OAAKpE,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;QAG/C4F,EAAA9F,EAAsE,OAAnE,OAAM,WAA6CqB,EAAAgD,EAAK,IAAI,GAAA,GAAA,GAAA;AAAA,UAAtC,CAAAlE,GAAA,EAAAkE,EAAK,IAAI;AAAA;;;IAOpB9C,EAAA,gBAAgBA,EAAU,eAAA,KAAmBA,EAAU,eAAA,KAAkBA,EAAU,eAAA,KAFrGzB,KAAAC,EAmCM,OAnCNkD,IAmCM;AAAA,MA3BJjD,EAuBM,OAAA;AAAA,QAtBH,OAAKsB;AAAAA,UAAaC,EAAA,oBAAoBA,EAAS,UAAA,CAAA;;;SAMhDzB,EAAA,EAAA,GAAAC,EAeMsD,GAboB,MAAAC,EAAA/B,EAAA,WAAhB,CAAA8C,GAAMd,YAFhBxD,EAeM,OAAA;AAAA,UAdJ,OAAM;AAAA,UAEL,KAAKwD;AAAA,UACL,SAAK,CAAAe,MAAE/C,EAAe,gBAAC8C,CAAI;AAAA;UAG5BrE,EAKE,OAAA;AAAA,YAJC,KAAKqE,EAAK;AAAA,YACX,KAAI;AAAA,YACJ,WAAU;AAAA,YACT,OAAKpE,EAAA,EAAA,iBAAqBC,EAAK,MAAC,eAAY,MAAA;AAAA;UAG/C4F,EAAA9F,EAAsE,OAAnE,OAAM,WAA6CqB,EAAAgD,EAAK,IAAI,GAAA,GAAA,GAAA;AAAA,YAAtC,CAAAlE,GAAA,EAAAkE,EAAK,IAAI;AAAA;;;sBAKtCrE,EAA4D,OAAA;AAAA,QAAvD,OAAM;AAAA,QAAoB,OAAA,EAAsB,OAAA,UAAA;AAAA;;IAIvDI,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;AClEzB,MAAKT,KAAU;AAAA,EACb,MAAM;AACR,GAROC,KAAA,EAAA,OAAM,gBAAe;;AAA1B,SAAAC,EAAA,GAAAC,EAEM,OAFNF,IAEM,CAAA,GAAA6D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IADJ1D,EAAmB,cAAb,UAAM,EAAA;AAAA;;;;;8CCFD4H,KAAA;ACgBf,MAAKhI,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH;;EAlBM,WAAU;AAAA,EACV,KAAA6C;AAAAA,EACA,KAAI;;;cAJR1C,EAWM,OAAA;AAAA,IAXD,OAAM;AAAA,IAAY,OAAKE,EAAA,EAAA,YAAgBC,EAAK,MAAC,WAAS;AAAA;IAKhDA,EAAK,MAAC,QAAQ,eAEvBH,EAAyC,WAAA;AAAA;MAAzB,WAAQG,EAAK,MAAC;AAAA,wBAN9BJ,KAAAC,EAKE,OALFF,EAKE;AAAA,IAIFO,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;8CCXVoC,IAAA,8oECAAoF,IAAA;ACsNf,MAAKjI,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AACH,GA1NOC,KAAA,EAAA,OAAM,mBAAkB,GAGzB0C,KAAA,EAAA,OAAM,QAAO;;EAKX,OAAM;AAAA,EACN,OAAA,EAA4C,oBAAA,qBAAA;;;EAI5C,OAAM;AAAA,EACN,OAAA,EAAoE,oBAAA,6CAAA;GAIjEU,KAAA,EAAA,OAAM,MAAK;;EAQZ,WAAU;AAAA,EAEV,KAAAR;AAAA,EACA,KAAI;GAKHG,KAAA,EAAA,OAAM,mBAAkB;;EASvB,WAAU;AAAA,EAEV,KAAAiF;AAAA,EACA,KAAI;GAIHhE,KAAA,EAAA,OAAA,EAA0D,cAAA,OAAA,eAAA,OAAA,aAAA,OAAA,EAAA,GAG1DX,KAAA,EAAA,OAAA,EAAyC,aAAA,QAAA,cAAA,OAAA,EAAA,GAMzCqC,KAAA,EAAA,OAAM,QAAO,GAMfxB,KAAA,EAAA,OAAM,MAAK;;EAQZ,WAAU;AAAA,EAEV,KA/CAtB;AAAA,EAgDA,KAAI;GAKHW,KAAA,EAAA,OAAM,mBAAkB;;EASvB,WAAU;AAAA,EAEV,KA/CAyE;AAAA,EAgDA,KAAI;GAIH1D,KAAA,EAAA,OAAA,EAA0D,cAAA,OAAA,eAAA,OAAA,aAAA,OAAA,EAAA,GAG1D8B,KAAA,EAAA,OAAA,EAAyC,aAAA,QAAA,cAAA,OAAA,EAAA,GAMzCT,KAAA,EAAA,OAAM,QAAO,GAMfC,KAAA,EAAA,OAAM,MAAK;;EAQZ,WAAU;AAAA,EAEV,KA9FAhD;AAAA,EA+FA,KAAI;GAKHkD,KAAA,EAAA,OAAM,mBAAkB;;EASvB,WAAU;AAAA,EAEV,KA9FAkC;AAAA,EA+FA,KAAI;GAIH1B,KAAA,EAAA,OAAA,EAA0D,cAAA,OAAA,eAAA,OAAA,aAAA,OAAA,EAAA,GAG1DP,KAAA,EAAA,OAAA,EAAyC,aAAA,QAAA,cAAA,OAAA,EAAA,GAMzCQ,KAAA,EAAA,OAAM,QAAO,GAMf0B,KAAA,EAAA,OAAM,MAAK;;EAQZ,WAAU;AAAA,EAEV,KA7IArF;AAAA,EA8IA,KAAI;GAKHsF,KAAA,EAAA,OAAM,mBAAkB;;EASvB,WAAU;AAAA,EAEV,KA7IAF;AAAA,EA8IA,KAAI;GAKJG,KAAA,EAAA,OAAA,EAMC,cAAA,OAAA,eAAA,OAAA,aAAA,QAAA,eAAA,QAAA,iBAAA,iBAAA,EAAA,GAIAC,KAAA,EAAA,OAAA,EAAyC,aAAA,QAAA,cAAA,OAAA,EAAA;;AA1MpD,SAAAnI,EAAA,GAAAC,EAiNM,OAjNNF,IAiNM;AAAA,IA/MJiG,EAAA9F,EAsDU,WAtDVuC,IAsDU;AAAA,MAjDArC,EAAA,MAAM,mBAAc,KAD5BJ,KAAAC,EAIE,OAJFyC,EAIE,MACF1C,KAAAC,EAIE,OAJF8C,EAIE;AAAA,MAGF7C,EAaM,OAbNiD,IAaM;AAAA,QAVI/C,EAAA,MAAM,sBAFdH,EAKE,OAAA;AAAA;UAJA,WAAU;AAAA,UAET,KAAKG,EAAK,MAAC;AAAA,UACZ,KAAI;AAAA,4BAENJ,KAAAC,EAKE,OALF4C,EAKE;AAAA;MAIJ3C,EAqBM,OArBN4C,IAqBM;AAAA,QApBJ5C,EAaM,OAAA,MAAA;AAAA,UAVIE,EAAA,MAAM,qBAFdH,EAKE,OAAA;AAAA;YAJA,WAAU;AAAA,YAET,KAAKG,EAAK,MAAC;AAAA,YACZ,KAAI;AAAA,8BAENJ,KAAAC,EAKE,OALF6D,EAKE;AAAA;QAEJ5D,EAKM,OAAA,MAAA;AAAA,UAJJA,EAEI,KAFJ6D,IACKxC,EAAAnB,EAAA,MAAM,IAAI,GAAA,CAAA;AAAA,UAEfF,EAAqE,KAArEkD,IAAgD7B,EAAAnB,EAAA,MAAM,QAAQ,GAAA,CAAA;AAAA;;;MAjD1D,CAAAC,GAAAD,EAAA,MAAM,mBAAwB,KAAAA,EAAA,MAAM,mBAAc,CAAA;AAAA;IAuD5D4F,EAAA9F,EA4CU,WA5CVuF,IA4CU;AAAA,sBA3CRvF,EAGE,OAAA;AAAA,QAFA,OAAM;AAAA,QACN,OAAA,EAAoE,oBAAA,6CAAA;AAAA;MAGtEA,EAaM,OAbN+D,IAaM;AAAA,QAVI7D,EAAA,MAAM,sBAFdH,EAKE,OAAA;AAAA;UAJA,WAAU;AAAA,UAET,KAAKG,EAAK,MAAC;AAAA,UACZ,KAAI;AAAA,4BAENJ,KAAAC,EAKE,OALFiE,EAKE;AAAA;MAIJhE,EAqBM,OArBNoD,IAqBM;AAAA,QApBJpD,EAaM,OAAA,MAAA;AAAA,UAVIE,EAAA,MAAM,qBAFdH,EAKE,OAAA;AAAA;YAJA,WAAU;AAAA,YAET,KAAKG,EAAK,MAAC;AAAA,YACZ,KAAI;AAAA,8BAENJ,KAAAC,EAKE,OALFmE,EAKE;AAAA;QAEJlE,EAKM,OAAA,MAAA;AAAA,UAJJA,EAEI,KAFJmE,IACK9C,EAAAnB,EAAA,MAAM,IAAI,GAAA,CAAA;AAAA,UAEfF,EAAqE,KAArEiG,IAAgD5E,EAAAnB,EAAA,MAAM,QAAQ,GAAA,CAAA;AAAA;;;MAzCrC,CAAAC,GAAAD,EAAA,MAAM,mBAAc,CAAA;AAAA;IA+CnD4F,EAAA9F,EA4CU,WA5CVwF,IA4CU;AAAA,sBA3CRxF,EAGE,OAAA;AAAA,QAFA,OAAM;AAAA,QACN,OAAA,EAAoE,oBAAA,6CAAA;AAAA;MAGtEA,EAaM,OAbNyF,IAaM;AAAA,QAVIvF,EAAA,MAAM,sBAFdH,EAKE,OAAA;AAAA;UAJA,WAAU;AAAA,UAET,KAAKG,EAAK,MAAC;AAAA,UACZ,KAAI;AAAA,4BAENJ,KAAAC,EAKE,OALFmI,EAKE;AAAA;MAIJlI,EAqBM,OArBN2F,IAqBM;AAAA,QApBJ3F,EAaM,OAAA,MAAA;AAAA,UAVIE,EAAA,MAAM,qBAFdH,EAKE,OAAA;AAAA;YAJA,WAAU;AAAA,YAET,KAAKG,EAAK,MAAC;AAAA,YACZ,KAAI;AAAA,8BAENJ,KAAAC,EAKE,OALFyH,EAKE;AAAA;QAEJxH,EAKM,OAAA,MAAA;AAAA,UAJJA,EAEI,KAFJmG,IACK9E,EAAAnB,EAAA,MAAM,IAAI,GAAA,CAAA;AAAA,UAEfF,EAAqE,KAArE4F,IAAgDvE,EAAAnB,EAAA,MAAM,QAAQ,GAAA,CAAA;AAAA;;;MAzCrC,CAAAC,GAAAD,EAAA,MAAM,mBAAc,CAAA;AAAA;IA+CnD4F,EAAA9F,EAoDU,WApDVoG,IAoDU;AAAA,sBAnDRpG,EAGE,OAAA;AAAA,QAFA,OAAM;AAAA,QACN,OAAA,EAAoE,oBAAA,6CAAA;AAAA;MAGtEA,EAaM,OAbN8H,IAaM;AAAA,QAVI5H,EAAA,MAAM,sBAFdH,EAKE,OAAA;AAAA;UAJA,WAAU;AAAA,UAET,KAAKG,EAAK,MAAC;AAAA,UACZ,KAAI;AAAA,4BAENJ,KAAAC,EAKE,OALFoI,EAKE;AAAA;MAIJnI,EA6BM,OA7BN+H,IA6BM;AAAA,QA5BJ/H,EAaM,OAAA,MAAA;AAAA,UAVIE,EAAA,MAAM,qBAFdH,EAKE,OAAA;AAAA;YAJA,WAAU;AAAA,YAET,KAAKG,EAAK,MAAC;AAAA,YACZ,KAAI;AAAA,8BAENJ,KAAAC,EAKE,OALFqI,EAKE;AAAA;QAEJpI,EAaM,OAAA,MAAA;AAAA,UAZJA,EAUI,KAVJgI,IASK3G,EAAAnB,EAAA,MAAM,IAAI,GAAA,CAAA;AAAA,UAEfF,EAAqE,KAArEiI,IAAgD5G,EAAAnB,EAAA,MAAM,QAAQ,GAAA,CAAA;AAAA;;;MAjDrC,CAAAC,GAAAD,EAAA,MAAM,mBAAc,CAAA;AAAA;IAuDnDE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;AC7DzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,SAAS;AAAA,IACP,gBAAgByE,GAAM;AACpB,MAAKA,KACLvD,EAAeuD,GAAM,KAAK,OAAO;AAAA,IAClC;AAAA,IACD,kBAAkB;AAChB,MAAAvD,EAAe,KAAK,OAAO,KAAK,OAAO;AAAA,IACxC;AAAA,EACF;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,EACD;AAAA,EAED,UAAU;AAAA,EAAE;AAAA,EAEZ,SAAS,CAAE;AACb,GA1KOjB,KAAA,EAAA,OAAM,gBAAe,GAEnB0C,KAAA,EAAA,OAAM,QAAO;;EA8CT,OAAM;GAYJM,KAAA,EAAA,OAAM,QAAO;;EACV,OAAM;;;EAmDX,OAAM;GAYJe,KAAA,EAAA,OAAM,QAAO;;EACV,OAAM;oBAUjB2B,KAAA,EAAA,OAAM,QAAO;;;AAvIlB,SAAAzF,EAAA,GAAAC,EA6IM,OA7INF,IA6IM;AAAA,IA3IJG,EAGM,OAHNuC,IAGM;AAAA,MAFJvC,EAAyB,MAAA,MAAAqB,EAAlBnB,EAAK,MAAC,IAAI,GAAA,CAAA;AAAA,QACjBF,EAAuF,KAAA;AAAA,QAA1D,mCAAOuB,EAAe,mBAAAA,EAAA,gBAAA,GAAAC,CAAA;AAAA;0BAAE,SAAK,EAAA;AAAA,QAAAY,EAAyBC,GAAA,EAAf,MAAK,QAAO,CAAA;AAAA;QAArE,CAAAlC,GAAAD,EAAA,MAAM,SAAS;AAAA;;MAI5BF,EA6DU,WAAA;AAAA,MA3DP,OAAQsB,EAAA,CAAA,CAAApB,EAAA,MAAM,qDACT,kBAAkB,CAAA;AAAA;YAExBH,EAuDMsD,GAAA,MAAAC,EAtDY,GAAC,CAAVC,MADTvD,EAuDM,OAAA;AAAA,QArDH,KAAKuD;AAAA,QACN,UAAM,wBAAsB;AAAA,UACRrD,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA;QAQ1X,OAAKD,EAAA;AAAA,UAA+B,iBAAAC,EAAA,MAAM,eAAY;AAAA,UAA2B,QAAAA,EAAA,MAAM,gBAAW,IAAA,iCAAA;AAAA,wBAAkFA,EAAA,MAAM,gBAAW,IAAA,oCAAA;AAAA,iBAA8EA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA;;;QAgBthBF,EAQM,OAAA;AAAA,UAPJ,OAAMsB,EAAA,CAAA,SAEG,CAAApB,EAAA,MAAM,cAAS,QAAA,mBAAA,EAAA,CAAA,CAAA;AAAA,UADxB,OAAA,EAAuC,UAAA,YAAA,OAAA,OAAA;AAAA;0BAGvCF,EAAsE,OAAA;AAAA,YAAjE,WAAU;AAAA,YAAQ,KAAAyC;AAAAA,YAAsC,KAAI;AAAA;UAE1CvC,EAAA,MAAM,cAA7BJ,KAAAC,EAA+D,KAA/DyC,IAA+D,CAAA,GAAAkB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,YAAtB1D,EAAc,cAAR,KAAC,EAAA;AAAA,cAAO,QAAI,EAAA;AAAA;;QAI7DA,EAeM,OAAA;AAAA,UAdJ,OAAMsB,EAAA,CAAA,QACG,CAAApB,EAAA,MAAM,cAAS,QAAA,iBAAA,EAAA,CAAA,CAAA;AAAA,UACvB,OAAKD,EAAA,EAAA,YAAgBC,EAAK,MAAC,gBAAW,IAAA,SAAA,QAAA;AAAA;UAGvCwD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA1D,EAAwB,YAApB,mBAAe,EAAA;AAAA,UAEnBA,EAMM,OANN6C,IAMM;AAAA,YALoB3C,EAAA,MAAM,sBAA9BH,EAA0D,QAA1DkD,IAA6C,QAAM,WACnDlD,EAAoB,QAAA2C,EAAA;AAAA,cACpB1C,EAEC,QAAA,MAAA;AAAA,cADEoC,EAA8BC,GAAA,EAApB,MAAK,aAAY,CAAA;AAAA,gCAAG,QAAI,EAAA;AAAA;cADvB,CAAAlC,GAAAD,EAAA,MAAM,YAAY;AAAA;;;;;MAtD7B,CAAAC,GAAA,CAAAD,EAAA,MAAM,UAAS,CAAA,CAAA;AAAA;MA8D1BF,EA8DU,WAAA;AAAA,MA5DP,OAAQsB,EAAA,CAAA,CAAApB,EAAA,MAAM,qDACT,kBAAkB,CAAA;AAAA;OAExBJ,EAAA,EAAA,GAAAC,EAwDMsD,WAvDoBnD,EAAK,MAAC,WAAtB,CAAAmE,GAAMd,YADhBxD,EAwDM,OAAA;AAAA,QAtDH,KAAKwD;AAAA,QACN,UAAM,wBAAsB;AAAA,UAERrD,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA,UAAiDA,EAAA,MAAM,kBAAa,IAAA,0BAAA;AAAA;QAD1X,SAAK,CAAAoE,MAAE/C,EAAe,gBAAC8C,CAAI;AAAA,QAS3B,OAAKpE,EAAA;AAAA,UAA+B,iBAAAC,EAAA,MAAM,eAAY;AAAA,UAA2B,QAAAA,EAAA,MAAM,gBAAW,IAAA,iCAAA;AAAA,wBAAkFA,EAAA,MAAM,gBAAW,IAAA,oCAAA;AAAA,iBAA8EA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA,MAA2BA,EAAA,MAAM,kBAAa,IAA4B,KAAAA,EAAA,MAAM,kBAAe,IAAA;;;QAgBthBF,EAQM,OAAA;AAAA,UAPJ,OAAMsB,EAAA,CAAA,SAEG,CAAApB,EAAA,MAAM,cAAS,QAAA,mBAAA,EAAA,CAAA,CAAA;AAAA,UADxB,OAAA,EAAuC,UAAA,YAAA,OAAA,OAAA;AAAA;UAGvCF,EAAgD,OAAA;AAAA,YAA3C,WAAU;AAAA,YAAS,KAAKqE,EAAK;AAAA,YAAK,KAAI;AAAA;UAEpBnE,EAAA,MAAM,cAA7BJ,KAAAC,EAA+D,KAA/D4D,IAA+D,CAAA,GAAAD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,YAAtB1D,EAAc,cAAR,KAAC,EAAA;AAAA,cAAO,QAAI,EAAA;AAAA;;QAI7DA,EAeM,OAAA;AAAA,UAdJ,OAAMsB,EAAA,CAAA,QACG,CAAApB,EAAA,MAAM,cAAS,QAAA,iBAAA,EAAA,CAAA,CAAA;AAAA,UACvB,OAAKD,EAAA,EAAA,YAAgBC,EAAK,MAAC,gBAAW,IAAA,SAAA,QAAA;AAAA;UAGvCF,EAAwB,MAAA,MAAAqB,EAAjBgD,EAAK,IAAI,GAAA,CAAA;AAAA,UAEhBrE,EAMM,OANN4D,IAMM;AAAA,YALoB1D,EAAA,MAAM,sBAA9BH,EAA0D,QAA1D8D,IAA6C,QAAM,WACnD9D,EAAoB,QAAAmD,EAAA;AAAA,cACpBlD,EAEC,QAAA,MAAA;AAAA,cADEoC,EAA8BC,GAAA,EAApB,MAAK,aAAY,CAAA;AAAA,gCAAG,QAAI,EAAA;AAAA;cADvB,CAAAlC,GAAAD,EAAA,MAAM,YAAY;AAAA;;;;;MAvD9B,CAAAC,GAAAD,EAAA,MAAM,UAAS,CAAA,CAAA;AAAA;IA+DzB4F,EAAA9F,EAEI,KAFJuF,IAEI;AAAA,wBAFsC,UACnC,EAAA;AAAA,MAAAnD,EAAyBC,GAAA,EAAf,MAAK,QAAO,CAAA;AAAA;MADJ,CAAAlC,GAAAD,EAAA,MAAM,SAAS;AAAA;IAKxCE,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;8CC7IVgI,KAAA;ACkBf,MAAMC,IAAiB,CAACzG,GAAO0G,MAAa;AAC1C,QAAMC,IAAc,OAAO3G,CAAK;AAChC,SAAO,OAAO,SAAS2G,CAAW,IAAIA,IAAcD;AACtD,GAEK3I,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,IACP,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,aAAa;;AACX,aAAO,KAAK,IAAI,IAAI,KAAK,IAAI0I,GAAelH,IAAA,KAAK,UAAL,gBAAAA,EAAY,MAAM,EAAE,GAAG,GAAG,CAAC;AAAA,IACxE;AAAA,IACD,qBAAqB;;AACnB,eAAOA,IAAA,KAAK,UAAL,gBAAAA,EAAY,wBAAuB,SAAS,SAAS;AAAA,IAC7D;AAAA,IACD,mBAAmB;;AACjB,eAAOA,IAAA,KAAK,UAAL,gBAAAA,EAAY,sBAAqB,QAAQ,QAAQ;AAAA,IACzD;AAAA,IACD,UAAU;;AACR,aAAO,KAAK,IAAI,GAAGkH,GAAelH,IAAA,KAAK,UAAL,gBAAAA,EAAY,SAAS,EAAE,CAAC;AAAA,IAC3D;AAAA,IACD,UAAU;;AACR,aAAO,KAAK,IAAI,GAAGkH,GAAelH,IAAA,KAAK,UAAL,gBAAAA,EAAY,SAAS,EAAE,CAAC;AAAA,IAC3D;AAAA,IACD,eAAe;;AACb,aAAO,KAAK,IAAI,GAAG,KAAK,IAAIkH,GAAelH,IAAA,KAAK,UAAL,gBAAAA,EAAY,cAAc,EAAE,GAAG,EAAE,CAAC;AAAA,IAC9E;AAAA,IACD,kBAAkB;;AAChB,aAAO,IAAQA,IAAA,KAAK,UAAL,QAAAA,EAAY;AAAA,IAC5B;AAAA,IACD,cAAc;;AACZ,eAAOA,IAAA,KAAK,UAAL,gBAAAA,EAAY,UAASiH;AAAA,IAC7B;AAAA,IACD,kBAAkB;;AAChB,YAAMI,IAA2B,KAAK,qBAAqB,QAAQ,WAAW;AAE9E,aAAO;AAAA,QACL,QAAQ,GAAG,KAAK,UAAU;AAAA,QAC1B,OAAO;AAAA,QACP,UAAU,KAAK,mBAAmB,CAAC,KAAK,mBAAmB,UAAU;AAAA,QACrE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,CAAC,KAAK,gBAAgB,GAAG,GAAG,KAAK,OAAO;AAAA,QACxC,CAACA,CAAwB,GAAG;AAAA,QAC5B,QAAQH,GAAelH,IAAA,KAAK,UAAL,gBAAAA,EAAY,QAAQ,GAAG;AAAA,QAC9C,QAAQ;AAAA,QACR,WAAW;AAAA,MACb;AAAA,IACD;AAAA,IACD,YAAY;AACV,YAAMsH,IAA6B,KAAK,uBAAuB,SAAS,UAAU;AAElF,aAAO;AAAA,QACL,OAAO,GAAG,KAAK,UAAU;AAAA,QACzB,QAAQ,GAAG,KAAK,UAAU;AAAA,QAC1B,UAAU;AAAA,QACV,CAAC,KAAK,kBAAkB,GAAG,GAAG,KAAK,OAAO;AAAA,QAC1C,CAACA,CAA0B,GAAG;AAAA,QAC9B,QAAQ;AAAA,MACV;AAAA,IACD;AAAA,IACD,YAAY;AACV,aAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,cAAc,GAAG,KAAK,YAAY;AAAA,MACpC;AAAA,IACD;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,cAAc;AACZ,MAAK,KAAK,SACV5H,EAAe,KAAK,OAAO,KAAK,OAAO;AAAA,IACxC;AAAA,EACF;AACH;;cAlGEf,EAWM,OAAA;AAAA,IAXD,IAAG;AAAA,IAAc,SAAOwB,EAAe,eAAA;AAAA;IAC1CvB,EAOM,OAAA;AAAA,MAPD,OAAM;AAAA,MAAmB,SAAOuB,EAAS,SAAA;AAAA,MAAG,mCAAOA,EAAW,eAAAA,EAAA,YAAA,GAAAC,CAAA;AAAA;MACjExB,EAKE,OAAA;AAAA,QAJA,OAAM;AAAA,QACL,KAAKuB,EAAW;AAAA,QAChB,SAAOA,EAAS,SAAA;AAAA,QACjB,KAAI;AAAA;;IAIRnB,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;8CCXVsI,KAAA,8eCAAC,KAAA,sdCAAC,KAAA,8bCAAC,KAAA;AC0Df,MAAKlJ,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,iBAAiB,CAAC,QAAQ,SAAS,SAAS,SAAS,OAAO;AAAA,MAC5D,oBAAoB;AAAA,QAClB,0BAA0BmJ;AAAAA,QAC1B,4BAA4BC;AAAAA,QAC5B,6BAA6BC;AAAAA,QAC7B,+BAA+BC;AAAAA,MAChC;AAAA,IACH;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,oBAAoBC,GAAQ;AAC1B,YAAMC,IAAkB;AACxB,UAAI,CAACD,KAAU,OAAOA,KAAW,YAAY,CAACA,EAAO,WAAWC,CAAe;AAC7E,eAAOD;AAGT,UAAI;AACF,eAAO,mBAAmBA,EAAO,MAAMC,EAAgB,MAAM,CAAC;AAAA,MAC9D,QAAc;AACd,eAAOD;AAAA,MACT;AAAA,IACD;AAAA,IACD,YAAYE,GAAa;AACvB,UAAI,CAAC,KAAK;AAAgB;AAE1B,YAAM9F,IADQ,KAAK,kBAAkB,EACjB,QAAQ8F,CAAW;AACvC,UAAI9F,MAAU;AAAI;AAClB,YAAMc,IAAO,KAAK,MAAM,SAASd,CAAK;AACtC,MAAKc,KACLvD,EAAeuD,GAAM,KAAK,OAAO;AAAA,IAClC;AAAA,IACD,iBAAiBA,GAAMd,GAAO;AAC5B,aAAIc,KAAQA,EAAK,WAAiBA,EAAK,WAChC,UAAUd,CAAK;AAAA,IACvB;AAAA,IACD,oBAAoB;AAClB,aAAI,KAAK,iBACA,KAAK,MAAM,SAAS,IAAI,CAACc,GAAMd,MAAU,KAAK,iBAAiBc,GAAMd,CAAK,CAAC,IAE7E,KAAK;AAAA,IACb;AAAA,IACD,mBAAmB1B,GAAO;AACxB,YAAMyH,IAAQ,KAAK,kBAAkB;AACrC,aAAKA,EAAM,SAEP,OAAOzH,KAAU,YAAYyH,EAAM,SAASzH,CAAK,IAC5CA,IAGL,OAAOA,KAAU,YAAYA,KAAS,KAAKA,IAAQyH,EAAM,SACpDA,EAAMzH,CAAK,IAGbyH,EAAM,CAAC,IAVY;AAAA,IAW3B;AAAA,IACD,iBAAiBC,GAAY;;AAE3B,YAAMhG,IADQ,KAAK,kBAAkB,EACjB,QAAQgG,CAAU;AACtC,aAAIhG,MAAU,MAAWnC,IAAA,KAAK,UAAL,gBAAAA,EAAY,YACjC,SAAOa,IAAA,KAAK,UAAL,gBAAAA,EAAY,cAAc,WAAiBsB,IAC/CgG;AAAA,IACR;AAAA,IACD,kBAAkBJ,GAAQ;AACxB,UAAI,CAACA,KAAU,OAAOA,KAAW;AAAU,eAAOA;AAClD,YAAMK,IAAgB,KAAK,oBAAoBL,CAAM;AAErD,UAAIA,EAAO,WAAW,aAAa,KAAKK,MAAkBL;AAAQ,eAAOA;AAEzE,UACEA,EAAO,SAAS,OAAO,KACvBA,EAAO,SAAS,4BAA4B,KAC5CK,EAAc,SAAS,OAAO,KAC9BA,EAAc,SAAS,4BAA4B,GACnD;AACA,cAAMC,IAAM,OAAO,KAAK,KAAK,kBAAkB,EAAE;AAAA,UAC/C,CAACC,MAAaP,EAAO,SAASO,CAAQ,KAAKF,EAAc,SAASE,CAAQ;AAAA,QAC5E;AACA,YAAID;AACF,iBAAO,KAAK,mBAAmBA,CAAG;AAAA,MAEtC;AAEA,aAAON;AAAA,IACR;AAAA,EACF;AAAA,EAED,UAAU;AAAA,IACR,iBAAiB;;AACf,aAAO,MAAM,SAAQ/H,IAAA,KAAK,UAAL,gBAAAA,EAAY,QAAQ,KAAK,KAAK,MAAM,SAAS,WAAW;AAAA,IAC9E;AAAA,IACD,iBAAiB;;AACf,eAAOA,IAAA,KAAK,UAAL,gBAAAA,EAAY,cAAa;AAAA,IACjC;AAAA,IACD,YAAY;AAAA,MACV,MAAM;;AACJ,eAAO,KAAK,oBAAmBA,IAAA,KAAK,UAAL,gBAAAA,EAAY,SAAS;AAAA,MACrD;AAAA,MACD,IAAIS,GAAO;AACT,QAAK,KAAK,UACV,KAAK,MAAM,YAAY,KAAK,iBAAiBA,CAAK;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AACH;;EAvK+B,OAAM;;;;cADnC9B,EA+CM,OAAA;AAAA,IA/CD,IAAG;AAAA,IAAU,6BAA2BwB,EAAc,eAAA,CAAA;AAAA;IAC9CA,EAAc,kBAAzBzB,KAAAC,EAuBM,OAvBNF,IAuBM;AAAA,MAtBJuC,EAqBauH,GAAA;AAAA,oBApBFpI,EAAU;AAAA,sDAAVA,EAAU,aAAA+C;AAAA,QAClB,OAAO;AAAA,QACP,aAAa;AAAA,QACd,0BAAA;AAAA,QACC,QAAQpE,EAAK,MAAC;AAAA,QACd,gBAAcA,EAAK,MAAC;AAAA,QACpB,kBAAgBA,EAAK,MAAC;AAAA,QACtB,UAAQqB,EAAW;AAAA;mBAGlB,MAAuC;AAAA,WADzCzB,EAAA,EAAA,GAAAC,EAUkBsD,WATQnD,EAAK,MAAC,UAAtB,CAAAmE,GAAMd,YADhBC,EAUkBoG,GAAA;AAAA,YARf,KAAKrG;AAAA,YACL,MAAMhC,EAAA,iBAAiB8C,GAAMd,CAAK;AAAA,YAClC,KAAKc,EAAK;AAAA;YAGA,MAAIwF,EACb,CADeC,MAAK;AAAA,cACpB9J,EAA6E,OAAA;AAAA,gBAAvE,KAAKuB,EAAA,kBAAkBuI,EAAM,SAASzF,EAAK,UAAUA,EAAK,QAAQ;AAAA;;uBAF1E,MAAgC;AAAA,cAAhCrE,EAAgC,QAAA,MAAAqB,EAAvBgD,EAAK,QAAQ,GAAA,CAAA;AAAA;;;;;;gBAQ5BtE,EAiBM,OAAAyC,IAAA;AAAA,MAhBJJ,EAeauH,GAAA;AAAA,oBAdFpI,EAAU;AAAA,sDAAVA,EAAU,aAAA+C;AAAA,QAClB,OAAO;AAAA,QACP,aAAa;AAAA,QACd,0BAAA;AAAA,QACC,QAAQpE,EAAK,MAAC;AAAA,QACd,gBAAcA,EAAK,MAAC;AAAA,QACpB,kBAAgBA,EAAK,MAAC;AAAA,QACtB,UAAQqB,EAAW;AAAA;mBAEpB,MAA+D;AAAA,UAA/Da,EAA+DwH,GAAA;AAAA,YAA9C,MAAK;AAAA,YAAS,MAAK;AAAA;uBAAO,MAAE,CAAA,GAAAlG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAF,MAAE,EAAA;AAAA;;;UAC7CtB,EAAgEwH,GAAA;AAAA,YAA/C,MAAK;AAAA,YAAS,MAAK;AAAA;uBAAQ,MAAE,CAAA,GAAAlG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAF,MAAE,EAAA;AAAA;;;UAC9CtB,EAAmEwH,GAAA;AAAA,YAAlD,MAAK;AAAA,YAAY,MAAK;AAAA;uBAAQ,MAAE,CAAA,GAAAlG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAF,MAAE,EAAA;AAAA;;;UACjDtB,EAAmEwH,GAAA;AAAA,YAAlD,MAAK;AAAA,YAAY,MAAK;AAAA;uBAAQ,MAAE,CAAA,GAAAlG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAF,MAAE,EAAA;AAAA;;;UACjDtB,EAAmEwH,GAAA;AAAA,YAAlD,MAAK;AAAA,YAAY,MAAK;AAAA;uBAAQ,MAAE,CAAA,GAAAlG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gBAAF,MAAE,EAAA;AAAA;;;;;;;IAKrDtD,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;ACxBzB,MAAKT,KAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EAED,UAAU;AAAA,EACT;AAAA,EAED,SAAS,CACR;AACH,GAjCOC,KAAA,EAAA,OAAM,UAAS;;EAET,OAAM;;;EAKC,OAAA,EAA0B,UAAA,WAAA;;;;AAP5C,SAAAC,EAAA,GAAAC,EAkBM,OAlBNF,IAkBM;AAAA,IAhB4BK,EAAA,MAAM,OAKtCJ,KAAAC,EAOU,WAPVyC,IAOU;AAAA,MANRxC,EAKS,SAAA;AAAA,QAJN,KAAKE,EAAK,MAAC;AAAA,QACZ,UAAA;AAAA,QACC,UAAUA,EAAK,MAAC;AAAA,QAChB,QAAQA,EAAK,MAAC;AAAA;WAVnBJ,KAAAC,EAEU,WAFVwC,IAEU;AAAA,MADRH,EAAqCC,GAAA;AAAA,QAA3B,MAAK;AAAA,QAAO,MAAK;AAAA;;IAc7BjC,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;;;;;;;;;;GCiJnB0J,KAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7CrB,UAAMD,IAAQE,GAwCRC,IAAOC,GAGPC,IAAUC,GAAI,EAAK,GAGnBC,IAAqB,QAAQN,EAAY,qCACzCO,IAAeC,EAAS,MACxB,CAACT,EAAM,cAAcA,EAAM,WAAW,aAAa,KAAc,IAC9D,OAAOA,EAAM,WAAW,eAAe,EAAE,CACjD,GAEKU,IAAmBD;AAAA,MAAS,OAC/BT,EAAM,cAAc,CAAE,GACpB,IAAI,CAACW,GAAWlH,OAAW,EAAE,WAAAkH,GAAW,OAAAlH,EAAK,EAAG,EAChD,OAAO,CAACmH,MAAUA,EAAM,aAAaA,EAAM,UAAU,SAAS;AAAA,IACnE,GACMC,IAA0B,CAACC,MAAa;;AAC5C,cAAAA,KAAA,gBAAAA,EAAe,eAAc,gBAAgB,IAAQxJ,IAAAwJ,KAAA,gBAAAA,EAAe,aAAf,QAAAxJ,EAAyB;AAAA,OAC1EyJ,IAAcN,EAAS,MAAA;;AAAM,eAAAnJ,IAAAoJ,EAAiB,MAAM,KAAK,CAACE,MAAUA,EAAM,UAAU,cAAc,QAAQ,MAA7E,gBAAAtJ,EAAgF,cAAa;AAAA,KAAI,GAC9H0J,IAAuBP;AAAA,MAAS,MACpCC,EAAiB,MAAM,OAAO,CAACE,MAAUA,EAAM,UAAU,cAAc,YAAY,CAACC,EAAwBD,EAAM,SAAS,CAAC;AAAA,IAC9H,GACMK,IAA+BR;AAAA,MAAS,MAC5CC,EAAiB,MAAM,OAAO,CAACE,MAAUC,EAAwBD,EAAM,SAAS,CAAC;AAAA,IACnF,GAEMM,IAAkB,CAAC,EAAE,WAAAP,GAAW,OAAAlH,EAAO,MAAK,GAAGkH,EAAU,cAAcA,EAAU,SAAS,IAAIlH,CAAK,IAGnG0H,IAAoB,CAACL,MAAkB;AAC3C,YAAMM,IAAS,CAAC;AAGhB,aAAIN,EAAc,UAAUd,EAAM,qBAChCoB,EAAO,SAAS,sBAGXA;AAAA,IACT,GAGMC,IAAoB,CAACP,MAAkB;AAC3C,YAAMQ,IAAiB,CAAC;AAGxB,aAAIR,EAAc,SAChBQ,EAAe,WAAW,IAAIR,EAAc,OAG1C,CAAC,mBAAmB,cAAc,eAAe,EAAE,SAASA,EAAc,SAAS,MACrFQ,EAAe,uBAAuBtB,EAAM,uBAGvCsB;AAAA,IACT,GAGMC,IAAuB,CAACT,GAAerH,MAAU;AACrD,MAAKuG,EAAM,qBAEXG,EAAK,mBAAmB;AAAA,QACtB,WAAWW;AAAA,QACX,OAAArH;AAAA,MACJ,CAAG;AAAA,IACH,GAGM+H,IAAwB,CAAC/H,MAAU;AACvC,MAAKuG,EAAM,qBAEXG,EAAK,oBAAoB,EAAE,OAAA1G,GAAO;AAAA,IACpC,GAGMgI,KAAe,MAAM;AAEzB,MAAApB,EAAQ,QAAQ,IAChBF,EAAK,gBAAgB;AAAA,IACvB;AAGA,WAAAuB,GAAU,MAAM;AACd,MAAAD,GAAa;AAAA,IACf,CAAC;;;kBAjPCxL,EAuGM,OAAA;AAAA,QAvGD,OAAM;AAAA,QAAsB,sBAAoBiK,EAAS,YAAA,MAAA;AAAA;QAGpDA,EAAU,cAAIA,EAAU,WAAC,aAAQ,WADzCjK,EAiBM,OAAA;AAAA;UAfJ,OAAM;AAAA,UACL,OAAKE,EAAA;AAAA,YAAqB,SAAA+J,EAAA,WAAW,eAAW,MAAA;AAAA;;;UAKjDhK,EAQM,OARNH,IAQM;AAAA,YANImK,EAAA,WAAW,eADnBxG,EAKEnB,GAAA;AAAA;cAHA,MAAK;AAAA,cACL,MAAK;AAAA,cACL,OAAM;AAAA;YAERrC,EAA+D,QAA/DuC,IAA4BlB,EAAA2I,EAAA,WAAW,QAAI,MAAA,GAAA,CAAA;AAAA;;QAK/ChK,EA6CM,OAAA;AAAA,UA5CJ,OAAM;AAAA,UACL,OAAKC,EAAA;AAAA;iBAA+CqK,EAAY,QAAA;AAAA;;YAA4D,QAAAO,EAAA,QAAcR,IAAkB;AAAA,YAA+B,mBAAAjJ,IAAA4I,EAAA,eAAA,gBAAA5I,EAAY,YAAO;AAAA,YAAwC,kBAAAa,IAAA+H,EAAA,eAAA,QAAA/H,EAAY,QAAe,OAAA+H,EAAA,WAAW,KAAK,MAAA;AAAA;;;;kBAalSjK,EAqBYsD,GAAA,MAAAC,EApBewH,EAAoB,OAAA,CAAtCW,OADT3L,EAAA,GAAA0D,EAqBYkI,EAlBLD,EAAe,UAAU,SAAS,GAHzCE,EAqBY;AAAA,YAnBT,KAAKX,EAAgBS,CAAc;AAAA,YAEnC,OAAOA,EAAe,UAAU;AAAA,YAChC,OAAK;AAAA;gDAAgFzB,EAAgB,iBAAA;AAAA,cAAoC,EAAA,oBAAAyB,EAAe,UAAU,UAAUzB,EAAgB,iBAAA;AAAA;YAK5L,OAAOiB,EAAkBQ,EAAe,SAAS;AAAA,YACjD,SAAK,CAAAnH,MAAE+G,EAAqBI,EAAe,WAAWA,EAAe,KAAK;AAAA,8BACnEN,EAAkBM,EAAe,SAAS,CAAA,GAAAG,GAAA,EAAA,GAAA,EAAA,GAAA;AAAA,YAG3B5B,EAAgB;oBAA5B;AAAA,oBACT,MAGM;AAAA,gBAHNhK,EAGM,OAAA;AAAA,kBAHD,OAAM;AAAA,kBAAsB,SAAY6L,GAAA,CAAAvH,MAAAgH,EAAsBG,EAAe,KAAK,GAAA,CAAA,MAAA,CAAA;AAAA;kBACrFzL,EAAwE,QAAxE6C,IAAwExB,EAAvCoK,EAAe,UAAU,IAAI,GAAA,CAAA;AAAA,kBAC9DrJ,EAAoCC,GAAA;AAAA,oBAA1B,MAAK;AAAA,oBAAS,MAAK;AAAA;;;;;;UAMxByI,EAAA,MAAqB,WAAgB,KAAAC,EAAA,MAA6B,WAAM,KAAnFjL,KAAAC,EAKM,OALNkD,IAKM;AAAA,YAJJjD,EAGM,OAHN0C,IAGM;AAAA,cAFJN,EAAiDC,GAAA;AAAA,gBAAvC,MAAK;AAAA,gBAAS,MAAK;AAAA,gBAAK,OAAM;AAAA;cACxCqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA1D,EAAgC,KAA7B,EAAA,OAAM,aAAY,GAAC,UAAM,EAAA;AAAA;;;QAM1B+K,EAAA,MAA6B,eADrChL,EA6BM,OAAA;AAAA;UA3BJ,OAAM;AAAA,UACL,OAAKE,EAAA;AAAA,iBAAiBqK,EAAY,QAAA;AAAA,YAAyB,QAAAO,EAAA,QAAcR,IAAkB;AAAA;;kBAK5FtK,EAoBYsD,GAAA,MAAAC,EAnBeyH,EAA4B,OAAA,CAA9CU,OADT3L,EAAA,GAAA0D,EAoBYkI,EAjBLD,EAAe,UAAU,SAAS,GAHzCE,EAoBY;AAAA,YAlBT,KAAKX,EAAgBS,CAAc;AAAA,YAEnC,OAAOA,EAAe,UAAU;AAAA,YAChC,OAAK;AAAA;gDAAgFzB,EAAgB,iBAAA;AAAA,cAAoC,EAAA,oBAAAyB,EAAe,UAAU,UAAUzB,EAAgB,iBAAA;AAAA;YAK5L,OAAOiB,EAAkBQ,EAAe,SAAS;AAAA,YACjD,SAAK,CAAAnH,MAAE+G,EAAqBI,EAAe,WAAWA,EAAe,KAAK;AAAA,mCAC9DN,EAAkBM,EAAe,SAAS,GAAA,kBAAA,GAAA,CAAA,GAAAG,GAAA,EAAA,GAAA,KAAA;AAAA,YAEhC5B,EAAgB;oBAA5B;AAAA,oBACT,MAGM;AAAA,gBAHNhK,EAGM,OAAA;AAAA,kBAHD,OAAM;AAAA,kBAAsB,SAAY6L,GAAA,CAAAvH,MAAAgH,EAAsBG,EAAe,KAAK,GAAA,CAAA,MAAA,CAAA;AAAA;kBACrFzL,EAAwE,QAAxE4C,IAAwEvB,EAAvCoK,EAAe,UAAU,IAAI,GAAA,CAAA;AAAA,kBAC9DrJ,EAAoCC,GAAA;AAAA,oBAA1B,MAAK;AAAA,oBAAS,MAAK;AAAA;;;;;;;QAM1BwI,EAAW,SAAtB/K,KAAAC,EAEM,OAFN4D,IAEM;AAAA,gBADJH,EAA+FkI,EAA/Eb,EAAW,MAAC,SAAS,GAAA;AAAA,YAAG,OAAK,EAAA,GAAOA,EAAW,MAAC,UAAQ,UAAA,GAAA;AAAA;;;;;mECtG/D9B,KAAA;AAAA;AAAA;AAAA,GCAAC,KAAA;AAAA;AAAA;AAAA,GCAAC,KAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,KAAA;AAAA;AAAA;AAAA;AAAA,GCKT4C,IAAe,CAACC,MAAQ,2BAA2B,mBAAmBA,CAAG,CAAC,IAC1EC,KAAmBF,EAAa/C,EAAmB,GACnDkD,KAAqBH,EAAa9C,EAAqB,GACvDkD,KAAsBJ,EAAa7C,EAAsB,GACzDkD,KAAwBL,EAAa5C,EAAwB,GAE7DkD,IAAsB,oBAAI,IAAK;AAKrCA,EAAoB,IAAI,eAAe;AAAA,EACrC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA;AAAA,IACN,aAAa;AAAA;AAAA,IACb,UAAU;AAAA;AAAA,IACV,iBAAiB;AAAA;AAAA,IACjB,YAAY;AAAA;AAAA,IACZ,WAAW;AAAA;AAAA,IACX,mBAAmB;AAAA;AAAA,IACnB,WAAW;AAAA;AAAA,IACX,kBAAkB;AAAA;AAAA,IAClB,WAAW;AAAA;AAAA,IACX,YAAY;AAAA;AAAA,IACZ,YAAY;AAAA;AAAA,IACZ,MAAM;AAAA;AAAA,MAEJ,MAAM;AAAA;AAAA,MACN,MAAM;AAAA;AAAA,MACN,MAAM;AAAA;AAAA,MACN,UAAU;AAAA;AAAA,MACV,MAAM;AAAA;AAAA,IACP;AAAA,EACF;AACH,CAAC;AAEDA,EAAoB,IAAI,iBAAiB;AAAA,EACvC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,eAAe;AAAA,IACf,aAAa;AAAA,IACb,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,oBAAoB;AAAA,IACpB,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,WAAW,CAAE;AAAA,IACb,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,MACpB;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAE;AAAA,MACd;AAAA,MACD;AAAA,QACE,MAAM;AAAA,QACN,WAAW,CAAE;AAAA,MACd;AAAA,IACF;AAAA,IACD,UAAU;AAAA,IACV,UAAU;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,EACR;AACH,CAAC;AAEDA,EAAoB,IAAI,cAAc;AAAA,EACpC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,YAAY;AAAA;AAAA,IACZ,cAAc;AAAA;AAAA,IACd,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,YAAY;AAAA;AAAA,IACZ,eAAe;AAAA;AAAA,IACf,WAAW,CAAE;AAAA;AAAA,EACd;AACH,CAAC;AAEDA,EAAoB,IAAI,qBAAqB;AAAA,EAC3C,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW,CAAE;AAAA;AAAA,IACb,gBAAgB;AAAA;AAAA,IAChB,UAAU;AAAA;AAAA,IACV,iBAAiB;AAAA;AAAA,IACjB,WAAW;AAAA;AAAA,IACX,cAAc;AAAA;AAAA,IACd,UAAU;AAAA;AAAA,IACV,YAAY;AAAA;AAAA,IACZ,UAAU;AAAA;AAAA,IACV,OAAO;AAAA,EACR;AACH,CAAC;AAEDA,EAAoB,IAAI,YAAY;AAAA,EAClC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,IACT,WAAW;AAAA;AAAA,EACZ;AACH,CAAC;AACDA,EAAoB,IAAI,aAAa;AAAA,EACnC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,gBAAgB;AAAA;AAAA,IAChB,YAAY;AAAA;AAAA,IACZ,WAAW;AAAA;AAAA,IACX,WAAW;AAAA,MACT;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,MAC3D;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,MAC3D;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,MAC3D;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,MAC3D;AAAA,MACD;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,MAC3D;AAAA,IACF;AAAA;AAAA,EACF;AACH,CAAC;AACDA,EAAoB,IAAI,yBAAyB;AAAA,EAC/C,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,UAAU;AAAA;AAAA,IACV,cAAc;AAAA;AAAA,IACd,UAAU;AAAA;AAAA,EACX;AACH,CAAC;AACDA,EAAoB,IAAI,mBAAmB;AAAA,EACzC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,IACT,UAAU;AAAA;AAAA,IACV,cAAc;AAAA;AAAA,IACd,cAAc;AAAA;AAAA,IACd,iBAAiB;AAAA;AAAA,IACjB,aAAa;AAAA;AAAA,IACb,WAAW;AAAA;AAAA,IACX,UAAU;AAAA,IACV,MAAM,EAAE,cAAc,IAAI,WAAW,mBAAmB,aAAa,GAAI;AAAA,EAC1E;AACH,CAAC;AACDA,EAAoB,IAAI,oBAAoB;AAAA,EAC1C,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,eAAe;AAAA;AAAA,IACf,cAAc;AAAA;AAAA,IACd,gBAAgB;AAAA;AAAA,IAChB,MAAM;AAAA;AAAA,IACN,aAAa;AAAA;AAAA,IACb,UAAU;AAAA;AAAA,EACX;AACH,CAAC;AACDA,EAAoB,IAAI,gBAAgB;AAAA,EACtC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA;AAAA,IACN,UAAU;AAAA,IACV,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,EAC3D;AACH,CAAC;AACDA,EAAoB,IAAI,UAAU;AAAA,EAChC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,YAAY;AAAA;AAAA,IACZ,WAAW;AAAA;AAAA,IACX,WAAW;AAAA;AAAA,EACZ;AACH,CAAC;AACDA,EAAoB,IAAI,WAAW;AAAA,EACjC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,KAAK;AAAA;AAAA,IACL,UAAU;AAAA;AAAA,IACV,UAAU;AAAA;AAAA,EACX;AACH,CAAC;AAEDA,EAAoB,IAAI,gBAAgB;AAAA,EACtC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,EACN;AACH,CAAC;AACDA,EAAoB,IAAI,mBAAmB;AAAA,EACzC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,IACT,WAAW;AAAA;AAAA,IACX,OAAO;AAAA;AAAA,IACP,UAAU;AAAA;AAAA,IACV,YAAY;AAAA;AAAA,IACZ,WAAW;AAAA;AAAA,EACZ;AACH,CAAC;AACDA,EAAoB,IAAI,iBAAiB;AAAA,EACvC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA;AAAA,IACN,eAAe;AAAA;AAAA,IACf,aAAa;AAAA;AAAA,IACb,cAAc;AAAA;AAAA,IACd,YAAY;AAAA;AAAA,IACZ,YAAY;AAAA;AAAA,IACZ,eAAe;AAAA;AAAA,IACf,cAAc;AAAA;AAAA,IACd,WAAW;AAAA;AAAA,IACX,WAAW;AAAA;AAAA,IACX,WAAW,CAAE;AAAA,IACb,WAAW;AAAA;AAAA,IACX,UAAU;AAAA,IACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,EAC3D;AACH,CAAC;AACDA,EAAoB,IAAI,eAAe;AAAA,EACrC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU,CAAE;AAAA;AAAA,EACb;AACH,CAAC;AACDA,EAAoB,IAAI,UAAU;AAAA,EAChC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,cAAc;AAAA,IACd,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,MACR;AAAA,QACE,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAASJ;AAAA,QACT,UAAUC;AAAA,QACV,OAAO;AAAA,QACP,UAAU;AAAA,QACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,MAC3D;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAASC;AAAA,QACT,UAAUC;AAAA,QACV,OAAO;AAAA,QACP,UAAU;AAAA,QACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,MAC3D;AAAA,IACF;AAAA,EACF;AACH,CAAC;AACDC,EAAoB,IAAI,UAAU;AAAA,EAChC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AACH,CAAC;AACDA,EAAoB,IAAI,cAAc;AAAA,EACpC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,SAAS;AAAA,IACT,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,MAAM,EAAE,cAAc,IAAI,WAAW,IAAI,aAAa,GAAI;AAAA,EAC3D;AACH,CAAC;AAEDA,EAAoB,IAAI,gBAAgB;AAAA,EACtC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA;AAAA,IACZ,eAAe;AAAA,IACf,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA;AAAA,IAEb,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,YAAY;AAAA;AAAA,IAEZ,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,aAAa;AAAA;AAAA,IAEb,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,IAClB,uBAAuB;AAAA;AAAA,IAEvB,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA;AAAA,IAElB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,cAAc;AAAA;AAAA,IAEd,WAAW;AAAA,IACX,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,mBAAmB;AAAA;AAAA,IAEnB,kBAAkB;AAAA,IAClB,sBAAsB;AAAA,IACtB,mBAAmB;AAAA;AAAA,IAEnB,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,gBAAgB;AAAA;AAAA,IAEhB,SAAS;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA;AAAA,IAEZ,cAAc;AAAA,IACd,YAAY,CAAE;AAAA,EACf;AACH,CAAC;AAEDA,EAAoB,IAAI,cAAc;AAAA,EACpC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA;AAAA,IACZ,eAAe;AAAA,IACf,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA;AAAA,IAEb,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,YAAY;AAAA;AAAA,IAEZ,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,aAAa;AAAA;AAAA,IAEb,mBAAmB;AAAA,IACnB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA;AAAA,IAErB,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA;AAAA,IAElB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,eAAe;AAAA;AAAA,IAEf,iBAAiB;AAAA;AAAA,IAEjB,cAAc;AAAA;AAAA,IAEd,cAAc;AAAA,IACd,eAAe;AAAA;AAAA,IAEf,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA;AAAA,IAEhB,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,gBAAgB;AAAA,IAChB,UAAU,CAAE;AAAA,EACb;AACH,CAAC;ACjiBD,MAAMC,KAA0F,uBAAA,OAAA,EAAA,mEAAAC,IAAA,yDAAAC,IAAA,6DAAAC,IAAA,6DAAAC,IAAA,0DAAAC,IAAA,4DAAAC,IAAA,0DAAAC,IAAA,0DAAAC,IAAA,oDAAAC,IAAA,+DAAAC,IAAA,yDAAAC,IAAA,2DAAAC,IAAA,wDAAAC,IAAA,uDAAAC,IAAA,oDAAAC,IAAA,2DAAAC,IAAA,wEAAAC,IAAA,wDAAAC,IAAA,2DAAAC,IAAA,sDAAAC,IAAA,8DAAAC,IAAA,2DAAAC,IAAA,wDAAAC,IAAA,oDAAAC,IAAA,qDAAAC,GAAA,CAAA,GAC1FC,IAAa,CAAE;AAGrB,OAAO,KAAK1B,EAAO,EAAE,QAAQ,CAAA3K,MAAQ;AACnC,QAAMsM,IAAQtM,EAAK,MAAM,2BAA2B;AACpD,MAAI,CAACsM;AAAO;AACZ,QAAMC,IAAOD,EAAM,CAAC,GACdE,IAAO7B,GAAQ3K,CAAI,EAAE;AAC3B,EAAIwM,MACFH,EAAWE,CAAI,IAAIC;AAEvB,CAAC;AAGD,MAAMC,KAAU,CAACC,MAAQ;AAEvB,EAAIC,KACFD,EAAI,UAAU,qBAAqBC,CAAiB,GAItD,OAAO,KAAKN,CAAU,EAAE,QAAQ,CAAAjM,MAAO;AACrC,UAAMoM,IAAOH,EAAWjM,CAAG;AAC3B,IAAIoM,KAAQA,EAAK,QACfE,EAAI,UAAUF,EAAK,QAAQpM,GAAKoM,CAAI;AAAA,EAE1C,CAAG;AACH,GAGe3K,KAAA;AAAA,EACb,SAAA4K;AAAA,EACA,mBAAAE;AAAA,EACA,qBAAAjC;AACF;"}
|