{"version":3,"file":"ShareNewsletter-DPjXcX0V.mjs","names":[],"sources":["../src/components/display/sharing/ShareNewsletter.vue","../src/components/display/sharing/ShareNewsletter.vue"],"sourcesContent":["<template>\n  <div class=\"d-flex flex-column align-items-center\">\n    <div class=\"d-flex flex-grow-1\">\n      <div class=\"d-flex flex-column flex-shrink-0 me-3\">\n        <h2 class=\"mb-3\">\n          {{ t(\"Configure your Newsletter tile\") }}\n        </h2>\n        <div\n          v-for=\"colors in arrayColors\"\n          :key=\"colors.mainText\"\n          class=\"d-flex align-items-center mb-3\"\n        >\n          <VSwatches\n            v-model=\"colors.color\"\n            class=\"c-hand me-2\"\n            show-fallback\n            fallback-input-type=\"color\"\n            colors=\"text-advanced\"\n            popover-to=\"right\"\n            :data-color=\"colors.color\"\n          />\n          <div class=\"d-flex flex-column\">\n            <div class=\"fw-bold\">{{ colors.mainText }}</div>\n            <div v-if=\"colors.secondText\" class=\"description-text\">\n              {{ colors.secondText }}\n            </div>\n          </div>\n        </div>\n      </div>\n      <!-- eslint-disable vue/no-v-html -->\n      <div class=\"border p-3\" v-html=\"newsletterHtml\" />\n      <!-- eslint-enable -->\n    </div>\n    <ClassicCopyButton\n      :text=\"t('Copy code')\"\n      :text-after-copy=\"t('Code copied!')\"\n      :data-to-copy=\"newsletterHtml\"\n    />\n    <div>{{ t(\"And paste it in your newsletter\") }}</div>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicCopyButton from \"../../form/ClassicCopyButton.vue\";\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, ref } from \"vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n  podcast: { default: undefined, type: Object as () => Podcast },\n  emission: { default: undefined, type: Object as () => Emission },\n  playlist: { default: undefined, type: Object as () => Playlist },\n})\n\nconst { t } = useI18n();\n\n//Data \nconst shareUrl = ref(window.location.origin);\nconst arrayColors = ref([\n  {\n    color: \"#40a372\",\n    mainText: t(\"Choose main color\"),\n    secondText: t(\"Newsletter elements\"),\n  },\n  { color: \"#000000\", mainText: t(\"Choose text color\") },\n  { color: \"#FFFFFF\", mainText: t(\"Choose background color\") },\n]);\n\n//Composables\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst saveFetchStore = useSaveFetchStore();\nconst router = useRouter();\n\n//Computed\nconst pathShare = computed(() => {\n  const orga = filterStore.filterOrgaId ? \"?productor=\"+filterStore.filterOrgaId : \"\";\n  if(props.podcast) {\n    return router.resolve({ name: \"podcast\", params: { podcastId: props.podcast.podcastId } }).path + orga;\n  }\n  if(props.emission){\n    return router.resolve({ name: \"emission\", params: { emissionId: props.emission.emissionId } }).path + orga;\n  }\n  if(props.playlist){\n    return router.resolve({ name: \"playlist\", params: { playlistId: props.playlist.playlistId } }).path + orga;\n  }\n  return \"\";\n});\n\nconst newsletterInfo = computed(() => {\n  if (props.podcast) {\n    return {\n      imageUrl: `${props.podcast.imageUrl}\" alt=\"${t(\n        \"Episode name image\",\n        { name: props.podcast.title },\n      )}`,\n      title: props.podcast.title,\n      description: props.podcast.description ?? \"\",\n      shareText: t(\"Listen this episode\"),\n      emissionHtml: `<tr><td style=\"padding:5px 0;\">\n      <div style=\"display:flex; margin-top:5px;\">\n      <div style=\"font-size:16px; color:${\n        arrayColors.value[1].color\n      }; margin-right:5px;text-wrap: nowrap;\">${t(\"Emission\")} :</div>\n      <a href=\"${shareUrl.value+pathShare.value}\" style=\"font-size: 16px;color: ${\n        arrayColors.value[0].color\n      };overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">${\n        props.podcast.emission.name\n      }</a>\n      </div></td></tr>`,\n      articleHtml:\n        !props.podcast?.article || 0 === props.podcast.article?.length\n          ? ``\n          : `<tr><td style=\"padding:5px 0;\">\n      <div style=\"display:flex;\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 17h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7zM5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z\"/></svg>\n      <a href=\"${props.podcast.article}\" style=\"color: ${\n        arrayColors.value[1].color\n      };margin-top:2px\">${t(\"See associated article\")}</a>\n      </div></td></tr>\n      `,\n      colorTitle: `color:${arrayColors.value[1].color};`,\n    };\n  }\n  if (props.emission) {\n    return {\n      imageUrl: `${props.emission.imageUrl}\" alt=\"${t(\n        \"Emission image\",\n      )}`,\n      title: props.emission.name,\n      description: props.emission.description ?? \"\",\n      shareText: t(\"Listen to all episodes\"),\n      emissionHtml: ``,\n      articleHtml: ``,\n      colorTitle: `color:${arrayColors.value[0].color};`,\n    };\n  }\n  return {\n    imageUrl: `${props.playlist?.imageUrl}\" alt=\"${t(\n      \"Playlist image\",\n    )}`,\n    title: props.playlist?.title,\n    description: props.playlist?.description ?? \"\",\n    shareText: t(\"Listen to all episodes\"),\n    emissionHtml: ``,\n    articleHtml: ``,\n    colorTitle: `color:${arrayColors.value[0].color};`,\n  };\n});\nconst newsletterHtml = computed(() => {\n  return `<table style=\"background:${arrayColors.value[2].color};color:${\n        arrayColors.value[1].color\n          };table-layout: fixed;width:100%;font-size: 14px;\">\n    <tr>\n    <td valign=\"top\" width=\"30%\" rowspan=\"7\" style=\"padding-right:5px;\"><img width=\"100%\" src=\"${\n            newsletterInfo.value.imageUrl\n          }\" style=\"border-radius: 4px;\"></td>\n    <td valign=\"top\" width=\"70%\" style=\"padding:5px 0;\"><div style=\"margin-top:5px;font-size: 20px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight:bold;${\n            newsletterInfo.value.colorTitle\n          }\">${newsletterInfo.value.title}</div></td>\n    </tr>${newsletterInfo.value.emissionHtml}\n    <tr><td style=\"padding:5px 0;\"><div style=\"overflow: hidden;display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;word-break: break-word;\">${\n            newsletterInfo.value.description\n          }</div></td></tr>\n    <tr><td valign=\"top\" style=\"padding:5px 0;\"><a href=\"${\n            shareUrl.value+pathShare.value\n          }\" style=\"color: ${arrayColors.value[0].color};\">${t(\n            \"See more\",\n          )}</a></td></tr>\n    <tr>${newsletterInfo.value.articleHtml}\n    <td width=\"1\" style=\"padding:5px 0;\"><a href=\"${\n            shareUrl.value+pathShare.value\n          }\" style=\"font-size: 18px;color: ${\n            arrayColors.value[0].color\n          };text-decoration: none; display:flex;\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.5 16.5l7-4.5l-7-4.5zM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22\"/></svg><div style=\"margin-top: 15px; color:${\n            arrayColors.value[1].color\n          };\">${newsletterInfo.value.shareText}</div></a></td>\n    </tr>\n    </table>\n    `;\n});\n\n\nonBeforeMount(()=>initData())\n\n//Methods\nasync function initData(): Promise<void> {\n  const orgaId = authStore.authOrgaId;\n  if (!orgaId?.length) {\n    return;\n  }\n  const attributes = await saveFetchStore.getOrgaAttributes(orgaId ?? \"\");\n  if (\n    Object.hasOwn(attributes, \"podcastmakerUrl\") &&\n    (attributes.podcastmakerUrl as string | undefined | null)?.length\n  ) {\n    shareUrl.value = attributes.podcastmakerUrl?.toString() ?? window.location.origin;\n  }\n  if (Object.hasOwn(attributes, \"COLOR\")) {\n    arrayColors.value[0].color = attributes.COLOR as string;\n  }\n}\n</script>\n","<template>\n  <div class=\"d-flex flex-column align-items-center\">\n    <div class=\"d-flex flex-grow-1\">\n      <div class=\"d-flex flex-column flex-shrink-0 me-3\">\n        <h2 class=\"mb-3\">\n          {{ t(\"Configure your Newsletter tile\") }}\n        </h2>\n        <div\n          v-for=\"colors in arrayColors\"\n          :key=\"colors.mainText\"\n          class=\"d-flex align-items-center mb-3\"\n        >\n          <VSwatches\n            v-model=\"colors.color\"\n            class=\"c-hand me-2\"\n            show-fallback\n            fallback-input-type=\"color\"\n            colors=\"text-advanced\"\n            popover-to=\"right\"\n            :data-color=\"colors.color\"\n          />\n          <div class=\"d-flex flex-column\">\n            <div class=\"fw-bold\">{{ colors.mainText }}</div>\n            <div v-if=\"colors.secondText\" class=\"description-text\">\n              {{ colors.secondText }}\n            </div>\n          </div>\n        </div>\n      </div>\n      <!-- eslint-disable vue/no-v-html -->\n      <div class=\"border p-3\" v-html=\"newsletterHtml\" />\n      <!-- eslint-enable -->\n    </div>\n    <ClassicCopyButton\n      :text=\"t('Copy code')\"\n      :text-after-copy=\"t('Code copied!')\"\n      :data-to-copy=\"newsletterHtml\"\n    />\n    <div>{{ t(\"And paste it in your newsletter\") }}</div>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ClassicCopyButton from \"../../form/ClassicCopyButton.vue\";\nimport { VSwatches } from \"vue3-swatches\";\nimport \"vue3-swatches/dist/style.css\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { computed, onBeforeMount, ref } from \"vue\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n  podcast: { default: undefined, type: Object as () => Podcast },\n  emission: { default: undefined, type: Object as () => Emission },\n  playlist: { default: undefined, type: Object as () => Playlist },\n})\n\nconst { t } = useI18n();\n\n//Data \nconst shareUrl = ref(window.location.origin);\nconst arrayColors = ref([\n  {\n    color: \"#40a372\",\n    mainText: t(\"Choose main color\"),\n    secondText: t(\"Newsletter elements\"),\n  },\n  { color: \"#000000\", mainText: t(\"Choose text color\") },\n  { color: \"#FFFFFF\", mainText: t(\"Choose background color\") },\n]);\n\n//Composables\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\nconst saveFetchStore = useSaveFetchStore();\nconst router = useRouter();\n\n//Computed\nconst pathShare = computed(() => {\n  const orga = filterStore.filterOrgaId ? \"?productor=\"+filterStore.filterOrgaId : \"\";\n  if(props.podcast) {\n    return router.resolve({ name: \"podcast\", params: { podcastId: props.podcast.podcastId } }).path + orga;\n  }\n  if(props.emission){\n    return router.resolve({ name: \"emission\", params: { emissionId: props.emission.emissionId } }).path + orga;\n  }\n  if(props.playlist){\n    return router.resolve({ name: \"playlist\", params: { playlistId: props.playlist.playlistId } }).path + orga;\n  }\n  return \"\";\n});\n\nconst newsletterInfo = computed(() => {\n  if (props.podcast) {\n    return {\n      imageUrl: `${props.podcast.imageUrl}\" alt=\"${t(\n        \"Episode name image\",\n        { name: props.podcast.title },\n      )}`,\n      title: props.podcast.title,\n      description: props.podcast.description ?? \"\",\n      shareText: t(\"Listen this episode\"),\n      emissionHtml: `<tr><td style=\"padding:5px 0;\">\n      <div style=\"display:flex; margin-top:5px;\">\n      <div style=\"font-size:16px; color:${\n        arrayColors.value[1].color\n      }; margin-right:5px;text-wrap: nowrap;\">${t(\"Emission\")} :</div>\n      <a href=\"${shareUrl.value+pathShare.value}\" style=\"font-size: 16px;color: ${\n        arrayColors.value[0].color\n      };overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\">${\n        props.podcast.emission.name\n      }</a>\n      </div></td></tr>`,\n      articleHtml:\n        !props.podcast?.article || 0 === props.podcast.article?.length\n          ? ``\n          : `<tr><td style=\"padding:5px 0;\">\n      <div style=\"display:flex;\">\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7 17h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7zM5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z\"/></svg>\n      <a href=\"${props.podcast.article}\" style=\"color: ${\n        arrayColors.value[1].color\n      };margin-top:2px\">${t(\"See associated article\")}</a>\n      </div></td></tr>\n      `,\n      colorTitle: `color:${arrayColors.value[1].color};`,\n    };\n  }\n  if (props.emission) {\n    return {\n      imageUrl: `${props.emission.imageUrl}\" alt=\"${t(\n        \"Emission image\",\n      )}`,\n      title: props.emission.name,\n      description: props.emission.description ?? \"\",\n      shareText: t(\"Listen to all episodes\"),\n      emissionHtml: ``,\n      articleHtml: ``,\n      colorTitle: `color:${arrayColors.value[0].color};`,\n    };\n  }\n  return {\n    imageUrl: `${props.playlist?.imageUrl}\" alt=\"${t(\n      \"Playlist image\",\n    )}`,\n    title: props.playlist?.title,\n    description: props.playlist?.description ?? \"\",\n    shareText: t(\"Listen to all episodes\"),\n    emissionHtml: ``,\n    articleHtml: ``,\n    colorTitle: `color:${arrayColors.value[0].color};`,\n  };\n});\nconst newsletterHtml = computed(() => {\n  return `<table style=\"background:${arrayColors.value[2].color};color:${\n        arrayColors.value[1].color\n          };table-layout: fixed;width:100%;font-size: 14px;\">\n    <tr>\n    <td valign=\"top\" width=\"30%\" rowspan=\"7\" style=\"padding-right:5px;\"><img width=\"100%\" src=\"${\n            newsletterInfo.value.imageUrl\n          }\" style=\"border-radius: 4px;\"></td>\n    <td valign=\"top\" width=\"70%\" style=\"padding:5px 0;\"><div style=\"margin-top:5px;font-size: 20px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight:bold;${\n            newsletterInfo.value.colorTitle\n          }\">${newsletterInfo.value.title}</div></td>\n    </tr>${newsletterInfo.value.emissionHtml}\n    <tr><td style=\"padding:5px 0;\"><div style=\"overflow: hidden;display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;word-break: break-word;\">${\n            newsletterInfo.value.description\n          }</div></td></tr>\n    <tr><td valign=\"top\" style=\"padding:5px 0;\"><a href=\"${\n            shareUrl.value+pathShare.value\n          }\" style=\"color: ${arrayColors.value[0].color};\">${t(\n            \"See more\",\n          )}</a></td></tr>\n    <tr>${newsletterInfo.value.articleHtml}\n    <td width=\"1\" style=\"padding:5px 0;\"><a href=\"${\n            shareUrl.value+pathShare.value\n          }\" style=\"font-size: 18px;color: ${\n            arrayColors.value[0].color\n          };text-decoration: none; display:flex;\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m9.5 16.5l7-4.5l-7-4.5zM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22\"/></svg><div style=\"margin-top: 15px; color:${\n            arrayColors.value[1].color\n          };\">${newsletterInfo.value.shareText}</div></a></td>\n    </tr>\n    </table>\n    `;\n});\n\n\nonBeforeMount(()=>initData())\n\n//Methods\nasync function initData(): Promise<void> {\n  const orgaId = authStore.authOrgaId;\n  if (!orgaId?.length) {\n    return;\n  }\n  const attributes = await saveFetchStore.getOrgaAttributes(orgaId ?? \"\");\n  if (\n    Object.hasOwn(attributes, \"podcastmakerUrl\") &&\n    (attributes.podcastmakerUrl as string | undefined | null)?.length\n  ) {\n    shareUrl.value = attributes.podcastmakerUrl?.toString() ?? window.location.origin;\n  }\n  if (Object.hasOwn(attributes, \"COLOR\")) {\n    arrayColors.value[0].color = attributes.COLOR as string;\n  }\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDA,MAAM,QAAQ;EAMd,MAAM,EAAE,MAAM,QAAQ;EAGtB,MAAM,WAAW,IAAI,OAAO,SAAS,MAAM;EAC3C,MAAM,cAAc,IAAI;GACtB;IACE,OAAO;IACP,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,qBAAqB;GACrC;GACA;IAAE,OAAO;IAAW,UAAU,EAAE,mBAAmB;GAAE;GACrD;IAAE,OAAO;IAAW,UAAU,EAAE,yBAAyB;GAAE;EAC7D,CAAC;EAGD,MAAM,cAAc,eAAe;EACnC,MAAM,YAAY,aAAa;EAC/B,MAAM,iBAAiB,kBAAkB;EACzC,MAAM,SAAS,UAAU;EAGzB,MAAM,YAAY,eAAe;GAC/B,MAAM,OAAO,YAAY,eAAe,gBAAc,YAAY,eAAe;GACjF,IAAG,MAAM,SACP,OAAO,OAAO,QAAQ;IAAE,MAAM;IAAW,QAAQ,EAAE,WAAW,MAAM,QAAQ,UAAU;GAAE,CAAC,EAAE,OAAO;GAEpG,IAAG,MAAM,UACP,OAAO,OAAO,QAAQ;IAAE,MAAM;IAAY,QAAQ,EAAE,YAAY,MAAM,SAAS,WAAW;GAAE,CAAC,EAAE,OAAO;GAExG,IAAG,MAAM,UACP,OAAO,OAAO,QAAQ;IAAE,MAAM;IAAY,QAAQ,EAAE,YAAY,MAAM,SAAS,WAAW;GAAE,CAAC,EAAE,OAAO;GAExG,OAAO;EACT,CAAC;EAED,MAAM,iBAAiB,eAAe;GACpC,IAAI,MAAM,SACR,OAAO;IACL,UAAU,GAAG,MAAM,QAAQ,SAAS,SAAS,EAC3C,sBACA,EAAE,MAAM,MAAM,QAAQ,MAAM,CAC9B;IACA,OAAO,MAAM,QAAQ;IACrB,aAAa,MAAM,QAAQ,eAAe;IAC1C,WAAW,EAAE,qBAAqB;IAClC,cAAc;;0CAGZ,YAAY,MAAM,GAAG,MACtB,yCAAyC,EAAE,UAAU,EAAE;iBAC7C,SAAS,QAAM,UAAU,MAAM,kCACxC,YAAY,MAAM,GAAG,MACtB,kEACC,MAAM,QAAQ,SAAS,KACxB;;IAED,aACE,CAAC,MAAM,SAAS,WAAW,MAAM,MAAM,QAAQ,SAAS,SACpD,KACA;;;iBAGK,MAAM,QAAQ,QAAQ,kBAC/B,YAAY,MAAM,GAAG,MACtB,mBAAmB,EAAE,wBAAwB,EAAE;;;IAGhD,YAAY,SAAS,YAAY,MAAM,GAAG,MAAM;GAClD;GAEF,IAAI,MAAM,UACR,OAAO;IACL,UAAU,GAAG,MAAM,SAAS,SAAS,SAAS,EAC5C,gBACF;IACA,OAAO,MAAM,SAAS;IACtB,aAAa,MAAM,SAAS,eAAe;IAC3C,WAAW,EAAE,wBAAwB;IACrC,cAAc;IACd,aAAa;IACb,YAAY,SAAS,YAAY,MAAM,GAAG,MAAM;GAClD;GAEF,OAAO;IACL,UAAU,GAAG,MAAM,UAAU,SAAS,SAAS,EAC7C,gBACF;IACA,OAAO,MAAM,UAAU;IACvB,aAAa,MAAM,UAAU,eAAe;IAC5C,WAAW,EAAE,wBAAwB;IACrC,cAAc;IACd,aAAa;IACb,YAAY,SAAS,YAAY,MAAM,GAAG,MAAM;GAClD;EACF,CAAC;EACD,MAAM,iBAAiB,eAAe;GACpC,OAAO,4BAA4B,YAAY,MAAM,GAAG,MAAM,SACxD,YAAY,MAAM,GAAG,MAClB;;iGAGC,eAAe,MAAM,SACtB;mLAEC,eAAe,MAAM,WACtB,IAAI,eAAe,MAAM,MAAM;WAC/B,eAAe,MAAM,aAAY;mKAEhC,eAAe,MAAM,YACtB;2DAEC,SAAS,QAAM,UAAU,MAC1B,kBAAkB,YAAY,MAAM,GAAG,MAAM,KAAK,EACjD,UACF,EAAE;UACF,eAAe,MAAM,YAAW;oDAE9B,SAAS,QAAM,UAAU,MAC1B,kCACC,YAAY,MAAM,GAAG,MACtB,wcACC,YAAY,MAAM,GAAG,MACtB,KAAK,eAAe,MAAM,UAAU;;;;EAI/C,CAAC;EAGD,oBAAkB,SAAS,CAAC;EAG5B,eAAe,WAA0B;GACvC,MAAM,SAAS,UAAU;GACzB,IAAI,CAAC,QAAQ,QACX;GAEF,MAAM,aAAa,MAAM,eAAe,kBAAkB,UAAU,EAAE;GACtE,IACE,OAAO,OAAO,YAAY,iBAAiB,KAC1C,WAAW,iBAA+C,QAE3D,SAAS,QAAQ,WAAW,iBAAiB,SAAS,KAAK,OAAO,SAAS;GAE7E,IAAI,OAAO,OAAO,YAAY,OAAO,GACnC,YAAY,MAAM,GAAG,QAAQ,WAAW;EAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBCjNO,OAAM,wCAAuC;mBAC3C,OAAM,qBAAoB;mBACxB,OAAM,wCAAuC;mBAC5C,OAAM,OAAM;mBAiBT,OAAM,qBAAoB;mBACxB,OAAM,UAAS;;;CACU,OAAM;;;;qBAtB9C,mBAsCM,OAtCN,YAsCM;EArCJ,mBA8BM,OA9BN,YA8BM;GA7BJ,mBAyBM,OAzBN,YAyBM,CAxBJ,mBAEK,MAFL,YAEK,gBADA,OAAA,EAAC,gCAAA,CAAA,GAAA,CAAA,IAAA,UAAA,IAAA,GAEN,mBAoBM,UAAA,MAAA,WAnBa,OAAA,cAAV,WAAM;wBADf,mBAoBM,OAAA;KAlBH,KAAK,OAAO;KACb,OAAM;QAEN,YAQE,OAAA,cAAA;iBAPS,OAAO;wCAAP,OAAO,QAAK;KACrB,OAAM;KACN,iBAAA;KACA,uBAAoB;KACpB,QAAO;KACP,cAAW;KACV,cAAY,OAAO;;;;;QAEtB,mBAKM,OALN,YAKM,CAJJ,mBAAgD,OAAhD,YAAgD,gBAAxB,OAAO,QAAQ,GAAA,CAAA,GAC5B,OAAO,cAAA,UAAA,GAAlB,mBAEM,OAFN,YAEM,gBADD,OAAO,UAAU,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,CAAA,CAAA,CAAA,CAAA;;GAK5B,mBAAA,gCAAA;GACA,mBAAkD,OAAA;IAA7C,OAAM;IAAa,WAAQ,OAAA;;GAChC,mBAAA,iBAAA;;EAEF,YAIE,OAAA,sBAAA;GAHC,MAAM,OAAA,EAAC,WAAA;GACP,mBAAiB,OAAA,EAAC,cAAA;GAClB,gBAAc,OAAA;;;;;;EAEjB,mBAAqD,OAAA,MAAA,gBAA7C,OAAA,EAAC,iCAAA,CAAA,GAAA,CAAA"}