vue-admin-core
Version:
A Component Library for Vue 3
1 lines • 29 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/preview-text/src/index.ts"],"sourcesContent":["/* eslint-disable indent */\nimport { defineComponent, computed, toRef, Ref, h, withDirectives } from \"vue\";\nimport {\n createContext,\n resolveComponent,\n useContext,\n composeExport\n} from \"../../__builtins__/shared\";\nimport { Field } from \"@formily/core\";\nimport { observer } from \"@formily/reactive-vue\";\nimport { useField, useFieldSchema } from \"@formily/vue\";\nimport { isArr, isValid } from \"@formily/shared\";\nimport { stylePrefix } from \"../../__builtins__/configs\";\nimport { getPrefixCls } from \"@vue-admin-core/utils/const\";\nimport type { SelectProps } from \"../../select\";\nimport type { CascaderProps } from \"../../cascader\";\nimport type { DatePickerProps } from \"../../date-picker\";\nimport type { TimePickerProps } from \"../../time-picker\";\nimport { Space } from \"../../space\";\nimport { ElTag, dayjs } from \"element-plus\";\nimport numeral from \"numeral\";\nimport \"numeral/locales/chs.js\";\nimport { useGlobalConfig } from \"@vue-admin-core/components/config-provider\";\nimport { isEmpty, isString } from \"lodash-es\";\nimport findTree from \"xe-utils/findTree.js\";\nimport { buildVueDompurifyHTMLDirective } from \"vue-dompurify-html\";\nimport { textToHtml } from \"@vue-admin-core/components/msg-editor/src/utils\";\nnumeral.locale(\"chs\");\n\nconst prefixCls = `${stylePrefix}-preview-text`;\nconst PlaceholderContext = createContext(\"N/A\");\n\nconst domHtml = buildVueDompurifyHTMLDirective({\n default: {\n USE_PROFILES: { html: true, mathMl: true }\n }\n});\n\nexport const usePlaceholder = (value?: Ref<any>) => {\n const placeholderCtx = useContext(PlaceholderContext);\n const placeholder = computed(() => {\n return isValid(value?.value) && value?.value !== \"\"\n ? value?.value\n : resolveComponent(placeholderCtx.value) || \"N/A\";\n });\n return placeholder;\n};\n\nconst Input = defineComponent({\n name: \"FPreviewTextInput\",\n props: [\"value\", \"format\"],\n setup(props, { attrs, slots }) {\n const value = toRef(props, \"value\");\n const formatVal = props.format ? numeral(value.value).format(props.format) : null;\n const placeholder = usePlaceholder(value);\n return () => {\n return h(\n Space,\n {\n class: [prefixCls],\n style: attrs.style\n },\n {\n default: () =>\n [\n slots?.prepend?.(),\n slots?.prefix?.(),\n formatVal || placeholder.value,\n slots?.suffix?.(),\n slots?.append?.()\n ].filter((child) => !!child)\n }\n );\n };\n }\n});\nconst RichText = defineComponent({\n name: \"FPreviewTextRichText\",\n props: [\"value\"],\n setup(props, { attrs }) {\n const value = toRef(props, \"value\");\n const placeholder = usePlaceholder(value);\n return () => {\n return h(\n \"div\",\n {\n class: [prefixCls, \"w-e-text-container\"],\n style: attrs.style\n },\n {\n default: () => [\n withDirectives(h(\"div\", { \"data-slate-editor\": \"\" }), [[domHtml, placeholder.value]])\n ]\n }\n );\n };\n }\n});\nconst MsgEditor = defineComponent({\n name: \"FPreviewTextMsgEditor\",\n props: [\"value\", \"options\", \"prefix\", \"suffix\"],\n setup(props, { attrs }) {\n const fieldRef = useField<Field>();\n const field = fieldRef.value;\n const value = toRef(props, \"value\");\n const placeholder = usePlaceholder(value);\n\n return () => {\n let dataSource = field?.dataSource?.length\n ? field.dataSource\n : props?.options?.length\n ? props.options\n : [];\n dataSource = dataSource.reduce(\n (pre: any, next: any) => ({\n ...pre,\n [next.value]: { label: next.label, value: next.value }\n }),\n {}\n );\n return h(\n \"div\",\n {\n class: [prefixCls, `${getPrefixCls(\"msg-editor\")}`],\n style: attrs.style\n },\n {\n default: () => [\n withDirectives(h(\"div\", { \"data-slate-editor\": \"\" }), [\n [\n domHtml,\n textToHtml(value.value, dataSource, {\n prefix: props.prefix || \"\\\\$\\\\{\",\n suffix: props.suffix || \"\\\\}\"\n }) || placeholder.value\n ]\n ])\n ]\n }\n );\n };\n }\n});\n\nconst Select = observer(\n defineComponent<SelectProps>({\n name: \"FPreviewTextSelect\",\n setup(_props, { attrs }) {\n const config = useGlobalConfig();\n const fieldRef = useField<Field>();\n const schema = useFieldSchema();\n const field = fieldRef.value;\n const props = attrs as unknown as SelectProps;\n const optionsProps = {\n label: \"label\",\n value: \"value\",\n ...props.props\n };\n const valueKey = optionsProps.value;\n const labelKey = optionsProps.label;\n\n const placeholder = usePlaceholder();\n const getSelected = () => {\n const value = props.value;\n if (props.multiple) {\n if (isArr(value)) {\n return value.map((val) => ({ label: val, value: val }));\n }\n if (isString(value)) {\n return value\n .split(schema.value[\"x-data\"]?.[\"separator\"] || \",\")\n .map((val) => ({ label: val, value: val }));\n }\n return [];\n } else {\n return isValid(value) ? [{ label: value, value }] : [];\n }\n };\n\n const getLabels = () => {\n const selected = getSelected();\n if (!selected.length) {\n return h(\n ElTag,\n {},\n {\n default: () => placeholder.value\n }\n );\n }\n const dataSource: any[] = field?.dataSource?.length\n ? field.dataSource\n : props?.options?.length\n ? props.options\n : [];\n return selected.map(({ value, label }, key) => {\n const item = dataSource?.find(\n (item) => item[valueKey] == value || item[config.value.dictValueKey as string] == value\n );\n const text = item?.[labelKey] || item?.[config.value.dictLabelKey as string] || label;\n return h(\n ElTag,\n {\n key,\n type: item?.[config.value.elTagTypeKey || \"type\"] || item?.type,\n effect: \"light\"\n },\n {\n default: () => text || placeholder.value\n }\n );\n });\n };\n\n return () => {\n return h(\n Space,\n {\n class: [prefixCls],\n style: attrs.style\n },\n {\n default: () => getLabels()\n }\n );\n };\n }\n })\n);\n\nconst Cascader = observer(\n defineComponent<CascaderProps>({\n name: \"FPreviewTextCascader\",\n setup(_props, { attrs }) {\n const fieldRef = useField<Field>();\n const schema = useFieldSchema();\n const field = fieldRef.value;\n const props = attrs as unknown as CascaderProps;\n const placeholder = usePlaceholder();\n const valueKey = props.props?.value || \"value\";\n const labelKey = props.props?.label || \"label\";\n const childrenKey = props.props?.children || \"children\";\n const getSelected = () => {\n if (isString(props.value)) {\n return props.value\n .split(schema.value[\"x-data\"]?.[\"separator\"] || \",\")\n .map((val) => ({ label: val, value: val }));\n }\n return isArr(props.value) ? props.value.map((val) => ({ label: val, value: val })) : [];\n };\n\n const getLabels = () => {\n const selected = getSelected();\n if (!selected?.length) {\n return placeholder.value;\n }\n const dataSource: any[] = field?.dataSource?.length\n ? field.dataSource\n : props?.options?.length\n ? props.options\n : [];\n return selected\n .map(({ label, value }) => {\n const item = findTree(dataSource, (item) => item?.[valueKey] == value, {\n children: childrenKey\n });\n const text = label;\n if (item) {\n return item.item[labelKey];\n }\n return text || placeholder.value;\n })\n .join(\" / \");\n };\n\n return () => {\n return getLabels();\n };\n }\n })\n);\n\nconst DatePicker = defineComponent<DatePickerProps>({\n name: \"FPreviewTextDatePicker\",\n setup(_props, { attrs }) {\n const props = attrs as unknown as DatePickerProps;\n const placeholder = usePlaceholder();\n const config = useGlobalConfig();\n const format = (attrs.format as string) || config.value.dateTimeFormat;\n const getLabels = () => {\n if (isArr(props.value)) {\n const labels = (props.value as any[]).map(\n (value: string | Date) => dayjs(value).format(format) || placeholder.value\n );\n\n return labels.join(\"~\");\n } else {\n return dayjs(props.value).format(format) || placeholder.value;\n }\n };\n\n return () => {\n return h(\n \"div\",\n {\n class: [prefixCls],\n style: attrs.style\n },\n {\n default: () => getLabels()\n }\n );\n };\n }\n});\n\nconst TimePicker = defineComponent<TimePickerProps>({\n name: \"FPreviewTextTimePicker\",\n setup(_props, { attrs }) {\n const props = attrs as unknown as TimePickerProps;\n const config = useGlobalConfig();\n const placeholder = usePlaceholder();\n const format = (attrs.format as string) || config.value.timeFormat;\n const getLabels = () => {\n if (isArr(props.value)) {\n const labels = props.value.map(\n (value: string | Date) => dayjs(value).format(format) || placeholder.value\n );\n\n return labels.join(\"~\");\n } else {\n return dayjs(props.value).format(format) || placeholder.value;\n }\n };\n\n return () => {\n return h(\n \"div\",\n {\n class: [prefixCls],\n style: attrs.style\n },\n {\n default: () => getLabels()\n }\n );\n };\n }\n});\n\nconst Text = defineComponent({\n name: \"FPreviewText\",\n props: [\"value\", \"format\"],\n setup(props, { attrs }) {\n const value = toRef(props, \"value\");\n const formatVal = props.format ? numeral(value.value).format(props.format) : null;\n const placeholder = usePlaceholder(value);\n\n return () => {\n return h(\n \"span\",\n {\n class: [prefixCls],\n style: attrs.style\n },\n {\n default: () => formatVal || placeholder.value\n }\n );\n };\n }\n});\n\nconst TreeSelect = defineComponent({\n name: \"FPreviewTextTreeSelect\",\n setup(_props, { attrs }) {\n const config = useGlobalConfig();\n const fieldRef = useField<Field>();\n const schema = useFieldSchema();\n const field = fieldRef.value;\n const props = attrs as any;\n const valueKey = props?.nodeKey || props?.props?.value || \"value\";\n const labelKey = props?.props?.label || \"label\";\n const childrenKey = props?.props?.children || \"children\";\n\n const placeholder = usePlaceholder();\n const getSelected = () => {\n const value = props.value;\n if (props.multiple) {\n if (isArr(value)) {\n return value.map((val) => ({ label: val, value: val }));\n }\n if (isString(value)) {\n return value\n .split(schema.value[\"x-data\"]?.[\"separator\"] || \",\")\n .map((val) => ({ label: val, value: val }));\n }\n return [];\n } else {\n return isEmpty(value) ? [] : [{ label: value, value }];\n }\n };\n\n const getLabels = () => {\n const selected = getSelected();\n if (!selected.length) {\n return h(\n ElTag,\n {},\n {\n default: () => placeholder.value\n }\n );\n }\n const dataSource: any[] = field?.dataSource?.length\n ? field.dataSource\n : props?.data?.length\n ? props.data\n : [];\n return selected.map(({ value, label }, key) => {\n const item = findTree(dataSource, (item) => item[valueKey] == value, {\n children: childrenKey\n });\n const text = item?.item?.[labelKey] || label || placeholder.value;\n return h(\n ElTag,\n {\n key,\n type: item?.item?.[config.value.elTagTypeKey || \"type\"] || item?.item?.type,\n effect: \"light\"\n },\n {\n default: () => text\n }\n );\n });\n };\n\n return () => {\n return h(\n Space,\n {\n class: [prefixCls],\n style: attrs.style\n },\n {\n default: () => getLabels()\n }\n );\n };\n }\n});\n\nexport const PreviewText = composeExport(Text, {\n Input,\n Select,\n CheckboxGroup: Select,\n RadioGroup: Select,\n Cascader,\n DatePicker,\n TimePicker,\n TreeSelect,\n Placeholder: PlaceholderContext.Provider,\n RichText,\n MsgEditor,\n usePlaceholder\n}) as any;\n\nexport default PreviewText;\n"],"names":["item","_a","_b","_c"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAA,CAAQ,OAAO,KAAK,CAAA,CAAA;AAEpB,MAAM,SAAA,GAAY,GAAG,WAAW,CAAA,aAAA,CAAA,CAAA;AAChC,MAAM,kBAAA,GAAqB,cAAc,KAAK,CAAA,CAAA;AAE9C,MAAM,UAAU,8BAA+B,CAAA;AAAA,EAC7C,OAAS,EAAA;AAAA,IACP,YAAc,EAAA,EAAE,IAAM,EAAA,IAAA,EAAM,QAAQ,IAAK,EAAA;AAAA,GAC3C;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,cAAA,GAAiB,CAAC,KAAqB,KAAA;AAClD,EAAM,MAAA,cAAA,GAAiB,WAAW,kBAAkB,CAAA,CAAA;AACpD,EAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,IAAA,OAAO,OAAQ,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,KAAK,CAAA,IAAA,CAAK,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA,MAAU,EAC7C,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,KACP,GAAA,gBAAA,CAAiB,cAAe,CAAA,KAAK,CAAK,IAAA,KAAA,CAAA;AAAA,GAC/C,CAAA,CAAA;AACD,EAAO,OAAA,WAAA,CAAA;AACT,EAAA;AAEA,MAAM,QAAQ,eAAgB,CAAA;AAAA,EAC5B,IAAM,EAAA,mBAAA;AAAA,EACN,KAAA,EAAO,CAAC,OAAA,EAAS,QAAQ,CAAA;AAAA,EACzB,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,OAAS,EAAA;AAC7B,IAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAClC,IAAM,MAAA,SAAA,GAAY,KAAM,CAAA,MAAA,GAAS,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAE,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA,IAAA,CAAA;AAC7E,IAAM,MAAA,WAAA,GAAc,eAAe,KAAK,CAAA,CAAA;AACxC,IAAA,OAAO,MAAM;AACX,MAAO,OAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO,CAAC,SAAS,CAAA;AAAA,UACjB,OAAO,KAAM,CAAA,KAAA;AAAA,SACf;AAAA,QACA;AAAA,UACE,SAAS,MAAG;AA/DtB,YAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAgEY,YAAA,OAAA;AAAA,cAAA,CACE,oCAAO,OAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AAAA,cAAA,CACA,oCAAO,MAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AAAA,cACA,aAAa,WAAY,CAAA,KAAA;AAAA,cAAA,CACzB,oCAAO,MAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AAAA,cAAA,CACA,oCAAO,MAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AAAA,cACA,MAAO,CAAA,CAAC,KAAU,KAAA,CAAC,CAAC,KAAK,CAAA,CAAA;AAAA,WAAA;AAAA,SAC/B;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AACD,MAAM,WAAW,eAAgB,CAAA;AAAA,EAC/B,IAAM,EAAA,sBAAA;AAAA,EACN,KAAA,EAAO,CAAC,OAAO,CAAA;AAAA,EACf,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAS,EAAA;AACtB,IAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAClC,IAAM,MAAA,WAAA,GAAc,eAAe,KAAK,CAAA,CAAA;AACxC,IAAA,OAAO,MAAM;AACX,MAAO,OAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO,CAAC,SAAA,EAAW,oBAAoB,CAAA;AAAA,UACvC,OAAO,KAAM,CAAA,KAAA;AAAA,SACf;AAAA,QACA;AAAA,UACE,SAAS,MAAM;AAAA,YACb,cAAe,CAAA,CAAA,CAAE,KAAO,EAAA,EAAE,qBAAqB,EAAG,EAAC,CAAG,EAAA,CAAC,CAAC,OAAA,EAAS,WAAY,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA,WACtF;AAAA,SACF;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AACD,MAAM,YAAY,eAAgB,CAAA;AAAA,EAChC,IAAM,EAAA,uBAAA;AAAA,EACN,KAAO,EAAA,CAAC,OAAS,EAAA,SAAA,EAAW,UAAU,QAAQ,CAAA;AAAA,EAC9C,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAS,EAAA;AACtB,IAAA,MAAM,WAAW,QAAgB,EAAA,CAAA;AACjC,IAAA,MAAM,QAAQ,QAAS,CAAA,KAAA,CAAA;AACvB,IAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAClC,IAAM,MAAA,WAAA,GAAc,eAAe,KAAK,CAAA,CAAA;AAExC,IAAA,OAAO,MAAM;AA3GjB,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA4GM,MAAA,IAAI,UAAa,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmB,MAChC,IAAA,KAAA,CAAM,UACN,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,OAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgB,MACd,IAAA,KAAA,CAAM,UACN,EAAC,CAAA;AACP,MAAA,UAAA,GAAa,UAAW,CAAA,MAAA;AAAA,QACtB,CAAC,KAAU,IAAe,MAAA;AAAA,UACxB,GAAG,GAAA;AAAA,UACH,CAAC,IAAK,CAAA,KAAK,GAAG,EAAE,OAAO,IAAK,CAAA,KAAA,EAAO,KAAO,EAAA,IAAA,CAAK,KAAM,EAAA;AAAA,SACvD,CAAA;AAAA,QACA,EAAC;AAAA,OACH,CAAA;AACA,MAAO,OAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA;AAAA,UACE,OAAO,CAAC,SAAA,EAAW,GAAG,YAAa,CAAA,YAAY,CAAC,CAAE,CAAA,CAAA;AAAA,UAClD,OAAO,KAAM,CAAA,KAAA;AAAA,SACf;AAAA,QACA;AAAA,UACE,SAAS,MAAM;AAAA,YACb,eAAe,CAAE,CAAA,KAAA,EAAO,EAAE,mBAAqB,EAAA,EAAA,EAAI,CAAG,EAAA;AAAA,cACpD;AAAA,gBACE,OAAA;AAAA,gBACA,UAAA,CAAW,KAAM,CAAA,KAAA,EAAO,UAAY,EAAA;AAAA,kBAClC,MAAA,EAAQ,MAAM,MAAU,IAAA,QAAA;AAAA,kBACxB,MAAA,EAAQ,MAAM,MAAU,IAAA,KAAA;AAAA,iBACzB,KAAK,WAAY,CAAA,KAAA;AAAA,eACpB;AAAA,aACD,CAAA;AAAA,WACH;AAAA,SACF;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,MAAS,GAAA,QAAA;AAAA,EACb,eAA6B,CAAA;AAAA,IAC3B,IAAM,EAAA,oBAAA;AAAA,IACN,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAS,EAAA;AACvB,MAAA,MAAM,SAAS,eAAgB,EAAA,CAAA;AAC/B,MAAA,MAAM,WAAW,QAAgB,EAAA,CAAA;AACjC,MAAA,MAAM,SAAS,cAAe,EAAA,CAAA;AAC9B,MAAA,MAAM,QAAQ,QAAS,CAAA,KAAA,CAAA;AACvB,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAA;AACd,MAAA,MAAM,YAAe,GAAA;AAAA,QACnB,KAAO,EAAA,OAAA;AAAA,QACP,KAAO,EAAA,OAAA;AAAA,QACP,GAAG,KAAM,CAAA,KAAA;AAAA,OACX,CAAA;AACA,MAAA,MAAM,WAAW,YAAa,CAAA,KAAA,CAAA;AAC9B,MAAA,MAAM,WAAW,YAAa,CAAA,KAAA,CAAA;AAE9B,MAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AACnC,MAAA,MAAM,cAAc,MAAM;AAlKhC,QAAA,IAAA,EAAA,CAAA;AAmKQ,QAAA,MAAM,QAAQ,KAAM,CAAA,KAAA,CAAA;AACpB,QAAA,IAAI,MAAM,QAAU,EAAA;AAClB,UAAI,IAAA,KAAA,CAAM,KAAK,CAAG,EAAA;AAChB,YAAO,OAAA,KAAA,CAAM,IAAI,CAAC,GAAA,MAAS,EAAE,KAAO,EAAA,GAAA,EAAK,KAAO,EAAA,GAAA,EAAM,CAAA,CAAA,CAAA;AAAA,WACxD;AACA,UAAI,IAAA,QAAA,CAAS,KAAK,CAAG,EAAA;AACnB,YAAA,OAAO,MACJ,KAAM,CAAA,CAAA,CAAA,EAAA,GAAA,MAAA,CAAO,MAAM,QAAQ,CAAA,KAArB,mBAAyB,WAAgB,CAAA,KAAA,GAAG,CAClD,CAAA,GAAA,CAAI,CAAC,GAAS,MAAA,EAAE,OAAO,GAAK,EAAA,KAAA,EAAO,KAAM,CAAA,CAAA,CAAA;AAAA,WAC9C;AACA,UAAA,OAAO,EAAC,CAAA;AAAA,SACH,MAAA;AACL,UAAO,OAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,CAAC,EAAE,OAAO,KAAO,EAAA,KAAA,EAAO,CAAA,GAAI,EAAC,CAAA;AAAA,SACvD;AAAA,OACF,CAAA;AAEA,MAAA,MAAM,YAAY,MAAM;AAnL9B,QAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAoLQ,QAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,QAAI,IAAA,CAAC,SAAS,MAAQ,EAAA;AACpB,UAAO,OAAA,CAAA;AAAA,YACL,KAAA;AAAA,YACA,EAAC;AAAA,YACD;AAAA,cACE,OAAA,EAAS,MAAM,WAAY,CAAA,KAAA;AAAA,aAC7B;AAAA,WACF,CAAA;AAAA,SACF;AACA,QAAA,MAAM,UAAoB,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmB,MACzC,IAAA,KAAA,CAAM,UACN,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,OAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgB,MACd,IAAA,KAAA,CAAM,UACN,EAAC,CAAA;AACP,QAAA,OAAO,SAAS,GAAI,CAAA,CAAC,EAAE,KAAO,EAAA,KAAA,IAAS,GAAQ,KAAA;AAC7C,UAAA,MAAM,OAAO,UAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,IAAA;AAAA,YACvB,CAACA,KAASA,KAAAA,KAAAA,CAAK,QAAQ,CAAA,IAAK,SAASA,KAAK,CAAA,MAAA,CAAO,KAAM,CAAA,YAAsB,CAAK,IAAA,KAAA;AAAA,WAAA,CAAA;AAEpF,UAAA,MAAM,QAAO,IAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA,CAAA,MAAa,IAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,MAAA,CAAO,MAAM,YAA2B,CAAA,CAAA,IAAA,KAAA,CAAA;AAChF,UAAO,OAAA,CAAA;AAAA,YACL,KAAA;AAAA,YACA;AAAA,cACE,GAAA;AAAA,cACA,OAAM,IAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,MAAA,CAAO,KAAM,CAAA,YAAA,IAAgB,aAAW,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,CAAA;AAAA,cAC3D,MAAQ,EAAA,OAAA;AAAA,aACV;AAAA,YACA;AAAA,cACE,OAAA,EAAS,MAAM,IAAA,IAAQ,WAAY,CAAA,KAAA;AAAA,aACrC;AAAA,WACF,CAAA;AAAA,SACD,CAAA,CAAA;AAAA,OACH,CAAA;AAEA,MAAA,OAAO,MAAM;AACX,QAAO,OAAA,CAAA;AAAA,UACL,KAAA;AAAA,UACA;AAAA,YACE,KAAA,EAAO,CAAC,SAAS,CAAA;AAAA,YACjB,OAAO,KAAM,CAAA,KAAA;AAAA,WACf;AAAA,UACA;AAAA,YACE,OAAA,EAAS,MAAM,SAAU,EAAA;AAAA,WAC3B;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACD,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,QAAW,GAAA,QAAA;AAAA,EACf,eAA+B,CAAA;AAAA,IAC7B,IAAM,EAAA,sBAAA;AAAA,IACN,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAS,EAAA;AAzO7B,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA0OM,MAAA,MAAM,WAAW,QAAgB,EAAA,CAAA;AACjC,MAAA,MAAM,SAAS,cAAe,EAAA,CAAA;AAC9B,MAAA,MAAM,QAAQ,QAAS,CAAA,KAAA,CAAA;AACvB,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAA;AACd,MAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AACnC,MAAA,MAAM,QAAW,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAM,KAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,KAAS,KAAA,OAAA,CAAA;AACvC,MAAA,MAAM,QAAW,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAM,KAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,KAAS,KAAA,OAAA,CAAA;AACvC,MAAA,MAAM,WAAc,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAM,KAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,QAAY,KAAA,UAAA,CAAA;AAC7C,MAAA,MAAM,cAAc,MAAM;AAlPhC,QAAAC,IAAAA,GAAAA,CAAAA;AAmPQ,QAAI,IAAA,QAAA,CAAS,KAAM,CAAA,KAAK,CAAG,EAAA;AACzB,UAAO,OAAA,KAAA,CAAM,MACV,KAAMA,CAAAA,CAAAA,CAAAA,GAAAA,GAAA,OAAO,KAAM,CAAA,QAAQ,MAArB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAyB,iBAAgB,GAAG,CAAA,CAClD,IAAI,CAAC,GAAA,MAAS,EAAE,KAAO,EAAA,GAAA,EAAK,KAAO,EAAA,GAAA,EAAM,CAAA,CAAA,CAAA;AAAA,SAC9C;AACA,QAAA,OAAO,MAAM,KAAM,CAAA,KAAK,CAAI,GAAA,KAAA,CAAM,MAAM,GAAI,CAAA,CAAC,GAAS,MAAA,EAAE,OAAO,GAAK,EAAA,KAAA,EAAO,GAAI,EAAA,CAAE,IAAI,EAAC,CAAA;AAAA,OACxF,CAAA;AAEA,MAAA,MAAM,YAAY,MAAM;AA3P9B,QAAA,IAAAA,GAAAC,EAAAA,GAAAA,CAAAA;AA4PQ,QAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,QAAI,IAAA,EAAC,qCAAU,MAAQ,CAAA,EAAA;AACrB,UAAA,OAAO,WAAY,CAAA,KAAA,CAAA;AAAA,SACrB;AACA,QAAA,MAAM,eAAoBD,GAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAmB,MACzC,IAAA,KAAA,CAAM,UACNC,GAAAA,CAAAA,CAAAA,GAAAA,GAAA,+BAAO,OAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAgB,MACd,IAAA,KAAA,CAAM,UACN,EAAC,CAAA;AACP,QAAA,OAAO,SACJ,GAAI,CAAA,CAAC,EAAE,KAAA,EAAO,OAAY,KAAA;AACzB,UAAM,MAAA,IAAA,GAAO,SAAS,UAAY,EAAA,CAACF,WAASA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAO,CAAA,QAAA,CAAA,KAAa,KAAO,EAAA;AAAA,YACrE,QAAU,EAAA,WAAA;AAAA,WACX,CAAA,CAAA;AACD,UAAA,MAAM,IAAO,GAAA,KAAA,CAAA;AACb,UAAA,IAAI,IAAM,EAAA;AACR,YAAO,OAAA,IAAA,CAAK,KAAK,QAAQ,CAAA,CAAA;AAAA,WAC3B;AACA,UAAA,OAAO,QAAQ,WAAY,CAAA,KAAA,CAAA;AAAA,SAC5B,CACA,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAAA,OACf,CAAA;AAEA,MAAA,OAAO,MAAM;AACX,QAAA,OAAO,SAAU,EAAA,CAAA;AAAA,OACnB,CAAA;AAAA,KACF;AAAA,GACD,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,aAAa,eAAiC,CAAA;AAAA,EAClD,IAAM,EAAA,wBAAA;AAAA,EACN,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAS,EAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAA;AACd,IAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AACnC,IAAA,MAAM,SAAS,eAAgB,EAAA,CAAA;AAC/B,IAAA,MAAM,MAAU,GAAA,KAAA,CAAM,MAAqB,IAAA,MAAA,CAAO,KAAM,CAAA,cAAA,CAAA;AACxD,IAAA,MAAM,YAAY,MAAM;AACtB,MAAI,IAAA,KAAA,CAAM,KAAM,CAAA,KAAK,CAAG,EAAA;AACtB,QAAM,MAAA,MAAA,GAAU,MAAM,KAAgB,CAAA,GAAA;AAAA,UACpC,CAAC,UAAyB,KAAM,CAAA,KAAK,EAAE,MAAO,CAAA,MAAM,KAAK,WAAY,CAAA,KAAA;AAAA,SACvE,CAAA;AAEA,QAAO,OAAA,MAAA,CAAO,KAAK,GAAG,CAAA,CAAA;AAAA,OACjB,MAAA;AACL,QAAA,OAAO,MAAM,KAAM,CAAA,KAAK,EAAE,MAAO,CAAA,MAAM,KAAK,WAAY,CAAA,KAAA,CAAA;AAAA,OAC1D;AAAA,KACF,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAO,OAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO,CAAC,SAAS,CAAA;AAAA,UACjB,OAAO,KAAM,CAAA,KAAA;AAAA,SACf;AAAA,QACA;AAAA,UACE,OAAA,EAAS,MAAM,SAAU,EAAA;AAAA,SAC3B;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,eAAiC,CAAA;AAAA,EAClD,IAAM,EAAA,wBAAA;AAAA,EACN,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAS,EAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAA;AACd,IAAA,MAAM,SAAS,eAAgB,EAAA,CAAA;AAC/B,IAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AACnC,IAAA,MAAM,MAAU,GAAA,KAAA,CAAM,MAAqB,IAAA,MAAA,CAAO,KAAM,CAAA,UAAA,CAAA;AACxD,IAAA,MAAM,YAAY,MAAM;AACtB,MAAI,IAAA,KAAA,CAAM,KAAM,CAAA,KAAK,CAAG,EAAA;AACtB,QAAM,MAAA,MAAA,GAAS,MAAM,KAAM,CAAA,GAAA;AAAA,UACzB,CAAC,UAAyB,KAAM,CAAA,KAAK,EAAE,MAAO,CAAA,MAAM,KAAK,WAAY,CAAA,KAAA;AAAA,SACvE,CAAA;AAEA,QAAO,OAAA,MAAA,CAAO,KAAK,GAAG,CAAA,CAAA;AAAA,OACjB,MAAA;AACL,QAAA,OAAO,MAAM,KAAM,CAAA,KAAK,EAAE,MAAO,CAAA,MAAM,KAAK,WAAY,CAAA,KAAA,CAAA;AAAA,OAC1D;AAAA,KACF,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAO,OAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO,CAAC,SAAS,CAAA;AAAA,UACjB,OAAO,KAAM,CAAA,KAAA;AAAA,SACf;AAAA,QACA;AAAA,UACE,OAAA,EAAS,MAAM,SAAU,EAAA;AAAA,SAC3B;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,OAAO,eAAgB,CAAA;AAAA,EAC3B,IAAM,EAAA,cAAA;AAAA,EACN,KAAA,EAAO,CAAC,OAAA,EAAS,QAAQ,CAAA;AAAA,EACzB,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAS,EAAA;AACtB,IAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAClC,IAAM,MAAA,SAAA,GAAY,KAAM,CAAA,MAAA,GAAS,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAE,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAI,GAAA,IAAA,CAAA;AAC7E,IAAM,MAAA,WAAA,GAAc,eAAe,KAAK,CAAA,CAAA;AAExC,IAAA,OAAO,MAAM;AACX,MAAO,OAAA,CAAA;AAAA,QACL,MAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO,CAAC,SAAS,CAAA;AAAA,UACjB,OAAO,KAAM,CAAA,KAAA;AAAA,SACf;AAAA,QACA;AAAA,UACE,OAAA,EAAS,MAAM,SAAA,IAAa,WAAY,CAAA,KAAA;AAAA,SAC1C;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,eAAgB,CAAA;AAAA,EACjC,IAAM,EAAA,wBAAA;AAAA,EACN,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAS,EAAA;AAvX3B,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAwXI,IAAA,MAAM,SAAS,eAAgB,EAAA,CAAA;AAC/B,IAAA,MAAM,WAAW,QAAgB,EAAA,CAAA;AACjC,IAAA,MAAM,SAAS,cAAe,EAAA,CAAA;AAC9B,IAAA,MAAM,QAAQ,QAAS,CAAA,KAAA,CAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAA;AACd,IAAA,MAAM,YAAW,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,OAAA,MAAA,CAAW,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA,KAAP,mBAAc,KAAS,CAAA,IAAA,OAAA,CAAA;AAC1D,IAAA,MAAM,QAAW,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,KAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAc,KAAS,KAAA,OAAA,CAAA;AACxC,IAAA,MAAM,WAAc,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,KAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAc,QAAY,KAAA,UAAA,CAAA;AAE9C,IAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AACnC,IAAA,MAAM,cAAc,MAAM;AAlY9B,MAAAC,IAAAA,GAAAA,CAAAA;AAmYM,MAAA,MAAM,QAAQ,KAAM,CAAA,KAAA,CAAA;AACpB,MAAA,IAAI,MAAM,QAAU,EAAA;AAClB,QAAI,IAAA,KAAA,CAAM,KAAK,CAAG,EAAA;AAChB,UAAO,OAAA,KAAA,CAAM,IAAI,CAAC,GAAA,MAAS,EAAE,KAAO,EAAA,GAAA,EAAK,KAAO,EAAA,GAAA,EAAM,CAAA,CAAA,CAAA;AAAA,SACxD;AACA,QAAI,IAAA,QAAA,CAAS,KAAK,CAAG,EAAA;AACnB,UAAO,OAAA,KAAA,CACJ,QAAMA,GAAA,GAAA,MAAA,CAAO,MAAM,QAAQ,CAAA,KAArB,gBAAAA,GAAyB,CAAA,WAAA,CAAA,KAAgB,GAAG,CAClD,CAAA,GAAA,CAAI,CAAC,GAAS,MAAA,EAAE,OAAO,GAAK,EAAA,KAAA,EAAO,KAAM,CAAA,CAAA,CAAA;AAAA,SAC9C;AACA,QAAA,OAAO,EAAC,CAAA;AAAA,OACH,MAAA;AACL,QAAO,OAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,EAAC,GAAI,CAAC,EAAE,KAAA,EAAO,KAAO,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,OACvD;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,YAAY,MAAM;AAnZ5B,MAAA,IAAAA,GAAAC,EAAAA,GAAAA,CAAAA;AAoZM,MAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,MAAI,IAAA,CAAC,SAAS,MAAQ,EAAA;AACpB,QAAO,OAAA,CAAA;AAAA,UACL,KAAA;AAAA,UACA,EAAC;AAAA,UACD;AAAA,YACE,OAAA,EAAS,MAAM,WAAY,CAAA,KAAA;AAAA,WAC7B;AAAA,SACF,CAAA;AAAA,OACF;AACA,MAAA,MAAM,eAAoBD,GAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAmB,MACzC,IAAA,KAAA,CAAM,UACNC,GAAAA,CAAAA,CAAAA,GAAAA,GAAA,+BAAO,IAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAa,MACX,IAAA,KAAA,CAAM,OACN,EAAC,CAAA;AACP,MAAA,OAAO,SAAS,GAAI,CAAA,CAAC,EAAE,KAAO,EAAA,KAAA,IAAS,GAAQ,KAAA;AAnarD,QAAA,IAAAD,KAAAC,GAAAC,EAAAA,GAAAA,CAAAA;AAoaQ,QAAM,MAAA,IAAA,GAAO,SAAS,UAAY,EAAA,CAACH,UAASA,KAAK,CAAA,QAAQ,KAAK,KAAO,EAAA;AAAA,UACnE,QAAU,EAAA,WAAA;AAAA,SACX,CAAA,CAAA;AACD,QAAM,MAAA,IAAA,GAAA,CAAA,CAAOC,MAAA,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,KAAN,gBAAAA,GAAa,CAAA,QAAA,CAAA,KAAa,SAAS,WAAY,CAAA,KAAA,CAAA;AAC5D,QAAO,OAAA,CAAA;AAAA,UACL,KAAA;AAAA,UACA;AAAA,YACE,GAAA;AAAA,YACA,IAAMC,EAAAA,CAAAA,CAAAA,GAAAA,GAAA,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,KAAN,gBAAAA,GAAa,CAAA,MAAA,CAAO,KAAM,CAAA,YAAA,IAAgB,MAAWC,CAAAA,MAAAA,CAAAA,GAAAA,GAAA,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,KAAN,gBAAAA,GAAY,CAAA,IAAA,CAAA;AAAA,YACvE,MAAQ,EAAA,OAAA;AAAA,WACV;AAAA,UACA;AAAA,YACE,SAAS,MAAM,IAAA;AAAA,WACjB;AAAA,SACF,CAAA;AAAA,OACD,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAO,OAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO,CAAC,SAAS,CAAA;AAAA,UACjB,OAAO,KAAM,CAAA,KAAA;AAAA,SACf;AAAA,QACA;AAAA,UACE,OAAA,EAAS,MAAM,SAAU,EAAA;AAAA,SAC3B;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,WAAA,GAAc,cAAc,IAAM,EAAA;AAAA,EAC7C,KAAA;AAAA,EACA,MAAA;AAAA,EACA,aAAe,EAAA,MAAA;AAAA,EACf,UAAY,EAAA,MAAA;AAAA,EACZ,QAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAa,kBAAmB,CAAA,QAAA;AAAA,EAChC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AACF,CAAC;;;;"}