{"version":3,"file":"TextPro.Bg3GxsDB.mjs","names":["Global","Global","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/niZ6YpK06zTaQeX49VIS/kyUI2MH03eq9506I17so/Theme.js","https:/framerusercontent.com/modules/20zhayqm9y3Y0ekkXAdJ/sr1Sj9PIAlRd9EdJVnUb/Style.js","https:/framerusercontent.com/modules/dqTAkSmLH1iWI2I3ThDP/4jDYjmPYWsKh3FBHkuKT/TextPro.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{Global,css}from\"@emotion/react\";//import { createStore } from \"https://framer.com/m/framer/store.js\"\n// // 辅助函数：将 HEX 转换为 RGBA\n// const hexToRgba = (hex, alpha = 1) => {\n//     const r = parseInt(hex.slice(1, 3), 16)\n//     const g = parseInt(hex.slice(3, 5), 16)\n//     const b = parseInt(hex.slice(5, 7), 16)\n//     return `rgba(${r}, ${g}, ${b}, ${alpha})`\n// }\nlet colorpattle={\"--background-color\":{light:\"#fefefe\",dark:\"#1d1d1d\"},\"--bg-secondary\":{light:\"#F8FAFC\",dark:\"#080808\"},\"--bg-Inverse\":{light:\"#171717\",dark:\"#FAFAFA\"},\"--bg-Disable\":{light:\"#F5F5F5\",dark:\"#171717\"},\"--text-p-color\":{light:\"#020617\",dark:\"#F8FAFC\"},\"--text-secondary\":{light:\"#4B5563\",dark:\"#9CA3AF\"},\"--text-Inverse\":{light:\"#FAFAFA\",dark:\"#171717\"},/* Text Disable */\"--text-Disable\":{light:\"#A3A3A3\",dark:\"#525252\"},/* Active */\"--active-color\":{light:\"rgba(107,114,128,0.15)\",dark:\"rgba(107,114,128,0.15)\"},/*Hover */\"--hover-color\":{light:\"rgba(141,141,141,0.1)\",dark:\"rgba(141,141,141,0.3)\"},\"--hover-button\":{light:\"rgba(100, 100, 100, 0.5)\",dark:\"rgba(141, 141, 141, 0.5)\"},/*Pressed */\"--pressed-color\":{light:\"rgba(244,244,244,0.10)\",dark:\"rgba(244,244,244,0.3)\"},/* Border Primary */\"--border-p-color\":{light:\"#CCCCCC\",dark:\"#333333\"},/* Border secondary */\"--border-secondary\":{light:\"#7F7F7F\",dark:\"#303030\"},/* Line Primary */\"--line-color\":{light:\"rgba(200,200,200,0.25)\",dark:\"rgba(200,200,200,0.25)\"},/*Shadow color*/\"--shadow-color\":{light:\"rgba(0,0,0,0.3)\",dark:\"rgba(250,247,247,0.2)\"},/*warning color*/\"--warning-color\":{light:\"#EF4444\",dark:\"#B91C1C\"},/*field color*/\"--field-bg\":{light:\"#fefefe\",dark:\"#D4D4D4\"},\"--field-fg\":{light:\"#060606\",dark:\"#0A0A0A\"},\"--field-fg-secondary\":{light:\"#595959\",dark:\"#424242\"},\"--field-hover\":{light:\"#efefef\",dark:\"#FAFAFA\"},\"--field-pressed\":{light:\"#DEDEDE\",dark:\"#DEDEDE\"},\"--highlight-hover\":{light:\"rgb(0 0 0 / 0.07)\",dark:\"rgb(255 255 255 / 0.1)\"},\"--highlight-pressed\":{light:\"rgb(0 0 0 / 0.15)\",dark:\"rgb(255 255 255 / 0.2)\"}};const lightM=(primaryColor,bgColor,actColor)=>css`\n  --background-color: ${colorpattle[\"--background-color\"].light};\n  --gray-50: #f8f8f8;\n  --gray-100: #d0d0d0;\n  --gray-200: #afafaf;\n  --gray-300: #8f8f8f;\n  --gray-400: #717171;\n  --gray-500: #555555;\n  --gray-600: #393939;\n  --purple-100: #d5c9fa;\n  --purple-200: #b8a3f6;\n  --purple-300: #997cf2;\n  --purple-400: #7a54ef;\n  --purple-500: #582ddc;\n  --purple-600: #3c1e95;\n  --red-100: #f7c4ba;\n  --red-200: #f29887;\n  --red-300: #eb664d;\n  --red-400: #de2300;\n  --red-500: #a81b00;\n  --red-600: #731200;\n  --highlight-hover: ${colorpattle[\"--highlight-hover\"].light};\n  --highlight-pressed: ${colorpattle[\"--highlight-pressed\"].light};\n\n  /* Primary colors */\n  --temp-color:${primaryColor};\n  --primary-color: var(--temp-color, #06B6D4); \n  --primary-color-pressed:#13A5BF;\n\n  /* BG Primary colors */\n  --tmp-bg-color:${bgColor};\n  --bg-color: var(--tmp-bg-color,var(--background-color));\n\n  /* BG Secondary colors */\n  --bg-secondary: ${colorpattle[\"--bg-secondary\"].light};\n\n  /* BG Inverse */\n  --bg-Inverse: ${colorpattle[\"--bg-Inverse\"].light};\n\n  /* BG Disable */\n  --bg-Disable: ${colorpattle[\"--bg-Disable\"].light};\n\n  /* BG modal */\n  --bg-modal-color : rgb(0,0,0/0.8);\n\n  /* Text colors */\n  --text-p-color: ${colorpattle[\"--text-p-color\"].light};\n  --text-p-hover-color:var(--text-color);\n\n  /* Text secondary */\n  --text-secondary: ${colorpattle[\"--text-secondary\"].light};\n\n  /* Text Inverse */\n  --text-Inverse: ${colorpattle[\"--text-Inverse\"].light};\n\n   /* Text Disable */\n  --text-Disable: ${colorpattle[\"--text-Disable\"].light};\n\n   /* Active */\n  --active-color: ${colorpattle[\"--active-color\"].light};\n  --temp-act-color :${actColor};\n  --act-color:var(--temp-act-color,var(--active-color));\n\n   /*Hover */\n  --hover-color: ${colorpattle[\"--hover-color\"].light};\n  --hover-button:${colorpattle[\"--hover-button\"].light};\n\n   /*Pressed */\n  --pressed-color: ${colorpattle[\"--pressed-color\"].light};\n\n   /* Border Primary */\n  --border-p-color: ${colorpattle[\"--border-p-color\"].light};\n\n   /* Border secondary */\n  --border-secondary: ${colorpattle[\"--border-secondary\"].light};\n\n   /* Line Primary */\n  --line-color: ${colorpattle[\"--line-color\"].light};\n\n   /*Shadow color*/\n  --shadow-color: ${colorpattle[\"--shadow-color\"].light};\n\n   /*warning color*/\n  --warning-color: ${colorpattle[\"--warning-color\"].light};\n\n  /*field color*/\n  --field-bg:${colorpattle[\"--field-bg\"].light};\n  --field-fg:${colorpattle[\"--field-fg\"].light};\n  --field-fg-secondary:${colorpattle[\"--field-fg-secondary\"].light};\n  --field-hover:${colorpattle[\"--field-hover\"].light};\n  --field-pressed:${colorpattle[\"--field-pressed\"].light};\n\n  --box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n  --box-shadow-small: rgba(0, 0, 0, 0.10) 0px 1px 2px;\n  --box-shadow-large: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;\n`;const darkM=(primaryColor,bgColor,actColor)=>css`\n   --background-color: ${colorpattle[\"--background-color\"].dark};\n    --gray-50: #101010;\n    --gray-100: #393939;\n    --gray-200: #4f4f4f;\n    --gray-300: #686868;\n    --gray-400: #848484;\n    --gray-500: #a7a7a7;\n    --gray-600: #cfcfcf;\n    --purple-100: #3c1e95;\n    --purple-200: #522acd;\n    --purple-300: #6f46ed;\n    --purple-400: #8e6ef1;\n    --purple-500: #b099f5;\n    --purple-600: #d5c8fa;\n    --red-100: #721200;\n    --red-200: #9c1900;\n    --red-300: #cc2000;\n    --red-400: #e95034;\n    --red-500: #f08c79;\n    --red-600: #f7c3ba;\n    --highlight-hover: ${colorpattle[\"--highlight-hover\"].dark};\n    --highlight-pressed: ${colorpattle[\"--highlight-pressed\"].dark};\n    \n    /* Primary colors */\n    --temp-color:${primaryColor};\n    --primary-color: var(--temp-color, #22D3EE); \n    --primary-color-pressed:#1FC2DB;\n\n    /* BG Primary colors */\n    --tmp-bg-color:${bgColor};\n    --bg-color: var(--tmp-bg-color,var(--background-color));\n\n    /* BG Secondary colors */\n    --bg-secondary: ${colorpattle[\"--bg-secondary\"].dark};\n\n    /* BG Inverse */\n    --bg-Inverse: ${colorpattle[\"--bg-Inverse\"].dark};\n\n    /* BG Disable */\n    --bg-Disable: ${colorpattle[\"--bg-Disable\"].dark};\n\n    /* BG modal */\n    --bg-modal-color : rgb(155 155 155 / 0.3);\n\n    /* Text colors */\n    --text-p-color: ${colorpattle[\"--text-p-color\"].dark};\n    --text-p-hover-color:var(--text-color);\n\n    /* Text secondary */\n    --text-secondary: ${colorpattle[\"--text-secondary\"].dark};\n\n    /* Text Inverse */\n    --text-Inverse: ${colorpattle[\"--text-Inverse\"].dark};\n\n    /* Text Disable */\n    --text-Disable: ${colorpattle[\"--text-Disable\"].dark};\n\n    /* Active */\n    --active-color: ${colorpattle[\"--active-color\"].dark};\n    --temp-act-color :${actColor};\n    --act-color:var(--temp-act-color,var(--active-color));\n\n    /*Hover */\n    --hover-color: ${colorpattle[\"--hover-color\"].dark};\n    --hover-button:${colorpattle[\"--hover-button\"].dark};\n\n    /*Pressed */\n    --pressed-color: ${colorpattle[\"--pressed-color\"].dark};\n\n    /* Border Primary */\n    --border-p-color: ${colorpattle[\"--border-p-color\"].dark};\n\n    /* Border secondary */\n    --border-secondary: ${colorpattle[\"--border-secondary\"].dark};\n\n    /* Line Primary */\n    --line-color: ${colorpattle[\"--line-color\"].dark};\n\n    /*Shadow color*/\n    --shadow-color: ${colorpattle[\"--shadow-color\"].dark};\n\n    /*warning color*/\n    --warning-color: ${colorpattle[\"--warning-color\"].dark};\n\n    /*field color*/\n    --field-bg:${colorpattle[\"--field-bg\"].dark};\n    --field-fg:${colorpattle[\"--field-fg\"].dark};\n    --field-fg-secondary:${colorpattle[\"--field-fg-secondary\"].dark};\n    --field-hover:${colorpattle[\"--field-hover\"].dark};\n    --field-pressed:${colorpattle[\"--field-pressed\"].dark};\n\n\n\n    --box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.25),0 4px 6px -4px rgb(0 0 0 / 0.1);\n    --box-shadow-small: rgba(255, 255, 255, 0.12) 0px 1px 4px;\n`;const radius=css`\n  --radius-circle: 999px;\n  --radius-large-tmp: 1.714rem;\n  --radius-normal-tmp: 1.143rem;\n  --radius-small-tmp: 0.571rem;\n  --radius-tiny-tmp: 0.286rem;\n  --radius-none-tmp: 0px;\n  --radius-large: calc(var(--radius-large-tmp)*var(--radiusScale)); \n  --radius-normal: calc(var(--radius-normal-tmp)*var(--radiusScale)); \n  --radius-small: calc(var(--radius-small-tmp)*var(--radiusScale)) ;\n  --radius-tiny: calc(var(--radius-tiny-tmp)*var(--radiusScale));\n  --radius-none: calc(var(--radius-none-tmp)*var(--radiusScale));\n`;const padding=css`\n  --padding-large: 2.286rem;\n  --padding-normal: 1.143rem;\n  --padding-small: 0.571rem;\n  --padding-xs: 0.429rem;\n  --padding-tiny: 0.286rem;\n  --padding-none: 0px;\n`;const gap=css`\n  --gap-large:16px;\n  --gap-normal:8px;\n  --gap-small:4px;\n  --gap-tiny:2px;\n  --gap-none: 0px;\n /* --gap-large:1.143rem; \n  --gap-normal:0.571rem;\n  --gap-small:0.429rem;\n  --gap-tiny:0.143rem;\n  --gap-none: 0rem;*/\n  --outline-width:1px;\n  --outline-offset:1px;\n`;const borderwidth=css`\n  --borderwidth-large:2px;\n  --borderwidth-normal:1px;\n  --borderwidth-small:0.5px;\n  --borderwidth-none:0px;\n`;const root=(primaryColor,Scale,bgColorlight,bgColordark,actColor,fontF)=>css`\n/* Base styles */\n:root {\n  --font-family: ${fontF};\n  font-size: 14px;\n  line-height: 1.5;\n  background: var(--bg-color);\n  --temp-radius:${Scale};\n  --radiusScale: var(--temp-radius, 1);\n  --visible-top: 0;\n  --visible-left: 0;\n  --visible-width:100dvw;\n  --visible-height:100dvh;\n  ${lightM(primaryColor,bgColorlight,actColor)}\n  ${radius}\n  ${padding}\n  ${gap}\n  ${borderwidth}\n  \n  /* Semantic colors */\n  --focus-ring-color: var(--primary-color);\n  --text-color: var(--text-p-color);\n  --text-color-base: var(--gray-500);\n  --text-color-hover: var(--gray-600);\n  --text-color-disabled: var(--text-Disable);\n  --text-color-placeholder: var(--gray-400);\n  --link-color: var(--purple-500);\n  --link-color-secondary: var(--gray-500);\n  --link-color-pressed: var(--purple-600);\n  --border-color: var(--border-p-color);\n  --border-color-hover: var(--hover-color);\n  --border-color-pressed: var(--pressed-color);\n  --border-color-disabled: var(--gray-100);\n  --field-background: var(--field-bg);\n  --field-text-color: var(--field-fg);\n  --overlay-background: var(--bg-secondary);\n  --button-background: var(--bg-color);\n  --button-background-hover: var(--hover-color);\n  --button-background-pressed: var(--pressed-color);\n  /* these colors are the same between light and dark themes\n   * to ensure contrast with the foreground color */\n  --highlight-background: var(--primary-color); \n  --highlight-background-pressed: var(--primary-color-pressed); /* primary-color/15%*/\n  --highlight-background-invalid: var(--warning-color);\n  --highlight-foreground: white;\n  --highlight-foreground-pressed: #ddd;\n  --highlight-overlay: var(--primary-color-pressed); /* primary-color/15%*/\n  --invalid-color: var(--warning-color);\n  --invalid-color-pressed: var(--red-500);\n}\n/* 手动控制暗黑模式，应用到 .darkn 类 */\n:root:where(.darkn, .darkn *, .dark, .dark *) {\n    ${darkM(primaryColor,bgColordark,actColor)}\n}\n\n@media (prefers-color-scheme: dark) {\n  :root:not(.lightn) {\n    \n  }\n}\n@media (prefers-color-scheme: light) {\n  :root:not(.darkn) {\n    \n  }\n}\n/* Windows high contrast mode overrides */\n@media (forced-colors: active) {\n  :root {\n    --background-color: Canvas;\n    --focus-ring-color: Highlight;\n    --text-color: ButtonText;\n    --text-color-base: ButtonText;\n    --text-color-hover: ButtonText;\n    --text-color-disabled: GrayText;\n    --text-color-placeholder: ButtonText;\n    --link-color: LinkText;\n    --link-color-secondary: LinkText;\n    --link-color-pressed: LinkText;\n    --border-color: ButtonBorder;\n    --border-color-hover: ButtonBorder;\n    --border-color-pressed: ButtonBorder;\n    --border-color-disabled: GrayText;\n    --field-background: Field;\n    --field-text-color: FieldText;\n    --overlay-background: Canvas;\n    --button-background: ButtonFace;\n    --button-background-pressed: ButtonFace;\n    --highlight-background: Highlight;\n    --highlight-background-pressed: Highlight;\n    --highlight-background-invalid: LinkText;\n    --highlight-foreground: HighlightText;\n    --highlight-foreground-pressed: HighlightText;\n    --invalid-color: LinkText;\n    --invalid-color-pressed: LinkText;\n  }\n}\nbody {\n  font-family: var(--font-family);\n}\n`;const rootstyles=props=>{// const { primaryColor, scale, bgColorlight, bgColordark, actColor, fontF } =\n//     props\n//console.log(props)\nreturn /*#__PURE__*/_jsx(Global,{styles:root(props.primarycolor,props.scale,props.bgcolorlight,props.bgcolordark,props.actcolor,props.fontF)});};function changetheme(theme){colorpattle=theme;}export{root,colorpattle,rootstyles,changetheme};\nexport const __FramerMetadata__ = {\"exports\":{\"colorpattle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"rootstyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"root\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"changetheme\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Theme.map","// Importing necessary modules from @emotion/react\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{Global,css}from\"@emotion/react\";// import { createStore } from \"https://framer.com/m/framer/store.js\"\n// export const useStoretheme = createStore({\n//     // Set the starting theme below, otherwise default to system.\n//     theme: \"system\",\n// })\n//import { root } from \"../0_CSS/Theme.tsx\"\n// Defining global styles\nconst borderpop=css`\n  gap: var(--gap-normal);\n  border-radius: var(--radius-normal);\n  border-width: var(--borderwidth-normal);\n  border-style: solid;\n  padding: var(--padding-small);\n`;const borderCaroulselItem=css`\n  gap: var(--gap-normal);\n  border-radius: var(--radius-normal);\n  border-width: var(--borderwidth-normal);\n  border-color:var(--border-color);\n  border-style: solid;\n  width: 100%;\n  background-position: center;\n  background-size: cover;\n  padding: var(--padding-none);\n`;const MenuItem=css`\n  gap: var(--gap-normal);\n  border-radius: var(--radius-small);\n  border-width: var(--borderwidth-small);\n  border-style: solid;\n  padding: var(--padding-small);\n`;const globalStyles=css`\n\n.nonebg {\n  ${borderpop};\n  width:100%;\n  height:100%;\n  padding:var(--padding-none);\n  display: flex;\n  flex-direction: column;\n  border-color: rgba(0,0,0,0);\n  background-color: rgba(0,0,0,0);\n}\n\n.popover {\n  ${borderpop};\n  display: flex;\n  max-width: min(calc(100vw - 16px), 800px);\n  flex-direction: column;\n  border-color: var(--border-p-color);\n  background-color: var(--bg-color);\n  color: var(--text-color);\n  box-shadow:var(--box-shadow);\n  z-index: 100;\n}\n.arrow > svg {\n  fill: var(--bg-color);\n  stroke: var(--border-color);\n}\n\n.swiper {\n  width: 100%;\n  height: 100%;\n}\n.swiper-slide {\n  ${borderCaroulselItem};\n  object-position: center;\n  border-color: var(--border-color);\n  background-color: var(--bg-color);\n  color: black;\n  box-shadow:var(--box-shadow-small);\n  will-change: transform;\n  &[data-border]{\n    border:none;\n  }\n}\n.swiper-slide img {\n  display: block;\n  width: 100%;\n  height:100%;\n  object-fit: cover;\n}\n\n\n.my-custom-bullet {\n  --swiper-pagination-color: var(--highlight-background);\n  --swiper-pagination-bullet-width: 1.429rem;\n  --swiper-pagination-bullet-height: 1.429rem;\n  --swiper-pagination-bullet-inactive-color: var(--act-color);\n  --swiper-pagination-bullet-inactive-opacity: 1;\n  color: #000;\n  font-size: 0.857rem;\n  text-align: center;\n  line-height: 1.429rem;\n}\n\n.swiper-control{\n  z-index: 1;\n  position: absolute;\n  height: 1px;\n  overflow: visible;\n  width: 100%;\n  top: 50%;\n  left: 0;\n  transform: translateY(-50%);\n  opacity: 0;\n  visibility: hidden;\n  transition: opacity 0.3s ease, visibility 0.3s ease;\n}\n\n.swiper:hover .swiper-control {\n  opacity: 1;\n  visibility: visible;\n}\n\n\n/* 针对移动设备 */\n@media (max-width: 768px) {\n  .swiper-control {\n    opacity: 1;\n    visibility: visible;\n  }\n}\n\n/* Menu */\n.menu {\n  position: relative;\n  z-index: 99;\n  ${MenuItem};\n  display: flex;\n  max-height: var(--popover-available-height);\n  min-width: 180px;\n  flex-direction: column;\n  overscroll-behavior: contain;\n  border-color: var(--border-color);\n  background-color: var(--bg-color);\n  color: var(--text-color);\n  icon-color:var(--text-color);\n  box-shadow:var(--box-shadow);\n  outline: none !important;\n  overflow: visible;\n  font-size: 1rem;\n  font-weight: 500;\n}\n\n.menu-item {\n  display: flex;\n  cursor: default;\n  scroll-margin: 0.5rem;\n  align-items: center;\n  gap: var(--gap-normal);\n  border-radius: var(--radius-tiny);\n  padding: var(--padding-small);\n  outline: none !important;\n}\n\n.menu-item[aria-disabled=\"true\"] {\n  opacity: 0.25;\n}\n\n.menu-item[data-active-item] {\n  background-color: var(--hover-color);\n  color: var(--text-hover-color);\n}\n\n.menu-item:active,\n.menu-item[data-active] {\n  background-color: var(--active-color);\n  padding-top: 0.643rem;\n  padding-bottom: 0.5rem;\n}\n\n.menu:not(:focus) .menu-item:not(:focus)[aria-expanded=\"true\"] {\n  background-color: rgb(0 0 0 / 7.5%);\n  color: currentColor;\n}\n\n.menu:not(:focus)\n  .menu-item:not(:focus)[aria-expanded=\"true\"]:where(.dark, .dark *) {\n  background-color: rgb(255 255 255 / 0.1);\n}\n\n.menu-item .label {\n  flex: 1 1 0%;\n}\n.separator {\n  margin-top: 0.143rem;\n  margin-bottom: 0.143rem;\n  height: 0px;\n  width: 100%;\n  border-top-width: var(--borderwidth-small);\n  border-color: var(--line-color);\n}\n`;//const globalStylesCSS = [root, globalStyles]\nconst GlobalStyles=()=>/*#__PURE__*/_jsx(Global,{styles:globalStyles});// Font styling configuration\n// L M S 命名不可更改，否则会出问题，下方的width判断函数会返回这个值，要改一起改\nlet GlobalFont={weight:{light:{\"--framer-font-weight\":\"300\"},regular:{\"--framer-font-weight\":\"400\"},medium:{\"--framer-font-weight\":\"500\"},semibold:{\"--framer-font-weight\":\"600\"},bold:{\"--framer-font-weight\":\"700\"}},fontsize:{\"Tiny ---(11px p)\":{L:{type:\"p\",\"--framer-font-size\":\"11px\",\"--framer-line-height\":\"1.3em\",\"--framer-letter-spacing\":\"0em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"p\",\"--framer-font-size\":\"11px\",\"--framer-line-height\":\"1.3em\",\"--framer-letter-spacing\":\"0em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"p\",\"--framer-font-size\":\"11px\",\"--framer-line-height\":\"1.3em\",\"--framer-letter-spacing\":\"0em\",\"--framer-font-family\":\"var(--font-family)\"}},\"Detail ---(13px p)\":{L:{type:\"p\",\"--framer-font-size\":\"13px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"0em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"p\",\"--framer-font-size\":\"13px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"0em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"p\",\"--framer-font-size\":\"13px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"0em\",\"--framer-font-family\":\"var(--font-family)\"}},\"Callout ---(15px p)\":{L:{type:\"p\",\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"p\",\"--framer-font-size\":\"16px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"p\",\"--framer-font-size\":\"16px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"}},\"Body ---(16px p)\":{L:{type:\"p\",\"--framer-font-size\":\"16px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"p\",\"--framer-font-size\":\"17px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"p\",\"--framer-font-size\":\"17px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"}},\"Headline ---(18px H6)\":{L:{type:\"H6\",\"--framer-font-size\":\"18px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"H6\",\"--framer-font-size\":\"16px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"H6\",\"--framer-font-size\":\"16px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"}},\"Title ---(24px H3)\":{L:{type:\"H3\",\"--framer-font-size\":\"24px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"H3\",\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"H3\",\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-font-family\":\"var(--font-family)\"}},\"LargeTitle ---(36px H2)\":{L:{type:\"H2\",\"--framer-font-size\":\"36px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"H2\",\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"H2\",\"--framer-font-size\":\"28px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-font-family\":\"var(--font-family)\"}},\"H1 ---(64px)\":{L:{type:\"H1\",\"--framer-font-size\":\"64px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-font-family\":\"var(--font-family)\"},M:{type:\"H1\",\"--framer-font-size\":\"48px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-font-family\":\"var(--font-family)\"},S:{type:\"H1\",\"--framer-font-size\":\"48px\",\"--framer-line-height\":\"1.4em\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-font-family\":\"var(--font-family)\"}}}};// 添加一个更新函数\nexport const updateGlobalFont=newConfig=>{if(newConfig&&typeof newConfig===\"object\"){GlobalFont={...GlobalFont,...newConfig};}};function screenSize(){// const isClient = typeof window !== \"undefined\"\n// if (isClient) {\n//     const width = window.\n//     if (width >= 1200) {\n//         return \"L\"\n//     } else if (width >= 810) {\n//         return \"M\"\n//     } else {\n//         return \"S\"\n//     }\n// } else {\n//     // 如果 window 不存在，返回一个默认值或处理逻辑\n//     return \"L\" // 默认返回小屏幕尺寸\n// }\nconst isClient=typeof window!==\"undefined\";if(isClient){const largeScreenQuery=window.matchMedia(\"(min-width: 1200px)\");const mediumScreenQuery=window.matchMedia(\"(min-width: 810px) and (max-width: 1199px)\");if(largeScreenQuery.matches){return\"L\";}else if(mediumScreenQuery.matches){return\"M\";}else{return\"S\";}}else{// 如果 window 不存在，返回一个默认值或处理逻辑\nreturn\"L\"// 默认返回大屏幕尺寸\n;}}// function screenSizeDetail() {\n//     const [details, setDetails] = useState({ width: 1200, height: 800 })\n//     useEffect(() => {\n//         const updateDetails = () => {\n//             setDetails({ width: window., height: window. })\n//         }\n//         updateDetails() // 初始化时调用一次\n//         window.addEventListener(\"resize\", updateDetails)\n//         return () => {\n//             window.removeEventListener(\"resize\", updateDetails)\n//         }\n//     }, [])\n//     return details\n// }\n// 封装的函数，用来获取CSS变量\nfunction getCssVariable(variableName){const isClient=typeof window!==\"undefined\";if(isClient){return getComputedStyle(document.documentElement).getPropertyValue(variableName).trim();}else{return\"\";}}function screenSizeDetail(){const isClient=typeof window!==\"undefined\";if(isClient){// const width = window.=\n// const height = window.=\nconst width=document.documentElement.clientWidth;const height=document.documentElement.clientHeight;// console.log(document.documentElement.clientHeight, height)\nreturn{width:width,height:height};}else{return{width:1200,height:800};}}export{GlobalStyles,GlobalFont,screenSize,screenSizeDetail,getCssVariable,};export default function DSStyle(props){return /*#__PURE__*/_jsx(\"div\",{});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DSStyle\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GlobalFont\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GlobalStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCssVariable\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"screenSizeDetail\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateGlobalFont\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"screenSize\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Style.map","// import React, { useState, useEffect, cloneElement, isValidElement } from \"react\"\n// import { addPropertyControls, ControlType, RenderTarget } from \"framer\"\n// import { GlobalFont, GlobalStyles, screenSize } from \"../0_Global/Style.tsx\"\n// import { colorpattle } from \"../0_CSS/Theme.tsx\"\n// // import { GlobalFont, GlobalStyles, screenSize } from \"../0_Global/Style.tsx\"\n// /**\n//  * @framerDisableUnlink\n//  */\n// export default function TextPro(props) {\n//     const {\n//         textitem,\n//         fontsize,\n//         fontweight,\n//         fontColor,\n//         fontSysColor,\n//         SameAlign,\n//         align,\n//         ...elseprops\n//     } = props\n//     const evi =\n//         RenderTarget.current() === RenderTarget.preview ||\n//         RenderTarget.current() === RenderTarget.export ||\n//         RenderTarget.current() === RenderTarget.canvas\n//     const Wsize = screenSize()\n//     //const mode = localStorage.getItem(\"theme\") === \"dark\" ? \"dark\" : \"light\"\n//     const tfontColor =\n//         fontSysColor !== \"none\" ? \"var(\" + fontSysColor + \")\" : fontColor\n//     //fontSysColor !== \"none\" ? colorpattle[fontSysColor][mode] : fontColor\n//     // console.log(\"hi color\")\n//     // console.log(tfontColor, mode)\n//     const element =\n//         Array.isArray(textitem) && textitem.length > 0 ? textitem[0] : textitem\n//     const [textobj, settext] = useState(null)\n//     //console.log(element)\n//     useEffect(() => {\n//         if (Object.keys(element).length !== 0) {\n//             try {\n//                 const FirstStyle = {\n//                     ...element?.props?.children?.props?.children?.props\n//                         ?.children?.props?.style,\n//                     ...GlobalFont.fontsize[fontsize][Wsize],\n//                 }\n//                 const combinedStyle = {\n//                     ...FirstStyle,\n//                     ...GlobalFont.weight[fontweight],\n//                     \"--framer-text-color\": tfontColor,\n//                     ...(!SameAlign && { \"--framer-text-alignment\": align }),\n//                 }\n//                 //console.log(combinedStyle)\n//                 let element2 = cloneElement(element)\n//                 // console.log(element2.props)\n//                 if (evi) {\n//                     let target =\n//                         element2?.props?.children?.props?.children?.props\n//                             ?.children\n//                     if (target) {\n//                         target.type = GlobalFont.fontsize[fontsize][Wsize].type\n//                         target.props.style = combinedStyle\n//                     }\n//                 }\n//                 const cElement = cloneElement(element2, {\n//                     ...element2.props,\n//                     style: {\n//                         ...element2.props.style,\n//                         width: \"100%\",\n//                         // 添加其他的样式属性\n//                     },\n//                 })\n//                 settext(cElement)\n//             } catch (error) {\n//                 console.log(\"文字核心组件错误\", error.message, error, element)\n//                 // console.log(element)\n//             }\n//         }\n//     }, [textitem])\n//     // console.log(\"修改的数值:\")\n//     // console.log(\n//     //     React.isValidElement(clonedElement) ? clonedElement : \"啥也没有\"\n//     // )\n//     // <div className=\"tooltip-container\">\n//     //     Hover over me\n//     //     <GlobalStyles />\n//     //     <span className=\"tooltip-text\">This is the tooltip text!</span>\n//     // </div>\n//     if (isValidElement(textobj)) {\n//         return <div>{textobj}</div>\n//     } else {\n//         //return <h1>Add Textitem first</h1>\n//         return null\n//     }\n// }\n// addPropertyControls(TextPro, {\n//     textitem: {\n//         type: ControlType.ComponentInstance,\n//     },\n//     fontsize: {\n//         type: ControlType.Enum,\n//         // displaySegmentedControl: true,\n//         // segmentedControlDirection: \"vertical\",\n//         options: Object.keys(GlobalFont.fontsize),\n//         optionTitles: Object.keys(GlobalFont.fontsize),\n//     },\n//     fontweight: {\n//         type: ControlType.Enum,\n//         defaultValue: \"regular\",\n//         // displaySegmentedControl: true,\n//         // segmentedControlDirection: \"vertical\",\n//         options: Object.keys(GlobalFont.weight),\n//         optionTitles: Object.keys(GlobalFont.weight),\n//     },\n//     fontSysColor: {\n//         type: ControlType.Enum,\n//         defaultValue: \"none\",\n//         options: [\"none\", ...Object.keys(colorpattle)],\n//     },\n//     fontColor: {\n//         type: ControlType.Color,\n//         defaultValue:\n//             colorpattle[\"--text-p-color\"][\n//                 localStorage.getItem(\"theme\") === \"dark\" ? \"dark\" : \"light\"\n//             ],\n//         hidden(props) {\n//             return props.fontSysColor !== \"none\"\n//         },\n//     },\n//     SameAlign: {\n//         type: ControlType.Boolean,\n//         defaultValue: true,\n//     },\n//     align: {\n//         type: ControlType.Enum,\n//         options: [\"left\", \"center\", \"right\"],\n//         optionIcons: [\n//             \"text-align-left\",\n//             \"text-align-center\",\n//             \"text-align-right\",\n//         ],\n//         displaySegmentedControl: true,\n//         hidden(props) {\n//             return props.SameAlign\n//         },\n//     },\n// })\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect,useLayoutEffect,cloneElement,isValidElement,useMemo}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{GlobalFont,screenSize}from\"https://framerusercontent.com/modules/20zhayqm9y3Y0ekkXAdJ/sr1Sj9PIAlRd9EdJVnUb/Style.js\";import{colorpattle}from\"https://framerusercontent.com/modules/niZ6YpK06zTaQeX49VIS/kyUI2MH03eq9506I17so/Theme.js\";// 在组件外部，只执行一次\nlet styleInjected=false;/**\n * @framerDisableUnlink\n */export default function TextPro(props){const{textitem,fontsize,fontweight,fontColor,fontSysColor,SameAlign,align,autoline,...restProps}=props;// 添加客户端状态检查\nconst[isClient,setIsClient]=useState(false);const[renderedText,setRenderedText]=useState(null);// 客户端挂载检查\nuseLayoutEffect(()=>{setIsClient(true);},[]);// 安全地获取主题\nconst getTheme=()=>{if(typeof window!==\"undefined\"&&window.localStorage){return localStorage.getItem(\"theme\")===\"dark\"?\"dark\":\"light\";}return\"light\"// 服务器端默认\n;};// 安全地检查渲染环境\nconst isRenderEnv=useMemo(()=>{if(typeof window===\"undefined\")return false;try{return[RenderTarget.preview,RenderTarget.export,RenderTarget.canvas].includes(RenderTarget.current());}catch(error){console.warn(\"RenderTarget check failed:\",error);return false;}},[isClient]);// 安全地获取屏幕尺寸\nconst Wsize=useMemo(()=>{if(!isClient)return\"desktop\"// 服务器端默认\n;try{return screenSize();}catch(error){console.warn(\"screenSize check failed:\",error);return\"desktop\";}},[isClient]);// 自动处理系统色 or 自定义色\nconst computedColor=useMemo(()=>{return fontSysColor!==\"none\"?`var(${fontSysColor})`:fontColor;},[fontSysColor,fontColor]);// 提取并缓存 element\nconst element=useMemo(()=>Array.isArray(textitem)?textitem[0]:textitem,[textitem]);// const styleTag = useMemo(\n//     () => (\n//         <style>{`\n//     .textpro-wrapper,\n//     .textpro-wrapper * {\n//         opacity: 1 !important;\n//     }\n// `}</style>\n//     ),\n//     []\n// ) // 空依赖，只创建一次\n// 📌 移到 useEffect 外面，变成独立的 useMemo\nconst computedStyle=useMemo(()=>({...GlobalFont.fontsize[fontsize]?.[Wsize],...GlobalFont.weight[fontweight],\"--framer-text-color\":computedColor,...!SameAlign&&{\"--framer-text-alignment\":align},...autoline>0&&{overflow:\"hidden\",display:\"-webkit-box\",WebkitLineClamp:autoline,WebkitBoxOrient:\"vertical\",textOverflow:\"ellipsis\",whiteSpace:\"normal\",wordBreak:\"break-word\"}}),[fontsize,Wsize,fontweight,computedColor,SameAlign,align,autoline]);useEffect(()=>{// 只在客户端执行\nif(!isClient||!element||!/*#__PURE__*/isValidElement(element)){setRenderedText(null);return;}try{// 找到嵌套的 text 元素\nconst nestedText=element?.props?.children?.props?.children?.props?.children;// ✅ 直接合并，不用重新计算\nconst baseStyle={...nestedText?.props?.style,...computedStyle};// const baseStyle = {\n//     ...nestedText?.props?.style,\n//     ...GlobalFont.fontsize[fontsize]?.[Wsize],\n//     ...GlobalFont.weight[fontweight],\n//     \"--framer-text-color\": computedColor,\n//     ...(!SameAlign && {\n//         \"--framer-text-alignment\": align,\n//     }),\n//     ...(autoline > 0 && {\n//         overflow: \"hidden\",\n//         display: \"-webkit-box\",\n//         WebkitLineClamp: autoline,\n//         WebkitBoxOrient: \"vertical\",\n//         textOverflow: \"ellipsis\",\n//         whiteSpace: \"normal\",\n//         wordBreak: \"break-word\",\n//     }),\n// }\nif(isRenderEnv&&nestedText){nestedText.type=GlobalFont.fontsize[fontsize]?.[Wsize]?.type;nestedText.props.style=baseStyle;}const wrappedElement=/*#__PURE__*/cloneElement(element,{...element.props,style:{...element.props.style,width:\"100%\"}});setRenderedText(wrappedElement);}catch(error){console.error(\"TextPro 错误:\",error.message,error);//setRenderedText(null)\n}},[isClient,element,computedStyle])// ⚠️ 依赖项也要改\n;// [\n//     isClient, // 添加 isClient 依赖\n//     element,\n//     fontsize,\n//     fontweight,\n//     computedColor,\n//     SameAlign,\n//     align,\n//     autoline,\n//     Wsize,\n//     isRenderEnv,\n// ])\n// 服务器端渲染占位符\nif(!isClient){return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:\"40px\",opacity:1,visibility:\"hidden\"},children:\"Loading...\"});}// 客户端渲染,{styletag专门应对属性隐藏}\nreturn /*#__PURE__*/isValidElement(renderedText)?/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\"},children:renderedText})://     // {styleTag}\n//     {renderedText}\n// </div>\nnull;}// 安全地获取默认颜色值\nconst getDefaultColor=()=>{try{if(typeof window!==\"undefined\"&&window.localStorage){const theme=localStorage.getItem(\"theme\")===\"dark\"?\"dark\":\"light\";return colorpattle[\"--text-p-color\"]?.[theme];}}catch(error){console.warn(\"Failed to get theme from localStorage:\",error);}// 服务器端或出错时的默认值\nreturn colorpattle[\"--text-p-color\"]?.[\"light\"]||\"#000000\";};// 控件属性配置\naddPropertyControls(TextPro,{textitem:{type:ControlType.ComponentInstance},fontsize:{type:ControlType.Enum,options:Object.keys(GlobalFont.fontsize),optionTitles:Object.keys(GlobalFont.fontsize)},fontweight:{type:ControlType.Enum,defaultValue:\"regular\",options:Object.keys(GlobalFont.weight),optionTitles:Object.keys(GlobalFont.weight)},fontSysColor:{type:ControlType.Enum,defaultValue:\"none\",options:[\"none\",...Object.keys(colorpattle)]},fontColor:{type:ControlType.Color,defaultValue:getDefaultColor(),hidden(props){return props.fontSysColor!==\"none\";}},SameAlign:{type:ControlType.Boolean,defaultValue:true},align:{type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionIcons:[\"text-align-left\",\"text-align-center\",\"text-align-right\"],displaySegmentedControl:true,hidden(props){return props.SameAlign;}},autoline:{type:ControlType.Number,defaultValue:0}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextPro\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"iRAkViJ,SAAS,EAAY,EAAM,CAAC,EAAY,qCAlV9I,IAAuC,CAQ9E,EAAY,CAAC,qBAAqB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,iBAAiB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,eAAe,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,eAAe,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,iBAAiB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,mBAAmB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,iBAAiB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAmB,iBAAiB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAa,iBAAiB,CAAC,MAAM,yBAAyB,KAAK,yBAAyB,CAAW,gBAAgB,CAAC,MAAM,wBAAwB,KAAK,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,2BAA2B,KAAK,2BAA2B,CAAa,kBAAkB,CAAC,MAAM,yBAAyB,KAAK,wBAAwB,CAAqB,mBAAmB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAuB,qBAAqB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAmB,eAAe,CAAC,MAAM,yBAAyB,KAAK,yBAAyB,CAAiB,iBAAiB,CAAC,MAAM,kBAAkB,KAAK,wBAAwB,CAAkB,kBAAkB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAgB,aAAa,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,aAAa,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,uBAAuB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,gBAAgB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,kBAAkB,CAAC,MAAM,UAAU,KAAK,UAAU,CAAC,oBAAoB,CAAC,MAAM,oBAAoB,KAAK,yBAAyB,CAAC,sBAAsB,CAAC,MAAM,oBAAoB,KAAK,yBAAyB,CAAC,CAAO,GAAQ,EAAa,EAAQ,IAAW,CAAG;wBACvmD,EAAY,sBAAsB,MAAM;;;;;;;;;;;;;;;;;;;;uBAoBzC,EAAY,qBAAqB,MAAM;yBACrC,EAAY,uBAAuB,MAAM;;;iBAGjD,EAAa;;;;;mBAKX,EAAQ;;;;oBAIP,EAAY,kBAAkB,MAAM;;;kBAGtC,EAAY,gBAAgB,MAAM;;;kBAGlC,EAAY,gBAAgB,MAAM;;;;;;oBAMhC,EAAY,kBAAkB,MAAM;;;;sBAIlC,EAAY,oBAAoB,MAAM;;;oBAGxC,EAAY,kBAAkB,MAAM;;;oBAGpC,EAAY,kBAAkB,MAAM;;;oBAGpC,EAAY,kBAAkB,MAAM;sBAClC,EAAS;;;;mBAIZ,EAAY,iBAAiB,MAAM;mBACnC,EAAY,kBAAkB,MAAM;;;qBAGlC,EAAY,mBAAmB,MAAM;;;sBAGpC,EAAY,oBAAoB,MAAM;;;wBAGpC,EAAY,sBAAsB,MAAM;;;kBAG9C,EAAY,gBAAgB,MAAM;;;oBAGhC,EAAY,kBAAkB,MAAM;;;qBAGnC,EAAY,mBAAmB,MAAM;;;eAG3C,EAAY,cAAc,MAAM;eAChC,EAAY,cAAc,MAAM;yBACtB,EAAY,wBAAwB,MAAM;kBACjD,EAAY,iBAAiB,MAAM;oBACjC,EAAY,mBAAmB,MAAM;;;;;EAKjD,GAAO,EAAa,EAAQ,IAAW,CAAG;yBACzB,EAAY,sBAAsB,KAAK;;;;;;;;;;;;;;;;;;;;yBAoBvC,EAAY,qBAAqB,KAAK;2BACpC,EAAY,uBAAuB,KAAK;;;mBAGhD,EAAa;;;;;qBAKX,EAAQ;;;;sBAIP,EAAY,kBAAkB,KAAK;;;oBAGrC,EAAY,gBAAgB,KAAK;;;oBAGjC,EAAY,gBAAgB,KAAK;;;;;;sBAM/B,EAAY,kBAAkB,KAAK;;;;wBAIjC,EAAY,oBAAoB,KAAK;;;sBAGvC,EAAY,kBAAkB,KAAK;;;sBAGnC,EAAY,kBAAkB,KAAK;;;sBAGnC,EAAY,kBAAkB,KAAK;wBACjC,EAAS;;;;qBAIZ,EAAY,iBAAiB,KAAK;qBAClC,EAAY,kBAAkB,KAAK;;;uBAGjC,EAAY,mBAAmB,KAAK;;;wBAGnC,EAAY,oBAAoB,KAAK;;;0BAGnC,EAAY,sBAAsB,KAAK;;;oBAG7C,EAAY,gBAAgB,KAAK;;;sBAG/B,EAAY,kBAAkB,KAAK;;;uBAGlC,EAAY,mBAAmB,KAAK;;;iBAG1C,EAAY,cAAc,KAAK;iBAC/B,EAAY,cAAc,KAAK;2BACrB,EAAY,wBAAwB,KAAK;oBAChD,EAAY,iBAAiB,KAAK;sBAChC,EAAY,mBAAmB,KAAK;;;;;;EAMlD,EAAO,CAAG;;;;;;;;;;;;EAYV,EAAQ,CAAG;;;;;;;EAOX,EAAI,CAAG;;;;;;;;;;;;;EAaP,EAAY,CAAG;;;;;EAKf,GAAM,EAAa,EAAM,EAAa,EAAY,EAAS,IAAQ,CAAG;;;mBAG3D,EAAM;;;;kBAIP,EAAM;;;;;;IAMpB,EAAO,EAAa,EAAa,EAAS,CAAC;IAC3C,EAAO;IACP,EAAQ;IACR,EAAI;IACJ,EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmCV,EAAM,EAAa,EAAY,EAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CvC,EAAW,GAGC,EAAKA,EAAO,CAAC,OAAO,EAAK,EAAM,aAAa,EAAM,MAAM,EAAM,aAAa,EAAM,YAAY,EAAM,SAAS,EAAM,MAAM,CAAC,CAAC,IC9Id,SAAS,GAAY,CAc1G,GAArB,IAAS,OAAwB,CAAC,IAAM,EAAiB,EAAO,WAAW,sBAAsB,CAAO,EAAkB,EAAO,WAAW,6CAA6C,CAA4F,OAAxF,EAAiB,QAAe,IAAa,EAAkB,QAAe,IAAgB,SACjT,MAAM,mCAlNqC,IAAuC,CAO5E,EAAU,CAAG;;;;;;EAsBX,EAAa,CAAG;;;IAGpB,EAAU;;;;;;;;;;;IAWV,EAAU;;;;;;;;;;;;;;;;;;;;IA9Bc,CAAG;;;;;;;;;;EAkDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxCP,CAAG;;;;;;EAuGP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEP,MAA8B,EAAKC,EAAO,CAAC,OAAO,EAAa,CAAC,CAElE,EAAW,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,MAAM,CAAC,QAAQ,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,uBAAuB,MAAM,CAAC,SAAS,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,MAAM,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,MAAM,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,MAAM,uBAAuB,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,MAAM,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,MAAM,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,MAAM,uBAAuB,qBAAqB,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,CAAC,wBAAwB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,EAAE,CAAC,KAAK,KAAK,qBAAqB,OAAO,uBAAuB,QAAQ,0BAA0B,UAAU,uBAAuB,qBAAqB,CAAC,CAAC,CAAC,CACh8H,EAAiB,GAAW,CAAI,GAAW,OAAO,GAAY,WAAU,EAAW,CAAC,GAAG,EAAW,GAAG,EAAU,MClDzH,SAAwB,EAAQ,EAAM,CAAC,GAAK,CAAC,WAAS,WAAS,aAAW,YAAU,eAAa,YAAU,QAAM,WAAS,GAAG,GAAW,EACtI,CAAC,EAAS,GAAaC,EAAS,GAAM,CAAM,CAAC,EAAa,GAAiBA,EAAS,KAAK,CAC9F,MAAoB,CAAC,EAAY,GAAK,EAAG,EAAE,CAAC,CAG5C,IAAM,EAAYC,MAAY,CAAC,GAAU,IAAS,OAAY,MAAO,GAAM,GAAG,CAAC,MAAM,CAAC,EAAa,QAAQ,EAAa,OAAO,EAAa,OAAO,CAAC,SAAS,EAAa,SAAS,CAAC,OAAQ,EAAM,CAAkD,OAAjD,QAAQ,KAAK,6BAA6B,EAAM,CAAQ,KAAS,CAAC,EAAS,CAAC,CACzQ,EAAMA,MAAY,CAAC,GAAG,CAAC,EAAS,MAAM,UAC3C,GAAG,CAAC,OAAO,GAAY,OAAQ,EAAM,CAAgD,OAA/C,QAAQ,KAAK,2BAA2B,EAAM,CAAO,YAAa,CAAC,EAAS,CAAC,CAC9G,EAAcA,MAAoB,IAAe,OAA8B,EAAvB,OAAO,EAAa,GAAe,CAAC,EAAa,EAAU,CAAC,CACpH,EAAQA,MAAY,MAAM,QAAQ,EAAS,CAAC,EAAS,GAAG,EAAS,CAAC,EAAS,CAAC,CAY5E,EAAcA,OAAa,CAAC,GAAG,EAAW,SAAS,KAAY,GAAO,GAAG,EAAW,OAAO,GAAY,sBAAsB,EAAc,GAAG,CAAC,GAAW,CAAC,0BAA0B,EAAM,CAAC,GAAG,EAAS,GAAG,CAAC,SAAS,SAAS,QAAQ,cAAc,gBAAgB,EAAS,gBAAgB,WAAW,aAAa,WAAW,WAAW,SAAS,UAAU,aAAa,CAAC,EAAE,CAAC,EAAS,EAAM,EAAW,EAAc,EAAU,EAAM,EAAS,CAAC,CAqCvb,OArCwb,MAAc,CACtc,GAAG,CAAC,GAAU,CAAC,GAAS,CAAc,EAAe,EAAQ,CAAC,CAAC,EAAgB,KAAK,CAAC,OAAQ,GAAG,CAChG,IAAM,EAAW,GAAS,OAAO,UAAU,OAAO,UAAU,OAAO,SAC7D,EAAU,CAAC,GAAG,GAAY,OAAO,MAAM,GAAG,EAAc,CAkB3D,GAAa,IAAY,EAAW,KAAK,EAAW,SAAS,KAAY,IAAQ,KAAK,EAAW,MAAM,MAAM,GAAkI,EAArF,EAAa,EAAQ,CAAC,GAAG,EAAQ,MAAM,MAAM,CAAC,GAAG,EAAQ,MAAM,MAAM,MAAM,OAAO,CAAC,CAAC,CAAgC,OAAQ,EAAM,CAAC,QAAQ,MAAM,cAAc,EAAM,QAAQ,EAAM,GAC7U,CAAC,EAAS,EAAQ,EAAc,CAAC,CAchC,EACgB,EAAe,EAAa,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,SAAS,EAAa,CAAC,CAGtH,KAJkC,EAAK,MAAM,CAAC,MAAM,CAAC,UAAU,OAAO,QAAQ,EAAE,WAAW,SAAS,CAAC,SAAS,aAAa,CAAC,wBA5DjF,IAA0F,IAAiE,IAA4H,IAAkH,CAiE9a,MAAoB,CAAC,GAAG,CAAC,GAAU,IAAS,QAAa,EAAO,aAAa,CAAC,IAAM,EAAM,aAAa,QAAQ,QAAQ,GAAG,OAAO,OAAO,QAAQ,OAAO,EAAY,oBAAoB,UAAe,EAAM,CAAC,QAAQ,KAAK,yCAAyC,EAAM,CAC/Q,OAAO,EAAY,mBAAoB,OAAU,WACjD,EAAoB,EAAQ,CAAC,SAAS,CAAC,KAAK,EAAY,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,QAAQ,OAAO,KAAK,EAAW,SAAS,CAAC,aAAa,OAAO,KAAK,EAAW,SAAS,CAAC,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,aAAa,UAAU,QAAQ,OAAO,KAAK,EAAW,OAAO,CAAC,aAAa,OAAO,KAAK,EAAW,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,EAAY,KAAK,aAAa,OAAO,QAAQ,CAAC,OAAO,GAAG,OAAO,KAAK,EAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,aAAa,GAAiB,CAAC,OAAO,EAAM,CAAC,OAAO,EAAM,eAAe,QAAS,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,CAAC,MAAM,CAAC,KAAK,EAAY,KAAK,QAAQ,CAAC,OAAO,SAAS,QAAQ,CAAC,YAAY,CAAC,kBAAkB,oBAAoB,mBAAmB,CAAC,wBAAwB,GAAK,OAAO,EAAM,CAAC,OAAO,EAAM,WAAY,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,CAAC,CAAC"}